| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199 | // Generated by the protocol buffer compiler.  DO NOT EDIT!// source: google/protobuf/descriptor.proto#import "GPBProtocolBuffers.h"#if GOOGLE_PROTOBUF_OBJC_GEN_VERSION != 30000#error This file was generated by a different version of protoc which is incompatible with your Protocol Buffer library sources.#endif// @@protoc_insertion_point(imports)CF_EXTERN_C_BEGIN@class GPBDescriptorProto;@class GPBDescriptorProto_ExtensionRange;@class GPBDescriptorProto_ReservedRange;@class GPBEnumDescriptorProto;@class GPBEnumOptions;@class GPBEnumValueDescriptorProto;@class GPBEnumValueOptions;@class GPBFieldDescriptorProto;@class GPBFieldOptions;@class GPBFileDescriptorProto;@class GPBFileOptions;@class GPBGeneratedCodeInfo_Annotation;@class GPBMessageOptions;@class GPBMethodDescriptorProto;@class GPBMethodOptions;@class GPBOneofDescriptorProto;@class GPBServiceDescriptorProto;@class GPBServiceOptions;@class GPBSourceCodeInfo;@class GPBSourceCodeInfo_Location;@class GPBUninterpretedOption;@class GPBUninterpretedOption_NamePart;NS_ASSUME_NONNULL_BEGIN#pragma mark - Enum GPBFieldDescriptorProto_Typetypedef GPB_ENUM(GPBFieldDescriptorProto_Type) {  // 0 is reserved for errors.  // Order is weird for historical reasons.  GPBFieldDescriptorProto_Type_TypeDouble = 1,  GPBFieldDescriptorProto_Type_TypeFloat = 2,  // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if  // negative values are likely.  GPBFieldDescriptorProto_Type_TypeInt64 = 3,  GPBFieldDescriptorProto_Type_TypeUint64 = 4,  // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if  // negative values are likely.  GPBFieldDescriptorProto_Type_TypeInt32 = 5,  GPBFieldDescriptorProto_Type_TypeFixed64 = 6,  GPBFieldDescriptorProto_Type_TypeFixed32 = 7,  GPBFieldDescriptorProto_Type_TypeBool = 8,  GPBFieldDescriptorProto_Type_TypeString = 9,  // Tag-delimited aggregate.  GPBFieldDescriptorProto_Type_TypeGroup = 10,  // Length-delimited aggregate.  GPBFieldDescriptorProto_Type_TypeMessage = 11,  // New in version 2.  GPBFieldDescriptorProto_Type_TypeBytes = 12,  GPBFieldDescriptorProto_Type_TypeUint32 = 13,  GPBFieldDescriptorProto_Type_TypeEnum = 14,  GPBFieldDescriptorProto_Type_TypeSfixed32 = 15,  GPBFieldDescriptorProto_Type_TypeSfixed64 = 16,  // Uses ZigZag encoding.  GPBFieldDescriptorProto_Type_TypeSint32 = 17,  // Uses ZigZag encoding.  GPBFieldDescriptorProto_Type_TypeSint64 = 18,};GPBEnumDescriptor *GPBFieldDescriptorProto_Type_EnumDescriptor(void);BOOL GPBFieldDescriptorProto_Type_IsValidValue(int32_t value);#pragma mark - Enum GPBFieldDescriptorProto_Labeltypedef GPB_ENUM(GPBFieldDescriptorProto_Label) {  // 0 is reserved for errors  GPBFieldDescriptorProto_Label_LabelOptional = 1,  GPBFieldDescriptorProto_Label_LabelRequired = 2,  // TODO(sanjay): Should we add LABEL_MAP?  GPBFieldDescriptorProto_Label_LabelRepeated = 3,};GPBEnumDescriptor *GPBFieldDescriptorProto_Label_EnumDescriptor(void);BOOL GPBFieldDescriptorProto_Label_IsValidValue(int32_t value);#pragma mark - Enum GPBFileOptions_OptimizeMode// Generated classes can be optimized for speed or code size.typedef GPB_ENUM(GPBFileOptions_OptimizeMode) {  // Generate complete code for parsing, serialization,  GPBFileOptions_OptimizeMode_Speed = 1,  // etc.  GPBFileOptions_OptimizeMode_CodeSize = 2,  // Generate code using MessageLite and the lite runtime.  GPBFileOptions_OptimizeMode_LiteRuntime = 3,};GPBEnumDescriptor *GPBFileOptions_OptimizeMode_EnumDescriptor(void);BOOL GPBFileOptions_OptimizeMode_IsValidValue(int32_t value);#pragma mark - Enum GPBFieldOptions_CTypetypedef GPB_ENUM(GPBFieldOptions_CType) {  // Default mode.  GPBFieldOptions_CType_String = 0,  GPBFieldOptions_CType_Cord = 1,  GPBFieldOptions_CType_StringPiece = 2,};GPBEnumDescriptor *GPBFieldOptions_CType_EnumDescriptor(void);BOOL GPBFieldOptions_CType_IsValidValue(int32_t value);#pragma mark - Enum GPBFieldOptions_JSTypetypedef GPB_ENUM(GPBFieldOptions_JSType) {  // Use the default type.  GPBFieldOptions_JSType_JsNormal = 0,  // Use JavaScript strings.  GPBFieldOptions_JSType_JsString = 1,  // Use JavaScript numbers.  GPBFieldOptions_JSType_JsNumber = 2,};GPBEnumDescriptor *GPBFieldOptions_JSType_EnumDescriptor(void);BOOL GPBFieldOptions_JSType_IsValidValue(int32_t value);#pragma mark - GPBDescriptorRoot@interface GPBDescriptorRoot : GPBRootObject// The base class provides://   + (GPBExtensionRegistry *)extensionRegistry;// which is an GPBExtensionRegistry that includes all the extensions defined by// this file and all files that it depends on.@end#pragma mark - GPBFileDescriptorSettypedef GPB_ENUM(GPBFileDescriptorSet_FieldNumber) {  GPBFileDescriptorSet_FieldNumber_FileArray = 1,};// The protocol compiler can output a FileDescriptorSet containing the .proto// files it parses.@interface GPBFileDescriptorSet : GPBMessage@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBFileDescriptorProto*> *fileArray;@property(nonatomic, readonly) NSUInteger fileArray_Count;@end#pragma mark - GPBFileDescriptorPrototypedef GPB_ENUM(GPBFileDescriptorProto_FieldNumber) {  GPBFileDescriptorProto_FieldNumber_Name = 1,  GPBFileDescriptorProto_FieldNumber_Package = 2,  GPBFileDescriptorProto_FieldNumber_DependencyArray = 3,  GPBFileDescriptorProto_FieldNumber_MessageTypeArray = 4,  GPBFileDescriptorProto_FieldNumber_EnumTypeArray = 5,  GPBFileDescriptorProto_FieldNumber_ServiceArray = 6,  GPBFileDescriptorProto_FieldNumber_ExtensionArray = 7,  GPBFileDescriptorProto_FieldNumber_Options = 8,  GPBFileDescriptorProto_FieldNumber_SourceCodeInfo = 9,  GPBFileDescriptorProto_FieldNumber_PublicDependencyArray = 10,  GPBFileDescriptorProto_FieldNumber_WeakDependencyArray = 11,  GPBFileDescriptorProto_FieldNumber_Syntax = 12,};// Describes a complete .proto file.@interface GPBFileDescriptorProto : GPBMessage// file name, relative to root of source tree@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;// e.g. "foo", "foo.bar", etc.@property(nonatomic, readwrite) BOOL hasPackage;@property(nonatomic, readwrite, copy, null_resettable) NSString *package;// Names of files imported by this file.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *dependencyArray;@property(nonatomic, readonly) NSUInteger dependencyArray_Count;// Indexes of the public imported files in the dependency list above.@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *publicDependencyArray;@property(nonatomic, readonly) NSUInteger publicDependencyArray_Count;// Indexes of the weak imported files in the dependency list.// For Google-internal migration only. Do not use.@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *weakDependencyArray;@property(nonatomic, readonly) NSUInteger weakDependencyArray_Count;// All top-level definitions in this file.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBDescriptorProto*> *messageTypeArray;@property(nonatomic, readonly) NSUInteger messageTypeArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBEnumDescriptorProto*> *enumTypeArray;@property(nonatomic, readonly) NSUInteger enumTypeArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBServiceDescriptorProto*> *serviceArray;@property(nonatomic, readonly) NSUInteger serviceArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBFieldDescriptorProto*> *extensionArray;@property(nonatomic, readonly) NSUInteger extensionArray_Count;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBFileOptions *options;// This field contains optional information about the original source code.// You may safely remove this entire field without harming runtime// functionality of the descriptors -- the information is needed only by// development tools.@property(nonatomic, readwrite) BOOL hasSourceCodeInfo;@property(nonatomic, readwrite, strong, null_resettable) GPBSourceCodeInfo *sourceCodeInfo;// The syntax of the proto file.// The supported values are "proto2" and "proto3".@property(nonatomic, readwrite) BOOL hasSyntax;@property(nonatomic, readwrite, copy, null_resettable) NSString *syntax;@end#pragma mark - GPBDescriptorPrototypedef GPB_ENUM(GPBDescriptorProto_FieldNumber) {  GPBDescriptorProto_FieldNumber_Name = 1,  GPBDescriptorProto_FieldNumber_FieldArray = 2,  GPBDescriptorProto_FieldNumber_NestedTypeArray = 3,  GPBDescriptorProto_FieldNumber_EnumTypeArray = 4,  GPBDescriptorProto_FieldNumber_ExtensionRangeArray = 5,  GPBDescriptorProto_FieldNumber_ExtensionArray = 6,  GPBDescriptorProto_FieldNumber_Options = 7,  GPBDescriptorProto_FieldNumber_OneofDeclArray = 8,  GPBDescriptorProto_FieldNumber_ReservedRangeArray = 9,  GPBDescriptorProto_FieldNumber_ReservedNameArray = 10,};// Describes a message type.@interface GPBDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBFieldDescriptorProto*> *fieldArray;@property(nonatomic, readonly) NSUInteger fieldArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBFieldDescriptorProto*> *extensionArray;@property(nonatomic, readonly) NSUInteger extensionArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBDescriptorProto*> *nestedTypeArray;@property(nonatomic, readonly) NSUInteger nestedTypeArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBEnumDescriptorProto*> *enumTypeArray;@property(nonatomic, readonly) NSUInteger enumTypeArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBDescriptorProto_ExtensionRange*> *extensionRangeArray;@property(nonatomic, readonly) NSUInteger extensionRangeArray_Count;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBOneofDescriptorProto*> *oneofDeclArray;@property(nonatomic, readonly) NSUInteger oneofDeclArray_Count;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBMessageOptions *options;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBDescriptorProto_ReservedRange*> *reservedRangeArray;@property(nonatomic, readonly) NSUInteger reservedRangeArray_Count;// Reserved field names, which may not be used by fields in the same message.// A given name may only be reserved once.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *reservedNameArray;@property(nonatomic, readonly) NSUInteger reservedNameArray_Count;@end#pragma mark - GPBDescriptorProto_ExtensionRangetypedef GPB_ENUM(GPBDescriptorProto_ExtensionRange_FieldNumber) {  GPBDescriptorProto_ExtensionRange_FieldNumber_Start = 1,  GPBDescriptorProto_ExtensionRange_FieldNumber_End = 2,};@interface GPBDescriptorProto_ExtensionRange : GPBMessage@property(nonatomic, readwrite) BOOL hasStart;@property(nonatomic, readwrite) int32_t start;@property(nonatomic, readwrite) BOOL hasEnd;@property(nonatomic, readwrite) int32_t end;@end#pragma mark - GPBDescriptorProto_ReservedRangetypedef GPB_ENUM(GPBDescriptorProto_ReservedRange_FieldNumber) {  GPBDescriptorProto_ReservedRange_FieldNumber_Start = 1,  GPBDescriptorProto_ReservedRange_FieldNumber_End = 2,};// Range of reserved tag numbers. Reserved tag numbers may not be used by// fields or extension ranges in the same message. Reserved ranges may// not overlap.@interface GPBDescriptorProto_ReservedRange : GPBMessage// Inclusive.@property(nonatomic, readwrite) BOOL hasStart;@property(nonatomic, readwrite) int32_t start;// Exclusive.@property(nonatomic, readwrite) BOOL hasEnd;@property(nonatomic, readwrite) int32_t end;@end#pragma mark - GPBFieldDescriptorPrototypedef GPB_ENUM(GPBFieldDescriptorProto_FieldNumber) {  GPBFieldDescriptorProto_FieldNumber_Name = 1,  GPBFieldDescriptorProto_FieldNumber_Extendee = 2,  GPBFieldDescriptorProto_FieldNumber_Number = 3,  GPBFieldDescriptorProto_FieldNumber_Label = 4,  GPBFieldDescriptorProto_FieldNumber_Type = 5,  GPBFieldDescriptorProto_FieldNumber_TypeName = 6,  GPBFieldDescriptorProto_FieldNumber_DefaultValue = 7,  GPBFieldDescriptorProto_FieldNumber_Options = 8,  GPBFieldDescriptorProto_FieldNumber_OneofIndex = 9,  GPBFieldDescriptorProto_FieldNumber_JsonName = 10,};// Describes a field within a message.@interface GPBFieldDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;@property(nonatomic, readwrite) BOOL hasNumber;@property(nonatomic, readwrite) int32_t number;@property(nonatomic, readwrite) BOOL hasLabel;@property(nonatomic, readwrite) GPBFieldDescriptorProto_Label label;// If type_name is set, this need not be set.  If both this and type_name// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.@property(nonatomic, readwrite) BOOL hasType;@property(nonatomic, readwrite) GPBFieldDescriptorProto_Type type;// For message and enum types, this is the name of the type.  If the name// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping// rules are used to find the type (i.e. first the nested types within this// message are searched, then within the parent, on up to the root// namespace).@property(nonatomic, readwrite) BOOL hasTypeName;@property(nonatomic, readwrite, copy, null_resettable) NSString *typeName;// For extensions, this is the name of the type being extended.  It is// resolved in the same manner as type_name.@property(nonatomic, readwrite) BOOL hasExtendee;@property(nonatomic, readwrite, copy, null_resettable) NSString *extendee;// For numeric types, contains the original text representation of the value.// For booleans, "true" or "false".// For strings, contains the default text contents (not escaped in any way).// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.// TODO(kenton):  Base-64 encode?@property(nonatomic, readwrite) BOOL hasDefaultValue;@property(nonatomic, readwrite, copy, null_resettable) NSString *defaultValue;// If set, gives the index of a oneof in the containing type's oneof_decl// list.  This field is a member of that oneof.@property(nonatomic, readwrite) BOOL hasOneofIndex;@property(nonatomic, readwrite) int32_t oneofIndex;// JSON name of this field. The value is set by protocol compiler. If the// user has set a "json_name" option on this field, that option's value// will be used. Otherwise, it's deduced from the field's name by converting// it to camelCase.@property(nonatomic, readwrite) BOOL hasJsonName;@property(nonatomic, readwrite, copy, null_resettable) NSString *jsonName;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBFieldOptions *options;@end#pragma mark - GPBOneofDescriptorPrototypedef GPB_ENUM(GPBOneofDescriptorProto_FieldNumber) {  GPBOneofDescriptorProto_FieldNumber_Name = 1,};// Describes a oneof.@interface GPBOneofDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;@end#pragma mark - GPBEnumDescriptorPrototypedef GPB_ENUM(GPBEnumDescriptorProto_FieldNumber) {  GPBEnumDescriptorProto_FieldNumber_Name = 1,  GPBEnumDescriptorProto_FieldNumber_ValueArray = 2,  GPBEnumDescriptorProto_FieldNumber_Options = 3,};// Describes an enum type.@interface GPBEnumDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBEnumValueDescriptorProto*> *valueArray;@property(nonatomic, readonly) NSUInteger valueArray_Count;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBEnumOptions *options;@end#pragma mark - GPBEnumValueDescriptorPrototypedef GPB_ENUM(GPBEnumValueDescriptorProto_FieldNumber) {  GPBEnumValueDescriptorProto_FieldNumber_Name = 1,  GPBEnumValueDescriptorProto_FieldNumber_Number = 2,  GPBEnumValueDescriptorProto_FieldNumber_Options = 3,};// Describes a value within an enum.@interface GPBEnumValueDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;@property(nonatomic, readwrite) BOOL hasNumber;@property(nonatomic, readwrite) int32_t number;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBEnumValueOptions *options;@end#pragma mark - GPBServiceDescriptorPrototypedef GPB_ENUM(GPBServiceDescriptorProto_FieldNumber) {  GPBServiceDescriptorProto_FieldNumber_Name = 1,  GPBServiceDescriptorProto_FieldNumber_MethodArray = 2,  GPBServiceDescriptorProto_FieldNumber_Options = 3,};// Describes a service.@interface GPBServiceDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBMethodDescriptorProto*> *methodArray;@property(nonatomic, readonly) NSUInteger methodArray_Count;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBServiceOptions *options;@end#pragma mark - GPBMethodDescriptorPrototypedef GPB_ENUM(GPBMethodDescriptorProto_FieldNumber) {  GPBMethodDescriptorProto_FieldNumber_Name = 1,  GPBMethodDescriptorProto_FieldNumber_InputType = 2,  GPBMethodDescriptorProto_FieldNumber_OutputType = 3,  GPBMethodDescriptorProto_FieldNumber_Options = 4,  GPBMethodDescriptorProto_FieldNumber_ClientStreaming = 5,  GPBMethodDescriptorProto_FieldNumber_ServerStreaming = 6,};// Describes a method of a service.@interface GPBMethodDescriptorProto : GPBMessage@property(nonatomic, readwrite) BOOL hasName;@property(nonatomic, readwrite, copy, null_resettable) NSString *name;// Input and output type names.  These are resolved in the same way as// FieldDescriptorProto.type_name, but must refer to a message type.@property(nonatomic, readwrite) BOOL hasInputType;@property(nonatomic, readwrite, copy, null_resettable) NSString *inputType;@property(nonatomic, readwrite) BOOL hasOutputType;@property(nonatomic, readwrite, copy, null_resettable) NSString *outputType;@property(nonatomic, readwrite) BOOL hasOptions;@property(nonatomic, readwrite, strong, null_resettable) GPBMethodOptions *options;// Identifies if client streams multiple client messages@property(nonatomic, readwrite) BOOL hasClientStreaming;@property(nonatomic, readwrite) BOOL clientStreaming;// Identifies if server streams multiple server messages@property(nonatomic, readwrite) BOOL hasServerStreaming;@property(nonatomic, readwrite) BOOL serverStreaming;@end#pragma mark - GPBFileOptionstypedef GPB_ENUM(GPBFileOptions_FieldNumber) {  GPBFileOptions_FieldNumber_JavaPackage = 1,  GPBFileOptions_FieldNumber_JavaOuterClassname = 8,  GPBFileOptions_FieldNumber_OptimizeFor = 9,  GPBFileOptions_FieldNumber_JavaMultipleFiles = 10,  GPBFileOptions_FieldNumber_GoPackage = 11,  GPBFileOptions_FieldNumber_CcGenericServices = 16,  GPBFileOptions_FieldNumber_JavaGenericServices = 17,  GPBFileOptions_FieldNumber_PyGenericServices = 18,  GPBFileOptions_FieldNumber_JavaGenerateEqualsAndHash = 20,  GPBFileOptions_FieldNumber_Deprecated = 23,  GPBFileOptions_FieldNumber_JavaStringCheckUtf8 = 27,  GPBFileOptions_FieldNumber_CcEnableArenas = 31,  GPBFileOptions_FieldNumber_ObjcClassPrefix = 36,  GPBFileOptions_FieldNumber_CsharpNamespace = 37,  GPBFileOptions_FieldNumber_JavananoUseDeprecatedPackage = 38,  GPBFileOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBFileOptions : GPBMessage// Sets the Java package where classes generated from this .proto will be// placed.  By default, the proto package is used, but this is often// inappropriate because proto packages do not normally start with backwards// domain names.@property(nonatomic, readwrite) BOOL hasJavaPackage;@property(nonatomic, readwrite, copy, null_resettable) NSString *javaPackage;// If set, all the classes from the .proto file are wrapped in a single// outer class with the given name.  This applies to both Proto1// (equivalent to the old "--one_java_file" option) and Proto2 (where// a .proto always translates to a single class, but you may want to// explicitly choose the class name).@property(nonatomic, readwrite) BOOL hasJavaOuterClassname;@property(nonatomic, readwrite, copy, null_resettable) NSString *javaOuterClassname;// If set true, then the Java code generator will generate a separate .java// file for each top-level message, enum, and service defined in the .proto// file.  Thus, these types will *not* be nested inside the outer class// named by java_outer_classname.  However, the outer class will still be// generated to contain the file's getDescriptor() method as well as any// top-level extensions defined in the file.@property(nonatomic, readwrite) BOOL hasJavaMultipleFiles;@property(nonatomic, readwrite) BOOL javaMultipleFiles;// If set true, then the Java code generator will generate equals() and// hashCode() methods for all messages defined in the .proto file.// This increases generated code size, potentially substantially for large// protos, which may harm a memory-constrained application.// - In the full runtime this is a speed optimization, as the// AbstractMessage base class includes reflection-based implementations of// these methods.// - In the lite runtime, setting this option changes the semantics of// equals() and hashCode() to more closely match those of the full runtime;// the generated methods compute their results based on field values rather// than object identity. (Implementations should not assume that hashcodes// will be consistent across runtimes or versions of the protocol compiler.)@property(nonatomic, readwrite) BOOL hasJavaGenerateEqualsAndHash;@property(nonatomic, readwrite) BOOL javaGenerateEqualsAndHash;// If set true, then the Java2 code generator will generate code that// throws an exception whenever an attempt is made to assign a non-UTF-8// byte sequence to a string field.// Message reflection will do the same.// However, an extension field still accepts non-UTF-8 byte sequences.// This option has no effect on when used with the lite runtime.@property(nonatomic, readwrite) BOOL hasJavaStringCheckUtf8;@property(nonatomic, readwrite) BOOL javaStringCheckUtf8;@property(nonatomic, readwrite) BOOL hasOptimizeFor;@property(nonatomic, readwrite) GPBFileOptions_OptimizeMode optimizeFor;// Sets the Go package where structs generated from this .proto will be// placed. If omitted, the Go package will be derived from the following://   - The basename of the package import path, if provided.//   - Otherwise, the package statement in the .proto file, if present.//   - Otherwise, the basename of the .proto file, without extension.@property(nonatomic, readwrite) BOOL hasGoPackage;@property(nonatomic, readwrite, copy, null_resettable) NSString *goPackage;// Should generic services be generated in each language?  "Generic" services// are not specific to any particular RPC system.  They are generated by the// main code generators in each language (without additional plugins).// Generic services were the only kind of service generation supported by// early versions of google.protobuf.//// Generic services are now considered deprecated in favor of using plugins// that generate code specific to your particular RPC system.  Therefore,// these default to false.  Old code which depends on generic services should// explicitly set them to true.@property(nonatomic, readwrite) BOOL hasCcGenericServices;@property(nonatomic, readwrite) BOOL ccGenericServices;@property(nonatomic, readwrite) BOOL hasJavaGenericServices;@property(nonatomic, readwrite) BOOL javaGenericServices;@property(nonatomic, readwrite) BOOL hasPyGenericServices;@property(nonatomic, readwrite) BOOL pyGenericServices;// Is this file deprecated?// Depending on the target platform, this can emit Deprecated annotations// for everything in the file, or it will be completely ignored; in the very// least, this is a formalization for deprecating files.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// Enables the use of arenas for the proto messages in this file. This applies// only to generated classes for C++.@property(nonatomic, readwrite) BOOL hasCcEnableArenas;@property(nonatomic, readwrite) BOOL ccEnableArenas;// Sets the objective c class prefix which is prepended to all objective c// generated classes from this .proto. There is no default.@property(nonatomic, readwrite) BOOL hasObjcClassPrefix;@property(nonatomic, readwrite, copy, null_resettable) NSString *objcClassPrefix;// Namespace for generated classes; defaults to the package.@property(nonatomic, readwrite) BOOL hasCsharpNamespace;@property(nonatomic, readwrite, copy, null_resettable) NSString *csharpNamespace;// Whether the nano proto compiler should generate in the deprecated non-nano// suffixed package.@property(nonatomic, readwrite) BOOL hasJavananoUseDeprecatedPackage;@property(nonatomic, readwrite) BOOL javananoUseDeprecatedPackage;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBMessageOptionstypedef GPB_ENUM(GPBMessageOptions_FieldNumber) {  GPBMessageOptions_FieldNumber_MessageSetWireFormat = 1,  GPBMessageOptions_FieldNumber_NoStandardDescriptorAccessor = 2,  GPBMessageOptions_FieldNumber_Deprecated = 3,  GPBMessageOptions_FieldNumber_MapEntry = 7,  GPBMessageOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBMessageOptions : GPBMessage// Set true to use the old proto1 MessageSet wire format for extensions.// This is provided for backwards-compatibility with the MessageSet wire// format.  You should not use this for any other reason:  It's less// efficient, has fewer features, and is more complicated.//// The message must be defined exactly as follows://   message Foo {//     option message_set_wire_format = true;//     extensions 4 to max;//   }// Note that the message cannot have any defined fields; MessageSets only// have extensions.//// All extensions of your type must be singular messages; e.g. they cannot// be int32s, enums, or repeated messages.//// Because this is an option, the above two restrictions are not enforced by// the protocol compiler.@property(nonatomic, readwrite) BOOL hasMessageSetWireFormat;@property(nonatomic, readwrite) BOOL messageSetWireFormat;// Disables the generation of the standard "descriptor()" accessor, which can// conflict with a field of the same name.  This is meant to make migration// from proto1 easier; new code should avoid fields named "descriptor".@property(nonatomic, readwrite) BOOL hasNoStandardDescriptorAccessor;@property(nonatomic, readwrite) BOOL noStandardDescriptorAccessor;// Is this message deprecated?// Depending on the target platform, this can emit Deprecated annotations// for the message, or it will be completely ignored; in the very least,// this is a formalization for deprecating messages.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// Whether the message is an automatically generated map entry type for the// maps field.//// For maps fields://     map<KeyType, ValueType> map_field = 1;// The parsed descriptor looks like://     message MapFieldEntry {//         option map_entry = true;//         optional KeyType key = 1;//         optional ValueType value = 2;//     }//     repeated MapFieldEntry map_field = 1;//// Implementations may choose not to generate the map_entry=true message, but// use a native map in the target language to hold the keys and values.// The reflection APIs in such implementions still need to work as// if the field is a repeated message field.//// NOTE: Do not set the option in .proto files. Always use the maps syntax// instead. The option should only be implicitly set by the proto compiler// parser.@property(nonatomic, readwrite) BOOL hasMapEntry;@property(nonatomic, readwrite) BOOL mapEntry;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBFieldOptionstypedef GPB_ENUM(GPBFieldOptions_FieldNumber) {  GPBFieldOptions_FieldNumber_Ctype = 1,  GPBFieldOptions_FieldNumber_Packed = 2,  GPBFieldOptions_FieldNumber_Deprecated = 3,  GPBFieldOptions_FieldNumber_Lazy = 5,  GPBFieldOptions_FieldNumber_Jstype = 6,  GPBFieldOptions_FieldNumber_Weak = 10,  GPBFieldOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBFieldOptions : GPBMessage// The ctype option instructs the C++ code generator to use a different// representation of the field than it normally would.  See the specific// options below.  This option is not yet implemented in the open source// release -- sorry, we'll try to include it in a future version!@property(nonatomic, readwrite) BOOL hasCtype;@property(nonatomic, readwrite) GPBFieldOptions_CType ctype;// The packed option can be enabled for repeated primitive fields to enable// a more efficient representation on the wire. Rather than repeatedly// writing the tag and type for each element, the entire array is encoded as// a single length-delimited blob. In proto3, only explicit setting it to// false will avoid using packed encoding.@property(nonatomic, readwrite) BOOL hasPacked;@property(nonatomic, readwrite) BOOL packed;// The jstype option determines the JavaScript type used for values of the// field.  The option is permitted only for 64 bit integral and fixed types// (int64, uint64, sint64, fixed64, sfixed64).  By default these types are// represented as JavaScript strings.  This avoids loss of precision that can// happen when a large value is converted to a floating point JavaScript// numbers.  Specifying JS_NUMBER for the jstype causes the generated// JavaScript code to use the JavaScript "number" type instead of strings.// This option is an enum to permit additional types to be added,// e.g. goog.math.Integer.@property(nonatomic, readwrite) BOOL hasJstype;@property(nonatomic, readwrite) GPBFieldOptions_JSType jstype;// Should this field be parsed lazily?  Lazy applies only to message-type// fields.  It means that when the outer message is initially parsed, the// inner message's contents will not be parsed but instead stored in encoded// form.  The inner message will actually be parsed when it is first accessed.//// This is only a hint.  Implementations are free to choose whether to use// eager or lazy parsing regardless of the value of this option.  However,// setting this option true suggests that the protocol author believes that// using lazy parsing on this field is worth the additional bookkeeping// overhead typically needed to implement it.//// This option does not affect the public interface of any generated code;// all method signatures remain the same.  Furthermore, thread-safety of the// interface is not affected by this option; const methods remain safe to// call from multiple threads concurrently, while non-const methods continue// to require exclusive access.////// Note that implementations may choose not to check required fields within// a lazy sub-message.  That is, calling IsInitialized() on the outher message// may return true even if the inner message has missing required fields.// This is necessary because otherwise the inner message would have to be// parsed in order to perform the check, defeating the purpose of lazy// parsing.  An implementation which chooses not to check required fields// must be consistent about it.  That is, for any particular sub-message, the// implementation must either *always* check its required fields, or *never*// check its required fields, regardless of whether or not the message has// been parsed.@property(nonatomic, readwrite) BOOL hasLazy;@property(nonatomic, readwrite) BOOL lazy;// Is this field deprecated?// Depending on the target platform, this can emit Deprecated annotations// for accessors, or it will be completely ignored; in the very least, this// is a formalization for deprecating fields.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// For Google-internal migration only. Do not use.@property(nonatomic, readwrite) BOOL hasWeak;@property(nonatomic, readwrite) BOOL weak;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBEnumOptionstypedef GPB_ENUM(GPBEnumOptions_FieldNumber) {  GPBEnumOptions_FieldNumber_AllowAlias = 2,  GPBEnumOptions_FieldNumber_Deprecated = 3,  GPBEnumOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBEnumOptions : GPBMessage// Set this option to true to allow mapping different tag names to the same// value.@property(nonatomic, readwrite) BOOL hasAllowAlias;@property(nonatomic, readwrite) BOOL allowAlias;// Is this enum deprecated?// Depending on the target platform, this can emit Deprecated annotations// for the enum, or it will be completely ignored; in the very least, this// is a formalization for deprecating enums.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBEnumValueOptionstypedef GPB_ENUM(GPBEnumValueOptions_FieldNumber) {  GPBEnumValueOptions_FieldNumber_Deprecated = 1,  GPBEnumValueOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBEnumValueOptions : GPBMessage// Is this enum value deprecated?// Depending on the target platform, this can emit Deprecated annotations// for the enum value, or it will be completely ignored; in the very least,// this is a formalization for deprecating enum values.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBServiceOptionstypedef GPB_ENUM(GPBServiceOptions_FieldNumber) {  GPBServiceOptions_FieldNumber_Deprecated = 33,  GPBServiceOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBServiceOptions : GPBMessage// Is this service deprecated?// Depending on the target platform, this can emit Deprecated annotations// for the service, or it will be completely ignored; in the very least,// this is a formalization for deprecating services.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBMethodOptionstypedef GPB_ENUM(GPBMethodOptions_FieldNumber) {  GPBMethodOptions_FieldNumber_Deprecated = 33,  GPBMethodOptions_FieldNumber_UninterpretedOptionArray = 999,};@interface GPBMethodOptions : GPBMessage// Is this method deprecated?// Depending on the target platform, this can emit Deprecated annotations// for the method, or it will be completely ignored; in the very least,// this is a formalization for deprecating methods.@property(nonatomic, readwrite) BOOL hasDeprecated;@property(nonatomic, readwrite) BOOL deprecated;// The parser stores options it doesn't recognize here. See above.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption*> *uninterpretedOptionArray;@property(nonatomic, readonly) NSUInteger uninterpretedOptionArray_Count;@end#pragma mark - GPBUninterpretedOptiontypedef GPB_ENUM(GPBUninterpretedOption_FieldNumber) {  GPBUninterpretedOption_FieldNumber_NameArray = 2,  GPBUninterpretedOption_FieldNumber_IdentifierValue = 3,  GPBUninterpretedOption_FieldNumber_PositiveIntValue = 4,  GPBUninterpretedOption_FieldNumber_NegativeIntValue = 5,  GPBUninterpretedOption_FieldNumber_DoubleValue = 6,  GPBUninterpretedOption_FieldNumber_StringValue = 7,  GPBUninterpretedOption_FieldNumber_AggregateValue = 8,};// A message representing a option the parser does not recognize. This only// appears in options protos created by the compiler::Parser class.// DescriptorPool resolves these when building Descriptor objects. Therefore,// options protos in descriptor objects (e.g. returned by Descriptor::options(),// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions// in them.@interface GPBUninterpretedOption : GPBMessage@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBUninterpretedOption_NamePart*> *nameArray;@property(nonatomic, readonly) NSUInteger nameArray_Count;// The value of the uninterpreted option, in whatever type the tokenizer// identified it as during parsing. Exactly one of these should be set.@property(nonatomic, readwrite) BOOL hasIdentifierValue;@property(nonatomic, readwrite, copy, null_resettable) NSString *identifierValue;@property(nonatomic, readwrite) BOOL hasPositiveIntValue;@property(nonatomic, readwrite) uint64_t positiveIntValue;@property(nonatomic, readwrite) BOOL hasNegativeIntValue;@property(nonatomic, readwrite) int64_t negativeIntValue;@property(nonatomic, readwrite) BOOL hasDoubleValue;@property(nonatomic, readwrite) double doubleValue;@property(nonatomic, readwrite) BOOL hasStringValue;@property(nonatomic, readwrite, copy, null_resettable) NSData *stringValue;@property(nonatomic, readwrite) BOOL hasAggregateValue;@property(nonatomic, readwrite, copy, null_resettable) NSString *aggregateValue;@end#pragma mark - GPBUninterpretedOption_NameParttypedef GPB_ENUM(GPBUninterpretedOption_NamePart_FieldNumber) {  GPBUninterpretedOption_NamePart_FieldNumber_NamePart = 1,  GPBUninterpretedOption_NamePart_FieldNumber_IsExtension = 2,};// The name of the uninterpreted option.  Each string represents a segment in// a dot-separated name.  is_extension is true iff a segment represents an// extension (denoted with parentheses in options specs in .proto files).// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents// "foo.(bar.baz).qux".@interface GPBUninterpretedOption_NamePart : GPBMessage@property(nonatomic, readwrite) BOOL hasNamePart;@property(nonatomic, readwrite, copy, null_resettable) NSString *namePart;@property(nonatomic, readwrite) BOOL hasIsExtension;@property(nonatomic, readwrite) BOOL isExtension;@end#pragma mark - GPBSourceCodeInfotypedef GPB_ENUM(GPBSourceCodeInfo_FieldNumber) {  GPBSourceCodeInfo_FieldNumber_LocationArray = 1,};// Encapsulates information about the original source file from which a// FileDescriptorProto was generated.@interface GPBSourceCodeInfo : GPBMessage// A Location identifies a piece of source code in a .proto file which// corresponds to a particular definition.  This information is intended// to be useful to IDEs, code indexers, documentation generators, and similar// tools.//// For example, say we have a file like://   message Foo {//     optional string foo = 1;//   }// Let's look at just the field definition://   optional string foo = 1;//   ^       ^^     ^^  ^  ^^^//   a       bc     de  f  ghi// We have the following locations://   span   path               represents//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).//// Notes:// - A location may refer to a repeated field itself (i.e. not to any//   particular index within it).  This is used whenever a set of elements are//   logically enclosed in a single code segment.  For example, an entire//   extend block (possibly containing multiple extension definitions) will//   have an outer location whose path refers to the "extensions" repeated//   field without an index.// - Multiple locations may have the same path.  This happens when a single//   logical declaration is spread out across multiple places.  The most//   obvious example is the "extend" block again -- there may be multiple//   extend blocks in the same scope, each of which will have the same path.// - A location's span is not always a subset of its parent's span.  For//   example, the "extendee" of an extension declaration appears at the//   beginning of the "extend" block and is shared by all extensions within//   the block.// - Just because a location's span is a subset of some other location's span//   does not mean that it is a descendent.  For example, a "group" defines//   both a type and a field in a single declaration.  Thus, the locations//   corresponding to the type and field and their components will overlap.// - Code which tries to interpret locations should probably be designed to//   ignore those that it doesn't understand, as more types of locations could//   be recorded in the future.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBSourceCodeInfo_Location*> *locationArray;@property(nonatomic, readonly) NSUInteger locationArray_Count;@end#pragma mark - GPBSourceCodeInfo_Locationtypedef GPB_ENUM(GPBSourceCodeInfo_Location_FieldNumber) {  GPBSourceCodeInfo_Location_FieldNumber_PathArray = 1,  GPBSourceCodeInfo_Location_FieldNumber_SpanArray = 2,  GPBSourceCodeInfo_Location_FieldNumber_LeadingComments = 3,  GPBSourceCodeInfo_Location_FieldNumber_TrailingComments = 4,  GPBSourceCodeInfo_Location_FieldNumber_LeadingDetachedCommentsArray = 6,};@interface GPBSourceCodeInfo_Location : GPBMessage// Identifies which part of the FileDescriptorProto was defined at this// location.//// Each element is a field number or an index.  They form a path from// the root FileDescriptorProto to the place where the definition.  For// example, this path://   [ 4, 3, 2, 7, 1 ]// refers to://   file.message_type(3)  // 4, 3//       .field(7)         // 2, 7//       .name()           // 1// This is because FileDescriptorProto.message_type has field number 4://   repeated DescriptorProto message_type = 4;// and DescriptorProto.field has field number 2://   repeated FieldDescriptorProto field = 2;// and FieldDescriptorProto.name has field number 1://   optional string name = 1;//// Thus, the above path gives the location of a field name.  If we removed// the last element://   [ 4, 3, 2, 7 ]// this path refers to the whole field declaration (from the beginning// of the label to the terminating semicolon).@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *pathArray;@property(nonatomic, readonly) NSUInteger pathArray_Count;// Always has exactly three or four elements: start line, start column,// end line (optional, otherwise assumed same as start line), end column.// These are packed into a single field for efficiency.  Note that line// and column numbers are zero-based -- typically you will want to add// 1 to each before displaying to a user.@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *spanArray;@property(nonatomic, readonly) NSUInteger spanArray_Count;// If this SourceCodeInfo represents a complete declaration, these are any// comments appearing before and after the declaration which appear to be// attached to the declaration.//// A series of line comments appearing on consecutive lines, with no other// tokens appearing on those lines, will be treated as a single comment.//// leading_detached_comments will keep paragraphs of comments that appear// before (but not connected to) the current element. Each paragraph,// separated by empty lines, will be one comment element in the repeated// field.//// Only the comment content is provided; comment markers (e.g. //) are// stripped out.  For block comments, leading whitespace and an asterisk// will be stripped from the beginning of each line other than the first.// Newlines are included in the output.//// Examples:////   optional int32 foo = 1;  // Comment attached to foo.//   // Comment attached to bar.//   optional int32 bar = 2;////   optional string baz = 3;//   // Comment attached to baz.//   // Another line attached to baz.////   // Comment attached to qux.//   ////   // Another line attached to qux.//   optional double qux = 4;////   // Detached comment for corge. This is not leading or trailing comments//   // to qux or corge because there are blank lines separating it from//   // both.////   // Detached comment for corge paragraph 2.////   optional string corge = 5;//   /* Block comment attached//    * to corge.  Leading asterisks//    * will be removed. *///   /* Block comment attached to//    * grault. *///   optional int32 grault = 6;////   // ignored detached comments.@property(nonatomic, readwrite) BOOL hasLeadingComments;@property(nonatomic, readwrite, copy, null_resettable) NSString *leadingComments;@property(nonatomic, readwrite) BOOL hasTrailingComments;@property(nonatomic, readwrite, copy, null_resettable) NSString *trailingComments;@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<NSString*> *leadingDetachedCommentsArray;@property(nonatomic, readonly) NSUInteger leadingDetachedCommentsArray_Count;@end#pragma mark - GPBGeneratedCodeInfotypedef GPB_ENUM(GPBGeneratedCodeInfo_FieldNumber) {  GPBGeneratedCodeInfo_FieldNumber_AnnotationArray = 1,};// Describes the relationship between generated code and its original source// file. A GeneratedCodeInfo message is associated with only one generated// source file, but may contain references to different source .proto files.@interface GPBGeneratedCodeInfo : GPBMessage// An Annotation connects some span of text in generated code to an element// of its generating .proto file.@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<GPBGeneratedCodeInfo_Annotation*> *annotationArray;@property(nonatomic, readonly) NSUInteger annotationArray_Count;@end#pragma mark - GPBGeneratedCodeInfo_Annotationtypedef GPB_ENUM(GPBGeneratedCodeInfo_Annotation_FieldNumber) {  GPBGeneratedCodeInfo_Annotation_FieldNumber_PathArray = 1,  GPBGeneratedCodeInfo_Annotation_FieldNumber_SourceFile = 2,  GPBGeneratedCodeInfo_Annotation_FieldNumber_Begin = 3,  GPBGeneratedCodeInfo_Annotation_FieldNumber_End = 4,};@interface GPBGeneratedCodeInfo_Annotation : GPBMessage// Identifies the element in the original source .proto file. This field// is formatted the same as SourceCodeInfo.Location.path.@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *pathArray;@property(nonatomic, readonly) NSUInteger pathArray_Count;// Identifies the filesystem path to the original source .proto.@property(nonatomic, readwrite) BOOL hasSourceFile;@property(nonatomic, readwrite, copy, null_resettable) NSString *sourceFile;// Identifies the starting offset in bytes in the generated code// that relates to the identified object.@property(nonatomic, readwrite) BOOL hasBegin;@property(nonatomic, readwrite) int32_t begin;// Identifies the ending offset in bytes in the generated code that// relates to the identified offset. The end offset should be one past// the last relevant byte (so the length of the text = end - begin).@property(nonatomic, readwrite) BOOL hasEnd;@property(nonatomic, readwrite) int32_t end;@endNS_ASSUME_NONNULL_ENDCF_EXTERN_C_END// @@protoc_insertion_point(global_scope)
 |