Home | History | Annotate | Download | only in protobuf
      1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
      2 // source: google/protobuf/descriptor.proto
      3 
      4 #define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
      5 #include "google/protobuf/descriptor.pb.h"
      6 
      7 #include <algorithm>
      8 
      9 #include <google/protobuf/stubs/common.h>
     10 #include <google/protobuf/stubs/once.h>
     11 #include <google/protobuf/io/coded_stream.h>
     12 #include <google/protobuf/wire_format_lite_inl.h>
     13 #include <google/protobuf/descriptor.h>
     14 #include <google/protobuf/generated_message_reflection.h>
     15 #include <google/protobuf/reflection_ops.h>
     16 #include <google/protobuf/wire_format.h>
     17 // @@protoc_insertion_point(includes)
     18 
     19 namespace google {
     20 namespace protobuf {
     21 
     22 namespace {
     23 
     24 const ::google::protobuf::Descriptor* FileDescriptorSet_descriptor_ = NULL;
     25 const ::google::protobuf::internal::GeneratedMessageReflection*
     26   FileDescriptorSet_reflection_ = NULL;
     27 const ::google::protobuf::Descriptor* FileDescriptorProto_descriptor_ = NULL;
     28 const ::google::protobuf::internal::GeneratedMessageReflection*
     29   FileDescriptorProto_reflection_ = NULL;
     30 const ::google::protobuf::Descriptor* DescriptorProto_descriptor_ = NULL;
     31 const ::google::protobuf::internal::GeneratedMessageReflection*
     32   DescriptorProto_reflection_ = NULL;
     33 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange_descriptor_ = NULL;
     34 const ::google::protobuf::internal::GeneratedMessageReflection*
     35   DescriptorProto_ExtensionRange_reflection_ = NULL;
     36 const ::google::protobuf::Descriptor* FieldDescriptorProto_descriptor_ = NULL;
     37 const ::google::protobuf::internal::GeneratedMessageReflection*
     38   FieldDescriptorProto_reflection_ = NULL;
     39 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor_ = NULL;
     40 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor_ = NULL;
     41 const ::google::protobuf::Descriptor* OneofDescriptorProto_descriptor_ = NULL;
     42 const ::google::protobuf::internal::GeneratedMessageReflection*
     43   OneofDescriptorProto_reflection_ = NULL;
     44 const ::google::protobuf::Descriptor* EnumDescriptorProto_descriptor_ = NULL;
     45 const ::google::protobuf::internal::GeneratedMessageReflection*
     46   EnumDescriptorProto_reflection_ = NULL;
     47 const ::google::protobuf::Descriptor* EnumValueDescriptorProto_descriptor_ = NULL;
     48 const ::google::protobuf::internal::GeneratedMessageReflection*
     49   EnumValueDescriptorProto_reflection_ = NULL;
     50 const ::google::protobuf::Descriptor* ServiceDescriptorProto_descriptor_ = NULL;
     51 const ::google::protobuf::internal::GeneratedMessageReflection*
     52   ServiceDescriptorProto_reflection_ = NULL;
     53 const ::google::protobuf::Descriptor* MethodDescriptorProto_descriptor_ = NULL;
     54 const ::google::protobuf::internal::GeneratedMessageReflection*
     55   MethodDescriptorProto_reflection_ = NULL;
     56 const ::google::protobuf::Descriptor* FileOptions_descriptor_ = NULL;
     57 const ::google::protobuf::internal::GeneratedMessageReflection*
     58   FileOptions_reflection_ = NULL;
     59 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor_ = NULL;
     60 const ::google::protobuf::Descriptor* MessageOptions_descriptor_ = NULL;
     61 const ::google::protobuf::internal::GeneratedMessageReflection*
     62   MessageOptions_reflection_ = NULL;
     63 const ::google::protobuf::Descriptor* FieldOptions_descriptor_ = NULL;
     64 const ::google::protobuf::internal::GeneratedMessageReflection*
     65   FieldOptions_reflection_ = NULL;
     66 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor_ = NULL;
     67 const ::google::protobuf::Descriptor* EnumOptions_descriptor_ = NULL;
     68 const ::google::protobuf::internal::GeneratedMessageReflection*
     69   EnumOptions_reflection_ = NULL;
     70 const ::google::protobuf::Descriptor* EnumValueOptions_descriptor_ = NULL;
     71 const ::google::protobuf::internal::GeneratedMessageReflection*
     72   EnumValueOptions_reflection_ = NULL;
     73 const ::google::protobuf::Descriptor* ServiceOptions_descriptor_ = NULL;
     74 const ::google::protobuf::internal::GeneratedMessageReflection*
     75   ServiceOptions_reflection_ = NULL;
     76 const ::google::protobuf::Descriptor* MethodOptions_descriptor_ = NULL;
     77 const ::google::protobuf::internal::GeneratedMessageReflection*
     78   MethodOptions_reflection_ = NULL;
     79 const ::google::protobuf::Descriptor* UninterpretedOption_descriptor_ = NULL;
     80 const ::google::protobuf::internal::GeneratedMessageReflection*
     81   UninterpretedOption_reflection_ = NULL;
     82 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart_descriptor_ = NULL;
     83 const ::google::protobuf::internal::GeneratedMessageReflection*
     84   UninterpretedOption_NamePart_reflection_ = NULL;
     85 const ::google::protobuf::Descriptor* SourceCodeInfo_descriptor_ = NULL;
     86 const ::google::protobuf::internal::GeneratedMessageReflection*
     87   SourceCodeInfo_reflection_ = NULL;
     88 const ::google::protobuf::Descriptor* SourceCodeInfo_Location_descriptor_ = NULL;
     89 const ::google::protobuf::internal::GeneratedMessageReflection*
     90   SourceCodeInfo_Location_reflection_ = NULL;
     91 
     92 }  // namespace
     93 
     94 
     95 void protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto() {
     96   protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
     97   const ::google::protobuf::FileDescriptor* file =
     98     ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
     99       "google/protobuf/descriptor.proto");
    100   GOOGLE_CHECK(file != NULL);
    101   FileDescriptorSet_descriptor_ = file->message_type(0);
    102   static const int FileDescriptorSet_offsets_[1] = {
    103     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, file_),
    104   };
    105   FileDescriptorSet_reflection_ =
    106     new ::google::protobuf::internal::GeneratedMessageReflection(
    107       FileDescriptorSet_descriptor_,
    108       FileDescriptorSet::default_instance_,
    109       FileDescriptorSet_offsets_,
    110       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _has_bits_[0]),
    111       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorSet, _unknown_fields_),
    112       -1,
    113       ::google::protobuf::DescriptorPool::generated_pool(),
    114       ::google::protobuf::MessageFactory::generated_factory(),
    115       sizeof(FileDescriptorSet));
    116   FileDescriptorProto_descriptor_ = file->message_type(1);
    117   static const int FileDescriptorProto_offsets_[11] = {
    118     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, name_),
    119     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, package_),
    120     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, dependency_),
    121     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, public_dependency_),
    122     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, weak_dependency_),
    123     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, message_type_),
    124     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, enum_type_),
    125     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, service_),
    126     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, extension_),
    127     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, options_),
    128     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, source_code_info_),
    129   };
    130   FileDescriptorProto_reflection_ =
    131     new ::google::protobuf::internal::GeneratedMessageReflection(
    132       FileDescriptorProto_descriptor_,
    133       FileDescriptorProto::default_instance_,
    134       FileDescriptorProto_offsets_,
    135       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _has_bits_[0]),
    136       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileDescriptorProto, _unknown_fields_),
    137       -1,
    138       ::google::protobuf::DescriptorPool::generated_pool(),
    139       ::google::protobuf::MessageFactory::generated_factory(),
    140       sizeof(FileDescriptorProto));
    141   DescriptorProto_descriptor_ = file->message_type(2);
    142   static const int DescriptorProto_offsets_[8] = {
    143     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, name_),
    144     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, field_),
    145     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_),
    146     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, nested_type_),
    147     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, enum_type_),
    148     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, extension_range_),
    149     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, oneof_decl_),
    150     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, options_),
    151   };
    152   DescriptorProto_reflection_ =
    153     new ::google::protobuf::internal::GeneratedMessageReflection(
    154       DescriptorProto_descriptor_,
    155       DescriptorProto::default_instance_,
    156       DescriptorProto_offsets_,
    157       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _has_bits_[0]),
    158       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto, _unknown_fields_),
    159       -1,
    160       ::google::protobuf::DescriptorPool::generated_pool(),
    161       ::google::protobuf::MessageFactory::generated_factory(),
    162       sizeof(DescriptorProto));
    163   DescriptorProto_ExtensionRange_descriptor_ = DescriptorProto_descriptor_->nested_type(0);
    164   static const int DescriptorProto_ExtensionRange_offsets_[2] = {
    165     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, start_),
    166     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, end_),
    167   };
    168   DescriptorProto_ExtensionRange_reflection_ =
    169     new ::google::protobuf::internal::GeneratedMessageReflection(
    170       DescriptorProto_ExtensionRange_descriptor_,
    171       DescriptorProto_ExtensionRange::default_instance_,
    172       DescriptorProto_ExtensionRange_offsets_,
    173       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _has_bits_[0]),
    174       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DescriptorProto_ExtensionRange, _unknown_fields_),
    175       -1,
    176       ::google::protobuf::DescriptorPool::generated_pool(),
    177       ::google::protobuf::MessageFactory::generated_factory(),
    178       sizeof(DescriptorProto_ExtensionRange));
    179   FieldDescriptorProto_descriptor_ = file->message_type(3);
    180   static const int FieldDescriptorProto_offsets_[9] = {
    181     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, name_),
    182     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, number_),
    183     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, label_),
    184     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_),
    185     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, type_name_),
    186     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, extendee_),
    187     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, default_value_),
    188     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, oneof_index_),
    189     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, options_),
    190   };
    191   FieldDescriptorProto_reflection_ =
    192     new ::google::protobuf::internal::GeneratedMessageReflection(
    193       FieldDescriptorProto_descriptor_,
    194       FieldDescriptorProto::default_instance_,
    195       FieldDescriptorProto_offsets_,
    196       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _has_bits_[0]),
    197       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldDescriptorProto, _unknown_fields_),
    198       -1,
    199       ::google::protobuf::DescriptorPool::generated_pool(),
    200       ::google::protobuf::MessageFactory::generated_factory(),
    201       sizeof(FieldDescriptorProto));
    202   FieldDescriptorProto_Type_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(0);
    203   FieldDescriptorProto_Label_descriptor_ = FieldDescriptorProto_descriptor_->enum_type(1);
    204   OneofDescriptorProto_descriptor_ = file->message_type(4);
    205   static const int OneofDescriptorProto_offsets_[1] = {
    206     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, name_),
    207   };
    208   OneofDescriptorProto_reflection_ =
    209     new ::google::protobuf::internal::GeneratedMessageReflection(
    210       OneofDescriptorProto_descriptor_,
    211       OneofDescriptorProto::default_instance_,
    212       OneofDescriptorProto_offsets_,
    213       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, _has_bits_[0]),
    214       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(OneofDescriptorProto, _unknown_fields_),
    215       -1,
    216       ::google::protobuf::DescriptorPool::generated_pool(),
    217       ::google::protobuf::MessageFactory::generated_factory(),
    218       sizeof(OneofDescriptorProto));
    219   EnumDescriptorProto_descriptor_ = file->message_type(5);
    220   static const int EnumDescriptorProto_offsets_[3] = {
    221     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, name_),
    222     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, value_),
    223     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, options_),
    224   };
    225   EnumDescriptorProto_reflection_ =
    226     new ::google::protobuf::internal::GeneratedMessageReflection(
    227       EnumDescriptorProto_descriptor_,
    228       EnumDescriptorProto::default_instance_,
    229       EnumDescriptorProto_offsets_,
    230       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _has_bits_[0]),
    231       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumDescriptorProto, _unknown_fields_),
    232       -1,
    233       ::google::protobuf::DescriptorPool::generated_pool(),
    234       ::google::protobuf::MessageFactory::generated_factory(),
    235       sizeof(EnumDescriptorProto));
    236   EnumValueDescriptorProto_descriptor_ = file->message_type(6);
    237   static const int EnumValueDescriptorProto_offsets_[3] = {
    238     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, name_),
    239     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, number_),
    240     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, options_),
    241   };
    242   EnumValueDescriptorProto_reflection_ =
    243     new ::google::protobuf::internal::GeneratedMessageReflection(
    244       EnumValueDescriptorProto_descriptor_,
    245       EnumValueDescriptorProto::default_instance_,
    246       EnumValueDescriptorProto_offsets_,
    247       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _has_bits_[0]),
    248       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueDescriptorProto, _unknown_fields_),
    249       -1,
    250       ::google::protobuf::DescriptorPool::generated_pool(),
    251       ::google::protobuf::MessageFactory::generated_factory(),
    252       sizeof(EnumValueDescriptorProto));
    253   ServiceDescriptorProto_descriptor_ = file->message_type(7);
    254   static const int ServiceDescriptorProto_offsets_[3] = {
    255     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, name_),
    256     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, method_),
    257     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, options_),
    258   };
    259   ServiceDescriptorProto_reflection_ =
    260     new ::google::protobuf::internal::GeneratedMessageReflection(
    261       ServiceDescriptorProto_descriptor_,
    262       ServiceDescriptorProto::default_instance_,
    263       ServiceDescriptorProto_offsets_,
    264       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _has_bits_[0]),
    265       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceDescriptorProto, _unknown_fields_),
    266       -1,
    267       ::google::protobuf::DescriptorPool::generated_pool(),
    268       ::google::protobuf::MessageFactory::generated_factory(),
    269       sizeof(ServiceDescriptorProto));
    270   MethodDescriptorProto_descriptor_ = file->message_type(8);
    271   static const int MethodDescriptorProto_offsets_[4] = {
    272     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, name_),
    273     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, input_type_),
    274     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, output_type_),
    275     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, options_),
    276   };
    277   MethodDescriptorProto_reflection_ =
    278     new ::google::protobuf::internal::GeneratedMessageReflection(
    279       MethodDescriptorProto_descriptor_,
    280       MethodDescriptorProto::default_instance_,
    281       MethodDescriptorProto_offsets_,
    282       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _has_bits_[0]),
    283       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodDescriptorProto, _unknown_fields_),
    284       -1,
    285       ::google::protobuf::DescriptorPool::generated_pool(),
    286       ::google::protobuf::MessageFactory::generated_factory(),
    287       sizeof(MethodDescriptorProto));
    288   FileOptions_descriptor_ = file->message_type(9);
    289   static const int FileOptions_offsets_[13] = {
    290     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_package_),
    291     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_outer_classname_),
    292     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_multiple_files_),
    293     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generate_equals_and_hash_),
    294     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_string_check_utf8_),
    295     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, optimize_for_),
    296     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, go_package_),
    297     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, cc_generic_services_),
    298     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, java_generic_services_),
    299     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, py_generic_services_),
    300     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, deprecated_),
    301     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, javanano_use_deprecated_package_),
    302     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, uninterpreted_option_),
    303   };
    304   FileOptions_reflection_ =
    305     new ::google::protobuf::internal::GeneratedMessageReflection(
    306       FileOptions_descriptor_,
    307       FileOptions::default_instance_,
    308       FileOptions_offsets_,
    309       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _has_bits_[0]),
    310       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _unknown_fields_),
    311       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FileOptions, _extensions_),
    312       ::google::protobuf::DescriptorPool::generated_pool(),
    313       ::google::protobuf::MessageFactory::generated_factory(),
    314       sizeof(FileOptions));
    315   FileOptions_OptimizeMode_descriptor_ = FileOptions_descriptor_->enum_type(0);
    316   MessageOptions_descriptor_ = file->message_type(10);
    317   static const int MessageOptions_offsets_[4] = {
    318     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, message_set_wire_format_),
    319     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, no_standard_descriptor_accessor_),
    320     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, deprecated_),
    321     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, uninterpreted_option_),
    322   };
    323   MessageOptions_reflection_ =
    324     new ::google::protobuf::internal::GeneratedMessageReflection(
    325       MessageOptions_descriptor_,
    326       MessageOptions::default_instance_,
    327       MessageOptions_offsets_,
    328       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _has_bits_[0]),
    329       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _unknown_fields_),
    330       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MessageOptions, _extensions_),
    331       ::google::protobuf::DescriptorPool::generated_pool(),
    332       ::google::protobuf::MessageFactory::generated_factory(),
    333       sizeof(MessageOptions));
    334   FieldOptions_descriptor_ = file->message_type(11);
    335   static const int FieldOptions_offsets_[7] = {
    336     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, ctype_),
    337     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, packed_),
    338     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, lazy_),
    339     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, deprecated_),
    340     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, experimental_map_key_),
    341     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, weak_),
    342     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, uninterpreted_option_),
    343   };
    344   FieldOptions_reflection_ =
    345     new ::google::protobuf::internal::GeneratedMessageReflection(
    346       FieldOptions_descriptor_,
    347       FieldOptions::default_instance_,
    348       FieldOptions_offsets_,
    349       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _has_bits_[0]),
    350       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _unknown_fields_),
    351       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FieldOptions, _extensions_),
    352       ::google::protobuf::DescriptorPool::generated_pool(),
    353       ::google::protobuf::MessageFactory::generated_factory(),
    354       sizeof(FieldOptions));
    355   FieldOptions_CType_descriptor_ = FieldOptions_descriptor_->enum_type(0);
    356   EnumOptions_descriptor_ = file->message_type(12);
    357   static const int EnumOptions_offsets_[3] = {
    358     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, allow_alias_),
    359     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, deprecated_),
    360     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, uninterpreted_option_),
    361   };
    362   EnumOptions_reflection_ =
    363     new ::google::protobuf::internal::GeneratedMessageReflection(
    364       EnumOptions_descriptor_,
    365       EnumOptions::default_instance_,
    366       EnumOptions_offsets_,
    367       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _has_bits_[0]),
    368       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _unknown_fields_),
    369       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumOptions, _extensions_),
    370       ::google::protobuf::DescriptorPool::generated_pool(),
    371       ::google::protobuf::MessageFactory::generated_factory(),
    372       sizeof(EnumOptions));
    373   EnumValueOptions_descriptor_ = file->message_type(13);
    374   static const int EnumValueOptions_offsets_[2] = {
    375     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, deprecated_),
    376     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, uninterpreted_option_),
    377   };
    378   EnumValueOptions_reflection_ =
    379     new ::google::protobuf::internal::GeneratedMessageReflection(
    380       EnumValueOptions_descriptor_,
    381       EnumValueOptions::default_instance_,
    382       EnumValueOptions_offsets_,
    383       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _has_bits_[0]),
    384       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _unknown_fields_),
    385       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EnumValueOptions, _extensions_),
    386       ::google::protobuf::DescriptorPool::generated_pool(),
    387       ::google::protobuf::MessageFactory::generated_factory(),
    388       sizeof(EnumValueOptions));
    389   ServiceOptions_descriptor_ = file->message_type(14);
    390   static const int ServiceOptions_offsets_[2] = {
    391     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, deprecated_),
    392     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, uninterpreted_option_),
    393   };
    394   ServiceOptions_reflection_ =
    395     new ::google::protobuf::internal::GeneratedMessageReflection(
    396       ServiceOptions_descriptor_,
    397       ServiceOptions::default_instance_,
    398       ServiceOptions_offsets_,
    399       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _has_bits_[0]),
    400       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _unknown_fields_),
    401       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ServiceOptions, _extensions_),
    402       ::google::protobuf::DescriptorPool::generated_pool(),
    403       ::google::protobuf::MessageFactory::generated_factory(),
    404       sizeof(ServiceOptions));
    405   MethodOptions_descriptor_ = file->message_type(15);
    406   static const int MethodOptions_offsets_[2] = {
    407     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, deprecated_),
    408     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, uninterpreted_option_),
    409   };
    410   MethodOptions_reflection_ =
    411     new ::google::protobuf::internal::GeneratedMessageReflection(
    412       MethodOptions_descriptor_,
    413       MethodOptions::default_instance_,
    414       MethodOptions_offsets_,
    415       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _has_bits_[0]),
    416       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _unknown_fields_),
    417       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MethodOptions, _extensions_),
    418       ::google::protobuf::DescriptorPool::generated_pool(),
    419       ::google::protobuf::MessageFactory::generated_factory(),
    420       sizeof(MethodOptions));
    421   UninterpretedOption_descriptor_ = file->message_type(16);
    422   static const int UninterpretedOption_offsets_[7] = {
    423     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, name_),
    424     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, identifier_value_),
    425     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, positive_int_value_),
    426     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, negative_int_value_),
    427     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, double_value_),
    428     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, string_value_),
    429     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, aggregate_value_),
    430   };
    431   UninterpretedOption_reflection_ =
    432     new ::google::protobuf::internal::GeneratedMessageReflection(
    433       UninterpretedOption_descriptor_,
    434       UninterpretedOption::default_instance_,
    435       UninterpretedOption_offsets_,
    436       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _has_bits_[0]),
    437       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption, _unknown_fields_),
    438       -1,
    439       ::google::protobuf::DescriptorPool::generated_pool(),
    440       ::google::protobuf::MessageFactory::generated_factory(),
    441       sizeof(UninterpretedOption));
    442   UninterpretedOption_NamePart_descriptor_ = UninterpretedOption_descriptor_->nested_type(0);
    443   static const int UninterpretedOption_NamePart_offsets_[2] = {
    444     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, name_part_),
    445     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, is_extension_),
    446   };
    447   UninterpretedOption_NamePart_reflection_ =
    448     new ::google::protobuf::internal::GeneratedMessageReflection(
    449       UninterpretedOption_NamePart_descriptor_,
    450       UninterpretedOption_NamePart::default_instance_,
    451       UninterpretedOption_NamePart_offsets_,
    452       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _has_bits_[0]),
    453       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(UninterpretedOption_NamePart, _unknown_fields_),
    454       -1,
    455       ::google::protobuf::DescriptorPool::generated_pool(),
    456       ::google::protobuf::MessageFactory::generated_factory(),
    457       sizeof(UninterpretedOption_NamePart));
    458   SourceCodeInfo_descriptor_ = file->message_type(17);
    459   static const int SourceCodeInfo_offsets_[1] = {
    460     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, location_),
    461   };
    462   SourceCodeInfo_reflection_ =
    463     new ::google::protobuf::internal::GeneratedMessageReflection(
    464       SourceCodeInfo_descriptor_,
    465       SourceCodeInfo::default_instance_,
    466       SourceCodeInfo_offsets_,
    467       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _has_bits_[0]),
    468       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo, _unknown_fields_),
    469       -1,
    470       ::google::protobuf::DescriptorPool::generated_pool(),
    471       ::google::protobuf::MessageFactory::generated_factory(),
    472       sizeof(SourceCodeInfo));
    473   SourceCodeInfo_Location_descriptor_ = SourceCodeInfo_descriptor_->nested_type(0);
    474   static const int SourceCodeInfo_Location_offsets_[4] = {
    475     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, path_),
    476     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, span_),
    477     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, leading_comments_),
    478     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, trailing_comments_),
    479   };
    480   SourceCodeInfo_Location_reflection_ =
    481     new ::google::protobuf::internal::GeneratedMessageReflection(
    482       SourceCodeInfo_Location_descriptor_,
    483       SourceCodeInfo_Location::default_instance_,
    484       SourceCodeInfo_Location_offsets_,
    485       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _has_bits_[0]),
    486       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SourceCodeInfo_Location, _unknown_fields_),
    487       -1,
    488       ::google::protobuf::DescriptorPool::generated_pool(),
    489       ::google::protobuf::MessageFactory::generated_factory(),
    490       sizeof(SourceCodeInfo_Location));
    491 }
    492 
    493 namespace {
    494 
    495 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
    496 inline void protobuf_AssignDescriptorsOnce() {
    497   ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
    498                  &protobuf_AssignDesc_google_2fprotobuf_2fdescriptor_2eproto);
    499 }
    500 
    501 void protobuf_RegisterTypes(const ::std::string&) {
    502   protobuf_AssignDescriptorsOnce();
    503   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    504     FileDescriptorSet_descriptor_, &FileDescriptorSet::default_instance());
    505   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    506     FileDescriptorProto_descriptor_, &FileDescriptorProto::default_instance());
    507   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    508     DescriptorProto_descriptor_, &DescriptorProto::default_instance());
    509   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    510     DescriptorProto_ExtensionRange_descriptor_, &DescriptorProto_ExtensionRange::default_instance());
    511   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    512     FieldDescriptorProto_descriptor_, &FieldDescriptorProto::default_instance());
    513   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    514     OneofDescriptorProto_descriptor_, &OneofDescriptorProto::default_instance());
    515   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    516     EnumDescriptorProto_descriptor_, &EnumDescriptorProto::default_instance());
    517   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    518     EnumValueDescriptorProto_descriptor_, &EnumValueDescriptorProto::default_instance());
    519   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    520     ServiceDescriptorProto_descriptor_, &ServiceDescriptorProto::default_instance());
    521   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    522     MethodDescriptorProto_descriptor_, &MethodDescriptorProto::default_instance());
    523   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    524     FileOptions_descriptor_, &FileOptions::default_instance());
    525   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    526     MessageOptions_descriptor_, &MessageOptions::default_instance());
    527   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    528     FieldOptions_descriptor_, &FieldOptions::default_instance());
    529   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    530     EnumOptions_descriptor_, &EnumOptions::default_instance());
    531   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    532     EnumValueOptions_descriptor_, &EnumValueOptions::default_instance());
    533   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    534     ServiceOptions_descriptor_, &ServiceOptions::default_instance());
    535   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    536     MethodOptions_descriptor_, &MethodOptions::default_instance());
    537   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    538     UninterpretedOption_descriptor_, &UninterpretedOption::default_instance());
    539   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    540     UninterpretedOption_NamePart_descriptor_, &UninterpretedOption_NamePart::default_instance());
    541   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    542     SourceCodeInfo_descriptor_, &SourceCodeInfo::default_instance());
    543   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
    544     SourceCodeInfo_Location_descriptor_, &SourceCodeInfo_Location::default_instance());
    545 }
    546 
    547 }  // namespace
    548 
    549 void protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto() {
    550   delete FileDescriptorSet::default_instance_;
    551   delete FileDescriptorSet_reflection_;
    552   delete FileDescriptorProto::default_instance_;
    553   delete FileDescriptorProto_reflection_;
    554   delete DescriptorProto::default_instance_;
    555   delete DescriptorProto_reflection_;
    556   delete DescriptorProto_ExtensionRange::default_instance_;
    557   delete DescriptorProto_ExtensionRange_reflection_;
    558   delete FieldDescriptorProto::default_instance_;
    559   delete FieldDescriptorProto_reflection_;
    560   delete OneofDescriptorProto::default_instance_;
    561   delete OneofDescriptorProto_reflection_;
    562   delete EnumDescriptorProto::default_instance_;
    563   delete EnumDescriptorProto_reflection_;
    564   delete EnumValueDescriptorProto::default_instance_;
    565   delete EnumValueDescriptorProto_reflection_;
    566   delete ServiceDescriptorProto::default_instance_;
    567   delete ServiceDescriptorProto_reflection_;
    568   delete MethodDescriptorProto::default_instance_;
    569   delete MethodDescriptorProto_reflection_;
    570   delete FileOptions::default_instance_;
    571   delete FileOptions_reflection_;
    572   delete MessageOptions::default_instance_;
    573   delete MessageOptions_reflection_;
    574   delete FieldOptions::default_instance_;
    575   delete FieldOptions_reflection_;
    576   delete EnumOptions::default_instance_;
    577   delete EnumOptions_reflection_;
    578   delete EnumValueOptions::default_instance_;
    579   delete EnumValueOptions_reflection_;
    580   delete ServiceOptions::default_instance_;
    581   delete ServiceOptions_reflection_;
    582   delete MethodOptions::default_instance_;
    583   delete MethodOptions_reflection_;
    584   delete UninterpretedOption::default_instance_;
    585   delete UninterpretedOption_reflection_;
    586   delete UninterpretedOption_NamePart::default_instance_;
    587   delete UninterpretedOption_NamePart_reflection_;
    588   delete SourceCodeInfo::default_instance_;
    589   delete SourceCodeInfo_reflection_;
    590   delete SourceCodeInfo_Location::default_instance_;
    591   delete SourceCodeInfo_Location_reflection_;
    592 }
    593 
    594 void protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto() {
    595   static bool already_here = false;
    596   if (already_here) return;
    597   already_here = true;
    598   GOOGLE_PROTOBUF_VERIFY_VERSION;
    599 
    600   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
    601     "\n google/protobuf/descriptor.proto\022\017goog"
    602     "le.protobuf\"G\n\021FileDescriptorSet\0222\n\004file"
    603     "\030\001 \003(\0132$.google.protobuf.FileDescriptorP"
    604     "roto\"\313\003\n\023FileDescriptorProto\022\014\n\004name\030\001 \001"
    605     "(\t\022\017\n\007package\030\002 \001(\t\022\022\n\ndependency\030\003 \003(\t\022"
    606     "\031\n\021public_dependency\030\n \003(\005\022\027\n\017weak_depen"
    607     "dency\030\013 \003(\005\0226\n\014message_type\030\004 \003(\0132 .goog"
    608     "le.protobuf.DescriptorProto\0227\n\tenum_type"
    609     "\030\005 \003(\0132$.google.protobuf.EnumDescriptorP"
    610     "roto\0228\n\007service\030\006 \003(\0132\'.google.protobuf."
    611     "ServiceDescriptorProto\0228\n\textension\030\007 \003("
    612     "\0132%.google.protobuf.FieldDescriptorProto"
    613     "\022-\n\007options\030\010 \001(\0132\034.google.protobuf.File"
    614     "Options\0229\n\020source_code_info\030\t \001(\0132\037.goog"
    615     "le.protobuf.SourceCodeInfo\"\344\003\n\017Descripto"
    616     "rProto\022\014\n\004name\030\001 \001(\t\0224\n\005field\030\002 \003(\0132%.go"
    617     "ogle.protobuf.FieldDescriptorProto\0228\n\tex"
    618     "tension\030\006 \003(\0132%.google.protobuf.FieldDes"
    619     "criptorProto\0225\n\013nested_type\030\003 \003(\0132 .goog"
    620     "le.protobuf.DescriptorProto\0227\n\tenum_type"
    621     "\030\004 \003(\0132$.google.protobuf.EnumDescriptorP"
    622     "roto\022H\n\017extension_range\030\005 \003(\0132/.google.p"
    623     "rotobuf.DescriptorProto.ExtensionRange\0229"
    624     "\n\noneof_decl\030\010 \003(\0132%.google.protobuf.One"
    625     "ofDescriptorProto\0220\n\007options\030\007 \001(\0132\037.goo"
    626     "gle.protobuf.MessageOptions\032,\n\016Extension"
    627     "Range\022\r\n\005start\030\001 \001(\005\022\013\n\003end\030\002 \001(\005\"\251\005\n\024Fi"
    628     "eldDescriptorProto\022\014\n\004name\030\001 \001(\t\022\016\n\006numb"
    629     "er\030\003 \001(\005\022:\n\005label\030\004 \001(\0162+.google.protobu"
    630     "f.FieldDescriptorProto.Label\0228\n\004type\030\005 \001"
    631     "(\0162*.google.protobuf.FieldDescriptorProt"
    632     "o.Type\022\021\n\ttype_name\030\006 \001(\t\022\020\n\010extendee\030\002 "
    633     "\001(\t\022\025\n\rdefault_value\030\007 \001(\t\022\023\n\013oneof_inde"
    634     "x\030\t \001(\005\022.\n\007options\030\010 \001(\0132\035.google.protob"
    635     "uf.FieldOptions\"\266\002\n\004Type\022\017\n\013TYPE_DOUBLE\020"
    636     "\001\022\016\n\nTYPE_FLOAT\020\002\022\016\n\nTYPE_INT64\020\003\022\017\n\013TYP"
    637     "E_UINT64\020\004\022\016\n\nTYPE_INT32\020\005\022\020\n\014TYPE_FIXED"
    638     "64\020\006\022\020\n\014TYPE_FIXED32\020\007\022\r\n\tTYPE_BOOL\020\010\022\017\n"
    639     "\013TYPE_STRING\020\t\022\016\n\nTYPE_GROUP\020\n\022\020\n\014TYPE_M"
    640     "ESSAGE\020\013\022\016\n\nTYPE_BYTES\020\014\022\017\n\013TYPE_UINT32\020"
    641     "\r\022\r\n\tTYPE_ENUM\020\016\022\021\n\rTYPE_SFIXED32\020\017\022\021\n\rT"
    642     "YPE_SFIXED64\020\020\022\017\n\013TYPE_SINT32\020\021\022\017\n\013TYPE_"
    643     "SINT64\020\022\"C\n\005Label\022\022\n\016LABEL_OPTIONAL\020\001\022\022\n"
    644     "\016LABEL_REQUIRED\020\002\022\022\n\016LABEL_REPEATED\020\003\"$\n"
    645     "\024OneofDescriptorProto\022\014\n\004name\030\001 \001(\t\"\214\001\n\023"
    646     "EnumDescriptorProto\022\014\n\004name\030\001 \001(\t\0228\n\005val"
    647     "ue\030\002 \003(\0132).google.protobuf.EnumValueDesc"
    648     "riptorProto\022-\n\007options\030\003 \001(\0132\034.google.pr"
    649     "otobuf.EnumOptions\"l\n\030EnumValueDescripto"
    650     "rProto\022\014\n\004name\030\001 \001(\t\022\016\n\006number\030\002 \001(\005\0222\n\007"
    651     "options\030\003 \001(\0132!.google.protobuf.EnumValu"
    652     "eOptions\"\220\001\n\026ServiceDescriptorProto\022\014\n\004n"
    653     "ame\030\001 \001(\t\0226\n\006method\030\002 \003(\0132&.google.proto"
    654     "buf.MethodDescriptorProto\0220\n\007options\030\003 \001"
    655     "(\0132\037.google.protobuf.ServiceOptions\"\177\n\025M"
    656     "ethodDescriptorProto\022\014\n\004name\030\001 \001(\t\022\022\n\nin"
    657     "put_type\030\002 \001(\t\022\023\n\013output_type\030\003 \001(\t\022/\n\007o"
    658     "ptions\030\004 \001(\0132\036.google.protobuf.MethodOpt"
    659     "ions\"\324\004\n\013FileOptions\022\024\n\014java_package\030\001 \001"
    660     "(\t\022\034\n\024java_outer_classname\030\010 \001(\t\022\"\n\023java"
    661     "_multiple_files\030\n \001(\010:\005false\022,\n\035java_gen"
    662     "erate_equals_and_hash\030\024 \001(\010:\005false\022%\n\026ja"
    663     "va_string_check_utf8\030\033 \001(\010:\005false\022F\n\014opt"
    664     "imize_for\030\t \001(\0162).google.protobuf.FileOp"
    665     "tions.OptimizeMode:\005SPEED\022\022\n\ngo_package\030"
    666     "\013 \001(\t\022\"\n\023cc_generic_services\030\020 \001(\010:\005fals"
    667     "e\022$\n\025java_generic_services\030\021 \001(\010:\005false\022"
    668     "\"\n\023py_generic_services\030\022 \001(\010:\005false\022\031\n\nd"
    669     "eprecated\030\027 \001(\010:\005false\022\'\n\037javanano_use_d"
    670     "eprecated_package\030& \001(\010\022C\n\024uninterpreted"
    671     "_option\030\347\007 \003(\0132$.google.protobuf.Uninter"
    672     "pretedOption\":\n\014OptimizeMode\022\t\n\005SPEED\020\001\022"
    673     "\r\n\tCODE_SIZE\020\002\022\020\n\014LITE_RUNTIME\020\003*\t\010\350\007\020\200\200"
    674     "\200\200\002\"\323\001\n\016MessageOptions\022&\n\027message_set_wi"
    675     "re_format\030\001 \001(\010:\005false\022.\n\037no_standard_de"
    676     "scriptor_accessor\030\002 \001(\010:\005false\022\031\n\ndeprec"
    677     "ated\030\003 \001(\010:\005false\022C\n\024uninterpreted_optio"
    678     "n\030\347\007 \003(\0132$.google.protobuf.Uninterpreted"
    679     "Option*\t\010\350\007\020\200\200\200\200\002\"\276\002\n\014FieldOptions\022:\n\005ct"
    680     "ype\030\001 \001(\0162#.google.protobuf.FieldOptions"
    681     ".CType:\006STRING\022\016\n\006packed\030\002 \001(\010\022\023\n\004lazy\030\005"
    682     " \001(\010:\005false\022\031\n\ndeprecated\030\003 \001(\010:\005false\022\034"
    683     "\n\024experimental_map_key\030\t \001(\t\022\023\n\004weak\030\n \001"
    684     "(\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(\013"
    685     "2$.google.protobuf.UninterpretedOption\"/"
    686     "\n\005CType\022\n\n\006STRING\020\000\022\010\n\004CORD\020\001\022\020\n\014STRING_"
    687     "PIECE\020\002*\t\010\350\007\020\200\200\200\200\002\"\215\001\n\013EnumOptions\022\023\n\013al"
    688     "low_alias\030\002 \001(\010\022\031\n\ndeprecated\030\003 \001(\010:\005fal"
    689     "se\022C\n\024uninterpreted_option\030\347\007 \003(\0132$.goog"
    690     "le.protobuf.UninterpretedOption*\t\010\350\007\020\200\200\200"
    691     "\200\002\"}\n\020EnumValueOptions\022\031\n\ndeprecated\030\001 \001"
    692     "(\010:\005false\022C\n\024uninterpreted_option\030\347\007 \003(\013"
    693     "2$.google.protobuf.UninterpretedOption*\t"
    694     "\010\350\007\020\200\200\200\200\002\"{\n\016ServiceOptions\022\031\n\ndeprecate"
    695     "d\030! \001(\010:\005false\022C\n\024uninterpreted_option\030\347"
    696     "\007 \003(\0132$.google.protobuf.UninterpretedOpt"
    697     "ion*\t\010\350\007\020\200\200\200\200\002\"z\n\rMethodOptions\022\031\n\ndepre"
    698     "cated\030! \001(\010:\005false\022C\n\024uninterpreted_opti"
    699     "on\030\347\007 \003(\0132$.google.protobuf.Uninterprete"
    700     "dOption*\t\010\350\007\020\200\200\200\200\002\"\236\002\n\023UninterpretedOpti"
    701     "on\022;\n\004name\030\002 \003(\0132-.google.protobuf.Unint"
    702     "erpretedOption.NamePart\022\030\n\020identifier_va"
    703     "lue\030\003 \001(\t\022\032\n\022positive_int_value\030\004 \001(\004\022\032\n"
    704     "\022negative_int_value\030\005 \001(\003\022\024\n\014double_valu"
    705     "e\030\006 \001(\001\022\024\n\014string_value\030\007 \001(\014\022\027\n\017aggrega"
    706     "te_value\030\010 \001(\t\0323\n\010NamePart\022\021\n\tname_part\030"
    707     "\001 \002(\t\022\024\n\014is_extension\030\002 \002(\010\"\261\001\n\016SourceCo"
    708     "deInfo\022:\n\010location\030\001 \003(\0132(.google.protob"
    709     "uf.SourceCodeInfo.Location\032c\n\010Location\022\020"
    710     "\n\004path\030\001 \003(\005B\002\020\001\022\020\n\004span\030\002 \003(\005B\002\020\001\022\030\n\020le"
    711     "ading_comments\030\003 \001(\t\022\031\n\021trailing_comment"
    712     "s\030\004 \001(\tB)\n\023com.google.protobufB\020Descript"
    713     "orProtosH\001", 4490);
    714   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
    715     "google/protobuf/descriptor.proto", &protobuf_RegisterTypes);
    716   FileDescriptorSet::default_instance_ = new FileDescriptorSet();
    717   FileDescriptorProto::default_instance_ = new FileDescriptorProto();
    718   DescriptorProto::default_instance_ = new DescriptorProto();
    719   DescriptorProto_ExtensionRange::default_instance_ = new DescriptorProto_ExtensionRange();
    720   FieldDescriptorProto::default_instance_ = new FieldDescriptorProto();
    721   OneofDescriptorProto::default_instance_ = new OneofDescriptorProto();
    722   EnumDescriptorProto::default_instance_ = new EnumDescriptorProto();
    723   EnumValueDescriptorProto::default_instance_ = new EnumValueDescriptorProto();
    724   ServiceDescriptorProto::default_instance_ = new ServiceDescriptorProto();
    725   MethodDescriptorProto::default_instance_ = new MethodDescriptorProto();
    726   FileOptions::default_instance_ = new FileOptions();
    727   MessageOptions::default_instance_ = new MessageOptions();
    728   FieldOptions::default_instance_ = new FieldOptions();
    729   EnumOptions::default_instance_ = new EnumOptions();
    730   EnumValueOptions::default_instance_ = new EnumValueOptions();
    731   ServiceOptions::default_instance_ = new ServiceOptions();
    732   MethodOptions::default_instance_ = new MethodOptions();
    733   UninterpretedOption::default_instance_ = new UninterpretedOption();
    734   UninterpretedOption_NamePart::default_instance_ = new UninterpretedOption_NamePart();
    735   SourceCodeInfo::default_instance_ = new SourceCodeInfo();
    736   SourceCodeInfo_Location::default_instance_ = new SourceCodeInfo_Location();
    737   FileDescriptorSet::default_instance_->InitAsDefaultInstance();
    738   FileDescriptorProto::default_instance_->InitAsDefaultInstance();
    739   DescriptorProto::default_instance_->InitAsDefaultInstance();
    740   DescriptorProto_ExtensionRange::default_instance_->InitAsDefaultInstance();
    741   FieldDescriptorProto::default_instance_->InitAsDefaultInstance();
    742   OneofDescriptorProto::default_instance_->InitAsDefaultInstance();
    743   EnumDescriptorProto::default_instance_->InitAsDefaultInstance();
    744   EnumValueDescriptorProto::default_instance_->InitAsDefaultInstance();
    745   ServiceDescriptorProto::default_instance_->InitAsDefaultInstance();
    746   MethodDescriptorProto::default_instance_->InitAsDefaultInstance();
    747   FileOptions::default_instance_->InitAsDefaultInstance();
    748   MessageOptions::default_instance_->InitAsDefaultInstance();
    749   FieldOptions::default_instance_->InitAsDefaultInstance();
    750   EnumOptions::default_instance_->InitAsDefaultInstance();
    751   EnumValueOptions::default_instance_->InitAsDefaultInstance();
    752   ServiceOptions::default_instance_->InitAsDefaultInstance();
    753   MethodOptions::default_instance_->InitAsDefaultInstance();
    754   UninterpretedOption::default_instance_->InitAsDefaultInstance();
    755   UninterpretedOption_NamePart::default_instance_->InitAsDefaultInstance();
    756   SourceCodeInfo::default_instance_->InitAsDefaultInstance();
    757   SourceCodeInfo_Location::default_instance_->InitAsDefaultInstance();
    758   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_google_2fprotobuf_2fdescriptor_2eproto);
    759 }
    760 
    761 // Force AddDescriptors() to be called at static initialization time.
    762 struct StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto {
    763   StaticDescriptorInitializer_google_2fprotobuf_2fdescriptor_2eproto() {
    764     protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    765   }
    766 } static_descriptor_initializer_google_2fprotobuf_2fdescriptor_2eproto_;
    767 
    768 // ===================================================================
    769 
    770 #ifndef _MSC_VER
    771 const int FileDescriptorSet::kFileFieldNumber;
    772 #endif  // !_MSC_VER
    773 
    774 FileDescriptorSet::FileDescriptorSet()
    775   : ::google::protobuf::Message() {
    776   SharedCtor();
    777   // @@protoc_insertion_point(constructor:google.protobuf.FileDescriptorSet)
    778 }
    779 
    780 void FileDescriptorSet::InitAsDefaultInstance() {
    781 }
    782 
    783 FileDescriptorSet::FileDescriptorSet(const FileDescriptorSet& from)
    784   : ::google::protobuf::Message() {
    785   SharedCtor();
    786   MergeFrom(from);
    787   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorSet)
    788 }
    789 
    790 void FileDescriptorSet::SharedCtor() {
    791   _cached_size_ = 0;
    792   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    793 }
    794 
    795 FileDescriptorSet::~FileDescriptorSet() {
    796   // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorSet)
    797   SharedDtor();
    798 }
    799 
    800 void FileDescriptorSet::SharedDtor() {
    801   if (this != default_instance_) {
    802   }
    803 }
    804 
    805 void FileDescriptorSet::SetCachedSize(int size) const {
    806   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    807   _cached_size_ = size;
    808   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    809 }
    810 const ::google::protobuf::Descriptor* FileDescriptorSet::descriptor() {
    811   protobuf_AssignDescriptorsOnce();
    812   return FileDescriptorSet_descriptor_;
    813 }
    814 
    815 const FileDescriptorSet& FileDescriptorSet::default_instance() {
    816   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
    817   return *default_instance_;
    818 }
    819 
    820 FileDescriptorSet* FileDescriptorSet::default_instance_ = NULL;
    821 
    822 FileDescriptorSet* FileDescriptorSet::New() const {
    823   return new FileDescriptorSet;
    824 }
    825 
    826 void FileDescriptorSet::Clear() {
    827   file_.Clear();
    828   ::memset(_has_bits_, 0, sizeof(_has_bits_));
    829   mutable_unknown_fields()->Clear();
    830 }
    831 
    832 bool FileDescriptorSet::MergePartialFromCodedStream(
    833     ::google::protobuf::io::CodedInputStream* input) {
    834 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
    835   ::google::protobuf::uint32 tag;
    836   // @@protoc_insertion_point(parse_start:google.protobuf.FileDescriptorSet)
    837   for (;;) {
    838     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
    839     tag = p.first;
    840     if (!p.second) goto handle_unusual;
    841     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
    842       // repeated .google.protobuf.FileDescriptorProto file = 1;
    843       case 1: {
    844         if (tag == 10) {
    845          parse_file:
    846           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
    847                 input, add_file()));
    848         } else {
    849           goto handle_unusual;
    850         }
    851         if (input->ExpectTag(10)) goto parse_file;
    852         if (input->ExpectAtEnd()) goto success;
    853         break;
    854       }
    855 
    856       default: {
    857       handle_unusual:
    858         if (tag == 0 ||
    859             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
    860             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
    861           goto success;
    862         }
    863         DO_(::google::protobuf::internal::WireFormat::SkipField(
    864               input, tag, mutable_unknown_fields()));
    865         break;
    866       }
    867     }
    868   }
    869 success:
    870   // @@protoc_insertion_point(parse_success:google.protobuf.FileDescriptorSet)
    871   return true;
    872 failure:
    873   // @@protoc_insertion_point(parse_failure:google.protobuf.FileDescriptorSet)
    874   return false;
    875 #undef DO_
    876 }
    877 
    878 void FileDescriptorSet::SerializeWithCachedSizes(
    879     ::google::protobuf::io::CodedOutputStream* output) const {
    880   // @@protoc_insertion_point(serialize_start:google.protobuf.FileDescriptorSet)
    881   // repeated .google.protobuf.FileDescriptorProto file = 1;
    882   for (int i = 0; i < this->file_size(); i++) {
    883     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
    884       1, this->file(i), output);
    885   }
    886 
    887   if (!unknown_fields().empty()) {
    888     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
    889         unknown_fields(), output);
    890   }
    891   // @@protoc_insertion_point(serialize_end:google.protobuf.FileDescriptorSet)
    892 }
    893 
    894 ::google::protobuf::uint8* FileDescriptorSet::SerializeWithCachedSizesToArray(
    895     ::google::protobuf::uint8* target) const {
    896   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorSet)
    897   // repeated .google.protobuf.FileDescriptorProto file = 1;
    898   for (int i = 0; i < this->file_size(); i++) {
    899     target = ::google::protobuf::internal::WireFormatLite::
    900       WriteMessageNoVirtualToArray(
    901         1, this->file(i), target);
    902   }
    903 
    904   if (!unknown_fields().empty()) {
    905     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
    906         unknown_fields(), target);
    907   }
    908   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorSet)
    909   return target;
    910 }
    911 
    912 int FileDescriptorSet::ByteSize() const {
    913   int total_size = 0;
    914 
    915   // repeated .google.protobuf.FileDescriptorProto file = 1;
    916   total_size += 1 * this->file_size();
    917   for (int i = 0; i < this->file_size(); i++) {
    918     total_size +=
    919       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
    920         this->file(i));
    921   }
    922 
    923   if (!unknown_fields().empty()) {
    924     total_size +=
    925       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
    926         unknown_fields());
    927   }
    928   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
    929   _cached_size_ = total_size;
    930   GOOGLE_SAFE_CONCURRENT_WRITES_END();
    931   return total_size;
    932 }
    933 
    934 void FileDescriptorSet::MergeFrom(const ::google::protobuf::Message& from) {
    935   GOOGLE_CHECK_NE(&from, this);
    936   const FileDescriptorSet* source =
    937     ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorSet*>(
    938       &from);
    939   if (source == NULL) {
    940     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    941   } else {
    942     MergeFrom(*source);
    943   }
    944 }
    945 
    946 void FileDescriptorSet::MergeFrom(const FileDescriptorSet& from) {
    947   GOOGLE_CHECK_NE(&from, this);
    948   file_.MergeFrom(from.file_);
    949   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
    950 }
    951 
    952 void FileDescriptorSet::CopyFrom(const ::google::protobuf::Message& from) {
    953   if (&from == this) return;
    954   Clear();
    955   MergeFrom(from);
    956 }
    957 
    958 void FileDescriptorSet::CopyFrom(const FileDescriptorSet& from) {
    959   if (&from == this) return;
    960   Clear();
    961   MergeFrom(from);
    962 }
    963 
    964 bool FileDescriptorSet::IsInitialized() const {
    965 
    966   if (!::google::protobuf::internal::AllAreInitialized(this->file())) return false;
    967   return true;
    968 }
    969 
    970 void FileDescriptorSet::Swap(FileDescriptorSet* other) {
    971   if (other != this) {
    972     file_.Swap(&other->file_);
    973     std::swap(_has_bits_[0], other->_has_bits_[0]);
    974     _unknown_fields_.Swap(&other->_unknown_fields_);
    975     std::swap(_cached_size_, other->_cached_size_);
    976   }
    977 }
    978 
    979 ::google::protobuf::Metadata FileDescriptorSet::GetMetadata() const {
    980   protobuf_AssignDescriptorsOnce();
    981   ::google::protobuf::Metadata metadata;
    982   metadata.descriptor = FileDescriptorSet_descriptor_;
    983   metadata.reflection = FileDescriptorSet_reflection_;
    984   return metadata;
    985 }
    986 
    987 
    988 // ===================================================================
    989 
    990 #ifndef _MSC_VER
    991 const int FileDescriptorProto::kNameFieldNumber;
    992 const int FileDescriptorProto::kPackageFieldNumber;
    993 const int FileDescriptorProto::kDependencyFieldNumber;
    994 const int FileDescriptorProto::kPublicDependencyFieldNumber;
    995 const int FileDescriptorProto::kWeakDependencyFieldNumber;
    996 const int FileDescriptorProto::kMessageTypeFieldNumber;
    997 const int FileDescriptorProto::kEnumTypeFieldNumber;
    998 const int FileDescriptorProto::kServiceFieldNumber;
    999 const int FileDescriptorProto::kExtensionFieldNumber;
   1000 const int FileDescriptorProto::kOptionsFieldNumber;
   1001 const int FileDescriptorProto::kSourceCodeInfoFieldNumber;
   1002 #endif  // !_MSC_VER
   1003 
   1004 FileDescriptorProto::FileDescriptorProto()
   1005   : ::google::protobuf::Message() {
   1006   SharedCtor();
   1007   // @@protoc_insertion_point(constructor:google.protobuf.FileDescriptorProto)
   1008 }
   1009 
   1010 void FileDescriptorProto::InitAsDefaultInstance() {
   1011   options_ = const_cast< ::google::protobuf::FileOptions*>(&::google::protobuf::FileOptions::default_instance());
   1012   source_code_info_ = const_cast< ::google::protobuf::SourceCodeInfo*>(&::google::protobuf::SourceCodeInfo::default_instance());
   1013 }
   1014 
   1015 FileDescriptorProto::FileDescriptorProto(const FileDescriptorProto& from)
   1016   : ::google::protobuf::Message() {
   1017   SharedCtor();
   1018   MergeFrom(from);
   1019   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileDescriptorProto)
   1020 }
   1021 
   1022 void FileDescriptorProto::SharedCtor() {
   1023   ::google::protobuf::internal::GetEmptyString();
   1024   _cached_size_ = 0;
   1025   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1026   package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1027   options_ = NULL;
   1028   source_code_info_ = NULL;
   1029   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1030 }
   1031 
   1032 FileDescriptorProto::~FileDescriptorProto() {
   1033   // @@protoc_insertion_point(destructor:google.protobuf.FileDescriptorProto)
   1034   SharedDtor();
   1035 }
   1036 
   1037 void FileDescriptorProto::SharedDtor() {
   1038   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1039     delete name_;
   1040   }
   1041   if (package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1042     delete package_;
   1043   }
   1044   if (this != default_instance_) {
   1045     delete options_;
   1046     delete source_code_info_;
   1047   }
   1048 }
   1049 
   1050 void FileDescriptorProto::SetCachedSize(int size) const {
   1051   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1052   _cached_size_ = size;
   1053   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1054 }
   1055 const ::google::protobuf::Descriptor* FileDescriptorProto::descriptor() {
   1056   protobuf_AssignDescriptorsOnce();
   1057   return FileDescriptorProto_descriptor_;
   1058 }
   1059 
   1060 const FileDescriptorProto& FileDescriptorProto::default_instance() {
   1061   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1062   return *default_instance_;
   1063 }
   1064 
   1065 FileDescriptorProto* FileDescriptorProto::default_instance_ = NULL;
   1066 
   1067 FileDescriptorProto* FileDescriptorProto::New() const {
   1068   return new FileDescriptorProto;
   1069 }
   1070 
   1071 void FileDescriptorProto::Clear() {
   1072   if (_has_bits_[0 / 32] & 3) {
   1073     if (has_name()) {
   1074       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1075         name_->clear();
   1076       }
   1077     }
   1078     if (has_package()) {
   1079       if (package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   1080         package_->clear();
   1081       }
   1082     }
   1083   }
   1084   if (_has_bits_[8 / 32] & 1536) {
   1085     if (has_options()) {
   1086       if (options_ != NULL) options_->::google::protobuf::FileOptions::Clear();
   1087     }
   1088     if (has_source_code_info()) {
   1089       if (source_code_info_ != NULL) source_code_info_->::google::protobuf::SourceCodeInfo::Clear();
   1090     }
   1091   }
   1092   dependency_.Clear();
   1093   public_dependency_.Clear();
   1094   weak_dependency_.Clear();
   1095   message_type_.Clear();
   1096   enum_type_.Clear();
   1097   service_.Clear();
   1098   extension_.Clear();
   1099   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1100   mutable_unknown_fields()->Clear();
   1101 }
   1102 
   1103 bool FileDescriptorProto::MergePartialFromCodedStream(
   1104     ::google::protobuf::io::CodedInputStream* input) {
   1105 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   1106   ::google::protobuf::uint32 tag;
   1107   // @@protoc_insertion_point(parse_start:google.protobuf.FileDescriptorProto)
   1108   for (;;) {
   1109     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   1110     tag = p.first;
   1111     if (!p.second) goto handle_unusual;
   1112     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1113       // optional string name = 1;
   1114       case 1: {
   1115         if (tag == 10) {
   1116           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1117                 input, this->mutable_name()));
   1118           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1119             this->name().data(), this->name().length(),
   1120             ::google::protobuf::internal::WireFormat::PARSE,
   1121             "name");
   1122         } else {
   1123           goto handle_unusual;
   1124         }
   1125         if (input->ExpectTag(18)) goto parse_package;
   1126         break;
   1127       }
   1128 
   1129       // optional string package = 2;
   1130       case 2: {
   1131         if (tag == 18) {
   1132          parse_package:
   1133           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1134                 input, this->mutable_package()));
   1135           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1136             this->package().data(), this->package().length(),
   1137             ::google::protobuf::internal::WireFormat::PARSE,
   1138             "package");
   1139         } else {
   1140           goto handle_unusual;
   1141         }
   1142         if (input->ExpectTag(26)) goto parse_dependency;
   1143         break;
   1144       }
   1145 
   1146       // repeated string dependency = 3;
   1147       case 3: {
   1148         if (tag == 26) {
   1149          parse_dependency:
   1150           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   1151                 input, this->add_dependency()));
   1152           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1153             this->dependency(this->dependency_size() - 1).data(),
   1154             this->dependency(this->dependency_size() - 1).length(),
   1155             ::google::protobuf::internal::WireFormat::PARSE,
   1156             "dependency");
   1157         } else {
   1158           goto handle_unusual;
   1159         }
   1160         if (input->ExpectTag(26)) goto parse_dependency;
   1161         if (input->ExpectTag(34)) goto parse_message_type;
   1162         break;
   1163       }
   1164 
   1165       // repeated .google.protobuf.DescriptorProto message_type = 4;
   1166       case 4: {
   1167         if (tag == 34) {
   1168          parse_message_type:
   1169           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1170                 input, add_message_type()));
   1171         } else {
   1172           goto handle_unusual;
   1173         }
   1174         if (input->ExpectTag(34)) goto parse_message_type;
   1175         if (input->ExpectTag(42)) goto parse_enum_type;
   1176         break;
   1177       }
   1178 
   1179       // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1180       case 5: {
   1181         if (tag == 42) {
   1182          parse_enum_type:
   1183           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1184                 input, add_enum_type()));
   1185         } else {
   1186           goto handle_unusual;
   1187         }
   1188         if (input->ExpectTag(42)) goto parse_enum_type;
   1189         if (input->ExpectTag(50)) goto parse_service;
   1190         break;
   1191       }
   1192 
   1193       // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1194       case 6: {
   1195         if (tag == 50) {
   1196          parse_service:
   1197           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1198                 input, add_service()));
   1199         } else {
   1200           goto handle_unusual;
   1201         }
   1202         if (input->ExpectTag(50)) goto parse_service;
   1203         if (input->ExpectTag(58)) goto parse_extension;
   1204         break;
   1205       }
   1206 
   1207       // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1208       case 7: {
   1209         if (tag == 58) {
   1210          parse_extension:
   1211           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1212                 input, add_extension()));
   1213         } else {
   1214           goto handle_unusual;
   1215         }
   1216         if (input->ExpectTag(58)) goto parse_extension;
   1217         if (input->ExpectTag(66)) goto parse_options;
   1218         break;
   1219       }
   1220 
   1221       // optional .google.protobuf.FileOptions options = 8;
   1222       case 8: {
   1223         if (tag == 66) {
   1224          parse_options:
   1225           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1226                input, mutable_options()));
   1227         } else {
   1228           goto handle_unusual;
   1229         }
   1230         if (input->ExpectTag(74)) goto parse_source_code_info;
   1231         break;
   1232       }
   1233 
   1234       // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1235       case 9: {
   1236         if (tag == 74) {
   1237          parse_source_code_info:
   1238           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   1239                input, mutable_source_code_info()));
   1240         } else {
   1241           goto handle_unusual;
   1242         }
   1243         if (input->ExpectTag(80)) goto parse_public_dependency;
   1244         break;
   1245       }
   1246 
   1247       // repeated int32 public_dependency = 10;
   1248       case 10: {
   1249         if (tag == 80) {
   1250          parse_public_dependency:
   1251           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
   1252                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1253                  1, 80, input, this->mutable_public_dependency())));
   1254         } else if (tag == 82) {
   1255           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
   1256                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1257                  input, this->mutable_public_dependency())));
   1258         } else {
   1259           goto handle_unusual;
   1260         }
   1261         if (input->ExpectTag(80)) goto parse_public_dependency;
   1262         if (input->ExpectTag(88)) goto parse_weak_dependency;
   1263         break;
   1264       }
   1265 
   1266       // repeated int32 weak_dependency = 11;
   1267       case 11: {
   1268         if (tag == 88) {
   1269          parse_weak_dependency:
   1270           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
   1271                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1272                  1, 88, input, this->mutable_weak_dependency())));
   1273         } else if (tag == 90) {
   1274           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
   1275                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1276                  input, this->mutable_weak_dependency())));
   1277         } else {
   1278           goto handle_unusual;
   1279         }
   1280         if (input->ExpectTag(88)) goto parse_weak_dependency;
   1281         if (input->ExpectAtEnd()) goto success;
   1282         break;
   1283       }
   1284 
   1285       default: {
   1286       handle_unusual:
   1287         if (tag == 0 ||
   1288             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1289             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1290           goto success;
   1291         }
   1292         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1293               input, tag, mutable_unknown_fields()));
   1294         break;
   1295       }
   1296     }
   1297   }
   1298 success:
   1299   // @@protoc_insertion_point(parse_success:google.protobuf.FileDescriptorProto)
   1300   return true;
   1301 failure:
   1302   // @@protoc_insertion_point(parse_failure:google.protobuf.FileDescriptorProto)
   1303   return false;
   1304 #undef DO_
   1305 }
   1306 
   1307 void FileDescriptorProto::SerializeWithCachedSizes(
   1308     ::google::protobuf::io::CodedOutputStream* output) const {
   1309   // @@protoc_insertion_point(serialize_start:google.protobuf.FileDescriptorProto)
   1310   // optional string name = 1;
   1311   if (has_name()) {
   1312     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1313       this->name().data(), this->name().length(),
   1314       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1315       "name");
   1316     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1317       1, this->name(), output);
   1318   }
   1319 
   1320   // optional string package = 2;
   1321   if (has_package()) {
   1322     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1323       this->package().data(), this->package().length(),
   1324       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1325       "package");
   1326     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   1327       2, this->package(), output);
   1328   }
   1329 
   1330   // repeated string dependency = 3;
   1331   for (int i = 0; i < this->dependency_size(); i++) {
   1332   ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1333     this->dependency(i).data(), this->dependency(i).length(),
   1334     ::google::protobuf::internal::WireFormat::SERIALIZE,
   1335     "dependency");
   1336     ::google::protobuf::internal::WireFormatLite::WriteString(
   1337       3, this->dependency(i), output);
   1338   }
   1339 
   1340   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1341   for (int i = 0; i < this->message_type_size(); i++) {
   1342     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1343       4, this->message_type(i), output);
   1344   }
   1345 
   1346   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1347   for (int i = 0; i < this->enum_type_size(); i++) {
   1348     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1349       5, this->enum_type(i), output);
   1350   }
   1351 
   1352   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1353   for (int i = 0; i < this->service_size(); i++) {
   1354     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1355       6, this->service(i), output);
   1356   }
   1357 
   1358   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1359   for (int i = 0; i < this->extension_size(); i++) {
   1360     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1361       7, this->extension(i), output);
   1362   }
   1363 
   1364   // optional .google.protobuf.FileOptions options = 8;
   1365   if (has_options()) {
   1366     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1367       8, this->options(), output);
   1368   }
   1369 
   1370   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1371   if (has_source_code_info()) {
   1372     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   1373       9, this->source_code_info(), output);
   1374   }
   1375 
   1376   // repeated int32 public_dependency = 10;
   1377   for (int i = 0; i < this->public_dependency_size(); i++) {
   1378     ::google::protobuf::internal::WireFormatLite::WriteInt32(
   1379       10, this->public_dependency(i), output);
   1380   }
   1381 
   1382   // repeated int32 weak_dependency = 11;
   1383   for (int i = 0; i < this->weak_dependency_size(); i++) {
   1384     ::google::protobuf::internal::WireFormatLite::WriteInt32(
   1385       11, this->weak_dependency(i), output);
   1386   }
   1387 
   1388   if (!unknown_fields().empty()) {
   1389     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1390         unknown_fields(), output);
   1391   }
   1392   // @@protoc_insertion_point(serialize_end:google.protobuf.FileDescriptorProto)
   1393 }
   1394 
   1395 ::google::protobuf::uint8* FileDescriptorProto::SerializeWithCachedSizesToArray(
   1396     ::google::protobuf::uint8* target) const {
   1397   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileDescriptorProto)
   1398   // optional string name = 1;
   1399   if (has_name()) {
   1400     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1401       this->name().data(), this->name().length(),
   1402       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1403       "name");
   1404     target =
   1405       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1406         1, this->name(), target);
   1407   }
   1408 
   1409   // optional string package = 2;
   1410   if (has_package()) {
   1411     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1412       this->package().data(), this->package().length(),
   1413       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1414       "package");
   1415     target =
   1416       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   1417         2, this->package(), target);
   1418   }
   1419 
   1420   // repeated string dependency = 3;
   1421   for (int i = 0; i < this->dependency_size(); i++) {
   1422     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   1423       this->dependency(i).data(), this->dependency(i).length(),
   1424       ::google::protobuf::internal::WireFormat::SERIALIZE,
   1425       "dependency");
   1426     target = ::google::protobuf::internal::WireFormatLite::
   1427       WriteStringToArray(3, this->dependency(i), target);
   1428   }
   1429 
   1430   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1431   for (int i = 0; i < this->message_type_size(); i++) {
   1432     target = ::google::protobuf::internal::WireFormatLite::
   1433       WriteMessageNoVirtualToArray(
   1434         4, this->message_type(i), target);
   1435   }
   1436 
   1437   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1438   for (int i = 0; i < this->enum_type_size(); i++) {
   1439     target = ::google::protobuf::internal::WireFormatLite::
   1440       WriteMessageNoVirtualToArray(
   1441         5, this->enum_type(i), target);
   1442   }
   1443 
   1444   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1445   for (int i = 0; i < this->service_size(); i++) {
   1446     target = ::google::protobuf::internal::WireFormatLite::
   1447       WriteMessageNoVirtualToArray(
   1448         6, this->service(i), target);
   1449   }
   1450 
   1451   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1452   for (int i = 0; i < this->extension_size(); i++) {
   1453     target = ::google::protobuf::internal::WireFormatLite::
   1454       WriteMessageNoVirtualToArray(
   1455         7, this->extension(i), target);
   1456   }
   1457 
   1458   // optional .google.protobuf.FileOptions options = 8;
   1459   if (has_options()) {
   1460     target = ::google::protobuf::internal::WireFormatLite::
   1461       WriteMessageNoVirtualToArray(
   1462         8, this->options(), target);
   1463   }
   1464 
   1465   // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1466   if (has_source_code_info()) {
   1467     target = ::google::protobuf::internal::WireFormatLite::
   1468       WriteMessageNoVirtualToArray(
   1469         9, this->source_code_info(), target);
   1470   }
   1471 
   1472   // repeated int32 public_dependency = 10;
   1473   for (int i = 0; i < this->public_dependency_size(); i++) {
   1474     target = ::google::protobuf::internal::WireFormatLite::
   1475       WriteInt32ToArray(10, this->public_dependency(i), target);
   1476   }
   1477 
   1478   // repeated int32 weak_dependency = 11;
   1479   for (int i = 0; i < this->weak_dependency_size(); i++) {
   1480     target = ::google::protobuf::internal::WireFormatLite::
   1481       WriteInt32ToArray(11, this->weak_dependency(i), target);
   1482   }
   1483 
   1484   if (!unknown_fields().empty()) {
   1485     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1486         unknown_fields(), target);
   1487   }
   1488   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileDescriptorProto)
   1489   return target;
   1490 }
   1491 
   1492 int FileDescriptorProto::ByteSize() const {
   1493   int total_size = 0;
   1494 
   1495   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1496     // optional string name = 1;
   1497     if (has_name()) {
   1498       total_size += 1 +
   1499         ::google::protobuf::internal::WireFormatLite::StringSize(
   1500           this->name());
   1501     }
   1502 
   1503     // optional string package = 2;
   1504     if (has_package()) {
   1505       total_size += 1 +
   1506         ::google::protobuf::internal::WireFormatLite::StringSize(
   1507           this->package());
   1508     }
   1509 
   1510   }
   1511   if (_has_bits_[9 / 32] & (0xffu << (9 % 32))) {
   1512     // optional .google.protobuf.FileOptions options = 8;
   1513     if (has_options()) {
   1514       total_size += 1 +
   1515         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1516           this->options());
   1517     }
   1518 
   1519     // optional .google.protobuf.SourceCodeInfo source_code_info = 9;
   1520     if (has_source_code_info()) {
   1521       total_size += 1 +
   1522         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1523           this->source_code_info());
   1524     }
   1525 
   1526   }
   1527   // repeated string dependency = 3;
   1528   total_size += 1 * this->dependency_size();
   1529   for (int i = 0; i < this->dependency_size(); i++) {
   1530     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
   1531       this->dependency(i));
   1532   }
   1533 
   1534   // repeated int32 public_dependency = 10;
   1535   {
   1536     int data_size = 0;
   1537     for (int i = 0; i < this->public_dependency_size(); i++) {
   1538       data_size += ::google::protobuf::internal::WireFormatLite::
   1539         Int32Size(this->public_dependency(i));
   1540     }
   1541     total_size += 1 * this->public_dependency_size() + data_size;
   1542   }
   1543 
   1544   // repeated int32 weak_dependency = 11;
   1545   {
   1546     int data_size = 0;
   1547     for (int i = 0; i < this->weak_dependency_size(); i++) {
   1548       data_size += ::google::protobuf::internal::WireFormatLite::
   1549         Int32Size(this->weak_dependency(i));
   1550     }
   1551     total_size += 1 * this->weak_dependency_size() + data_size;
   1552   }
   1553 
   1554   // repeated .google.protobuf.DescriptorProto message_type = 4;
   1555   total_size += 1 * this->message_type_size();
   1556   for (int i = 0; i < this->message_type_size(); i++) {
   1557     total_size +=
   1558       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1559         this->message_type(i));
   1560   }
   1561 
   1562   // repeated .google.protobuf.EnumDescriptorProto enum_type = 5;
   1563   total_size += 1 * this->enum_type_size();
   1564   for (int i = 0; i < this->enum_type_size(); i++) {
   1565     total_size +=
   1566       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1567         this->enum_type(i));
   1568   }
   1569 
   1570   // repeated .google.protobuf.ServiceDescriptorProto service = 6;
   1571   total_size += 1 * this->service_size();
   1572   for (int i = 0; i < this->service_size(); i++) {
   1573     total_size +=
   1574       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1575         this->service(i));
   1576   }
   1577 
   1578   // repeated .google.protobuf.FieldDescriptorProto extension = 7;
   1579   total_size += 1 * this->extension_size();
   1580   for (int i = 0; i < this->extension_size(); i++) {
   1581     total_size +=
   1582       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   1583         this->extension(i));
   1584   }
   1585 
   1586   if (!unknown_fields().empty()) {
   1587     total_size +=
   1588       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1589         unknown_fields());
   1590   }
   1591   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1592   _cached_size_ = total_size;
   1593   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1594   return total_size;
   1595 }
   1596 
   1597 void FileDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   1598   GOOGLE_CHECK_NE(&from, this);
   1599   const FileDescriptorProto* source =
   1600     ::google::protobuf::internal::dynamic_cast_if_available<const FileDescriptorProto*>(
   1601       &from);
   1602   if (source == NULL) {
   1603     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1604   } else {
   1605     MergeFrom(*source);
   1606   }
   1607 }
   1608 
   1609 void FileDescriptorProto::MergeFrom(const FileDescriptorProto& from) {
   1610   GOOGLE_CHECK_NE(&from, this);
   1611   dependency_.MergeFrom(from.dependency_);
   1612   public_dependency_.MergeFrom(from.public_dependency_);
   1613   weak_dependency_.MergeFrom(from.weak_dependency_);
   1614   message_type_.MergeFrom(from.message_type_);
   1615   enum_type_.MergeFrom(from.enum_type_);
   1616   service_.MergeFrom(from.service_);
   1617   extension_.MergeFrom(from.extension_);
   1618   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1619     if (from.has_name()) {
   1620       set_name(from.name());
   1621     }
   1622     if (from.has_package()) {
   1623       set_package(from.package());
   1624     }
   1625   }
   1626   if (from._has_bits_[9 / 32] & (0xffu << (9 % 32))) {
   1627     if (from.has_options()) {
   1628       mutable_options()->::google::protobuf::FileOptions::MergeFrom(from.options());
   1629     }
   1630     if (from.has_source_code_info()) {
   1631       mutable_source_code_info()->::google::protobuf::SourceCodeInfo::MergeFrom(from.source_code_info());
   1632     }
   1633   }
   1634   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1635 }
   1636 
   1637 void FileDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   1638   if (&from == this) return;
   1639   Clear();
   1640   MergeFrom(from);
   1641 }
   1642 
   1643 void FileDescriptorProto::CopyFrom(const FileDescriptorProto& from) {
   1644   if (&from == this) return;
   1645   Clear();
   1646   MergeFrom(from);
   1647 }
   1648 
   1649 bool FileDescriptorProto::IsInitialized() const {
   1650 
   1651   if (!::google::protobuf::internal::AllAreInitialized(this->message_type())) return false;
   1652   if (!::google::protobuf::internal::AllAreInitialized(this->enum_type())) return false;
   1653   if (!::google::protobuf::internal::AllAreInitialized(this->service())) return false;
   1654   if (!::google::protobuf::internal::AllAreInitialized(this->extension())) return false;
   1655   if (has_options()) {
   1656     if (!this->options().IsInitialized()) return false;
   1657   }
   1658   return true;
   1659 }
   1660 
   1661 void FileDescriptorProto::Swap(FileDescriptorProto* other) {
   1662   if (other != this) {
   1663     std::swap(name_, other->name_);
   1664     std::swap(package_, other->package_);
   1665     dependency_.Swap(&other->dependency_);
   1666     public_dependency_.Swap(&other->public_dependency_);
   1667     weak_dependency_.Swap(&other->weak_dependency_);
   1668     message_type_.Swap(&other->message_type_);
   1669     enum_type_.Swap(&other->enum_type_);
   1670     service_.Swap(&other->service_);
   1671     extension_.Swap(&other->extension_);
   1672     std::swap(options_, other->options_);
   1673     std::swap(source_code_info_, other->source_code_info_);
   1674     std::swap(_has_bits_[0], other->_has_bits_[0]);
   1675     _unknown_fields_.Swap(&other->_unknown_fields_);
   1676     std::swap(_cached_size_, other->_cached_size_);
   1677   }
   1678 }
   1679 
   1680 ::google::protobuf::Metadata FileDescriptorProto::GetMetadata() const {
   1681   protobuf_AssignDescriptorsOnce();
   1682   ::google::protobuf::Metadata metadata;
   1683   metadata.descriptor = FileDescriptorProto_descriptor_;
   1684   metadata.reflection = FileDescriptorProto_reflection_;
   1685   return metadata;
   1686 }
   1687 
   1688 
   1689 // ===================================================================
   1690 
   1691 #ifndef _MSC_VER
   1692 const int DescriptorProto_ExtensionRange::kStartFieldNumber;
   1693 const int DescriptorProto_ExtensionRange::kEndFieldNumber;
   1694 #endif  // !_MSC_VER
   1695 
   1696 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange()
   1697   : ::google::protobuf::Message() {
   1698   SharedCtor();
   1699   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto.ExtensionRange)
   1700 }
   1701 
   1702 void DescriptorProto_ExtensionRange::InitAsDefaultInstance() {
   1703 }
   1704 
   1705 DescriptorProto_ExtensionRange::DescriptorProto_ExtensionRange(const DescriptorProto_ExtensionRange& from)
   1706   : ::google::protobuf::Message() {
   1707   SharedCtor();
   1708   MergeFrom(from);
   1709   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto.ExtensionRange)
   1710 }
   1711 
   1712 void DescriptorProto_ExtensionRange::SharedCtor() {
   1713   _cached_size_ = 0;
   1714   start_ = 0;
   1715   end_ = 0;
   1716   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1717 }
   1718 
   1719 DescriptorProto_ExtensionRange::~DescriptorProto_ExtensionRange() {
   1720   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto.ExtensionRange)
   1721   SharedDtor();
   1722 }
   1723 
   1724 void DescriptorProto_ExtensionRange::SharedDtor() {
   1725   if (this != default_instance_) {
   1726   }
   1727 }
   1728 
   1729 void DescriptorProto_ExtensionRange::SetCachedSize(int size) const {
   1730   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1731   _cached_size_ = size;
   1732   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1733 }
   1734 const ::google::protobuf::Descriptor* DescriptorProto_ExtensionRange::descriptor() {
   1735   protobuf_AssignDescriptorsOnce();
   1736   return DescriptorProto_ExtensionRange_descriptor_;
   1737 }
   1738 
   1739 const DescriptorProto_ExtensionRange& DescriptorProto_ExtensionRange::default_instance() {
   1740   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   1741   return *default_instance_;
   1742 }
   1743 
   1744 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::default_instance_ = NULL;
   1745 
   1746 DescriptorProto_ExtensionRange* DescriptorProto_ExtensionRange::New() const {
   1747   return new DescriptorProto_ExtensionRange;
   1748 }
   1749 
   1750 void DescriptorProto_ExtensionRange::Clear() {
   1751 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   1752   &reinterpret_cast<DescriptorProto_ExtensionRange*>(16)->f) - \
   1753    reinterpret_cast<char*>(16))
   1754 
   1755 #define ZR_(first, last) do {                              \
   1756     size_t f = OFFSET_OF_FIELD_(first);                    \
   1757     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   1758     ::memset(&first, 0, n);                                \
   1759   } while (0)
   1760 
   1761   ZR_(start_, end_);
   1762 
   1763 #undef OFFSET_OF_FIELD_
   1764 #undef ZR_
   1765 
   1766   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1767   mutable_unknown_fields()->Clear();
   1768 }
   1769 
   1770 bool DescriptorProto_ExtensionRange::MergePartialFromCodedStream(
   1771     ::google::protobuf::io::CodedInputStream* input) {
   1772 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   1773   ::google::protobuf::uint32 tag;
   1774   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto.ExtensionRange)
   1775   for (;;) {
   1776     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   1777     tag = p.first;
   1778     if (!p.second) goto handle_unusual;
   1779     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   1780       // optional int32 start = 1;
   1781       case 1: {
   1782         if (tag == 8) {
   1783           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   1784                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1785                  input, &start_)));
   1786           set_has_start();
   1787         } else {
   1788           goto handle_unusual;
   1789         }
   1790         if (input->ExpectTag(16)) goto parse_end;
   1791         break;
   1792       }
   1793 
   1794       // optional int32 end = 2;
   1795       case 2: {
   1796         if (tag == 16) {
   1797          parse_end:
   1798           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   1799                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   1800                  input, &end_)));
   1801           set_has_end();
   1802         } else {
   1803           goto handle_unusual;
   1804         }
   1805         if (input->ExpectAtEnd()) goto success;
   1806         break;
   1807       }
   1808 
   1809       default: {
   1810       handle_unusual:
   1811         if (tag == 0 ||
   1812             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   1813             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   1814           goto success;
   1815         }
   1816         DO_(::google::protobuf::internal::WireFormat::SkipField(
   1817               input, tag, mutable_unknown_fields()));
   1818         break;
   1819       }
   1820     }
   1821   }
   1822 success:
   1823   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto.ExtensionRange)
   1824   return true;
   1825 failure:
   1826   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto.ExtensionRange)
   1827   return false;
   1828 #undef DO_
   1829 }
   1830 
   1831 void DescriptorProto_ExtensionRange::SerializeWithCachedSizes(
   1832     ::google::protobuf::io::CodedOutputStream* output) const {
   1833   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto.ExtensionRange)
   1834   // optional int32 start = 1;
   1835   if (has_start()) {
   1836     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->start(), output);
   1837   }
   1838 
   1839   // optional int32 end = 2;
   1840   if (has_end()) {
   1841     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end(), output);
   1842   }
   1843 
   1844   if (!unknown_fields().empty()) {
   1845     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   1846         unknown_fields(), output);
   1847   }
   1848   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto.ExtensionRange)
   1849 }
   1850 
   1851 ::google::protobuf::uint8* DescriptorProto_ExtensionRange::SerializeWithCachedSizesToArray(
   1852     ::google::protobuf::uint8* target) const {
   1853   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto.ExtensionRange)
   1854   // optional int32 start = 1;
   1855   if (has_start()) {
   1856     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->start(), target);
   1857   }
   1858 
   1859   // optional int32 end = 2;
   1860   if (has_end()) {
   1861     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end(), target);
   1862   }
   1863 
   1864   if (!unknown_fields().empty()) {
   1865     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   1866         unknown_fields(), target);
   1867   }
   1868   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto.ExtensionRange)
   1869   return target;
   1870 }
   1871 
   1872 int DescriptorProto_ExtensionRange::ByteSize() const {
   1873   int total_size = 0;
   1874 
   1875   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1876     // optional int32 start = 1;
   1877     if (has_start()) {
   1878       total_size += 1 +
   1879         ::google::protobuf::internal::WireFormatLite::Int32Size(
   1880           this->start());
   1881     }
   1882 
   1883     // optional int32 end = 2;
   1884     if (has_end()) {
   1885       total_size += 1 +
   1886         ::google::protobuf::internal::WireFormatLite::Int32Size(
   1887           this->end());
   1888     }
   1889 
   1890   }
   1891   if (!unknown_fields().empty()) {
   1892     total_size +=
   1893       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   1894         unknown_fields());
   1895   }
   1896   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   1897   _cached_size_ = total_size;
   1898   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   1899   return total_size;
   1900 }
   1901 
   1902 void DescriptorProto_ExtensionRange::MergeFrom(const ::google::protobuf::Message& from) {
   1903   GOOGLE_CHECK_NE(&from, this);
   1904   const DescriptorProto_ExtensionRange* source =
   1905     ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto_ExtensionRange*>(
   1906       &from);
   1907   if (source == NULL) {
   1908     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   1909   } else {
   1910     MergeFrom(*source);
   1911   }
   1912 }
   1913 
   1914 void DescriptorProto_ExtensionRange::MergeFrom(const DescriptorProto_ExtensionRange& from) {
   1915   GOOGLE_CHECK_NE(&from, this);
   1916   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   1917     if (from.has_start()) {
   1918       set_start(from.start());
   1919     }
   1920     if (from.has_end()) {
   1921       set_end(from.end());
   1922     }
   1923   }
   1924   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   1925 }
   1926 
   1927 void DescriptorProto_ExtensionRange::CopyFrom(const ::google::protobuf::Message& from) {
   1928   if (&from == this) return;
   1929   Clear();
   1930   MergeFrom(from);
   1931 }
   1932 
   1933 void DescriptorProto_ExtensionRange::CopyFrom(const DescriptorProto_ExtensionRange& from) {
   1934   if (&from == this) return;
   1935   Clear();
   1936   MergeFrom(from);
   1937 }
   1938 
   1939 bool DescriptorProto_ExtensionRange::IsInitialized() const {
   1940 
   1941   return true;
   1942 }
   1943 
   1944 void DescriptorProto_ExtensionRange::Swap(DescriptorProto_ExtensionRange* other) {
   1945   if (other != this) {
   1946     std::swap(start_, other->start_);
   1947     std::swap(end_, other->end_);
   1948     std::swap(_has_bits_[0], other->_has_bits_[0]);
   1949     _unknown_fields_.Swap(&other->_unknown_fields_);
   1950     std::swap(_cached_size_, other->_cached_size_);
   1951   }
   1952 }
   1953 
   1954 ::google::protobuf::Metadata DescriptorProto_ExtensionRange::GetMetadata() const {
   1955   protobuf_AssignDescriptorsOnce();
   1956   ::google::protobuf::Metadata metadata;
   1957   metadata.descriptor = DescriptorProto_ExtensionRange_descriptor_;
   1958   metadata.reflection = DescriptorProto_ExtensionRange_reflection_;
   1959   return metadata;
   1960 }
   1961 
   1962 
   1963 // -------------------------------------------------------------------
   1964 
   1965 #ifndef _MSC_VER
   1966 const int DescriptorProto::kNameFieldNumber;
   1967 const int DescriptorProto::kFieldFieldNumber;
   1968 const int DescriptorProto::kExtensionFieldNumber;
   1969 const int DescriptorProto::kNestedTypeFieldNumber;
   1970 const int DescriptorProto::kEnumTypeFieldNumber;
   1971 const int DescriptorProto::kExtensionRangeFieldNumber;
   1972 const int DescriptorProto::kOneofDeclFieldNumber;
   1973 const int DescriptorProto::kOptionsFieldNumber;
   1974 #endif  // !_MSC_VER
   1975 
   1976 DescriptorProto::DescriptorProto()
   1977   : ::google::protobuf::Message() {
   1978   SharedCtor();
   1979   // @@protoc_insertion_point(constructor:google.protobuf.DescriptorProto)
   1980 }
   1981 
   1982 void DescriptorProto::InitAsDefaultInstance() {
   1983   options_ = const_cast< ::google::protobuf::MessageOptions*>(&::google::protobuf::MessageOptions::default_instance());
   1984 }
   1985 
   1986 DescriptorProto::DescriptorProto(const DescriptorProto& from)
   1987   : ::google::protobuf::Message() {
   1988   SharedCtor();
   1989   MergeFrom(from);
   1990   // @@protoc_insertion_point(copy_constructor:google.protobuf.DescriptorProto)
   1991 }
   1992 
   1993 void DescriptorProto::SharedCtor() {
   1994   ::google::protobuf::internal::GetEmptyString();
   1995   _cached_size_ = 0;
   1996   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   1997   options_ = NULL;
   1998   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   1999 }
   2000 
   2001 DescriptorProto::~DescriptorProto() {
   2002   // @@protoc_insertion_point(destructor:google.protobuf.DescriptorProto)
   2003   SharedDtor();
   2004 }
   2005 
   2006 void DescriptorProto::SharedDtor() {
   2007   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2008     delete name_;
   2009   }
   2010   if (this != default_instance_) {
   2011     delete options_;
   2012   }
   2013 }
   2014 
   2015 void DescriptorProto::SetCachedSize(int size) const {
   2016   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2017   _cached_size_ = size;
   2018   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2019 }
   2020 const ::google::protobuf::Descriptor* DescriptorProto::descriptor() {
   2021   protobuf_AssignDescriptorsOnce();
   2022   return DescriptorProto_descriptor_;
   2023 }
   2024 
   2025 const DescriptorProto& DescriptorProto::default_instance() {
   2026   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2027   return *default_instance_;
   2028 }
   2029 
   2030 DescriptorProto* DescriptorProto::default_instance_ = NULL;
   2031 
   2032 DescriptorProto* DescriptorProto::New() const {
   2033   return new DescriptorProto;
   2034 }
   2035 
   2036 void DescriptorProto::Clear() {
   2037   if (_has_bits_[0 / 32] & 129) {
   2038     if (has_name()) {
   2039       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2040         name_->clear();
   2041       }
   2042     }
   2043     if (has_options()) {
   2044       if (options_ != NULL) options_->::google::protobuf::MessageOptions::Clear();
   2045     }
   2046   }
   2047   field_.Clear();
   2048   extension_.Clear();
   2049   nested_type_.Clear();
   2050   enum_type_.Clear();
   2051   extension_range_.Clear();
   2052   oneof_decl_.Clear();
   2053   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2054   mutable_unknown_fields()->Clear();
   2055 }
   2056 
   2057 bool DescriptorProto::MergePartialFromCodedStream(
   2058     ::google::protobuf::io::CodedInputStream* input) {
   2059 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   2060   ::google::protobuf::uint32 tag;
   2061   // @@protoc_insertion_point(parse_start:google.protobuf.DescriptorProto)
   2062   for (;;) {
   2063     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   2064     tag = p.first;
   2065     if (!p.second) goto handle_unusual;
   2066     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2067       // optional string name = 1;
   2068       case 1: {
   2069         if (tag == 10) {
   2070           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2071                 input, this->mutable_name()));
   2072           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2073             this->name().data(), this->name().length(),
   2074             ::google::protobuf::internal::WireFormat::PARSE,
   2075             "name");
   2076         } else {
   2077           goto handle_unusual;
   2078         }
   2079         if (input->ExpectTag(18)) goto parse_field;
   2080         break;
   2081       }
   2082 
   2083       // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2084       case 2: {
   2085         if (tag == 18) {
   2086          parse_field:
   2087           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2088                 input, add_field()));
   2089         } else {
   2090           goto handle_unusual;
   2091         }
   2092         if (input->ExpectTag(18)) goto parse_field;
   2093         if (input->ExpectTag(26)) goto parse_nested_type;
   2094         break;
   2095       }
   2096 
   2097       // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2098       case 3: {
   2099         if (tag == 26) {
   2100          parse_nested_type:
   2101           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2102                 input, add_nested_type()));
   2103         } else {
   2104           goto handle_unusual;
   2105         }
   2106         if (input->ExpectTag(26)) goto parse_nested_type;
   2107         if (input->ExpectTag(34)) goto parse_enum_type;
   2108         break;
   2109       }
   2110 
   2111       // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2112       case 4: {
   2113         if (tag == 34) {
   2114          parse_enum_type:
   2115           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2116                 input, add_enum_type()));
   2117         } else {
   2118           goto handle_unusual;
   2119         }
   2120         if (input->ExpectTag(34)) goto parse_enum_type;
   2121         if (input->ExpectTag(42)) goto parse_extension_range;
   2122         break;
   2123       }
   2124 
   2125       // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2126       case 5: {
   2127         if (tag == 42) {
   2128          parse_extension_range:
   2129           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2130                 input, add_extension_range()));
   2131         } else {
   2132           goto handle_unusual;
   2133         }
   2134         if (input->ExpectTag(42)) goto parse_extension_range;
   2135         if (input->ExpectTag(50)) goto parse_extension;
   2136         break;
   2137       }
   2138 
   2139       // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2140       case 6: {
   2141         if (tag == 50) {
   2142          parse_extension:
   2143           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2144                 input, add_extension()));
   2145         } else {
   2146           goto handle_unusual;
   2147         }
   2148         if (input->ExpectTag(50)) goto parse_extension;
   2149         if (input->ExpectTag(58)) goto parse_options;
   2150         break;
   2151       }
   2152 
   2153       // optional .google.protobuf.MessageOptions options = 7;
   2154       case 7: {
   2155         if (tag == 58) {
   2156          parse_options:
   2157           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2158                input, mutable_options()));
   2159         } else {
   2160           goto handle_unusual;
   2161         }
   2162         if (input->ExpectTag(66)) goto parse_oneof_decl;
   2163         break;
   2164       }
   2165 
   2166       // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2167       case 8: {
   2168         if (tag == 66) {
   2169          parse_oneof_decl:
   2170           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2171                 input, add_oneof_decl()));
   2172         } else {
   2173           goto handle_unusual;
   2174         }
   2175         if (input->ExpectTag(66)) goto parse_oneof_decl;
   2176         if (input->ExpectAtEnd()) goto success;
   2177         break;
   2178       }
   2179 
   2180       default: {
   2181       handle_unusual:
   2182         if (tag == 0 ||
   2183             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2184             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2185           goto success;
   2186         }
   2187         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2188               input, tag, mutable_unknown_fields()));
   2189         break;
   2190       }
   2191     }
   2192   }
   2193 success:
   2194   // @@protoc_insertion_point(parse_success:google.protobuf.DescriptorProto)
   2195   return true;
   2196 failure:
   2197   // @@protoc_insertion_point(parse_failure:google.protobuf.DescriptorProto)
   2198   return false;
   2199 #undef DO_
   2200 }
   2201 
   2202 void DescriptorProto::SerializeWithCachedSizes(
   2203     ::google::protobuf::io::CodedOutputStream* output) const {
   2204   // @@protoc_insertion_point(serialize_start:google.protobuf.DescriptorProto)
   2205   // optional string name = 1;
   2206   if (has_name()) {
   2207     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2208       this->name().data(), this->name().length(),
   2209       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2210       "name");
   2211     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2212       1, this->name(), output);
   2213   }
   2214 
   2215   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2216   for (int i = 0; i < this->field_size(); i++) {
   2217     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2218       2, this->field(i), output);
   2219   }
   2220 
   2221   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2222   for (int i = 0; i < this->nested_type_size(); i++) {
   2223     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2224       3, this->nested_type(i), output);
   2225   }
   2226 
   2227   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2228   for (int i = 0; i < this->enum_type_size(); i++) {
   2229     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2230       4, this->enum_type(i), output);
   2231   }
   2232 
   2233   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2234   for (int i = 0; i < this->extension_range_size(); i++) {
   2235     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2236       5, this->extension_range(i), output);
   2237   }
   2238 
   2239   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2240   for (int i = 0; i < this->extension_size(); i++) {
   2241     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2242       6, this->extension(i), output);
   2243   }
   2244 
   2245   // optional .google.protobuf.MessageOptions options = 7;
   2246   if (has_options()) {
   2247     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2248       7, this->options(), output);
   2249   }
   2250 
   2251   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2252   for (int i = 0; i < this->oneof_decl_size(); i++) {
   2253     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2254       8, this->oneof_decl(i), output);
   2255   }
   2256 
   2257   if (!unknown_fields().empty()) {
   2258     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2259         unknown_fields(), output);
   2260   }
   2261   // @@protoc_insertion_point(serialize_end:google.protobuf.DescriptorProto)
   2262 }
   2263 
   2264 ::google::protobuf::uint8* DescriptorProto::SerializeWithCachedSizesToArray(
   2265     ::google::protobuf::uint8* target) const {
   2266   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.DescriptorProto)
   2267   // optional string name = 1;
   2268   if (has_name()) {
   2269     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2270       this->name().data(), this->name().length(),
   2271       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2272       "name");
   2273     target =
   2274       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2275         1, this->name(), target);
   2276   }
   2277 
   2278   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2279   for (int i = 0; i < this->field_size(); i++) {
   2280     target = ::google::protobuf::internal::WireFormatLite::
   2281       WriteMessageNoVirtualToArray(
   2282         2, this->field(i), target);
   2283   }
   2284 
   2285   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2286   for (int i = 0; i < this->nested_type_size(); i++) {
   2287     target = ::google::protobuf::internal::WireFormatLite::
   2288       WriteMessageNoVirtualToArray(
   2289         3, this->nested_type(i), target);
   2290   }
   2291 
   2292   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2293   for (int i = 0; i < this->enum_type_size(); i++) {
   2294     target = ::google::protobuf::internal::WireFormatLite::
   2295       WriteMessageNoVirtualToArray(
   2296         4, this->enum_type(i), target);
   2297   }
   2298 
   2299   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2300   for (int i = 0; i < this->extension_range_size(); i++) {
   2301     target = ::google::protobuf::internal::WireFormatLite::
   2302       WriteMessageNoVirtualToArray(
   2303         5, this->extension_range(i), target);
   2304   }
   2305 
   2306   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2307   for (int i = 0; i < this->extension_size(); i++) {
   2308     target = ::google::protobuf::internal::WireFormatLite::
   2309       WriteMessageNoVirtualToArray(
   2310         6, this->extension(i), target);
   2311   }
   2312 
   2313   // optional .google.protobuf.MessageOptions options = 7;
   2314   if (has_options()) {
   2315     target = ::google::protobuf::internal::WireFormatLite::
   2316       WriteMessageNoVirtualToArray(
   2317         7, this->options(), target);
   2318   }
   2319 
   2320   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2321   for (int i = 0; i < this->oneof_decl_size(); i++) {
   2322     target = ::google::protobuf::internal::WireFormatLite::
   2323       WriteMessageNoVirtualToArray(
   2324         8, this->oneof_decl(i), target);
   2325   }
   2326 
   2327   if (!unknown_fields().empty()) {
   2328     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   2329         unknown_fields(), target);
   2330   }
   2331   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.DescriptorProto)
   2332   return target;
   2333 }
   2334 
   2335 int DescriptorProto::ByteSize() const {
   2336   int total_size = 0;
   2337 
   2338   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2339     // optional string name = 1;
   2340     if (has_name()) {
   2341       total_size += 1 +
   2342         ::google::protobuf::internal::WireFormatLite::StringSize(
   2343           this->name());
   2344     }
   2345 
   2346     // optional .google.protobuf.MessageOptions options = 7;
   2347     if (has_options()) {
   2348       total_size += 1 +
   2349         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2350           this->options());
   2351     }
   2352 
   2353   }
   2354   // repeated .google.protobuf.FieldDescriptorProto field = 2;
   2355   total_size += 1 * this->field_size();
   2356   for (int i = 0; i < this->field_size(); i++) {
   2357     total_size +=
   2358       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2359         this->field(i));
   2360   }
   2361 
   2362   // repeated .google.protobuf.FieldDescriptorProto extension = 6;
   2363   total_size += 1 * this->extension_size();
   2364   for (int i = 0; i < this->extension_size(); i++) {
   2365     total_size +=
   2366       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2367         this->extension(i));
   2368   }
   2369 
   2370   // repeated .google.protobuf.DescriptorProto nested_type = 3;
   2371   total_size += 1 * this->nested_type_size();
   2372   for (int i = 0; i < this->nested_type_size(); i++) {
   2373     total_size +=
   2374       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2375         this->nested_type(i));
   2376   }
   2377 
   2378   // repeated .google.protobuf.EnumDescriptorProto enum_type = 4;
   2379   total_size += 1 * this->enum_type_size();
   2380   for (int i = 0; i < this->enum_type_size(); i++) {
   2381     total_size +=
   2382       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2383         this->enum_type(i));
   2384   }
   2385 
   2386   // repeated .google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
   2387   total_size += 1 * this->extension_range_size();
   2388   for (int i = 0; i < this->extension_range_size(); i++) {
   2389     total_size +=
   2390       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2391         this->extension_range(i));
   2392   }
   2393 
   2394   // repeated .google.protobuf.OneofDescriptorProto oneof_decl = 8;
   2395   total_size += 1 * this->oneof_decl_size();
   2396   for (int i = 0; i < this->oneof_decl_size(); i++) {
   2397     total_size +=
   2398       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   2399         this->oneof_decl(i));
   2400   }
   2401 
   2402   if (!unknown_fields().empty()) {
   2403     total_size +=
   2404       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   2405         unknown_fields());
   2406   }
   2407   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2408   _cached_size_ = total_size;
   2409   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2410   return total_size;
   2411 }
   2412 
   2413 void DescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   2414   GOOGLE_CHECK_NE(&from, this);
   2415   const DescriptorProto* source =
   2416     ::google::protobuf::internal::dynamic_cast_if_available<const DescriptorProto*>(
   2417       &from);
   2418   if (source == NULL) {
   2419     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   2420   } else {
   2421     MergeFrom(*source);
   2422   }
   2423 }
   2424 
   2425 void DescriptorProto::MergeFrom(const DescriptorProto& from) {
   2426   GOOGLE_CHECK_NE(&from, this);
   2427   field_.MergeFrom(from.field_);
   2428   extension_.MergeFrom(from.extension_);
   2429   nested_type_.MergeFrom(from.nested_type_);
   2430   enum_type_.MergeFrom(from.enum_type_);
   2431   extension_range_.MergeFrom(from.extension_range_);
   2432   oneof_decl_.MergeFrom(from.oneof_decl_);
   2433   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   2434     if (from.has_name()) {
   2435       set_name(from.name());
   2436     }
   2437     if (from.has_options()) {
   2438       mutable_options()->::google::protobuf::MessageOptions::MergeFrom(from.options());
   2439     }
   2440   }
   2441   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   2442 }
   2443 
   2444 void DescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   2445   if (&from == this) return;
   2446   Clear();
   2447   MergeFrom(from);
   2448 }
   2449 
   2450 void DescriptorProto::CopyFrom(const DescriptorProto& from) {
   2451   if (&from == this) return;
   2452   Clear();
   2453   MergeFrom(from);
   2454 }
   2455 
   2456 bool DescriptorProto::IsInitialized() const {
   2457 
   2458   if (!::google::protobuf::internal::AllAreInitialized(this->field())) return false;
   2459   if (!::google::protobuf::internal::AllAreInitialized(this->extension())) return false;
   2460   if (!::google::protobuf::internal::AllAreInitialized(this->nested_type())) return false;
   2461   if (!::google::protobuf::internal::AllAreInitialized(this->enum_type())) return false;
   2462   if (has_options()) {
   2463     if (!this->options().IsInitialized()) return false;
   2464   }
   2465   return true;
   2466 }
   2467 
   2468 void DescriptorProto::Swap(DescriptorProto* other) {
   2469   if (other != this) {
   2470     std::swap(name_, other->name_);
   2471     field_.Swap(&other->field_);
   2472     extension_.Swap(&other->extension_);
   2473     nested_type_.Swap(&other->nested_type_);
   2474     enum_type_.Swap(&other->enum_type_);
   2475     extension_range_.Swap(&other->extension_range_);
   2476     oneof_decl_.Swap(&other->oneof_decl_);
   2477     std::swap(options_, other->options_);
   2478     std::swap(_has_bits_[0], other->_has_bits_[0]);
   2479     _unknown_fields_.Swap(&other->_unknown_fields_);
   2480     std::swap(_cached_size_, other->_cached_size_);
   2481   }
   2482 }
   2483 
   2484 ::google::protobuf::Metadata DescriptorProto::GetMetadata() const {
   2485   protobuf_AssignDescriptorsOnce();
   2486   ::google::protobuf::Metadata metadata;
   2487   metadata.descriptor = DescriptorProto_descriptor_;
   2488   metadata.reflection = DescriptorProto_reflection_;
   2489   return metadata;
   2490 }
   2491 
   2492 
   2493 // ===================================================================
   2494 
   2495 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Type_descriptor() {
   2496   protobuf_AssignDescriptorsOnce();
   2497   return FieldDescriptorProto_Type_descriptor_;
   2498 }
   2499 bool FieldDescriptorProto_Type_IsValid(int value) {
   2500   switch(value) {
   2501     case 1:
   2502     case 2:
   2503     case 3:
   2504     case 4:
   2505     case 5:
   2506     case 6:
   2507     case 7:
   2508     case 8:
   2509     case 9:
   2510     case 10:
   2511     case 11:
   2512     case 12:
   2513     case 13:
   2514     case 14:
   2515     case 15:
   2516     case 16:
   2517     case 17:
   2518     case 18:
   2519       return true;
   2520     default:
   2521       return false;
   2522   }
   2523 }
   2524 
   2525 #ifndef _MSC_VER
   2526 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_DOUBLE;
   2527 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FLOAT;
   2528 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT64;
   2529 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT64;
   2530 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_INT32;
   2531 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED64;
   2532 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_FIXED32;
   2533 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BOOL;
   2534 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_STRING;
   2535 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_GROUP;
   2536 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_MESSAGE;
   2537 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_BYTES;
   2538 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_UINT32;
   2539 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_ENUM;
   2540 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED32;
   2541 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SFIXED64;
   2542 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT32;
   2543 const FieldDescriptorProto_Type FieldDescriptorProto::TYPE_SINT64;
   2544 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MIN;
   2545 const FieldDescriptorProto_Type FieldDescriptorProto::Type_MAX;
   2546 const int FieldDescriptorProto::Type_ARRAYSIZE;
   2547 #endif  // _MSC_VER
   2548 const ::google::protobuf::EnumDescriptor* FieldDescriptorProto_Label_descriptor() {
   2549   protobuf_AssignDescriptorsOnce();
   2550   return FieldDescriptorProto_Label_descriptor_;
   2551 }
   2552 bool FieldDescriptorProto_Label_IsValid(int value) {
   2553   switch(value) {
   2554     case 1:
   2555     case 2:
   2556     case 3:
   2557       return true;
   2558     default:
   2559       return false;
   2560   }
   2561 }
   2562 
   2563 #ifndef _MSC_VER
   2564 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_OPTIONAL;
   2565 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REQUIRED;
   2566 const FieldDescriptorProto_Label FieldDescriptorProto::LABEL_REPEATED;
   2567 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MIN;
   2568 const FieldDescriptorProto_Label FieldDescriptorProto::Label_MAX;
   2569 const int FieldDescriptorProto::Label_ARRAYSIZE;
   2570 #endif  // _MSC_VER
   2571 #ifndef _MSC_VER
   2572 const int FieldDescriptorProto::kNameFieldNumber;
   2573 const int FieldDescriptorProto::kNumberFieldNumber;
   2574 const int FieldDescriptorProto::kLabelFieldNumber;
   2575 const int FieldDescriptorProto::kTypeFieldNumber;
   2576 const int FieldDescriptorProto::kTypeNameFieldNumber;
   2577 const int FieldDescriptorProto::kExtendeeFieldNumber;
   2578 const int FieldDescriptorProto::kDefaultValueFieldNumber;
   2579 const int FieldDescriptorProto::kOneofIndexFieldNumber;
   2580 const int FieldDescriptorProto::kOptionsFieldNumber;
   2581 #endif  // !_MSC_VER
   2582 
   2583 FieldDescriptorProto::FieldDescriptorProto()
   2584   : ::google::protobuf::Message() {
   2585   SharedCtor();
   2586   // @@protoc_insertion_point(constructor:google.protobuf.FieldDescriptorProto)
   2587 }
   2588 
   2589 void FieldDescriptorProto::InitAsDefaultInstance() {
   2590   options_ = const_cast< ::google::protobuf::FieldOptions*>(&::google::protobuf::FieldOptions::default_instance());
   2591 }
   2592 
   2593 FieldDescriptorProto::FieldDescriptorProto(const FieldDescriptorProto& from)
   2594   : ::google::protobuf::Message() {
   2595   SharedCtor();
   2596   MergeFrom(from);
   2597   // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldDescriptorProto)
   2598 }
   2599 
   2600 void FieldDescriptorProto::SharedCtor() {
   2601   ::google::protobuf::internal::GetEmptyString();
   2602   _cached_size_ = 0;
   2603   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2604   number_ = 0;
   2605   label_ = 1;
   2606   type_ = 1;
   2607   type_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2608   extendee_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2609   default_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   2610   oneof_index_ = 0;
   2611   options_ = NULL;
   2612   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2613 }
   2614 
   2615 FieldDescriptorProto::~FieldDescriptorProto() {
   2616   // @@protoc_insertion_point(destructor:google.protobuf.FieldDescriptorProto)
   2617   SharedDtor();
   2618 }
   2619 
   2620 void FieldDescriptorProto::SharedDtor() {
   2621   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2622     delete name_;
   2623   }
   2624   if (type_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2625     delete type_name_;
   2626   }
   2627   if (extendee_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2628     delete extendee_;
   2629   }
   2630   if (default_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2631     delete default_value_;
   2632   }
   2633   if (this != default_instance_) {
   2634     delete options_;
   2635   }
   2636 }
   2637 
   2638 void FieldDescriptorProto::SetCachedSize(int size) const {
   2639   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   2640   _cached_size_ = size;
   2641   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   2642 }
   2643 const ::google::protobuf::Descriptor* FieldDescriptorProto::descriptor() {
   2644   protobuf_AssignDescriptorsOnce();
   2645   return FieldDescriptorProto_descriptor_;
   2646 }
   2647 
   2648 const FieldDescriptorProto& FieldDescriptorProto::default_instance() {
   2649   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   2650   return *default_instance_;
   2651 }
   2652 
   2653 FieldDescriptorProto* FieldDescriptorProto::default_instance_ = NULL;
   2654 
   2655 FieldDescriptorProto* FieldDescriptorProto::New() const {
   2656   return new FieldDescriptorProto;
   2657 }
   2658 
   2659 void FieldDescriptorProto::Clear() {
   2660   if (_has_bits_[0 / 32] & 255) {
   2661     if (has_name()) {
   2662       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2663         name_->clear();
   2664       }
   2665     }
   2666     number_ = 0;
   2667     label_ = 1;
   2668     type_ = 1;
   2669     if (has_type_name()) {
   2670       if (type_name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2671         type_name_->clear();
   2672       }
   2673     }
   2674     if (has_extendee()) {
   2675       if (extendee_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2676         extendee_->clear();
   2677       }
   2678     }
   2679     if (has_default_value()) {
   2680       if (default_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   2681         default_value_->clear();
   2682       }
   2683     }
   2684     oneof_index_ = 0;
   2685   }
   2686   if (has_options()) {
   2687     if (options_ != NULL) options_->::google::protobuf::FieldOptions::Clear();
   2688   }
   2689   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   2690   mutable_unknown_fields()->Clear();
   2691 }
   2692 
   2693 bool FieldDescriptorProto::MergePartialFromCodedStream(
   2694     ::google::protobuf::io::CodedInputStream* input) {
   2695 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   2696   ::google::protobuf::uint32 tag;
   2697   // @@protoc_insertion_point(parse_start:google.protobuf.FieldDescriptorProto)
   2698   for (;;) {
   2699     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   2700     tag = p.first;
   2701     if (!p.second) goto handle_unusual;
   2702     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   2703       // optional string name = 1;
   2704       case 1: {
   2705         if (tag == 10) {
   2706           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2707                 input, this->mutable_name()));
   2708           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2709             this->name().data(), this->name().length(),
   2710             ::google::protobuf::internal::WireFormat::PARSE,
   2711             "name");
   2712         } else {
   2713           goto handle_unusual;
   2714         }
   2715         if (input->ExpectTag(18)) goto parse_extendee;
   2716         break;
   2717       }
   2718 
   2719       // optional string extendee = 2;
   2720       case 2: {
   2721         if (tag == 18) {
   2722          parse_extendee:
   2723           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2724                 input, this->mutable_extendee()));
   2725           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2726             this->extendee().data(), this->extendee().length(),
   2727             ::google::protobuf::internal::WireFormat::PARSE,
   2728             "extendee");
   2729         } else {
   2730           goto handle_unusual;
   2731         }
   2732         if (input->ExpectTag(24)) goto parse_number;
   2733         break;
   2734       }
   2735 
   2736       // optional int32 number = 3;
   2737       case 3: {
   2738         if (tag == 24) {
   2739          parse_number:
   2740           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2741                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2742                  input, &number_)));
   2743           set_has_number();
   2744         } else {
   2745           goto handle_unusual;
   2746         }
   2747         if (input->ExpectTag(32)) goto parse_label;
   2748         break;
   2749       }
   2750 
   2751       // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2752       case 4: {
   2753         if (tag == 32) {
   2754          parse_label:
   2755           int value;
   2756           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2757                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   2758                  input, &value)));
   2759           if (::google::protobuf::FieldDescriptorProto_Label_IsValid(value)) {
   2760             set_label(static_cast< ::google::protobuf::FieldDescriptorProto_Label >(value));
   2761           } else {
   2762             mutable_unknown_fields()->AddVarint(4, value);
   2763           }
   2764         } else {
   2765           goto handle_unusual;
   2766         }
   2767         if (input->ExpectTag(40)) goto parse_type;
   2768         break;
   2769       }
   2770 
   2771       // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2772       case 5: {
   2773         if (tag == 40) {
   2774          parse_type:
   2775           int value;
   2776           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2777                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   2778                  input, &value)));
   2779           if (::google::protobuf::FieldDescriptorProto_Type_IsValid(value)) {
   2780             set_type(static_cast< ::google::protobuf::FieldDescriptorProto_Type >(value));
   2781           } else {
   2782             mutable_unknown_fields()->AddVarint(5, value);
   2783           }
   2784         } else {
   2785           goto handle_unusual;
   2786         }
   2787         if (input->ExpectTag(50)) goto parse_type_name;
   2788         break;
   2789       }
   2790 
   2791       // optional string type_name = 6;
   2792       case 6: {
   2793         if (tag == 50) {
   2794          parse_type_name:
   2795           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2796                 input, this->mutable_type_name()));
   2797           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2798             this->type_name().data(), this->type_name().length(),
   2799             ::google::protobuf::internal::WireFormat::PARSE,
   2800             "type_name");
   2801         } else {
   2802           goto handle_unusual;
   2803         }
   2804         if (input->ExpectTag(58)) goto parse_default_value;
   2805         break;
   2806       }
   2807 
   2808       // optional string default_value = 7;
   2809       case 7: {
   2810         if (tag == 58) {
   2811          parse_default_value:
   2812           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   2813                 input, this->mutable_default_value()));
   2814           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2815             this->default_value().data(), this->default_value().length(),
   2816             ::google::protobuf::internal::WireFormat::PARSE,
   2817             "default_value");
   2818         } else {
   2819           goto handle_unusual;
   2820         }
   2821         if (input->ExpectTag(66)) goto parse_options;
   2822         break;
   2823       }
   2824 
   2825       // optional .google.protobuf.FieldOptions options = 8;
   2826       case 8: {
   2827         if (tag == 66) {
   2828          parse_options:
   2829           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   2830                input, mutable_options()));
   2831         } else {
   2832           goto handle_unusual;
   2833         }
   2834         if (input->ExpectTag(72)) goto parse_oneof_index;
   2835         break;
   2836       }
   2837 
   2838       // optional int32 oneof_index = 9;
   2839       case 9: {
   2840         if (tag == 72) {
   2841          parse_oneof_index:
   2842           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   2843                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   2844                  input, &oneof_index_)));
   2845           set_has_oneof_index();
   2846         } else {
   2847           goto handle_unusual;
   2848         }
   2849         if (input->ExpectAtEnd()) goto success;
   2850         break;
   2851       }
   2852 
   2853       default: {
   2854       handle_unusual:
   2855         if (tag == 0 ||
   2856             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   2857             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   2858           goto success;
   2859         }
   2860         DO_(::google::protobuf::internal::WireFormat::SkipField(
   2861               input, tag, mutable_unknown_fields()));
   2862         break;
   2863       }
   2864     }
   2865   }
   2866 success:
   2867   // @@protoc_insertion_point(parse_success:google.protobuf.FieldDescriptorProto)
   2868   return true;
   2869 failure:
   2870   // @@protoc_insertion_point(parse_failure:google.protobuf.FieldDescriptorProto)
   2871   return false;
   2872 #undef DO_
   2873 }
   2874 
   2875 void FieldDescriptorProto::SerializeWithCachedSizes(
   2876     ::google::protobuf::io::CodedOutputStream* output) const {
   2877   // @@protoc_insertion_point(serialize_start:google.protobuf.FieldDescriptorProto)
   2878   // optional string name = 1;
   2879   if (has_name()) {
   2880     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2881       this->name().data(), this->name().length(),
   2882       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2883       "name");
   2884     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2885       1, this->name(), output);
   2886   }
   2887 
   2888   // optional string extendee = 2;
   2889   if (has_extendee()) {
   2890     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2891       this->extendee().data(), this->extendee().length(),
   2892       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2893       "extendee");
   2894     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2895       2, this->extendee(), output);
   2896   }
   2897 
   2898   // optional int32 number = 3;
   2899   if (has_number()) {
   2900     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->number(), output);
   2901   }
   2902 
   2903   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2904   if (has_label()) {
   2905     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   2906       4, this->label(), output);
   2907   }
   2908 
   2909   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2910   if (has_type()) {
   2911     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   2912       5, this->type(), output);
   2913   }
   2914 
   2915   // optional string type_name = 6;
   2916   if (has_type_name()) {
   2917     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2918       this->type_name().data(), this->type_name().length(),
   2919       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2920       "type_name");
   2921     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2922       6, this->type_name(), output);
   2923   }
   2924 
   2925   // optional string default_value = 7;
   2926   if (has_default_value()) {
   2927     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2928       this->default_value().data(), this->default_value().length(),
   2929       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2930       "default_value");
   2931     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   2932       7, this->default_value(), output);
   2933   }
   2934 
   2935   // optional .google.protobuf.FieldOptions options = 8;
   2936   if (has_options()) {
   2937     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   2938       8, this->options(), output);
   2939   }
   2940 
   2941   // optional int32 oneof_index = 9;
   2942   if (has_oneof_index()) {
   2943     ::google::protobuf::internal::WireFormatLite::WriteInt32(9, this->oneof_index(), output);
   2944   }
   2945 
   2946   if (!unknown_fields().empty()) {
   2947     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   2948         unknown_fields(), output);
   2949   }
   2950   // @@protoc_insertion_point(serialize_end:google.protobuf.FieldDescriptorProto)
   2951 }
   2952 
   2953 ::google::protobuf::uint8* FieldDescriptorProto::SerializeWithCachedSizesToArray(
   2954     ::google::protobuf::uint8* target) const {
   2955   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldDescriptorProto)
   2956   // optional string name = 1;
   2957   if (has_name()) {
   2958     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2959       this->name().data(), this->name().length(),
   2960       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2961       "name");
   2962     target =
   2963       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2964         1, this->name(), target);
   2965   }
   2966 
   2967   // optional string extendee = 2;
   2968   if (has_extendee()) {
   2969     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2970       this->extendee().data(), this->extendee().length(),
   2971       ::google::protobuf::internal::WireFormat::SERIALIZE,
   2972       "extendee");
   2973     target =
   2974       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   2975         2, this->extendee(), target);
   2976   }
   2977 
   2978   // optional int32 number = 3;
   2979   if (has_number()) {
   2980     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->number(), target);
   2981   }
   2982 
   2983   // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   2984   if (has_label()) {
   2985     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   2986       4, this->label(), target);
   2987   }
   2988 
   2989   // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   2990   if (has_type()) {
   2991     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   2992       5, this->type(), target);
   2993   }
   2994 
   2995   // optional string type_name = 6;
   2996   if (has_type_name()) {
   2997     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   2998       this->type_name().data(), this->type_name().length(),
   2999       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3000       "type_name");
   3001     target =
   3002       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3003         6, this->type_name(), target);
   3004   }
   3005 
   3006   // optional string default_value = 7;
   3007   if (has_default_value()) {
   3008     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3009       this->default_value().data(), this->default_value().length(),
   3010       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3011       "default_value");
   3012     target =
   3013       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3014         7, this->default_value(), target);
   3015   }
   3016 
   3017   // optional .google.protobuf.FieldOptions options = 8;
   3018   if (has_options()) {
   3019     target = ::google::protobuf::internal::WireFormatLite::
   3020       WriteMessageNoVirtualToArray(
   3021         8, this->options(), target);
   3022   }
   3023 
   3024   // optional int32 oneof_index = 9;
   3025   if (has_oneof_index()) {
   3026     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(9, this->oneof_index(), target);
   3027   }
   3028 
   3029   if (!unknown_fields().empty()) {
   3030     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3031         unknown_fields(), target);
   3032   }
   3033   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldDescriptorProto)
   3034   return target;
   3035 }
   3036 
   3037 int FieldDescriptorProto::ByteSize() const {
   3038   int total_size = 0;
   3039 
   3040   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3041     // optional string name = 1;
   3042     if (has_name()) {
   3043       total_size += 1 +
   3044         ::google::protobuf::internal::WireFormatLite::StringSize(
   3045           this->name());
   3046     }
   3047 
   3048     // optional int32 number = 3;
   3049     if (has_number()) {
   3050       total_size += 1 +
   3051         ::google::protobuf::internal::WireFormatLite::Int32Size(
   3052           this->number());
   3053     }
   3054 
   3055     // optional .google.protobuf.FieldDescriptorProto.Label label = 4;
   3056     if (has_label()) {
   3057       total_size += 1 +
   3058         ::google::protobuf::internal::WireFormatLite::EnumSize(this->label());
   3059     }
   3060 
   3061     // optional .google.protobuf.FieldDescriptorProto.Type type = 5;
   3062     if (has_type()) {
   3063       total_size += 1 +
   3064         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
   3065     }
   3066 
   3067     // optional string type_name = 6;
   3068     if (has_type_name()) {
   3069       total_size += 1 +
   3070         ::google::protobuf::internal::WireFormatLite::StringSize(
   3071           this->type_name());
   3072     }
   3073 
   3074     // optional string extendee = 2;
   3075     if (has_extendee()) {
   3076       total_size += 1 +
   3077         ::google::protobuf::internal::WireFormatLite::StringSize(
   3078           this->extendee());
   3079     }
   3080 
   3081     // optional string default_value = 7;
   3082     if (has_default_value()) {
   3083       total_size += 1 +
   3084         ::google::protobuf::internal::WireFormatLite::StringSize(
   3085           this->default_value());
   3086     }
   3087 
   3088     // optional int32 oneof_index = 9;
   3089     if (has_oneof_index()) {
   3090       total_size += 1 +
   3091         ::google::protobuf::internal::WireFormatLite::Int32Size(
   3092           this->oneof_index());
   3093     }
   3094 
   3095   }
   3096   if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   3097     // optional .google.protobuf.FieldOptions options = 8;
   3098     if (has_options()) {
   3099       total_size += 1 +
   3100         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3101           this->options());
   3102     }
   3103 
   3104   }
   3105   if (!unknown_fields().empty()) {
   3106     total_size +=
   3107       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3108         unknown_fields());
   3109   }
   3110   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3111   _cached_size_ = total_size;
   3112   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3113   return total_size;
   3114 }
   3115 
   3116 void FieldDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3117   GOOGLE_CHECK_NE(&from, this);
   3118   const FieldDescriptorProto* source =
   3119     ::google::protobuf::internal::dynamic_cast_if_available<const FieldDescriptorProto*>(
   3120       &from);
   3121   if (source == NULL) {
   3122     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3123   } else {
   3124     MergeFrom(*source);
   3125   }
   3126 }
   3127 
   3128 void FieldDescriptorProto::MergeFrom(const FieldDescriptorProto& from) {
   3129   GOOGLE_CHECK_NE(&from, this);
   3130   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3131     if (from.has_name()) {
   3132       set_name(from.name());
   3133     }
   3134     if (from.has_number()) {
   3135       set_number(from.number());
   3136     }
   3137     if (from.has_label()) {
   3138       set_label(from.label());
   3139     }
   3140     if (from.has_type()) {
   3141       set_type(from.type());
   3142     }
   3143     if (from.has_type_name()) {
   3144       set_type_name(from.type_name());
   3145     }
   3146     if (from.has_extendee()) {
   3147       set_extendee(from.extendee());
   3148     }
   3149     if (from.has_default_value()) {
   3150       set_default_value(from.default_value());
   3151     }
   3152     if (from.has_oneof_index()) {
   3153       set_oneof_index(from.oneof_index());
   3154     }
   3155   }
   3156   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   3157     if (from.has_options()) {
   3158       mutable_options()->::google::protobuf::FieldOptions::MergeFrom(from.options());
   3159     }
   3160   }
   3161   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3162 }
   3163 
   3164 void FieldDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3165   if (&from == this) return;
   3166   Clear();
   3167   MergeFrom(from);
   3168 }
   3169 
   3170 void FieldDescriptorProto::CopyFrom(const FieldDescriptorProto& from) {
   3171   if (&from == this) return;
   3172   Clear();
   3173   MergeFrom(from);
   3174 }
   3175 
   3176 bool FieldDescriptorProto::IsInitialized() const {
   3177 
   3178   if (has_options()) {
   3179     if (!this->options().IsInitialized()) return false;
   3180   }
   3181   return true;
   3182 }
   3183 
   3184 void FieldDescriptorProto::Swap(FieldDescriptorProto* other) {
   3185   if (other != this) {
   3186     std::swap(name_, other->name_);
   3187     std::swap(number_, other->number_);
   3188     std::swap(label_, other->label_);
   3189     std::swap(type_, other->type_);
   3190     std::swap(type_name_, other->type_name_);
   3191     std::swap(extendee_, other->extendee_);
   3192     std::swap(default_value_, other->default_value_);
   3193     std::swap(oneof_index_, other->oneof_index_);
   3194     std::swap(options_, other->options_);
   3195     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3196     _unknown_fields_.Swap(&other->_unknown_fields_);
   3197     std::swap(_cached_size_, other->_cached_size_);
   3198   }
   3199 }
   3200 
   3201 ::google::protobuf::Metadata FieldDescriptorProto::GetMetadata() const {
   3202   protobuf_AssignDescriptorsOnce();
   3203   ::google::protobuf::Metadata metadata;
   3204   metadata.descriptor = FieldDescriptorProto_descriptor_;
   3205   metadata.reflection = FieldDescriptorProto_reflection_;
   3206   return metadata;
   3207 }
   3208 
   3209 
   3210 // ===================================================================
   3211 
   3212 #ifndef _MSC_VER
   3213 const int OneofDescriptorProto::kNameFieldNumber;
   3214 #endif  // !_MSC_VER
   3215 
   3216 OneofDescriptorProto::OneofDescriptorProto()
   3217   : ::google::protobuf::Message() {
   3218   SharedCtor();
   3219   // @@protoc_insertion_point(constructor:google.protobuf.OneofDescriptorProto)
   3220 }
   3221 
   3222 void OneofDescriptorProto::InitAsDefaultInstance() {
   3223 }
   3224 
   3225 OneofDescriptorProto::OneofDescriptorProto(const OneofDescriptorProto& from)
   3226   : ::google::protobuf::Message() {
   3227   SharedCtor();
   3228   MergeFrom(from);
   3229   // @@protoc_insertion_point(copy_constructor:google.protobuf.OneofDescriptorProto)
   3230 }
   3231 
   3232 void OneofDescriptorProto::SharedCtor() {
   3233   ::google::protobuf::internal::GetEmptyString();
   3234   _cached_size_ = 0;
   3235   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3236   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3237 }
   3238 
   3239 OneofDescriptorProto::~OneofDescriptorProto() {
   3240   // @@protoc_insertion_point(destructor:google.protobuf.OneofDescriptorProto)
   3241   SharedDtor();
   3242 }
   3243 
   3244 void OneofDescriptorProto::SharedDtor() {
   3245   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3246     delete name_;
   3247   }
   3248   if (this != default_instance_) {
   3249   }
   3250 }
   3251 
   3252 void OneofDescriptorProto::SetCachedSize(int size) const {
   3253   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3254   _cached_size_ = size;
   3255   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3256 }
   3257 const ::google::protobuf::Descriptor* OneofDescriptorProto::descriptor() {
   3258   protobuf_AssignDescriptorsOnce();
   3259   return OneofDescriptorProto_descriptor_;
   3260 }
   3261 
   3262 const OneofDescriptorProto& OneofDescriptorProto::default_instance() {
   3263   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3264   return *default_instance_;
   3265 }
   3266 
   3267 OneofDescriptorProto* OneofDescriptorProto::default_instance_ = NULL;
   3268 
   3269 OneofDescriptorProto* OneofDescriptorProto::New() const {
   3270   return new OneofDescriptorProto;
   3271 }
   3272 
   3273 void OneofDescriptorProto::Clear() {
   3274   if (has_name()) {
   3275     if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3276       name_->clear();
   3277     }
   3278   }
   3279   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3280   mutable_unknown_fields()->Clear();
   3281 }
   3282 
   3283 bool OneofDescriptorProto::MergePartialFromCodedStream(
   3284     ::google::protobuf::io::CodedInputStream* input) {
   3285 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   3286   ::google::protobuf::uint32 tag;
   3287   // @@protoc_insertion_point(parse_start:google.protobuf.OneofDescriptorProto)
   3288   for (;;) {
   3289     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3290     tag = p.first;
   3291     if (!p.second) goto handle_unusual;
   3292     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3293       // optional string name = 1;
   3294       case 1: {
   3295         if (tag == 10) {
   3296           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3297                 input, this->mutable_name()));
   3298           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3299             this->name().data(), this->name().length(),
   3300             ::google::protobuf::internal::WireFormat::PARSE,
   3301             "name");
   3302         } else {
   3303           goto handle_unusual;
   3304         }
   3305         if (input->ExpectAtEnd()) goto success;
   3306         break;
   3307       }
   3308 
   3309       default: {
   3310       handle_unusual:
   3311         if (tag == 0 ||
   3312             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3313             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3314           goto success;
   3315         }
   3316         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3317               input, tag, mutable_unknown_fields()));
   3318         break;
   3319       }
   3320     }
   3321   }
   3322 success:
   3323   // @@protoc_insertion_point(parse_success:google.protobuf.OneofDescriptorProto)
   3324   return true;
   3325 failure:
   3326   // @@protoc_insertion_point(parse_failure:google.protobuf.OneofDescriptorProto)
   3327   return false;
   3328 #undef DO_
   3329 }
   3330 
   3331 void OneofDescriptorProto::SerializeWithCachedSizes(
   3332     ::google::protobuf::io::CodedOutputStream* output) const {
   3333   // @@protoc_insertion_point(serialize_start:google.protobuf.OneofDescriptorProto)
   3334   // optional string name = 1;
   3335   if (has_name()) {
   3336     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3337       this->name().data(), this->name().length(),
   3338       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3339       "name");
   3340     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3341       1, this->name(), output);
   3342   }
   3343 
   3344   if (!unknown_fields().empty()) {
   3345     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3346         unknown_fields(), output);
   3347   }
   3348   // @@protoc_insertion_point(serialize_end:google.protobuf.OneofDescriptorProto)
   3349 }
   3350 
   3351 ::google::protobuf::uint8* OneofDescriptorProto::SerializeWithCachedSizesToArray(
   3352     ::google::protobuf::uint8* target) const {
   3353   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.OneofDescriptorProto)
   3354   // optional string name = 1;
   3355   if (has_name()) {
   3356     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3357       this->name().data(), this->name().length(),
   3358       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3359       "name");
   3360     target =
   3361       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3362         1, this->name(), target);
   3363   }
   3364 
   3365   if (!unknown_fields().empty()) {
   3366     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3367         unknown_fields(), target);
   3368   }
   3369   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.OneofDescriptorProto)
   3370   return target;
   3371 }
   3372 
   3373 int OneofDescriptorProto::ByteSize() const {
   3374   int total_size = 0;
   3375 
   3376   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3377     // optional string name = 1;
   3378     if (has_name()) {
   3379       total_size += 1 +
   3380         ::google::protobuf::internal::WireFormatLite::StringSize(
   3381           this->name());
   3382     }
   3383 
   3384   }
   3385   if (!unknown_fields().empty()) {
   3386     total_size +=
   3387       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3388         unknown_fields());
   3389   }
   3390   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3391   _cached_size_ = total_size;
   3392   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3393   return total_size;
   3394 }
   3395 
   3396 void OneofDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3397   GOOGLE_CHECK_NE(&from, this);
   3398   const OneofDescriptorProto* source =
   3399     ::google::protobuf::internal::dynamic_cast_if_available<const OneofDescriptorProto*>(
   3400       &from);
   3401   if (source == NULL) {
   3402     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3403   } else {
   3404     MergeFrom(*source);
   3405   }
   3406 }
   3407 
   3408 void OneofDescriptorProto::MergeFrom(const OneofDescriptorProto& from) {
   3409   GOOGLE_CHECK_NE(&from, this);
   3410   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3411     if (from.has_name()) {
   3412       set_name(from.name());
   3413     }
   3414   }
   3415   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3416 }
   3417 
   3418 void OneofDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3419   if (&from == this) return;
   3420   Clear();
   3421   MergeFrom(from);
   3422 }
   3423 
   3424 void OneofDescriptorProto::CopyFrom(const OneofDescriptorProto& from) {
   3425   if (&from == this) return;
   3426   Clear();
   3427   MergeFrom(from);
   3428 }
   3429 
   3430 bool OneofDescriptorProto::IsInitialized() const {
   3431 
   3432   return true;
   3433 }
   3434 
   3435 void OneofDescriptorProto::Swap(OneofDescriptorProto* other) {
   3436   if (other != this) {
   3437     std::swap(name_, other->name_);
   3438     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3439     _unknown_fields_.Swap(&other->_unknown_fields_);
   3440     std::swap(_cached_size_, other->_cached_size_);
   3441   }
   3442 }
   3443 
   3444 ::google::protobuf::Metadata OneofDescriptorProto::GetMetadata() const {
   3445   protobuf_AssignDescriptorsOnce();
   3446   ::google::protobuf::Metadata metadata;
   3447   metadata.descriptor = OneofDescriptorProto_descriptor_;
   3448   metadata.reflection = OneofDescriptorProto_reflection_;
   3449   return metadata;
   3450 }
   3451 
   3452 
   3453 // ===================================================================
   3454 
   3455 #ifndef _MSC_VER
   3456 const int EnumDescriptorProto::kNameFieldNumber;
   3457 const int EnumDescriptorProto::kValueFieldNumber;
   3458 const int EnumDescriptorProto::kOptionsFieldNumber;
   3459 #endif  // !_MSC_VER
   3460 
   3461 EnumDescriptorProto::EnumDescriptorProto()
   3462   : ::google::protobuf::Message() {
   3463   SharedCtor();
   3464   // @@protoc_insertion_point(constructor:google.protobuf.EnumDescriptorProto)
   3465 }
   3466 
   3467 void EnumDescriptorProto::InitAsDefaultInstance() {
   3468   options_ = const_cast< ::google::protobuf::EnumOptions*>(&::google::protobuf::EnumOptions::default_instance());
   3469 }
   3470 
   3471 EnumDescriptorProto::EnumDescriptorProto(const EnumDescriptorProto& from)
   3472   : ::google::protobuf::Message() {
   3473   SharedCtor();
   3474   MergeFrom(from);
   3475   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumDescriptorProto)
   3476 }
   3477 
   3478 void EnumDescriptorProto::SharedCtor() {
   3479   ::google::protobuf::internal::GetEmptyString();
   3480   _cached_size_ = 0;
   3481   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3482   options_ = NULL;
   3483   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3484 }
   3485 
   3486 EnumDescriptorProto::~EnumDescriptorProto() {
   3487   // @@protoc_insertion_point(destructor:google.protobuf.EnumDescriptorProto)
   3488   SharedDtor();
   3489 }
   3490 
   3491 void EnumDescriptorProto::SharedDtor() {
   3492   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3493     delete name_;
   3494   }
   3495   if (this != default_instance_) {
   3496     delete options_;
   3497   }
   3498 }
   3499 
   3500 void EnumDescriptorProto::SetCachedSize(int size) const {
   3501   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3502   _cached_size_ = size;
   3503   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3504 }
   3505 const ::google::protobuf::Descriptor* EnumDescriptorProto::descriptor() {
   3506   protobuf_AssignDescriptorsOnce();
   3507   return EnumDescriptorProto_descriptor_;
   3508 }
   3509 
   3510 const EnumDescriptorProto& EnumDescriptorProto::default_instance() {
   3511   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3512   return *default_instance_;
   3513 }
   3514 
   3515 EnumDescriptorProto* EnumDescriptorProto::default_instance_ = NULL;
   3516 
   3517 EnumDescriptorProto* EnumDescriptorProto::New() const {
   3518   return new EnumDescriptorProto;
   3519 }
   3520 
   3521 void EnumDescriptorProto::Clear() {
   3522   if (_has_bits_[0 / 32] & 5) {
   3523     if (has_name()) {
   3524       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3525         name_->clear();
   3526       }
   3527     }
   3528     if (has_options()) {
   3529       if (options_ != NULL) options_->::google::protobuf::EnumOptions::Clear();
   3530     }
   3531   }
   3532   value_.Clear();
   3533   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3534   mutable_unknown_fields()->Clear();
   3535 }
   3536 
   3537 bool EnumDescriptorProto::MergePartialFromCodedStream(
   3538     ::google::protobuf::io::CodedInputStream* input) {
   3539 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   3540   ::google::protobuf::uint32 tag;
   3541   // @@protoc_insertion_point(parse_start:google.protobuf.EnumDescriptorProto)
   3542   for (;;) {
   3543     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3544     tag = p.first;
   3545     if (!p.second) goto handle_unusual;
   3546     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3547       // optional string name = 1;
   3548       case 1: {
   3549         if (tag == 10) {
   3550           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3551                 input, this->mutable_name()));
   3552           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3553             this->name().data(), this->name().length(),
   3554             ::google::protobuf::internal::WireFormat::PARSE,
   3555             "name");
   3556         } else {
   3557           goto handle_unusual;
   3558         }
   3559         if (input->ExpectTag(18)) goto parse_value;
   3560         break;
   3561       }
   3562 
   3563       // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3564       case 2: {
   3565         if (tag == 18) {
   3566          parse_value:
   3567           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3568                 input, add_value()));
   3569         } else {
   3570           goto handle_unusual;
   3571         }
   3572         if (input->ExpectTag(18)) goto parse_value;
   3573         if (input->ExpectTag(26)) goto parse_options;
   3574         break;
   3575       }
   3576 
   3577       // optional .google.protobuf.EnumOptions options = 3;
   3578       case 3: {
   3579         if (tag == 26) {
   3580          parse_options:
   3581           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3582                input, mutable_options()));
   3583         } else {
   3584           goto handle_unusual;
   3585         }
   3586         if (input->ExpectAtEnd()) goto success;
   3587         break;
   3588       }
   3589 
   3590       default: {
   3591       handle_unusual:
   3592         if (tag == 0 ||
   3593             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3594             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3595           goto success;
   3596         }
   3597         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3598               input, tag, mutable_unknown_fields()));
   3599         break;
   3600       }
   3601     }
   3602   }
   3603 success:
   3604   // @@protoc_insertion_point(parse_success:google.protobuf.EnumDescriptorProto)
   3605   return true;
   3606 failure:
   3607   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumDescriptorProto)
   3608   return false;
   3609 #undef DO_
   3610 }
   3611 
   3612 void EnumDescriptorProto::SerializeWithCachedSizes(
   3613     ::google::protobuf::io::CodedOutputStream* output) const {
   3614   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumDescriptorProto)
   3615   // optional string name = 1;
   3616   if (has_name()) {
   3617     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3618       this->name().data(), this->name().length(),
   3619       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3620       "name");
   3621     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3622       1, this->name(), output);
   3623   }
   3624 
   3625   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3626   for (int i = 0; i < this->value_size(); i++) {
   3627     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3628       2, this->value(i), output);
   3629   }
   3630 
   3631   // optional .google.protobuf.EnumOptions options = 3;
   3632   if (has_options()) {
   3633     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3634       3, this->options(), output);
   3635   }
   3636 
   3637   if (!unknown_fields().empty()) {
   3638     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3639         unknown_fields(), output);
   3640   }
   3641   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumDescriptorProto)
   3642 }
   3643 
   3644 ::google::protobuf::uint8* EnumDescriptorProto::SerializeWithCachedSizesToArray(
   3645     ::google::protobuf::uint8* target) const {
   3646   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumDescriptorProto)
   3647   // optional string name = 1;
   3648   if (has_name()) {
   3649     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3650       this->name().data(), this->name().length(),
   3651       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3652       "name");
   3653     target =
   3654       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3655         1, this->name(), target);
   3656   }
   3657 
   3658   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3659   for (int i = 0; i < this->value_size(); i++) {
   3660     target = ::google::protobuf::internal::WireFormatLite::
   3661       WriteMessageNoVirtualToArray(
   3662         2, this->value(i), target);
   3663   }
   3664 
   3665   // optional .google.protobuf.EnumOptions options = 3;
   3666   if (has_options()) {
   3667     target = ::google::protobuf::internal::WireFormatLite::
   3668       WriteMessageNoVirtualToArray(
   3669         3, this->options(), target);
   3670   }
   3671 
   3672   if (!unknown_fields().empty()) {
   3673     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   3674         unknown_fields(), target);
   3675   }
   3676   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumDescriptorProto)
   3677   return target;
   3678 }
   3679 
   3680 int EnumDescriptorProto::ByteSize() const {
   3681   int total_size = 0;
   3682 
   3683   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3684     // optional string name = 1;
   3685     if (has_name()) {
   3686       total_size += 1 +
   3687         ::google::protobuf::internal::WireFormatLite::StringSize(
   3688           this->name());
   3689     }
   3690 
   3691     // optional .google.protobuf.EnumOptions options = 3;
   3692     if (has_options()) {
   3693       total_size += 1 +
   3694         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3695           this->options());
   3696     }
   3697 
   3698   }
   3699   // repeated .google.protobuf.EnumValueDescriptorProto value = 2;
   3700   total_size += 1 * this->value_size();
   3701   for (int i = 0; i < this->value_size(); i++) {
   3702     total_size +=
   3703       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   3704         this->value(i));
   3705   }
   3706 
   3707   if (!unknown_fields().empty()) {
   3708     total_size +=
   3709       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   3710         unknown_fields());
   3711   }
   3712   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3713   _cached_size_ = total_size;
   3714   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3715   return total_size;
   3716 }
   3717 
   3718 void EnumDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   3719   GOOGLE_CHECK_NE(&from, this);
   3720   const EnumDescriptorProto* source =
   3721     ::google::protobuf::internal::dynamic_cast_if_available<const EnumDescriptorProto*>(
   3722       &from);
   3723   if (source == NULL) {
   3724     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   3725   } else {
   3726     MergeFrom(*source);
   3727   }
   3728 }
   3729 
   3730 void EnumDescriptorProto::MergeFrom(const EnumDescriptorProto& from) {
   3731   GOOGLE_CHECK_NE(&from, this);
   3732   value_.MergeFrom(from.value_);
   3733   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   3734     if (from.has_name()) {
   3735       set_name(from.name());
   3736     }
   3737     if (from.has_options()) {
   3738       mutable_options()->::google::protobuf::EnumOptions::MergeFrom(from.options());
   3739     }
   3740   }
   3741   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   3742 }
   3743 
   3744 void EnumDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   3745   if (&from == this) return;
   3746   Clear();
   3747   MergeFrom(from);
   3748 }
   3749 
   3750 void EnumDescriptorProto::CopyFrom(const EnumDescriptorProto& from) {
   3751   if (&from == this) return;
   3752   Clear();
   3753   MergeFrom(from);
   3754 }
   3755 
   3756 bool EnumDescriptorProto::IsInitialized() const {
   3757 
   3758   if (!::google::protobuf::internal::AllAreInitialized(this->value())) return false;
   3759   if (has_options()) {
   3760     if (!this->options().IsInitialized()) return false;
   3761   }
   3762   return true;
   3763 }
   3764 
   3765 void EnumDescriptorProto::Swap(EnumDescriptorProto* other) {
   3766   if (other != this) {
   3767     std::swap(name_, other->name_);
   3768     value_.Swap(&other->value_);
   3769     std::swap(options_, other->options_);
   3770     std::swap(_has_bits_[0], other->_has_bits_[0]);
   3771     _unknown_fields_.Swap(&other->_unknown_fields_);
   3772     std::swap(_cached_size_, other->_cached_size_);
   3773   }
   3774 }
   3775 
   3776 ::google::protobuf::Metadata EnumDescriptorProto::GetMetadata() const {
   3777   protobuf_AssignDescriptorsOnce();
   3778   ::google::protobuf::Metadata metadata;
   3779   metadata.descriptor = EnumDescriptorProto_descriptor_;
   3780   metadata.reflection = EnumDescriptorProto_reflection_;
   3781   return metadata;
   3782 }
   3783 
   3784 
   3785 // ===================================================================
   3786 
   3787 #ifndef _MSC_VER
   3788 const int EnumValueDescriptorProto::kNameFieldNumber;
   3789 const int EnumValueDescriptorProto::kNumberFieldNumber;
   3790 const int EnumValueDescriptorProto::kOptionsFieldNumber;
   3791 #endif  // !_MSC_VER
   3792 
   3793 EnumValueDescriptorProto::EnumValueDescriptorProto()
   3794   : ::google::protobuf::Message() {
   3795   SharedCtor();
   3796   // @@protoc_insertion_point(constructor:google.protobuf.EnumValueDescriptorProto)
   3797 }
   3798 
   3799 void EnumValueDescriptorProto::InitAsDefaultInstance() {
   3800   options_ = const_cast< ::google::protobuf::EnumValueOptions*>(&::google::protobuf::EnumValueOptions::default_instance());
   3801 }
   3802 
   3803 EnumValueDescriptorProto::EnumValueDescriptorProto(const EnumValueDescriptorProto& from)
   3804   : ::google::protobuf::Message() {
   3805   SharedCtor();
   3806   MergeFrom(from);
   3807   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueDescriptorProto)
   3808 }
   3809 
   3810 void EnumValueDescriptorProto::SharedCtor() {
   3811   ::google::protobuf::internal::GetEmptyString();
   3812   _cached_size_ = 0;
   3813   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   3814   number_ = 0;
   3815   options_ = NULL;
   3816   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3817 }
   3818 
   3819 EnumValueDescriptorProto::~EnumValueDescriptorProto() {
   3820   // @@protoc_insertion_point(destructor:google.protobuf.EnumValueDescriptorProto)
   3821   SharedDtor();
   3822 }
   3823 
   3824 void EnumValueDescriptorProto::SharedDtor() {
   3825   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3826     delete name_;
   3827   }
   3828   if (this != default_instance_) {
   3829     delete options_;
   3830   }
   3831 }
   3832 
   3833 void EnumValueDescriptorProto::SetCachedSize(int size) const {
   3834   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   3835   _cached_size_ = size;
   3836   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   3837 }
   3838 const ::google::protobuf::Descriptor* EnumValueDescriptorProto::descriptor() {
   3839   protobuf_AssignDescriptorsOnce();
   3840   return EnumValueDescriptorProto_descriptor_;
   3841 }
   3842 
   3843 const EnumValueDescriptorProto& EnumValueDescriptorProto::default_instance() {
   3844   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   3845   return *default_instance_;
   3846 }
   3847 
   3848 EnumValueDescriptorProto* EnumValueDescriptorProto::default_instance_ = NULL;
   3849 
   3850 EnumValueDescriptorProto* EnumValueDescriptorProto::New() const {
   3851   return new EnumValueDescriptorProto;
   3852 }
   3853 
   3854 void EnumValueDescriptorProto::Clear() {
   3855   if (_has_bits_[0 / 32] & 7) {
   3856     if (has_name()) {
   3857       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   3858         name_->clear();
   3859       }
   3860     }
   3861     number_ = 0;
   3862     if (has_options()) {
   3863       if (options_ != NULL) options_->::google::protobuf::EnumValueOptions::Clear();
   3864     }
   3865   }
   3866   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   3867   mutable_unknown_fields()->Clear();
   3868 }
   3869 
   3870 bool EnumValueDescriptorProto::MergePartialFromCodedStream(
   3871     ::google::protobuf::io::CodedInputStream* input) {
   3872 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   3873   ::google::protobuf::uint32 tag;
   3874   // @@protoc_insertion_point(parse_start:google.protobuf.EnumValueDescriptorProto)
   3875   for (;;) {
   3876     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   3877     tag = p.first;
   3878     if (!p.second) goto handle_unusual;
   3879     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   3880       // optional string name = 1;
   3881       case 1: {
   3882         if (tag == 10) {
   3883           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   3884                 input, this->mutable_name()));
   3885           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3886             this->name().data(), this->name().length(),
   3887             ::google::protobuf::internal::WireFormat::PARSE,
   3888             "name");
   3889         } else {
   3890           goto handle_unusual;
   3891         }
   3892         if (input->ExpectTag(16)) goto parse_number;
   3893         break;
   3894       }
   3895 
   3896       // optional int32 number = 2;
   3897       case 2: {
   3898         if (tag == 16) {
   3899          parse_number:
   3900           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   3901                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   3902                  input, &number_)));
   3903           set_has_number();
   3904         } else {
   3905           goto handle_unusual;
   3906         }
   3907         if (input->ExpectTag(26)) goto parse_options;
   3908         break;
   3909       }
   3910 
   3911       // optional .google.protobuf.EnumValueOptions options = 3;
   3912       case 3: {
   3913         if (tag == 26) {
   3914          parse_options:
   3915           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   3916                input, mutable_options()));
   3917         } else {
   3918           goto handle_unusual;
   3919         }
   3920         if (input->ExpectAtEnd()) goto success;
   3921         break;
   3922       }
   3923 
   3924       default: {
   3925       handle_unusual:
   3926         if (tag == 0 ||
   3927             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   3928             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   3929           goto success;
   3930         }
   3931         DO_(::google::protobuf::internal::WireFormat::SkipField(
   3932               input, tag, mutable_unknown_fields()));
   3933         break;
   3934       }
   3935     }
   3936   }
   3937 success:
   3938   // @@protoc_insertion_point(parse_success:google.protobuf.EnumValueDescriptorProto)
   3939   return true;
   3940 failure:
   3941   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumValueDescriptorProto)
   3942   return false;
   3943 #undef DO_
   3944 }
   3945 
   3946 void EnumValueDescriptorProto::SerializeWithCachedSizes(
   3947     ::google::protobuf::io::CodedOutputStream* output) const {
   3948   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumValueDescriptorProto)
   3949   // optional string name = 1;
   3950   if (has_name()) {
   3951     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3952       this->name().data(), this->name().length(),
   3953       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3954       "name");
   3955     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   3956       1, this->name(), output);
   3957   }
   3958 
   3959   // optional int32 number = 2;
   3960   if (has_number()) {
   3961     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->number(), output);
   3962   }
   3963 
   3964   // optional .google.protobuf.EnumValueOptions options = 3;
   3965   if (has_options()) {
   3966     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   3967       3, this->options(), output);
   3968   }
   3969 
   3970   if (!unknown_fields().empty()) {
   3971     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   3972         unknown_fields(), output);
   3973   }
   3974   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValueDescriptorProto)
   3975 }
   3976 
   3977 ::google::protobuf::uint8* EnumValueDescriptorProto::SerializeWithCachedSizesToArray(
   3978     ::google::protobuf::uint8* target) const {
   3979   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueDescriptorProto)
   3980   // optional string name = 1;
   3981   if (has_name()) {
   3982     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   3983       this->name().data(), this->name().length(),
   3984       ::google::protobuf::internal::WireFormat::SERIALIZE,
   3985       "name");
   3986     target =
   3987       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   3988         1, this->name(), target);
   3989   }
   3990 
   3991   // optional int32 number = 2;
   3992   if (has_number()) {
   3993     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->number(), target);
   3994   }
   3995 
   3996   // optional .google.protobuf.EnumValueOptions options = 3;
   3997   if (has_options()) {
   3998     target = ::google::protobuf::internal::WireFormatLite::
   3999       WriteMessageNoVirtualToArray(
   4000         3, this->options(), target);
   4001   }
   4002 
   4003   if (!unknown_fields().empty()) {
   4004     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4005         unknown_fields(), target);
   4006   }
   4007   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueDescriptorProto)
   4008   return target;
   4009 }
   4010 
   4011 int EnumValueDescriptorProto::ByteSize() const {
   4012   int total_size = 0;
   4013 
   4014   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4015     // optional string name = 1;
   4016     if (has_name()) {
   4017       total_size += 1 +
   4018         ::google::protobuf::internal::WireFormatLite::StringSize(
   4019           this->name());
   4020     }
   4021 
   4022     // optional int32 number = 2;
   4023     if (has_number()) {
   4024       total_size += 1 +
   4025         ::google::protobuf::internal::WireFormatLite::Int32Size(
   4026           this->number());
   4027     }
   4028 
   4029     // optional .google.protobuf.EnumValueOptions options = 3;
   4030     if (has_options()) {
   4031       total_size += 1 +
   4032         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4033           this->options());
   4034     }
   4035 
   4036   }
   4037   if (!unknown_fields().empty()) {
   4038     total_size +=
   4039       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4040         unknown_fields());
   4041   }
   4042   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4043   _cached_size_ = total_size;
   4044   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4045   return total_size;
   4046 }
   4047 
   4048 void EnumValueDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4049   GOOGLE_CHECK_NE(&from, this);
   4050   const EnumValueDescriptorProto* source =
   4051     ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueDescriptorProto*>(
   4052       &from);
   4053   if (source == NULL) {
   4054     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4055   } else {
   4056     MergeFrom(*source);
   4057   }
   4058 }
   4059 
   4060 void EnumValueDescriptorProto::MergeFrom(const EnumValueDescriptorProto& from) {
   4061   GOOGLE_CHECK_NE(&from, this);
   4062   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4063     if (from.has_name()) {
   4064       set_name(from.name());
   4065     }
   4066     if (from.has_number()) {
   4067       set_number(from.number());
   4068     }
   4069     if (from.has_options()) {
   4070       mutable_options()->::google::protobuf::EnumValueOptions::MergeFrom(from.options());
   4071     }
   4072   }
   4073   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4074 }
   4075 
   4076 void EnumValueDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4077   if (&from == this) return;
   4078   Clear();
   4079   MergeFrom(from);
   4080 }
   4081 
   4082 void EnumValueDescriptorProto::CopyFrom(const EnumValueDescriptorProto& from) {
   4083   if (&from == this) return;
   4084   Clear();
   4085   MergeFrom(from);
   4086 }
   4087 
   4088 bool EnumValueDescriptorProto::IsInitialized() const {
   4089 
   4090   if (has_options()) {
   4091     if (!this->options().IsInitialized()) return false;
   4092   }
   4093   return true;
   4094 }
   4095 
   4096 void EnumValueDescriptorProto::Swap(EnumValueDescriptorProto* other) {
   4097   if (other != this) {
   4098     std::swap(name_, other->name_);
   4099     std::swap(number_, other->number_);
   4100     std::swap(options_, other->options_);
   4101     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4102     _unknown_fields_.Swap(&other->_unknown_fields_);
   4103     std::swap(_cached_size_, other->_cached_size_);
   4104   }
   4105 }
   4106 
   4107 ::google::protobuf::Metadata EnumValueDescriptorProto::GetMetadata() const {
   4108   protobuf_AssignDescriptorsOnce();
   4109   ::google::protobuf::Metadata metadata;
   4110   metadata.descriptor = EnumValueDescriptorProto_descriptor_;
   4111   metadata.reflection = EnumValueDescriptorProto_reflection_;
   4112   return metadata;
   4113 }
   4114 
   4115 
   4116 // ===================================================================
   4117 
   4118 #ifndef _MSC_VER
   4119 const int ServiceDescriptorProto::kNameFieldNumber;
   4120 const int ServiceDescriptorProto::kMethodFieldNumber;
   4121 const int ServiceDescriptorProto::kOptionsFieldNumber;
   4122 #endif  // !_MSC_VER
   4123 
   4124 ServiceDescriptorProto::ServiceDescriptorProto()
   4125   : ::google::protobuf::Message() {
   4126   SharedCtor();
   4127   // @@protoc_insertion_point(constructor:google.protobuf.ServiceDescriptorProto)
   4128 }
   4129 
   4130 void ServiceDescriptorProto::InitAsDefaultInstance() {
   4131   options_ = const_cast< ::google::protobuf::ServiceOptions*>(&::google::protobuf::ServiceOptions::default_instance());
   4132 }
   4133 
   4134 ServiceDescriptorProto::ServiceDescriptorProto(const ServiceDescriptorProto& from)
   4135   : ::google::protobuf::Message() {
   4136   SharedCtor();
   4137   MergeFrom(from);
   4138   // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceDescriptorProto)
   4139 }
   4140 
   4141 void ServiceDescriptorProto::SharedCtor() {
   4142   ::google::protobuf::internal::GetEmptyString();
   4143   _cached_size_ = 0;
   4144   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4145   options_ = NULL;
   4146   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4147 }
   4148 
   4149 ServiceDescriptorProto::~ServiceDescriptorProto() {
   4150   // @@protoc_insertion_point(destructor:google.protobuf.ServiceDescriptorProto)
   4151   SharedDtor();
   4152 }
   4153 
   4154 void ServiceDescriptorProto::SharedDtor() {
   4155   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4156     delete name_;
   4157   }
   4158   if (this != default_instance_) {
   4159     delete options_;
   4160   }
   4161 }
   4162 
   4163 void ServiceDescriptorProto::SetCachedSize(int size) const {
   4164   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4165   _cached_size_ = size;
   4166   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4167 }
   4168 const ::google::protobuf::Descriptor* ServiceDescriptorProto::descriptor() {
   4169   protobuf_AssignDescriptorsOnce();
   4170   return ServiceDescriptorProto_descriptor_;
   4171 }
   4172 
   4173 const ServiceDescriptorProto& ServiceDescriptorProto::default_instance() {
   4174   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4175   return *default_instance_;
   4176 }
   4177 
   4178 ServiceDescriptorProto* ServiceDescriptorProto::default_instance_ = NULL;
   4179 
   4180 ServiceDescriptorProto* ServiceDescriptorProto::New() const {
   4181   return new ServiceDescriptorProto;
   4182 }
   4183 
   4184 void ServiceDescriptorProto::Clear() {
   4185   if (_has_bits_[0 / 32] & 5) {
   4186     if (has_name()) {
   4187       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4188         name_->clear();
   4189       }
   4190     }
   4191     if (has_options()) {
   4192       if (options_ != NULL) options_->::google::protobuf::ServiceOptions::Clear();
   4193     }
   4194   }
   4195   method_.Clear();
   4196   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4197   mutable_unknown_fields()->Clear();
   4198 }
   4199 
   4200 bool ServiceDescriptorProto::MergePartialFromCodedStream(
   4201     ::google::protobuf::io::CodedInputStream* input) {
   4202 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   4203   ::google::protobuf::uint32 tag;
   4204   // @@protoc_insertion_point(parse_start:google.protobuf.ServiceDescriptorProto)
   4205   for (;;) {
   4206     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   4207     tag = p.first;
   4208     if (!p.second) goto handle_unusual;
   4209     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4210       // optional string name = 1;
   4211       case 1: {
   4212         if (tag == 10) {
   4213           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4214                 input, this->mutable_name()));
   4215           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4216             this->name().data(), this->name().length(),
   4217             ::google::protobuf::internal::WireFormat::PARSE,
   4218             "name");
   4219         } else {
   4220           goto handle_unusual;
   4221         }
   4222         if (input->ExpectTag(18)) goto parse_method;
   4223         break;
   4224       }
   4225 
   4226       // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4227       case 2: {
   4228         if (tag == 18) {
   4229          parse_method:
   4230           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4231                 input, add_method()));
   4232         } else {
   4233           goto handle_unusual;
   4234         }
   4235         if (input->ExpectTag(18)) goto parse_method;
   4236         if (input->ExpectTag(26)) goto parse_options;
   4237         break;
   4238       }
   4239 
   4240       // optional .google.protobuf.ServiceOptions options = 3;
   4241       case 3: {
   4242         if (tag == 26) {
   4243          parse_options:
   4244           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4245                input, mutable_options()));
   4246         } else {
   4247           goto handle_unusual;
   4248         }
   4249         if (input->ExpectAtEnd()) goto success;
   4250         break;
   4251       }
   4252 
   4253       default: {
   4254       handle_unusual:
   4255         if (tag == 0 ||
   4256             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4257             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4258           goto success;
   4259         }
   4260         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4261               input, tag, mutable_unknown_fields()));
   4262         break;
   4263       }
   4264     }
   4265   }
   4266 success:
   4267   // @@protoc_insertion_point(parse_success:google.protobuf.ServiceDescriptorProto)
   4268   return true;
   4269 failure:
   4270   // @@protoc_insertion_point(parse_failure:google.protobuf.ServiceDescriptorProto)
   4271   return false;
   4272 #undef DO_
   4273 }
   4274 
   4275 void ServiceDescriptorProto::SerializeWithCachedSizes(
   4276     ::google::protobuf::io::CodedOutputStream* output) const {
   4277   // @@protoc_insertion_point(serialize_start:google.protobuf.ServiceDescriptorProto)
   4278   // optional string name = 1;
   4279   if (has_name()) {
   4280     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4281       this->name().data(), this->name().length(),
   4282       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4283       "name");
   4284     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4285       1, this->name(), output);
   4286   }
   4287 
   4288   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4289   for (int i = 0; i < this->method_size(); i++) {
   4290     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4291       2, this->method(i), output);
   4292   }
   4293 
   4294   // optional .google.protobuf.ServiceOptions options = 3;
   4295   if (has_options()) {
   4296     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4297       3, this->options(), output);
   4298   }
   4299 
   4300   if (!unknown_fields().empty()) {
   4301     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4302         unknown_fields(), output);
   4303   }
   4304   // @@protoc_insertion_point(serialize_end:google.protobuf.ServiceDescriptorProto)
   4305 }
   4306 
   4307 ::google::protobuf::uint8* ServiceDescriptorProto::SerializeWithCachedSizesToArray(
   4308     ::google::protobuf::uint8* target) const {
   4309   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceDescriptorProto)
   4310   // optional string name = 1;
   4311   if (has_name()) {
   4312     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4313       this->name().data(), this->name().length(),
   4314       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4315       "name");
   4316     target =
   4317       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4318         1, this->name(), target);
   4319   }
   4320 
   4321   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4322   for (int i = 0; i < this->method_size(); i++) {
   4323     target = ::google::protobuf::internal::WireFormatLite::
   4324       WriteMessageNoVirtualToArray(
   4325         2, this->method(i), target);
   4326   }
   4327 
   4328   // optional .google.protobuf.ServiceOptions options = 3;
   4329   if (has_options()) {
   4330     target = ::google::protobuf::internal::WireFormatLite::
   4331       WriteMessageNoVirtualToArray(
   4332         3, this->options(), target);
   4333   }
   4334 
   4335   if (!unknown_fields().empty()) {
   4336     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4337         unknown_fields(), target);
   4338   }
   4339   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceDescriptorProto)
   4340   return target;
   4341 }
   4342 
   4343 int ServiceDescriptorProto::ByteSize() const {
   4344   int total_size = 0;
   4345 
   4346   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4347     // optional string name = 1;
   4348     if (has_name()) {
   4349       total_size += 1 +
   4350         ::google::protobuf::internal::WireFormatLite::StringSize(
   4351           this->name());
   4352     }
   4353 
   4354     // optional .google.protobuf.ServiceOptions options = 3;
   4355     if (has_options()) {
   4356       total_size += 1 +
   4357         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4358           this->options());
   4359     }
   4360 
   4361   }
   4362   // repeated .google.protobuf.MethodDescriptorProto method = 2;
   4363   total_size += 1 * this->method_size();
   4364   for (int i = 0; i < this->method_size(); i++) {
   4365     total_size +=
   4366       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4367         this->method(i));
   4368   }
   4369 
   4370   if (!unknown_fields().empty()) {
   4371     total_size +=
   4372       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4373         unknown_fields());
   4374   }
   4375   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4376   _cached_size_ = total_size;
   4377   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4378   return total_size;
   4379 }
   4380 
   4381 void ServiceDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4382   GOOGLE_CHECK_NE(&from, this);
   4383   const ServiceDescriptorProto* source =
   4384     ::google::protobuf::internal::dynamic_cast_if_available<const ServiceDescriptorProto*>(
   4385       &from);
   4386   if (source == NULL) {
   4387     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4388   } else {
   4389     MergeFrom(*source);
   4390   }
   4391 }
   4392 
   4393 void ServiceDescriptorProto::MergeFrom(const ServiceDescriptorProto& from) {
   4394   GOOGLE_CHECK_NE(&from, this);
   4395   method_.MergeFrom(from.method_);
   4396   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4397     if (from.has_name()) {
   4398       set_name(from.name());
   4399     }
   4400     if (from.has_options()) {
   4401       mutable_options()->::google::protobuf::ServiceOptions::MergeFrom(from.options());
   4402     }
   4403   }
   4404   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4405 }
   4406 
   4407 void ServiceDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4408   if (&from == this) return;
   4409   Clear();
   4410   MergeFrom(from);
   4411 }
   4412 
   4413 void ServiceDescriptorProto::CopyFrom(const ServiceDescriptorProto& from) {
   4414   if (&from == this) return;
   4415   Clear();
   4416   MergeFrom(from);
   4417 }
   4418 
   4419 bool ServiceDescriptorProto::IsInitialized() const {
   4420 
   4421   if (!::google::protobuf::internal::AllAreInitialized(this->method())) return false;
   4422   if (has_options()) {
   4423     if (!this->options().IsInitialized()) return false;
   4424   }
   4425   return true;
   4426 }
   4427 
   4428 void ServiceDescriptorProto::Swap(ServiceDescriptorProto* other) {
   4429   if (other != this) {
   4430     std::swap(name_, other->name_);
   4431     method_.Swap(&other->method_);
   4432     std::swap(options_, other->options_);
   4433     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4434     _unknown_fields_.Swap(&other->_unknown_fields_);
   4435     std::swap(_cached_size_, other->_cached_size_);
   4436   }
   4437 }
   4438 
   4439 ::google::protobuf::Metadata ServiceDescriptorProto::GetMetadata() const {
   4440   protobuf_AssignDescriptorsOnce();
   4441   ::google::protobuf::Metadata metadata;
   4442   metadata.descriptor = ServiceDescriptorProto_descriptor_;
   4443   metadata.reflection = ServiceDescriptorProto_reflection_;
   4444   return metadata;
   4445 }
   4446 
   4447 
   4448 // ===================================================================
   4449 
   4450 #ifndef _MSC_VER
   4451 const int MethodDescriptorProto::kNameFieldNumber;
   4452 const int MethodDescriptorProto::kInputTypeFieldNumber;
   4453 const int MethodDescriptorProto::kOutputTypeFieldNumber;
   4454 const int MethodDescriptorProto::kOptionsFieldNumber;
   4455 #endif  // !_MSC_VER
   4456 
   4457 MethodDescriptorProto::MethodDescriptorProto()
   4458   : ::google::protobuf::Message() {
   4459   SharedCtor();
   4460   // @@protoc_insertion_point(constructor:google.protobuf.MethodDescriptorProto)
   4461 }
   4462 
   4463 void MethodDescriptorProto::InitAsDefaultInstance() {
   4464   options_ = const_cast< ::google::protobuf::MethodOptions*>(&::google::protobuf::MethodOptions::default_instance());
   4465 }
   4466 
   4467 MethodDescriptorProto::MethodDescriptorProto(const MethodDescriptorProto& from)
   4468   : ::google::protobuf::Message() {
   4469   SharedCtor();
   4470   MergeFrom(from);
   4471   // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodDescriptorProto)
   4472 }
   4473 
   4474 void MethodDescriptorProto::SharedCtor() {
   4475   ::google::protobuf::internal::GetEmptyString();
   4476   _cached_size_ = 0;
   4477   name_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4478   input_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4479   output_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4480   options_ = NULL;
   4481   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4482 }
   4483 
   4484 MethodDescriptorProto::~MethodDescriptorProto() {
   4485   // @@protoc_insertion_point(destructor:google.protobuf.MethodDescriptorProto)
   4486   SharedDtor();
   4487 }
   4488 
   4489 void MethodDescriptorProto::SharedDtor() {
   4490   if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4491     delete name_;
   4492   }
   4493   if (input_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4494     delete input_type_;
   4495   }
   4496   if (output_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4497     delete output_type_;
   4498   }
   4499   if (this != default_instance_) {
   4500     delete options_;
   4501   }
   4502 }
   4503 
   4504 void MethodDescriptorProto::SetCachedSize(int size) const {
   4505   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4506   _cached_size_ = size;
   4507   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4508 }
   4509 const ::google::protobuf::Descriptor* MethodDescriptorProto::descriptor() {
   4510   protobuf_AssignDescriptorsOnce();
   4511   return MethodDescriptorProto_descriptor_;
   4512 }
   4513 
   4514 const MethodDescriptorProto& MethodDescriptorProto::default_instance() {
   4515   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4516   return *default_instance_;
   4517 }
   4518 
   4519 MethodDescriptorProto* MethodDescriptorProto::default_instance_ = NULL;
   4520 
   4521 MethodDescriptorProto* MethodDescriptorProto::New() const {
   4522   return new MethodDescriptorProto;
   4523 }
   4524 
   4525 void MethodDescriptorProto::Clear() {
   4526   if (_has_bits_[0 / 32] & 15) {
   4527     if (has_name()) {
   4528       if (name_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4529         name_->clear();
   4530       }
   4531     }
   4532     if (has_input_type()) {
   4533       if (input_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4534         input_type_->clear();
   4535       }
   4536     }
   4537     if (has_output_type()) {
   4538       if (output_type_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4539         output_type_->clear();
   4540       }
   4541     }
   4542     if (has_options()) {
   4543       if (options_ != NULL) options_->::google::protobuf::MethodOptions::Clear();
   4544     }
   4545   }
   4546   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4547   mutable_unknown_fields()->Clear();
   4548 }
   4549 
   4550 bool MethodDescriptorProto::MergePartialFromCodedStream(
   4551     ::google::protobuf::io::CodedInputStream* input) {
   4552 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   4553   ::google::protobuf::uint32 tag;
   4554   // @@protoc_insertion_point(parse_start:google.protobuf.MethodDescriptorProto)
   4555   for (;;) {
   4556     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   4557     tag = p.first;
   4558     if (!p.second) goto handle_unusual;
   4559     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   4560       // optional string name = 1;
   4561       case 1: {
   4562         if (tag == 10) {
   4563           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4564                 input, this->mutable_name()));
   4565           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4566             this->name().data(), this->name().length(),
   4567             ::google::protobuf::internal::WireFormat::PARSE,
   4568             "name");
   4569         } else {
   4570           goto handle_unusual;
   4571         }
   4572         if (input->ExpectTag(18)) goto parse_input_type;
   4573         break;
   4574       }
   4575 
   4576       // optional string input_type = 2;
   4577       case 2: {
   4578         if (tag == 18) {
   4579          parse_input_type:
   4580           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4581                 input, this->mutable_input_type()));
   4582           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4583             this->input_type().data(), this->input_type().length(),
   4584             ::google::protobuf::internal::WireFormat::PARSE,
   4585             "input_type");
   4586         } else {
   4587           goto handle_unusual;
   4588         }
   4589         if (input->ExpectTag(26)) goto parse_output_type;
   4590         break;
   4591       }
   4592 
   4593       // optional string output_type = 3;
   4594       case 3: {
   4595         if (tag == 26) {
   4596          parse_output_type:
   4597           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   4598                 input, this->mutable_output_type()));
   4599           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4600             this->output_type().data(), this->output_type().length(),
   4601             ::google::protobuf::internal::WireFormat::PARSE,
   4602             "output_type");
   4603         } else {
   4604           goto handle_unusual;
   4605         }
   4606         if (input->ExpectTag(34)) goto parse_options;
   4607         break;
   4608       }
   4609 
   4610       // optional .google.protobuf.MethodOptions options = 4;
   4611       case 4: {
   4612         if (tag == 34) {
   4613          parse_options:
   4614           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   4615                input, mutable_options()));
   4616         } else {
   4617           goto handle_unusual;
   4618         }
   4619         if (input->ExpectAtEnd()) goto success;
   4620         break;
   4621       }
   4622 
   4623       default: {
   4624       handle_unusual:
   4625         if (tag == 0 ||
   4626             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   4627             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   4628           goto success;
   4629         }
   4630         DO_(::google::protobuf::internal::WireFormat::SkipField(
   4631               input, tag, mutable_unknown_fields()));
   4632         break;
   4633       }
   4634     }
   4635   }
   4636 success:
   4637   // @@protoc_insertion_point(parse_success:google.protobuf.MethodDescriptorProto)
   4638   return true;
   4639 failure:
   4640   // @@protoc_insertion_point(parse_failure:google.protobuf.MethodDescriptorProto)
   4641   return false;
   4642 #undef DO_
   4643 }
   4644 
   4645 void MethodDescriptorProto::SerializeWithCachedSizes(
   4646     ::google::protobuf::io::CodedOutputStream* output) const {
   4647   // @@protoc_insertion_point(serialize_start:google.protobuf.MethodDescriptorProto)
   4648   // optional string name = 1;
   4649   if (has_name()) {
   4650     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4651       this->name().data(), this->name().length(),
   4652       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4653       "name");
   4654     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4655       1, this->name(), output);
   4656   }
   4657 
   4658   // optional string input_type = 2;
   4659   if (has_input_type()) {
   4660     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4661       this->input_type().data(), this->input_type().length(),
   4662       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4663       "input_type");
   4664     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4665       2, this->input_type(), output);
   4666   }
   4667 
   4668   // optional string output_type = 3;
   4669   if (has_output_type()) {
   4670     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4671       this->output_type().data(), this->output_type().length(),
   4672       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4673       "output_type");
   4674     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   4675       3, this->output_type(), output);
   4676   }
   4677 
   4678   // optional .google.protobuf.MethodOptions options = 4;
   4679   if (has_options()) {
   4680     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   4681       4, this->options(), output);
   4682   }
   4683 
   4684   if (!unknown_fields().empty()) {
   4685     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   4686         unknown_fields(), output);
   4687   }
   4688   // @@protoc_insertion_point(serialize_end:google.protobuf.MethodDescriptorProto)
   4689 }
   4690 
   4691 ::google::protobuf::uint8* MethodDescriptorProto::SerializeWithCachedSizesToArray(
   4692     ::google::protobuf::uint8* target) const {
   4693   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodDescriptorProto)
   4694   // optional string name = 1;
   4695   if (has_name()) {
   4696     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4697       this->name().data(), this->name().length(),
   4698       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4699       "name");
   4700     target =
   4701       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4702         1, this->name(), target);
   4703   }
   4704 
   4705   // optional string input_type = 2;
   4706   if (has_input_type()) {
   4707     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4708       this->input_type().data(), this->input_type().length(),
   4709       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4710       "input_type");
   4711     target =
   4712       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4713         2, this->input_type(), target);
   4714   }
   4715 
   4716   // optional string output_type = 3;
   4717   if (has_output_type()) {
   4718     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   4719       this->output_type().data(), this->output_type().length(),
   4720       ::google::protobuf::internal::WireFormat::SERIALIZE,
   4721       "output_type");
   4722     target =
   4723       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   4724         3, this->output_type(), target);
   4725   }
   4726 
   4727   // optional .google.protobuf.MethodOptions options = 4;
   4728   if (has_options()) {
   4729     target = ::google::protobuf::internal::WireFormatLite::
   4730       WriteMessageNoVirtualToArray(
   4731         4, this->options(), target);
   4732   }
   4733 
   4734   if (!unknown_fields().empty()) {
   4735     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   4736         unknown_fields(), target);
   4737   }
   4738   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodDescriptorProto)
   4739   return target;
   4740 }
   4741 
   4742 int MethodDescriptorProto::ByteSize() const {
   4743   int total_size = 0;
   4744 
   4745   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4746     // optional string name = 1;
   4747     if (has_name()) {
   4748       total_size += 1 +
   4749         ::google::protobuf::internal::WireFormatLite::StringSize(
   4750           this->name());
   4751     }
   4752 
   4753     // optional string input_type = 2;
   4754     if (has_input_type()) {
   4755       total_size += 1 +
   4756         ::google::protobuf::internal::WireFormatLite::StringSize(
   4757           this->input_type());
   4758     }
   4759 
   4760     // optional string output_type = 3;
   4761     if (has_output_type()) {
   4762       total_size += 1 +
   4763         ::google::protobuf::internal::WireFormatLite::StringSize(
   4764           this->output_type());
   4765     }
   4766 
   4767     // optional .google.protobuf.MethodOptions options = 4;
   4768     if (has_options()) {
   4769       total_size += 1 +
   4770         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   4771           this->options());
   4772     }
   4773 
   4774   }
   4775   if (!unknown_fields().empty()) {
   4776     total_size +=
   4777       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   4778         unknown_fields());
   4779   }
   4780   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4781   _cached_size_ = total_size;
   4782   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4783   return total_size;
   4784 }
   4785 
   4786 void MethodDescriptorProto::MergeFrom(const ::google::protobuf::Message& from) {
   4787   GOOGLE_CHECK_NE(&from, this);
   4788   const MethodDescriptorProto* source =
   4789     ::google::protobuf::internal::dynamic_cast_if_available<const MethodDescriptorProto*>(
   4790       &from);
   4791   if (source == NULL) {
   4792     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   4793   } else {
   4794     MergeFrom(*source);
   4795   }
   4796 }
   4797 
   4798 void MethodDescriptorProto::MergeFrom(const MethodDescriptorProto& from) {
   4799   GOOGLE_CHECK_NE(&from, this);
   4800   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   4801     if (from.has_name()) {
   4802       set_name(from.name());
   4803     }
   4804     if (from.has_input_type()) {
   4805       set_input_type(from.input_type());
   4806     }
   4807     if (from.has_output_type()) {
   4808       set_output_type(from.output_type());
   4809     }
   4810     if (from.has_options()) {
   4811       mutable_options()->::google::protobuf::MethodOptions::MergeFrom(from.options());
   4812     }
   4813   }
   4814   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   4815 }
   4816 
   4817 void MethodDescriptorProto::CopyFrom(const ::google::protobuf::Message& from) {
   4818   if (&from == this) return;
   4819   Clear();
   4820   MergeFrom(from);
   4821 }
   4822 
   4823 void MethodDescriptorProto::CopyFrom(const MethodDescriptorProto& from) {
   4824   if (&from == this) return;
   4825   Clear();
   4826   MergeFrom(from);
   4827 }
   4828 
   4829 bool MethodDescriptorProto::IsInitialized() const {
   4830 
   4831   if (has_options()) {
   4832     if (!this->options().IsInitialized()) return false;
   4833   }
   4834   return true;
   4835 }
   4836 
   4837 void MethodDescriptorProto::Swap(MethodDescriptorProto* other) {
   4838   if (other != this) {
   4839     std::swap(name_, other->name_);
   4840     std::swap(input_type_, other->input_type_);
   4841     std::swap(output_type_, other->output_type_);
   4842     std::swap(options_, other->options_);
   4843     std::swap(_has_bits_[0], other->_has_bits_[0]);
   4844     _unknown_fields_.Swap(&other->_unknown_fields_);
   4845     std::swap(_cached_size_, other->_cached_size_);
   4846   }
   4847 }
   4848 
   4849 ::google::protobuf::Metadata MethodDescriptorProto::GetMetadata() const {
   4850   protobuf_AssignDescriptorsOnce();
   4851   ::google::protobuf::Metadata metadata;
   4852   metadata.descriptor = MethodDescriptorProto_descriptor_;
   4853   metadata.reflection = MethodDescriptorProto_reflection_;
   4854   return metadata;
   4855 }
   4856 
   4857 
   4858 // ===================================================================
   4859 
   4860 const ::google::protobuf::EnumDescriptor* FileOptions_OptimizeMode_descriptor() {
   4861   protobuf_AssignDescriptorsOnce();
   4862   return FileOptions_OptimizeMode_descriptor_;
   4863 }
   4864 bool FileOptions_OptimizeMode_IsValid(int value) {
   4865   switch(value) {
   4866     case 1:
   4867     case 2:
   4868     case 3:
   4869       return true;
   4870     default:
   4871       return false;
   4872   }
   4873 }
   4874 
   4875 #ifndef _MSC_VER
   4876 const FileOptions_OptimizeMode FileOptions::SPEED;
   4877 const FileOptions_OptimizeMode FileOptions::CODE_SIZE;
   4878 const FileOptions_OptimizeMode FileOptions::LITE_RUNTIME;
   4879 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MIN;
   4880 const FileOptions_OptimizeMode FileOptions::OptimizeMode_MAX;
   4881 const int FileOptions::OptimizeMode_ARRAYSIZE;
   4882 #endif  // _MSC_VER
   4883 #ifndef _MSC_VER
   4884 const int FileOptions::kJavaPackageFieldNumber;
   4885 const int FileOptions::kJavaOuterClassnameFieldNumber;
   4886 const int FileOptions::kJavaMultipleFilesFieldNumber;
   4887 const int FileOptions::kJavaGenerateEqualsAndHashFieldNumber;
   4888 const int FileOptions::kJavaStringCheckUtf8FieldNumber;
   4889 const int FileOptions::kOptimizeForFieldNumber;
   4890 const int FileOptions::kGoPackageFieldNumber;
   4891 const int FileOptions::kCcGenericServicesFieldNumber;
   4892 const int FileOptions::kJavaGenericServicesFieldNumber;
   4893 const int FileOptions::kPyGenericServicesFieldNumber;
   4894 const int FileOptions::kDeprecatedFieldNumber;
   4895 const int FileOptions::kJavananoUseDeprecatedPackageFieldNumber;
   4896 const int FileOptions::kUninterpretedOptionFieldNumber;
   4897 #endif  // !_MSC_VER
   4898 
   4899 FileOptions::FileOptions()
   4900   : ::google::protobuf::Message() {
   4901   SharedCtor();
   4902   // @@protoc_insertion_point(constructor:google.protobuf.FileOptions)
   4903 }
   4904 
   4905 void FileOptions::InitAsDefaultInstance() {
   4906 }
   4907 
   4908 FileOptions::FileOptions(const FileOptions& from)
   4909   : ::google::protobuf::Message() {
   4910   SharedCtor();
   4911   MergeFrom(from);
   4912   // @@protoc_insertion_point(copy_constructor:google.protobuf.FileOptions)
   4913 }
   4914 
   4915 void FileOptions::SharedCtor() {
   4916   ::google::protobuf::internal::GetEmptyString();
   4917   _cached_size_ = 0;
   4918   java_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4919   java_outer_classname_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4920   java_multiple_files_ = false;
   4921   java_generate_equals_and_hash_ = false;
   4922   java_string_check_utf8_ = false;
   4923   optimize_for_ = 1;
   4924   go_package_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   4925   cc_generic_services_ = false;
   4926   java_generic_services_ = false;
   4927   py_generic_services_ = false;
   4928   deprecated_ = false;
   4929   javanano_use_deprecated_package_ = false;
   4930   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   4931 }
   4932 
   4933 FileOptions::~FileOptions() {
   4934   // @@protoc_insertion_point(destructor:google.protobuf.FileOptions)
   4935   SharedDtor();
   4936 }
   4937 
   4938 void FileOptions::SharedDtor() {
   4939   if (java_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4940     delete java_package_;
   4941   }
   4942   if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4943     delete java_outer_classname_;
   4944   }
   4945   if (go_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4946     delete go_package_;
   4947   }
   4948   if (this != default_instance_) {
   4949   }
   4950 }
   4951 
   4952 void FileOptions::SetCachedSize(int size) const {
   4953   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   4954   _cached_size_ = size;
   4955   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   4956 }
   4957 const ::google::protobuf::Descriptor* FileOptions::descriptor() {
   4958   protobuf_AssignDescriptorsOnce();
   4959   return FileOptions_descriptor_;
   4960 }
   4961 
   4962 const FileOptions& FileOptions::default_instance() {
   4963   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   4964   return *default_instance_;
   4965 }
   4966 
   4967 FileOptions* FileOptions::default_instance_ = NULL;
   4968 
   4969 FileOptions* FileOptions::New() const {
   4970   return new FileOptions;
   4971 }
   4972 
   4973 void FileOptions::Clear() {
   4974   _extensions_.Clear();
   4975 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   4976   &reinterpret_cast<FileOptions*>(16)->f) - \
   4977    reinterpret_cast<char*>(16))
   4978 
   4979 #define ZR_(first, last) do {                              \
   4980     size_t f = OFFSET_OF_FIELD_(first);                    \
   4981     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   4982     ::memset(&first, 0, n);                                \
   4983   } while (0)
   4984 
   4985   if (_has_bits_[0 / 32] & 255) {
   4986     ZR_(java_multiple_files_, cc_generic_services_);
   4987     if (has_java_package()) {
   4988       if (java_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4989         java_package_->clear();
   4990       }
   4991     }
   4992     if (has_java_outer_classname()) {
   4993       if (java_outer_classname_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   4994         java_outer_classname_->clear();
   4995       }
   4996     }
   4997     optimize_for_ = 1;
   4998     if (has_go_package()) {
   4999       if (go_package_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   5000         go_package_->clear();
   5001       }
   5002     }
   5003   }
   5004   ZR_(java_generic_services_, javanano_use_deprecated_package_);
   5005 
   5006 #undef OFFSET_OF_FIELD_
   5007 #undef ZR_
   5008 
   5009   uninterpreted_option_.Clear();
   5010   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5011   mutable_unknown_fields()->Clear();
   5012 }
   5013 
   5014 bool FileOptions::MergePartialFromCodedStream(
   5015     ::google::protobuf::io::CodedInputStream* input) {
   5016 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   5017   ::google::protobuf::uint32 tag;
   5018   // @@protoc_insertion_point(parse_start:google.protobuf.FileOptions)
   5019   for (;;) {
   5020     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   5021     tag = p.first;
   5022     if (!p.second) goto handle_unusual;
   5023     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5024       // optional string java_package = 1;
   5025       case 1: {
   5026         if (tag == 10) {
   5027           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5028                 input, this->mutable_java_package()));
   5029           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5030             this->java_package().data(), this->java_package().length(),
   5031             ::google::protobuf::internal::WireFormat::PARSE,
   5032             "java_package");
   5033         } else {
   5034           goto handle_unusual;
   5035         }
   5036         if (input->ExpectTag(66)) goto parse_java_outer_classname;
   5037         break;
   5038       }
   5039 
   5040       // optional string java_outer_classname = 8;
   5041       case 8: {
   5042         if (tag == 66) {
   5043          parse_java_outer_classname:
   5044           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5045                 input, this->mutable_java_outer_classname()));
   5046           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5047             this->java_outer_classname().data(), this->java_outer_classname().length(),
   5048             ::google::protobuf::internal::WireFormat::PARSE,
   5049             "java_outer_classname");
   5050         } else {
   5051           goto handle_unusual;
   5052         }
   5053         if (input->ExpectTag(72)) goto parse_optimize_for;
   5054         break;
   5055       }
   5056 
   5057       // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5058       case 9: {
   5059         if (tag == 72) {
   5060          parse_optimize_for:
   5061           int value;
   5062           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5063                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   5064                  input, &value)));
   5065           if (::google::protobuf::FileOptions_OptimizeMode_IsValid(value)) {
   5066             set_optimize_for(static_cast< ::google::protobuf::FileOptions_OptimizeMode >(value));
   5067           } else {
   5068             mutable_unknown_fields()->AddVarint(9, value);
   5069           }
   5070         } else {
   5071           goto handle_unusual;
   5072         }
   5073         if (input->ExpectTag(80)) goto parse_java_multiple_files;
   5074         break;
   5075       }
   5076 
   5077       // optional bool java_multiple_files = 10 [default = false];
   5078       case 10: {
   5079         if (tag == 80) {
   5080          parse_java_multiple_files:
   5081           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5082                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5083                  input, &java_multiple_files_)));
   5084           set_has_java_multiple_files();
   5085         } else {
   5086           goto handle_unusual;
   5087         }
   5088         if (input->ExpectTag(90)) goto parse_go_package;
   5089         break;
   5090       }
   5091 
   5092       // optional string go_package = 11;
   5093       case 11: {
   5094         if (tag == 90) {
   5095          parse_go_package:
   5096           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   5097                 input, this->mutable_go_package()));
   5098           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5099             this->go_package().data(), this->go_package().length(),
   5100             ::google::protobuf::internal::WireFormat::PARSE,
   5101             "go_package");
   5102         } else {
   5103           goto handle_unusual;
   5104         }
   5105         if (input->ExpectTag(128)) goto parse_cc_generic_services;
   5106         break;
   5107       }
   5108 
   5109       // optional bool cc_generic_services = 16 [default = false];
   5110       case 16: {
   5111         if (tag == 128) {
   5112          parse_cc_generic_services:
   5113           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5114                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5115                  input, &cc_generic_services_)));
   5116           set_has_cc_generic_services();
   5117         } else {
   5118           goto handle_unusual;
   5119         }
   5120         if (input->ExpectTag(136)) goto parse_java_generic_services;
   5121         break;
   5122       }
   5123 
   5124       // optional bool java_generic_services = 17 [default = false];
   5125       case 17: {
   5126         if (tag == 136) {
   5127          parse_java_generic_services:
   5128           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5129                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5130                  input, &java_generic_services_)));
   5131           set_has_java_generic_services();
   5132         } else {
   5133           goto handle_unusual;
   5134         }
   5135         if (input->ExpectTag(144)) goto parse_py_generic_services;
   5136         break;
   5137       }
   5138 
   5139       // optional bool py_generic_services = 18 [default = false];
   5140       case 18: {
   5141         if (tag == 144) {
   5142          parse_py_generic_services:
   5143           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5144                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5145                  input, &py_generic_services_)));
   5146           set_has_py_generic_services();
   5147         } else {
   5148           goto handle_unusual;
   5149         }
   5150         if (input->ExpectTag(160)) goto parse_java_generate_equals_and_hash;
   5151         break;
   5152       }
   5153 
   5154       // optional bool java_generate_equals_and_hash = 20 [default = false];
   5155       case 20: {
   5156         if (tag == 160) {
   5157          parse_java_generate_equals_and_hash:
   5158           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5159                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5160                  input, &java_generate_equals_and_hash_)));
   5161           set_has_java_generate_equals_and_hash();
   5162         } else {
   5163           goto handle_unusual;
   5164         }
   5165         if (input->ExpectTag(184)) goto parse_deprecated;
   5166         break;
   5167       }
   5168 
   5169       // optional bool deprecated = 23 [default = false];
   5170       case 23: {
   5171         if (tag == 184) {
   5172          parse_deprecated:
   5173           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5174                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5175                  input, &deprecated_)));
   5176           set_has_deprecated();
   5177         } else {
   5178           goto handle_unusual;
   5179         }
   5180         if (input->ExpectTag(216)) goto parse_java_string_check_utf8;
   5181         break;
   5182       }
   5183 
   5184       // optional bool java_string_check_utf8 = 27 [default = false];
   5185       case 27: {
   5186         if (tag == 216) {
   5187          parse_java_string_check_utf8:
   5188           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5189                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5190                  input, &java_string_check_utf8_)));
   5191           set_has_java_string_check_utf8();
   5192         } else {
   5193           goto handle_unusual;
   5194         }
   5195         if (input->ExpectTag(304)) goto parse_javanano_use_deprecated_package;
   5196         break;
   5197       }
   5198 
   5199       // optional bool javanano_use_deprecated_package = 38;
   5200       case 38: {
   5201         if (tag == 304) {
   5202          parse_javanano_use_deprecated_package:
   5203           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5204                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5205                  input, &javanano_use_deprecated_package_)));
   5206           set_has_javanano_use_deprecated_package();
   5207         } else {
   5208           goto handle_unusual;
   5209         }
   5210         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5211         break;
   5212       }
   5213 
   5214       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5215       case 999: {
   5216         if (tag == 7994) {
   5217          parse_uninterpreted_option:
   5218           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5219                 input, add_uninterpreted_option()));
   5220         } else {
   5221           goto handle_unusual;
   5222         }
   5223         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5224         if (input->ExpectAtEnd()) goto success;
   5225         break;
   5226       }
   5227 
   5228       default: {
   5229       handle_unusual:
   5230         if (tag == 0 ||
   5231             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5232             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5233           goto success;
   5234         }
   5235         if ((8000u <= tag)) {
   5236           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5237                                       mutable_unknown_fields()));
   5238           continue;
   5239         }
   5240         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5241               input, tag, mutable_unknown_fields()));
   5242         break;
   5243       }
   5244     }
   5245   }
   5246 success:
   5247   // @@protoc_insertion_point(parse_success:google.protobuf.FileOptions)
   5248   return true;
   5249 failure:
   5250   // @@protoc_insertion_point(parse_failure:google.protobuf.FileOptions)
   5251   return false;
   5252 #undef DO_
   5253 }
   5254 
   5255 void FileOptions::SerializeWithCachedSizes(
   5256     ::google::protobuf::io::CodedOutputStream* output) const {
   5257   // @@protoc_insertion_point(serialize_start:google.protobuf.FileOptions)
   5258   // optional string java_package = 1;
   5259   if (has_java_package()) {
   5260     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5261       this->java_package().data(), this->java_package().length(),
   5262       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5263       "java_package");
   5264     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5265       1, this->java_package(), output);
   5266   }
   5267 
   5268   // optional string java_outer_classname = 8;
   5269   if (has_java_outer_classname()) {
   5270     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5271       this->java_outer_classname().data(), this->java_outer_classname().length(),
   5272       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5273       "java_outer_classname");
   5274     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5275       8, this->java_outer_classname(), output);
   5276   }
   5277 
   5278   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5279   if (has_optimize_for()) {
   5280     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   5281       9, this->optimize_for(), output);
   5282   }
   5283 
   5284   // optional bool java_multiple_files = 10 [default = false];
   5285   if (has_java_multiple_files()) {
   5286     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->java_multiple_files(), output);
   5287   }
   5288 
   5289   // optional string go_package = 11;
   5290   if (has_go_package()) {
   5291     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5292       this->go_package().data(), this->go_package().length(),
   5293       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5294       "go_package");
   5295     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   5296       11, this->go_package(), output);
   5297   }
   5298 
   5299   // optional bool cc_generic_services = 16 [default = false];
   5300   if (has_cc_generic_services()) {
   5301     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->cc_generic_services(), output);
   5302   }
   5303 
   5304   // optional bool java_generic_services = 17 [default = false];
   5305   if (has_java_generic_services()) {
   5306     ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->java_generic_services(), output);
   5307   }
   5308 
   5309   // optional bool py_generic_services = 18 [default = false];
   5310   if (has_py_generic_services()) {
   5311     ::google::protobuf::internal::WireFormatLite::WriteBool(18, this->py_generic_services(), output);
   5312   }
   5313 
   5314   // optional bool java_generate_equals_and_hash = 20 [default = false];
   5315   if (has_java_generate_equals_and_hash()) {
   5316     ::google::protobuf::internal::WireFormatLite::WriteBool(20, this->java_generate_equals_and_hash(), output);
   5317   }
   5318 
   5319   // optional bool deprecated = 23 [default = false];
   5320   if (has_deprecated()) {
   5321     ::google::protobuf::internal::WireFormatLite::WriteBool(23, this->deprecated(), output);
   5322   }
   5323 
   5324   // optional bool java_string_check_utf8 = 27 [default = false];
   5325   if (has_java_string_check_utf8()) {
   5326     ::google::protobuf::internal::WireFormatLite::WriteBool(27, this->java_string_check_utf8(), output);
   5327   }
   5328 
   5329   // optional bool javanano_use_deprecated_package = 38;
   5330   if (has_javanano_use_deprecated_package()) {
   5331     ::google::protobuf::internal::WireFormatLite::WriteBool(38, this->javanano_use_deprecated_package(), output);
   5332   }
   5333 
   5334   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5335   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5336     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5337       999, this->uninterpreted_option(i), output);
   5338   }
   5339 
   5340   // Extension range [1000, 536870912)
   5341   _extensions_.SerializeWithCachedSizes(
   5342       1000, 536870912, output);
   5343 
   5344   if (!unknown_fields().empty()) {
   5345     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5346         unknown_fields(), output);
   5347   }
   5348   // @@protoc_insertion_point(serialize_end:google.protobuf.FileOptions)
   5349 }
   5350 
   5351 ::google::protobuf::uint8* FileOptions::SerializeWithCachedSizesToArray(
   5352     ::google::protobuf::uint8* target) const {
   5353   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FileOptions)
   5354   // optional string java_package = 1;
   5355   if (has_java_package()) {
   5356     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5357       this->java_package().data(), this->java_package().length(),
   5358       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5359       "java_package");
   5360     target =
   5361       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5362         1, this->java_package(), target);
   5363   }
   5364 
   5365   // optional string java_outer_classname = 8;
   5366   if (has_java_outer_classname()) {
   5367     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5368       this->java_outer_classname().data(), this->java_outer_classname().length(),
   5369       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5370       "java_outer_classname");
   5371     target =
   5372       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5373         8, this->java_outer_classname(), target);
   5374   }
   5375 
   5376   // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5377   if (has_optimize_for()) {
   5378     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   5379       9, this->optimize_for(), target);
   5380   }
   5381 
   5382   // optional bool java_multiple_files = 10 [default = false];
   5383   if (has_java_multiple_files()) {
   5384     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->java_multiple_files(), target);
   5385   }
   5386 
   5387   // optional string go_package = 11;
   5388   if (has_go_package()) {
   5389     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   5390       this->go_package().data(), this->go_package().length(),
   5391       ::google::protobuf::internal::WireFormat::SERIALIZE,
   5392       "go_package");
   5393     target =
   5394       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   5395         11, this->go_package(), target);
   5396   }
   5397 
   5398   // optional bool cc_generic_services = 16 [default = false];
   5399   if (has_cc_generic_services()) {
   5400     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->cc_generic_services(), target);
   5401   }
   5402 
   5403   // optional bool java_generic_services = 17 [default = false];
   5404   if (has_java_generic_services()) {
   5405     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->java_generic_services(), target);
   5406   }
   5407 
   5408   // optional bool py_generic_services = 18 [default = false];
   5409   if (has_py_generic_services()) {
   5410     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(18, this->py_generic_services(), target);
   5411   }
   5412 
   5413   // optional bool java_generate_equals_and_hash = 20 [default = false];
   5414   if (has_java_generate_equals_and_hash()) {
   5415     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(20, this->java_generate_equals_and_hash(), target);
   5416   }
   5417 
   5418   // optional bool deprecated = 23 [default = false];
   5419   if (has_deprecated()) {
   5420     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(23, this->deprecated(), target);
   5421   }
   5422 
   5423   // optional bool java_string_check_utf8 = 27 [default = false];
   5424   if (has_java_string_check_utf8()) {
   5425     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(27, this->java_string_check_utf8(), target);
   5426   }
   5427 
   5428   // optional bool javanano_use_deprecated_package = 38;
   5429   if (has_javanano_use_deprecated_package()) {
   5430     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(38, this->javanano_use_deprecated_package(), target);
   5431   }
   5432 
   5433   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5434   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5435     target = ::google::protobuf::internal::WireFormatLite::
   5436       WriteMessageNoVirtualToArray(
   5437         999, this->uninterpreted_option(i), target);
   5438   }
   5439 
   5440   // Extension range [1000, 536870912)
   5441   target = _extensions_.SerializeWithCachedSizesToArray(
   5442       1000, 536870912, target);
   5443 
   5444   if (!unknown_fields().empty()) {
   5445     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5446         unknown_fields(), target);
   5447   }
   5448   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FileOptions)
   5449   return target;
   5450 }
   5451 
   5452 int FileOptions::ByteSize() const {
   5453   int total_size = 0;
   5454 
   5455   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5456     // optional string java_package = 1;
   5457     if (has_java_package()) {
   5458       total_size += 1 +
   5459         ::google::protobuf::internal::WireFormatLite::StringSize(
   5460           this->java_package());
   5461     }
   5462 
   5463     // optional string java_outer_classname = 8;
   5464     if (has_java_outer_classname()) {
   5465       total_size += 1 +
   5466         ::google::protobuf::internal::WireFormatLite::StringSize(
   5467           this->java_outer_classname());
   5468     }
   5469 
   5470     // optional bool java_multiple_files = 10 [default = false];
   5471     if (has_java_multiple_files()) {
   5472       total_size += 1 + 1;
   5473     }
   5474 
   5475     // optional bool java_generate_equals_and_hash = 20 [default = false];
   5476     if (has_java_generate_equals_and_hash()) {
   5477       total_size += 2 + 1;
   5478     }
   5479 
   5480     // optional bool java_string_check_utf8 = 27 [default = false];
   5481     if (has_java_string_check_utf8()) {
   5482       total_size += 2 + 1;
   5483     }
   5484 
   5485     // optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
   5486     if (has_optimize_for()) {
   5487       total_size += 1 +
   5488         ::google::protobuf::internal::WireFormatLite::EnumSize(this->optimize_for());
   5489     }
   5490 
   5491     // optional string go_package = 11;
   5492     if (has_go_package()) {
   5493       total_size += 1 +
   5494         ::google::protobuf::internal::WireFormatLite::StringSize(
   5495           this->go_package());
   5496     }
   5497 
   5498     // optional bool cc_generic_services = 16 [default = false];
   5499     if (has_cc_generic_services()) {
   5500       total_size += 2 + 1;
   5501     }
   5502 
   5503   }
   5504   if (_has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   5505     // optional bool java_generic_services = 17 [default = false];
   5506     if (has_java_generic_services()) {
   5507       total_size += 2 + 1;
   5508     }
   5509 
   5510     // optional bool py_generic_services = 18 [default = false];
   5511     if (has_py_generic_services()) {
   5512       total_size += 2 + 1;
   5513     }
   5514 
   5515     // optional bool deprecated = 23 [default = false];
   5516     if (has_deprecated()) {
   5517       total_size += 2 + 1;
   5518     }
   5519 
   5520     // optional bool javanano_use_deprecated_package = 38;
   5521     if (has_javanano_use_deprecated_package()) {
   5522       total_size += 2 + 1;
   5523     }
   5524 
   5525   }
   5526   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5527   total_size += 2 * this->uninterpreted_option_size();
   5528   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5529     total_size +=
   5530       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5531         this->uninterpreted_option(i));
   5532   }
   5533 
   5534   total_size += _extensions_.ByteSize();
   5535 
   5536   if (!unknown_fields().empty()) {
   5537     total_size +=
   5538       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5539         unknown_fields());
   5540   }
   5541   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5542   _cached_size_ = total_size;
   5543   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5544   return total_size;
   5545 }
   5546 
   5547 void FileOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5548   GOOGLE_CHECK_NE(&from, this);
   5549   const FileOptions* source =
   5550     ::google::protobuf::internal::dynamic_cast_if_available<const FileOptions*>(
   5551       &from);
   5552   if (source == NULL) {
   5553     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5554   } else {
   5555     MergeFrom(*source);
   5556   }
   5557 }
   5558 
   5559 void FileOptions::MergeFrom(const FileOptions& from) {
   5560   GOOGLE_CHECK_NE(&from, this);
   5561   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5562   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5563     if (from.has_java_package()) {
   5564       set_java_package(from.java_package());
   5565     }
   5566     if (from.has_java_outer_classname()) {
   5567       set_java_outer_classname(from.java_outer_classname());
   5568     }
   5569     if (from.has_java_multiple_files()) {
   5570       set_java_multiple_files(from.java_multiple_files());
   5571     }
   5572     if (from.has_java_generate_equals_and_hash()) {
   5573       set_java_generate_equals_and_hash(from.java_generate_equals_and_hash());
   5574     }
   5575     if (from.has_java_string_check_utf8()) {
   5576       set_java_string_check_utf8(from.java_string_check_utf8());
   5577     }
   5578     if (from.has_optimize_for()) {
   5579       set_optimize_for(from.optimize_for());
   5580     }
   5581     if (from.has_go_package()) {
   5582       set_go_package(from.go_package());
   5583     }
   5584     if (from.has_cc_generic_services()) {
   5585       set_cc_generic_services(from.cc_generic_services());
   5586     }
   5587   }
   5588   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
   5589     if (from.has_java_generic_services()) {
   5590       set_java_generic_services(from.java_generic_services());
   5591     }
   5592     if (from.has_py_generic_services()) {
   5593       set_py_generic_services(from.py_generic_services());
   5594     }
   5595     if (from.has_deprecated()) {
   5596       set_deprecated(from.deprecated());
   5597     }
   5598     if (from.has_javanano_use_deprecated_package()) {
   5599       set_javanano_use_deprecated_package(from.javanano_use_deprecated_package());
   5600     }
   5601   }
   5602   _extensions_.MergeFrom(from._extensions_);
   5603   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5604 }
   5605 
   5606 void FileOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5607   if (&from == this) return;
   5608   Clear();
   5609   MergeFrom(from);
   5610 }
   5611 
   5612 void FileOptions::CopyFrom(const FileOptions& from) {
   5613   if (&from == this) return;
   5614   Clear();
   5615   MergeFrom(from);
   5616 }
   5617 
   5618 bool FileOptions::IsInitialized() const {
   5619 
   5620   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   5621 
   5622   if (!_extensions_.IsInitialized()) return false;  return true;
   5623 }
   5624 
   5625 void FileOptions::Swap(FileOptions* other) {
   5626   if (other != this) {
   5627     std::swap(java_package_, other->java_package_);
   5628     std::swap(java_outer_classname_, other->java_outer_classname_);
   5629     std::swap(java_multiple_files_, other->java_multiple_files_);
   5630     std::swap(java_generate_equals_and_hash_, other->java_generate_equals_and_hash_);
   5631     std::swap(java_string_check_utf8_, other->java_string_check_utf8_);
   5632     std::swap(optimize_for_, other->optimize_for_);
   5633     std::swap(go_package_, other->go_package_);
   5634     std::swap(cc_generic_services_, other->cc_generic_services_);
   5635     std::swap(java_generic_services_, other->java_generic_services_);
   5636     std::swap(py_generic_services_, other->py_generic_services_);
   5637     std::swap(deprecated_, other->deprecated_);
   5638     std::swap(javanano_use_deprecated_package_, other->javanano_use_deprecated_package_);
   5639     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   5640     std::swap(_has_bits_[0], other->_has_bits_[0]);
   5641     _unknown_fields_.Swap(&other->_unknown_fields_);
   5642     std::swap(_cached_size_, other->_cached_size_);
   5643     _extensions_.Swap(&other->_extensions_);
   5644   }
   5645 }
   5646 
   5647 ::google::protobuf::Metadata FileOptions::GetMetadata() const {
   5648   protobuf_AssignDescriptorsOnce();
   5649   ::google::protobuf::Metadata metadata;
   5650   metadata.descriptor = FileOptions_descriptor_;
   5651   metadata.reflection = FileOptions_reflection_;
   5652   return metadata;
   5653 }
   5654 
   5655 
   5656 // ===================================================================
   5657 
   5658 #ifndef _MSC_VER
   5659 const int MessageOptions::kMessageSetWireFormatFieldNumber;
   5660 const int MessageOptions::kNoStandardDescriptorAccessorFieldNumber;
   5661 const int MessageOptions::kDeprecatedFieldNumber;
   5662 const int MessageOptions::kUninterpretedOptionFieldNumber;
   5663 #endif  // !_MSC_VER
   5664 
   5665 MessageOptions::MessageOptions()
   5666   : ::google::protobuf::Message() {
   5667   SharedCtor();
   5668   // @@protoc_insertion_point(constructor:google.protobuf.MessageOptions)
   5669 }
   5670 
   5671 void MessageOptions::InitAsDefaultInstance() {
   5672 }
   5673 
   5674 MessageOptions::MessageOptions(const MessageOptions& from)
   5675   : ::google::protobuf::Message() {
   5676   SharedCtor();
   5677   MergeFrom(from);
   5678   // @@protoc_insertion_point(copy_constructor:google.protobuf.MessageOptions)
   5679 }
   5680 
   5681 void MessageOptions::SharedCtor() {
   5682   _cached_size_ = 0;
   5683   message_set_wire_format_ = false;
   5684   no_standard_descriptor_accessor_ = false;
   5685   deprecated_ = false;
   5686   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5687 }
   5688 
   5689 MessageOptions::~MessageOptions() {
   5690   // @@protoc_insertion_point(destructor:google.protobuf.MessageOptions)
   5691   SharedDtor();
   5692 }
   5693 
   5694 void MessageOptions::SharedDtor() {
   5695   if (this != default_instance_) {
   5696   }
   5697 }
   5698 
   5699 void MessageOptions::SetCachedSize(int size) const {
   5700   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5701   _cached_size_ = size;
   5702   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5703 }
   5704 const ::google::protobuf::Descriptor* MessageOptions::descriptor() {
   5705   protobuf_AssignDescriptorsOnce();
   5706   return MessageOptions_descriptor_;
   5707 }
   5708 
   5709 const MessageOptions& MessageOptions::default_instance() {
   5710   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   5711   return *default_instance_;
   5712 }
   5713 
   5714 MessageOptions* MessageOptions::default_instance_ = NULL;
   5715 
   5716 MessageOptions* MessageOptions::New() const {
   5717   return new MessageOptions;
   5718 }
   5719 
   5720 void MessageOptions::Clear() {
   5721   _extensions_.Clear();
   5722 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   5723   &reinterpret_cast<MessageOptions*>(16)->f) - \
   5724    reinterpret_cast<char*>(16))
   5725 
   5726 #define ZR_(first, last) do {                              \
   5727     size_t f = OFFSET_OF_FIELD_(first);                    \
   5728     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   5729     ::memset(&first, 0, n);                                \
   5730   } while (0)
   5731 
   5732   ZR_(message_set_wire_format_, deprecated_);
   5733 
   5734 #undef OFFSET_OF_FIELD_
   5735 #undef ZR_
   5736 
   5737   uninterpreted_option_.Clear();
   5738   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   5739   mutable_unknown_fields()->Clear();
   5740 }
   5741 
   5742 bool MessageOptions::MergePartialFromCodedStream(
   5743     ::google::protobuf::io::CodedInputStream* input) {
   5744 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   5745   ::google::protobuf::uint32 tag;
   5746   // @@protoc_insertion_point(parse_start:google.protobuf.MessageOptions)
   5747   for (;;) {
   5748     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   5749     tag = p.first;
   5750     if (!p.second) goto handle_unusual;
   5751     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   5752       // optional bool message_set_wire_format = 1 [default = false];
   5753       case 1: {
   5754         if (tag == 8) {
   5755           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5756                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5757                  input, &message_set_wire_format_)));
   5758           set_has_message_set_wire_format();
   5759         } else {
   5760           goto handle_unusual;
   5761         }
   5762         if (input->ExpectTag(16)) goto parse_no_standard_descriptor_accessor;
   5763         break;
   5764       }
   5765 
   5766       // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5767       case 2: {
   5768         if (tag == 16) {
   5769          parse_no_standard_descriptor_accessor:
   5770           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5771                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5772                  input, &no_standard_descriptor_accessor_)));
   5773           set_has_no_standard_descriptor_accessor();
   5774         } else {
   5775           goto handle_unusual;
   5776         }
   5777         if (input->ExpectTag(24)) goto parse_deprecated;
   5778         break;
   5779       }
   5780 
   5781       // optional bool deprecated = 3 [default = false];
   5782       case 3: {
   5783         if (tag == 24) {
   5784          parse_deprecated:
   5785           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   5786                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   5787                  input, &deprecated_)));
   5788           set_has_deprecated();
   5789         } else {
   5790           goto handle_unusual;
   5791         }
   5792         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5793         break;
   5794       }
   5795 
   5796       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5797       case 999: {
   5798         if (tag == 7994) {
   5799          parse_uninterpreted_option:
   5800           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   5801                 input, add_uninterpreted_option()));
   5802         } else {
   5803           goto handle_unusual;
   5804         }
   5805         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   5806         if (input->ExpectAtEnd()) goto success;
   5807         break;
   5808       }
   5809 
   5810       default: {
   5811       handle_unusual:
   5812         if (tag == 0 ||
   5813             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   5814             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   5815           goto success;
   5816         }
   5817         if ((8000u <= tag)) {
   5818           DO_(_extensions_.ParseField(tag, input, default_instance_,
   5819                                       mutable_unknown_fields()));
   5820           continue;
   5821         }
   5822         DO_(::google::protobuf::internal::WireFormat::SkipField(
   5823               input, tag, mutable_unknown_fields()));
   5824         break;
   5825       }
   5826     }
   5827   }
   5828 success:
   5829   // @@protoc_insertion_point(parse_success:google.protobuf.MessageOptions)
   5830   return true;
   5831 failure:
   5832   // @@protoc_insertion_point(parse_failure:google.protobuf.MessageOptions)
   5833   return false;
   5834 #undef DO_
   5835 }
   5836 
   5837 void MessageOptions::SerializeWithCachedSizes(
   5838     ::google::protobuf::io::CodedOutputStream* output) const {
   5839   // @@protoc_insertion_point(serialize_start:google.protobuf.MessageOptions)
   5840   // optional bool message_set_wire_format = 1 [default = false];
   5841   if (has_message_set_wire_format()) {
   5842     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->message_set_wire_format(), output);
   5843   }
   5844 
   5845   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5846   if (has_no_standard_descriptor_accessor()) {
   5847     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->no_standard_descriptor_accessor(), output);
   5848   }
   5849 
   5850   // optional bool deprecated = 3 [default = false];
   5851   if (has_deprecated()) {
   5852     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   5853   }
   5854 
   5855   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5856   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5857     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   5858       999, this->uninterpreted_option(i), output);
   5859   }
   5860 
   5861   // Extension range [1000, 536870912)
   5862   _extensions_.SerializeWithCachedSizes(
   5863       1000, 536870912, output);
   5864 
   5865   if (!unknown_fields().empty()) {
   5866     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   5867         unknown_fields(), output);
   5868   }
   5869   // @@protoc_insertion_point(serialize_end:google.protobuf.MessageOptions)
   5870 }
   5871 
   5872 ::google::protobuf::uint8* MessageOptions::SerializeWithCachedSizesToArray(
   5873     ::google::protobuf::uint8* target) const {
   5874   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MessageOptions)
   5875   // optional bool message_set_wire_format = 1 [default = false];
   5876   if (has_message_set_wire_format()) {
   5877     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->message_set_wire_format(), target);
   5878   }
   5879 
   5880   // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5881   if (has_no_standard_descriptor_accessor()) {
   5882     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->no_standard_descriptor_accessor(), target);
   5883   }
   5884 
   5885   // optional bool deprecated = 3 [default = false];
   5886   if (has_deprecated()) {
   5887     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   5888   }
   5889 
   5890   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5891   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5892     target = ::google::protobuf::internal::WireFormatLite::
   5893       WriteMessageNoVirtualToArray(
   5894         999, this->uninterpreted_option(i), target);
   5895   }
   5896 
   5897   // Extension range [1000, 536870912)
   5898   target = _extensions_.SerializeWithCachedSizesToArray(
   5899       1000, 536870912, target);
   5900 
   5901   if (!unknown_fields().empty()) {
   5902     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   5903         unknown_fields(), target);
   5904   }
   5905   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MessageOptions)
   5906   return target;
   5907 }
   5908 
   5909 int MessageOptions::ByteSize() const {
   5910   int total_size = 0;
   5911 
   5912   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5913     // optional bool message_set_wire_format = 1 [default = false];
   5914     if (has_message_set_wire_format()) {
   5915       total_size += 1 + 1;
   5916     }
   5917 
   5918     // optional bool no_standard_descriptor_accessor = 2 [default = false];
   5919     if (has_no_standard_descriptor_accessor()) {
   5920       total_size += 1 + 1;
   5921     }
   5922 
   5923     // optional bool deprecated = 3 [default = false];
   5924     if (has_deprecated()) {
   5925       total_size += 1 + 1;
   5926     }
   5927 
   5928   }
   5929   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   5930   total_size += 2 * this->uninterpreted_option_size();
   5931   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   5932     total_size +=
   5933       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   5934         this->uninterpreted_option(i));
   5935   }
   5936 
   5937   total_size += _extensions_.ByteSize();
   5938 
   5939   if (!unknown_fields().empty()) {
   5940     total_size +=
   5941       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   5942         unknown_fields());
   5943   }
   5944   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   5945   _cached_size_ = total_size;
   5946   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   5947   return total_size;
   5948 }
   5949 
   5950 void MessageOptions::MergeFrom(const ::google::protobuf::Message& from) {
   5951   GOOGLE_CHECK_NE(&from, this);
   5952   const MessageOptions* source =
   5953     ::google::protobuf::internal::dynamic_cast_if_available<const MessageOptions*>(
   5954       &from);
   5955   if (source == NULL) {
   5956     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   5957   } else {
   5958     MergeFrom(*source);
   5959   }
   5960 }
   5961 
   5962 void MessageOptions::MergeFrom(const MessageOptions& from) {
   5963   GOOGLE_CHECK_NE(&from, this);
   5964   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   5965   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   5966     if (from.has_message_set_wire_format()) {
   5967       set_message_set_wire_format(from.message_set_wire_format());
   5968     }
   5969     if (from.has_no_standard_descriptor_accessor()) {
   5970       set_no_standard_descriptor_accessor(from.no_standard_descriptor_accessor());
   5971     }
   5972     if (from.has_deprecated()) {
   5973       set_deprecated(from.deprecated());
   5974     }
   5975   }
   5976   _extensions_.MergeFrom(from._extensions_);
   5977   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   5978 }
   5979 
   5980 void MessageOptions::CopyFrom(const ::google::protobuf::Message& from) {
   5981   if (&from == this) return;
   5982   Clear();
   5983   MergeFrom(from);
   5984 }
   5985 
   5986 void MessageOptions::CopyFrom(const MessageOptions& from) {
   5987   if (&from == this) return;
   5988   Clear();
   5989   MergeFrom(from);
   5990 }
   5991 
   5992 bool MessageOptions::IsInitialized() const {
   5993 
   5994   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   5995 
   5996   if (!_extensions_.IsInitialized()) return false;  return true;
   5997 }
   5998 
   5999 void MessageOptions::Swap(MessageOptions* other) {
   6000   if (other != this) {
   6001     std::swap(message_set_wire_format_, other->message_set_wire_format_);
   6002     std::swap(no_standard_descriptor_accessor_, other->no_standard_descriptor_accessor_);
   6003     std::swap(deprecated_, other->deprecated_);
   6004     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6005     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6006     _unknown_fields_.Swap(&other->_unknown_fields_);
   6007     std::swap(_cached_size_, other->_cached_size_);
   6008     _extensions_.Swap(&other->_extensions_);
   6009   }
   6010 }
   6011 
   6012 ::google::protobuf::Metadata MessageOptions::GetMetadata() const {
   6013   protobuf_AssignDescriptorsOnce();
   6014   ::google::protobuf::Metadata metadata;
   6015   metadata.descriptor = MessageOptions_descriptor_;
   6016   metadata.reflection = MessageOptions_reflection_;
   6017   return metadata;
   6018 }
   6019 
   6020 
   6021 // ===================================================================
   6022 
   6023 const ::google::protobuf::EnumDescriptor* FieldOptions_CType_descriptor() {
   6024   protobuf_AssignDescriptorsOnce();
   6025   return FieldOptions_CType_descriptor_;
   6026 }
   6027 bool FieldOptions_CType_IsValid(int value) {
   6028   switch(value) {
   6029     case 0:
   6030     case 1:
   6031     case 2:
   6032       return true;
   6033     default:
   6034       return false;
   6035   }
   6036 }
   6037 
   6038 #ifndef _MSC_VER
   6039 const FieldOptions_CType FieldOptions::STRING;
   6040 const FieldOptions_CType FieldOptions::CORD;
   6041 const FieldOptions_CType FieldOptions::STRING_PIECE;
   6042 const FieldOptions_CType FieldOptions::CType_MIN;
   6043 const FieldOptions_CType FieldOptions::CType_MAX;
   6044 const int FieldOptions::CType_ARRAYSIZE;
   6045 #endif  // _MSC_VER
   6046 #ifndef _MSC_VER
   6047 const int FieldOptions::kCtypeFieldNumber;
   6048 const int FieldOptions::kPackedFieldNumber;
   6049 const int FieldOptions::kLazyFieldNumber;
   6050 const int FieldOptions::kDeprecatedFieldNumber;
   6051 const int FieldOptions::kExperimentalMapKeyFieldNumber;
   6052 const int FieldOptions::kWeakFieldNumber;
   6053 const int FieldOptions::kUninterpretedOptionFieldNumber;
   6054 #endif  // !_MSC_VER
   6055 
   6056 FieldOptions::FieldOptions()
   6057   : ::google::protobuf::Message() {
   6058   SharedCtor();
   6059   // @@protoc_insertion_point(constructor:google.protobuf.FieldOptions)
   6060 }
   6061 
   6062 void FieldOptions::InitAsDefaultInstance() {
   6063 }
   6064 
   6065 FieldOptions::FieldOptions(const FieldOptions& from)
   6066   : ::google::protobuf::Message() {
   6067   SharedCtor();
   6068   MergeFrom(from);
   6069   // @@protoc_insertion_point(copy_constructor:google.protobuf.FieldOptions)
   6070 }
   6071 
   6072 void FieldOptions::SharedCtor() {
   6073   ::google::protobuf::internal::GetEmptyString();
   6074   _cached_size_ = 0;
   6075   ctype_ = 0;
   6076   packed_ = false;
   6077   lazy_ = false;
   6078   deprecated_ = false;
   6079   experimental_map_key_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   6080   weak_ = false;
   6081   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6082 }
   6083 
   6084 FieldOptions::~FieldOptions() {
   6085   // @@protoc_insertion_point(destructor:google.protobuf.FieldOptions)
   6086   SharedDtor();
   6087 }
   6088 
   6089 void FieldOptions::SharedDtor() {
   6090   if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6091     delete experimental_map_key_;
   6092   }
   6093   if (this != default_instance_) {
   6094   }
   6095 }
   6096 
   6097 void FieldOptions::SetCachedSize(int size) const {
   6098   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6099   _cached_size_ = size;
   6100   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6101 }
   6102 const ::google::protobuf::Descriptor* FieldOptions::descriptor() {
   6103   protobuf_AssignDescriptorsOnce();
   6104   return FieldOptions_descriptor_;
   6105 }
   6106 
   6107 const FieldOptions& FieldOptions::default_instance() {
   6108   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6109   return *default_instance_;
   6110 }
   6111 
   6112 FieldOptions* FieldOptions::default_instance_ = NULL;
   6113 
   6114 FieldOptions* FieldOptions::New() const {
   6115   return new FieldOptions;
   6116 }
   6117 
   6118 void FieldOptions::Clear() {
   6119   _extensions_.Clear();
   6120 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   6121   &reinterpret_cast<FieldOptions*>(16)->f) - \
   6122    reinterpret_cast<char*>(16))
   6123 
   6124 #define ZR_(first, last) do {                              \
   6125     size_t f = OFFSET_OF_FIELD_(first);                    \
   6126     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   6127     ::memset(&first, 0, n);                                \
   6128   } while (0)
   6129 
   6130   if (_has_bits_[0 / 32] & 63) {
   6131     ZR_(ctype_, weak_);
   6132     if (has_experimental_map_key()) {
   6133       if (experimental_map_key_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   6134         experimental_map_key_->clear();
   6135       }
   6136     }
   6137   }
   6138 
   6139 #undef OFFSET_OF_FIELD_
   6140 #undef ZR_
   6141 
   6142   uninterpreted_option_.Clear();
   6143   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6144   mutable_unknown_fields()->Clear();
   6145 }
   6146 
   6147 bool FieldOptions::MergePartialFromCodedStream(
   6148     ::google::protobuf::io::CodedInputStream* input) {
   6149 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   6150   ::google::protobuf::uint32 tag;
   6151   // @@protoc_insertion_point(parse_start:google.protobuf.FieldOptions)
   6152   for (;;) {
   6153     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   6154     tag = p.first;
   6155     if (!p.second) goto handle_unusual;
   6156     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6157       // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6158       case 1: {
   6159         if (tag == 8) {
   6160           int value;
   6161           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6162                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
   6163                  input, &value)));
   6164           if (::google::protobuf::FieldOptions_CType_IsValid(value)) {
   6165             set_ctype(static_cast< ::google::protobuf::FieldOptions_CType >(value));
   6166           } else {
   6167             mutable_unknown_fields()->AddVarint(1, value);
   6168           }
   6169         } else {
   6170           goto handle_unusual;
   6171         }
   6172         if (input->ExpectTag(16)) goto parse_packed;
   6173         break;
   6174       }
   6175 
   6176       // optional bool packed = 2;
   6177       case 2: {
   6178         if (tag == 16) {
   6179          parse_packed:
   6180           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6181                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6182                  input, &packed_)));
   6183           set_has_packed();
   6184         } else {
   6185           goto handle_unusual;
   6186         }
   6187         if (input->ExpectTag(24)) goto parse_deprecated;
   6188         break;
   6189       }
   6190 
   6191       // optional bool deprecated = 3 [default = false];
   6192       case 3: {
   6193         if (tag == 24) {
   6194          parse_deprecated:
   6195           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6196                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6197                  input, &deprecated_)));
   6198           set_has_deprecated();
   6199         } else {
   6200           goto handle_unusual;
   6201         }
   6202         if (input->ExpectTag(40)) goto parse_lazy;
   6203         break;
   6204       }
   6205 
   6206       // optional bool lazy = 5 [default = false];
   6207       case 5: {
   6208         if (tag == 40) {
   6209          parse_lazy:
   6210           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6211                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6212                  input, &lazy_)));
   6213           set_has_lazy();
   6214         } else {
   6215           goto handle_unusual;
   6216         }
   6217         if (input->ExpectTag(74)) goto parse_experimental_map_key;
   6218         break;
   6219       }
   6220 
   6221       // optional string experimental_map_key = 9;
   6222       case 9: {
   6223         if (tag == 74) {
   6224          parse_experimental_map_key:
   6225           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   6226                 input, this->mutable_experimental_map_key()));
   6227           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6228             this->experimental_map_key().data(), this->experimental_map_key().length(),
   6229             ::google::protobuf::internal::WireFormat::PARSE,
   6230             "experimental_map_key");
   6231         } else {
   6232           goto handle_unusual;
   6233         }
   6234         if (input->ExpectTag(80)) goto parse_weak;
   6235         break;
   6236       }
   6237 
   6238       // optional bool weak = 10 [default = false];
   6239       case 10: {
   6240         if (tag == 80) {
   6241          parse_weak:
   6242           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6243                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6244                  input, &weak_)));
   6245           set_has_weak();
   6246         } else {
   6247           goto handle_unusual;
   6248         }
   6249         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6250         break;
   6251       }
   6252 
   6253       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6254       case 999: {
   6255         if (tag == 7994) {
   6256          parse_uninterpreted_option:
   6257           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6258                 input, add_uninterpreted_option()));
   6259         } else {
   6260           goto handle_unusual;
   6261         }
   6262         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6263         if (input->ExpectAtEnd()) goto success;
   6264         break;
   6265       }
   6266 
   6267       default: {
   6268       handle_unusual:
   6269         if (tag == 0 ||
   6270             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6271             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6272           goto success;
   6273         }
   6274         if ((8000u <= tag)) {
   6275           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6276                                       mutable_unknown_fields()));
   6277           continue;
   6278         }
   6279         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6280               input, tag, mutable_unknown_fields()));
   6281         break;
   6282       }
   6283     }
   6284   }
   6285 success:
   6286   // @@protoc_insertion_point(parse_success:google.protobuf.FieldOptions)
   6287   return true;
   6288 failure:
   6289   // @@protoc_insertion_point(parse_failure:google.protobuf.FieldOptions)
   6290   return false;
   6291 #undef DO_
   6292 }
   6293 
   6294 void FieldOptions::SerializeWithCachedSizes(
   6295     ::google::protobuf::io::CodedOutputStream* output) const {
   6296   // @@protoc_insertion_point(serialize_start:google.protobuf.FieldOptions)
   6297   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6298   if (has_ctype()) {
   6299     ::google::protobuf::internal::WireFormatLite::WriteEnum(
   6300       1, this->ctype(), output);
   6301   }
   6302 
   6303   // optional bool packed = 2;
   6304   if (has_packed()) {
   6305     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->packed(), output);
   6306   }
   6307 
   6308   // optional bool deprecated = 3 [default = false];
   6309   if (has_deprecated()) {
   6310     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   6311   }
   6312 
   6313   // optional bool lazy = 5 [default = false];
   6314   if (has_lazy()) {
   6315     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->lazy(), output);
   6316   }
   6317 
   6318   // optional string experimental_map_key = 9;
   6319   if (has_experimental_map_key()) {
   6320     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6321       this->experimental_map_key().data(), this->experimental_map_key().length(),
   6322       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6323       "experimental_map_key");
   6324     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   6325       9, this->experimental_map_key(), output);
   6326   }
   6327 
   6328   // optional bool weak = 10 [default = false];
   6329   if (has_weak()) {
   6330     ::google::protobuf::internal::WireFormatLite::WriteBool(10, this->weak(), output);
   6331   }
   6332 
   6333   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6334   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6335     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6336       999, this->uninterpreted_option(i), output);
   6337   }
   6338 
   6339   // Extension range [1000, 536870912)
   6340   _extensions_.SerializeWithCachedSizes(
   6341       1000, 536870912, output);
   6342 
   6343   if (!unknown_fields().empty()) {
   6344     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6345         unknown_fields(), output);
   6346   }
   6347   // @@protoc_insertion_point(serialize_end:google.protobuf.FieldOptions)
   6348 }
   6349 
   6350 ::google::protobuf::uint8* FieldOptions::SerializeWithCachedSizesToArray(
   6351     ::google::protobuf::uint8* target) const {
   6352   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.FieldOptions)
   6353   // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6354   if (has_ctype()) {
   6355     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
   6356       1, this->ctype(), target);
   6357   }
   6358 
   6359   // optional bool packed = 2;
   6360   if (has_packed()) {
   6361     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->packed(), target);
   6362   }
   6363 
   6364   // optional bool deprecated = 3 [default = false];
   6365   if (has_deprecated()) {
   6366     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   6367   }
   6368 
   6369   // optional bool lazy = 5 [default = false];
   6370   if (has_lazy()) {
   6371     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->lazy(), target);
   6372   }
   6373 
   6374   // optional string experimental_map_key = 9;
   6375   if (has_experimental_map_key()) {
   6376     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   6377       this->experimental_map_key().data(), this->experimental_map_key().length(),
   6378       ::google::protobuf::internal::WireFormat::SERIALIZE,
   6379       "experimental_map_key");
   6380     target =
   6381       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   6382         9, this->experimental_map_key(), target);
   6383   }
   6384 
   6385   // optional bool weak = 10 [default = false];
   6386   if (has_weak()) {
   6387     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(10, this->weak(), target);
   6388   }
   6389 
   6390   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6391   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6392     target = ::google::protobuf::internal::WireFormatLite::
   6393       WriteMessageNoVirtualToArray(
   6394         999, this->uninterpreted_option(i), target);
   6395   }
   6396 
   6397   // Extension range [1000, 536870912)
   6398   target = _extensions_.SerializeWithCachedSizesToArray(
   6399       1000, 536870912, target);
   6400 
   6401   if (!unknown_fields().empty()) {
   6402     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6403         unknown_fields(), target);
   6404   }
   6405   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.FieldOptions)
   6406   return target;
   6407 }
   6408 
   6409 int FieldOptions::ByteSize() const {
   6410   int total_size = 0;
   6411 
   6412   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6413     // optional .google.protobuf.FieldOptions.CType ctype = 1 [default = STRING];
   6414     if (has_ctype()) {
   6415       total_size += 1 +
   6416         ::google::protobuf::internal::WireFormatLite::EnumSize(this->ctype());
   6417     }
   6418 
   6419     // optional bool packed = 2;
   6420     if (has_packed()) {
   6421       total_size += 1 + 1;
   6422     }
   6423 
   6424     // optional bool lazy = 5 [default = false];
   6425     if (has_lazy()) {
   6426       total_size += 1 + 1;
   6427     }
   6428 
   6429     // optional bool deprecated = 3 [default = false];
   6430     if (has_deprecated()) {
   6431       total_size += 1 + 1;
   6432     }
   6433 
   6434     // optional string experimental_map_key = 9;
   6435     if (has_experimental_map_key()) {
   6436       total_size += 1 +
   6437         ::google::protobuf::internal::WireFormatLite::StringSize(
   6438           this->experimental_map_key());
   6439     }
   6440 
   6441     // optional bool weak = 10 [default = false];
   6442     if (has_weak()) {
   6443       total_size += 1 + 1;
   6444     }
   6445 
   6446   }
   6447   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6448   total_size += 2 * this->uninterpreted_option_size();
   6449   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6450     total_size +=
   6451       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6452         this->uninterpreted_option(i));
   6453   }
   6454 
   6455   total_size += _extensions_.ByteSize();
   6456 
   6457   if (!unknown_fields().empty()) {
   6458     total_size +=
   6459       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6460         unknown_fields());
   6461   }
   6462   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6463   _cached_size_ = total_size;
   6464   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6465   return total_size;
   6466 }
   6467 
   6468 void FieldOptions::MergeFrom(const ::google::protobuf::Message& from) {
   6469   GOOGLE_CHECK_NE(&from, this);
   6470   const FieldOptions* source =
   6471     ::google::protobuf::internal::dynamic_cast_if_available<const FieldOptions*>(
   6472       &from);
   6473   if (source == NULL) {
   6474     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6475   } else {
   6476     MergeFrom(*source);
   6477   }
   6478 }
   6479 
   6480 void FieldOptions::MergeFrom(const FieldOptions& from) {
   6481   GOOGLE_CHECK_NE(&from, this);
   6482   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   6483   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6484     if (from.has_ctype()) {
   6485       set_ctype(from.ctype());
   6486     }
   6487     if (from.has_packed()) {
   6488       set_packed(from.packed());
   6489     }
   6490     if (from.has_lazy()) {
   6491       set_lazy(from.lazy());
   6492     }
   6493     if (from.has_deprecated()) {
   6494       set_deprecated(from.deprecated());
   6495     }
   6496     if (from.has_experimental_map_key()) {
   6497       set_experimental_map_key(from.experimental_map_key());
   6498     }
   6499     if (from.has_weak()) {
   6500       set_weak(from.weak());
   6501     }
   6502   }
   6503   _extensions_.MergeFrom(from._extensions_);
   6504   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6505 }
   6506 
   6507 void FieldOptions::CopyFrom(const ::google::protobuf::Message& from) {
   6508   if (&from == this) return;
   6509   Clear();
   6510   MergeFrom(from);
   6511 }
   6512 
   6513 void FieldOptions::CopyFrom(const FieldOptions& from) {
   6514   if (&from == this) return;
   6515   Clear();
   6516   MergeFrom(from);
   6517 }
   6518 
   6519 bool FieldOptions::IsInitialized() const {
   6520 
   6521   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   6522 
   6523   if (!_extensions_.IsInitialized()) return false;  return true;
   6524 }
   6525 
   6526 void FieldOptions::Swap(FieldOptions* other) {
   6527   if (other != this) {
   6528     std::swap(ctype_, other->ctype_);
   6529     std::swap(packed_, other->packed_);
   6530     std::swap(lazy_, other->lazy_);
   6531     std::swap(deprecated_, other->deprecated_);
   6532     std::swap(experimental_map_key_, other->experimental_map_key_);
   6533     std::swap(weak_, other->weak_);
   6534     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6535     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6536     _unknown_fields_.Swap(&other->_unknown_fields_);
   6537     std::swap(_cached_size_, other->_cached_size_);
   6538     _extensions_.Swap(&other->_extensions_);
   6539   }
   6540 }
   6541 
   6542 ::google::protobuf::Metadata FieldOptions::GetMetadata() const {
   6543   protobuf_AssignDescriptorsOnce();
   6544   ::google::protobuf::Metadata metadata;
   6545   metadata.descriptor = FieldOptions_descriptor_;
   6546   metadata.reflection = FieldOptions_reflection_;
   6547   return metadata;
   6548 }
   6549 
   6550 
   6551 // ===================================================================
   6552 
   6553 #ifndef _MSC_VER
   6554 const int EnumOptions::kAllowAliasFieldNumber;
   6555 const int EnumOptions::kDeprecatedFieldNumber;
   6556 const int EnumOptions::kUninterpretedOptionFieldNumber;
   6557 #endif  // !_MSC_VER
   6558 
   6559 EnumOptions::EnumOptions()
   6560   : ::google::protobuf::Message() {
   6561   SharedCtor();
   6562   // @@protoc_insertion_point(constructor:google.protobuf.EnumOptions)
   6563 }
   6564 
   6565 void EnumOptions::InitAsDefaultInstance() {
   6566 }
   6567 
   6568 EnumOptions::EnumOptions(const EnumOptions& from)
   6569   : ::google::protobuf::Message() {
   6570   SharedCtor();
   6571   MergeFrom(from);
   6572   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumOptions)
   6573 }
   6574 
   6575 void EnumOptions::SharedCtor() {
   6576   _cached_size_ = 0;
   6577   allow_alias_ = false;
   6578   deprecated_ = false;
   6579   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6580 }
   6581 
   6582 EnumOptions::~EnumOptions() {
   6583   // @@protoc_insertion_point(destructor:google.protobuf.EnumOptions)
   6584   SharedDtor();
   6585 }
   6586 
   6587 void EnumOptions::SharedDtor() {
   6588   if (this != default_instance_) {
   6589   }
   6590 }
   6591 
   6592 void EnumOptions::SetCachedSize(int size) const {
   6593   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6594   _cached_size_ = size;
   6595   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6596 }
   6597 const ::google::protobuf::Descriptor* EnumOptions::descriptor() {
   6598   protobuf_AssignDescriptorsOnce();
   6599   return EnumOptions_descriptor_;
   6600 }
   6601 
   6602 const EnumOptions& EnumOptions::default_instance() {
   6603   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6604   return *default_instance_;
   6605 }
   6606 
   6607 EnumOptions* EnumOptions::default_instance_ = NULL;
   6608 
   6609 EnumOptions* EnumOptions::New() const {
   6610   return new EnumOptions;
   6611 }
   6612 
   6613 void EnumOptions::Clear() {
   6614   _extensions_.Clear();
   6615 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   6616   &reinterpret_cast<EnumOptions*>(16)->f) - \
   6617    reinterpret_cast<char*>(16))
   6618 
   6619 #define ZR_(first, last) do {                              \
   6620     size_t f = OFFSET_OF_FIELD_(first);                    \
   6621     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   6622     ::memset(&first, 0, n);                                \
   6623   } while (0)
   6624 
   6625   ZR_(allow_alias_, deprecated_);
   6626 
   6627 #undef OFFSET_OF_FIELD_
   6628 #undef ZR_
   6629 
   6630   uninterpreted_option_.Clear();
   6631   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6632   mutable_unknown_fields()->Clear();
   6633 }
   6634 
   6635 bool EnumOptions::MergePartialFromCodedStream(
   6636     ::google::protobuf::io::CodedInputStream* input) {
   6637 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   6638   ::google::protobuf::uint32 tag;
   6639   // @@protoc_insertion_point(parse_start:google.protobuf.EnumOptions)
   6640   for (;;) {
   6641     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   6642     tag = p.first;
   6643     if (!p.second) goto handle_unusual;
   6644     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6645       // optional bool allow_alias = 2;
   6646       case 2: {
   6647         if (tag == 16) {
   6648           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6649                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6650                  input, &allow_alias_)));
   6651           set_has_allow_alias();
   6652         } else {
   6653           goto handle_unusual;
   6654         }
   6655         if (input->ExpectTag(24)) goto parse_deprecated;
   6656         break;
   6657       }
   6658 
   6659       // optional bool deprecated = 3 [default = false];
   6660       case 3: {
   6661         if (tag == 24) {
   6662          parse_deprecated:
   6663           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6664                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6665                  input, &deprecated_)));
   6666           set_has_deprecated();
   6667         } else {
   6668           goto handle_unusual;
   6669         }
   6670         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6671         break;
   6672       }
   6673 
   6674       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6675       case 999: {
   6676         if (tag == 7994) {
   6677          parse_uninterpreted_option:
   6678           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6679                 input, add_uninterpreted_option()));
   6680         } else {
   6681           goto handle_unusual;
   6682         }
   6683         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6684         if (input->ExpectAtEnd()) goto success;
   6685         break;
   6686       }
   6687 
   6688       default: {
   6689       handle_unusual:
   6690         if (tag == 0 ||
   6691             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6692             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6693           goto success;
   6694         }
   6695         if ((8000u <= tag)) {
   6696           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6697                                       mutable_unknown_fields()));
   6698           continue;
   6699         }
   6700         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6701               input, tag, mutable_unknown_fields()));
   6702         break;
   6703       }
   6704     }
   6705   }
   6706 success:
   6707   // @@protoc_insertion_point(parse_success:google.protobuf.EnumOptions)
   6708   return true;
   6709 failure:
   6710   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumOptions)
   6711   return false;
   6712 #undef DO_
   6713 }
   6714 
   6715 void EnumOptions::SerializeWithCachedSizes(
   6716     ::google::protobuf::io::CodedOutputStream* output) const {
   6717   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumOptions)
   6718   // optional bool allow_alias = 2;
   6719   if (has_allow_alias()) {
   6720     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->allow_alias(), output);
   6721   }
   6722 
   6723   // optional bool deprecated = 3 [default = false];
   6724   if (has_deprecated()) {
   6725     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->deprecated(), output);
   6726   }
   6727 
   6728   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6729   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6730     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   6731       999, this->uninterpreted_option(i), output);
   6732   }
   6733 
   6734   // Extension range [1000, 536870912)
   6735   _extensions_.SerializeWithCachedSizes(
   6736       1000, 536870912, output);
   6737 
   6738   if (!unknown_fields().empty()) {
   6739     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   6740         unknown_fields(), output);
   6741   }
   6742   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumOptions)
   6743 }
   6744 
   6745 ::google::protobuf::uint8* EnumOptions::SerializeWithCachedSizesToArray(
   6746     ::google::protobuf::uint8* target) const {
   6747   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumOptions)
   6748   // optional bool allow_alias = 2;
   6749   if (has_allow_alias()) {
   6750     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->allow_alias(), target);
   6751   }
   6752 
   6753   // optional bool deprecated = 3 [default = false];
   6754   if (has_deprecated()) {
   6755     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->deprecated(), target);
   6756   }
   6757 
   6758   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6759   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6760     target = ::google::protobuf::internal::WireFormatLite::
   6761       WriteMessageNoVirtualToArray(
   6762         999, this->uninterpreted_option(i), target);
   6763   }
   6764 
   6765   // Extension range [1000, 536870912)
   6766   target = _extensions_.SerializeWithCachedSizesToArray(
   6767       1000, 536870912, target);
   6768 
   6769   if (!unknown_fields().empty()) {
   6770     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   6771         unknown_fields(), target);
   6772   }
   6773   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumOptions)
   6774   return target;
   6775 }
   6776 
   6777 int EnumOptions::ByteSize() const {
   6778   int total_size = 0;
   6779 
   6780   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6781     // optional bool allow_alias = 2;
   6782     if (has_allow_alias()) {
   6783       total_size += 1 + 1;
   6784     }
   6785 
   6786     // optional bool deprecated = 3 [default = false];
   6787     if (has_deprecated()) {
   6788       total_size += 1 + 1;
   6789     }
   6790 
   6791   }
   6792   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6793   total_size += 2 * this->uninterpreted_option_size();
   6794   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   6795     total_size +=
   6796       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   6797         this->uninterpreted_option(i));
   6798   }
   6799 
   6800   total_size += _extensions_.ByteSize();
   6801 
   6802   if (!unknown_fields().empty()) {
   6803     total_size +=
   6804       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   6805         unknown_fields());
   6806   }
   6807   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6808   _cached_size_ = total_size;
   6809   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6810   return total_size;
   6811 }
   6812 
   6813 void EnumOptions::MergeFrom(const ::google::protobuf::Message& from) {
   6814   GOOGLE_CHECK_NE(&from, this);
   6815   const EnumOptions* source =
   6816     ::google::protobuf::internal::dynamic_cast_if_available<const EnumOptions*>(
   6817       &from);
   6818   if (source == NULL) {
   6819     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   6820   } else {
   6821     MergeFrom(*source);
   6822   }
   6823 }
   6824 
   6825 void EnumOptions::MergeFrom(const EnumOptions& from) {
   6826   GOOGLE_CHECK_NE(&from, this);
   6827   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   6828   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   6829     if (from.has_allow_alias()) {
   6830       set_allow_alias(from.allow_alias());
   6831     }
   6832     if (from.has_deprecated()) {
   6833       set_deprecated(from.deprecated());
   6834     }
   6835   }
   6836   _extensions_.MergeFrom(from._extensions_);
   6837   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   6838 }
   6839 
   6840 void EnumOptions::CopyFrom(const ::google::protobuf::Message& from) {
   6841   if (&from == this) return;
   6842   Clear();
   6843   MergeFrom(from);
   6844 }
   6845 
   6846 void EnumOptions::CopyFrom(const EnumOptions& from) {
   6847   if (&from == this) return;
   6848   Clear();
   6849   MergeFrom(from);
   6850 }
   6851 
   6852 bool EnumOptions::IsInitialized() const {
   6853 
   6854   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   6855 
   6856   if (!_extensions_.IsInitialized()) return false;  return true;
   6857 }
   6858 
   6859 void EnumOptions::Swap(EnumOptions* other) {
   6860   if (other != this) {
   6861     std::swap(allow_alias_, other->allow_alias_);
   6862     std::swap(deprecated_, other->deprecated_);
   6863     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   6864     std::swap(_has_bits_[0], other->_has_bits_[0]);
   6865     _unknown_fields_.Swap(&other->_unknown_fields_);
   6866     std::swap(_cached_size_, other->_cached_size_);
   6867     _extensions_.Swap(&other->_extensions_);
   6868   }
   6869 }
   6870 
   6871 ::google::protobuf::Metadata EnumOptions::GetMetadata() const {
   6872   protobuf_AssignDescriptorsOnce();
   6873   ::google::protobuf::Metadata metadata;
   6874   metadata.descriptor = EnumOptions_descriptor_;
   6875   metadata.reflection = EnumOptions_reflection_;
   6876   return metadata;
   6877 }
   6878 
   6879 
   6880 // ===================================================================
   6881 
   6882 #ifndef _MSC_VER
   6883 const int EnumValueOptions::kDeprecatedFieldNumber;
   6884 const int EnumValueOptions::kUninterpretedOptionFieldNumber;
   6885 #endif  // !_MSC_VER
   6886 
   6887 EnumValueOptions::EnumValueOptions()
   6888   : ::google::protobuf::Message() {
   6889   SharedCtor();
   6890   // @@protoc_insertion_point(constructor:google.protobuf.EnumValueOptions)
   6891 }
   6892 
   6893 void EnumValueOptions::InitAsDefaultInstance() {
   6894 }
   6895 
   6896 EnumValueOptions::EnumValueOptions(const EnumValueOptions& from)
   6897   : ::google::protobuf::Message() {
   6898   SharedCtor();
   6899   MergeFrom(from);
   6900   // @@protoc_insertion_point(copy_constructor:google.protobuf.EnumValueOptions)
   6901 }
   6902 
   6903 void EnumValueOptions::SharedCtor() {
   6904   _cached_size_ = 0;
   6905   deprecated_ = false;
   6906   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6907 }
   6908 
   6909 EnumValueOptions::~EnumValueOptions() {
   6910   // @@protoc_insertion_point(destructor:google.protobuf.EnumValueOptions)
   6911   SharedDtor();
   6912 }
   6913 
   6914 void EnumValueOptions::SharedDtor() {
   6915   if (this != default_instance_) {
   6916   }
   6917 }
   6918 
   6919 void EnumValueOptions::SetCachedSize(int size) const {
   6920   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   6921   _cached_size_ = size;
   6922   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   6923 }
   6924 const ::google::protobuf::Descriptor* EnumValueOptions::descriptor() {
   6925   protobuf_AssignDescriptorsOnce();
   6926   return EnumValueOptions_descriptor_;
   6927 }
   6928 
   6929 const EnumValueOptions& EnumValueOptions::default_instance() {
   6930   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   6931   return *default_instance_;
   6932 }
   6933 
   6934 EnumValueOptions* EnumValueOptions::default_instance_ = NULL;
   6935 
   6936 EnumValueOptions* EnumValueOptions::New() const {
   6937   return new EnumValueOptions;
   6938 }
   6939 
   6940 void EnumValueOptions::Clear() {
   6941   _extensions_.Clear();
   6942   deprecated_ = false;
   6943   uninterpreted_option_.Clear();
   6944   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   6945   mutable_unknown_fields()->Clear();
   6946 }
   6947 
   6948 bool EnumValueOptions::MergePartialFromCodedStream(
   6949     ::google::protobuf::io::CodedInputStream* input) {
   6950 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   6951   ::google::protobuf::uint32 tag;
   6952   // @@protoc_insertion_point(parse_start:google.protobuf.EnumValueOptions)
   6953   for (;;) {
   6954     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   6955     tag = p.first;
   6956     if (!p.second) goto handle_unusual;
   6957     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   6958       // optional bool deprecated = 1 [default = false];
   6959       case 1: {
   6960         if (tag == 8) {
   6961           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   6962                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   6963                  input, &deprecated_)));
   6964           set_has_deprecated();
   6965         } else {
   6966           goto handle_unusual;
   6967         }
   6968         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6969         break;
   6970       }
   6971 
   6972       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   6973       case 999: {
   6974         if (tag == 7994) {
   6975          parse_uninterpreted_option:
   6976           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   6977                 input, add_uninterpreted_option()));
   6978         } else {
   6979           goto handle_unusual;
   6980         }
   6981         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   6982         if (input->ExpectAtEnd()) goto success;
   6983         break;
   6984       }
   6985 
   6986       default: {
   6987       handle_unusual:
   6988         if (tag == 0 ||
   6989             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   6990             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   6991           goto success;
   6992         }
   6993         if ((8000u <= tag)) {
   6994           DO_(_extensions_.ParseField(tag, input, default_instance_,
   6995                                       mutable_unknown_fields()));
   6996           continue;
   6997         }
   6998         DO_(::google::protobuf::internal::WireFormat::SkipField(
   6999               input, tag, mutable_unknown_fields()));
   7000         break;
   7001       }
   7002     }
   7003   }
   7004 success:
   7005   // @@protoc_insertion_point(parse_success:google.protobuf.EnumValueOptions)
   7006   return true;
   7007 failure:
   7008   // @@protoc_insertion_point(parse_failure:google.protobuf.EnumValueOptions)
   7009   return false;
   7010 #undef DO_
   7011 }
   7012 
   7013 void EnumValueOptions::SerializeWithCachedSizes(
   7014     ::google::protobuf::io::CodedOutputStream* output) const {
   7015   // @@protoc_insertion_point(serialize_start:google.protobuf.EnumValueOptions)
   7016   // optional bool deprecated = 1 [default = false];
   7017   if (has_deprecated()) {
   7018     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->deprecated(), output);
   7019   }
   7020 
   7021   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7022   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7023     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   7024       999, this->uninterpreted_option(i), output);
   7025   }
   7026 
   7027   // Extension range [1000, 536870912)
   7028   _extensions_.SerializeWithCachedSizes(
   7029       1000, 536870912, output);
   7030 
   7031   if (!unknown_fields().empty()) {
   7032     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7033         unknown_fields(), output);
   7034   }
   7035   // @@protoc_insertion_point(serialize_end:google.protobuf.EnumValueOptions)
   7036 }
   7037 
   7038 ::google::protobuf::uint8* EnumValueOptions::SerializeWithCachedSizesToArray(
   7039     ::google::protobuf::uint8* target) const {
   7040   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.EnumValueOptions)
   7041   // optional bool deprecated = 1 [default = false];
   7042   if (has_deprecated()) {
   7043     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->deprecated(), target);
   7044   }
   7045 
   7046   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7047   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7048     target = ::google::protobuf::internal::WireFormatLite::
   7049       WriteMessageNoVirtualToArray(
   7050         999, this->uninterpreted_option(i), target);
   7051   }
   7052 
   7053   // Extension range [1000, 536870912)
   7054   target = _extensions_.SerializeWithCachedSizesToArray(
   7055       1000, 536870912, target);
   7056 
   7057   if (!unknown_fields().empty()) {
   7058     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7059         unknown_fields(), target);
   7060   }
   7061   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.EnumValueOptions)
   7062   return target;
   7063 }
   7064 
   7065 int EnumValueOptions::ByteSize() const {
   7066   int total_size = 0;
   7067 
   7068   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7069     // optional bool deprecated = 1 [default = false];
   7070     if (has_deprecated()) {
   7071       total_size += 1 + 1;
   7072     }
   7073 
   7074   }
   7075   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7076   total_size += 2 * this->uninterpreted_option_size();
   7077   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7078     total_size +=
   7079       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7080         this->uninterpreted_option(i));
   7081   }
   7082 
   7083   total_size += _extensions_.ByteSize();
   7084 
   7085   if (!unknown_fields().empty()) {
   7086     total_size +=
   7087       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7088         unknown_fields());
   7089   }
   7090   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7091   _cached_size_ = total_size;
   7092   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7093   return total_size;
   7094 }
   7095 
   7096 void EnumValueOptions::MergeFrom(const ::google::protobuf::Message& from) {
   7097   GOOGLE_CHECK_NE(&from, this);
   7098   const EnumValueOptions* source =
   7099     ::google::protobuf::internal::dynamic_cast_if_available<const EnumValueOptions*>(
   7100       &from);
   7101   if (source == NULL) {
   7102     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7103   } else {
   7104     MergeFrom(*source);
   7105   }
   7106 }
   7107 
   7108 void EnumValueOptions::MergeFrom(const EnumValueOptions& from) {
   7109   GOOGLE_CHECK_NE(&from, this);
   7110   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   7111   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7112     if (from.has_deprecated()) {
   7113       set_deprecated(from.deprecated());
   7114     }
   7115   }
   7116   _extensions_.MergeFrom(from._extensions_);
   7117   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7118 }
   7119 
   7120 void EnumValueOptions::CopyFrom(const ::google::protobuf::Message& from) {
   7121   if (&from == this) return;
   7122   Clear();
   7123   MergeFrom(from);
   7124 }
   7125 
   7126 void EnumValueOptions::CopyFrom(const EnumValueOptions& from) {
   7127   if (&from == this) return;
   7128   Clear();
   7129   MergeFrom(from);
   7130 }
   7131 
   7132 bool EnumValueOptions::IsInitialized() const {
   7133 
   7134   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   7135 
   7136   if (!_extensions_.IsInitialized()) return false;  return true;
   7137 }
   7138 
   7139 void EnumValueOptions::Swap(EnumValueOptions* other) {
   7140   if (other != this) {
   7141     std::swap(deprecated_, other->deprecated_);
   7142     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   7143     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7144     _unknown_fields_.Swap(&other->_unknown_fields_);
   7145     std::swap(_cached_size_, other->_cached_size_);
   7146     _extensions_.Swap(&other->_extensions_);
   7147   }
   7148 }
   7149 
   7150 ::google::protobuf::Metadata EnumValueOptions::GetMetadata() const {
   7151   protobuf_AssignDescriptorsOnce();
   7152   ::google::protobuf::Metadata metadata;
   7153   metadata.descriptor = EnumValueOptions_descriptor_;
   7154   metadata.reflection = EnumValueOptions_reflection_;
   7155   return metadata;
   7156 }
   7157 
   7158 
   7159 // ===================================================================
   7160 
   7161 #ifndef _MSC_VER
   7162 const int ServiceOptions::kDeprecatedFieldNumber;
   7163 const int ServiceOptions::kUninterpretedOptionFieldNumber;
   7164 #endif  // !_MSC_VER
   7165 
   7166 ServiceOptions::ServiceOptions()
   7167   : ::google::protobuf::Message() {
   7168   SharedCtor();
   7169   // @@protoc_insertion_point(constructor:google.protobuf.ServiceOptions)
   7170 }
   7171 
   7172 void ServiceOptions::InitAsDefaultInstance() {
   7173 }
   7174 
   7175 ServiceOptions::ServiceOptions(const ServiceOptions& from)
   7176   : ::google::protobuf::Message() {
   7177   SharedCtor();
   7178   MergeFrom(from);
   7179   // @@protoc_insertion_point(copy_constructor:google.protobuf.ServiceOptions)
   7180 }
   7181 
   7182 void ServiceOptions::SharedCtor() {
   7183   _cached_size_ = 0;
   7184   deprecated_ = false;
   7185   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7186 }
   7187 
   7188 ServiceOptions::~ServiceOptions() {
   7189   // @@protoc_insertion_point(destructor:google.protobuf.ServiceOptions)
   7190   SharedDtor();
   7191 }
   7192 
   7193 void ServiceOptions::SharedDtor() {
   7194   if (this != default_instance_) {
   7195   }
   7196 }
   7197 
   7198 void ServiceOptions::SetCachedSize(int size) const {
   7199   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7200   _cached_size_ = size;
   7201   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7202 }
   7203 const ::google::protobuf::Descriptor* ServiceOptions::descriptor() {
   7204   protobuf_AssignDescriptorsOnce();
   7205   return ServiceOptions_descriptor_;
   7206 }
   7207 
   7208 const ServiceOptions& ServiceOptions::default_instance() {
   7209   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7210   return *default_instance_;
   7211 }
   7212 
   7213 ServiceOptions* ServiceOptions::default_instance_ = NULL;
   7214 
   7215 ServiceOptions* ServiceOptions::New() const {
   7216   return new ServiceOptions;
   7217 }
   7218 
   7219 void ServiceOptions::Clear() {
   7220   _extensions_.Clear();
   7221   deprecated_ = false;
   7222   uninterpreted_option_.Clear();
   7223   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7224   mutable_unknown_fields()->Clear();
   7225 }
   7226 
   7227 bool ServiceOptions::MergePartialFromCodedStream(
   7228     ::google::protobuf::io::CodedInputStream* input) {
   7229 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   7230   ::google::protobuf::uint32 tag;
   7231   // @@protoc_insertion_point(parse_start:google.protobuf.ServiceOptions)
   7232   for (;;) {
   7233     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   7234     tag = p.first;
   7235     if (!p.second) goto handle_unusual;
   7236     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7237       // optional bool deprecated = 33 [default = false];
   7238       case 33: {
   7239         if (tag == 264) {
   7240           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7241                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7242                  input, &deprecated_)));
   7243           set_has_deprecated();
   7244         } else {
   7245           goto handle_unusual;
   7246         }
   7247         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7248         break;
   7249       }
   7250 
   7251       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7252       case 999: {
   7253         if (tag == 7994) {
   7254          parse_uninterpreted_option:
   7255           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   7256                 input, add_uninterpreted_option()));
   7257         } else {
   7258           goto handle_unusual;
   7259         }
   7260         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7261         if (input->ExpectAtEnd()) goto success;
   7262         break;
   7263       }
   7264 
   7265       default: {
   7266       handle_unusual:
   7267         if (tag == 0 ||
   7268             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7269             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7270           goto success;
   7271         }
   7272         if ((8000u <= tag)) {
   7273           DO_(_extensions_.ParseField(tag, input, default_instance_,
   7274                                       mutable_unknown_fields()));
   7275           continue;
   7276         }
   7277         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7278               input, tag, mutable_unknown_fields()));
   7279         break;
   7280       }
   7281     }
   7282   }
   7283 success:
   7284   // @@protoc_insertion_point(parse_success:google.protobuf.ServiceOptions)
   7285   return true;
   7286 failure:
   7287   // @@protoc_insertion_point(parse_failure:google.protobuf.ServiceOptions)
   7288   return false;
   7289 #undef DO_
   7290 }
   7291 
   7292 void ServiceOptions::SerializeWithCachedSizes(
   7293     ::google::protobuf::io::CodedOutputStream* output) const {
   7294   // @@protoc_insertion_point(serialize_start:google.protobuf.ServiceOptions)
   7295   // optional bool deprecated = 33 [default = false];
   7296   if (has_deprecated()) {
   7297     ::google::protobuf::internal::WireFormatLite::WriteBool(33, this->deprecated(), output);
   7298   }
   7299 
   7300   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7301   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7302     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   7303       999, this->uninterpreted_option(i), output);
   7304   }
   7305 
   7306   // Extension range [1000, 536870912)
   7307   _extensions_.SerializeWithCachedSizes(
   7308       1000, 536870912, output);
   7309 
   7310   if (!unknown_fields().empty()) {
   7311     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7312         unknown_fields(), output);
   7313   }
   7314   // @@protoc_insertion_point(serialize_end:google.protobuf.ServiceOptions)
   7315 }
   7316 
   7317 ::google::protobuf::uint8* ServiceOptions::SerializeWithCachedSizesToArray(
   7318     ::google::protobuf::uint8* target) const {
   7319   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.ServiceOptions)
   7320   // optional bool deprecated = 33 [default = false];
   7321   if (has_deprecated()) {
   7322     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(33, this->deprecated(), target);
   7323   }
   7324 
   7325   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7326   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7327     target = ::google::protobuf::internal::WireFormatLite::
   7328       WriteMessageNoVirtualToArray(
   7329         999, this->uninterpreted_option(i), target);
   7330   }
   7331 
   7332   // Extension range [1000, 536870912)
   7333   target = _extensions_.SerializeWithCachedSizesToArray(
   7334       1000, 536870912, target);
   7335 
   7336   if (!unknown_fields().empty()) {
   7337     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7338         unknown_fields(), target);
   7339   }
   7340   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.ServiceOptions)
   7341   return target;
   7342 }
   7343 
   7344 int ServiceOptions::ByteSize() const {
   7345   int total_size = 0;
   7346 
   7347   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7348     // optional bool deprecated = 33 [default = false];
   7349     if (has_deprecated()) {
   7350       total_size += 2 + 1;
   7351     }
   7352 
   7353   }
   7354   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7355   total_size += 2 * this->uninterpreted_option_size();
   7356   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7357     total_size +=
   7358       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7359         this->uninterpreted_option(i));
   7360   }
   7361 
   7362   total_size += _extensions_.ByteSize();
   7363 
   7364   if (!unknown_fields().empty()) {
   7365     total_size +=
   7366       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7367         unknown_fields());
   7368   }
   7369   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7370   _cached_size_ = total_size;
   7371   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7372   return total_size;
   7373 }
   7374 
   7375 void ServiceOptions::MergeFrom(const ::google::protobuf::Message& from) {
   7376   GOOGLE_CHECK_NE(&from, this);
   7377   const ServiceOptions* source =
   7378     ::google::protobuf::internal::dynamic_cast_if_available<const ServiceOptions*>(
   7379       &from);
   7380   if (source == NULL) {
   7381     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7382   } else {
   7383     MergeFrom(*source);
   7384   }
   7385 }
   7386 
   7387 void ServiceOptions::MergeFrom(const ServiceOptions& from) {
   7388   GOOGLE_CHECK_NE(&from, this);
   7389   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   7390   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7391     if (from.has_deprecated()) {
   7392       set_deprecated(from.deprecated());
   7393     }
   7394   }
   7395   _extensions_.MergeFrom(from._extensions_);
   7396   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7397 }
   7398 
   7399 void ServiceOptions::CopyFrom(const ::google::protobuf::Message& from) {
   7400   if (&from == this) return;
   7401   Clear();
   7402   MergeFrom(from);
   7403 }
   7404 
   7405 void ServiceOptions::CopyFrom(const ServiceOptions& from) {
   7406   if (&from == this) return;
   7407   Clear();
   7408   MergeFrom(from);
   7409 }
   7410 
   7411 bool ServiceOptions::IsInitialized() const {
   7412 
   7413   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   7414 
   7415   if (!_extensions_.IsInitialized()) return false;  return true;
   7416 }
   7417 
   7418 void ServiceOptions::Swap(ServiceOptions* other) {
   7419   if (other != this) {
   7420     std::swap(deprecated_, other->deprecated_);
   7421     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   7422     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7423     _unknown_fields_.Swap(&other->_unknown_fields_);
   7424     std::swap(_cached_size_, other->_cached_size_);
   7425     _extensions_.Swap(&other->_extensions_);
   7426   }
   7427 }
   7428 
   7429 ::google::protobuf::Metadata ServiceOptions::GetMetadata() const {
   7430   protobuf_AssignDescriptorsOnce();
   7431   ::google::protobuf::Metadata metadata;
   7432   metadata.descriptor = ServiceOptions_descriptor_;
   7433   metadata.reflection = ServiceOptions_reflection_;
   7434   return metadata;
   7435 }
   7436 
   7437 
   7438 // ===================================================================
   7439 
   7440 #ifndef _MSC_VER
   7441 const int MethodOptions::kDeprecatedFieldNumber;
   7442 const int MethodOptions::kUninterpretedOptionFieldNumber;
   7443 #endif  // !_MSC_VER
   7444 
   7445 MethodOptions::MethodOptions()
   7446   : ::google::protobuf::Message() {
   7447   SharedCtor();
   7448   // @@protoc_insertion_point(constructor:google.protobuf.MethodOptions)
   7449 }
   7450 
   7451 void MethodOptions::InitAsDefaultInstance() {
   7452 }
   7453 
   7454 MethodOptions::MethodOptions(const MethodOptions& from)
   7455   : ::google::protobuf::Message() {
   7456   SharedCtor();
   7457   MergeFrom(from);
   7458   // @@protoc_insertion_point(copy_constructor:google.protobuf.MethodOptions)
   7459 }
   7460 
   7461 void MethodOptions::SharedCtor() {
   7462   _cached_size_ = 0;
   7463   deprecated_ = false;
   7464   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7465 }
   7466 
   7467 MethodOptions::~MethodOptions() {
   7468   // @@protoc_insertion_point(destructor:google.protobuf.MethodOptions)
   7469   SharedDtor();
   7470 }
   7471 
   7472 void MethodOptions::SharedDtor() {
   7473   if (this != default_instance_) {
   7474   }
   7475 }
   7476 
   7477 void MethodOptions::SetCachedSize(int size) const {
   7478   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7479   _cached_size_ = size;
   7480   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7481 }
   7482 const ::google::protobuf::Descriptor* MethodOptions::descriptor() {
   7483   protobuf_AssignDescriptorsOnce();
   7484   return MethodOptions_descriptor_;
   7485 }
   7486 
   7487 const MethodOptions& MethodOptions::default_instance() {
   7488   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7489   return *default_instance_;
   7490 }
   7491 
   7492 MethodOptions* MethodOptions::default_instance_ = NULL;
   7493 
   7494 MethodOptions* MethodOptions::New() const {
   7495   return new MethodOptions;
   7496 }
   7497 
   7498 void MethodOptions::Clear() {
   7499   _extensions_.Clear();
   7500   deprecated_ = false;
   7501   uninterpreted_option_.Clear();
   7502   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7503   mutable_unknown_fields()->Clear();
   7504 }
   7505 
   7506 bool MethodOptions::MergePartialFromCodedStream(
   7507     ::google::protobuf::io::CodedInputStream* input) {
   7508 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   7509   ::google::protobuf::uint32 tag;
   7510   // @@protoc_insertion_point(parse_start:google.protobuf.MethodOptions)
   7511   for (;;) {
   7512     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
   7513     tag = p.first;
   7514     if (!p.second) goto handle_unusual;
   7515     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7516       // optional bool deprecated = 33 [default = false];
   7517       case 33: {
   7518         if (tag == 264) {
   7519           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7520                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7521                  input, &deprecated_)));
   7522           set_has_deprecated();
   7523         } else {
   7524           goto handle_unusual;
   7525         }
   7526         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7527         break;
   7528       }
   7529 
   7530       // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7531       case 999: {
   7532         if (tag == 7994) {
   7533          parse_uninterpreted_option:
   7534           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   7535                 input, add_uninterpreted_option()));
   7536         } else {
   7537           goto handle_unusual;
   7538         }
   7539         if (input->ExpectTag(7994)) goto parse_uninterpreted_option;
   7540         if (input->ExpectAtEnd()) goto success;
   7541         break;
   7542       }
   7543 
   7544       default: {
   7545       handle_unusual:
   7546         if (tag == 0 ||
   7547             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7548             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7549           goto success;
   7550         }
   7551         if ((8000u <= tag)) {
   7552           DO_(_extensions_.ParseField(tag, input, default_instance_,
   7553                                       mutable_unknown_fields()));
   7554           continue;
   7555         }
   7556         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7557               input, tag, mutable_unknown_fields()));
   7558         break;
   7559       }
   7560     }
   7561   }
   7562 success:
   7563   // @@protoc_insertion_point(parse_success:google.protobuf.MethodOptions)
   7564   return true;
   7565 failure:
   7566   // @@protoc_insertion_point(parse_failure:google.protobuf.MethodOptions)
   7567   return false;
   7568 #undef DO_
   7569 }
   7570 
   7571 void MethodOptions::SerializeWithCachedSizes(
   7572     ::google::protobuf::io::CodedOutputStream* output) const {
   7573   // @@protoc_insertion_point(serialize_start:google.protobuf.MethodOptions)
   7574   // optional bool deprecated = 33 [default = false];
   7575   if (has_deprecated()) {
   7576     ::google::protobuf::internal::WireFormatLite::WriteBool(33, this->deprecated(), output);
   7577   }
   7578 
   7579   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7580   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7581     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   7582       999, this->uninterpreted_option(i), output);
   7583   }
   7584 
   7585   // Extension range [1000, 536870912)
   7586   _extensions_.SerializeWithCachedSizes(
   7587       1000, 536870912, output);
   7588 
   7589   if (!unknown_fields().empty()) {
   7590     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7591         unknown_fields(), output);
   7592   }
   7593   // @@protoc_insertion_point(serialize_end:google.protobuf.MethodOptions)
   7594 }
   7595 
   7596 ::google::protobuf::uint8* MethodOptions::SerializeWithCachedSizesToArray(
   7597     ::google::protobuf::uint8* target) const {
   7598   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.MethodOptions)
   7599   // optional bool deprecated = 33 [default = false];
   7600   if (has_deprecated()) {
   7601     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(33, this->deprecated(), target);
   7602   }
   7603 
   7604   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7605   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7606     target = ::google::protobuf::internal::WireFormatLite::
   7607       WriteMessageNoVirtualToArray(
   7608         999, this->uninterpreted_option(i), target);
   7609   }
   7610 
   7611   // Extension range [1000, 536870912)
   7612   target = _extensions_.SerializeWithCachedSizesToArray(
   7613       1000, 536870912, target);
   7614 
   7615   if (!unknown_fields().empty()) {
   7616     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7617         unknown_fields(), target);
   7618   }
   7619   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.MethodOptions)
   7620   return target;
   7621 }
   7622 
   7623 int MethodOptions::ByteSize() const {
   7624   int total_size = 0;
   7625 
   7626   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7627     // optional bool deprecated = 33 [default = false];
   7628     if (has_deprecated()) {
   7629       total_size += 2 + 1;
   7630     }
   7631 
   7632   }
   7633   // repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;
   7634   total_size += 2 * this->uninterpreted_option_size();
   7635   for (int i = 0; i < this->uninterpreted_option_size(); i++) {
   7636     total_size +=
   7637       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   7638         this->uninterpreted_option(i));
   7639   }
   7640 
   7641   total_size += _extensions_.ByteSize();
   7642 
   7643   if (!unknown_fields().empty()) {
   7644     total_size +=
   7645       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7646         unknown_fields());
   7647   }
   7648   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7649   _cached_size_ = total_size;
   7650   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7651   return total_size;
   7652 }
   7653 
   7654 void MethodOptions::MergeFrom(const ::google::protobuf::Message& from) {
   7655   GOOGLE_CHECK_NE(&from, this);
   7656   const MethodOptions* source =
   7657     ::google::protobuf::internal::dynamic_cast_if_available<const MethodOptions*>(
   7658       &from);
   7659   if (source == NULL) {
   7660     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7661   } else {
   7662     MergeFrom(*source);
   7663   }
   7664 }
   7665 
   7666 void MethodOptions::MergeFrom(const MethodOptions& from) {
   7667   GOOGLE_CHECK_NE(&from, this);
   7668   uninterpreted_option_.MergeFrom(from.uninterpreted_option_);
   7669   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7670     if (from.has_deprecated()) {
   7671       set_deprecated(from.deprecated());
   7672     }
   7673   }
   7674   _extensions_.MergeFrom(from._extensions_);
   7675   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7676 }
   7677 
   7678 void MethodOptions::CopyFrom(const ::google::protobuf::Message& from) {
   7679   if (&from == this) return;
   7680   Clear();
   7681   MergeFrom(from);
   7682 }
   7683 
   7684 void MethodOptions::CopyFrom(const MethodOptions& from) {
   7685   if (&from == this) return;
   7686   Clear();
   7687   MergeFrom(from);
   7688 }
   7689 
   7690 bool MethodOptions::IsInitialized() const {
   7691 
   7692   if (!::google::protobuf::internal::AllAreInitialized(this->uninterpreted_option())) return false;
   7693 
   7694   if (!_extensions_.IsInitialized()) return false;  return true;
   7695 }
   7696 
   7697 void MethodOptions::Swap(MethodOptions* other) {
   7698   if (other != this) {
   7699     std::swap(deprecated_, other->deprecated_);
   7700     uninterpreted_option_.Swap(&other->uninterpreted_option_);
   7701     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7702     _unknown_fields_.Swap(&other->_unknown_fields_);
   7703     std::swap(_cached_size_, other->_cached_size_);
   7704     _extensions_.Swap(&other->_extensions_);
   7705   }
   7706 }
   7707 
   7708 ::google::protobuf::Metadata MethodOptions::GetMetadata() const {
   7709   protobuf_AssignDescriptorsOnce();
   7710   ::google::protobuf::Metadata metadata;
   7711   metadata.descriptor = MethodOptions_descriptor_;
   7712   metadata.reflection = MethodOptions_reflection_;
   7713   return metadata;
   7714 }
   7715 
   7716 
   7717 // ===================================================================
   7718 
   7719 #ifndef _MSC_VER
   7720 const int UninterpretedOption_NamePart::kNamePartFieldNumber;
   7721 const int UninterpretedOption_NamePart::kIsExtensionFieldNumber;
   7722 #endif  // !_MSC_VER
   7723 
   7724 UninterpretedOption_NamePart::UninterpretedOption_NamePart()
   7725   : ::google::protobuf::Message() {
   7726   SharedCtor();
   7727   // @@protoc_insertion_point(constructor:google.protobuf.UninterpretedOption.NamePart)
   7728 }
   7729 
   7730 void UninterpretedOption_NamePart::InitAsDefaultInstance() {
   7731 }
   7732 
   7733 UninterpretedOption_NamePart::UninterpretedOption_NamePart(const UninterpretedOption_NamePart& from)
   7734   : ::google::protobuf::Message() {
   7735   SharedCtor();
   7736   MergeFrom(from);
   7737   // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption.NamePart)
   7738 }
   7739 
   7740 void UninterpretedOption_NamePart::SharedCtor() {
   7741   ::google::protobuf::internal::GetEmptyString();
   7742   _cached_size_ = 0;
   7743   name_part_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   7744   is_extension_ = false;
   7745   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7746 }
   7747 
   7748 UninterpretedOption_NamePart::~UninterpretedOption_NamePart() {
   7749   // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption.NamePart)
   7750   SharedDtor();
   7751 }
   7752 
   7753 void UninterpretedOption_NamePart::SharedDtor() {
   7754   if (name_part_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   7755     delete name_part_;
   7756   }
   7757   if (this != default_instance_) {
   7758   }
   7759 }
   7760 
   7761 void UninterpretedOption_NamePart::SetCachedSize(int size) const {
   7762   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7763   _cached_size_ = size;
   7764   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7765 }
   7766 const ::google::protobuf::Descriptor* UninterpretedOption_NamePart::descriptor() {
   7767   protobuf_AssignDescriptorsOnce();
   7768   return UninterpretedOption_NamePart_descriptor_;
   7769 }
   7770 
   7771 const UninterpretedOption_NamePart& UninterpretedOption_NamePart::default_instance() {
   7772   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   7773   return *default_instance_;
   7774 }
   7775 
   7776 UninterpretedOption_NamePart* UninterpretedOption_NamePart::default_instance_ = NULL;
   7777 
   7778 UninterpretedOption_NamePart* UninterpretedOption_NamePart::New() const {
   7779   return new UninterpretedOption_NamePart;
   7780 }
   7781 
   7782 void UninterpretedOption_NamePart::Clear() {
   7783   if (_has_bits_[0 / 32] & 3) {
   7784     if (has_name_part()) {
   7785       if (name_part_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   7786         name_part_->clear();
   7787       }
   7788     }
   7789     is_extension_ = false;
   7790   }
   7791   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   7792   mutable_unknown_fields()->Clear();
   7793 }
   7794 
   7795 bool UninterpretedOption_NamePart::MergePartialFromCodedStream(
   7796     ::google::protobuf::io::CodedInputStream* input) {
   7797 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   7798   ::google::protobuf::uint32 tag;
   7799   // @@protoc_insertion_point(parse_start:google.protobuf.UninterpretedOption.NamePart)
   7800   for (;;) {
   7801     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   7802     tag = p.first;
   7803     if (!p.second) goto handle_unusual;
   7804     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   7805       // required string name_part = 1;
   7806       case 1: {
   7807         if (tag == 10) {
   7808           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   7809                 input, this->mutable_name_part()));
   7810           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7811             this->name_part().data(), this->name_part().length(),
   7812             ::google::protobuf::internal::WireFormat::PARSE,
   7813             "name_part");
   7814         } else {
   7815           goto handle_unusual;
   7816         }
   7817         if (input->ExpectTag(16)) goto parse_is_extension;
   7818         break;
   7819       }
   7820 
   7821       // required bool is_extension = 2;
   7822       case 2: {
   7823         if (tag == 16) {
   7824          parse_is_extension:
   7825           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   7826                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
   7827                  input, &is_extension_)));
   7828           set_has_is_extension();
   7829         } else {
   7830           goto handle_unusual;
   7831         }
   7832         if (input->ExpectAtEnd()) goto success;
   7833         break;
   7834       }
   7835 
   7836       default: {
   7837       handle_unusual:
   7838         if (tag == 0 ||
   7839             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   7840             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   7841           goto success;
   7842         }
   7843         DO_(::google::protobuf::internal::WireFormat::SkipField(
   7844               input, tag, mutable_unknown_fields()));
   7845         break;
   7846       }
   7847     }
   7848   }
   7849 success:
   7850   // @@protoc_insertion_point(parse_success:google.protobuf.UninterpretedOption.NamePart)
   7851   return true;
   7852 failure:
   7853   // @@protoc_insertion_point(parse_failure:google.protobuf.UninterpretedOption.NamePart)
   7854   return false;
   7855 #undef DO_
   7856 }
   7857 
   7858 void UninterpretedOption_NamePart::SerializeWithCachedSizes(
   7859     ::google::protobuf::io::CodedOutputStream* output) const {
   7860   // @@protoc_insertion_point(serialize_start:google.protobuf.UninterpretedOption.NamePart)
   7861   // required string name_part = 1;
   7862   if (has_name_part()) {
   7863     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7864       this->name_part().data(), this->name_part().length(),
   7865       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7866       "name_part");
   7867     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   7868       1, this->name_part(), output);
   7869   }
   7870 
   7871   // required bool is_extension = 2;
   7872   if (has_is_extension()) {
   7873     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_extension(), output);
   7874   }
   7875 
   7876   if (!unknown_fields().empty()) {
   7877     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   7878         unknown_fields(), output);
   7879   }
   7880   // @@protoc_insertion_point(serialize_end:google.protobuf.UninterpretedOption.NamePart)
   7881 }
   7882 
   7883 ::google::protobuf::uint8* UninterpretedOption_NamePart::SerializeWithCachedSizesToArray(
   7884     ::google::protobuf::uint8* target) const {
   7885   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption.NamePart)
   7886   // required string name_part = 1;
   7887   if (has_name_part()) {
   7888     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   7889       this->name_part().data(), this->name_part().length(),
   7890       ::google::protobuf::internal::WireFormat::SERIALIZE,
   7891       "name_part");
   7892     target =
   7893       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   7894         1, this->name_part(), target);
   7895   }
   7896 
   7897   // required bool is_extension = 2;
   7898   if (has_is_extension()) {
   7899     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->is_extension(), target);
   7900   }
   7901 
   7902   if (!unknown_fields().empty()) {
   7903     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   7904         unknown_fields(), target);
   7905   }
   7906   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption.NamePart)
   7907   return target;
   7908 }
   7909 
   7910 int UninterpretedOption_NamePart::ByteSize() const {
   7911   int total_size = 0;
   7912 
   7913   if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7914     // required string name_part = 1;
   7915     if (has_name_part()) {
   7916       total_size += 1 +
   7917         ::google::protobuf::internal::WireFormatLite::StringSize(
   7918           this->name_part());
   7919     }
   7920 
   7921     // required bool is_extension = 2;
   7922     if (has_is_extension()) {
   7923       total_size += 1 + 1;
   7924     }
   7925 
   7926   }
   7927   if (!unknown_fields().empty()) {
   7928     total_size +=
   7929       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   7930         unknown_fields());
   7931   }
   7932   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   7933   _cached_size_ = total_size;
   7934   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   7935   return total_size;
   7936 }
   7937 
   7938 void UninterpretedOption_NamePart::MergeFrom(const ::google::protobuf::Message& from) {
   7939   GOOGLE_CHECK_NE(&from, this);
   7940   const UninterpretedOption_NamePart* source =
   7941     ::google::protobuf::internal::dynamic_cast_if_available<const UninterpretedOption_NamePart*>(
   7942       &from);
   7943   if (source == NULL) {
   7944     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   7945   } else {
   7946     MergeFrom(*source);
   7947   }
   7948 }
   7949 
   7950 void UninterpretedOption_NamePart::MergeFrom(const UninterpretedOption_NamePart& from) {
   7951   GOOGLE_CHECK_NE(&from, this);
   7952   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
   7953     if (from.has_name_part()) {
   7954       set_name_part(from.name_part());
   7955     }
   7956     if (from.has_is_extension()) {
   7957       set_is_extension(from.is_extension());
   7958     }
   7959   }
   7960   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   7961 }
   7962 
   7963 void UninterpretedOption_NamePart::CopyFrom(const ::google::protobuf::Message& from) {
   7964   if (&from == this) return;
   7965   Clear();
   7966   MergeFrom(from);
   7967 }
   7968 
   7969 void UninterpretedOption_NamePart::CopyFrom(const UninterpretedOption_NamePart& from) {
   7970   if (&from == this) return;
   7971   Clear();
   7972   MergeFrom(from);
   7973 }
   7974 
   7975 bool UninterpretedOption_NamePart::IsInitialized() const {
   7976   if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
   7977 
   7978   return true;
   7979 }
   7980 
   7981 void UninterpretedOption_NamePart::Swap(UninterpretedOption_NamePart* other) {
   7982   if (other != this) {
   7983     std::swap(name_part_, other->name_part_);
   7984     std::swap(is_extension_, other->is_extension_);
   7985     std::swap(_has_bits_[0], other->_has_bits_[0]);
   7986     _unknown_fields_.Swap(&other->_unknown_fields_);
   7987     std::swap(_cached_size_, other->_cached_size_);
   7988   }
   7989 }
   7990 
   7991 ::google::protobuf::Metadata UninterpretedOption_NamePart::GetMetadata() const {
   7992   protobuf_AssignDescriptorsOnce();
   7993   ::google::protobuf::Metadata metadata;
   7994   metadata.descriptor = UninterpretedOption_NamePart_descriptor_;
   7995   metadata.reflection = UninterpretedOption_NamePart_reflection_;
   7996   return metadata;
   7997 }
   7998 
   7999 
   8000 // -------------------------------------------------------------------
   8001 
   8002 #ifndef _MSC_VER
   8003 const int UninterpretedOption::kNameFieldNumber;
   8004 const int UninterpretedOption::kIdentifierValueFieldNumber;
   8005 const int UninterpretedOption::kPositiveIntValueFieldNumber;
   8006 const int UninterpretedOption::kNegativeIntValueFieldNumber;
   8007 const int UninterpretedOption::kDoubleValueFieldNumber;
   8008 const int UninterpretedOption::kStringValueFieldNumber;
   8009 const int UninterpretedOption::kAggregateValueFieldNumber;
   8010 #endif  // !_MSC_VER
   8011 
   8012 UninterpretedOption::UninterpretedOption()
   8013   : ::google::protobuf::Message() {
   8014   SharedCtor();
   8015   // @@protoc_insertion_point(constructor:google.protobuf.UninterpretedOption)
   8016 }
   8017 
   8018 void UninterpretedOption::InitAsDefaultInstance() {
   8019 }
   8020 
   8021 UninterpretedOption::UninterpretedOption(const UninterpretedOption& from)
   8022   : ::google::protobuf::Message() {
   8023   SharedCtor();
   8024   MergeFrom(from);
   8025   // @@protoc_insertion_point(copy_constructor:google.protobuf.UninterpretedOption)
   8026 }
   8027 
   8028 void UninterpretedOption::SharedCtor() {
   8029   ::google::protobuf::internal::GetEmptyString();
   8030   _cached_size_ = 0;
   8031   identifier_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8032   positive_int_value_ = GOOGLE_ULONGLONG(0);
   8033   negative_int_value_ = GOOGLE_LONGLONG(0);
   8034   double_value_ = 0;
   8035   string_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8036   aggregate_value_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8037   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8038 }
   8039 
   8040 UninterpretedOption::~UninterpretedOption() {
   8041   // @@protoc_insertion_point(destructor:google.protobuf.UninterpretedOption)
   8042   SharedDtor();
   8043 }
   8044 
   8045 void UninterpretedOption::SharedDtor() {
   8046   if (identifier_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8047     delete identifier_value_;
   8048   }
   8049   if (string_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8050     delete string_value_;
   8051   }
   8052   if (aggregate_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8053     delete aggregate_value_;
   8054   }
   8055   if (this != default_instance_) {
   8056   }
   8057 }
   8058 
   8059 void UninterpretedOption::SetCachedSize(int size) const {
   8060   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8061   _cached_size_ = size;
   8062   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8063 }
   8064 const ::google::protobuf::Descriptor* UninterpretedOption::descriptor() {
   8065   protobuf_AssignDescriptorsOnce();
   8066   return UninterpretedOption_descriptor_;
   8067 }
   8068 
   8069 const UninterpretedOption& UninterpretedOption::default_instance() {
   8070   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   8071   return *default_instance_;
   8072 }
   8073 
   8074 UninterpretedOption* UninterpretedOption::default_instance_ = NULL;
   8075 
   8076 UninterpretedOption* UninterpretedOption::New() const {
   8077   return new UninterpretedOption;
   8078 }
   8079 
   8080 void UninterpretedOption::Clear() {
   8081 #define OFFSET_OF_FIELD_(f) (reinterpret_cast<char*>(      \
   8082   &reinterpret_cast<UninterpretedOption*>(16)->f) - \
   8083    reinterpret_cast<char*>(16))
   8084 
   8085 #define ZR_(first, last) do {                              \
   8086     size_t f = OFFSET_OF_FIELD_(first);                    \
   8087     size_t n = OFFSET_OF_FIELD_(last) - f + sizeof(last);  \
   8088     ::memset(&first, 0, n);                                \
   8089   } while (0)
   8090 
   8091   if (_has_bits_[0 / 32] & 126) {
   8092     ZR_(positive_int_value_, double_value_);
   8093     if (has_identifier_value()) {
   8094       if (identifier_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8095         identifier_value_->clear();
   8096       }
   8097     }
   8098     if (has_string_value()) {
   8099       if (string_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8100         string_value_->clear();
   8101       }
   8102     }
   8103     if (has_aggregate_value()) {
   8104       if (aggregate_value_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8105         aggregate_value_->clear();
   8106       }
   8107     }
   8108   }
   8109 
   8110 #undef OFFSET_OF_FIELD_
   8111 #undef ZR_
   8112 
   8113   name_.Clear();
   8114   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8115   mutable_unknown_fields()->Clear();
   8116 }
   8117 
   8118 bool UninterpretedOption::MergePartialFromCodedStream(
   8119     ::google::protobuf::io::CodedInputStream* input) {
   8120 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   8121   ::google::protobuf::uint32 tag;
   8122   // @@protoc_insertion_point(parse_start:google.protobuf.UninterpretedOption)
   8123   for (;;) {
   8124     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   8125     tag = p.first;
   8126     if (!p.second) goto handle_unusual;
   8127     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   8128       // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8129       case 2: {
   8130         if (tag == 18) {
   8131          parse_name:
   8132           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   8133                 input, add_name()));
   8134         } else {
   8135           goto handle_unusual;
   8136         }
   8137         if (input->ExpectTag(18)) goto parse_name;
   8138         if (input->ExpectTag(26)) goto parse_identifier_value;
   8139         break;
   8140       }
   8141 
   8142       // optional string identifier_value = 3;
   8143       case 3: {
   8144         if (tag == 26) {
   8145          parse_identifier_value:
   8146           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8147                 input, this->mutable_identifier_value()));
   8148           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8149             this->identifier_value().data(), this->identifier_value().length(),
   8150             ::google::protobuf::internal::WireFormat::PARSE,
   8151             "identifier_value");
   8152         } else {
   8153           goto handle_unusual;
   8154         }
   8155         if (input->ExpectTag(32)) goto parse_positive_int_value;
   8156         break;
   8157       }
   8158 
   8159       // optional uint64 positive_int_value = 4;
   8160       case 4: {
   8161         if (tag == 32) {
   8162          parse_positive_int_value:
   8163           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8164                    ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
   8165                  input, &positive_int_value_)));
   8166           set_has_positive_int_value();
   8167         } else {
   8168           goto handle_unusual;
   8169         }
   8170         if (input->ExpectTag(40)) goto parse_negative_int_value;
   8171         break;
   8172       }
   8173 
   8174       // optional int64 negative_int_value = 5;
   8175       case 5: {
   8176         if (tag == 40) {
   8177          parse_negative_int_value:
   8178           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8179                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
   8180                  input, &negative_int_value_)));
   8181           set_has_negative_int_value();
   8182         } else {
   8183           goto handle_unusual;
   8184         }
   8185         if (input->ExpectTag(49)) goto parse_double_value;
   8186         break;
   8187       }
   8188 
   8189       // optional double double_value = 6;
   8190       case 6: {
   8191         if (tag == 49) {
   8192          parse_double_value:
   8193           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
   8194                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
   8195                  input, &double_value_)));
   8196           set_has_double_value();
   8197         } else {
   8198           goto handle_unusual;
   8199         }
   8200         if (input->ExpectTag(58)) goto parse_string_value;
   8201         break;
   8202       }
   8203 
   8204       // optional bytes string_value = 7;
   8205       case 7: {
   8206         if (tag == 58) {
   8207          parse_string_value:
   8208           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
   8209                 input, this->mutable_string_value()));
   8210         } else {
   8211           goto handle_unusual;
   8212         }
   8213         if (input->ExpectTag(66)) goto parse_aggregate_value;
   8214         break;
   8215       }
   8216 
   8217       // optional string aggregate_value = 8;
   8218       case 8: {
   8219         if (tag == 66) {
   8220          parse_aggregate_value:
   8221           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8222                 input, this->mutable_aggregate_value()));
   8223           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8224             this->aggregate_value().data(), this->aggregate_value().length(),
   8225             ::google::protobuf::internal::WireFormat::PARSE,
   8226             "aggregate_value");
   8227         } else {
   8228           goto handle_unusual;
   8229         }
   8230         if (input->ExpectAtEnd()) goto success;
   8231         break;
   8232       }
   8233 
   8234       default: {
   8235       handle_unusual:
   8236         if (tag == 0 ||
   8237             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   8238             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   8239           goto success;
   8240         }
   8241         DO_(::google::protobuf::internal::WireFormat::SkipField(
   8242               input, tag, mutable_unknown_fields()));
   8243         break;
   8244       }
   8245     }
   8246   }
   8247 success:
   8248   // @@protoc_insertion_point(parse_success:google.protobuf.UninterpretedOption)
   8249   return true;
   8250 failure:
   8251   // @@protoc_insertion_point(parse_failure:google.protobuf.UninterpretedOption)
   8252   return false;
   8253 #undef DO_
   8254 }
   8255 
   8256 void UninterpretedOption::SerializeWithCachedSizes(
   8257     ::google::protobuf::io::CodedOutputStream* output) const {
   8258   // @@protoc_insertion_point(serialize_start:google.protobuf.UninterpretedOption)
   8259   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8260   for (int i = 0; i < this->name_size(); i++) {
   8261     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   8262       2, this->name(i), output);
   8263   }
   8264 
   8265   // optional string identifier_value = 3;
   8266   if (has_identifier_value()) {
   8267     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8268       this->identifier_value().data(), this->identifier_value().length(),
   8269       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8270       "identifier_value");
   8271     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8272       3, this->identifier_value(), output);
   8273   }
   8274 
   8275   // optional uint64 positive_int_value = 4;
   8276   if (has_positive_int_value()) {
   8277     ::google::protobuf::internal::WireFormatLite::WriteUInt64(4, this->positive_int_value(), output);
   8278   }
   8279 
   8280   // optional int64 negative_int_value = 5;
   8281   if (has_negative_int_value()) {
   8282     ::google::protobuf::internal::WireFormatLite::WriteInt64(5, this->negative_int_value(), output);
   8283   }
   8284 
   8285   // optional double double_value = 6;
   8286   if (has_double_value()) {
   8287     ::google::protobuf::internal::WireFormatLite::WriteDouble(6, this->double_value(), output);
   8288   }
   8289 
   8290   // optional bytes string_value = 7;
   8291   if (has_string_value()) {
   8292     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
   8293       7, this->string_value(), output);
   8294   }
   8295 
   8296   // optional string aggregate_value = 8;
   8297   if (has_aggregate_value()) {
   8298     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8299       this->aggregate_value().data(), this->aggregate_value().length(),
   8300       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8301       "aggregate_value");
   8302     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8303       8, this->aggregate_value(), output);
   8304   }
   8305 
   8306   if (!unknown_fields().empty()) {
   8307     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   8308         unknown_fields(), output);
   8309   }
   8310   // @@protoc_insertion_point(serialize_end:google.protobuf.UninterpretedOption)
   8311 }
   8312 
   8313 ::google::protobuf::uint8* UninterpretedOption::SerializeWithCachedSizesToArray(
   8314     ::google::protobuf::uint8* target) const {
   8315   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.UninterpretedOption)
   8316   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8317   for (int i = 0; i < this->name_size(); i++) {
   8318     target = ::google::protobuf::internal::WireFormatLite::
   8319       WriteMessageNoVirtualToArray(
   8320         2, this->name(i), target);
   8321   }
   8322 
   8323   // optional string identifier_value = 3;
   8324   if (has_identifier_value()) {
   8325     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8326       this->identifier_value().data(), this->identifier_value().length(),
   8327       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8328       "identifier_value");
   8329     target =
   8330       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8331         3, this->identifier_value(), target);
   8332   }
   8333 
   8334   // optional uint64 positive_int_value = 4;
   8335   if (has_positive_int_value()) {
   8336     target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(4, this->positive_int_value(), target);
   8337   }
   8338 
   8339   // optional int64 negative_int_value = 5;
   8340   if (has_negative_int_value()) {
   8341     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(5, this->negative_int_value(), target);
   8342   }
   8343 
   8344   // optional double double_value = 6;
   8345   if (has_double_value()) {
   8346     target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(6, this->double_value(), target);
   8347   }
   8348 
   8349   // optional bytes string_value = 7;
   8350   if (has_string_value()) {
   8351     target =
   8352       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
   8353         7, this->string_value(), target);
   8354   }
   8355 
   8356   // optional string aggregate_value = 8;
   8357   if (has_aggregate_value()) {
   8358     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8359       this->aggregate_value().data(), this->aggregate_value().length(),
   8360       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8361       "aggregate_value");
   8362     target =
   8363       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8364         8, this->aggregate_value(), target);
   8365   }
   8366 
   8367   if (!unknown_fields().empty()) {
   8368     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   8369         unknown_fields(), target);
   8370   }
   8371   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.UninterpretedOption)
   8372   return target;
   8373 }
   8374 
   8375 int UninterpretedOption::ByteSize() const {
   8376   int total_size = 0;
   8377 
   8378   if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   8379     // optional string identifier_value = 3;
   8380     if (has_identifier_value()) {
   8381       total_size += 1 +
   8382         ::google::protobuf::internal::WireFormatLite::StringSize(
   8383           this->identifier_value());
   8384     }
   8385 
   8386     // optional uint64 positive_int_value = 4;
   8387     if (has_positive_int_value()) {
   8388       total_size += 1 +
   8389         ::google::protobuf::internal::WireFormatLite::UInt64Size(
   8390           this->positive_int_value());
   8391     }
   8392 
   8393     // optional int64 negative_int_value = 5;
   8394     if (has_negative_int_value()) {
   8395       total_size += 1 +
   8396         ::google::protobuf::internal::WireFormatLite::Int64Size(
   8397           this->negative_int_value());
   8398     }
   8399 
   8400     // optional double double_value = 6;
   8401     if (has_double_value()) {
   8402       total_size += 1 + 8;
   8403     }
   8404 
   8405     // optional bytes string_value = 7;
   8406     if (has_string_value()) {
   8407       total_size += 1 +
   8408         ::google::protobuf::internal::WireFormatLite::BytesSize(
   8409           this->string_value());
   8410     }
   8411 
   8412     // optional string aggregate_value = 8;
   8413     if (has_aggregate_value()) {
   8414       total_size += 1 +
   8415         ::google::protobuf::internal::WireFormatLite::StringSize(
   8416           this->aggregate_value());
   8417     }
   8418 
   8419   }
   8420   // repeated .google.protobuf.UninterpretedOption.NamePart name = 2;
   8421   total_size += 1 * this->name_size();
   8422   for (int i = 0; i < this->name_size(); i++) {
   8423     total_size +=
   8424       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   8425         this->name(i));
   8426   }
   8427 
   8428   if (!unknown_fields().empty()) {
   8429     total_size +=
   8430       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   8431         unknown_fields());
   8432   }
   8433   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8434   _cached_size_ = total_size;
   8435   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8436   return total_size;
   8437 }
   8438 
   8439 void UninterpretedOption::MergeFrom(const ::google::protobuf::Message& from) {
   8440   GOOGLE_CHECK_NE(&from, this);
   8441   const UninterpretedOption* source =
   8442     ::google::protobuf::internal::dynamic_cast_if_available<const UninterpretedOption*>(
   8443       &from);
   8444   if (source == NULL) {
   8445     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   8446   } else {
   8447     MergeFrom(*source);
   8448   }
   8449 }
   8450 
   8451 void UninterpretedOption::MergeFrom(const UninterpretedOption& from) {
   8452   GOOGLE_CHECK_NE(&from, this);
   8453   name_.MergeFrom(from.name_);
   8454   if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) {
   8455     if (from.has_identifier_value()) {
   8456       set_identifier_value(from.identifier_value());
   8457     }
   8458     if (from.has_positive_int_value()) {
   8459       set_positive_int_value(from.positive_int_value());
   8460     }
   8461     if (from.has_negative_int_value()) {
   8462       set_negative_int_value(from.negative_int_value());
   8463     }
   8464     if (from.has_double_value()) {
   8465       set_double_value(from.double_value());
   8466     }
   8467     if (from.has_string_value()) {
   8468       set_string_value(from.string_value());
   8469     }
   8470     if (from.has_aggregate_value()) {
   8471       set_aggregate_value(from.aggregate_value());
   8472     }
   8473   }
   8474   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   8475 }
   8476 
   8477 void UninterpretedOption::CopyFrom(const ::google::protobuf::Message& from) {
   8478   if (&from == this) return;
   8479   Clear();
   8480   MergeFrom(from);
   8481 }
   8482 
   8483 void UninterpretedOption::CopyFrom(const UninterpretedOption& from) {
   8484   if (&from == this) return;
   8485   Clear();
   8486   MergeFrom(from);
   8487 }
   8488 
   8489 bool UninterpretedOption::IsInitialized() const {
   8490 
   8491   if (!::google::protobuf::internal::AllAreInitialized(this->name())) return false;
   8492   return true;
   8493 }
   8494 
   8495 void UninterpretedOption::Swap(UninterpretedOption* other) {
   8496   if (other != this) {
   8497     name_.Swap(&other->name_);
   8498     std::swap(identifier_value_, other->identifier_value_);
   8499     std::swap(positive_int_value_, other->positive_int_value_);
   8500     std::swap(negative_int_value_, other->negative_int_value_);
   8501     std::swap(double_value_, other->double_value_);
   8502     std::swap(string_value_, other->string_value_);
   8503     std::swap(aggregate_value_, other->aggregate_value_);
   8504     std::swap(_has_bits_[0], other->_has_bits_[0]);
   8505     _unknown_fields_.Swap(&other->_unknown_fields_);
   8506     std::swap(_cached_size_, other->_cached_size_);
   8507   }
   8508 }
   8509 
   8510 ::google::protobuf::Metadata UninterpretedOption::GetMetadata() const {
   8511   protobuf_AssignDescriptorsOnce();
   8512   ::google::protobuf::Metadata metadata;
   8513   metadata.descriptor = UninterpretedOption_descriptor_;
   8514   metadata.reflection = UninterpretedOption_reflection_;
   8515   return metadata;
   8516 }
   8517 
   8518 
   8519 // ===================================================================
   8520 
   8521 #ifndef _MSC_VER
   8522 const int SourceCodeInfo_Location::kPathFieldNumber;
   8523 const int SourceCodeInfo_Location::kSpanFieldNumber;
   8524 const int SourceCodeInfo_Location::kLeadingCommentsFieldNumber;
   8525 const int SourceCodeInfo_Location::kTrailingCommentsFieldNumber;
   8526 #endif  // !_MSC_VER
   8527 
   8528 SourceCodeInfo_Location::SourceCodeInfo_Location()
   8529   : ::google::protobuf::Message() {
   8530   SharedCtor();
   8531   // @@protoc_insertion_point(constructor:google.protobuf.SourceCodeInfo.Location)
   8532 }
   8533 
   8534 void SourceCodeInfo_Location::InitAsDefaultInstance() {
   8535 }
   8536 
   8537 SourceCodeInfo_Location::SourceCodeInfo_Location(const SourceCodeInfo_Location& from)
   8538   : ::google::protobuf::Message() {
   8539   SharedCtor();
   8540   MergeFrom(from);
   8541   // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo.Location)
   8542 }
   8543 
   8544 void SourceCodeInfo_Location::SharedCtor() {
   8545   ::google::protobuf::internal::GetEmptyString();
   8546   _cached_size_ = 0;
   8547   leading_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8548   trailing_comments_ = const_cast< ::std::string*>(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
   8549   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8550 }
   8551 
   8552 SourceCodeInfo_Location::~SourceCodeInfo_Location() {
   8553   // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo.Location)
   8554   SharedDtor();
   8555 }
   8556 
   8557 void SourceCodeInfo_Location::SharedDtor() {
   8558   if (leading_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8559     delete leading_comments_;
   8560   }
   8561   if (trailing_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8562     delete trailing_comments_;
   8563   }
   8564   if (this != default_instance_) {
   8565   }
   8566 }
   8567 
   8568 void SourceCodeInfo_Location::SetCachedSize(int size) const {
   8569   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8570   _cached_size_ = size;
   8571   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8572 }
   8573 const ::google::protobuf::Descriptor* SourceCodeInfo_Location::descriptor() {
   8574   protobuf_AssignDescriptorsOnce();
   8575   return SourceCodeInfo_Location_descriptor_;
   8576 }
   8577 
   8578 const SourceCodeInfo_Location& SourceCodeInfo_Location::default_instance() {
   8579   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   8580   return *default_instance_;
   8581 }
   8582 
   8583 SourceCodeInfo_Location* SourceCodeInfo_Location::default_instance_ = NULL;
   8584 
   8585 SourceCodeInfo_Location* SourceCodeInfo_Location::New() const {
   8586   return new SourceCodeInfo_Location;
   8587 }
   8588 
   8589 void SourceCodeInfo_Location::Clear() {
   8590   if (_has_bits_[0 / 32] & 12) {
   8591     if (has_leading_comments()) {
   8592       if (leading_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8593         leading_comments_->clear();
   8594       }
   8595     }
   8596     if (has_trailing_comments()) {
   8597       if (trailing_comments_ != &::google::protobuf::internal::GetEmptyStringAlreadyInited()) {
   8598         trailing_comments_->clear();
   8599       }
   8600     }
   8601   }
   8602   path_.Clear();
   8603   span_.Clear();
   8604   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8605   mutable_unknown_fields()->Clear();
   8606 }
   8607 
   8608 bool SourceCodeInfo_Location::MergePartialFromCodedStream(
   8609     ::google::protobuf::io::CodedInputStream* input) {
   8610 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   8611   ::google::protobuf::uint32 tag;
   8612   // @@protoc_insertion_point(parse_start:google.protobuf.SourceCodeInfo.Location)
   8613   for (;;) {
   8614     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   8615     tag = p.first;
   8616     if (!p.second) goto handle_unusual;
   8617     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   8618       // repeated int32 path = 1 [packed = true];
   8619       case 1: {
   8620         if (tag == 10) {
   8621           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   8622                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8623                  input, this->mutable_path())));
   8624         } else if (tag == 8) {
   8625           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   8626                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8627                  1, 10, input, this->mutable_path())));
   8628         } else {
   8629           goto handle_unusual;
   8630         }
   8631         if (input->ExpectTag(18)) goto parse_span;
   8632         break;
   8633       }
   8634 
   8635       // repeated int32 span = 2 [packed = true];
   8636       case 2: {
   8637         if (tag == 18) {
   8638          parse_span:
   8639           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
   8640                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8641                  input, this->mutable_span())));
   8642         } else if (tag == 16) {
   8643           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
   8644                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
   8645                  1, 18, input, this->mutable_span())));
   8646         } else {
   8647           goto handle_unusual;
   8648         }
   8649         if (input->ExpectTag(26)) goto parse_leading_comments;
   8650         break;
   8651       }
   8652 
   8653       // optional string leading_comments = 3;
   8654       case 3: {
   8655         if (tag == 26) {
   8656          parse_leading_comments:
   8657           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8658                 input, this->mutable_leading_comments()));
   8659           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8660             this->leading_comments().data(), this->leading_comments().length(),
   8661             ::google::protobuf::internal::WireFormat::PARSE,
   8662             "leading_comments");
   8663         } else {
   8664           goto handle_unusual;
   8665         }
   8666         if (input->ExpectTag(34)) goto parse_trailing_comments;
   8667         break;
   8668       }
   8669 
   8670       // optional string trailing_comments = 4;
   8671       case 4: {
   8672         if (tag == 34) {
   8673          parse_trailing_comments:
   8674           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
   8675                 input, this->mutable_trailing_comments()));
   8676           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8677             this->trailing_comments().data(), this->trailing_comments().length(),
   8678             ::google::protobuf::internal::WireFormat::PARSE,
   8679             "trailing_comments");
   8680         } else {
   8681           goto handle_unusual;
   8682         }
   8683         if (input->ExpectAtEnd()) goto success;
   8684         break;
   8685       }
   8686 
   8687       default: {
   8688       handle_unusual:
   8689         if (tag == 0 ||
   8690             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   8691             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   8692           goto success;
   8693         }
   8694         DO_(::google::protobuf::internal::WireFormat::SkipField(
   8695               input, tag, mutable_unknown_fields()));
   8696         break;
   8697       }
   8698     }
   8699   }
   8700 success:
   8701   // @@protoc_insertion_point(parse_success:google.protobuf.SourceCodeInfo.Location)
   8702   return true;
   8703 failure:
   8704   // @@protoc_insertion_point(parse_failure:google.protobuf.SourceCodeInfo.Location)
   8705   return false;
   8706 #undef DO_
   8707 }
   8708 
   8709 void SourceCodeInfo_Location::SerializeWithCachedSizes(
   8710     ::google::protobuf::io::CodedOutputStream* output) const {
   8711   // @@protoc_insertion_point(serialize_start:google.protobuf.SourceCodeInfo.Location)
   8712   // repeated int32 path = 1 [packed = true];
   8713   if (this->path_size() > 0) {
   8714     ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   8715     output->WriteVarint32(_path_cached_byte_size_);
   8716   }
   8717   for (int i = 0; i < this->path_size(); i++) {
   8718     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   8719       this->path(i), output);
   8720   }
   8721 
   8722   // repeated int32 span = 2 [packed = true];
   8723   if (this->span_size() > 0) {
   8724     ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
   8725     output->WriteVarint32(_span_cached_byte_size_);
   8726   }
   8727   for (int i = 0; i < this->span_size(); i++) {
   8728     ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
   8729       this->span(i), output);
   8730   }
   8731 
   8732   // optional string leading_comments = 3;
   8733   if (has_leading_comments()) {
   8734     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8735       this->leading_comments().data(), this->leading_comments().length(),
   8736       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8737       "leading_comments");
   8738     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8739       3, this->leading_comments(), output);
   8740   }
   8741 
   8742   // optional string trailing_comments = 4;
   8743   if (has_trailing_comments()) {
   8744     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8745       this->trailing_comments().data(), this->trailing_comments().length(),
   8746       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8747       "trailing_comments");
   8748     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
   8749       4, this->trailing_comments(), output);
   8750   }
   8751 
   8752   if (!unknown_fields().empty()) {
   8753     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   8754         unknown_fields(), output);
   8755   }
   8756   // @@protoc_insertion_point(serialize_end:google.protobuf.SourceCodeInfo.Location)
   8757 }
   8758 
   8759 ::google::protobuf::uint8* SourceCodeInfo_Location::SerializeWithCachedSizesToArray(
   8760     ::google::protobuf::uint8* target) const {
   8761   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo.Location)
   8762   // repeated int32 path = 1 [packed = true];
   8763   if (this->path_size() > 0) {
   8764     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   8765       1,
   8766       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   8767       target);
   8768     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   8769       _path_cached_byte_size_, target);
   8770   }
   8771   for (int i = 0; i < this->path_size(); i++) {
   8772     target = ::google::protobuf::internal::WireFormatLite::
   8773       WriteInt32NoTagToArray(this->path(i), target);
   8774   }
   8775 
   8776   // repeated int32 span = 2 [packed = true];
   8777   if (this->span_size() > 0) {
   8778     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
   8779       2,
   8780       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
   8781       target);
   8782     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
   8783       _span_cached_byte_size_, target);
   8784   }
   8785   for (int i = 0; i < this->span_size(); i++) {
   8786     target = ::google::protobuf::internal::WireFormatLite::
   8787       WriteInt32NoTagToArray(this->span(i), target);
   8788   }
   8789 
   8790   // optional string leading_comments = 3;
   8791   if (has_leading_comments()) {
   8792     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8793       this->leading_comments().data(), this->leading_comments().length(),
   8794       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8795       "leading_comments");
   8796     target =
   8797       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8798         3, this->leading_comments(), target);
   8799   }
   8800 
   8801   // optional string trailing_comments = 4;
   8802   if (has_trailing_comments()) {
   8803     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
   8804       this->trailing_comments().data(), this->trailing_comments().length(),
   8805       ::google::protobuf::internal::WireFormat::SERIALIZE,
   8806       "trailing_comments");
   8807     target =
   8808       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
   8809         4, this->trailing_comments(), target);
   8810   }
   8811 
   8812   if (!unknown_fields().empty()) {
   8813     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   8814         unknown_fields(), target);
   8815   }
   8816   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo.Location)
   8817   return target;
   8818 }
   8819 
   8820 int SourceCodeInfo_Location::ByteSize() const {
   8821   int total_size = 0;
   8822 
   8823   if (_has_bits_[2 / 32] & (0xffu << (2 % 32))) {
   8824     // optional string leading_comments = 3;
   8825     if (has_leading_comments()) {
   8826       total_size += 1 +
   8827         ::google::protobuf::internal::WireFormatLite::StringSize(
   8828           this->leading_comments());
   8829     }
   8830 
   8831     // optional string trailing_comments = 4;
   8832     if (has_trailing_comments()) {
   8833       total_size += 1 +
   8834         ::google::protobuf::internal::WireFormatLite::StringSize(
   8835           this->trailing_comments());
   8836     }
   8837 
   8838   }
   8839   // repeated int32 path = 1 [packed = true];
   8840   {
   8841     int data_size = 0;
   8842     for (int i = 0; i < this->path_size(); i++) {
   8843       data_size += ::google::protobuf::internal::WireFormatLite::
   8844         Int32Size(this->path(i));
   8845     }
   8846     if (data_size > 0) {
   8847       total_size += 1 +
   8848         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   8849     }
   8850     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8851     _path_cached_byte_size_ = data_size;
   8852     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8853     total_size += data_size;
   8854   }
   8855 
   8856   // repeated int32 span = 2 [packed = true];
   8857   {
   8858     int data_size = 0;
   8859     for (int i = 0; i < this->span_size(); i++) {
   8860       data_size += ::google::protobuf::internal::WireFormatLite::
   8861         Int32Size(this->span(i));
   8862     }
   8863     if (data_size > 0) {
   8864       total_size += 1 +
   8865         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
   8866     }
   8867     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8868     _span_cached_byte_size_ = data_size;
   8869     GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8870     total_size += data_size;
   8871   }
   8872 
   8873   if (!unknown_fields().empty()) {
   8874     total_size +=
   8875       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   8876         unknown_fields());
   8877   }
   8878   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8879   _cached_size_ = total_size;
   8880   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8881   return total_size;
   8882 }
   8883 
   8884 void SourceCodeInfo_Location::MergeFrom(const ::google::protobuf::Message& from) {
   8885   GOOGLE_CHECK_NE(&from, this);
   8886   const SourceCodeInfo_Location* source =
   8887     ::google::protobuf::internal::dynamic_cast_if_available<const SourceCodeInfo_Location*>(
   8888       &from);
   8889   if (source == NULL) {
   8890     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   8891   } else {
   8892     MergeFrom(*source);
   8893   }
   8894 }
   8895 
   8896 void SourceCodeInfo_Location::MergeFrom(const SourceCodeInfo_Location& from) {
   8897   GOOGLE_CHECK_NE(&from, this);
   8898   path_.MergeFrom(from.path_);
   8899   span_.MergeFrom(from.span_);
   8900   if (from._has_bits_[2 / 32] & (0xffu << (2 % 32))) {
   8901     if (from.has_leading_comments()) {
   8902       set_leading_comments(from.leading_comments());
   8903     }
   8904     if (from.has_trailing_comments()) {
   8905       set_trailing_comments(from.trailing_comments());
   8906     }
   8907   }
   8908   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   8909 }
   8910 
   8911 void SourceCodeInfo_Location::CopyFrom(const ::google::protobuf::Message& from) {
   8912   if (&from == this) return;
   8913   Clear();
   8914   MergeFrom(from);
   8915 }
   8916 
   8917 void SourceCodeInfo_Location::CopyFrom(const SourceCodeInfo_Location& from) {
   8918   if (&from == this) return;
   8919   Clear();
   8920   MergeFrom(from);
   8921 }
   8922 
   8923 bool SourceCodeInfo_Location::IsInitialized() const {
   8924 
   8925   return true;
   8926 }
   8927 
   8928 void SourceCodeInfo_Location::Swap(SourceCodeInfo_Location* other) {
   8929   if (other != this) {
   8930     path_.Swap(&other->path_);
   8931     span_.Swap(&other->span_);
   8932     std::swap(leading_comments_, other->leading_comments_);
   8933     std::swap(trailing_comments_, other->trailing_comments_);
   8934     std::swap(_has_bits_[0], other->_has_bits_[0]);
   8935     _unknown_fields_.Swap(&other->_unknown_fields_);
   8936     std::swap(_cached_size_, other->_cached_size_);
   8937   }
   8938 }
   8939 
   8940 ::google::protobuf::Metadata SourceCodeInfo_Location::GetMetadata() const {
   8941   protobuf_AssignDescriptorsOnce();
   8942   ::google::protobuf::Metadata metadata;
   8943   metadata.descriptor = SourceCodeInfo_Location_descriptor_;
   8944   metadata.reflection = SourceCodeInfo_Location_reflection_;
   8945   return metadata;
   8946 }
   8947 
   8948 
   8949 // -------------------------------------------------------------------
   8950 
   8951 #ifndef _MSC_VER
   8952 const int SourceCodeInfo::kLocationFieldNumber;
   8953 #endif  // !_MSC_VER
   8954 
   8955 SourceCodeInfo::SourceCodeInfo()
   8956   : ::google::protobuf::Message() {
   8957   SharedCtor();
   8958   // @@protoc_insertion_point(constructor:google.protobuf.SourceCodeInfo)
   8959 }
   8960 
   8961 void SourceCodeInfo::InitAsDefaultInstance() {
   8962 }
   8963 
   8964 SourceCodeInfo::SourceCodeInfo(const SourceCodeInfo& from)
   8965   : ::google::protobuf::Message() {
   8966   SharedCtor();
   8967   MergeFrom(from);
   8968   // @@protoc_insertion_point(copy_constructor:google.protobuf.SourceCodeInfo)
   8969 }
   8970 
   8971 void SourceCodeInfo::SharedCtor() {
   8972   _cached_size_ = 0;
   8973   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   8974 }
   8975 
   8976 SourceCodeInfo::~SourceCodeInfo() {
   8977   // @@protoc_insertion_point(destructor:google.protobuf.SourceCodeInfo)
   8978   SharedDtor();
   8979 }
   8980 
   8981 void SourceCodeInfo::SharedDtor() {
   8982   if (this != default_instance_) {
   8983   }
   8984 }
   8985 
   8986 void SourceCodeInfo::SetCachedSize(int size) const {
   8987   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   8988   _cached_size_ = size;
   8989   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   8990 }
   8991 const ::google::protobuf::Descriptor* SourceCodeInfo::descriptor() {
   8992   protobuf_AssignDescriptorsOnce();
   8993   return SourceCodeInfo_descriptor_;
   8994 }
   8995 
   8996 const SourceCodeInfo& SourceCodeInfo::default_instance() {
   8997   if (default_instance_ == NULL) protobuf_AddDesc_google_2fprotobuf_2fdescriptor_2eproto();
   8998   return *default_instance_;
   8999 }
   9000 
   9001 SourceCodeInfo* SourceCodeInfo::default_instance_ = NULL;
   9002 
   9003 SourceCodeInfo* SourceCodeInfo::New() const {
   9004   return new SourceCodeInfo;
   9005 }
   9006 
   9007 void SourceCodeInfo::Clear() {
   9008   location_.Clear();
   9009   ::memset(_has_bits_, 0, sizeof(_has_bits_));
   9010   mutable_unknown_fields()->Clear();
   9011 }
   9012 
   9013 bool SourceCodeInfo::MergePartialFromCodedStream(
   9014     ::google::protobuf::io::CodedInputStream* input) {
   9015 #define DO_(EXPRESSION) if (!(EXPRESSION)) goto failure
   9016   ::google::protobuf::uint32 tag;
   9017   // @@protoc_insertion_point(parse_start:google.protobuf.SourceCodeInfo)
   9018   for (;;) {
   9019     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
   9020     tag = p.first;
   9021     if (!p.second) goto handle_unusual;
   9022     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
   9023       // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9024       case 1: {
   9025         if (tag == 10) {
   9026          parse_location:
   9027           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
   9028                 input, add_location()));
   9029         } else {
   9030           goto handle_unusual;
   9031         }
   9032         if (input->ExpectTag(10)) goto parse_location;
   9033         if (input->ExpectAtEnd()) goto success;
   9034         break;
   9035       }
   9036 
   9037       default: {
   9038       handle_unusual:
   9039         if (tag == 0 ||
   9040             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
   9041             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
   9042           goto success;
   9043         }
   9044         DO_(::google::protobuf::internal::WireFormat::SkipField(
   9045               input, tag, mutable_unknown_fields()));
   9046         break;
   9047       }
   9048     }
   9049   }
   9050 success:
   9051   // @@protoc_insertion_point(parse_success:google.protobuf.SourceCodeInfo)
   9052   return true;
   9053 failure:
   9054   // @@protoc_insertion_point(parse_failure:google.protobuf.SourceCodeInfo)
   9055   return false;
   9056 #undef DO_
   9057 }
   9058 
   9059 void SourceCodeInfo::SerializeWithCachedSizes(
   9060     ::google::protobuf::io::CodedOutputStream* output) const {
   9061   // @@protoc_insertion_point(serialize_start:google.protobuf.SourceCodeInfo)
   9062   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9063   for (int i = 0; i < this->location_size(); i++) {
   9064     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
   9065       1, this->location(i), output);
   9066   }
   9067 
   9068   if (!unknown_fields().empty()) {
   9069     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
   9070         unknown_fields(), output);
   9071   }
   9072   // @@protoc_insertion_point(serialize_end:google.protobuf.SourceCodeInfo)
   9073 }
   9074 
   9075 ::google::protobuf::uint8* SourceCodeInfo::SerializeWithCachedSizesToArray(
   9076     ::google::protobuf::uint8* target) const {
   9077   // @@protoc_insertion_point(serialize_to_array_start:google.protobuf.SourceCodeInfo)
   9078   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9079   for (int i = 0; i < this->location_size(); i++) {
   9080     target = ::google::protobuf::internal::WireFormatLite::
   9081       WriteMessageNoVirtualToArray(
   9082         1, this->location(i), target);
   9083   }
   9084 
   9085   if (!unknown_fields().empty()) {
   9086     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
   9087         unknown_fields(), target);
   9088   }
   9089   // @@protoc_insertion_point(serialize_to_array_end:google.protobuf.SourceCodeInfo)
   9090   return target;
   9091 }
   9092 
   9093 int SourceCodeInfo::ByteSize() const {
   9094   int total_size = 0;
   9095 
   9096   // repeated .google.protobuf.SourceCodeInfo.Location location = 1;
   9097   total_size += 1 * this->location_size();
   9098   for (int i = 0; i < this->location_size(); i++) {
   9099     total_size +=
   9100       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
   9101         this->location(i));
   9102   }
   9103 
   9104   if (!unknown_fields().empty()) {
   9105     total_size +=
   9106       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
   9107         unknown_fields());
   9108   }
   9109   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
   9110   _cached_size_ = total_size;
   9111   GOOGLE_SAFE_CONCURRENT_WRITES_END();
   9112   return total_size;
   9113 }
   9114 
   9115 void SourceCodeInfo::MergeFrom(const ::google::protobuf::Message& from) {
   9116   GOOGLE_CHECK_NE(&from, this);
   9117   const SourceCodeInfo* source =
   9118     ::google::protobuf::internal::dynamic_cast_if_available<const SourceCodeInfo*>(
   9119       &from);
   9120   if (source == NULL) {
   9121     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
   9122   } else {
   9123     MergeFrom(*source);
   9124   }
   9125 }
   9126 
   9127 void SourceCodeInfo::MergeFrom(const SourceCodeInfo& from) {
   9128   GOOGLE_CHECK_NE(&from, this);
   9129   location_.MergeFrom(from.location_);
   9130   mutable_unknown_fields()->MergeFrom(from.unknown_fields());
   9131 }
   9132 
   9133 void SourceCodeInfo::CopyFrom(const ::google::protobuf::Message& from) {
   9134   if (&from == this) return;
   9135   Clear();
   9136   MergeFrom(from);
   9137 }
   9138 
   9139 void SourceCodeInfo::CopyFrom(const SourceCodeInfo& from) {
   9140   if (&from == this) return;
   9141   Clear();
   9142   MergeFrom(from);
   9143 }
   9144 
   9145 bool SourceCodeInfo::IsInitialized() const {
   9146 
   9147   return true;
   9148 }
   9149 
   9150 void SourceCodeInfo::Swap(SourceCodeInfo* other) {
   9151   if (other != this) {
   9152     location_.Swap(&other->location_);
   9153     std::swap(_has_bits_[0], other->_has_bits_[0]);
   9154     _unknown_fields_.Swap(&other->_unknown_fields_);
   9155     std::swap(_cached_size_, other->_cached_size_);
   9156   }
   9157 }
   9158 
   9159 ::google::protobuf::Metadata SourceCodeInfo::GetMetadata() const {
   9160   protobuf_AssignDescriptorsOnce();
   9161   ::google::protobuf::Metadata metadata;
   9162   metadata.descriptor = SourceCodeInfo_descriptor_;
   9163   metadata.reflection = SourceCodeInfo_reflection_;
   9164   return metadata;
   9165 }
   9166 
   9167 
   9168 // @@protoc_insertion_point(namespace_scope)
   9169 
   9170 }  // namespace protobuf
   9171 }  // namespace google
   9172 
   9173 // @@protoc_insertion_point(global_scope)
   9174