github.com/hyperledger/burrow@v0.34.5-0.20220512172541-77f09336001d/js/proto/google/protobuf/descriptor_pb.js (about)

     1  // source: google/protobuf/descriptor.proto
     2  /**
     3   * @fileoverview
     4   * @enhanceable
     5   * @suppress {missingRequire} reports error on implicit type usages.
     6   * @suppress {messageConventions} JS Compiler reports an error if a variable or
     7   *     field starts with 'MSG_' and isn't a translatable message.
     8   * @public
     9   */
    10  // GENERATED CODE -- DO NOT EDIT!
    11  /* eslint-disable */
    12  // @ts-nocheck
    13  
    14  var jspb = require('google-protobuf');
    15  var goog = jspb;
    16  var global = Function('return this')();
    17  
    18  goog.exportSymbol('proto.google.protobuf.DescriptorProto', null, global);
    19  goog.exportSymbol('proto.google.protobuf.DescriptorProto.ExtensionRange', null, global);
    20  goog.exportSymbol('proto.google.protobuf.DescriptorProto.ReservedRange', null, global);
    21  goog.exportSymbol('proto.google.protobuf.EnumDescriptorProto', null, global);
    22  goog.exportSymbol('proto.google.protobuf.EnumDescriptorProto.EnumReservedRange', null, global);
    23  goog.exportSymbol('proto.google.protobuf.EnumOptions', null, global);
    24  goog.exportSymbol('proto.google.protobuf.EnumValueDescriptorProto', null, global);
    25  goog.exportSymbol('proto.google.protobuf.EnumValueOptions', null, global);
    26  goog.exportSymbol('proto.google.protobuf.ExtensionRangeOptions', null, global);
    27  goog.exportSymbol('proto.google.protobuf.FieldDescriptorProto', null, global);
    28  goog.exportSymbol('proto.google.protobuf.FieldDescriptorProto.Label', null, global);
    29  goog.exportSymbol('proto.google.protobuf.FieldDescriptorProto.Type', null, global);
    30  goog.exportSymbol('proto.google.protobuf.FieldOptions', null, global);
    31  goog.exportSymbol('proto.google.protobuf.FieldOptions.CType', null, global);
    32  goog.exportSymbol('proto.google.protobuf.FieldOptions.JSType', null, global);
    33  goog.exportSymbol('proto.google.protobuf.FileDescriptorProto', null, global);
    34  goog.exportSymbol('proto.google.protobuf.FileDescriptorSet', null, global);
    35  goog.exportSymbol('proto.google.protobuf.FileOptions', null, global);
    36  goog.exportSymbol('proto.google.protobuf.FileOptions.OptimizeMode', null, global);
    37  goog.exportSymbol('proto.google.protobuf.GeneratedCodeInfo', null, global);
    38  goog.exportSymbol('proto.google.protobuf.GeneratedCodeInfo.Annotation', null, global);
    39  goog.exportSymbol('proto.google.protobuf.MessageOptions', null, global);
    40  goog.exportSymbol('proto.google.protobuf.MethodDescriptorProto', null, global);
    41  goog.exportSymbol('proto.google.protobuf.MethodOptions', null, global);
    42  goog.exportSymbol('proto.google.protobuf.MethodOptions.IdempotencyLevel', null, global);
    43  goog.exportSymbol('proto.google.protobuf.OneofDescriptorProto', null, global);
    44  goog.exportSymbol('proto.google.protobuf.OneofOptions', null, global);
    45  goog.exportSymbol('proto.google.protobuf.ServiceDescriptorProto', null, global);
    46  goog.exportSymbol('proto.google.protobuf.ServiceOptions', null, global);
    47  goog.exportSymbol('proto.google.protobuf.SourceCodeInfo', null, global);
    48  goog.exportSymbol('proto.google.protobuf.SourceCodeInfo.Location', null, global);
    49  goog.exportSymbol('proto.google.protobuf.UninterpretedOption', null, global);
    50  goog.exportSymbol('proto.google.protobuf.UninterpretedOption.NamePart', null, global);
    51  /**
    52   * Generated by JsPbCodeGenerator.
    53   * @param {Array=} opt_data Optional initial data array, typically from a
    54   * server response, or constructed directly in Javascript. The array is used
    55   * in place and becomes part of the constructed object. It is not cloned.
    56   * If no data is provided, the constructed object will be empty, but still
    57   * valid.
    58   * @extends {jspb.Message}
    59   * @constructor
    60   */
    61  proto.google.protobuf.FileDescriptorSet = function(opt_data) {
    62    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.FileDescriptorSet.repeatedFields_, null);
    63  };
    64  goog.inherits(proto.google.protobuf.FileDescriptorSet, jspb.Message);
    65  if (goog.DEBUG && !COMPILED) {
    66    /**
    67     * @public
    68     * @override
    69     */
    70    proto.google.protobuf.FileDescriptorSet.displayName = 'proto.google.protobuf.FileDescriptorSet';
    71  }
    72  /**
    73   * Generated by JsPbCodeGenerator.
    74   * @param {Array=} opt_data Optional initial data array, typically from a
    75   * server response, or constructed directly in Javascript. The array is used
    76   * in place and becomes part of the constructed object. It is not cloned.
    77   * If no data is provided, the constructed object will be empty, but still
    78   * valid.
    79   * @extends {jspb.Message}
    80   * @constructor
    81   */
    82  proto.google.protobuf.FileDescriptorProto = function(opt_data) {
    83    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.FileDescriptorProto.repeatedFields_, null);
    84  };
    85  goog.inherits(proto.google.protobuf.FileDescriptorProto, jspb.Message);
    86  if (goog.DEBUG && !COMPILED) {
    87    /**
    88     * @public
    89     * @override
    90     */
    91    proto.google.protobuf.FileDescriptorProto.displayName = 'proto.google.protobuf.FileDescriptorProto';
    92  }
    93  /**
    94   * Generated by JsPbCodeGenerator.
    95   * @param {Array=} opt_data Optional initial data array, typically from a
    96   * server response, or constructed directly in Javascript. The array is used
    97   * in place and becomes part of the constructed object. It is not cloned.
    98   * If no data is provided, the constructed object will be empty, but still
    99   * valid.
   100   * @extends {jspb.Message}
   101   * @constructor
   102   */
   103  proto.google.protobuf.DescriptorProto = function(opt_data) {
   104    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.DescriptorProto.repeatedFields_, null);
   105  };
   106  goog.inherits(proto.google.protobuf.DescriptorProto, jspb.Message);
   107  if (goog.DEBUG && !COMPILED) {
   108    /**
   109     * @public
   110     * @override
   111     */
   112    proto.google.protobuf.DescriptorProto.displayName = 'proto.google.protobuf.DescriptorProto';
   113  }
   114  /**
   115   * Generated by JsPbCodeGenerator.
   116   * @param {Array=} opt_data Optional initial data array, typically from a
   117   * server response, or constructed directly in Javascript. The array is used
   118   * in place and becomes part of the constructed object. It is not cloned.
   119   * If no data is provided, the constructed object will be empty, but still
   120   * valid.
   121   * @extends {jspb.Message}
   122   * @constructor
   123   */
   124  proto.google.protobuf.DescriptorProto.ExtensionRange = function(opt_data) {
   125    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   126  };
   127  goog.inherits(proto.google.protobuf.DescriptorProto.ExtensionRange, jspb.Message);
   128  if (goog.DEBUG && !COMPILED) {
   129    /**
   130     * @public
   131     * @override
   132     */
   133    proto.google.protobuf.DescriptorProto.ExtensionRange.displayName = 'proto.google.protobuf.DescriptorProto.ExtensionRange';
   134  }
   135  /**
   136   * Generated by JsPbCodeGenerator.
   137   * @param {Array=} opt_data Optional initial data array, typically from a
   138   * server response, or constructed directly in Javascript. The array is used
   139   * in place and becomes part of the constructed object. It is not cloned.
   140   * If no data is provided, the constructed object will be empty, but still
   141   * valid.
   142   * @extends {jspb.Message}
   143   * @constructor
   144   */
   145  proto.google.protobuf.DescriptorProto.ReservedRange = function(opt_data) {
   146    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   147  };
   148  goog.inherits(proto.google.protobuf.DescriptorProto.ReservedRange, jspb.Message);
   149  if (goog.DEBUG && !COMPILED) {
   150    /**
   151     * @public
   152     * @override
   153     */
   154    proto.google.protobuf.DescriptorProto.ReservedRange.displayName = 'proto.google.protobuf.DescriptorProto.ReservedRange';
   155  }
   156  /**
   157   * Generated by JsPbCodeGenerator.
   158   * @param {Array=} opt_data Optional initial data array, typically from a
   159   * server response, or constructed directly in Javascript. The array is used
   160   * in place and becomes part of the constructed object. It is not cloned.
   161   * If no data is provided, the constructed object will be empty, but still
   162   * valid.
   163   * @extends {jspb.Message}
   164   * @constructor
   165   */
   166  proto.google.protobuf.ExtensionRangeOptions = function(opt_data) {
   167    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.ExtensionRangeOptions.repeatedFields_, null);
   168  };
   169  goog.inherits(proto.google.protobuf.ExtensionRangeOptions, jspb.Message);
   170  if (goog.DEBUG && !COMPILED) {
   171    /**
   172     * @public
   173     * @override
   174     */
   175    proto.google.protobuf.ExtensionRangeOptions.displayName = 'proto.google.protobuf.ExtensionRangeOptions';
   176  }
   177  
   178  /**
   179   * The extensions registered with this message class. This is a map of
   180   * extension field number to fieldInfo object.
   181   *
   182   * For example:
   183   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   184   *
   185   * fieldName contains the JsCompiler renamed field name property so that it
   186   * works in OPTIMIZED mode.
   187   *
   188   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   189   */
   190  proto.google.protobuf.ExtensionRangeOptions.extensions = {};
   191  
   192  
   193  /**
   194   * The extensions registered with this message class. This is a map of
   195   * extension field number to fieldInfo object.
   196   *
   197   * For example:
   198   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   199   *
   200   * fieldName contains the JsCompiler renamed field name property so that it
   201   * works in OPTIMIZED mode.
   202   *
   203   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   204   */
   205  proto.google.protobuf.ExtensionRangeOptions.extensionsBinary = {};
   206  
   207  /**
   208   * Generated by JsPbCodeGenerator.
   209   * @param {Array=} opt_data Optional initial data array, typically from a
   210   * server response, or constructed directly in Javascript. The array is used
   211   * in place and becomes part of the constructed object. It is not cloned.
   212   * If no data is provided, the constructed object will be empty, but still
   213   * valid.
   214   * @extends {jspb.Message}
   215   * @constructor
   216   */
   217  proto.google.protobuf.FieldDescriptorProto = function(opt_data) {
   218    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   219  };
   220  goog.inherits(proto.google.protobuf.FieldDescriptorProto, jspb.Message);
   221  if (goog.DEBUG && !COMPILED) {
   222    /**
   223     * @public
   224     * @override
   225     */
   226    proto.google.protobuf.FieldDescriptorProto.displayName = 'proto.google.protobuf.FieldDescriptorProto';
   227  }
   228  /**
   229   * Generated by JsPbCodeGenerator.
   230   * @param {Array=} opt_data Optional initial data array, typically from a
   231   * server response, or constructed directly in Javascript. The array is used
   232   * in place and becomes part of the constructed object. It is not cloned.
   233   * If no data is provided, the constructed object will be empty, but still
   234   * valid.
   235   * @extends {jspb.Message}
   236   * @constructor
   237   */
   238  proto.google.protobuf.OneofDescriptorProto = function(opt_data) {
   239    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   240  };
   241  goog.inherits(proto.google.protobuf.OneofDescriptorProto, jspb.Message);
   242  if (goog.DEBUG && !COMPILED) {
   243    /**
   244     * @public
   245     * @override
   246     */
   247    proto.google.protobuf.OneofDescriptorProto.displayName = 'proto.google.protobuf.OneofDescriptorProto';
   248  }
   249  /**
   250   * Generated by JsPbCodeGenerator.
   251   * @param {Array=} opt_data Optional initial data array, typically from a
   252   * server response, or constructed directly in Javascript. The array is used
   253   * in place and becomes part of the constructed object. It is not cloned.
   254   * If no data is provided, the constructed object will be empty, but still
   255   * valid.
   256   * @extends {jspb.Message}
   257   * @constructor
   258   */
   259  proto.google.protobuf.EnumDescriptorProto = function(opt_data) {
   260    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.EnumDescriptorProto.repeatedFields_, null);
   261  };
   262  goog.inherits(proto.google.protobuf.EnumDescriptorProto, jspb.Message);
   263  if (goog.DEBUG && !COMPILED) {
   264    /**
   265     * @public
   266     * @override
   267     */
   268    proto.google.protobuf.EnumDescriptorProto.displayName = 'proto.google.protobuf.EnumDescriptorProto';
   269  }
   270  /**
   271   * Generated by JsPbCodeGenerator.
   272   * @param {Array=} opt_data Optional initial data array, typically from a
   273   * server response, or constructed directly in Javascript. The array is used
   274   * in place and becomes part of the constructed object. It is not cloned.
   275   * If no data is provided, the constructed object will be empty, but still
   276   * valid.
   277   * @extends {jspb.Message}
   278   * @constructor
   279   */
   280  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange = function(opt_data) {
   281    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   282  };
   283  goog.inherits(proto.google.protobuf.EnumDescriptorProto.EnumReservedRange, jspb.Message);
   284  if (goog.DEBUG && !COMPILED) {
   285    /**
   286     * @public
   287     * @override
   288     */
   289    proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.displayName = 'proto.google.protobuf.EnumDescriptorProto.EnumReservedRange';
   290  }
   291  /**
   292   * Generated by JsPbCodeGenerator.
   293   * @param {Array=} opt_data Optional initial data array, typically from a
   294   * server response, or constructed directly in Javascript. The array is used
   295   * in place and becomes part of the constructed object. It is not cloned.
   296   * If no data is provided, the constructed object will be empty, but still
   297   * valid.
   298   * @extends {jspb.Message}
   299   * @constructor
   300   */
   301  proto.google.protobuf.EnumValueDescriptorProto = function(opt_data) {
   302    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   303  };
   304  goog.inherits(proto.google.protobuf.EnumValueDescriptorProto, jspb.Message);
   305  if (goog.DEBUG && !COMPILED) {
   306    /**
   307     * @public
   308     * @override
   309     */
   310    proto.google.protobuf.EnumValueDescriptorProto.displayName = 'proto.google.protobuf.EnumValueDescriptorProto';
   311  }
   312  /**
   313   * Generated by JsPbCodeGenerator.
   314   * @param {Array=} opt_data Optional initial data array, typically from a
   315   * server response, or constructed directly in Javascript. The array is used
   316   * in place and becomes part of the constructed object. It is not cloned.
   317   * If no data is provided, the constructed object will be empty, but still
   318   * valid.
   319   * @extends {jspb.Message}
   320   * @constructor
   321   */
   322  proto.google.protobuf.ServiceDescriptorProto = function(opt_data) {
   323    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.ServiceDescriptorProto.repeatedFields_, null);
   324  };
   325  goog.inherits(proto.google.protobuf.ServiceDescriptorProto, jspb.Message);
   326  if (goog.DEBUG && !COMPILED) {
   327    /**
   328     * @public
   329     * @override
   330     */
   331    proto.google.protobuf.ServiceDescriptorProto.displayName = 'proto.google.protobuf.ServiceDescriptorProto';
   332  }
   333  /**
   334   * Generated by JsPbCodeGenerator.
   335   * @param {Array=} opt_data Optional initial data array, typically from a
   336   * server response, or constructed directly in Javascript. The array is used
   337   * in place and becomes part of the constructed object. It is not cloned.
   338   * If no data is provided, the constructed object will be empty, but still
   339   * valid.
   340   * @extends {jspb.Message}
   341   * @constructor
   342   */
   343  proto.google.protobuf.MethodDescriptorProto = function(opt_data) {
   344    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   345  };
   346  goog.inherits(proto.google.protobuf.MethodDescriptorProto, jspb.Message);
   347  if (goog.DEBUG && !COMPILED) {
   348    /**
   349     * @public
   350     * @override
   351     */
   352    proto.google.protobuf.MethodDescriptorProto.displayName = 'proto.google.protobuf.MethodDescriptorProto';
   353  }
   354  /**
   355   * Generated by JsPbCodeGenerator.
   356   * @param {Array=} opt_data Optional initial data array, typically from a
   357   * server response, or constructed directly in Javascript. The array is used
   358   * in place and becomes part of the constructed object. It is not cloned.
   359   * If no data is provided, the constructed object will be empty, but still
   360   * valid.
   361   * @extends {jspb.Message}
   362   * @constructor
   363   */
   364  proto.google.protobuf.FileOptions = function(opt_data) {
   365    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.FileOptions.repeatedFields_, null);
   366  };
   367  goog.inherits(proto.google.protobuf.FileOptions, jspb.Message);
   368  if (goog.DEBUG && !COMPILED) {
   369    /**
   370     * @public
   371     * @override
   372     */
   373    proto.google.protobuf.FileOptions.displayName = 'proto.google.protobuf.FileOptions';
   374  }
   375  
   376  /**
   377   * The extensions registered with this message class. This is a map of
   378   * extension field number to fieldInfo object.
   379   *
   380   * For example:
   381   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   382   *
   383   * fieldName contains the JsCompiler renamed field name property so that it
   384   * works in OPTIMIZED mode.
   385   *
   386   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   387   */
   388  proto.google.protobuf.FileOptions.extensions = {};
   389  
   390  
   391  /**
   392   * The extensions registered with this message class. This is a map of
   393   * extension field number to fieldInfo object.
   394   *
   395   * For example:
   396   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   397   *
   398   * fieldName contains the JsCompiler renamed field name property so that it
   399   * works in OPTIMIZED mode.
   400   *
   401   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   402   */
   403  proto.google.protobuf.FileOptions.extensionsBinary = {};
   404  
   405  /**
   406   * Generated by JsPbCodeGenerator.
   407   * @param {Array=} opt_data Optional initial data array, typically from a
   408   * server response, or constructed directly in Javascript. The array is used
   409   * in place and becomes part of the constructed object. It is not cloned.
   410   * If no data is provided, the constructed object will be empty, but still
   411   * valid.
   412   * @extends {jspb.Message}
   413   * @constructor
   414   */
   415  proto.google.protobuf.MessageOptions = function(opt_data) {
   416    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.MessageOptions.repeatedFields_, null);
   417  };
   418  goog.inherits(proto.google.protobuf.MessageOptions, jspb.Message);
   419  if (goog.DEBUG && !COMPILED) {
   420    /**
   421     * @public
   422     * @override
   423     */
   424    proto.google.protobuf.MessageOptions.displayName = 'proto.google.protobuf.MessageOptions';
   425  }
   426  
   427  /**
   428   * The extensions registered with this message class. This is a map of
   429   * extension field number to fieldInfo object.
   430   *
   431   * For example:
   432   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   433   *
   434   * fieldName contains the JsCompiler renamed field name property so that it
   435   * works in OPTIMIZED mode.
   436   *
   437   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   438   */
   439  proto.google.protobuf.MessageOptions.extensions = {};
   440  
   441  
   442  /**
   443   * The extensions registered with this message class. This is a map of
   444   * extension field number to fieldInfo object.
   445   *
   446   * For example:
   447   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   448   *
   449   * fieldName contains the JsCompiler renamed field name property so that it
   450   * works in OPTIMIZED mode.
   451   *
   452   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   453   */
   454  proto.google.protobuf.MessageOptions.extensionsBinary = {};
   455  
   456  /**
   457   * Generated by JsPbCodeGenerator.
   458   * @param {Array=} opt_data Optional initial data array, typically from a
   459   * server response, or constructed directly in Javascript. The array is used
   460   * in place and becomes part of the constructed object. It is not cloned.
   461   * If no data is provided, the constructed object will be empty, but still
   462   * valid.
   463   * @extends {jspb.Message}
   464   * @constructor
   465   */
   466  proto.google.protobuf.FieldOptions = function(opt_data) {
   467    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.FieldOptions.repeatedFields_, null);
   468  };
   469  goog.inherits(proto.google.protobuf.FieldOptions, jspb.Message);
   470  if (goog.DEBUG && !COMPILED) {
   471    /**
   472     * @public
   473     * @override
   474     */
   475    proto.google.protobuf.FieldOptions.displayName = 'proto.google.protobuf.FieldOptions';
   476  }
   477  
   478  /**
   479   * The extensions registered with this message class. This is a map of
   480   * extension field number to fieldInfo object.
   481   *
   482   * For example:
   483   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   484   *
   485   * fieldName contains the JsCompiler renamed field name property so that it
   486   * works in OPTIMIZED mode.
   487   *
   488   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   489   */
   490  proto.google.protobuf.FieldOptions.extensions = {};
   491  
   492  
   493  /**
   494   * The extensions registered with this message class. This is a map of
   495   * extension field number to fieldInfo object.
   496   *
   497   * For example:
   498   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   499   *
   500   * fieldName contains the JsCompiler renamed field name property so that it
   501   * works in OPTIMIZED mode.
   502   *
   503   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   504   */
   505  proto.google.protobuf.FieldOptions.extensionsBinary = {};
   506  
   507  /**
   508   * Generated by JsPbCodeGenerator.
   509   * @param {Array=} opt_data Optional initial data array, typically from a
   510   * server response, or constructed directly in Javascript. The array is used
   511   * in place and becomes part of the constructed object. It is not cloned.
   512   * If no data is provided, the constructed object will be empty, but still
   513   * valid.
   514   * @extends {jspb.Message}
   515   * @constructor
   516   */
   517  proto.google.protobuf.OneofOptions = function(opt_data) {
   518    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.OneofOptions.repeatedFields_, null);
   519  };
   520  goog.inherits(proto.google.protobuf.OneofOptions, jspb.Message);
   521  if (goog.DEBUG && !COMPILED) {
   522    /**
   523     * @public
   524     * @override
   525     */
   526    proto.google.protobuf.OneofOptions.displayName = 'proto.google.protobuf.OneofOptions';
   527  }
   528  
   529  /**
   530   * The extensions registered with this message class. This is a map of
   531   * extension field number to fieldInfo object.
   532   *
   533   * For example:
   534   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   535   *
   536   * fieldName contains the JsCompiler renamed field name property so that it
   537   * works in OPTIMIZED mode.
   538   *
   539   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   540   */
   541  proto.google.protobuf.OneofOptions.extensions = {};
   542  
   543  
   544  /**
   545   * The extensions registered with this message class. This is a map of
   546   * extension field number to fieldInfo object.
   547   *
   548   * For example:
   549   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   550   *
   551   * fieldName contains the JsCompiler renamed field name property so that it
   552   * works in OPTIMIZED mode.
   553   *
   554   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   555   */
   556  proto.google.protobuf.OneofOptions.extensionsBinary = {};
   557  
   558  /**
   559   * Generated by JsPbCodeGenerator.
   560   * @param {Array=} opt_data Optional initial data array, typically from a
   561   * server response, or constructed directly in Javascript. The array is used
   562   * in place and becomes part of the constructed object. It is not cloned.
   563   * If no data is provided, the constructed object will be empty, but still
   564   * valid.
   565   * @extends {jspb.Message}
   566   * @constructor
   567   */
   568  proto.google.protobuf.EnumOptions = function(opt_data) {
   569    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.EnumOptions.repeatedFields_, null);
   570  };
   571  goog.inherits(proto.google.protobuf.EnumOptions, jspb.Message);
   572  if (goog.DEBUG && !COMPILED) {
   573    /**
   574     * @public
   575     * @override
   576     */
   577    proto.google.protobuf.EnumOptions.displayName = 'proto.google.protobuf.EnumOptions';
   578  }
   579  
   580  /**
   581   * The extensions registered with this message class. This is a map of
   582   * extension field number to fieldInfo object.
   583   *
   584   * For example:
   585   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   586   *
   587   * fieldName contains the JsCompiler renamed field name property so that it
   588   * works in OPTIMIZED mode.
   589   *
   590   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   591   */
   592  proto.google.protobuf.EnumOptions.extensions = {};
   593  
   594  
   595  /**
   596   * The extensions registered with this message class. This is a map of
   597   * extension field number to fieldInfo object.
   598   *
   599   * For example:
   600   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   601   *
   602   * fieldName contains the JsCompiler renamed field name property so that it
   603   * works in OPTIMIZED mode.
   604   *
   605   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   606   */
   607  proto.google.protobuf.EnumOptions.extensionsBinary = {};
   608  
   609  /**
   610   * Generated by JsPbCodeGenerator.
   611   * @param {Array=} opt_data Optional initial data array, typically from a
   612   * server response, or constructed directly in Javascript. The array is used
   613   * in place and becomes part of the constructed object. It is not cloned.
   614   * If no data is provided, the constructed object will be empty, but still
   615   * valid.
   616   * @extends {jspb.Message}
   617   * @constructor
   618   */
   619  proto.google.protobuf.EnumValueOptions = function(opt_data) {
   620    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.EnumValueOptions.repeatedFields_, null);
   621  };
   622  goog.inherits(proto.google.protobuf.EnumValueOptions, jspb.Message);
   623  if (goog.DEBUG && !COMPILED) {
   624    /**
   625     * @public
   626     * @override
   627     */
   628    proto.google.protobuf.EnumValueOptions.displayName = 'proto.google.protobuf.EnumValueOptions';
   629  }
   630  
   631  /**
   632   * The extensions registered with this message class. This is a map of
   633   * extension field number to fieldInfo object.
   634   *
   635   * For example:
   636   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   637   *
   638   * fieldName contains the JsCompiler renamed field name property so that it
   639   * works in OPTIMIZED mode.
   640   *
   641   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   642   */
   643  proto.google.protobuf.EnumValueOptions.extensions = {};
   644  
   645  
   646  /**
   647   * The extensions registered with this message class. This is a map of
   648   * extension field number to fieldInfo object.
   649   *
   650   * For example:
   651   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   652   *
   653   * fieldName contains the JsCompiler renamed field name property so that it
   654   * works in OPTIMIZED mode.
   655   *
   656   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   657   */
   658  proto.google.protobuf.EnumValueOptions.extensionsBinary = {};
   659  
   660  /**
   661   * Generated by JsPbCodeGenerator.
   662   * @param {Array=} opt_data Optional initial data array, typically from a
   663   * server response, or constructed directly in Javascript. The array is used
   664   * in place and becomes part of the constructed object. It is not cloned.
   665   * If no data is provided, the constructed object will be empty, but still
   666   * valid.
   667   * @extends {jspb.Message}
   668   * @constructor
   669   */
   670  proto.google.protobuf.ServiceOptions = function(opt_data) {
   671    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.ServiceOptions.repeatedFields_, null);
   672  };
   673  goog.inherits(proto.google.protobuf.ServiceOptions, jspb.Message);
   674  if (goog.DEBUG && !COMPILED) {
   675    /**
   676     * @public
   677     * @override
   678     */
   679    proto.google.protobuf.ServiceOptions.displayName = 'proto.google.protobuf.ServiceOptions';
   680  }
   681  
   682  /**
   683   * The extensions registered with this message class. This is a map of
   684   * extension field number to fieldInfo object.
   685   *
   686   * For example:
   687   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   688   *
   689   * fieldName contains the JsCompiler renamed field name property so that it
   690   * works in OPTIMIZED mode.
   691   *
   692   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   693   */
   694  proto.google.protobuf.ServiceOptions.extensions = {};
   695  
   696  
   697  /**
   698   * The extensions registered with this message class. This is a map of
   699   * extension field number to fieldInfo object.
   700   *
   701   * For example:
   702   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   703   *
   704   * fieldName contains the JsCompiler renamed field name property so that it
   705   * works in OPTIMIZED mode.
   706   *
   707   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   708   */
   709  proto.google.protobuf.ServiceOptions.extensionsBinary = {};
   710  
   711  /**
   712   * Generated by JsPbCodeGenerator.
   713   * @param {Array=} opt_data Optional initial data array, typically from a
   714   * server response, or constructed directly in Javascript. The array is used
   715   * in place and becomes part of the constructed object. It is not cloned.
   716   * If no data is provided, the constructed object will be empty, but still
   717   * valid.
   718   * @extends {jspb.Message}
   719   * @constructor
   720   */
   721  proto.google.protobuf.MethodOptions = function(opt_data) {
   722    jspb.Message.initialize(this, opt_data, 0, 500, proto.google.protobuf.MethodOptions.repeatedFields_, null);
   723  };
   724  goog.inherits(proto.google.protobuf.MethodOptions, jspb.Message);
   725  if (goog.DEBUG && !COMPILED) {
   726    /**
   727     * @public
   728     * @override
   729     */
   730    proto.google.protobuf.MethodOptions.displayName = 'proto.google.protobuf.MethodOptions';
   731  }
   732  
   733  /**
   734   * The extensions registered with this message class. This is a map of
   735   * extension field number to fieldInfo object.
   736   *
   737   * For example:
   738   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   739   *
   740   * fieldName contains the JsCompiler renamed field name property so that it
   741   * works in OPTIMIZED mode.
   742   *
   743   * @type {!Object<number, jspb.ExtensionFieldInfo>}
   744   */
   745  proto.google.protobuf.MethodOptions.extensions = {};
   746  
   747  
   748  /**
   749   * The extensions registered with this message class. This is a map of
   750   * extension field number to fieldInfo object.
   751   *
   752   * For example:
   753   *     { 123: {fieldIndex: 123, fieldName: {my_field_name: 0}, ctor: proto.example.MyMessage} }
   754   *
   755   * fieldName contains the JsCompiler renamed field name property so that it
   756   * works in OPTIMIZED mode.
   757   *
   758   * @type {!Object<number, jspb.ExtensionFieldBinaryInfo>}
   759   */
   760  proto.google.protobuf.MethodOptions.extensionsBinary = {};
   761  
   762  /**
   763   * Generated by JsPbCodeGenerator.
   764   * @param {Array=} opt_data Optional initial data array, typically from a
   765   * server response, or constructed directly in Javascript. The array is used
   766   * in place and becomes part of the constructed object. It is not cloned.
   767   * If no data is provided, the constructed object will be empty, but still
   768   * valid.
   769   * @extends {jspb.Message}
   770   * @constructor
   771   */
   772  proto.google.protobuf.UninterpretedOption = function(opt_data) {
   773    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.UninterpretedOption.repeatedFields_, null);
   774  };
   775  goog.inherits(proto.google.protobuf.UninterpretedOption, jspb.Message);
   776  if (goog.DEBUG && !COMPILED) {
   777    /**
   778     * @public
   779     * @override
   780     */
   781    proto.google.protobuf.UninterpretedOption.displayName = 'proto.google.protobuf.UninterpretedOption';
   782  }
   783  /**
   784   * Generated by JsPbCodeGenerator.
   785   * @param {Array=} opt_data Optional initial data array, typically from a
   786   * server response, or constructed directly in Javascript. The array is used
   787   * in place and becomes part of the constructed object. It is not cloned.
   788   * If no data is provided, the constructed object will be empty, but still
   789   * valid.
   790   * @extends {jspb.Message}
   791   * @constructor
   792   */
   793  proto.google.protobuf.UninterpretedOption.NamePart = function(opt_data) {
   794    jspb.Message.initialize(this, opt_data, 0, -1, null, null);
   795  };
   796  goog.inherits(proto.google.protobuf.UninterpretedOption.NamePart, jspb.Message);
   797  if (goog.DEBUG && !COMPILED) {
   798    /**
   799     * @public
   800     * @override
   801     */
   802    proto.google.protobuf.UninterpretedOption.NamePart.displayName = 'proto.google.protobuf.UninterpretedOption.NamePart';
   803  }
   804  /**
   805   * Generated by JsPbCodeGenerator.
   806   * @param {Array=} opt_data Optional initial data array, typically from a
   807   * server response, or constructed directly in Javascript. The array is used
   808   * in place and becomes part of the constructed object. It is not cloned.
   809   * If no data is provided, the constructed object will be empty, but still
   810   * valid.
   811   * @extends {jspb.Message}
   812   * @constructor
   813   */
   814  proto.google.protobuf.SourceCodeInfo = function(opt_data) {
   815    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.SourceCodeInfo.repeatedFields_, null);
   816  };
   817  goog.inherits(proto.google.protobuf.SourceCodeInfo, jspb.Message);
   818  if (goog.DEBUG && !COMPILED) {
   819    /**
   820     * @public
   821     * @override
   822     */
   823    proto.google.protobuf.SourceCodeInfo.displayName = 'proto.google.protobuf.SourceCodeInfo';
   824  }
   825  /**
   826   * Generated by JsPbCodeGenerator.
   827   * @param {Array=} opt_data Optional initial data array, typically from a
   828   * server response, or constructed directly in Javascript. The array is used
   829   * in place and becomes part of the constructed object. It is not cloned.
   830   * If no data is provided, the constructed object will be empty, but still
   831   * valid.
   832   * @extends {jspb.Message}
   833   * @constructor
   834   */
   835  proto.google.protobuf.SourceCodeInfo.Location = function(opt_data) {
   836    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.SourceCodeInfo.Location.repeatedFields_, null);
   837  };
   838  goog.inherits(proto.google.protobuf.SourceCodeInfo.Location, jspb.Message);
   839  if (goog.DEBUG && !COMPILED) {
   840    /**
   841     * @public
   842     * @override
   843     */
   844    proto.google.protobuf.SourceCodeInfo.Location.displayName = 'proto.google.protobuf.SourceCodeInfo.Location';
   845  }
   846  /**
   847   * Generated by JsPbCodeGenerator.
   848   * @param {Array=} opt_data Optional initial data array, typically from a
   849   * server response, or constructed directly in Javascript. The array is used
   850   * in place and becomes part of the constructed object. It is not cloned.
   851   * If no data is provided, the constructed object will be empty, but still
   852   * valid.
   853   * @extends {jspb.Message}
   854   * @constructor
   855   */
   856  proto.google.protobuf.GeneratedCodeInfo = function(opt_data) {
   857    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.GeneratedCodeInfo.repeatedFields_, null);
   858  };
   859  goog.inherits(proto.google.protobuf.GeneratedCodeInfo, jspb.Message);
   860  if (goog.DEBUG && !COMPILED) {
   861    /**
   862     * @public
   863     * @override
   864     */
   865    proto.google.protobuf.GeneratedCodeInfo.displayName = 'proto.google.protobuf.GeneratedCodeInfo';
   866  }
   867  /**
   868   * Generated by JsPbCodeGenerator.
   869   * @param {Array=} opt_data Optional initial data array, typically from a
   870   * server response, or constructed directly in Javascript. The array is used
   871   * in place and becomes part of the constructed object. It is not cloned.
   872   * If no data is provided, the constructed object will be empty, but still
   873   * valid.
   874   * @extends {jspb.Message}
   875   * @constructor
   876   */
   877  proto.google.protobuf.GeneratedCodeInfo.Annotation = function(opt_data) {
   878    jspb.Message.initialize(this, opt_data, 0, -1, proto.google.protobuf.GeneratedCodeInfo.Annotation.repeatedFields_, null);
   879  };
   880  goog.inherits(proto.google.protobuf.GeneratedCodeInfo.Annotation, jspb.Message);
   881  if (goog.DEBUG && !COMPILED) {
   882    /**
   883     * @public
   884     * @override
   885     */
   886    proto.google.protobuf.GeneratedCodeInfo.Annotation.displayName = 'proto.google.protobuf.GeneratedCodeInfo.Annotation';
   887  }
   888  
   889  /**
   890   * List of repeated fields within this message type.
   891   * @private {!Array<number>}
   892   * @const
   893   */
   894  proto.google.protobuf.FileDescriptorSet.repeatedFields_ = [1];
   895  
   896  
   897  
   898  if (jspb.Message.GENERATE_TO_OBJECT) {
   899  /**
   900   * Creates an object representation of this proto.
   901   * Field names that are reserved in JavaScript and will be renamed to pb_name.
   902   * Optional fields that are not set will be set to undefined.
   903   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
   904   * For the list of reserved names please see:
   905   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
   906   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
   907   *     JSPB instance for transitional soy proto support:
   908   *     http://goto/soy-param-migration
   909   * @return {!Object}
   910   */
   911  proto.google.protobuf.FileDescriptorSet.prototype.toObject = function(opt_includeInstance) {
   912    return proto.google.protobuf.FileDescriptorSet.toObject(opt_includeInstance, this);
   913  };
   914  
   915  
   916  /**
   917   * Static version of the {@see toObject} method.
   918   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
   919   *     the JSPB instance for transitional soy proto support:
   920   *     http://goto/soy-param-migration
   921   * @param {!proto.google.protobuf.FileDescriptorSet} msg The msg instance to transform.
   922   * @return {!Object}
   923   * @suppress {unusedLocalVariables} f is only used for nested messages
   924   */
   925  proto.google.protobuf.FileDescriptorSet.toObject = function(includeInstance, msg) {
   926    var f, obj = {
   927      fileList: jspb.Message.toObjectList(msg.getFileList(),
   928      proto.google.protobuf.FileDescriptorProto.toObject, includeInstance)
   929    };
   930  
   931    if (includeInstance) {
   932      obj.$jspbMessageInstance = msg;
   933    }
   934    return obj;
   935  };
   936  }
   937  
   938  
   939  /**
   940   * Deserializes binary data (in protobuf wire format).
   941   * @param {jspb.ByteSource} bytes The bytes to deserialize.
   942   * @return {!proto.google.protobuf.FileDescriptorSet}
   943   */
   944  proto.google.protobuf.FileDescriptorSet.deserializeBinary = function(bytes) {
   945    var reader = new jspb.BinaryReader(bytes);
   946    var msg = new proto.google.protobuf.FileDescriptorSet;
   947    return proto.google.protobuf.FileDescriptorSet.deserializeBinaryFromReader(msg, reader);
   948  };
   949  
   950  
   951  /**
   952   * Deserializes binary data (in protobuf wire format) from the
   953   * given reader into the given message object.
   954   * @param {!proto.google.protobuf.FileDescriptorSet} msg The message object to deserialize into.
   955   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
   956   * @return {!proto.google.protobuf.FileDescriptorSet}
   957   */
   958  proto.google.protobuf.FileDescriptorSet.deserializeBinaryFromReader = function(msg, reader) {
   959    while (reader.nextField()) {
   960      if (reader.isEndGroup()) {
   961        break;
   962      }
   963      var field = reader.getFieldNumber();
   964      switch (field) {
   965      case 1:
   966        var value = new proto.google.protobuf.FileDescriptorProto;
   967        reader.readMessage(value,proto.google.protobuf.FileDescriptorProto.deserializeBinaryFromReader);
   968        msg.addFile(value);
   969        break;
   970      default:
   971        reader.skipField();
   972        break;
   973      }
   974    }
   975    return msg;
   976  };
   977  
   978  
   979  /**
   980   * Serializes the message to binary data (in protobuf wire format).
   981   * @return {!Uint8Array}
   982   */
   983  proto.google.protobuf.FileDescriptorSet.prototype.serializeBinary = function() {
   984    var writer = new jspb.BinaryWriter();
   985    proto.google.protobuf.FileDescriptorSet.serializeBinaryToWriter(this, writer);
   986    return writer.getResultBuffer();
   987  };
   988  
   989  
   990  /**
   991   * Serializes the given message to binary data (in protobuf wire
   992   * format), writing to the given BinaryWriter.
   993   * @param {!proto.google.protobuf.FileDescriptorSet} message
   994   * @param {!jspb.BinaryWriter} writer
   995   * @suppress {unusedLocalVariables} f is only used for nested messages
   996   */
   997  proto.google.protobuf.FileDescriptorSet.serializeBinaryToWriter = function(message, writer) {
   998    var f = undefined;
   999    f = message.getFileList();
  1000    if (f.length > 0) {
  1001      writer.writeRepeatedMessage(
  1002        1,
  1003        f,
  1004        proto.google.protobuf.FileDescriptorProto.serializeBinaryToWriter
  1005      );
  1006    }
  1007  };
  1008  
  1009  
  1010  /**
  1011   * repeated FileDescriptorProto file = 1;
  1012   * @return {!Array<!proto.google.protobuf.FileDescriptorProto>}
  1013   */
  1014  proto.google.protobuf.FileDescriptorSet.prototype.getFileList = function() {
  1015    return /** @type{!Array<!proto.google.protobuf.FileDescriptorProto>} */ (
  1016      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.FileDescriptorProto, 1));
  1017  };
  1018  
  1019  
  1020  /**
  1021   * @param {!Array<!proto.google.protobuf.FileDescriptorProto>} value
  1022   * @return {!proto.google.protobuf.FileDescriptorSet} returns this
  1023  */
  1024  proto.google.protobuf.FileDescriptorSet.prototype.setFileList = function(value) {
  1025    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  1026  };
  1027  
  1028  
  1029  /**
  1030   * @param {!proto.google.protobuf.FileDescriptorProto=} opt_value
  1031   * @param {number=} opt_index
  1032   * @return {!proto.google.protobuf.FileDescriptorProto}
  1033   */
  1034  proto.google.protobuf.FileDescriptorSet.prototype.addFile = function(opt_value, opt_index) {
  1035    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.google.protobuf.FileDescriptorProto, opt_index);
  1036  };
  1037  
  1038  
  1039  /**
  1040   * Clears the list making it empty but non-null.
  1041   * @return {!proto.google.protobuf.FileDescriptorSet} returns this
  1042   */
  1043  proto.google.protobuf.FileDescriptorSet.prototype.clearFileList = function() {
  1044    return this.setFileList([]);
  1045  };
  1046  
  1047  
  1048  
  1049  /**
  1050   * List of repeated fields within this message type.
  1051   * @private {!Array<number>}
  1052   * @const
  1053   */
  1054  proto.google.protobuf.FileDescriptorProto.repeatedFields_ = [3,10,11,4,5,6,7];
  1055  
  1056  
  1057  
  1058  if (jspb.Message.GENERATE_TO_OBJECT) {
  1059  /**
  1060   * Creates an object representation of this proto.
  1061   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  1062   * Optional fields that are not set will be set to undefined.
  1063   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  1064   * For the list of reserved names please see:
  1065   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  1066   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  1067   *     JSPB instance for transitional soy proto support:
  1068   *     http://goto/soy-param-migration
  1069   * @return {!Object}
  1070   */
  1071  proto.google.protobuf.FileDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  1072    return proto.google.protobuf.FileDescriptorProto.toObject(opt_includeInstance, this);
  1073  };
  1074  
  1075  
  1076  /**
  1077   * Static version of the {@see toObject} method.
  1078   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  1079   *     the JSPB instance for transitional soy proto support:
  1080   *     http://goto/soy-param-migration
  1081   * @param {!proto.google.protobuf.FileDescriptorProto} msg The msg instance to transform.
  1082   * @return {!Object}
  1083   * @suppress {unusedLocalVariables} f is only used for nested messages
  1084   */
  1085  proto.google.protobuf.FileDescriptorProto.toObject = function(includeInstance, msg) {
  1086    var f, obj = {
  1087      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  1088      pb_package: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
  1089      dependencyList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
  1090      publicDependencyList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f,
  1091      weakDependencyList: (f = jspb.Message.getRepeatedField(msg, 11)) == null ? undefined : f,
  1092      messageTypeList: jspb.Message.toObjectList(msg.getMessageTypeList(),
  1093      proto.google.protobuf.DescriptorProto.toObject, includeInstance),
  1094      enumTypeList: jspb.Message.toObjectList(msg.getEnumTypeList(),
  1095      proto.google.protobuf.EnumDescriptorProto.toObject, includeInstance),
  1096      serviceList: jspb.Message.toObjectList(msg.getServiceList(),
  1097      proto.google.protobuf.ServiceDescriptorProto.toObject, includeInstance),
  1098      extensionList: jspb.Message.toObjectList(msg.getExtensionList(),
  1099      proto.google.protobuf.FieldDescriptorProto.toObject, includeInstance),
  1100      options: (f = msg.getOptions()) && proto.google.protobuf.FileOptions.toObject(includeInstance, f),
  1101      sourceCodeInfo: (f = msg.getSourceCodeInfo()) && proto.google.protobuf.SourceCodeInfo.toObject(includeInstance, f),
  1102      syntax: (f = jspb.Message.getField(msg, 12)) == null ? undefined : f
  1103    };
  1104  
  1105    if (includeInstance) {
  1106      obj.$jspbMessageInstance = msg;
  1107    }
  1108    return obj;
  1109  };
  1110  }
  1111  
  1112  
  1113  /**
  1114   * Deserializes binary data (in protobuf wire format).
  1115   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  1116   * @return {!proto.google.protobuf.FileDescriptorProto}
  1117   */
  1118  proto.google.protobuf.FileDescriptorProto.deserializeBinary = function(bytes) {
  1119    var reader = new jspb.BinaryReader(bytes);
  1120    var msg = new proto.google.protobuf.FileDescriptorProto;
  1121    return proto.google.protobuf.FileDescriptorProto.deserializeBinaryFromReader(msg, reader);
  1122  };
  1123  
  1124  
  1125  /**
  1126   * Deserializes binary data (in protobuf wire format) from the
  1127   * given reader into the given message object.
  1128   * @param {!proto.google.protobuf.FileDescriptorProto} msg The message object to deserialize into.
  1129   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  1130   * @return {!proto.google.protobuf.FileDescriptorProto}
  1131   */
  1132  proto.google.protobuf.FileDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  1133    while (reader.nextField()) {
  1134      if (reader.isEndGroup()) {
  1135        break;
  1136      }
  1137      var field = reader.getFieldNumber();
  1138      switch (field) {
  1139      case 1:
  1140        var value = /** @type {string} */ (reader.readString());
  1141        msg.setName(value);
  1142        break;
  1143      case 2:
  1144        var value = /** @type {string} */ (reader.readString());
  1145        msg.setPackage(value);
  1146        break;
  1147      case 3:
  1148        var value = /** @type {string} */ (reader.readString());
  1149        msg.addDependency(value);
  1150        break;
  1151      case 10:
  1152        var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);
  1153        for (var i = 0; i < values.length; i++) {
  1154          msg.addPublicDependency(values[i]);
  1155        }
  1156        break;
  1157      case 11:
  1158        var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);
  1159        for (var i = 0; i < values.length; i++) {
  1160          msg.addWeakDependency(values[i]);
  1161        }
  1162        break;
  1163      case 4:
  1164        var value = new proto.google.protobuf.DescriptorProto;
  1165        reader.readMessage(value,proto.google.protobuf.DescriptorProto.deserializeBinaryFromReader);
  1166        msg.addMessageType(value);
  1167        break;
  1168      case 5:
  1169        var value = new proto.google.protobuf.EnumDescriptorProto;
  1170        reader.readMessage(value,proto.google.protobuf.EnumDescriptorProto.deserializeBinaryFromReader);
  1171        msg.addEnumType(value);
  1172        break;
  1173      case 6:
  1174        var value = new proto.google.protobuf.ServiceDescriptorProto;
  1175        reader.readMessage(value,proto.google.protobuf.ServiceDescriptorProto.deserializeBinaryFromReader);
  1176        msg.addService(value);
  1177        break;
  1178      case 7:
  1179        var value = new proto.google.protobuf.FieldDescriptorProto;
  1180        reader.readMessage(value,proto.google.protobuf.FieldDescriptorProto.deserializeBinaryFromReader);
  1181        msg.addExtension$(value);
  1182        break;
  1183      case 8:
  1184        var value = new proto.google.protobuf.FileOptions;
  1185        reader.readMessage(value,proto.google.protobuf.FileOptions.deserializeBinaryFromReader);
  1186        msg.setOptions(value);
  1187        break;
  1188      case 9:
  1189        var value = new proto.google.protobuf.SourceCodeInfo;
  1190        reader.readMessage(value,proto.google.protobuf.SourceCodeInfo.deserializeBinaryFromReader);
  1191        msg.setSourceCodeInfo(value);
  1192        break;
  1193      case 12:
  1194        var value = /** @type {string} */ (reader.readString());
  1195        msg.setSyntax(value);
  1196        break;
  1197      default:
  1198        reader.skipField();
  1199        break;
  1200      }
  1201    }
  1202    return msg;
  1203  };
  1204  
  1205  
  1206  /**
  1207   * Serializes the message to binary data (in protobuf wire format).
  1208   * @return {!Uint8Array}
  1209   */
  1210  proto.google.protobuf.FileDescriptorProto.prototype.serializeBinary = function() {
  1211    var writer = new jspb.BinaryWriter();
  1212    proto.google.protobuf.FileDescriptorProto.serializeBinaryToWriter(this, writer);
  1213    return writer.getResultBuffer();
  1214  };
  1215  
  1216  
  1217  /**
  1218   * Serializes the given message to binary data (in protobuf wire
  1219   * format), writing to the given BinaryWriter.
  1220   * @param {!proto.google.protobuf.FileDescriptorProto} message
  1221   * @param {!jspb.BinaryWriter} writer
  1222   * @suppress {unusedLocalVariables} f is only used for nested messages
  1223   */
  1224  proto.google.protobuf.FileDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  1225    var f = undefined;
  1226    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  1227    if (f != null) {
  1228      writer.writeString(
  1229        1,
  1230        f
  1231      );
  1232    }
  1233    f = /** @type {string} */ (jspb.Message.getField(message, 2));
  1234    if (f != null) {
  1235      writer.writeString(
  1236        2,
  1237        f
  1238      );
  1239    }
  1240    f = message.getDependencyList();
  1241    if (f.length > 0) {
  1242      writer.writeRepeatedString(
  1243        3,
  1244        f
  1245      );
  1246    }
  1247    f = message.getPublicDependencyList();
  1248    if (f.length > 0) {
  1249      writer.writeRepeatedInt32(
  1250        10,
  1251        f
  1252      );
  1253    }
  1254    f = message.getWeakDependencyList();
  1255    if (f.length > 0) {
  1256      writer.writeRepeatedInt32(
  1257        11,
  1258        f
  1259      );
  1260    }
  1261    f = message.getMessageTypeList();
  1262    if (f.length > 0) {
  1263      writer.writeRepeatedMessage(
  1264        4,
  1265        f,
  1266        proto.google.protobuf.DescriptorProto.serializeBinaryToWriter
  1267      );
  1268    }
  1269    f = message.getEnumTypeList();
  1270    if (f.length > 0) {
  1271      writer.writeRepeatedMessage(
  1272        5,
  1273        f,
  1274        proto.google.protobuf.EnumDescriptorProto.serializeBinaryToWriter
  1275      );
  1276    }
  1277    f = message.getServiceList();
  1278    if (f.length > 0) {
  1279      writer.writeRepeatedMessage(
  1280        6,
  1281        f,
  1282        proto.google.protobuf.ServiceDescriptorProto.serializeBinaryToWriter
  1283      );
  1284    }
  1285    f = message.getExtensionList();
  1286    if (f.length > 0) {
  1287      writer.writeRepeatedMessage(
  1288        7,
  1289        f,
  1290        proto.google.protobuf.FieldDescriptorProto.serializeBinaryToWriter
  1291      );
  1292    }
  1293    f = message.getOptions();
  1294    if (f != null) {
  1295      writer.writeMessage(
  1296        8,
  1297        f,
  1298        proto.google.protobuf.FileOptions.serializeBinaryToWriter
  1299      );
  1300    }
  1301    f = message.getSourceCodeInfo();
  1302    if (f != null) {
  1303      writer.writeMessage(
  1304        9,
  1305        f,
  1306        proto.google.protobuf.SourceCodeInfo.serializeBinaryToWriter
  1307      );
  1308    }
  1309    f = /** @type {string} */ (jspb.Message.getField(message, 12));
  1310    if (f != null) {
  1311      writer.writeString(
  1312        12,
  1313        f
  1314      );
  1315    }
  1316  };
  1317  
  1318  
  1319  /**
  1320   * optional string name = 1;
  1321   * @return {string}
  1322   */
  1323  proto.google.protobuf.FileDescriptorProto.prototype.getName = function() {
  1324    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  1325  };
  1326  
  1327  
  1328  /**
  1329   * @param {string} value
  1330   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1331   */
  1332  proto.google.protobuf.FileDescriptorProto.prototype.setName = function(value) {
  1333    return jspb.Message.setField(this, 1, value);
  1334  };
  1335  
  1336  
  1337  /**
  1338   * Clears the field making it undefined.
  1339   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1340   */
  1341  proto.google.protobuf.FileDescriptorProto.prototype.clearName = function() {
  1342    return jspb.Message.setField(this, 1, undefined);
  1343  };
  1344  
  1345  
  1346  /**
  1347   * Returns whether this field is set.
  1348   * @return {boolean}
  1349   */
  1350  proto.google.protobuf.FileDescriptorProto.prototype.hasName = function() {
  1351    return jspb.Message.getField(this, 1) != null;
  1352  };
  1353  
  1354  
  1355  /**
  1356   * optional string package = 2;
  1357   * @return {string}
  1358   */
  1359  proto.google.protobuf.FileDescriptorProto.prototype.getPackage = function() {
  1360    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  1361  };
  1362  
  1363  
  1364  /**
  1365   * @param {string} value
  1366   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1367   */
  1368  proto.google.protobuf.FileDescriptorProto.prototype.setPackage = function(value) {
  1369    return jspb.Message.setField(this, 2, value);
  1370  };
  1371  
  1372  
  1373  /**
  1374   * Clears the field making it undefined.
  1375   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1376   */
  1377  proto.google.protobuf.FileDescriptorProto.prototype.clearPackage = function() {
  1378    return jspb.Message.setField(this, 2, undefined);
  1379  };
  1380  
  1381  
  1382  /**
  1383   * Returns whether this field is set.
  1384   * @return {boolean}
  1385   */
  1386  proto.google.protobuf.FileDescriptorProto.prototype.hasPackage = function() {
  1387    return jspb.Message.getField(this, 2) != null;
  1388  };
  1389  
  1390  
  1391  /**
  1392   * repeated string dependency = 3;
  1393   * @return {!Array<string>}
  1394   */
  1395  proto.google.protobuf.FileDescriptorProto.prototype.getDependencyList = function() {
  1396    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
  1397  };
  1398  
  1399  
  1400  /**
  1401   * @param {!Array<string>} value
  1402   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1403   */
  1404  proto.google.protobuf.FileDescriptorProto.prototype.setDependencyList = function(value) {
  1405    return jspb.Message.setField(this, 3, value || []);
  1406  };
  1407  
  1408  
  1409  /**
  1410   * @param {string} value
  1411   * @param {number=} opt_index
  1412   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1413   */
  1414  proto.google.protobuf.FileDescriptorProto.prototype.addDependency = function(value, opt_index) {
  1415    return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
  1416  };
  1417  
  1418  
  1419  /**
  1420   * Clears the list making it empty but non-null.
  1421   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1422   */
  1423  proto.google.protobuf.FileDescriptorProto.prototype.clearDependencyList = function() {
  1424    return this.setDependencyList([]);
  1425  };
  1426  
  1427  
  1428  /**
  1429   * repeated int32 public_dependency = 10;
  1430   * @return {!Array<number>}
  1431   */
  1432  proto.google.protobuf.FileDescriptorProto.prototype.getPublicDependencyList = function() {
  1433    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 10));
  1434  };
  1435  
  1436  
  1437  /**
  1438   * @param {!Array<number>} value
  1439   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1440   */
  1441  proto.google.protobuf.FileDescriptorProto.prototype.setPublicDependencyList = function(value) {
  1442    return jspb.Message.setField(this, 10, value || []);
  1443  };
  1444  
  1445  
  1446  /**
  1447   * @param {number} value
  1448   * @param {number=} opt_index
  1449   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1450   */
  1451  proto.google.protobuf.FileDescriptorProto.prototype.addPublicDependency = function(value, opt_index) {
  1452    return jspb.Message.addToRepeatedField(this, 10, value, opt_index);
  1453  };
  1454  
  1455  
  1456  /**
  1457   * Clears the list making it empty but non-null.
  1458   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1459   */
  1460  proto.google.protobuf.FileDescriptorProto.prototype.clearPublicDependencyList = function() {
  1461    return this.setPublicDependencyList([]);
  1462  };
  1463  
  1464  
  1465  /**
  1466   * repeated int32 weak_dependency = 11;
  1467   * @return {!Array<number>}
  1468   */
  1469  proto.google.protobuf.FileDescriptorProto.prototype.getWeakDependencyList = function() {
  1470    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 11));
  1471  };
  1472  
  1473  
  1474  /**
  1475   * @param {!Array<number>} value
  1476   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1477   */
  1478  proto.google.protobuf.FileDescriptorProto.prototype.setWeakDependencyList = function(value) {
  1479    return jspb.Message.setField(this, 11, value || []);
  1480  };
  1481  
  1482  
  1483  /**
  1484   * @param {number} value
  1485   * @param {number=} opt_index
  1486   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1487   */
  1488  proto.google.protobuf.FileDescriptorProto.prototype.addWeakDependency = function(value, opt_index) {
  1489    return jspb.Message.addToRepeatedField(this, 11, value, opt_index);
  1490  };
  1491  
  1492  
  1493  /**
  1494   * Clears the list making it empty but non-null.
  1495   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1496   */
  1497  proto.google.protobuf.FileDescriptorProto.prototype.clearWeakDependencyList = function() {
  1498    return this.setWeakDependencyList([]);
  1499  };
  1500  
  1501  
  1502  /**
  1503   * repeated DescriptorProto message_type = 4;
  1504   * @return {!Array<!proto.google.protobuf.DescriptorProto>}
  1505   */
  1506  proto.google.protobuf.FileDescriptorProto.prototype.getMessageTypeList = function() {
  1507    return /** @type{!Array<!proto.google.protobuf.DescriptorProto>} */ (
  1508      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.DescriptorProto, 4));
  1509  };
  1510  
  1511  
  1512  /**
  1513   * @param {!Array<!proto.google.protobuf.DescriptorProto>} value
  1514   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1515  */
  1516  proto.google.protobuf.FileDescriptorProto.prototype.setMessageTypeList = function(value) {
  1517    return jspb.Message.setRepeatedWrapperField(this, 4, value);
  1518  };
  1519  
  1520  
  1521  /**
  1522   * @param {!proto.google.protobuf.DescriptorProto=} opt_value
  1523   * @param {number=} opt_index
  1524   * @return {!proto.google.protobuf.DescriptorProto}
  1525   */
  1526  proto.google.protobuf.FileDescriptorProto.prototype.addMessageType = function(opt_value, opt_index) {
  1527    return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.google.protobuf.DescriptorProto, opt_index);
  1528  };
  1529  
  1530  
  1531  /**
  1532   * Clears the list making it empty but non-null.
  1533   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1534   */
  1535  proto.google.protobuf.FileDescriptorProto.prototype.clearMessageTypeList = function() {
  1536    return this.setMessageTypeList([]);
  1537  };
  1538  
  1539  
  1540  /**
  1541   * repeated EnumDescriptorProto enum_type = 5;
  1542   * @return {!Array<!proto.google.protobuf.EnumDescriptorProto>}
  1543   */
  1544  proto.google.protobuf.FileDescriptorProto.prototype.getEnumTypeList = function() {
  1545    return /** @type{!Array<!proto.google.protobuf.EnumDescriptorProto>} */ (
  1546      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.EnumDescriptorProto, 5));
  1547  };
  1548  
  1549  
  1550  /**
  1551   * @param {!Array<!proto.google.protobuf.EnumDescriptorProto>} value
  1552   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1553  */
  1554  proto.google.protobuf.FileDescriptorProto.prototype.setEnumTypeList = function(value) {
  1555    return jspb.Message.setRepeatedWrapperField(this, 5, value);
  1556  };
  1557  
  1558  
  1559  /**
  1560   * @param {!proto.google.protobuf.EnumDescriptorProto=} opt_value
  1561   * @param {number=} opt_index
  1562   * @return {!proto.google.protobuf.EnumDescriptorProto}
  1563   */
  1564  proto.google.protobuf.FileDescriptorProto.prototype.addEnumType = function(opt_value, opt_index) {
  1565    return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.google.protobuf.EnumDescriptorProto, opt_index);
  1566  };
  1567  
  1568  
  1569  /**
  1570   * Clears the list making it empty but non-null.
  1571   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1572   */
  1573  proto.google.protobuf.FileDescriptorProto.prototype.clearEnumTypeList = function() {
  1574    return this.setEnumTypeList([]);
  1575  };
  1576  
  1577  
  1578  /**
  1579   * repeated ServiceDescriptorProto service = 6;
  1580   * @return {!Array<!proto.google.protobuf.ServiceDescriptorProto>}
  1581   */
  1582  proto.google.protobuf.FileDescriptorProto.prototype.getServiceList = function() {
  1583    return /** @type{!Array<!proto.google.protobuf.ServiceDescriptorProto>} */ (
  1584      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.ServiceDescriptorProto, 6));
  1585  };
  1586  
  1587  
  1588  /**
  1589   * @param {!Array<!proto.google.protobuf.ServiceDescriptorProto>} value
  1590   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1591  */
  1592  proto.google.protobuf.FileDescriptorProto.prototype.setServiceList = function(value) {
  1593    return jspb.Message.setRepeatedWrapperField(this, 6, value);
  1594  };
  1595  
  1596  
  1597  /**
  1598   * @param {!proto.google.protobuf.ServiceDescriptorProto=} opt_value
  1599   * @param {number=} opt_index
  1600   * @return {!proto.google.protobuf.ServiceDescriptorProto}
  1601   */
  1602  proto.google.protobuf.FileDescriptorProto.prototype.addService = function(opt_value, opt_index) {
  1603    return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.google.protobuf.ServiceDescriptorProto, opt_index);
  1604  };
  1605  
  1606  
  1607  /**
  1608   * Clears the list making it empty but non-null.
  1609   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1610   */
  1611  proto.google.protobuf.FileDescriptorProto.prototype.clearServiceList = function() {
  1612    return this.setServiceList([]);
  1613  };
  1614  
  1615  
  1616  /**
  1617   * repeated FieldDescriptorProto extension = 7;
  1618   * @return {!Array<!proto.google.protobuf.FieldDescriptorProto>}
  1619   */
  1620  proto.google.protobuf.FileDescriptorProto.prototype.getExtensionList = function() {
  1621    return /** @type{!Array<!proto.google.protobuf.FieldDescriptorProto>} */ (
  1622      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.FieldDescriptorProto, 7));
  1623  };
  1624  
  1625  
  1626  /**
  1627   * @param {!Array<!proto.google.protobuf.FieldDescriptorProto>} value
  1628   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1629  */
  1630  proto.google.protobuf.FileDescriptorProto.prototype.setExtensionList = function(value) {
  1631    return jspb.Message.setRepeatedWrapperField(this, 7, value);
  1632  };
  1633  
  1634  
  1635  /**
  1636   * @param {!proto.google.protobuf.FieldDescriptorProto=} opt_value
  1637   * @param {number=} opt_index
  1638   * @return {!proto.google.protobuf.FieldDescriptorProto}
  1639   */
  1640  proto.google.protobuf.FileDescriptorProto.prototype.addExtension$ = function(opt_value, opt_index) {
  1641    return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.google.protobuf.FieldDescriptorProto, opt_index);
  1642  };
  1643  
  1644  
  1645  /**
  1646   * Clears the list making it empty but non-null.
  1647   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1648   */
  1649  proto.google.protobuf.FileDescriptorProto.prototype.clearExtensionList = function() {
  1650    return this.setExtensionList([]);
  1651  };
  1652  
  1653  
  1654  /**
  1655   * optional FileOptions options = 8;
  1656   * @return {?proto.google.protobuf.FileOptions}
  1657   */
  1658  proto.google.protobuf.FileDescriptorProto.prototype.getOptions = function() {
  1659    return /** @type{?proto.google.protobuf.FileOptions} */ (
  1660      jspb.Message.getWrapperField(this, proto.google.protobuf.FileOptions, 8));
  1661  };
  1662  
  1663  
  1664  /**
  1665   * @param {?proto.google.protobuf.FileOptions|undefined} value
  1666   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1667  */
  1668  proto.google.protobuf.FileDescriptorProto.prototype.setOptions = function(value) {
  1669    return jspb.Message.setWrapperField(this, 8, value);
  1670  };
  1671  
  1672  
  1673  /**
  1674   * Clears the message field making it undefined.
  1675   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1676   */
  1677  proto.google.protobuf.FileDescriptorProto.prototype.clearOptions = function() {
  1678    return this.setOptions(undefined);
  1679  };
  1680  
  1681  
  1682  /**
  1683   * Returns whether this field is set.
  1684   * @return {boolean}
  1685   */
  1686  proto.google.protobuf.FileDescriptorProto.prototype.hasOptions = function() {
  1687    return jspb.Message.getField(this, 8) != null;
  1688  };
  1689  
  1690  
  1691  /**
  1692   * optional SourceCodeInfo source_code_info = 9;
  1693   * @return {?proto.google.protobuf.SourceCodeInfo}
  1694   */
  1695  proto.google.protobuf.FileDescriptorProto.prototype.getSourceCodeInfo = function() {
  1696    return /** @type{?proto.google.protobuf.SourceCodeInfo} */ (
  1697      jspb.Message.getWrapperField(this, proto.google.protobuf.SourceCodeInfo, 9));
  1698  };
  1699  
  1700  
  1701  /**
  1702   * @param {?proto.google.protobuf.SourceCodeInfo|undefined} value
  1703   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1704  */
  1705  proto.google.protobuf.FileDescriptorProto.prototype.setSourceCodeInfo = function(value) {
  1706    return jspb.Message.setWrapperField(this, 9, value);
  1707  };
  1708  
  1709  
  1710  /**
  1711   * Clears the message field making it undefined.
  1712   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1713   */
  1714  proto.google.protobuf.FileDescriptorProto.prototype.clearSourceCodeInfo = function() {
  1715    return this.setSourceCodeInfo(undefined);
  1716  };
  1717  
  1718  
  1719  /**
  1720   * Returns whether this field is set.
  1721   * @return {boolean}
  1722   */
  1723  proto.google.protobuf.FileDescriptorProto.prototype.hasSourceCodeInfo = function() {
  1724    return jspb.Message.getField(this, 9) != null;
  1725  };
  1726  
  1727  
  1728  /**
  1729   * optional string syntax = 12;
  1730   * @return {string}
  1731   */
  1732  proto.google.protobuf.FileDescriptorProto.prototype.getSyntax = function() {
  1733    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, ""));
  1734  };
  1735  
  1736  
  1737  /**
  1738   * @param {string} value
  1739   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1740   */
  1741  proto.google.protobuf.FileDescriptorProto.prototype.setSyntax = function(value) {
  1742    return jspb.Message.setField(this, 12, value);
  1743  };
  1744  
  1745  
  1746  /**
  1747   * Clears the field making it undefined.
  1748   * @return {!proto.google.protobuf.FileDescriptorProto} returns this
  1749   */
  1750  proto.google.protobuf.FileDescriptorProto.prototype.clearSyntax = function() {
  1751    return jspb.Message.setField(this, 12, undefined);
  1752  };
  1753  
  1754  
  1755  /**
  1756   * Returns whether this field is set.
  1757   * @return {boolean}
  1758   */
  1759  proto.google.protobuf.FileDescriptorProto.prototype.hasSyntax = function() {
  1760    return jspb.Message.getField(this, 12) != null;
  1761  };
  1762  
  1763  
  1764  
  1765  /**
  1766   * List of repeated fields within this message type.
  1767   * @private {!Array<number>}
  1768   * @const
  1769   */
  1770  proto.google.protobuf.DescriptorProto.repeatedFields_ = [2,6,3,4,5,8,9,10];
  1771  
  1772  
  1773  
  1774  if (jspb.Message.GENERATE_TO_OBJECT) {
  1775  /**
  1776   * Creates an object representation of this proto.
  1777   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  1778   * Optional fields that are not set will be set to undefined.
  1779   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  1780   * For the list of reserved names please see:
  1781   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  1782   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  1783   *     JSPB instance for transitional soy proto support:
  1784   *     http://goto/soy-param-migration
  1785   * @return {!Object}
  1786   */
  1787  proto.google.protobuf.DescriptorProto.prototype.toObject = function(opt_includeInstance) {
  1788    return proto.google.protobuf.DescriptorProto.toObject(opt_includeInstance, this);
  1789  };
  1790  
  1791  
  1792  /**
  1793   * Static version of the {@see toObject} method.
  1794   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  1795   *     the JSPB instance for transitional soy proto support:
  1796   *     http://goto/soy-param-migration
  1797   * @param {!proto.google.protobuf.DescriptorProto} msg The msg instance to transform.
  1798   * @return {!Object}
  1799   * @suppress {unusedLocalVariables} f is only used for nested messages
  1800   */
  1801  proto.google.protobuf.DescriptorProto.toObject = function(includeInstance, msg) {
  1802    var f, obj = {
  1803      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  1804      fieldList: jspb.Message.toObjectList(msg.getFieldList(),
  1805      proto.google.protobuf.FieldDescriptorProto.toObject, includeInstance),
  1806      extensionList: jspb.Message.toObjectList(msg.getExtensionList(),
  1807      proto.google.protobuf.FieldDescriptorProto.toObject, includeInstance),
  1808      nestedTypeList: jspb.Message.toObjectList(msg.getNestedTypeList(),
  1809      proto.google.protobuf.DescriptorProto.toObject, includeInstance),
  1810      enumTypeList: jspb.Message.toObjectList(msg.getEnumTypeList(),
  1811      proto.google.protobuf.EnumDescriptorProto.toObject, includeInstance),
  1812      extensionRangeList: jspb.Message.toObjectList(msg.getExtensionRangeList(),
  1813      proto.google.protobuf.DescriptorProto.ExtensionRange.toObject, includeInstance),
  1814      oneofDeclList: jspb.Message.toObjectList(msg.getOneofDeclList(),
  1815      proto.google.protobuf.OneofDescriptorProto.toObject, includeInstance),
  1816      options: (f = msg.getOptions()) && proto.google.protobuf.MessageOptions.toObject(includeInstance, f),
  1817      reservedRangeList: jspb.Message.toObjectList(msg.getReservedRangeList(),
  1818      proto.google.protobuf.DescriptorProto.ReservedRange.toObject, includeInstance),
  1819      reservedNameList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f
  1820    };
  1821  
  1822    if (includeInstance) {
  1823      obj.$jspbMessageInstance = msg;
  1824    }
  1825    return obj;
  1826  };
  1827  }
  1828  
  1829  
  1830  /**
  1831   * Deserializes binary data (in protobuf wire format).
  1832   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  1833   * @return {!proto.google.protobuf.DescriptorProto}
  1834   */
  1835  proto.google.protobuf.DescriptorProto.deserializeBinary = function(bytes) {
  1836    var reader = new jspb.BinaryReader(bytes);
  1837    var msg = new proto.google.protobuf.DescriptorProto;
  1838    return proto.google.protobuf.DescriptorProto.deserializeBinaryFromReader(msg, reader);
  1839  };
  1840  
  1841  
  1842  /**
  1843   * Deserializes binary data (in protobuf wire format) from the
  1844   * given reader into the given message object.
  1845   * @param {!proto.google.protobuf.DescriptorProto} msg The message object to deserialize into.
  1846   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  1847   * @return {!proto.google.protobuf.DescriptorProto}
  1848   */
  1849  proto.google.protobuf.DescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  1850    while (reader.nextField()) {
  1851      if (reader.isEndGroup()) {
  1852        break;
  1853      }
  1854      var field = reader.getFieldNumber();
  1855      switch (field) {
  1856      case 1:
  1857        var value = /** @type {string} */ (reader.readString());
  1858        msg.setName(value);
  1859        break;
  1860      case 2:
  1861        var value = new proto.google.protobuf.FieldDescriptorProto;
  1862        reader.readMessage(value,proto.google.protobuf.FieldDescriptorProto.deserializeBinaryFromReader);
  1863        msg.addField(value);
  1864        break;
  1865      case 6:
  1866        var value = new proto.google.protobuf.FieldDescriptorProto;
  1867        reader.readMessage(value,proto.google.protobuf.FieldDescriptorProto.deserializeBinaryFromReader);
  1868        msg.addExtension$(value);
  1869        break;
  1870      case 3:
  1871        var value = new proto.google.protobuf.DescriptorProto;
  1872        reader.readMessage(value,proto.google.protobuf.DescriptorProto.deserializeBinaryFromReader);
  1873        msg.addNestedType(value);
  1874        break;
  1875      case 4:
  1876        var value = new proto.google.protobuf.EnumDescriptorProto;
  1877        reader.readMessage(value,proto.google.protobuf.EnumDescriptorProto.deserializeBinaryFromReader);
  1878        msg.addEnumType(value);
  1879        break;
  1880      case 5:
  1881        var value = new proto.google.protobuf.DescriptorProto.ExtensionRange;
  1882        reader.readMessage(value,proto.google.protobuf.DescriptorProto.ExtensionRange.deserializeBinaryFromReader);
  1883        msg.addExtensionRange(value);
  1884        break;
  1885      case 8:
  1886        var value = new proto.google.protobuf.OneofDescriptorProto;
  1887        reader.readMessage(value,proto.google.protobuf.OneofDescriptorProto.deserializeBinaryFromReader);
  1888        msg.addOneofDecl(value);
  1889        break;
  1890      case 7:
  1891        var value = new proto.google.protobuf.MessageOptions;
  1892        reader.readMessage(value,proto.google.protobuf.MessageOptions.deserializeBinaryFromReader);
  1893        msg.setOptions(value);
  1894        break;
  1895      case 9:
  1896        var value = new proto.google.protobuf.DescriptorProto.ReservedRange;
  1897        reader.readMessage(value,proto.google.protobuf.DescriptorProto.ReservedRange.deserializeBinaryFromReader);
  1898        msg.addReservedRange(value);
  1899        break;
  1900      case 10:
  1901        var value = /** @type {string} */ (reader.readString());
  1902        msg.addReservedName(value);
  1903        break;
  1904      default:
  1905        reader.skipField();
  1906        break;
  1907      }
  1908    }
  1909    return msg;
  1910  };
  1911  
  1912  
  1913  /**
  1914   * Serializes the message to binary data (in protobuf wire format).
  1915   * @return {!Uint8Array}
  1916   */
  1917  proto.google.protobuf.DescriptorProto.prototype.serializeBinary = function() {
  1918    var writer = new jspb.BinaryWriter();
  1919    proto.google.protobuf.DescriptorProto.serializeBinaryToWriter(this, writer);
  1920    return writer.getResultBuffer();
  1921  };
  1922  
  1923  
  1924  /**
  1925   * Serializes the given message to binary data (in protobuf wire
  1926   * format), writing to the given BinaryWriter.
  1927   * @param {!proto.google.protobuf.DescriptorProto} message
  1928   * @param {!jspb.BinaryWriter} writer
  1929   * @suppress {unusedLocalVariables} f is only used for nested messages
  1930   */
  1931  proto.google.protobuf.DescriptorProto.serializeBinaryToWriter = function(message, writer) {
  1932    var f = undefined;
  1933    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  1934    if (f != null) {
  1935      writer.writeString(
  1936        1,
  1937        f
  1938      );
  1939    }
  1940    f = message.getFieldList();
  1941    if (f.length > 0) {
  1942      writer.writeRepeatedMessage(
  1943        2,
  1944        f,
  1945        proto.google.protobuf.FieldDescriptorProto.serializeBinaryToWriter
  1946      );
  1947    }
  1948    f = message.getExtensionList();
  1949    if (f.length > 0) {
  1950      writer.writeRepeatedMessage(
  1951        6,
  1952        f,
  1953        proto.google.protobuf.FieldDescriptorProto.serializeBinaryToWriter
  1954      );
  1955    }
  1956    f = message.getNestedTypeList();
  1957    if (f.length > 0) {
  1958      writer.writeRepeatedMessage(
  1959        3,
  1960        f,
  1961        proto.google.protobuf.DescriptorProto.serializeBinaryToWriter
  1962      );
  1963    }
  1964    f = message.getEnumTypeList();
  1965    if (f.length > 0) {
  1966      writer.writeRepeatedMessage(
  1967        4,
  1968        f,
  1969        proto.google.protobuf.EnumDescriptorProto.serializeBinaryToWriter
  1970      );
  1971    }
  1972    f = message.getExtensionRangeList();
  1973    if (f.length > 0) {
  1974      writer.writeRepeatedMessage(
  1975        5,
  1976        f,
  1977        proto.google.protobuf.DescriptorProto.ExtensionRange.serializeBinaryToWriter
  1978      );
  1979    }
  1980    f = message.getOneofDeclList();
  1981    if (f.length > 0) {
  1982      writer.writeRepeatedMessage(
  1983        8,
  1984        f,
  1985        proto.google.protobuf.OneofDescriptorProto.serializeBinaryToWriter
  1986      );
  1987    }
  1988    f = message.getOptions();
  1989    if (f != null) {
  1990      writer.writeMessage(
  1991        7,
  1992        f,
  1993        proto.google.protobuf.MessageOptions.serializeBinaryToWriter
  1994      );
  1995    }
  1996    f = message.getReservedRangeList();
  1997    if (f.length > 0) {
  1998      writer.writeRepeatedMessage(
  1999        9,
  2000        f,
  2001        proto.google.protobuf.DescriptorProto.ReservedRange.serializeBinaryToWriter
  2002      );
  2003    }
  2004    f = message.getReservedNameList();
  2005    if (f.length > 0) {
  2006      writer.writeRepeatedString(
  2007        10,
  2008        f
  2009      );
  2010    }
  2011  };
  2012  
  2013  
  2014  
  2015  
  2016  
  2017  if (jspb.Message.GENERATE_TO_OBJECT) {
  2018  /**
  2019   * Creates an object representation of this proto.
  2020   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  2021   * Optional fields that are not set will be set to undefined.
  2022   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  2023   * For the list of reserved names please see:
  2024   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  2025   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  2026   *     JSPB instance for transitional soy proto support:
  2027   *     http://goto/soy-param-migration
  2028   * @return {!Object}
  2029   */
  2030  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.toObject = function(opt_includeInstance) {
  2031    return proto.google.protobuf.DescriptorProto.ExtensionRange.toObject(opt_includeInstance, this);
  2032  };
  2033  
  2034  
  2035  /**
  2036   * Static version of the {@see toObject} method.
  2037   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  2038   *     the JSPB instance for transitional soy proto support:
  2039   *     http://goto/soy-param-migration
  2040   * @param {!proto.google.protobuf.DescriptorProto.ExtensionRange} msg The msg instance to transform.
  2041   * @return {!Object}
  2042   * @suppress {unusedLocalVariables} f is only used for nested messages
  2043   */
  2044  proto.google.protobuf.DescriptorProto.ExtensionRange.toObject = function(includeInstance, msg) {
  2045    var f, obj = {
  2046      start: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  2047      end: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
  2048      options: (f = msg.getOptions()) && proto.google.protobuf.ExtensionRangeOptions.toObject(includeInstance, f)
  2049    };
  2050  
  2051    if (includeInstance) {
  2052      obj.$jspbMessageInstance = msg;
  2053    }
  2054    return obj;
  2055  };
  2056  }
  2057  
  2058  
  2059  /**
  2060   * Deserializes binary data (in protobuf wire format).
  2061   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  2062   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange}
  2063   */
  2064  proto.google.protobuf.DescriptorProto.ExtensionRange.deserializeBinary = function(bytes) {
  2065    var reader = new jspb.BinaryReader(bytes);
  2066    var msg = new proto.google.protobuf.DescriptorProto.ExtensionRange;
  2067    return proto.google.protobuf.DescriptorProto.ExtensionRange.deserializeBinaryFromReader(msg, reader);
  2068  };
  2069  
  2070  
  2071  /**
  2072   * Deserializes binary data (in protobuf wire format) from the
  2073   * given reader into the given message object.
  2074   * @param {!proto.google.protobuf.DescriptorProto.ExtensionRange} msg The message object to deserialize into.
  2075   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  2076   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange}
  2077   */
  2078  proto.google.protobuf.DescriptorProto.ExtensionRange.deserializeBinaryFromReader = function(msg, reader) {
  2079    while (reader.nextField()) {
  2080      if (reader.isEndGroup()) {
  2081        break;
  2082      }
  2083      var field = reader.getFieldNumber();
  2084      switch (field) {
  2085      case 1:
  2086        var value = /** @type {number} */ (reader.readInt32());
  2087        msg.setStart(value);
  2088        break;
  2089      case 2:
  2090        var value = /** @type {number} */ (reader.readInt32());
  2091        msg.setEnd(value);
  2092        break;
  2093      case 3:
  2094        var value = new proto.google.protobuf.ExtensionRangeOptions;
  2095        reader.readMessage(value,proto.google.protobuf.ExtensionRangeOptions.deserializeBinaryFromReader);
  2096        msg.setOptions(value);
  2097        break;
  2098      default:
  2099        reader.skipField();
  2100        break;
  2101      }
  2102    }
  2103    return msg;
  2104  };
  2105  
  2106  
  2107  /**
  2108   * Serializes the message to binary data (in protobuf wire format).
  2109   * @return {!Uint8Array}
  2110   */
  2111  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.serializeBinary = function() {
  2112    var writer = new jspb.BinaryWriter();
  2113    proto.google.protobuf.DescriptorProto.ExtensionRange.serializeBinaryToWriter(this, writer);
  2114    return writer.getResultBuffer();
  2115  };
  2116  
  2117  
  2118  /**
  2119   * Serializes the given message to binary data (in protobuf wire
  2120   * format), writing to the given BinaryWriter.
  2121   * @param {!proto.google.protobuf.DescriptorProto.ExtensionRange} message
  2122   * @param {!jspb.BinaryWriter} writer
  2123   * @suppress {unusedLocalVariables} f is only used for nested messages
  2124   */
  2125  proto.google.protobuf.DescriptorProto.ExtensionRange.serializeBinaryToWriter = function(message, writer) {
  2126    var f = undefined;
  2127    f = /** @type {number} */ (jspb.Message.getField(message, 1));
  2128    if (f != null) {
  2129      writer.writeInt32(
  2130        1,
  2131        f
  2132      );
  2133    }
  2134    f = /** @type {number} */ (jspb.Message.getField(message, 2));
  2135    if (f != null) {
  2136      writer.writeInt32(
  2137        2,
  2138        f
  2139      );
  2140    }
  2141    f = message.getOptions();
  2142    if (f != null) {
  2143      writer.writeMessage(
  2144        3,
  2145        f,
  2146        proto.google.protobuf.ExtensionRangeOptions.serializeBinaryToWriter
  2147      );
  2148    }
  2149  };
  2150  
  2151  
  2152  /**
  2153   * optional int32 start = 1;
  2154   * @return {number}
  2155   */
  2156  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.getStart = function() {
  2157    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  2158  };
  2159  
  2160  
  2161  /**
  2162   * @param {number} value
  2163   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange} returns this
  2164   */
  2165  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.setStart = function(value) {
  2166    return jspb.Message.setField(this, 1, value);
  2167  };
  2168  
  2169  
  2170  /**
  2171   * Clears the field making it undefined.
  2172   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange} returns this
  2173   */
  2174  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.clearStart = function() {
  2175    return jspb.Message.setField(this, 1, undefined);
  2176  };
  2177  
  2178  
  2179  /**
  2180   * Returns whether this field is set.
  2181   * @return {boolean}
  2182   */
  2183  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.hasStart = function() {
  2184    return jspb.Message.getField(this, 1) != null;
  2185  };
  2186  
  2187  
  2188  /**
  2189   * optional int32 end = 2;
  2190   * @return {number}
  2191   */
  2192  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.getEnd = function() {
  2193    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  2194  };
  2195  
  2196  
  2197  /**
  2198   * @param {number} value
  2199   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange} returns this
  2200   */
  2201  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.setEnd = function(value) {
  2202    return jspb.Message.setField(this, 2, value);
  2203  };
  2204  
  2205  
  2206  /**
  2207   * Clears the field making it undefined.
  2208   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange} returns this
  2209   */
  2210  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.clearEnd = function() {
  2211    return jspb.Message.setField(this, 2, undefined);
  2212  };
  2213  
  2214  
  2215  /**
  2216   * Returns whether this field is set.
  2217   * @return {boolean}
  2218   */
  2219  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.hasEnd = function() {
  2220    return jspb.Message.getField(this, 2) != null;
  2221  };
  2222  
  2223  
  2224  /**
  2225   * optional ExtensionRangeOptions options = 3;
  2226   * @return {?proto.google.protobuf.ExtensionRangeOptions}
  2227   */
  2228  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.getOptions = function() {
  2229    return /** @type{?proto.google.protobuf.ExtensionRangeOptions} */ (
  2230      jspb.Message.getWrapperField(this, proto.google.protobuf.ExtensionRangeOptions, 3));
  2231  };
  2232  
  2233  
  2234  /**
  2235   * @param {?proto.google.protobuf.ExtensionRangeOptions|undefined} value
  2236   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange} returns this
  2237  */
  2238  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.setOptions = function(value) {
  2239    return jspb.Message.setWrapperField(this, 3, value);
  2240  };
  2241  
  2242  
  2243  /**
  2244   * Clears the message field making it undefined.
  2245   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange} returns this
  2246   */
  2247  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.clearOptions = function() {
  2248    return this.setOptions(undefined);
  2249  };
  2250  
  2251  
  2252  /**
  2253   * Returns whether this field is set.
  2254   * @return {boolean}
  2255   */
  2256  proto.google.protobuf.DescriptorProto.ExtensionRange.prototype.hasOptions = function() {
  2257    return jspb.Message.getField(this, 3) != null;
  2258  };
  2259  
  2260  
  2261  
  2262  
  2263  
  2264  if (jspb.Message.GENERATE_TO_OBJECT) {
  2265  /**
  2266   * Creates an object representation of this proto.
  2267   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  2268   * Optional fields that are not set will be set to undefined.
  2269   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  2270   * For the list of reserved names please see:
  2271   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  2272   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  2273   *     JSPB instance for transitional soy proto support:
  2274   *     http://goto/soy-param-migration
  2275   * @return {!Object}
  2276   */
  2277  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.toObject = function(opt_includeInstance) {
  2278    return proto.google.protobuf.DescriptorProto.ReservedRange.toObject(opt_includeInstance, this);
  2279  };
  2280  
  2281  
  2282  /**
  2283   * Static version of the {@see toObject} method.
  2284   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  2285   *     the JSPB instance for transitional soy proto support:
  2286   *     http://goto/soy-param-migration
  2287   * @param {!proto.google.protobuf.DescriptorProto.ReservedRange} msg The msg instance to transform.
  2288   * @return {!Object}
  2289   * @suppress {unusedLocalVariables} f is only used for nested messages
  2290   */
  2291  proto.google.protobuf.DescriptorProto.ReservedRange.toObject = function(includeInstance, msg) {
  2292    var f, obj = {
  2293      start: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  2294      end: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f
  2295    };
  2296  
  2297    if (includeInstance) {
  2298      obj.$jspbMessageInstance = msg;
  2299    }
  2300    return obj;
  2301  };
  2302  }
  2303  
  2304  
  2305  /**
  2306   * Deserializes binary data (in protobuf wire format).
  2307   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  2308   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange}
  2309   */
  2310  proto.google.protobuf.DescriptorProto.ReservedRange.deserializeBinary = function(bytes) {
  2311    var reader = new jspb.BinaryReader(bytes);
  2312    var msg = new proto.google.protobuf.DescriptorProto.ReservedRange;
  2313    return proto.google.protobuf.DescriptorProto.ReservedRange.deserializeBinaryFromReader(msg, reader);
  2314  };
  2315  
  2316  
  2317  /**
  2318   * Deserializes binary data (in protobuf wire format) from the
  2319   * given reader into the given message object.
  2320   * @param {!proto.google.protobuf.DescriptorProto.ReservedRange} msg The message object to deserialize into.
  2321   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  2322   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange}
  2323   */
  2324  proto.google.protobuf.DescriptorProto.ReservedRange.deserializeBinaryFromReader = function(msg, reader) {
  2325    while (reader.nextField()) {
  2326      if (reader.isEndGroup()) {
  2327        break;
  2328      }
  2329      var field = reader.getFieldNumber();
  2330      switch (field) {
  2331      case 1:
  2332        var value = /** @type {number} */ (reader.readInt32());
  2333        msg.setStart(value);
  2334        break;
  2335      case 2:
  2336        var value = /** @type {number} */ (reader.readInt32());
  2337        msg.setEnd(value);
  2338        break;
  2339      default:
  2340        reader.skipField();
  2341        break;
  2342      }
  2343    }
  2344    return msg;
  2345  };
  2346  
  2347  
  2348  /**
  2349   * Serializes the message to binary data (in protobuf wire format).
  2350   * @return {!Uint8Array}
  2351   */
  2352  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.serializeBinary = function() {
  2353    var writer = new jspb.BinaryWriter();
  2354    proto.google.protobuf.DescriptorProto.ReservedRange.serializeBinaryToWriter(this, writer);
  2355    return writer.getResultBuffer();
  2356  };
  2357  
  2358  
  2359  /**
  2360   * Serializes the given message to binary data (in protobuf wire
  2361   * format), writing to the given BinaryWriter.
  2362   * @param {!proto.google.protobuf.DescriptorProto.ReservedRange} message
  2363   * @param {!jspb.BinaryWriter} writer
  2364   * @suppress {unusedLocalVariables} f is only used for nested messages
  2365   */
  2366  proto.google.protobuf.DescriptorProto.ReservedRange.serializeBinaryToWriter = function(message, writer) {
  2367    var f = undefined;
  2368    f = /** @type {number} */ (jspb.Message.getField(message, 1));
  2369    if (f != null) {
  2370      writer.writeInt32(
  2371        1,
  2372        f
  2373      );
  2374    }
  2375    f = /** @type {number} */ (jspb.Message.getField(message, 2));
  2376    if (f != null) {
  2377      writer.writeInt32(
  2378        2,
  2379        f
  2380      );
  2381    }
  2382  };
  2383  
  2384  
  2385  /**
  2386   * optional int32 start = 1;
  2387   * @return {number}
  2388   */
  2389  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.getStart = function() {
  2390    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  2391  };
  2392  
  2393  
  2394  /**
  2395   * @param {number} value
  2396   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange} returns this
  2397   */
  2398  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.setStart = function(value) {
  2399    return jspb.Message.setField(this, 1, value);
  2400  };
  2401  
  2402  
  2403  /**
  2404   * Clears the field making it undefined.
  2405   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange} returns this
  2406   */
  2407  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.clearStart = function() {
  2408    return jspb.Message.setField(this, 1, undefined);
  2409  };
  2410  
  2411  
  2412  /**
  2413   * Returns whether this field is set.
  2414   * @return {boolean}
  2415   */
  2416  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.hasStart = function() {
  2417    return jspb.Message.getField(this, 1) != null;
  2418  };
  2419  
  2420  
  2421  /**
  2422   * optional int32 end = 2;
  2423   * @return {number}
  2424   */
  2425  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.getEnd = function() {
  2426    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  2427  };
  2428  
  2429  
  2430  /**
  2431   * @param {number} value
  2432   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange} returns this
  2433   */
  2434  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.setEnd = function(value) {
  2435    return jspb.Message.setField(this, 2, value);
  2436  };
  2437  
  2438  
  2439  /**
  2440   * Clears the field making it undefined.
  2441   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange} returns this
  2442   */
  2443  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.clearEnd = function() {
  2444    return jspb.Message.setField(this, 2, undefined);
  2445  };
  2446  
  2447  
  2448  /**
  2449   * Returns whether this field is set.
  2450   * @return {boolean}
  2451   */
  2452  proto.google.protobuf.DescriptorProto.ReservedRange.prototype.hasEnd = function() {
  2453    return jspb.Message.getField(this, 2) != null;
  2454  };
  2455  
  2456  
  2457  /**
  2458   * optional string name = 1;
  2459   * @return {string}
  2460   */
  2461  proto.google.protobuf.DescriptorProto.prototype.getName = function() {
  2462    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  2463  };
  2464  
  2465  
  2466  /**
  2467   * @param {string} value
  2468   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2469   */
  2470  proto.google.protobuf.DescriptorProto.prototype.setName = function(value) {
  2471    return jspb.Message.setField(this, 1, value);
  2472  };
  2473  
  2474  
  2475  /**
  2476   * Clears the field making it undefined.
  2477   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2478   */
  2479  proto.google.protobuf.DescriptorProto.prototype.clearName = function() {
  2480    return jspb.Message.setField(this, 1, undefined);
  2481  };
  2482  
  2483  
  2484  /**
  2485   * Returns whether this field is set.
  2486   * @return {boolean}
  2487   */
  2488  proto.google.protobuf.DescriptorProto.prototype.hasName = function() {
  2489    return jspb.Message.getField(this, 1) != null;
  2490  };
  2491  
  2492  
  2493  /**
  2494   * repeated FieldDescriptorProto field = 2;
  2495   * @return {!Array<!proto.google.protobuf.FieldDescriptorProto>}
  2496   */
  2497  proto.google.protobuf.DescriptorProto.prototype.getFieldList = function() {
  2498    return /** @type{!Array<!proto.google.protobuf.FieldDescriptorProto>} */ (
  2499      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.FieldDescriptorProto, 2));
  2500  };
  2501  
  2502  
  2503  /**
  2504   * @param {!Array<!proto.google.protobuf.FieldDescriptorProto>} value
  2505   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2506  */
  2507  proto.google.protobuf.DescriptorProto.prototype.setFieldList = function(value) {
  2508    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  2509  };
  2510  
  2511  
  2512  /**
  2513   * @param {!proto.google.protobuf.FieldDescriptorProto=} opt_value
  2514   * @param {number=} opt_index
  2515   * @return {!proto.google.protobuf.FieldDescriptorProto}
  2516   */
  2517  proto.google.protobuf.DescriptorProto.prototype.addField = function(opt_value, opt_index) {
  2518    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.google.protobuf.FieldDescriptorProto, opt_index);
  2519  };
  2520  
  2521  
  2522  /**
  2523   * Clears the list making it empty but non-null.
  2524   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2525   */
  2526  proto.google.protobuf.DescriptorProto.prototype.clearFieldList = function() {
  2527    return this.setFieldList([]);
  2528  };
  2529  
  2530  
  2531  /**
  2532   * repeated FieldDescriptorProto extension = 6;
  2533   * @return {!Array<!proto.google.protobuf.FieldDescriptorProto>}
  2534   */
  2535  proto.google.protobuf.DescriptorProto.prototype.getExtensionList = function() {
  2536    return /** @type{!Array<!proto.google.protobuf.FieldDescriptorProto>} */ (
  2537      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.FieldDescriptorProto, 6));
  2538  };
  2539  
  2540  
  2541  /**
  2542   * @param {!Array<!proto.google.protobuf.FieldDescriptorProto>} value
  2543   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2544  */
  2545  proto.google.protobuf.DescriptorProto.prototype.setExtensionList = function(value) {
  2546    return jspb.Message.setRepeatedWrapperField(this, 6, value);
  2547  };
  2548  
  2549  
  2550  /**
  2551   * @param {!proto.google.protobuf.FieldDescriptorProto=} opt_value
  2552   * @param {number=} opt_index
  2553   * @return {!proto.google.protobuf.FieldDescriptorProto}
  2554   */
  2555  proto.google.protobuf.DescriptorProto.prototype.addExtension$ = function(opt_value, opt_index) {
  2556    return jspb.Message.addToRepeatedWrapperField(this, 6, opt_value, proto.google.protobuf.FieldDescriptorProto, opt_index);
  2557  };
  2558  
  2559  
  2560  /**
  2561   * Clears the list making it empty but non-null.
  2562   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2563   */
  2564  proto.google.protobuf.DescriptorProto.prototype.clearExtensionList = function() {
  2565    return this.setExtensionList([]);
  2566  };
  2567  
  2568  
  2569  /**
  2570   * repeated DescriptorProto nested_type = 3;
  2571   * @return {!Array<!proto.google.protobuf.DescriptorProto>}
  2572   */
  2573  proto.google.protobuf.DescriptorProto.prototype.getNestedTypeList = function() {
  2574    return /** @type{!Array<!proto.google.protobuf.DescriptorProto>} */ (
  2575      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.DescriptorProto, 3));
  2576  };
  2577  
  2578  
  2579  /**
  2580   * @param {!Array<!proto.google.protobuf.DescriptorProto>} value
  2581   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2582  */
  2583  proto.google.protobuf.DescriptorProto.prototype.setNestedTypeList = function(value) {
  2584    return jspb.Message.setRepeatedWrapperField(this, 3, value);
  2585  };
  2586  
  2587  
  2588  /**
  2589   * @param {!proto.google.protobuf.DescriptorProto=} opt_value
  2590   * @param {number=} opt_index
  2591   * @return {!proto.google.protobuf.DescriptorProto}
  2592   */
  2593  proto.google.protobuf.DescriptorProto.prototype.addNestedType = function(opt_value, opt_index) {
  2594    return jspb.Message.addToRepeatedWrapperField(this, 3, opt_value, proto.google.protobuf.DescriptorProto, opt_index);
  2595  };
  2596  
  2597  
  2598  /**
  2599   * Clears the list making it empty but non-null.
  2600   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2601   */
  2602  proto.google.protobuf.DescriptorProto.prototype.clearNestedTypeList = function() {
  2603    return this.setNestedTypeList([]);
  2604  };
  2605  
  2606  
  2607  /**
  2608   * repeated EnumDescriptorProto enum_type = 4;
  2609   * @return {!Array<!proto.google.protobuf.EnumDescriptorProto>}
  2610   */
  2611  proto.google.protobuf.DescriptorProto.prototype.getEnumTypeList = function() {
  2612    return /** @type{!Array<!proto.google.protobuf.EnumDescriptorProto>} */ (
  2613      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.EnumDescriptorProto, 4));
  2614  };
  2615  
  2616  
  2617  /**
  2618   * @param {!Array<!proto.google.protobuf.EnumDescriptorProto>} value
  2619   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2620  */
  2621  proto.google.protobuf.DescriptorProto.prototype.setEnumTypeList = function(value) {
  2622    return jspb.Message.setRepeatedWrapperField(this, 4, value);
  2623  };
  2624  
  2625  
  2626  /**
  2627   * @param {!proto.google.protobuf.EnumDescriptorProto=} opt_value
  2628   * @param {number=} opt_index
  2629   * @return {!proto.google.protobuf.EnumDescriptorProto}
  2630   */
  2631  proto.google.protobuf.DescriptorProto.prototype.addEnumType = function(opt_value, opt_index) {
  2632    return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.google.protobuf.EnumDescriptorProto, opt_index);
  2633  };
  2634  
  2635  
  2636  /**
  2637   * Clears the list making it empty but non-null.
  2638   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2639   */
  2640  proto.google.protobuf.DescriptorProto.prototype.clearEnumTypeList = function() {
  2641    return this.setEnumTypeList([]);
  2642  };
  2643  
  2644  
  2645  /**
  2646   * repeated ExtensionRange extension_range = 5;
  2647   * @return {!Array<!proto.google.protobuf.DescriptorProto.ExtensionRange>}
  2648   */
  2649  proto.google.protobuf.DescriptorProto.prototype.getExtensionRangeList = function() {
  2650    return /** @type{!Array<!proto.google.protobuf.DescriptorProto.ExtensionRange>} */ (
  2651      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.DescriptorProto.ExtensionRange, 5));
  2652  };
  2653  
  2654  
  2655  /**
  2656   * @param {!Array<!proto.google.protobuf.DescriptorProto.ExtensionRange>} value
  2657   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2658  */
  2659  proto.google.protobuf.DescriptorProto.prototype.setExtensionRangeList = function(value) {
  2660    return jspb.Message.setRepeatedWrapperField(this, 5, value);
  2661  };
  2662  
  2663  
  2664  /**
  2665   * @param {!proto.google.protobuf.DescriptorProto.ExtensionRange=} opt_value
  2666   * @param {number=} opt_index
  2667   * @return {!proto.google.protobuf.DescriptorProto.ExtensionRange}
  2668   */
  2669  proto.google.protobuf.DescriptorProto.prototype.addExtensionRange = function(opt_value, opt_index) {
  2670    return jspb.Message.addToRepeatedWrapperField(this, 5, opt_value, proto.google.protobuf.DescriptorProto.ExtensionRange, opt_index);
  2671  };
  2672  
  2673  
  2674  /**
  2675   * Clears the list making it empty but non-null.
  2676   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2677   */
  2678  proto.google.protobuf.DescriptorProto.prototype.clearExtensionRangeList = function() {
  2679    return this.setExtensionRangeList([]);
  2680  };
  2681  
  2682  
  2683  /**
  2684   * repeated OneofDescriptorProto oneof_decl = 8;
  2685   * @return {!Array<!proto.google.protobuf.OneofDescriptorProto>}
  2686   */
  2687  proto.google.protobuf.DescriptorProto.prototype.getOneofDeclList = function() {
  2688    return /** @type{!Array<!proto.google.protobuf.OneofDescriptorProto>} */ (
  2689      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.OneofDescriptorProto, 8));
  2690  };
  2691  
  2692  
  2693  /**
  2694   * @param {!Array<!proto.google.protobuf.OneofDescriptorProto>} value
  2695   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2696  */
  2697  proto.google.protobuf.DescriptorProto.prototype.setOneofDeclList = function(value) {
  2698    return jspb.Message.setRepeatedWrapperField(this, 8, value);
  2699  };
  2700  
  2701  
  2702  /**
  2703   * @param {!proto.google.protobuf.OneofDescriptorProto=} opt_value
  2704   * @param {number=} opt_index
  2705   * @return {!proto.google.protobuf.OneofDescriptorProto}
  2706   */
  2707  proto.google.protobuf.DescriptorProto.prototype.addOneofDecl = function(opt_value, opt_index) {
  2708    return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.google.protobuf.OneofDescriptorProto, opt_index);
  2709  };
  2710  
  2711  
  2712  /**
  2713   * Clears the list making it empty but non-null.
  2714   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2715   */
  2716  proto.google.protobuf.DescriptorProto.prototype.clearOneofDeclList = function() {
  2717    return this.setOneofDeclList([]);
  2718  };
  2719  
  2720  
  2721  /**
  2722   * optional MessageOptions options = 7;
  2723   * @return {?proto.google.protobuf.MessageOptions}
  2724   */
  2725  proto.google.protobuf.DescriptorProto.prototype.getOptions = function() {
  2726    return /** @type{?proto.google.protobuf.MessageOptions} */ (
  2727      jspb.Message.getWrapperField(this, proto.google.protobuf.MessageOptions, 7));
  2728  };
  2729  
  2730  
  2731  /**
  2732   * @param {?proto.google.protobuf.MessageOptions|undefined} value
  2733   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2734  */
  2735  proto.google.protobuf.DescriptorProto.prototype.setOptions = function(value) {
  2736    return jspb.Message.setWrapperField(this, 7, value);
  2737  };
  2738  
  2739  
  2740  /**
  2741   * Clears the message field making it undefined.
  2742   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2743   */
  2744  proto.google.protobuf.DescriptorProto.prototype.clearOptions = function() {
  2745    return this.setOptions(undefined);
  2746  };
  2747  
  2748  
  2749  /**
  2750   * Returns whether this field is set.
  2751   * @return {boolean}
  2752   */
  2753  proto.google.protobuf.DescriptorProto.prototype.hasOptions = function() {
  2754    return jspb.Message.getField(this, 7) != null;
  2755  };
  2756  
  2757  
  2758  /**
  2759   * repeated ReservedRange reserved_range = 9;
  2760   * @return {!Array<!proto.google.protobuf.DescriptorProto.ReservedRange>}
  2761   */
  2762  proto.google.protobuf.DescriptorProto.prototype.getReservedRangeList = function() {
  2763    return /** @type{!Array<!proto.google.protobuf.DescriptorProto.ReservedRange>} */ (
  2764      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.DescriptorProto.ReservedRange, 9));
  2765  };
  2766  
  2767  
  2768  /**
  2769   * @param {!Array<!proto.google.protobuf.DescriptorProto.ReservedRange>} value
  2770   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2771  */
  2772  proto.google.protobuf.DescriptorProto.prototype.setReservedRangeList = function(value) {
  2773    return jspb.Message.setRepeatedWrapperField(this, 9, value);
  2774  };
  2775  
  2776  
  2777  /**
  2778   * @param {!proto.google.protobuf.DescriptorProto.ReservedRange=} opt_value
  2779   * @param {number=} opt_index
  2780   * @return {!proto.google.protobuf.DescriptorProto.ReservedRange}
  2781   */
  2782  proto.google.protobuf.DescriptorProto.prototype.addReservedRange = function(opt_value, opt_index) {
  2783    return jspb.Message.addToRepeatedWrapperField(this, 9, opt_value, proto.google.protobuf.DescriptorProto.ReservedRange, opt_index);
  2784  };
  2785  
  2786  
  2787  /**
  2788   * Clears the list making it empty but non-null.
  2789   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2790   */
  2791  proto.google.protobuf.DescriptorProto.prototype.clearReservedRangeList = function() {
  2792    return this.setReservedRangeList([]);
  2793  };
  2794  
  2795  
  2796  /**
  2797   * repeated string reserved_name = 10;
  2798   * @return {!Array<string>}
  2799   */
  2800  proto.google.protobuf.DescriptorProto.prototype.getReservedNameList = function() {
  2801    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 10));
  2802  };
  2803  
  2804  
  2805  /**
  2806   * @param {!Array<string>} value
  2807   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2808   */
  2809  proto.google.protobuf.DescriptorProto.prototype.setReservedNameList = function(value) {
  2810    return jspb.Message.setField(this, 10, value || []);
  2811  };
  2812  
  2813  
  2814  /**
  2815   * @param {string} value
  2816   * @param {number=} opt_index
  2817   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2818   */
  2819  proto.google.protobuf.DescriptorProto.prototype.addReservedName = function(value, opt_index) {
  2820    return jspb.Message.addToRepeatedField(this, 10, value, opt_index);
  2821  };
  2822  
  2823  
  2824  /**
  2825   * Clears the list making it empty but non-null.
  2826   * @return {!proto.google.protobuf.DescriptorProto} returns this
  2827   */
  2828  proto.google.protobuf.DescriptorProto.prototype.clearReservedNameList = function() {
  2829    return this.setReservedNameList([]);
  2830  };
  2831  
  2832  
  2833  
  2834  /**
  2835   * List of repeated fields within this message type.
  2836   * @private {!Array<number>}
  2837   * @const
  2838   */
  2839  proto.google.protobuf.ExtensionRangeOptions.repeatedFields_ = [999];
  2840  
  2841  
  2842  
  2843  if (jspb.Message.GENERATE_TO_OBJECT) {
  2844  /**
  2845   * Creates an object representation of this proto.
  2846   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  2847   * Optional fields that are not set will be set to undefined.
  2848   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  2849   * For the list of reserved names please see:
  2850   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  2851   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  2852   *     JSPB instance for transitional soy proto support:
  2853   *     http://goto/soy-param-migration
  2854   * @return {!Object}
  2855   */
  2856  proto.google.protobuf.ExtensionRangeOptions.prototype.toObject = function(opt_includeInstance) {
  2857    return proto.google.protobuf.ExtensionRangeOptions.toObject(opt_includeInstance, this);
  2858  };
  2859  
  2860  
  2861  /**
  2862   * Static version of the {@see toObject} method.
  2863   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  2864   *     the JSPB instance for transitional soy proto support:
  2865   *     http://goto/soy-param-migration
  2866   * @param {!proto.google.protobuf.ExtensionRangeOptions} msg The msg instance to transform.
  2867   * @return {!Object}
  2868   * @suppress {unusedLocalVariables} f is only used for nested messages
  2869   */
  2870  proto.google.protobuf.ExtensionRangeOptions.toObject = function(includeInstance, msg) {
  2871    var f, obj = {
  2872      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  2873      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  2874    };
  2875  
  2876    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  2877        proto.google.protobuf.ExtensionRangeOptions.extensions, proto.google.protobuf.ExtensionRangeOptions.prototype.getExtension,
  2878        includeInstance);
  2879    if (includeInstance) {
  2880      obj.$jspbMessageInstance = msg;
  2881    }
  2882    return obj;
  2883  };
  2884  }
  2885  
  2886  
  2887  /**
  2888   * Deserializes binary data (in protobuf wire format).
  2889   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  2890   * @return {!proto.google.protobuf.ExtensionRangeOptions}
  2891   */
  2892  proto.google.protobuf.ExtensionRangeOptions.deserializeBinary = function(bytes) {
  2893    var reader = new jspb.BinaryReader(bytes);
  2894    var msg = new proto.google.protobuf.ExtensionRangeOptions;
  2895    return proto.google.protobuf.ExtensionRangeOptions.deserializeBinaryFromReader(msg, reader);
  2896  };
  2897  
  2898  
  2899  /**
  2900   * Deserializes binary data (in protobuf wire format) from the
  2901   * given reader into the given message object.
  2902   * @param {!proto.google.protobuf.ExtensionRangeOptions} msg The message object to deserialize into.
  2903   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  2904   * @return {!proto.google.protobuf.ExtensionRangeOptions}
  2905   */
  2906  proto.google.protobuf.ExtensionRangeOptions.deserializeBinaryFromReader = function(msg, reader) {
  2907    while (reader.nextField()) {
  2908      if (reader.isEndGroup()) {
  2909        break;
  2910      }
  2911      var field = reader.getFieldNumber();
  2912      switch (field) {
  2913      case 999:
  2914        var value = new proto.google.protobuf.UninterpretedOption;
  2915        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  2916        msg.addUninterpretedOption(value);
  2917        break;
  2918      default:
  2919        jspb.Message.readBinaryExtension(msg, reader,
  2920          proto.google.protobuf.ExtensionRangeOptions.extensionsBinary,
  2921          proto.google.protobuf.ExtensionRangeOptions.prototype.getExtension,
  2922          proto.google.protobuf.ExtensionRangeOptions.prototype.setExtension);
  2923        break;
  2924      }
  2925    }
  2926    return msg;
  2927  };
  2928  
  2929  
  2930  /**
  2931   * Serializes the message to binary data (in protobuf wire format).
  2932   * @return {!Uint8Array}
  2933   */
  2934  proto.google.protobuf.ExtensionRangeOptions.prototype.serializeBinary = function() {
  2935    var writer = new jspb.BinaryWriter();
  2936    proto.google.protobuf.ExtensionRangeOptions.serializeBinaryToWriter(this, writer);
  2937    return writer.getResultBuffer();
  2938  };
  2939  
  2940  
  2941  /**
  2942   * Serializes the given message to binary data (in protobuf wire
  2943   * format), writing to the given BinaryWriter.
  2944   * @param {!proto.google.protobuf.ExtensionRangeOptions} message
  2945   * @param {!jspb.BinaryWriter} writer
  2946   * @suppress {unusedLocalVariables} f is only used for nested messages
  2947   */
  2948  proto.google.protobuf.ExtensionRangeOptions.serializeBinaryToWriter = function(message, writer) {
  2949    var f = undefined;
  2950    f = message.getUninterpretedOptionList();
  2951    if (f.length > 0) {
  2952      writer.writeRepeatedMessage(
  2953        999,
  2954        f,
  2955        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  2956      );
  2957    }
  2958    jspb.Message.serializeBinaryExtensions(message, writer,
  2959      proto.google.protobuf.ExtensionRangeOptions.extensionsBinary, proto.google.protobuf.ExtensionRangeOptions.prototype.getExtension);
  2960  };
  2961  
  2962  
  2963  /**
  2964   * repeated UninterpretedOption uninterpreted_option = 999;
  2965   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  2966   */
  2967  proto.google.protobuf.ExtensionRangeOptions.prototype.getUninterpretedOptionList = function() {
  2968    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  2969      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  2970  };
  2971  
  2972  
  2973  /**
  2974   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  2975   * @return {!proto.google.protobuf.ExtensionRangeOptions} returns this
  2976  */
  2977  proto.google.protobuf.ExtensionRangeOptions.prototype.setUninterpretedOptionList = function(value) {
  2978    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  2979  };
  2980  
  2981  
  2982  /**
  2983   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  2984   * @param {number=} opt_index
  2985   * @return {!proto.google.protobuf.UninterpretedOption}
  2986   */
  2987  proto.google.protobuf.ExtensionRangeOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  2988    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  2989  };
  2990  
  2991  
  2992  /**
  2993   * Clears the list making it empty but non-null.
  2994   * @return {!proto.google.protobuf.ExtensionRangeOptions} returns this
  2995   */
  2996  proto.google.protobuf.ExtensionRangeOptions.prototype.clearUninterpretedOptionList = function() {
  2997    return this.setUninterpretedOptionList([]);
  2998  };
  2999  
  3000  
  3001  
  3002  
  3003  
  3004  if (jspb.Message.GENERATE_TO_OBJECT) {
  3005  /**
  3006   * Creates an object representation of this proto.
  3007   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  3008   * Optional fields that are not set will be set to undefined.
  3009   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  3010   * For the list of reserved names please see:
  3011   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  3012   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  3013   *     JSPB instance for transitional soy proto support:
  3014   *     http://goto/soy-param-migration
  3015   * @return {!Object}
  3016   */
  3017  proto.google.protobuf.FieldDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  3018    return proto.google.protobuf.FieldDescriptorProto.toObject(opt_includeInstance, this);
  3019  };
  3020  
  3021  
  3022  /**
  3023   * Static version of the {@see toObject} method.
  3024   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  3025   *     the JSPB instance for transitional soy proto support:
  3026   *     http://goto/soy-param-migration
  3027   * @param {!proto.google.protobuf.FieldDescriptorProto} msg The msg instance to transform.
  3028   * @return {!Object}
  3029   * @suppress {unusedLocalVariables} f is only used for nested messages
  3030   */
  3031  proto.google.protobuf.FieldDescriptorProto.toObject = function(includeInstance, msg) {
  3032    var f, obj = {
  3033      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  3034      number: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
  3035      label: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f,
  3036      type: (f = jspb.Message.getField(msg, 5)) == null ? undefined : f,
  3037      typeName: (f = jspb.Message.getField(msg, 6)) == null ? undefined : f,
  3038      extendee: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
  3039      defaultValue: (f = jspb.Message.getField(msg, 7)) == null ? undefined : f,
  3040      oneofIndex: (f = jspb.Message.getField(msg, 9)) == null ? undefined : f,
  3041      jsonName: (f = jspb.Message.getField(msg, 10)) == null ? undefined : f,
  3042      options: (f = msg.getOptions()) && proto.google.protobuf.FieldOptions.toObject(includeInstance, f)
  3043    };
  3044  
  3045    if (includeInstance) {
  3046      obj.$jspbMessageInstance = msg;
  3047    }
  3048    return obj;
  3049  };
  3050  }
  3051  
  3052  
  3053  /**
  3054   * Deserializes binary data (in protobuf wire format).
  3055   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  3056   * @return {!proto.google.protobuf.FieldDescriptorProto}
  3057   */
  3058  proto.google.protobuf.FieldDescriptorProto.deserializeBinary = function(bytes) {
  3059    var reader = new jspb.BinaryReader(bytes);
  3060    var msg = new proto.google.protobuf.FieldDescriptorProto;
  3061    return proto.google.protobuf.FieldDescriptorProto.deserializeBinaryFromReader(msg, reader);
  3062  };
  3063  
  3064  
  3065  /**
  3066   * Deserializes binary data (in protobuf wire format) from the
  3067   * given reader into the given message object.
  3068   * @param {!proto.google.protobuf.FieldDescriptorProto} msg The message object to deserialize into.
  3069   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  3070   * @return {!proto.google.protobuf.FieldDescriptorProto}
  3071   */
  3072  proto.google.protobuf.FieldDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  3073    while (reader.nextField()) {
  3074      if (reader.isEndGroup()) {
  3075        break;
  3076      }
  3077      var field = reader.getFieldNumber();
  3078      switch (field) {
  3079      case 1:
  3080        var value = /** @type {string} */ (reader.readString());
  3081        msg.setName(value);
  3082        break;
  3083      case 3:
  3084        var value = /** @type {number} */ (reader.readInt32());
  3085        msg.setNumber(value);
  3086        break;
  3087      case 4:
  3088        var value = /** @type {!proto.google.protobuf.FieldDescriptorProto.Label} */ (reader.readEnum());
  3089        msg.setLabel(value);
  3090        break;
  3091      case 5:
  3092        var value = /** @type {!proto.google.protobuf.FieldDescriptorProto.Type} */ (reader.readEnum());
  3093        msg.setType(value);
  3094        break;
  3095      case 6:
  3096        var value = /** @type {string} */ (reader.readString());
  3097        msg.setTypeName(value);
  3098        break;
  3099      case 2:
  3100        var value = /** @type {string} */ (reader.readString());
  3101        msg.setExtendee(value);
  3102        break;
  3103      case 7:
  3104        var value = /** @type {string} */ (reader.readString());
  3105        msg.setDefaultValue(value);
  3106        break;
  3107      case 9:
  3108        var value = /** @type {number} */ (reader.readInt32());
  3109        msg.setOneofIndex(value);
  3110        break;
  3111      case 10:
  3112        var value = /** @type {string} */ (reader.readString());
  3113        msg.setJsonName(value);
  3114        break;
  3115      case 8:
  3116        var value = new proto.google.protobuf.FieldOptions;
  3117        reader.readMessage(value,proto.google.protobuf.FieldOptions.deserializeBinaryFromReader);
  3118        msg.setOptions(value);
  3119        break;
  3120      default:
  3121        reader.skipField();
  3122        break;
  3123      }
  3124    }
  3125    return msg;
  3126  };
  3127  
  3128  
  3129  /**
  3130   * Serializes the message to binary data (in protobuf wire format).
  3131   * @return {!Uint8Array}
  3132   */
  3133  proto.google.protobuf.FieldDescriptorProto.prototype.serializeBinary = function() {
  3134    var writer = new jspb.BinaryWriter();
  3135    proto.google.protobuf.FieldDescriptorProto.serializeBinaryToWriter(this, writer);
  3136    return writer.getResultBuffer();
  3137  };
  3138  
  3139  
  3140  /**
  3141   * Serializes the given message to binary data (in protobuf wire
  3142   * format), writing to the given BinaryWriter.
  3143   * @param {!proto.google.protobuf.FieldDescriptorProto} message
  3144   * @param {!jspb.BinaryWriter} writer
  3145   * @suppress {unusedLocalVariables} f is only used for nested messages
  3146   */
  3147  proto.google.protobuf.FieldDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  3148    var f = undefined;
  3149    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  3150    if (f != null) {
  3151      writer.writeString(
  3152        1,
  3153        f
  3154      );
  3155    }
  3156    f = /** @type {number} */ (jspb.Message.getField(message, 3));
  3157    if (f != null) {
  3158      writer.writeInt32(
  3159        3,
  3160        f
  3161      );
  3162    }
  3163    f = /** @type {!proto.google.protobuf.FieldDescriptorProto.Label} */ (jspb.Message.getField(message, 4));
  3164    if (f != null) {
  3165      writer.writeEnum(
  3166        4,
  3167        f
  3168      );
  3169    }
  3170    f = /** @type {!proto.google.protobuf.FieldDescriptorProto.Type} */ (jspb.Message.getField(message, 5));
  3171    if (f != null) {
  3172      writer.writeEnum(
  3173        5,
  3174        f
  3175      );
  3176    }
  3177    f = /** @type {string} */ (jspb.Message.getField(message, 6));
  3178    if (f != null) {
  3179      writer.writeString(
  3180        6,
  3181        f
  3182      );
  3183    }
  3184    f = /** @type {string} */ (jspb.Message.getField(message, 2));
  3185    if (f != null) {
  3186      writer.writeString(
  3187        2,
  3188        f
  3189      );
  3190    }
  3191    f = /** @type {string} */ (jspb.Message.getField(message, 7));
  3192    if (f != null) {
  3193      writer.writeString(
  3194        7,
  3195        f
  3196      );
  3197    }
  3198    f = /** @type {number} */ (jspb.Message.getField(message, 9));
  3199    if (f != null) {
  3200      writer.writeInt32(
  3201        9,
  3202        f
  3203      );
  3204    }
  3205    f = /** @type {string} */ (jspb.Message.getField(message, 10));
  3206    if (f != null) {
  3207      writer.writeString(
  3208        10,
  3209        f
  3210      );
  3211    }
  3212    f = message.getOptions();
  3213    if (f != null) {
  3214      writer.writeMessage(
  3215        8,
  3216        f,
  3217        proto.google.protobuf.FieldOptions.serializeBinaryToWriter
  3218      );
  3219    }
  3220  };
  3221  
  3222  
  3223  /**
  3224   * @enum {number}
  3225   */
  3226  proto.google.protobuf.FieldDescriptorProto.Type = {
  3227    TYPE_DOUBLE: 1,
  3228    TYPE_FLOAT: 2,
  3229    TYPE_INT64: 3,
  3230    TYPE_UINT64: 4,
  3231    TYPE_INT32: 5,
  3232    TYPE_FIXED64: 6,
  3233    TYPE_FIXED32: 7,
  3234    TYPE_BOOL: 8,
  3235    TYPE_STRING: 9,
  3236    TYPE_GROUP: 10,
  3237    TYPE_MESSAGE: 11,
  3238    TYPE_BYTES: 12,
  3239    TYPE_UINT32: 13,
  3240    TYPE_ENUM: 14,
  3241    TYPE_SFIXED32: 15,
  3242    TYPE_SFIXED64: 16,
  3243    TYPE_SINT32: 17,
  3244    TYPE_SINT64: 18
  3245  };
  3246  
  3247  /**
  3248   * @enum {number}
  3249   */
  3250  proto.google.protobuf.FieldDescriptorProto.Label = {
  3251    LABEL_OPTIONAL: 1,
  3252    LABEL_REQUIRED: 2,
  3253    LABEL_REPEATED: 3
  3254  };
  3255  
  3256  /**
  3257   * optional string name = 1;
  3258   * @return {string}
  3259   */
  3260  proto.google.protobuf.FieldDescriptorProto.prototype.getName = function() {
  3261    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  3262  };
  3263  
  3264  
  3265  /**
  3266   * @param {string} value
  3267   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3268   */
  3269  proto.google.protobuf.FieldDescriptorProto.prototype.setName = function(value) {
  3270    return jspb.Message.setField(this, 1, value);
  3271  };
  3272  
  3273  
  3274  /**
  3275   * Clears the field making it undefined.
  3276   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3277   */
  3278  proto.google.protobuf.FieldDescriptorProto.prototype.clearName = function() {
  3279    return jspb.Message.setField(this, 1, undefined);
  3280  };
  3281  
  3282  
  3283  /**
  3284   * Returns whether this field is set.
  3285   * @return {boolean}
  3286   */
  3287  proto.google.protobuf.FieldDescriptorProto.prototype.hasName = function() {
  3288    return jspb.Message.getField(this, 1) != null;
  3289  };
  3290  
  3291  
  3292  /**
  3293   * optional int32 number = 3;
  3294   * @return {number}
  3295   */
  3296  proto.google.protobuf.FieldDescriptorProto.prototype.getNumber = function() {
  3297    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
  3298  };
  3299  
  3300  
  3301  /**
  3302   * @param {number} value
  3303   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3304   */
  3305  proto.google.protobuf.FieldDescriptorProto.prototype.setNumber = function(value) {
  3306    return jspb.Message.setField(this, 3, value);
  3307  };
  3308  
  3309  
  3310  /**
  3311   * Clears the field making it undefined.
  3312   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3313   */
  3314  proto.google.protobuf.FieldDescriptorProto.prototype.clearNumber = function() {
  3315    return jspb.Message.setField(this, 3, undefined);
  3316  };
  3317  
  3318  
  3319  /**
  3320   * Returns whether this field is set.
  3321   * @return {boolean}
  3322   */
  3323  proto.google.protobuf.FieldDescriptorProto.prototype.hasNumber = function() {
  3324    return jspb.Message.getField(this, 3) != null;
  3325  };
  3326  
  3327  
  3328  /**
  3329   * optional Label label = 4;
  3330   * @return {!proto.google.protobuf.FieldDescriptorProto.Label}
  3331   */
  3332  proto.google.protobuf.FieldDescriptorProto.prototype.getLabel = function() {
  3333    return /** @type {!proto.google.protobuf.FieldDescriptorProto.Label} */ (jspb.Message.getFieldWithDefault(this, 4, 1));
  3334  };
  3335  
  3336  
  3337  /**
  3338   * @param {!proto.google.protobuf.FieldDescriptorProto.Label} value
  3339   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3340   */
  3341  proto.google.protobuf.FieldDescriptorProto.prototype.setLabel = function(value) {
  3342    return jspb.Message.setField(this, 4, value);
  3343  };
  3344  
  3345  
  3346  /**
  3347   * Clears the field making it undefined.
  3348   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3349   */
  3350  proto.google.protobuf.FieldDescriptorProto.prototype.clearLabel = function() {
  3351    return jspb.Message.setField(this, 4, undefined);
  3352  };
  3353  
  3354  
  3355  /**
  3356   * Returns whether this field is set.
  3357   * @return {boolean}
  3358   */
  3359  proto.google.protobuf.FieldDescriptorProto.prototype.hasLabel = function() {
  3360    return jspb.Message.getField(this, 4) != null;
  3361  };
  3362  
  3363  
  3364  /**
  3365   * optional Type type = 5;
  3366   * @return {!proto.google.protobuf.FieldDescriptorProto.Type}
  3367   */
  3368  proto.google.protobuf.FieldDescriptorProto.prototype.getType = function() {
  3369    return /** @type {!proto.google.protobuf.FieldDescriptorProto.Type} */ (jspb.Message.getFieldWithDefault(this, 5, 1));
  3370  };
  3371  
  3372  
  3373  /**
  3374   * @param {!proto.google.protobuf.FieldDescriptorProto.Type} value
  3375   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3376   */
  3377  proto.google.protobuf.FieldDescriptorProto.prototype.setType = function(value) {
  3378    return jspb.Message.setField(this, 5, value);
  3379  };
  3380  
  3381  
  3382  /**
  3383   * Clears the field making it undefined.
  3384   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3385   */
  3386  proto.google.protobuf.FieldDescriptorProto.prototype.clearType = function() {
  3387    return jspb.Message.setField(this, 5, undefined);
  3388  };
  3389  
  3390  
  3391  /**
  3392   * Returns whether this field is set.
  3393   * @return {boolean}
  3394   */
  3395  proto.google.protobuf.FieldDescriptorProto.prototype.hasType = function() {
  3396    return jspb.Message.getField(this, 5) != null;
  3397  };
  3398  
  3399  
  3400  /**
  3401   * optional string type_name = 6;
  3402   * @return {string}
  3403   */
  3404  proto.google.protobuf.FieldDescriptorProto.prototype.getTypeName = function() {
  3405    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
  3406  };
  3407  
  3408  
  3409  /**
  3410   * @param {string} value
  3411   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3412   */
  3413  proto.google.protobuf.FieldDescriptorProto.prototype.setTypeName = function(value) {
  3414    return jspb.Message.setField(this, 6, value);
  3415  };
  3416  
  3417  
  3418  /**
  3419   * Clears the field making it undefined.
  3420   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3421   */
  3422  proto.google.protobuf.FieldDescriptorProto.prototype.clearTypeName = function() {
  3423    return jspb.Message.setField(this, 6, undefined);
  3424  };
  3425  
  3426  
  3427  /**
  3428   * Returns whether this field is set.
  3429   * @return {boolean}
  3430   */
  3431  proto.google.protobuf.FieldDescriptorProto.prototype.hasTypeName = function() {
  3432    return jspb.Message.getField(this, 6) != null;
  3433  };
  3434  
  3435  
  3436  /**
  3437   * optional string extendee = 2;
  3438   * @return {string}
  3439   */
  3440  proto.google.protobuf.FieldDescriptorProto.prototype.getExtendee = function() {
  3441    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  3442  };
  3443  
  3444  
  3445  /**
  3446   * @param {string} value
  3447   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3448   */
  3449  proto.google.protobuf.FieldDescriptorProto.prototype.setExtendee = function(value) {
  3450    return jspb.Message.setField(this, 2, value);
  3451  };
  3452  
  3453  
  3454  /**
  3455   * Clears the field making it undefined.
  3456   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3457   */
  3458  proto.google.protobuf.FieldDescriptorProto.prototype.clearExtendee = function() {
  3459    return jspb.Message.setField(this, 2, undefined);
  3460  };
  3461  
  3462  
  3463  /**
  3464   * Returns whether this field is set.
  3465   * @return {boolean}
  3466   */
  3467  proto.google.protobuf.FieldDescriptorProto.prototype.hasExtendee = function() {
  3468    return jspb.Message.getField(this, 2) != null;
  3469  };
  3470  
  3471  
  3472  /**
  3473   * optional string default_value = 7;
  3474   * @return {string}
  3475   */
  3476  proto.google.protobuf.FieldDescriptorProto.prototype.getDefaultValue = function() {
  3477    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
  3478  };
  3479  
  3480  
  3481  /**
  3482   * @param {string} value
  3483   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3484   */
  3485  proto.google.protobuf.FieldDescriptorProto.prototype.setDefaultValue = function(value) {
  3486    return jspb.Message.setField(this, 7, value);
  3487  };
  3488  
  3489  
  3490  /**
  3491   * Clears the field making it undefined.
  3492   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3493   */
  3494  proto.google.protobuf.FieldDescriptorProto.prototype.clearDefaultValue = function() {
  3495    return jspb.Message.setField(this, 7, undefined);
  3496  };
  3497  
  3498  
  3499  /**
  3500   * Returns whether this field is set.
  3501   * @return {boolean}
  3502   */
  3503  proto.google.protobuf.FieldDescriptorProto.prototype.hasDefaultValue = function() {
  3504    return jspb.Message.getField(this, 7) != null;
  3505  };
  3506  
  3507  
  3508  /**
  3509   * optional int32 oneof_index = 9;
  3510   * @return {number}
  3511   */
  3512  proto.google.protobuf.FieldDescriptorProto.prototype.getOneofIndex = function() {
  3513    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
  3514  };
  3515  
  3516  
  3517  /**
  3518   * @param {number} value
  3519   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3520   */
  3521  proto.google.protobuf.FieldDescriptorProto.prototype.setOneofIndex = function(value) {
  3522    return jspb.Message.setField(this, 9, value);
  3523  };
  3524  
  3525  
  3526  /**
  3527   * Clears the field making it undefined.
  3528   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3529   */
  3530  proto.google.protobuf.FieldDescriptorProto.prototype.clearOneofIndex = function() {
  3531    return jspb.Message.setField(this, 9, undefined);
  3532  };
  3533  
  3534  
  3535  /**
  3536   * Returns whether this field is set.
  3537   * @return {boolean}
  3538   */
  3539  proto.google.protobuf.FieldDescriptorProto.prototype.hasOneofIndex = function() {
  3540    return jspb.Message.getField(this, 9) != null;
  3541  };
  3542  
  3543  
  3544  /**
  3545   * optional string json_name = 10;
  3546   * @return {string}
  3547   */
  3548  proto.google.protobuf.FieldDescriptorProto.prototype.getJsonName = function() {
  3549    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
  3550  };
  3551  
  3552  
  3553  /**
  3554   * @param {string} value
  3555   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3556   */
  3557  proto.google.protobuf.FieldDescriptorProto.prototype.setJsonName = function(value) {
  3558    return jspb.Message.setField(this, 10, value);
  3559  };
  3560  
  3561  
  3562  /**
  3563   * Clears the field making it undefined.
  3564   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3565   */
  3566  proto.google.protobuf.FieldDescriptorProto.prototype.clearJsonName = function() {
  3567    return jspb.Message.setField(this, 10, undefined);
  3568  };
  3569  
  3570  
  3571  /**
  3572   * Returns whether this field is set.
  3573   * @return {boolean}
  3574   */
  3575  proto.google.protobuf.FieldDescriptorProto.prototype.hasJsonName = function() {
  3576    return jspb.Message.getField(this, 10) != null;
  3577  };
  3578  
  3579  
  3580  /**
  3581   * optional FieldOptions options = 8;
  3582   * @return {?proto.google.protobuf.FieldOptions}
  3583   */
  3584  proto.google.protobuf.FieldDescriptorProto.prototype.getOptions = function() {
  3585    return /** @type{?proto.google.protobuf.FieldOptions} */ (
  3586      jspb.Message.getWrapperField(this, proto.google.protobuf.FieldOptions, 8));
  3587  };
  3588  
  3589  
  3590  /**
  3591   * @param {?proto.google.protobuf.FieldOptions|undefined} value
  3592   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3593  */
  3594  proto.google.protobuf.FieldDescriptorProto.prototype.setOptions = function(value) {
  3595    return jspb.Message.setWrapperField(this, 8, value);
  3596  };
  3597  
  3598  
  3599  /**
  3600   * Clears the message field making it undefined.
  3601   * @return {!proto.google.protobuf.FieldDescriptorProto} returns this
  3602   */
  3603  proto.google.protobuf.FieldDescriptorProto.prototype.clearOptions = function() {
  3604    return this.setOptions(undefined);
  3605  };
  3606  
  3607  
  3608  /**
  3609   * Returns whether this field is set.
  3610   * @return {boolean}
  3611   */
  3612  proto.google.protobuf.FieldDescriptorProto.prototype.hasOptions = function() {
  3613    return jspb.Message.getField(this, 8) != null;
  3614  };
  3615  
  3616  
  3617  
  3618  
  3619  
  3620  if (jspb.Message.GENERATE_TO_OBJECT) {
  3621  /**
  3622   * Creates an object representation of this proto.
  3623   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  3624   * Optional fields that are not set will be set to undefined.
  3625   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  3626   * For the list of reserved names please see:
  3627   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  3628   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  3629   *     JSPB instance for transitional soy proto support:
  3630   *     http://goto/soy-param-migration
  3631   * @return {!Object}
  3632   */
  3633  proto.google.protobuf.OneofDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  3634    return proto.google.protobuf.OneofDescriptorProto.toObject(opt_includeInstance, this);
  3635  };
  3636  
  3637  
  3638  /**
  3639   * Static version of the {@see toObject} method.
  3640   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  3641   *     the JSPB instance for transitional soy proto support:
  3642   *     http://goto/soy-param-migration
  3643   * @param {!proto.google.protobuf.OneofDescriptorProto} msg The msg instance to transform.
  3644   * @return {!Object}
  3645   * @suppress {unusedLocalVariables} f is only used for nested messages
  3646   */
  3647  proto.google.protobuf.OneofDescriptorProto.toObject = function(includeInstance, msg) {
  3648    var f, obj = {
  3649      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  3650      options: (f = msg.getOptions()) && proto.google.protobuf.OneofOptions.toObject(includeInstance, f)
  3651    };
  3652  
  3653    if (includeInstance) {
  3654      obj.$jspbMessageInstance = msg;
  3655    }
  3656    return obj;
  3657  };
  3658  }
  3659  
  3660  
  3661  /**
  3662   * Deserializes binary data (in protobuf wire format).
  3663   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  3664   * @return {!proto.google.protobuf.OneofDescriptorProto}
  3665   */
  3666  proto.google.protobuf.OneofDescriptorProto.deserializeBinary = function(bytes) {
  3667    var reader = new jspb.BinaryReader(bytes);
  3668    var msg = new proto.google.protobuf.OneofDescriptorProto;
  3669    return proto.google.protobuf.OneofDescriptorProto.deserializeBinaryFromReader(msg, reader);
  3670  };
  3671  
  3672  
  3673  /**
  3674   * Deserializes binary data (in protobuf wire format) from the
  3675   * given reader into the given message object.
  3676   * @param {!proto.google.protobuf.OneofDescriptorProto} msg The message object to deserialize into.
  3677   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  3678   * @return {!proto.google.protobuf.OneofDescriptorProto}
  3679   */
  3680  proto.google.protobuf.OneofDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  3681    while (reader.nextField()) {
  3682      if (reader.isEndGroup()) {
  3683        break;
  3684      }
  3685      var field = reader.getFieldNumber();
  3686      switch (field) {
  3687      case 1:
  3688        var value = /** @type {string} */ (reader.readString());
  3689        msg.setName(value);
  3690        break;
  3691      case 2:
  3692        var value = new proto.google.protobuf.OneofOptions;
  3693        reader.readMessage(value,proto.google.protobuf.OneofOptions.deserializeBinaryFromReader);
  3694        msg.setOptions(value);
  3695        break;
  3696      default:
  3697        reader.skipField();
  3698        break;
  3699      }
  3700    }
  3701    return msg;
  3702  };
  3703  
  3704  
  3705  /**
  3706   * Serializes the message to binary data (in protobuf wire format).
  3707   * @return {!Uint8Array}
  3708   */
  3709  proto.google.protobuf.OneofDescriptorProto.prototype.serializeBinary = function() {
  3710    var writer = new jspb.BinaryWriter();
  3711    proto.google.protobuf.OneofDescriptorProto.serializeBinaryToWriter(this, writer);
  3712    return writer.getResultBuffer();
  3713  };
  3714  
  3715  
  3716  /**
  3717   * Serializes the given message to binary data (in protobuf wire
  3718   * format), writing to the given BinaryWriter.
  3719   * @param {!proto.google.protobuf.OneofDescriptorProto} message
  3720   * @param {!jspb.BinaryWriter} writer
  3721   * @suppress {unusedLocalVariables} f is only used for nested messages
  3722   */
  3723  proto.google.protobuf.OneofDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  3724    var f = undefined;
  3725    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  3726    if (f != null) {
  3727      writer.writeString(
  3728        1,
  3729        f
  3730      );
  3731    }
  3732    f = message.getOptions();
  3733    if (f != null) {
  3734      writer.writeMessage(
  3735        2,
  3736        f,
  3737        proto.google.protobuf.OneofOptions.serializeBinaryToWriter
  3738      );
  3739    }
  3740  };
  3741  
  3742  
  3743  /**
  3744   * optional string name = 1;
  3745   * @return {string}
  3746   */
  3747  proto.google.protobuf.OneofDescriptorProto.prototype.getName = function() {
  3748    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  3749  };
  3750  
  3751  
  3752  /**
  3753   * @param {string} value
  3754   * @return {!proto.google.protobuf.OneofDescriptorProto} returns this
  3755   */
  3756  proto.google.protobuf.OneofDescriptorProto.prototype.setName = function(value) {
  3757    return jspb.Message.setField(this, 1, value);
  3758  };
  3759  
  3760  
  3761  /**
  3762   * Clears the field making it undefined.
  3763   * @return {!proto.google.protobuf.OneofDescriptorProto} returns this
  3764   */
  3765  proto.google.protobuf.OneofDescriptorProto.prototype.clearName = function() {
  3766    return jspb.Message.setField(this, 1, undefined);
  3767  };
  3768  
  3769  
  3770  /**
  3771   * Returns whether this field is set.
  3772   * @return {boolean}
  3773   */
  3774  proto.google.protobuf.OneofDescriptorProto.prototype.hasName = function() {
  3775    return jspb.Message.getField(this, 1) != null;
  3776  };
  3777  
  3778  
  3779  /**
  3780   * optional OneofOptions options = 2;
  3781   * @return {?proto.google.protobuf.OneofOptions}
  3782   */
  3783  proto.google.protobuf.OneofDescriptorProto.prototype.getOptions = function() {
  3784    return /** @type{?proto.google.protobuf.OneofOptions} */ (
  3785      jspb.Message.getWrapperField(this, proto.google.protobuf.OneofOptions, 2));
  3786  };
  3787  
  3788  
  3789  /**
  3790   * @param {?proto.google.protobuf.OneofOptions|undefined} value
  3791   * @return {!proto.google.protobuf.OneofDescriptorProto} returns this
  3792  */
  3793  proto.google.protobuf.OneofDescriptorProto.prototype.setOptions = function(value) {
  3794    return jspb.Message.setWrapperField(this, 2, value);
  3795  };
  3796  
  3797  
  3798  /**
  3799   * Clears the message field making it undefined.
  3800   * @return {!proto.google.protobuf.OneofDescriptorProto} returns this
  3801   */
  3802  proto.google.protobuf.OneofDescriptorProto.prototype.clearOptions = function() {
  3803    return this.setOptions(undefined);
  3804  };
  3805  
  3806  
  3807  /**
  3808   * Returns whether this field is set.
  3809   * @return {boolean}
  3810   */
  3811  proto.google.protobuf.OneofDescriptorProto.prototype.hasOptions = function() {
  3812    return jspb.Message.getField(this, 2) != null;
  3813  };
  3814  
  3815  
  3816  
  3817  /**
  3818   * List of repeated fields within this message type.
  3819   * @private {!Array<number>}
  3820   * @const
  3821   */
  3822  proto.google.protobuf.EnumDescriptorProto.repeatedFields_ = [2,4,5];
  3823  
  3824  
  3825  
  3826  if (jspb.Message.GENERATE_TO_OBJECT) {
  3827  /**
  3828   * Creates an object representation of this proto.
  3829   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  3830   * Optional fields that are not set will be set to undefined.
  3831   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  3832   * For the list of reserved names please see:
  3833   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  3834   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  3835   *     JSPB instance for transitional soy proto support:
  3836   *     http://goto/soy-param-migration
  3837   * @return {!Object}
  3838   */
  3839  proto.google.protobuf.EnumDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  3840    return proto.google.protobuf.EnumDescriptorProto.toObject(opt_includeInstance, this);
  3841  };
  3842  
  3843  
  3844  /**
  3845   * Static version of the {@see toObject} method.
  3846   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  3847   *     the JSPB instance for transitional soy proto support:
  3848   *     http://goto/soy-param-migration
  3849   * @param {!proto.google.protobuf.EnumDescriptorProto} msg The msg instance to transform.
  3850   * @return {!Object}
  3851   * @suppress {unusedLocalVariables} f is only used for nested messages
  3852   */
  3853  proto.google.protobuf.EnumDescriptorProto.toObject = function(includeInstance, msg) {
  3854    var f, obj = {
  3855      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  3856      valueList: jspb.Message.toObjectList(msg.getValueList(),
  3857      proto.google.protobuf.EnumValueDescriptorProto.toObject, includeInstance),
  3858      options: (f = msg.getOptions()) && proto.google.protobuf.EnumOptions.toObject(includeInstance, f),
  3859      reservedRangeList: jspb.Message.toObjectList(msg.getReservedRangeList(),
  3860      proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject, includeInstance),
  3861      reservedNameList: (f = jspb.Message.getRepeatedField(msg, 5)) == null ? undefined : f
  3862    };
  3863  
  3864    if (includeInstance) {
  3865      obj.$jspbMessageInstance = msg;
  3866    }
  3867    return obj;
  3868  };
  3869  }
  3870  
  3871  
  3872  /**
  3873   * Deserializes binary data (in protobuf wire format).
  3874   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  3875   * @return {!proto.google.protobuf.EnumDescriptorProto}
  3876   */
  3877  proto.google.protobuf.EnumDescriptorProto.deserializeBinary = function(bytes) {
  3878    var reader = new jspb.BinaryReader(bytes);
  3879    var msg = new proto.google.protobuf.EnumDescriptorProto;
  3880    return proto.google.protobuf.EnumDescriptorProto.deserializeBinaryFromReader(msg, reader);
  3881  };
  3882  
  3883  
  3884  /**
  3885   * Deserializes binary data (in protobuf wire format) from the
  3886   * given reader into the given message object.
  3887   * @param {!proto.google.protobuf.EnumDescriptorProto} msg The message object to deserialize into.
  3888   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  3889   * @return {!proto.google.protobuf.EnumDescriptorProto}
  3890   */
  3891  proto.google.protobuf.EnumDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  3892    while (reader.nextField()) {
  3893      if (reader.isEndGroup()) {
  3894        break;
  3895      }
  3896      var field = reader.getFieldNumber();
  3897      switch (field) {
  3898      case 1:
  3899        var value = /** @type {string} */ (reader.readString());
  3900        msg.setName(value);
  3901        break;
  3902      case 2:
  3903        var value = new proto.google.protobuf.EnumValueDescriptorProto;
  3904        reader.readMessage(value,proto.google.protobuf.EnumValueDescriptorProto.deserializeBinaryFromReader);
  3905        msg.addValue(value);
  3906        break;
  3907      case 3:
  3908        var value = new proto.google.protobuf.EnumOptions;
  3909        reader.readMessage(value,proto.google.protobuf.EnumOptions.deserializeBinaryFromReader);
  3910        msg.setOptions(value);
  3911        break;
  3912      case 4:
  3913        var value = new proto.google.protobuf.EnumDescriptorProto.EnumReservedRange;
  3914        reader.readMessage(value,proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.deserializeBinaryFromReader);
  3915        msg.addReservedRange(value);
  3916        break;
  3917      case 5:
  3918        var value = /** @type {string} */ (reader.readString());
  3919        msg.addReservedName(value);
  3920        break;
  3921      default:
  3922        reader.skipField();
  3923        break;
  3924      }
  3925    }
  3926    return msg;
  3927  };
  3928  
  3929  
  3930  /**
  3931   * Serializes the message to binary data (in protobuf wire format).
  3932   * @return {!Uint8Array}
  3933   */
  3934  proto.google.protobuf.EnumDescriptorProto.prototype.serializeBinary = function() {
  3935    var writer = new jspb.BinaryWriter();
  3936    proto.google.protobuf.EnumDescriptorProto.serializeBinaryToWriter(this, writer);
  3937    return writer.getResultBuffer();
  3938  };
  3939  
  3940  
  3941  /**
  3942   * Serializes the given message to binary data (in protobuf wire
  3943   * format), writing to the given BinaryWriter.
  3944   * @param {!proto.google.protobuf.EnumDescriptorProto} message
  3945   * @param {!jspb.BinaryWriter} writer
  3946   * @suppress {unusedLocalVariables} f is only used for nested messages
  3947   */
  3948  proto.google.protobuf.EnumDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  3949    var f = undefined;
  3950    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  3951    if (f != null) {
  3952      writer.writeString(
  3953        1,
  3954        f
  3955      );
  3956    }
  3957    f = message.getValueList();
  3958    if (f.length > 0) {
  3959      writer.writeRepeatedMessage(
  3960        2,
  3961        f,
  3962        proto.google.protobuf.EnumValueDescriptorProto.serializeBinaryToWriter
  3963      );
  3964    }
  3965    f = message.getOptions();
  3966    if (f != null) {
  3967      writer.writeMessage(
  3968        3,
  3969        f,
  3970        proto.google.protobuf.EnumOptions.serializeBinaryToWriter
  3971      );
  3972    }
  3973    f = message.getReservedRangeList();
  3974    if (f.length > 0) {
  3975      writer.writeRepeatedMessage(
  3976        4,
  3977        f,
  3978        proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.serializeBinaryToWriter
  3979      );
  3980    }
  3981    f = message.getReservedNameList();
  3982    if (f.length > 0) {
  3983      writer.writeRepeatedString(
  3984        5,
  3985        f
  3986      );
  3987    }
  3988  };
  3989  
  3990  
  3991  
  3992  
  3993  
  3994  if (jspb.Message.GENERATE_TO_OBJECT) {
  3995  /**
  3996   * Creates an object representation of this proto.
  3997   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  3998   * Optional fields that are not set will be set to undefined.
  3999   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  4000   * For the list of reserved names please see:
  4001   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  4002   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  4003   *     JSPB instance for transitional soy proto support:
  4004   *     http://goto/soy-param-migration
  4005   * @return {!Object}
  4006   */
  4007  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.toObject = function(opt_includeInstance) {
  4008    return proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(opt_includeInstance, this);
  4009  };
  4010  
  4011  
  4012  /**
  4013   * Static version of the {@see toObject} method.
  4014   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  4015   *     the JSPB instance for transitional soy proto support:
  4016   *     http://goto/soy-param-migration
  4017   * @param {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} msg The msg instance to transform.
  4018   * @return {!Object}
  4019   * @suppress {unusedLocalVariables} f is only used for nested messages
  4020   */
  4021  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject = function(includeInstance, msg) {
  4022    var f, obj = {
  4023      start: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  4024      end: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f
  4025    };
  4026  
  4027    if (includeInstance) {
  4028      obj.$jspbMessageInstance = msg;
  4029    }
  4030    return obj;
  4031  };
  4032  }
  4033  
  4034  
  4035  /**
  4036   * Deserializes binary data (in protobuf wire format).
  4037   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  4038   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange}
  4039   */
  4040  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.deserializeBinary = function(bytes) {
  4041    var reader = new jspb.BinaryReader(bytes);
  4042    var msg = new proto.google.protobuf.EnumDescriptorProto.EnumReservedRange;
  4043    return proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.deserializeBinaryFromReader(msg, reader);
  4044  };
  4045  
  4046  
  4047  /**
  4048   * Deserializes binary data (in protobuf wire format) from the
  4049   * given reader into the given message object.
  4050   * @param {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} msg The message object to deserialize into.
  4051   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  4052   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange}
  4053   */
  4054  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.deserializeBinaryFromReader = function(msg, reader) {
  4055    while (reader.nextField()) {
  4056      if (reader.isEndGroup()) {
  4057        break;
  4058      }
  4059      var field = reader.getFieldNumber();
  4060      switch (field) {
  4061      case 1:
  4062        var value = /** @type {number} */ (reader.readInt32());
  4063        msg.setStart(value);
  4064        break;
  4065      case 2:
  4066        var value = /** @type {number} */ (reader.readInt32());
  4067        msg.setEnd(value);
  4068        break;
  4069      default:
  4070        reader.skipField();
  4071        break;
  4072      }
  4073    }
  4074    return msg;
  4075  };
  4076  
  4077  
  4078  /**
  4079   * Serializes the message to binary data (in protobuf wire format).
  4080   * @return {!Uint8Array}
  4081   */
  4082  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.serializeBinary = function() {
  4083    var writer = new jspb.BinaryWriter();
  4084    proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.serializeBinaryToWriter(this, writer);
  4085    return writer.getResultBuffer();
  4086  };
  4087  
  4088  
  4089  /**
  4090   * Serializes the given message to binary data (in protobuf wire
  4091   * format), writing to the given BinaryWriter.
  4092   * @param {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} message
  4093   * @param {!jspb.BinaryWriter} writer
  4094   * @suppress {unusedLocalVariables} f is only used for nested messages
  4095   */
  4096  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.serializeBinaryToWriter = function(message, writer) {
  4097    var f = undefined;
  4098    f = /** @type {number} */ (jspb.Message.getField(message, 1));
  4099    if (f != null) {
  4100      writer.writeInt32(
  4101        1,
  4102        f
  4103      );
  4104    }
  4105    f = /** @type {number} */ (jspb.Message.getField(message, 2));
  4106    if (f != null) {
  4107      writer.writeInt32(
  4108        2,
  4109        f
  4110      );
  4111    }
  4112  };
  4113  
  4114  
  4115  /**
  4116   * optional int32 start = 1;
  4117   * @return {number}
  4118   */
  4119  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.getStart = function() {
  4120    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  4121  };
  4122  
  4123  
  4124  /**
  4125   * @param {number} value
  4126   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} returns this
  4127   */
  4128  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.setStart = function(value) {
  4129    return jspb.Message.setField(this, 1, value);
  4130  };
  4131  
  4132  
  4133  /**
  4134   * Clears the field making it undefined.
  4135   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} returns this
  4136   */
  4137  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.clearStart = function() {
  4138    return jspb.Message.setField(this, 1, undefined);
  4139  };
  4140  
  4141  
  4142  /**
  4143   * Returns whether this field is set.
  4144   * @return {boolean}
  4145   */
  4146  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.hasStart = function() {
  4147    return jspb.Message.getField(this, 1) != null;
  4148  };
  4149  
  4150  
  4151  /**
  4152   * optional int32 end = 2;
  4153   * @return {number}
  4154   */
  4155  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.getEnd = function() {
  4156    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  4157  };
  4158  
  4159  
  4160  /**
  4161   * @param {number} value
  4162   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} returns this
  4163   */
  4164  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.setEnd = function(value) {
  4165    return jspb.Message.setField(this, 2, value);
  4166  };
  4167  
  4168  
  4169  /**
  4170   * Clears the field making it undefined.
  4171   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange} returns this
  4172   */
  4173  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.clearEnd = function() {
  4174    return jspb.Message.setField(this, 2, undefined);
  4175  };
  4176  
  4177  
  4178  /**
  4179   * Returns whether this field is set.
  4180   * @return {boolean}
  4181   */
  4182  proto.google.protobuf.EnumDescriptorProto.EnumReservedRange.prototype.hasEnd = function() {
  4183    return jspb.Message.getField(this, 2) != null;
  4184  };
  4185  
  4186  
  4187  /**
  4188   * optional string name = 1;
  4189   * @return {string}
  4190   */
  4191  proto.google.protobuf.EnumDescriptorProto.prototype.getName = function() {
  4192    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  4193  };
  4194  
  4195  
  4196  /**
  4197   * @param {string} value
  4198   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4199   */
  4200  proto.google.protobuf.EnumDescriptorProto.prototype.setName = function(value) {
  4201    return jspb.Message.setField(this, 1, value);
  4202  };
  4203  
  4204  
  4205  /**
  4206   * Clears the field making it undefined.
  4207   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4208   */
  4209  proto.google.protobuf.EnumDescriptorProto.prototype.clearName = function() {
  4210    return jspb.Message.setField(this, 1, undefined);
  4211  };
  4212  
  4213  
  4214  /**
  4215   * Returns whether this field is set.
  4216   * @return {boolean}
  4217   */
  4218  proto.google.protobuf.EnumDescriptorProto.prototype.hasName = function() {
  4219    return jspb.Message.getField(this, 1) != null;
  4220  };
  4221  
  4222  
  4223  /**
  4224   * repeated EnumValueDescriptorProto value = 2;
  4225   * @return {!Array<!proto.google.protobuf.EnumValueDescriptorProto>}
  4226   */
  4227  proto.google.protobuf.EnumDescriptorProto.prototype.getValueList = function() {
  4228    return /** @type{!Array<!proto.google.protobuf.EnumValueDescriptorProto>} */ (
  4229      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.EnumValueDescriptorProto, 2));
  4230  };
  4231  
  4232  
  4233  /**
  4234   * @param {!Array<!proto.google.protobuf.EnumValueDescriptorProto>} value
  4235   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4236  */
  4237  proto.google.protobuf.EnumDescriptorProto.prototype.setValueList = function(value) {
  4238    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  4239  };
  4240  
  4241  
  4242  /**
  4243   * @param {!proto.google.protobuf.EnumValueDescriptorProto=} opt_value
  4244   * @param {number=} opt_index
  4245   * @return {!proto.google.protobuf.EnumValueDescriptorProto}
  4246   */
  4247  proto.google.protobuf.EnumDescriptorProto.prototype.addValue = function(opt_value, opt_index) {
  4248    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.google.protobuf.EnumValueDescriptorProto, opt_index);
  4249  };
  4250  
  4251  
  4252  /**
  4253   * Clears the list making it empty but non-null.
  4254   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4255   */
  4256  proto.google.protobuf.EnumDescriptorProto.prototype.clearValueList = function() {
  4257    return this.setValueList([]);
  4258  };
  4259  
  4260  
  4261  /**
  4262   * optional EnumOptions options = 3;
  4263   * @return {?proto.google.protobuf.EnumOptions}
  4264   */
  4265  proto.google.protobuf.EnumDescriptorProto.prototype.getOptions = function() {
  4266    return /** @type{?proto.google.protobuf.EnumOptions} */ (
  4267      jspb.Message.getWrapperField(this, proto.google.protobuf.EnumOptions, 3));
  4268  };
  4269  
  4270  
  4271  /**
  4272   * @param {?proto.google.protobuf.EnumOptions|undefined} value
  4273   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4274  */
  4275  proto.google.protobuf.EnumDescriptorProto.prototype.setOptions = function(value) {
  4276    return jspb.Message.setWrapperField(this, 3, value);
  4277  };
  4278  
  4279  
  4280  /**
  4281   * Clears the message field making it undefined.
  4282   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4283   */
  4284  proto.google.protobuf.EnumDescriptorProto.prototype.clearOptions = function() {
  4285    return this.setOptions(undefined);
  4286  };
  4287  
  4288  
  4289  /**
  4290   * Returns whether this field is set.
  4291   * @return {boolean}
  4292   */
  4293  proto.google.protobuf.EnumDescriptorProto.prototype.hasOptions = function() {
  4294    return jspb.Message.getField(this, 3) != null;
  4295  };
  4296  
  4297  
  4298  /**
  4299   * repeated EnumReservedRange reserved_range = 4;
  4300   * @return {!Array<!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange>}
  4301   */
  4302  proto.google.protobuf.EnumDescriptorProto.prototype.getReservedRangeList = function() {
  4303    return /** @type{!Array<!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange>} */ (
  4304      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.EnumDescriptorProto.EnumReservedRange, 4));
  4305  };
  4306  
  4307  
  4308  /**
  4309   * @param {!Array<!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange>} value
  4310   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4311  */
  4312  proto.google.protobuf.EnumDescriptorProto.prototype.setReservedRangeList = function(value) {
  4313    return jspb.Message.setRepeatedWrapperField(this, 4, value);
  4314  };
  4315  
  4316  
  4317  /**
  4318   * @param {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange=} opt_value
  4319   * @param {number=} opt_index
  4320   * @return {!proto.google.protobuf.EnumDescriptorProto.EnumReservedRange}
  4321   */
  4322  proto.google.protobuf.EnumDescriptorProto.prototype.addReservedRange = function(opt_value, opt_index) {
  4323    return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, proto.google.protobuf.EnumDescriptorProto.EnumReservedRange, opt_index);
  4324  };
  4325  
  4326  
  4327  /**
  4328   * Clears the list making it empty but non-null.
  4329   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4330   */
  4331  proto.google.protobuf.EnumDescriptorProto.prototype.clearReservedRangeList = function() {
  4332    return this.setReservedRangeList([]);
  4333  };
  4334  
  4335  
  4336  /**
  4337   * repeated string reserved_name = 5;
  4338   * @return {!Array<string>}
  4339   */
  4340  proto.google.protobuf.EnumDescriptorProto.prototype.getReservedNameList = function() {
  4341    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 5));
  4342  };
  4343  
  4344  
  4345  /**
  4346   * @param {!Array<string>} value
  4347   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4348   */
  4349  proto.google.protobuf.EnumDescriptorProto.prototype.setReservedNameList = function(value) {
  4350    return jspb.Message.setField(this, 5, value || []);
  4351  };
  4352  
  4353  
  4354  /**
  4355   * @param {string} value
  4356   * @param {number=} opt_index
  4357   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4358   */
  4359  proto.google.protobuf.EnumDescriptorProto.prototype.addReservedName = function(value, opt_index) {
  4360    return jspb.Message.addToRepeatedField(this, 5, value, opt_index);
  4361  };
  4362  
  4363  
  4364  /**
  4365   * Clears the list making it empty but non-null.
  4366   * @return {!proto.google.protobuf.EnumDescriptorProto} returns this
  4367   */
  4368  proto.google.protobuf.EnumDescriptorProto.prototype.clearReservedNameList = function() {
  4369    return this.setReservedNameList([]);
  4370  };
  4371  
  4372  
  4373  
  4374  
  4375  
  4376  if (jspb.Message.GENERATE_TO_OBJECT) {
  4377  /**
  4378   * Creates an object representation of this proto.
  4379   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  4380   * Optional fields that are not set will be set to undefined.
  4381   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  4382   * For the list of reserved names please see:
  4383   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  4384   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  4385   *     JSPB instance for transitional soy proto support:
  4386   *     http://goto/soy-param-migration
  4387   * @return {!Object}
  4388   */
  4389  proto.google.protobuf.EnumValueDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  4390    return proto.google.protobuf.EnumValueDescriptorProto.toObject(opt_includeInstance, this);
  4391  };
  4392  
  4393  
  4394  /**
  4395   * Static version of the {@see toObject} method.
  4396   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  4397   *     the JSPB instance for transitional soy proto support:
  4398   *     http://goto/soy-param-migration
  4399   * @param {!proto.google.protobuf.EnumValueDescriptorProto} msg The msg instance to transform.
  4400   * @return {!Object}
  4401   * @suppress {unusedLocalVariables} f is only used for nested messages
  4402   */
  4403  proto.google.protobuf.EnumValueDescriptorProto.toObject = function(includeInstance, msg) {
  4404    var f, obj = {
  4405      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  4406      number: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
  4407      options: (f = msg.getOptions()) && proto.google.protobuf.EnumValueOptions.toObject(includeInstance, f)
  4408    };
  4409  
  4410    if (includeInstance) {
  4411      obj.$jspbMessageInstance = msg;
  4412    }
  4413    return obj;
  4414  };
  4415  }
  4416  
  4417  
  4418  /**
  4419   * Deserializes binary data (in protobuf wire format).
  4420   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  4421   * @return {!proto.google.protobuf.EnumValueDescriptorProto}
  4422   */
  4423  proto.google.protobuf.EnumValueDescriptorProto.deserializeBinary = function(bytes) {
  4424    var reader = new jspb.BinaryReader(bytes);
  4425    var msg = new proto.google.protobuf.EnumValueDescriptorProto;
  4426    return proto.google.protobuf.EnumValueDescriptorProto.deserializeBinaryFromReader(msg, reader);
  4427  };
  4428  
  4429  
  4430  /**
  4431   * Deserializes binary data (in protobuf wire format) from the
  4432   * given reader into the given message object.
  4433   * @param {!proto.google.protobuf.EnumValueDescriptorProto} msg The message object to deserialize into.
  4434   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  4435   * @return {!proto.google.protobuf.EnumValueDescriptorProto}
  4436   */
  4437  proto.google.protobuf.EnumValueDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  4438    while (reader.nextField()) {
  4439      if (reader.isEndGroup()) {
  4440        break;
  4441      }
  4442      var field = reader.getFieldNumber();
  4443      switch (field) {
  4444      case 1:
  4445        var value = /** @type {string} */ (reader.readString());
  4446        msg.setName(value);
  4447        break;
  4448      case 2:
  4449        var value = /** @type {number} */ (reader.readInt32());
  4450        msg.setNumber(value);
  4451        break;
  4452      case 3:
  4453        var value = new proto.google.protobuf.EnumValueOptions;
  4454        reader.readMessage(value,proto.google.protobuf.EnumValueOptions.deserializeBinaryFromReader);
  4455        msg.setOptions(value);
  4456        break;
  4457      default:
  4458        reader.skipField();
  4459        break;
  4460      }
  4461    }
  4462    return msg;
  4463  };
  4464  
  4465  
  4466  /**
  4467   * Serializes the message to binary data (in protobuf wire format).
  4468   * @return {!Uint8Array}
  4469   */
  4470  proto.google.protobuf.EnumValueDescriptorProto.prototype.serializeBinary = function() {
  4471    var writer = new jspb.BinaryWriter();
  4472    proto.google.protobuf.EnumValueDescriptorProto.serializeBinaryToWriter(this, writer);
  4473    return writer.getResultBuffer();
  4474  };
  4475  
  4476  
  4477  /**
  4478   * Serializes the given message to binary data (in protobuf wire
  4479   * format), writing to the given BinaryWriter.
  4480   * @param {!proto.google.protobuf.EnumValueDescriptorProto} message
  4481   * @param {!jspb.BinaryWriter} writer
  4482   * @suppress {unusedLocalVariables} f is only used for nested messages
  4483   */
  4484  proto.google.protobuf.EnumValueDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  4485    var f = undefined;
  4486    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  4487    if (f != null) {
  4488      writer.writeString(
  4489        1,
  4490        f
  4491      );
  4492    }
  4493    f = /** @type {number} */ (jspb.Message.getField(message, 2));
  4494    if (f != null) {
  4495      writer.writeInt32(
  4496        2,
  4497        f
  4498      );
  4499    }
  4500    f = message.getOptions();
  4501    if (f != null) {
  4502      writer.writeMessage(
  4503        3,
  4504        f,
  4505        proto.google.protobuf.EnumValueOptions.serializeBinaryToWriter
  4506      );
  4507    }
  4508  };
  4509  
  4510  
  4511  /**
  4512   * optional string name = 1;
  4513   * @return {string}
  4514   */
  4515  proto.google.protobuf.EnumValueDescriptorProto.prototype.getName = function() {
  4516    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  4517  };
  4518  
  4519  
  4520  /**
  4521   * @param {string} value
  4522   * @return {!proto.google.protobuf.EnumValueDescriptorProto} returns this
  4523   */
  4524  proto.google.protobuf.EnumValueDescriptorProto.prototype.setName = function(value) {
  4525    return jspb.Message.setField(this, 1, value);
  4526  };
  4527  
  4528  
  4529  /**
  4530   * Clears the field making it undefined.
  4531   * @return {!proto.google.protobuf.EnumValueDescriptorProto} returns this
  4532   */
  4533  proto.google.protobuf.EnumValueDescriptorProto.prototype.clearName = function() {
  4534    return jspb.Message.setField(this, 1, undefined);
  4535  };
  4536  
  4537  
  4538  /**
  4539   * Returns whether this field is set.
  4540   * @return {boolean}
  4541   */
  4542  proto.google.protobuf.EnumValueDescriptorProto.prototype.hasName = function() {
  4543    return jspb.Message.getField(this, 1) != null;
  4544  };
  4545  
  4546  
  4547  /**
  4548   * optional int32 number = 2;
  4549   * @return {number}
  4550   */
  4551  proto.google.protobuf.EnumValueDescriptorProto.prototype.getNumber = function() {
  4552    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
  4553  };
  4554  
  4555  
  4556  /**
  4557   * @param {number} value
  4558   * @return {!proto.google.protobuf.EnumValueDescriptorProto} returns this
  4559   */
  4560  proto.google.protobuf.EnumValueDescriptorProto.prototype.setNumber = function(value) {
  4561    return jspb.Message.setField(this, 2, value);
  4562  };
  4563  
  4564  
  4565  /**
  4566   * Clears the field making it undefined.
  4567   * @return {!proto.google.protobuf.EnumValueDescriptorProto} returns this
  4568   */
  4569  proto.google.protobuf.EnumValueDescriptorProto.prototype.clearNumber = function() {
  4570    return jspb.Message.setField(this, 2, undefined);
  4571  };
  4572  
  4573  
  4574  /**
  4575   * Returns whether this field is set.
  4576   * @return {boolean}
  4577   */
  4578  proto.google.protobuf.EnumValueDescriptorProto.prototype.hasNumber = function() {
  4579    return jspb.Message.getField(this, 2) != null;
  4580  };
  4581  
  4582  
  4583  /**
  4584   * optional EnumValueOptions options = 3;
  4585   * @return {?proto.google.protobuf.EnumValueOptions}
  4586   */
  4587  proto.google.protobuf.EnumValueDescriptorProto.prototype.getOptions = function() {
  4588    return /** @type{?proto.google.protobuf.EnumValueOptions} */ (
  4589      jspb.Message.getWrapperField(this, proto.google.protobuf.EnumValueOptions, 3));
  4590  };
  4591  
  4592  
  4593  /**
  4594   * @param {?proto.google.protobuf.EnumValueOptions|undefined} value
  4595   * @return {!proto.google.protobuf.EnumValueDescriptorProto} returns this
  4596  */
  4597  proto.google.protobuf.EnumValueDescriptorProto.prototype.setOptions = function(value) {
  4598    return jspb.Message.setWrapperField(this, 3, value);
  4599  };
  4600  
  4601  
  4602  /**
  4603   * Clears the message field making it undefined.
  4604   * @return {!proto.google.protobuf.EnumValueDescriptorProto} returns this
  4605   */
  4606  proto.google.protobuf.EnumValueDescriptorProto.prototype.clearOptions = function() {
  4607    return this.setOptions(undefined);
  4608  };
  4609  
  4610  
  4611  /**
  4612   * Returns whether this field is set.
  4613   * @return {boolean}
  4614   */
  4615  proto.google.protobuf.EnumValueDescriptorProto.prototype.hasOptions = function() {
  4616    return jspb.Message.getField(this, 3) != null;
  4617  };
  4618  
  4619  
  4620  
  4621  /**
  4622   * List of repeated fields within this message type.
  4623   * @private {!Array<number>}
  4624   * @const
  4625   */
  4626  proto.google.protobuf.ServiceDescriptorProto.repeatedFields_ = [2];
  4627  
  4628  
  4629  
  4630  if (jspb.Message.GENERATE_TO_OBJECT) {
  4631  /**
  4632   * Creates an object representation of this proto.
  4633   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  4634   * Optional fields that are not set will be set to undefined.
  4635   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  4636   * For the list of reserved names please see:
  4637   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  4638   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  4639   *     JSPB instance for transitional soy proto support:
  4640   *     http://goto/soy-param-migration
  4641   * @return {!Object}
  4642   */
  4643  proto.google.protobuf.ServiceDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  4644    return proto.google.protobuf.ServiceDescriptorProto.toObject(opt_includeInstance, this);
  4645  };
  4646  
  4647  
  4648  /**
  4649   * Static version of the {@see toObject} method.
  4650   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  4651   *     the JSPB instance for transitional soy proto support:
  4652   *     http://goto/soy-param-migration
  4653   * @param {!proto.google.protobuf.ServiceDescriptorProto} msg The msg instance to transform.
  4654   * @return {!Object}
  4655   * @suppress {unusedLocalVariables} f is only used for nested messages
  4656   */
  4657  proto.google.protobuf.ServiceDescriptorProto.toObject = function(includeInstance, msg) {
  4658    var f, obj = {
  4659      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  4660      methodList: jspb.Message.toObjectList(msg.getMethodList(),
  4661      proto.google.protobuf.MethodDescriptorProto.toObject, includeInstance),
  4662      options: (f = msg.getOptions()) && proto.google.protobuf.ServiceOptions.toObject(includeInstance, f)
  4663    };
  4664  
  4665    if (includeInstance) {
  4666      obj.$jspbMessageInstance = msg;
  4667    }
  4668    return obj;
  4669  };
  4670  }
  4671  
  4672  
  4673  /**
  4674   * Deserializes binary data (in protobuf wire format).
  4675   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  4676   * @return {!proto.google.protobuf.ServiceDescriptorProto}
  4677   */
  4678  proto.google.protobuf.ServiceDescriptorProto.deserializeBinary = function(bytes) {
  4679    var reader = new jspb.BinaryReader(bytes);
  4680    var msg = new proto.google.protobuf.ServiceDescriptorProto;
  4681    return proto.google.protobuf.ServiceDescriptorProto.deserializeBinaryFromReader(msg, reader);
  4682  };
  4683  
  4684  
  4685  /**
  4686   * Deserializes binary data (in protobuf wire format) from the
  4687   * given reader into the given message object.
  4688   * @param {!proto.google.protobuf.ServiceDescriptorProto} msg The message object to deserialize into.
  4689   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  4690   * @return {!proto.google.protobuf.ServiceDescriptorProto}
  4691   */
  4692  proto.google.protobuf.ServiceDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  4693    while (reader.nextField()) {
  4694      if (reader.isEndGroup()) {
  4695        break;
  4696      }
  4697      var field = reader.getFieldNumber();
  4698      switch (field) {
  4699      case 1:
  4700        var value = /** @type {string} */ (reader.readString());
  4701        msg.setName(value);
  4702        break;
  4703      case 2:
  4704        var value = new proto.google.protobuf.MethodDescriptorProto;
  4705        reader.readMessage(value,proto.google.protobuf.MethodDescriptorProto.deserializeBinaryFromReader);
  4706        msg.addMethod(value);
  4707        break;
  4708      case 3:
  4709        var value = new proto.google.protobuf.ServiceOptions;
  4710        reader.readMessage(value,proto.google.protobuf.ServiceOptions.deserializeBinaryFromReader);
  4711        msg.setOptions(value);
  4712        break;
  4713      default:
  4714        reader.skipField();
  4715        break;
  4716      }
  4717    }
  4718    return msg;
  4719  };
  4720  
  4721  
  4722  /**
  4723   * Serializes the message to binary data (in protobuf wire format).
  4724   * @return {!Uint8Array}
  4725   */
  4726  proto.google.protobuf.ServiceDescriptorProto.prototype.serializeBinary = function() {
  4727    var writer = new jspb.BinaryWriter();
  4728    proto.google.protobuf.ServiceDescriptorProto.serializeBinaryToWriter(this, writer);
  4729    return writer.getResultBuffer();
  4730  };
  4731  
  4732  
  4733  /**
  4734   * Serializes the given message to binary data (in protobuf wire
  4735   * format), writing to the given BinaryWriter.
  4736   * @param {!proto.google.protobuf.ServiceDescriptorProto} message
  4737   * @param {!jspb.BinaryWriter} writer
  4738   * @suppress {unusedLocalVariables} f is only used for nested messages
  4739   */
  4740  proto.google.protobuf.ServiceDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  4741    var f = undefined;
  4742    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  4743    if (f != null) {
  4744      writer.writeString(
  4745        1,
  4746        f
  4747      );
  4748    }
  4749    f = message.getMethodList();
  4750    if (f.length > 0) {
  4751      writer.writeRepeatedMessage(
  4752        2,
  4753        f,
  4754        proto.google.protobuf.MethodDescriptorProto.serializeBinaryToWriter
  4755      );
  4756    }
  4757    f = message.getOptions();
  4758    if (f != null) {
  4759      writer.writeMessage(
  4760        3,
  4761        f,
  4762        proto.google.protobuf.ServiceOptions.serializeBinaryToWriter
  4763      );
  4764    }
  4765  };
  4766  
  4767  
  4768  /**
  4769   * optional string name = 1;
  4770   * @return {string}
  4771   */
  4772  proto.google.protobuf.ServiceDescriptorProto.prototype.getName = function() {
  4773    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  4774  };
  4775  
  4776  
  4777  /**
  4778   * @param {string} value
  4779   * @return {!proto.google.protobuf.ServiceDescriptorProto} returns this
  4780   */
  4781  proto.google.protobuf.ServiceDescriptorProto.prototype.setName = function(value) {
  4782    return jspb.Message.setField(this, 1, value);
  4783  };
  4784  
  4785  
  4786  /**
  4787   * Clears the field making it undefined.
  4788   * @return {!proto.google.protobuf.ServiceDescriptorProto} returns this
  4789   */
  4790  proto.google.protobuf.ServiceDescriptorProto.prototype.clearName = function() {
  4791    return jspb.Message.setField(this, 1, undefined);
  4792  };
  4793  
  4794  
  4795  /**
  4796   * Returns whether this field is set.
  4797   * @return {boolean}
  4798   */
  4799  proto.google.protobuf.ServiceDescriptorProto.prototype.hasName = function() {
  4800    return jspb.Message.getField(this, 1) != null;
  4801  };
  4802  
  4803  
  4804  /**
  4805   * repeated MethodDescriptorProto method = 2;
  4806   * @return {!Array<!proto.google.protobuf.MethodDescriptorProto>}
  4807   */
  4808  proto.google.protobuf.ServiceDescriptorProto.prototype.getMethodList = function() {
  4809    return /** @type{!Array<!proto.google.protobuf.MethodDescriptorProto>} */ (
  4810      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.MethodDescriptorProto, 2));
  4811  };
  4812  
  4813  
  4814  /**
  4815   * @param {!Array<!proto.google.protobuf.MethodDescriptorProto>} value
  4816   * @return {!proto.google.protobuf.ServiceDescriptorProto} returns this
  4817  */
  4818  proto.google.protobuf.ServiceDescriptorProto.prototype.setMethodList = function(value) {
  4819    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  4820  };
  4821  
  4822  
  4823  /**
  4824   * @param {!proto.google.protobuf.MethodDescriptorProto=} opt_value
  4825   * @param {number=} opt_index
  4826   * @return {!proto.google.protobuf.MethodDescriptorProto}
  4827   */
  4828  proto.google.protobuf.ServiceDescriptorProto.prototype.addMethod = function(opt_value, opt_index) {
  4829    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.google.protobuf.MethodDescriptorProto, opt_index);
  4830  };
  4831  
  4832  
  4833  /**
  4834   * Clears the list making it empty but non-null.
  4835   * @return {!proto.google.protobuf.ServiceDescriptorProto} returns this
  4836   */
  4837  proto.google.protobuf.ServiceDescriptorProto.prototype.clearMethodList = function() {
  4838    return this.setMethodList([]);
  4839  };
  4840  
  4841  
  4842  /**
  4843   * optional ServiceOptions options = 3;
  4844   * @return {?proto.google.protobuf.ServiceOptions}
  4845   */
  4846  proto.google.protobuf.ServiceDescriptorProto.prototype.getOptions = function() {
  4847    return /** @type{?proto.google.protobuf.ServiceOptions} */ (
  4848      jspb.Message.getWrapperField(this, proto.google.protobuf.ServiceOptions, 3));
  4849  };
  4850  
  4851  
  4852  /**
  4853   * @param {?proto.google.protobuf.ServiceOptions|undefined} value
  4854   * @return {!proto.google.protobuf.ServiceDescriptorProto} returns this
  4855  */
  4856  proto.google.protobuf.ServiceDescriptorProto.prototype.setOptions = function(value) {
  4857    return jspb.Message.setWrapperField(this, 3, value);
  4858  };
  4859  
  4860  
  4861  /**
  4862   * Clears the message field making it undefined.
  4863   * @return {!proto.google.protobuf.ServiceDescriptorProto} returns this
  4864   */
  4865  proto.google.protobuf.ServiceDescriptorProto.prototype.clearOptions = function() {
  4866    return this.setOptions(undefined);
  4867  };
  4868  
  4869  
  4870  /**
  4871   * Returns whether this field is set.
  4872   * @return {boolean}
  4873   */
  4874  proto.google.protobuf.ServiceDescriptorProto.prototype.hasOptions = function() {
  4875    return jspb.Message.getField(this, 3) != null;
  4876  };
  4877  
  4878  
  4879  
  4880  
  4881  
  4882  if (jspb.Message.GENERATE_TO_OBJECT) {
  4883  /**
  4884   * Creates an object representation of this proto.
  4885   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  4886   * Optional fields that are not set will be set to undefined.
  4887   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  4888   * For the list of reserved names please see:
  4889   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  4890   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  4891   *     JSPB instance for transitional soy proto support:
  4892   *     http://goto/soy-param-migration
  4893   * @return {!Object}
  4894   */
  4895  proto.google.protobuf.MethodDescriptorProto.prototype.toObject = function(opt_includeInstance) {
  4896    return proto.google.protobuf.MethodDescriptorProto.toObject(opt_includeInstance, this);
  4897  };
  4898  
  4899  
  4900  /**
  4901   * Static version of the {@see toObject} method.
  4902   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  4903   *     the JSPB instance for transitional soy proto support:
  4904   *     http://goto/soy-param-migration
  4905   * @param {!proto.google.protobuf.MethodDescriptorProto} msg The msg instance to transform.
  4906   * @return {!Object}
  4907   * @suppress {unusedLocalVariables} f is only used for nested messages
  4908   */
  4909  proto.google.protobuf.MethodDescriptorProto.toObject = function(includeInstance, msg) {
  4910    var f, obj = {
  4911      name: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  4912      inputType: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
  4913      outputType: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
  4914      options: (f = msg.getOptions()) && proto.google.protobuf.MethodOptions.toObject(includeInstance, f),
  4915      clientStreaming: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
  4916      serverStreaming: jspb.Message.getBooleanFieldWithDefault(msg, 6, false)
  4917    };
  4918  
  4919    if (includeInstance) {
  4920      obj.$jspbMessageInstance = msg;
  4921    }
  4922    return obj;
  4923  };
  4924  }
  4925  
  4926  
  4927  /**
  4928   * Deserializes binary data (in protobuf wire format).
  4929   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  4930   * @return {!proto.google.protobuf.MethodDescriptorProto}
  4931   */
  4932  proto.google.protobuf.MethodDescriptorProto.deserializeBinary = function(bytes) {
  4933    var reader = new jspb.BinaryReader(bytes);
  4934    var msg = new proto.google.protobuf.MethodDescriptorProto;
  4935    return proto.google.protobuf.MethodDescriptorProto.deserializeBinaryFromReader(msg, reader);
  4936  };
  4937  
  4938  
  4939  /**
  4940   * Deserializes binary data (in protobuf wire format) from the
  4941   * given reader into the given message object.
  4942   * @param {!proto.google.protobuf.MethodDescriptorProto} msg The message object to deserialize into.
  4943   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  4944   * @return {!proto.google.protobuf.MethodDescriptorProto}
  4945   */
  4946  proto.google.protobuf.MethodDescriptorProto.deserializeBinaryFromReader = function(msg, reader) {
  4947    while (reader.nextField()) {
  4948      if (reader.isEndGroup()) {
  4949        break;
  4950      }
  4951      var field = reader.getFieldNumber();
  4952      switch (field) {
  4953      case 1:
  4954        var value = /** @type {string} */ (reader.readString());
  4955        msg.setName(value);
  4956        break;
  4957      case 2:
  4958        var value = /** @type {string} */ (reader.readString());
  4959        msg.setInputType(value);
  4960        break;
  4961      case 3:
  4962        var value = /** @type {string} */ (reader.readString());
  4963        msg.setOutputType(value);
  4964        break;
  4965      case 4:
  4966        var value = new proto.google.protobuf.MethodOptions;
  4967        reader.readMessage(value,proto.google.protobuf.MethodOptions.deserializeBinaryFromReader);
  4968        msg.setOptions(value);
  4969        break;
  4970      case 5:
  4971        var value = /** @type {boolean} */ (reader.readBool());
  4972        msg.setClientStreaming(value);
  4973        break;
  4974      case 6:
  4975        var value = /** @type {boolean} */ (reader.readBool());
  4976        msg.setServerStreaming(value);
  4977        break;
  4978      default:
  4979        reader.skipField();
  4980        break;
  4981      }
  4982    }
  4983    return msg;
  4984  };
  4985  
  4986  
  4987  /**
  4988   * Serializes the message to binary data (in protobuf wire format).
  4989   * @return {!Uint8Array}
  4990   */
  4991  proto.google.protobuf.MethodDescriptorProto.prototype.serializeBinary = function() {
  4992    var writer = new jspb.BinaryWriter();
  4993    proto.google.protobuf.MethodDescriptorProto.serializeBinaryToWriter(this, writer);
  4994    return writer.getResultBuffer();
  4995  };
  4996  
  4997  
  4998  /**
  4999   * Serializes the given message to binary data (in protobuf wire
  5000   * format), writing to the given BinaryWriter.
  5001   * @param {!proto.google.protobuf.MethodDescriptorProto} message
  5002   * @param {!jspb.BinaryWriter} writer
  5003   * @suppress {unusedLocalVariables} f is only used for nested messages
  5004   */
  5005  proto.google.protobuf.MethodDescriptorProto.serializeBinaryToWriter = function(message, writer) {
  5006    var f = undefined;
  5007    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  5008    if (f != null) {
  5009      writer.writeString(
  5010        1,
  5011        f
  5012      );
  5013    }
  5014    f = /** @type {string} */ (jspb.Message.getField(message, 2));
  5015    if (f != null) {
  5016      writer.writeString(
  5017        2,
  5018        f
  5019      );
  5020    }
  5021    f = /** @type {string} */ (jspb.Message.getField(message, 3));
  5022    if (f != null) {
  5023      writer.writeString(
  5024        3,
  5025        f
  5026      );
  5027    }
  5028    f = message.getOptions();
  5029    if (f != null) {
  5030      writer.writeMessage(
  5031        4,
  5032        f,
  5033        proto.google.protobuf.MethodOptions.serializeBinaryToWriter
  5034      );
  5035    }
  5036    f = /** @type {boolean} */ (jspb.Message.getField(message, 5));
  5037    if (f != null) {
  5038      writer.writeBool(
  5039        5,
  5040        f
  5041      );
  5042    }
  5043    f = /** @type {boolean} */ (jspb.Message.getField(message, 6));
  5044    if (f != null) {
  5045      writer.writeBool(
  5046        6,
  5047        f
  5048      );
  5049    }
  5050  };
  5051  
  5052  
  5053  /**
  5054   * optional string name = 1;
  5055   * @return {string}
  5056   */
  5057  proto.google.protobuf.MethodDescriptorProto.prototype.getName = function() {
  5058    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  5059  };
  5060  
  5061  
  5062  /**
  5063   * @param {string} value
  5064   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5065   */
  5066  proto.google.protobuf.MethodDescriptorProto.prototype.setName = function(value) {
  5067    return jspb.Message.setField(this, 1, value);
  5068  };
  5069  
  5070  
  5071  /**
  5072   * Clears the field making it undefined.
  5073   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5074   */
  5075  proto.google.protobuf.MethodDescriptorProto.prototype.clearName = function() {
  5076    return jspb.Message.setField(this, 1, undefined);
  5077  };
  5078  
  5079  
  5080  /**
  5081   * Returns whether this field is set.
  5082   * @return {boolean}
  5083   */
  5084  proto.google.protobuf.MethodDescriptorProto.prototype.hasName = function() {
  5085    return jspb.Message.getField(this, 1) != null;
  5086  };
  5087  
  5088  
  5089  /**
  5090   * optional string input_type = 2;
  5091   * @return {string}
  5092   */
  5093  proto.google.protobuf.MethodDescriptorProto.prototype.getInputType = function() {
  5094    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  5095  };
  5096  
  5097  
  5098  /**
  5099   * @param {string} value
  5100   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5101   */
  5102  proto.google.protobuf.MethodDescriptorProto.prototype.setInputType = function(value) {
  5103    return jspb.Message.setField(this, 2, value);
  5104  };
  5105  
  5106  
  5107  /**
  5108   * Clears the field making it undefined.
  5109   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5110   */
  5111  proto.google.protobuf.MethodDescriptorProto.prototype.clearInputType = function() {
  5112    return jspb.Message.setField(this, 2, undefined);
  5113  };
  5114  
  5115  
  5116  /**
  5117   * Returns whether this field is set.
  5118   * @return {boolean}
  5119   */
  5120  proto.google.protobuf.MethodDescriptorProto.prototype.hasInputType = function() {
  5121    return jspb.Message.getField(this, 2) != null;
  5122  };
  5123  
  5124  
  5125  /**
  5126   * optional string output_type = 3;
  5127   * @return {string}
  5128   */
  5129  proto.google.protobuf.MethodDescriptorProto.prototype.getOutputType = function() {
  5130    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  5131  };
  5132  
  5133  
  5134  /**
  5135   * @param {string} value
  5136   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5137   */
  5138  proto.google.protobuf.MethodDescriptorProto.prototype.setOutputType = function(value) {
  5139    return jspb.Message.setField(this, 3, value);
  5140  };
  5141  
  5142  
  5143  /**
  5144   * Clears the field making it undefined.
  5145   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5146   */
  5147  proto.google.protobuf.MethodDescriptorProto.prototype.clearOutputType = function() {
  5148    return jspb.Message.setField(this, 3, undefined);
  5149  };
  5150  
  5151  
  5152  /**
  5153   * Returns whether this field is set.
  5154   * @return {boolean}
  5155   */
  5156  proto.google.protobuf.MethodDescriptorProto.prototype.hasOutputType = function() {
  5157    return jspb.Message.getField(this, 3) != null;
  5158  };
  5159  
  5160  
  5161  /**
  5162   * optional MethodOptions options = 4;
  5163   * @return {?proto.google.protobuf.MethodOptions}
  5164   */
  5165  proto.google.protobuf.MethodDescriptorProto.prototype.getOptions = function() {
  5166    return /** @type{?proto.google.protobuf.MethodOptions} */ (
  5167      jspb.Message.getWrapperField(this, proto.google.protobuf.MethodOptions, 4));
  5168  };
  5169  
  5170  
  5171  /**
  5172   * @param {?proto.google.protobuf.MethodOptions|undefined} value
  5173   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5174  */
  5175  proto.google.protobuf.MethodDescriptorProto.prototype.setOptions = function(value) {
  5176    return jspb.Message.setWrapperField(this, 4, value);
  5177  };
  5178  
  5179  
  5180  /**
  5181   * Clears the message field making it undefined.
  5182   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5183   */
  5184  proto.google.protobuf.MethodDescriptorProto.prototype.clearOptions = function() {
  5185    return this.setOptions(undefined);
  5186  };
  5187  
  5188  
  5189  /**
  5190   * Returns whether this field is set.
  5191   * @return {boolean}
  5192   */
  5193  proto.google.protobuf.MethodDescriptorProto.prototype.hasOptions = function() {
  5194    return jspb.Message.getField(this, 4) != null;
  5195  };
  5196  
  5197  
  5198  /**
  5199   * optional bool client_streaming = 5;
  5200   * @return {boolean}
  5201   */
  5202  proto.google.protobuf.MethodDescriptorProto.prototype.getClientStreaming = function() {
  5203    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
  5204  };
  5205  
  5206  
  5207  /**
  5208   * @param {boolean} value
  5209   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5210   */
  5211  proto.google.protobuf.MethodDescriptorProto.prototype.setClientStreaming = function(value) {
  5212    return jspb.Message.setField(this, 5, value);
  5213  };
  5214  
  5215  
  5216  /**
  5217   * Clears the field making it undefined.
  5218   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5219   */
  5220  proto.google.protobuf.MethodDescriptorProto.prototype.clearClientStreaming = function() {
  5221    return jspb.Message.setField(this, 5, undefined);
  5222  };
  5223  
  5224  
  5225  /**
  5226   * Returns whether this field is set.
  5227   * @return {boolean}
  5228   */
  5229  proto.google.protobuf.MethodDescriptorProto.prototype.hasClientStreaming = function() {
  5230    return jspb.Message.getField(this, 5) != null;
  5231  };
  5232  
  5233  
  5234  /**
  5235   * optional bool server_streaming = 6;
  5236   * @return {boolean}
  5237   */
  5238  proto.google.protobuf.MethodDescriptorProto.prototype.getServerStreaming = function() {
  5239    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 6, false));
  5240  };
  5241  
  5242  
  5243  /**
  5244   * @param {boolean} value
  5245   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5246   */
  5247  proto.google.protobuf.MethodDescriptorProto.prototype.setServerStreaming = function(value) {
  5248    return jspb.Message.setField(this, 6, value);
  5249  };
  5250  
  5251  
  5252  /**
  5253   * Clears the field making it undefined.
  5254   * @return {!proto.google.protobuf.MethodDescriptorProto} returns this
  5255   */
  5256  proto.google.protobuf.MethodDescriptorProto.prototype.clearServerStreaming = function() {
  5257    return jspb.Message.setField(this, 6, undefined);
  5258  };
  5259  
  5260  
  5261  /**
  5262   * Returns whether this field is set.
  5263   * @return {boolean}
  5264   */
  5265  proto.google.protobuf.MethodDescriptorProto.prototype.hasServerStreaming = function() {
  5266    return jspb.Message.getField(this, 6) != null;
  5267  };
  5268  
  5269  
  5270  
  5271  /**
  5272   * List of repeated fields within this message type.
  5273   * @private {!Array<number>}
  5274   * @const
  5275   */
  5276  proto.google.protobuf.FileOptions.repeatedFields_ = [999];
  5277  
  5278  
  5279  
  5280  if (jspb.Message.GENERATE_TO_OBJECT) {
  5281  /**
  5282   * Creates an object representation of this proto.
  5283   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  5284   * Optional fields that are not set will be set to undefined.
  5285   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  5286   * For the list of reserved names please see:
  5287   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  5288   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  5289   *     JSPB instance for transitional soy proto support:
  5290   *     http://goto/soy-param-migration
  5291   * @return {!Object}
  5292   */
  5293  proto.google.protobuf.FileOptions.prototype.toObject = function(opt_includeInstance) {
  5294    return proto.google.protobuf.FileOptions.toObject(opt_includeInstance, this);
  5295  };
  5296  
  5297  
  5298  /**
  5299   * Static version of the {@see toObject} method.
  5300   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  5301   *     the JSPB instance for transitional soy proto support:
  5302   *     http://goto/soy-param-migration
  5303   * @param {!proto.google.protobuf.FileOptions} msg The msg instance to transform.
  5304   * @return {!Object}
  5305   * @suppress {unusedLocalVariables} f is only used for nested messages
  5306   */
  5307  proto.google.protobuf.FileOptions.toObject = function(includeInstance, msg) {
  5308    var f, obj = {
  5309      javaPackage: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  5310      javaOuterClassname: (f = jspb.Message.getField(msg, 8)) == null ? undefined : f,
  5311      javaMultipleFiles: jspb.Message.getBooleanFieldWithDefault(msg, 10, false),
  5312      javaGenerateEqualsAndHash: (f = jspb.Message.getBooleanField(msg, 20)) == null ? undefined : f,
  5313      javaStringCheckUtf8: jspb.Message.getBooleanFieldWithDefault(msg, 27, false),
  5314      optimizeFor: jspb.Message.getFieldWithDefault(msg, 9, 1),
  5315      goPackage: (f = jspb.Message.getField(msg, 11)) == null ? undefined : f,
  5316      ccGenericServices: jspb.Message.getBooleanFieldWithDefault(msg, 16, false),
  5317      javaGenericServices: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),
  5318      pyGenericServices: jspb.Message.getBooleanFieldWithDefault(msg, 18, false),
  5319      phpGenericServices: jspb.Message.getBooleanFieldWithDefault(msg, 42, false),
  5320      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 23, false),
  5321      ccEnableArenas: jspb.Message.getBooleanFieldWithDefault(msg, 31, false),
  5322      objcClassPrefix: (f = jspb.Message.getField(msg, 36)) == null ? undefined : f,
  5323      csharpNamespace: (f = jspb.Message.getField(msg, 37)) == null ? undefined : f,
  5324      swiftPrefix: (f = jspb.Message.getField(msg, 39)) == null ? undefined : f,
  5325      phpClassPrefix: (f = jspb.Message.getField(msg, 40)) == null ? undefined : f,
  5326      phpNamespace: (f = jspb.Message.getField(msg, 41)) == null ? undefined : f,
  5327      phpMetadataNamespace: (f = jspb.Message.getField(msg, 44)) == null ? undefined : f,
  5328      rubyPackage: (f = jspb.Message.getField(msg, 45)) == null ? undefined : f,
  5329      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  5330      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  5331    };
  5332  
  5333    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  5334        proto.google.protobuf.FileOptions.extensions, proto.google.protobuf.FileOptions.prototype.getExtension,
  5335        includeInstance);
  5336    if (includeInstance) {
  5337      obj.$jspbMessageInstance = msg;
  5338    }
  5339    return obj;
  5340  };
  5341  }
  5342  
  5343  
  5344  /**
  5345   * Deserializes binary data (in protobuf wire format).
  5346   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  5347   * @return {!proto.google.protobuf.FileOptions}
  5348   */
  5349  proto.google.protobuf.FileOptions.deserializeBinary = function(bytes) {
  5350    var reader = new jspb.BinaryReader(bytes);
  5351    var msg = new proto.google.protobuf.FileOptions;
  5352    return proto.google.protobuf.FileOptions.deserializeBinaryFromReader(msg, reader);
  5353  };
  5354  
  5355  
  5356  /**
  5357   * Deserializes binary data (in protobuf wire format) from the
  5358   * given reader into the given message object.
  5359   * @param {!proto.google.protobuf.FileOptions} msg The message object to deserialize into.
  5360   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  5361   * @return {!proto.google.protobuf.FileOptions}
  5362   */
  5363  proto.google.protobuf.FileOptions.deserializeBinaryFromReader = function(msg, reader) {
  5364    while (reader.nextField()) {
  5365      if (reader.isEndGroup()) {
  5366        break;
  5367      }
  5368      var field = reader.getFieldNumber();
  5369      switch (field) {
  5370      case 1:
  5371        var value = /** @type {string} */ (reader.readString());
  5372        msg.setJavaPackage(value);
  5373        break;
  5374      case 8:
  5375        var value = /** @type {string} */ (reader.readString());
  5376        msg.setJavaOuterClassname(value);
  5377        break;
  5378      case 10:
  5379        var value = /** @type {boolean} */ (reader.readBool());
  5380        msg.setJavaMultipleFiles(value);
  5381        break;
  5382      case 20:
  5383        var value = /** @type {boolean} */ (reader.readBool());
  5384        msg.setJavaGenerateEqualsAndHash(value);
  5385        break;
  5386      case 27:
  5387        var value = /** @type {boolean} */ (reader.readBool());
  5388        msg.setJavaStringCheckUtf8(value);
  5389        break;
  5390      case 9:
  5391        var value = /** @type {!proto.google.protobuf.FileOptions.OptimizeMode} */ (reader.readEnum());
  5392        msg.setOptimizeFor(value);
  5393        break;
  5394      case 11:
  5395        var value = /** @type {string} */ (reader.readString());
  5396        msg.setGoPackage(value);
  5397        break;
  5398      case 16:
  5399        var value = /** @type {boolean} */ (reader.readBool());
  5400        msg.setCcGenericServices(value);
  5401        break;
  5402      case 17:
  5403        var value = /** @type {boolean} */ (reader.readBool());
  5404        msg.setJavaGenericServices(value);
  5405        break;
  5406      case 18:
  5407        var value = /** @type {boolean} */ (reader.readBool());
  5408        msg.setPyGenericServices(value);
  5409        break;
  5410      case 42:
  5411        var value = /** @type {boolean} */ (reader.readBool());
  5412        msg.setPhpGenericServices(value);
  5413        break;
  5414      case 23:
  5415        var value = /** @type {boolean} */ (reader.readBool());
  5416        msg.setDeprecated(value);
  5417        break;
  5418      case 31:
  5419        var value = /** @type {boolean} */ (reader.readBool());
  5420        msg.setCcEnableArenas(value);
  5421        break;
  5422      case 36:
  5423        var value = /** @type {string} */ (reader.readString());
  5424        msg.setObjcClassPrefix(value);
  5425        break;
  5426      case 37:
  5427        var value = /** @type {string} */ (reader.readString());
  5428        msg.setCsharpNamespace(value);
  5429        break;
  5430      case 39:
  5431        var value = /** @type {string} */ (reader.readString());
  5432        msg.setSwiftPrefix(value);
  5433        break;
  5434      case 40:
  5435        var value = /** @type {string} */ (reader.readString());
  5436        msg.setPhpClassPrefix(value);
  5437        break;
  5438      case 41:
  5439        var value = /** @type {string} */ (reader.readString());
  5440        msg.setPhpNamespace(value);
  5441        break;
  5442      case 44:
  5443        var value = /** @type {string} */ (reader.readString());
  5444        msg.setPhpMetadataNamespace(value);
  5445        break;
  5446      case 45:
  5447        var value = /** @type {string} */ (reader.readString());
  5448        msg.setRubyPackage(value);
  5449        break;
  5450      case 999:
  5451        var value = new proto.google.protobuf.UninterpretedOption;
  5452        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  5453        msg.addUninterpretedOption(value);
  5454        break;
  5455      default:
  5456        jspb.Message.readBinaryExtension(msg, reader,
  5457          proto.google.protobuf.FileOptions.extensionsBinary,
  5458          proto.google.protobuf.FileOptions.prototype.getExtension,
  5459          proto.google.protobuf.FileOptions.prototype.setExtension);
  5460        break;
  5461      }
  5462    }
  5463    return msg;
  5464  };
  5465  
  5466  
  5467  /**
  5468   * Serializes the message to binary data (in protobuf wire format).
  5469   * @return {!Uint8Array}
  5470   */
  5471  proto.google.protobuf.FileOptions.prototype.serializeBinary = function() {
  5472    var writer = new jspb.BinaryWriter();
  5473    proto.google.protobuf.FileOptions.serializeBinaryToWriter(this, writer);
  5474    return writer.getResultBuffer();
  5475  };
  5476  
  5477  
  5478  /**
  5479   * Serializes the given message to binary data (in protobuf wire
  5480   * format), writing to the given BinaryWriter.
  5481   * @param {!proto.google.protobuf.FileOptions} message
  5482   * @param {!jspb.BinaryWriter} writer
  5483   * @suppress {unusedLocalVariables} f is only used for nested messages
  5484   */
  5485  proto.google.protobuf.FileOptions.serializeBinaryToWriter = function(message, writer) {
  5486    var f = undefined;
  5487    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  5488    if (f != null) {
  5489      writer.writeString(
  5490        1,
  5491        f
  5492      );
  5493    }
  5494    f = /** @type {string} */ (jspb.Message.getField(message, 8));
  5495    if (f != null) {
  5496      writer.writeString(
  5497        8,
  5498        f
  5499      );
  5500    }
  5501    f = /** @type {boolean} */ (jspb.Message.getField(message, 10));
  5502    if (f != null) {
  5503      writer.writeBool(
  5504        10,
  5505        f
  5506      );
  5507    }
  5508    f = /** @type {boolean} */ (jspb.Message.getField(message, 20));
  5509    if (f != null) {
  5510      writer.writeBool(
  5511        20,
  5512        f
  5513      );
  5514    }
  5515    f = /** @type {boolean} */ (jspb.Message.getField(message, 27));
  5516    if (f != null) {
  5517      writer.writeBool(
  5518        27,
  5519        f
  5520      );
  5521    }
  5522    f = /** @type {!proto.google.protobuf.FileOptions.OptimizeMode} */ (jspb.Message.getField(message, 9));
  5523    if (f != null) {
  5524      writer.writeEnum(
  5525        9,
  5526        f
  5527      );
  5528    }
  5529    f = /** @type {string} */ (jspb.Message.getField(message, 11));
  5530    if (f != null) {
  5531      writer.writeString(
  5532        11,
  5533        f
  5534      );
  5535    }
  5536    f = /** @type {boolean} */ (jspb.Message.getField(message, 16));
  5537    if (f != null) {
  5538      writer.writeBool(
  5539        16,
  5540        f
  5541      );
  5542    }
  5543    f = /** @type {boolean} */ (jspb.Message.getField(message, 17));
  5544    if (f != null) {
  5545      writer.writeBool(
  5546        17,
  5547        f
  5548      );
  5549    }
  5550    f = /** @type {boolean} */ (jspb.Message.getField(message, 18));
  5551    if (f != null) {
  5552      writer.writeBool(
  5553        18,
  5554        f
  5555      );
  5556    }
  5557    f = /** @type {boolean} */ (jspb.Message.getField(message, 42));
  5558    if (f != null) {
  5559      writer.writeBool(
  5560        42,
  5561        f
  5562      );
  5563    }
  5564    f = /** @type {boolean} */ (jspb.Message.getField(message, 23));
  5565    if (f != null) {
  5566      writer.writeBool(
  5567        23,
  5568        f
  5569      );
  5570    }
  5571    f = /** @type {boolean} */ (jspb.Message.getField(message, 31));
  5572    if (f != null) {
  5573      writer.writeBool(
  5574        31,
  5575        f
  5576      );
  5577    }
  5578    f = /** @type {string} */ (jspb.Message.getField(message, 36));
  5579    if (f != null) {
  5580      writer.writeString(
  5581        36,
  5582        f
  5583      );
  5584    }
  5585    f = /** @type {string} */ (jspb.Message.getField(message, 37));
  5586    if (f != null) {
  5587      writer.writeString(
  5588        37,
  5589        f
  5590      );
  5591    }
  5592    f = /** @type {string} */ (jspb.Message.getField(message, 39));
  5593    if (f != null) {
  5594      writer.writeString(
  5595        39,
  5596        f
  5597      );
  5598    }
  5599    f = /** @type {string} */ (jspb.Message.getField(message, 40));
  5600    if (f != null) {
  5601      writer.writeString(
  5602        40,
  5603        f
  5604      );
  5605    }
  5606    f = /** @type {string} */ (jspb.Message.getField(message, 41));
  5607    if (f != null) {
  5608      writer.writeString(
  5609        41,
  5610        f
  5611      );
  5612    }
  5613    f = /** @type {string} */ (jspb.Message.getField(message, 44));
  5614    if (f != null) {
  5615      writer.writeString(
  5616        44,
  5617        f
  5618      );
  5619    }
  5620    f = /** @type {string} */ (jspb.Message.getField(message, 45));
  5621    if (f != null) {
  5622      writer.writeString(
  5623        45,
  5624        f
  5625      );
  5626    }
  5627    f = message.getUninterpretedOptionList();
  5628    if (f.length > 0) {
  5629      writer.writeRepeatedMessage(
  5630        999,
  5631        f,
  5632        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  5633      );
  5634    }
  5635    jspb.Message.serializeBinaryExtensions(message, writer,
  5636      proto.google.protobuf.FileOptions.extensionsBinary, proto.google.protobuf.FileOptions.prototype.getExtension);
  5637  };
  5638  
  5639  
  5640  /**
  5641   * @enum {number}
  5642   */
  5643  proto.google.protobuf.FileOptions.OptimizeMode = {
  5644    SPEED: 1,
  5645    CODE_SIZE: 2,
  5646    LITE_RUNTIME: 3
  5647  };
  5648  
  5649  /**
  5650   * optional string java_package = 1;
  5651   * @return {string}
  5652   */
  5653  proto.google.protobuf.FileOptions.prototype.getJavaPackage = function() {
  5654    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  5655  };
  5656  
  5657  
  5658  /**
  5659   * @param {string} value
  5660   * @return {!proto.google.protobuf.FileOptions} returns this
  5661   */
  5662  proto.google.protobuf.FileOptions.prototype.setJavaPackage = function(value) {
  5663    return jspb.Message.setField(this, 1, value);
  5664  };
  5665  
  5666  
  5667  /**
  5668   * Clears the field making it undefined.
  5669   * @return {!proto.google.protobuf.FileOptions} returns this
  5670   */
  5671  proto.google.protobuf.FileOptions.prototype.clearJavaPackage = function() {
  5672    return jspb.Message.setField(this, 1, undefined);
  5673  };
  5674  
  5675  
  5676  /**
  5677   * Returns whether this field is set.
  5678   * @return {boolean}
  5679   */
  5680  proto.google.protobuf.FileOptions.prototype.hasJavaPackage = function() {
  5681    return jspb.Message.getField(this, 1) != null;
  5682  };
  5683  
  5684  
  5685  /**
  5686   * optional string java_outer_classname = 8;
  5687   * @return {string}
  5688   */
  5689  proto.google.protobuf.FileOptions.prototype.getJavaOuterClassname = function() {
  5690    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
  5691  };
  5692  
  5693  
  5694  /**
  5695   * @param {string} value
  5696   * @return {!proto.google.protobuf.FileOptions} returns this
  5697   */
  5698  proto.google.protobuf.FileOptions.prototype.setJavaOuterClassname = function(value) {
  5699    return jspb.Message.setField(this, 8, value);
  5700  };
  5701  
  5702  
  5703  /**
  5704   * Clears the field making it undefined.
  5705   * @return {!proto.google.protobuf.FileOptions} returns this
  5706   */
  5707  proto.google.protobuf.FileOptions.prototype.clearJavaOuterClassname = function() {
  5708    return jspb.Message.setField(this, 8, undefined);
  5709  };
  5710  
  5711  
  5712  /**
  5713   * Returns whether this field is set.
  5714   * @return {boolean}
  5715   */
  5716  proto.google.protobuf.FileOptions.prototype.hasJavaOuterClassname = function() {
  5717    return jspb.Message.getField(this, 8) != null;
  5718  };
  5719  
  5720  
  5721  /**
  5722   * optional bool java_multiple_files = 10;
  5723   * @return {boolean}
  5724   */
  5725  proto.google.protobuf.FileOptions.prototype.getJavaMultipleFiles = function() {
  5726    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));
  5727  };
  5728  
  5729  
  5730  /**
  5731   * @param {boolean} value
  5732   * @return {!proto.google.protobuf.FileOptions} returns this
  5733   */
  5734  proto.google.protobuf.FileOptions.prototype.setJavaMultipleFiles = function(value) {
  5735    return jspb.Message.setField(this, 10, value);
  5736  };
  5737  
  5738  
  5739  /**
  5740   * Clears the field making it undefined.
  5741   * @return {!proto.google.protobuf.FileOptions} returns this
  5742   */
  5743  proto.google.protobuf.FileOptions.prototype.clearJavaMultipleFiles = function() {
  5744    return jspb.Message.setField(this, 10, undefined);
  5745  };
  5746  
  5747  
  5748  /**
  5749   * Returns whether this field is set.
  5750   * @return {boolean}
  5751   */
  5752  proto.google.protobuf.FileOptions.prototype.hasJavaMultipleFiles = function() {
  5753    return jspb.Message.getField(this, 10) != null;
  5754  };
  5755  
  5756  
  5757  /**
  5758   * optional bool java_generate_equals_and_hash = 20;
  5759   * @return {boolean}
  5760   */
  5761  proto.google.protobuf.FileOptions.prototype.getJavaGenerateEqualsAndHash = function() {
  5762    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 20, false));
  5763  };
  5764  
  5765  
  5766  /**
  5767   * @param {boolean} value
  5768   * @return {!proto.google.protobuf.FileOptions} returns this
  5769   */
  5770  proto.google.protobuf.FileOptions.prototype.setJavaGenerateEqualsAndHash = function(value) {
  5771    return jspb.Message.setField(this, 20, value);
  5772  };
  5773  
  5774  
  5775  /**
  5776   * Clears the field making it undefined.
  5777   * @return {!proto.google.protobuf.FileOptions} returns this
  5778   */
  5779  proto.google.protobuf.FileOptions.prototype.clearJavaGenerateEqualsAndHash = function() {
  5780    return jspb.Message.setField(this, 20, undefined);
  5781  };
  5782  
  5783  
  5784  /**
  5785   * Returns whether this field is set.
  5786   * @return {boolean}
  5787   */
  5788  proto.google.protobuf.FileOptions.prototype.hasJavaGenerateEqualsAndHash = function() {
  5789    return jspb.Message.getField(this, 20) != null;
  5790  };
  5791  
  5792  
  5793  /**
  5794   * optional bool java_string_check_utf8 = 27;
  5795   * @return {boolean}
  5796   */
  5797  proto.google.protobuf.FileOptions.prototype.getJavaStringCheckUtf8 = function() {
  5798    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 27, false));
  5799  };
  5800  
  5801  
  5802  /**
  5803   * @param {boolean} value
  5804   * @return {!proto.google.protobuf.FileOptions} returns this
  5805   */
  5806  proto.google.protobuf.FileOptions.prototype.setJavaStringCheckUtf8 = function(value) {
  5807    return jspb.Message.setField(this, 27, value);
  5808  };
  5809  
  5810  
  5811  /**
  5812   * Clears the field making it undefined.
  5813   * @return {!proto.google.protobuf.FileOptions} returns this
  5814   */
  5815  proto.google.protobuf.FileOptions.prototype.clearJavaStringCheckUtf8 = function() {
  5816    return jspb.Message.setField(this, 27, undefined);
  5817  };
  5818  
  5819  
  5820  /**
  5821   * Returns whether this field is set.
  5822   * @return {boolean}
  5823   */
  5824  proto.google.protobuf.FileOptions.prototype.hasJavaStringCheckUtf8 = function() {
  5825    return jspb.Message.getField(this, 27) != null;
  5826  };
  5827  
  5828  
  5829  /**
  5830   * optional OptimizeMode optimize_for = 9;
  5831   * @return {!proto.google.protobuf.FileOptions.OptimizeMode}
  5832   */
  5833  proto.google.protobuf.FileOptions.prototype.getOptimizeFor = function() {
  5834    return /** @type {!proto.google.protobuf.FileOptions.OptimizeMode} */ (jspb.Message.getFieldWithDefault(this, 9, 1));
  5835  };
  5836  
  5837  
  5838  /**
  5839   * @param {!proto.google.protobuf.FileOptions.OptimizeMode} value
  5840   * @return {!proto.google.protobuf.FileOptions} returns this
  5841   */
  5842  proto.google.protobuf.FileOptions.prototype.setOptimizeFor = function(value) {
  5843    return jspb.Message.setField(this, 9, value);
  5844  };
  5845  
  5846  
  5847  /**
  5848   * Clears the field making it undefined.
  5849   * @return {!proto.google.protobuf.FileOptions} returns this
  5850   */
  5851  proto.google.protobuf.FileOptions.prototype.clearOptimizeFor = function() {
  5852    return jspb.Message.setField(this, 9, undefined);
  5853  };
  5854  
  5855  
  5856  /**
  5857   * Returns whether this field is set.
  5858   * @return {boolean}
  5859   */
  5860  proto.google.protobuf.FileOptions.prototype.hasOptimizeFor = function() {
  5861    return jspb.Message.getField(this, 9) != null;
  5862  };
  5863  
  5864  
  5865  /**
  5866   * optional string go_package = 11;
  5867   * @return {string}
  5868   */
  5869  proto.google.protobuf.FileOptions.prototype.getGoPackage = function() {
  5870    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
  5871  };
  5872  
  5873  
  5874  /**
  5875   * @param {string} value
  5876   * @return {!proto.google.protobuf.FileOptions} returns this
  5877   */
  5878  proto.google.protobuf.FileOptions.prototype.setGoPackage = function(value) {
  5879    return jspb.Message.setField(this, 11, value);
  5880  };
  5881  
  5882  
  5883  /**
  5884   * Clears the field making it undefined.
  5885   * @return {!proto.google.protobuf.FileOptions} returns this
  5886   */
  5887  proto.google.protobuf.FileOptions.prototype.clearGoPackage = function() {
  5888    return jspb.Message.setField(this, 11, undefined);
  5889  };
  5890  
  5891  
  5892  /**
  5893   * Returns whether this field is set.
  5894   * @return {boolean}
  5895   */
  5896  proto.google.protobuf.FileOptions.prototype.hasGoPackage = function() {
  5897    return jspb.Message.getField(this, 11) != null;
  5898  };
  5899  
  5900  
  5901  /**
  5902   * optional bool cc_generic_services = 16;
  5903   * @return {boolean}
  5904   */
  5905  proto.google.protobuf.FileOptions.prototype.getCcGenericServices = function() {
  5906    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 16, false));
  5907  };
  5908  
  5909  
  5910  /**
  5911   * @param {boolean} value
  5912   * @return {!proto.google.protobuf.FileOptions} returns this
  5913   */
  5914  proto.google.protobuf.FileOptions.prototype.setCcGenericServices = function(value) {
  5915    return jspb.Message.setField(this, 16, value);
  5916  };
  5917  
  5918  
  5919  /**
  5920   * Clears the field making it undefined.
  5921   * @return {!proto.google.protobuf.FileOptions} returns this
  5922   */
  5923  proto.google.protobuf.FileOptions.prototype.clearCcGenericServices = function() {
  5924    return jspb.Message.setField(this, 16, undefined);
  5925  };
  5926  
  5927  
  5928  /**
  5929   * Returns whether this field is set.
  5930   * @return {boolean}
  5931   */
  5932  proto.google.protobuf.FileOptions.prototype.hasCcGenericServices = function() {
  5933    return jspb.Message.getField(this, 16) != null;
  5934  };
  5935  
  5936  
  5937  /**
  5938   * optional bool java_generic_services = 17;
  5939   * @return {boolean}
  5940   */
  5941  proto.google.protobuf.FileOptions.prototype.getJavaGenericServices = function() {
  5942    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));
  5943  };
  5944  
  5945  
  5946  /**
  5947   * @param {boolean} value
  5948   * @return {!proto.google.protobuf.FileOptions} returns this
  5949   */
  5950  proto.google.protobuf.FileOptions.prototype.setJavaGenericServices = function(value) {
  5951    return jspb.Message.setField(this, 17, value);
  5952  };
  5953  
  5954  
  5955  /**
  5956   * Clears the field making it undefined.
  5957   * @return {!proto.google.protobuf.FileOptions} returns this
  5958   */
  5959  proto.google.protobuf.FileOptions.prototype.clearJavaGenericServices = function() {
  5960    return jspb.Message.setField(this, 17, undefined);
  5961  };
  5962  
  5963  
  5964  /**
  5965   * Returns whether this field is set.
  5966   * @return {boolean}
  5967   */
  5968  proto.google.protobuf.FileOptions.prototype.hasJavaGenericServices = function() {
  5969    return jspb.Message.getField(this, 17) != null;
  5970  };
  5971  
  5972  
  5973  /**
  5974   * optional bool py_generic_services = 18;
  5975   * @return {boolean}
  5976   */
  5977  proto.google.protobuf.FileOptions.prototype.getPyGenericServices = function() {
  5978    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 18, false));
  5979  };
  5980  
  5981  
  5982  /**
  5983   * @param {boolean} value
  5984   * @return {!proto.google.protobuf.FileOptions} returns this
  5985   */
  5986  proto.google.protobuf.FileOptions.prototype.setPyGenericServices = function(value) {
  5987    return jspb.Message.setField(this, 18, value);
  5988  };
  5989  
  5990  
  5991  /**
  5992   * Clears the field making it undefined.
  5993   * @return {!proto.google.protobuf.FileOptions} returns this
  5994   */
  5995  proto.google.protobuf.FileOptions.prototype.clearPyGenericServices = function() {
  5996    return jspb.Message.setField(this, 18, undefined);
  5997  };
  5998  
  5999  
  6000  /**
  6001   * Returns whether this field is set.
  6002   * @return {boolean}
  6003   */
  6004  proto.google.protobuf.FileOptions.prototype.hasPyGenericServices = function() {
  6005    return jspb.Message.getField(this, 18) != null;
  6006  };
  6007  
  6008  
  6009  /**
  6010   * optional bool php_generic_services = 42;
  6011   * @return {boolean}
  6012   */
  6013  proto.google.protobuf.FileOptions.prototype.getPhpGenericServices = function() {
  6014    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 42, false));
  6015  };
  6016  
  6017  
  6018  /**
  6019   * @param {boolean} value
  6020   * @return {!proto.google.protobuf.FileOptions} returns this
  6021   */
  6022  proto.google.protobuf.FileOptions.prototype.setPhpGenericServices = function(value) {
  6023    return jspb.Message.setField(this, 42, value);
  6024  };
  6025  
  6026  
  6027  /**
  6028   * Clears the field making it undefined.
  6029   * @return {!proto.google.protobuf.FileOptions} returns this
  6030   */
  6031  proto.google.protobuf.FileOptions.prototype.clearPhpGenericServices = function() {
  6032    return jspb.Message.setField(this, 42, undefined);
  6033  };
  6034  
  6035  
  6036  /**
  6037   * Returns whether this field is set.
  6038   * @return {boolean}
  6039   */
  6040  proto.google.protobuf.FileOptions.prototype.hasPhpGenericServices = function() {
  6041    return jspb.Message.getField(this, 42) != null;
  6042  };
  6043  
  6044  
  6045  /**
  6046   * optional bool deprecated = 23;
  6047   * @return {boolean}
  6048   */
  6049  proto.google.protobuf.FileOptions.prototype.getDeprecated = function() {
  6050    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 23, false));
  6051  };
  6052  
  6053  
  6054  /**
  6055   * @param {boolean} value
  6056   * @return {!proto.google.protobuf.FileOptions} returns this
  6057   */
  6058  proto.google.protobuf.FileOptions.prototype.setDeprecated = function(value) {
  6059    return jspb.Message.setField(this, 23, value);
  6060  };
  6061  
  6062  
  6063  /**
  6064   * Clears the field making it undefined.
  6065   * @return {!proto.google.protobuf.FileOptions} returns this
  6066   */
  6067  proto.google.protobuf.FileOptions.prototype.clearDeprecated = function() {
  6068    return jspb.Message.setField(this, 23, undefined);
  6069  };
  6070  
  6071  
  6072  /**
  6073   * Returns whether this field is set.
  6074   * @return {boolean}
  6075   */
  6076  proto.google.protobuf.FileOptions.prototype.hasDeprecated = function() {
  6077    return jspb.Message.getField(this, 23) != null;
  6078  };
  6079  
  6080  
  6081  /**
  6082   * optional bool cc_enable_arenas = 31;
  6083   * @return {boolean}
  6084   */
  6085  proto.google.protobuf.FileOptions.prototype.getCcEnableArenas = function() {
  6086    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 31, false));
  6087  };
  6088  
  6089  
  6090  /**
  6091   * @param {boolean} value
  6092   * @return {!proto.google.protobuf.FileOptions} returns this
  6093   */
  6094  proto.google.protobuf.FileOptions.prototype.setCcEnableArenas = function(value) {
  6095    return jspb.Message.setField(this, 31, value);
  6096  };
  6097  
  6098  
  6099  /**
  6100   * Clears the field making it undefined.
  6101   * @return {!proto.google.protobuf.FileOptions} returns this
  6102   */
  6103  proto.google.protobuf.FileOptions.prototype.clearCcEnableArenas = function() {
  6104    return jspb.Message.setField(this, 31, undefined);
  6105  };
  6106  
  6107  
  6108  /**
  6109   * Returns whether this field is set.
  6110   * @return {boolean}
  6111   */
  6112  proto.google.protobuf.FileOptions.prototype.hasCcEnableArenas = function() {
  6113    return jspb.Message.getField(this, 31) != null;
  6114  };
  6115  
  6116  
  6117  /**
  6118   * optional string objc_class_prefix = 36;
  6119   * @return {string}
  6120   */
  6121  proto.google.protobuf.FileOptions.prototype.getObjcClassPrefix = function() {
  6122    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 36, ""));
  6123  };
  6124  
  6125  
  6126  /**
  6127   * @param {string} value
  6128   * @return {!proto.google.protobuf.FileOptions} returns this
  6129   */
  6130  proto.google.protobuf.FileOptions.prototype.setObjcClassPrefix = function(value) {
  6131    return jspb.Message.setField(this, 36, value);
  6132  };
  6133  
  6134  
  6135  /**
  6136   * Clears the field making it undefined.
  6137   * @return {!proto.google.protobuf.FileOptions} returns this
  6138   */
  6139  proto.google.protobuf.FileOptions.prototype.clearObjcClassPrefix = function() {
  6140    return jspb.Message.setField(this, 36, undefined);
  6141  };
  6142  
  6143  
  6144  /**
  6145   * Returns whether this field is set.
  6146   * @return {boolean}
  6147   */
  6148  proto.google.protobuf.FileOptions.prototype.hasObjcClassPrefix = function() {
  6149    return jspb.Message.getField(this, 36) != null;
  6150  };
  6151  
  6152  
  6153  /**
  6154   * optional string csharp_namespace = 37;
  6155   * @return {string}
  6156   */
  6157  proto.google.protobuf.FileOptions.prototype.getCsharpNamespace = function() {
  6158    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 37, ""));
  6159  };
  6160  
  6161  
  6162  /**
  6163   * @param {string} value
  6164   * @return {!proto.google.protobuf.FileOptions} returns this
  6165   */
  6166  proto.google.protobuf.FileOptions.prototype.setCsharpNamespace = function(value) {
  6167    return jspb.Message.setField(this, 37, value);
  6168  };
  6169  
  6170  
  6171  /**
  6172   * Clears the field making it undefined.
  6173   * @return {!proto.google.protobuf.FileOptions} returns this
  6174   */
  6175  proto.google.protobuf.FileOptions.prototype.clearCsharpNamespace = function() {
  6176    return jspb.Message.setField(this, 37, undefined);
  6177  };
  6178  
  6179  
  6180  /**
  6181   * Returns whether this field is set.
  6182   * @return {boolean}
  6183   */
  6184  proto.google.protobuf.FileOptions.prototype.hasCsharpNamespace = function() {
  6185    return jspb.Message.getField(this, 37) != null;
  6186  };
  6187  
  6188  
  6189  /**
  6190   * optional string swift_prefix = 39;
  6191   * @return {string}
  6192   */
  6193  proto.google.protobuf.FileOptions.prototype.getSwiftPrefix = function() {
  6194    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 39, ""));
  6195  };
  6196  
  6197  
  6198  /**
  6199   * @param {string} value
  6200   * @return {!proto.google.protobuf.FileOptions} returns this
  6201   */
  6202  proto.google.protobuf.FileOptions.prototype.setSwiftPrefix = function(value) {
  6203    return jspb.Message.setField(this, 39, value);
  6204  };
  6205  
  6206  
  6207  /**
  6208   * Clears the field making it undefined.
  6209   * @return {!proto.google.protobuf.FileOptions} returns this
  6210   */
  6211  proto.google.protobuf.FileOptions.prototype.clearSwiftPrefix = function() {
  6212    return jspb.Message.setField(this, 39, undefined);
  6213  };
  6214  
  6215  
  6216  /**
  6217   * Returns whether this field is set.
  6218   * @return {boolean}
  6219   */
  6220  proto.google.protobuf.FileOptions.prototype.hasSwiftPrefix = function() {
  6221    return jspb.Message.getField(this, 39) != null;
  6222  };
  6223  
  6224  
  6225  /**
  6226   * optional string php_class_prefix = 40;
  6227   * @return {string}
  6228   */
  6229  proto.google.protobuf.FileOptions.prototype.getPhpClassPrefix = function() {
  6230    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 40, ""));
  6231  };
  6232  
  6233  
  6234  /**
  6235   * @param {string} value
  6236   * @return {!proto.google.protobuf.FileOptions} returns this
  6237   */
  6238  proto.google.protobuf.FileOptions.prototype.setPhpClassPrefix = function(value) {
  6239    return jspb.Message.setField(this, 40, value);
  6240  };
  6241  
  6242  
  6243  /**
  6244   * Clears the field making it undefined.
  6245   * @return {!proto.google.protobuf.FileOptions} returns this
  6246   */
  6247  proto.google.protobuf.FileOptions.prototype.clearPhpClassPrefix = function() {
  6248    return jspb.Message.setField(this, 40, undefined);
  6249  };
  6250  
  6251  
  6252  /**
  6253   * Returns whether this field is set.
  6254   * @return {boolean}
  6255   */
  6256  proto.google.protobuf.FileOptions.prototype.hasPhpClassPrefix = function() {
  6257    return jspb.Message.getField(this, 40) != null;
  6258  };
  6259  
  6260  
  6261  /**
  6262   * optional string php_namespace = 41;
  6263   * @return {string}
  6264   */
  6265  proto.google.protobuf.FileOptions.prototype.getPhpNamespace = function() {
  6266    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 41, ""));
  6267  };
  6268  
  6269  
  6270  /**
  6271   * @param {string} value
  6272   * @return {!proto.google.protobuf.FileOptions} returns this
  6273   */
  6274  proto.google.protobuf.FileOptions.prototype.setPhpNamespace = function(value) {
  6275    return jspb.Message.setField(this, 41, value);
  6276  };
  6277  
  6278  
  6279  /**
  6280   * Clears the field making it undefined.
  6281   * @return {!proto.google.protobuf.FileOptions} returns this
  6282   */
  6283  proto.google.protobuf.FileOptions.prototype.clearPhpNamespace = function() {
  6284    return jspb.Message.setField(this, 41, undefined);
  6285  };
  6286  
  6287  
  6288  /**
  6289   * Returns whether this field is set.
  6290   * @return {boolean}
  6291   */
  6292  proto.google.protobuf.FileOptions.prototype.hasPhpNamespace = function() {
  6293    return jspb.Message.getField(this, 41) != null;
  6294  };
  6295  
  6296  
  6297  /**
  6298   * optional string php_metadata_namespace = 44;
  6299   * @return {string}
  6300   */
  6301  proto.google.protobuf.FileOptions.prototype.getPhpMetadataNamespace = function() {
  6302    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 44, ""));
  6303  };
  6304  
  6305  
  6306  /**
  6307   * @param {string} value
  6308   * @return {!proto.google.protobuf.FileOptions} returns this
  6309   */
  6310  proto.google.protobuf.FileOptions.prototype.setPhpMetadataNamespace = function(value) {
  6311    return jspb.Message.setField(this, 44, value);
  6312  };
  6313  
  6314  
  6315  /**
  6316   * Clears the field making it undefined.
  6317   * @return {!proto.google.protobuf.FileOptions} returns this
  6318   */
  6319  proto.google.protobuf.FileOptions.prototype.clearPhpMetadataNamespace = function() {
  6320    return jspb.Message.setField(this, 44, undefined);
  6321  };
  6322  
  6323  
  6324  /**
  6325   * Returns whether this field is set.
  6326   * @return {boolean}
  6327   */
  6328  proto.google.protobuf.FileOptions.prototype.hasPhpMetadataNamespace = function() {
  6329    return jspb.Message.getField(this, 44) != null;
  6330  };
  6331  
  6332  
  6333  /**
  6334   * optional string ruby_package = 45;
  6335   * @return {string}
  6336   */
  6337  proto.google.protobuf.FileOptions.prototype.getRubyPackage = function() {
  6338    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 45, ""));
  6339  };
  6340  
  6341  
  6342  /**
  6343   * @param {string} value
  6344   * @return {!proto.google.protobuf.FileOptions} returns this
  6345   */
  6346  proto.google.protobuf.FileOptions.prototype.setRubyPackage = function(value) {
  6347    return jspb.Message.setField(this, 45, value);
  6348  };
  6349  
  6350  
  6351  /**
  6352   * Clears the field making it undefined.
  6353   * @return {!proto.google.protobuf.FileOptions} returns this
  6354   */
  6355  proto.google.protobuf.FileOptions.prototype.clearRubyPackage = function() {
  6356    return jspb.Message.setField(this, 45, undefined);
  6357  };
  6358  
  6359  
  6360  /**
  6361   * Returns whether this field is set.
  6362   * @return {boolean}
  6363   */
  6364  proto.google.protobuf.FileOptions.prototype.hasRubyPackage = function() {
  6365    return jspb.Message.getField(this, 45) != null;
  6366  };
  6367  
  6368  
  6369  /**
  6370   * repeated UninterpretedOption uninterpreted_option = 999;
  6371   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  6372   */
  6373  proto.google.protobuf.FileOptions.prototype.getUninterpretedOptionList = function() {
  6374    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  6375      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  6376  };
  6377  
  6378  
  6379  /**
  6380   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  6381   * @return {!proto.google.protobuf.FileOptions} returns this
  6382  */
  6383  proto.google.protobuf.FileOptions.prototype.setUninterpretedOptionList = function(value) {
  6384    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  6385  };
  6386  
  6387  
  6388  /**
  6389   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  6390   * @param {number=} opt_index
  6391   * @return {!proto.google.protobuf.UninterpretedOption}
  6392   */
  6393  proto.google.protobuf.FileOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  6394    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  6395  };
  6396  
  6397  
  6398  /**
  6399   * Clears the list making it empty but non-null.
  6400   * @return {!proto.google.protobuf.FileOptions} returns this
  6401   */
  6402  proto.google.protobuf.FileOptions.prototype.clearUninterpretedOptionList = function() {
  6403    return this.setUninterpretedOptionList([]);
  6404  };
  6405  
  6406  
  6407  
  6408  /**
  6409   * List of repeated fields within this message type.
  6410   * @private {!Array<number>}
  6411   * @const
  6412   */
  6413  proto.google.protobuf.MessageOptions.repeatedFields_ = [999];
  6414  
  6415  
  6416  
  6417  if (jspb.Message.GENERATE_TO_OBJECT) {
  6418  /**
  6419   * Creates an object representation of this proto.
  6420   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  6421   * Optional fields that are not set will be set to undefined.
  6422   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  6423   * For the list of reserved names please see:
  6424   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  6425   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  6426   *     JSPB instance for transitional soy proto support:
  6427   *     http://goto/soy-param-migration
  6428   * @return {!Object}
  6429   */
  6430  proto.google.protobuf.MessageOptions.prototype.toObject = function(opt_includeInstance) {
  6431    return proto.google.protobuf.MessageOptions.toObject(opt_includeInstance, this);
  6432  };
  6433  
  6434  
  6435  /**
  6436   * Static version of the {@see toObject} method.
  6437   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  6438   *     the JSPB instance for transitional soy proto support:
  6439   *     http://goto/soy-param-migration
  6440   * @param {!proto.google.protobuf.MessageOptions} msg The msg instance to transform.
  6441   * @return {!Object}
  6442   * @suppress {unusedLocalVariables} f is only used for nested messages
  6443   */
  6444  proto.google.protobuf.MessageOptions.toObject = function(includeInstance, msg) {
  6445    var f, obj = {
  6446      messageSetWireFormat: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
  6447      noStandardDescriptorAccessor: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
  6448      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
  6449      mapEntry: (f = jspb.Message.getBooleanField(msg, 7)) == null ? undefined : f,
  6450      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  6451      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  6452    };
  6453  
  6454    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  6455        proto.google.protobuf.MessageOptions.extensions, proto.google.protobuf.MessageOptions.prototype.getExtension,
  6456        includeInstance);
  6457    if (includeInstance) {
  6458      obj.$jspbMessageInstance = msg;
  6459    }
  6460    return obj;
  6461  };
  6462  }
  6463  
  6464  
  6465  /**
  6466   * Deserializes binary data (in protobuf wire format).
  6467   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  6468   * @return {!proto.google.protobuf.MessageOptions}
  6469   */
  6470  proto.google.protobuf.MessageOptions.deserializeBinary = function(bytes) {
  6471    var reader = new jspb.BinaryReader(bytes);
  6472    var msg = new proto.google.protobuf.MessageOptions;
  6473    return proto.google.protobuf.MessageOptions.deserializeBinaryFromReader(msg, reader);
  6474  };
  6475  
  6476  
  6477  /**
  6478   * Deserializes binary data (in protobuf wire format) from the
  6479   * given reader into the given message object.
  6480   * @param {!proto.google.protobuf.MessageOptions} msg The message object to deserialize into.
  6481   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  6482   * @return {!proto.google.protobuf.MessageOptions}
  6483   */
  6484  proto.google.protobuf.MessageOptions.deserializeBinaryFromReader = function(msg, reader) {
  6485    while (reader.nextField()) {
  6486      if (reader.isEndGroup()) {
  6487        break;
  6488      }
  6489      var field = reader.getFieldNumber();
  6490      switch (field) {
  6491      case 1:
  6492        var value = /** @type {boolean} */ (reader.readBool());
  6493        msg.setMessageSetWireFormat(value);
  6494        break;
  6495      case 2:
  6496        var value = /** @type {boolean} */ (reader.readBool());
  6497        msg.setNoStandardDescriptorAccessor(value);
  6498        break;
  6499      case 3:
  6500        var value = /** @type {boolean} */ (reader.readBool());
  6501        msg.setDeprecated(value);
  6502        break;
  6503      case 7:
  6504        var value = /** @type {boolean} */ (reader.readBool());
  6505        msg.setMapEntry(value);
  6506        break;
  6507      case 999:
  6508        var value = new proto.google.protobuf.UninterpretedOption;
  6509        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  6510        msg.addUninterpretedOption(value);
  6511        break;
  6512      default:
  6513        jspb.Message.readBinaryExtension(msg, reader,
  6514          proto.google.protobuf.MessageOptions.extensionsBinary,
  6515          proto.google.protobuf.MessageOptions.prototype.getExtension,
  6516          proto.google.protobuf.MessageOptions.prototype.setExtension);
  6517        break;
  6518      }
  6519    }
  6520    return msg;
  6521  };
  6522  
  6523  
  6524  /**
  6525   * Serializes the message to binary data (in protobuf wire format).
  6526   * @return {!Uint8Array}
  6527   */
  6528  proto.google.protobuf.MessageOptions.prototype.serializeBinary = function() {
  6529    var writer = new jspb.BinaryWriter();
  6530    proto.google.protobuf.MessageOptions.serializeBinaryToWriter(this, writer);
  6531    return writer.getResultBuffer();
  6532  };
  6533  
  6534  
  6535  /**
  6536   * Serializes the given message to binary data (in protobuf wire
  6537   * format), writing to the given BinaryWriter.
  6538   * @param {!proto.google.protobuf.MessageOptions} message
  6539   * @param {!jspb.BinaryWriter} writer
  6540   * @suppress {unusedLocalVariables} f is only used for nested messages
  6541   */
  6542  proto.google.protobuf.MessageOptions.serializeBinaryToWriter = function(message, writer) {
  6543    var f = undefined;
  6544    f = /** @type {boolean} */ (jspb.Message.getField(message, 1));
  6545    if (f != null) {
  6546      writer.writeBool(
  6547        1,
  6548        f
  6549      );
  6550    }
  6551    f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
  6552    if (f != null) {
  6553      writer.writeBool(
  6554        2,
  6555        f
  6556      );
  6557    }
  6558    f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
  6559    if (f != null) {
  6560      writer.writeBool(
  6561        3,
  6562        f
  6563      );
  6564    }
  6565    f = /** @type {boolean} */ (jspb.Message.getField(message, 7));
  6566    if (f != null) {
  6567      writer.writeBool(
  6568        7,
  6569        f
  6570      );
  6571    }
  6572    f = message.getUninterpretedOptionList();
  6573    if (f.length > 0) {
  6574      writer.writeRepeatedMessage(
  6575        999,
  6576        f,
  6577        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  6578      );
  6579    }
  6580    jspb.Message.serializeBinaryExtensions(message, writer,
  6581      proto.google.protobuf.MessageOptions.extensionsBinary, proto.google.protobuf.MessageOptions.prototype.getExtension);
  6582  };
  6583  
  6584  
  6585  /**
  6586   * optional bool message_set_wire_format = 1;
  6587   * @return {boolean}
  6588   */
  6589  proto.google.protobuf.MessageOptions.prototype.getMessageSetWireFormat = function() {
  6590    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
  6591  };
  6592  
  6593  
  6594  /**
  6595   * @param {boolean} value
  6596   * @return {!proto.google.protobuf.MessageOptions} returns this
  6597   */
  6598  proto.google.protobuf.MessageOptions.prototype.setMessageSetWireFormat = function(value) {
  6599    return jspb.Message.setField(this, 1, value);
  6600  };
  6601  
  6602  
  6603  /**
  6604   * Clears the field making it undefined.
  6605   * @return {!proto.google.protobuf.MessageOptions} returns this
  6606   */
  6607  proto.google.protobuf.MessageOptions.prototype.clearMessageSetWireFormat = function() {
  6608    return jspb.Message.setField(this, 1, undefined);
  6609  };
  6610  
  6611  
  6612  /**
  6613   * Returns whether this field is set.
  6614   * @return {boolean}
  6615   */
  6616  proto.google.protobuf.MessageOptions.prototype.hasMessageSetWireFormat = function() {
  6617    return jspb.Message.getField(this, 1) != null;
  6618  };
  6619  
  6620  
  6621  /**
  6622   * optional bool no_standard_descriptor_accessor = 2;
  6623   * @return {boolean}
  6624   */
  6625  proto.google.protobuf.MessageOptions.prototype.getNoStandardDescriptorAccessor = function() {
  6626    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
  6627  };
  6628  
  6629  
  6630  /**
  6631   * @param {boolean} value
  6632   * @return {!proto.google.protobuf.MessageOptions} returns this
  6633   */
  6634  proto.google.protobuf.MessageOptions.prototype.setNoStandardDescriptorAccessor = function(value) {
  6635    return jspb.Message.setField(this, 2, value);
  6636  };
  6637  
  6638  
  6639  /**
  6640   * Clears the field making it undefined.
  6641   * @return {!proto.google.protobuf.MessageOptions} returns this
  6642   */
  6643  proto.google.protobuf.MessageOptions.prototype.clearNoStandardDescriptorAccessor = function() {
  6644    return jspb.Message.setField(this, 2, undefined);
  6645  };
  6646  
  6647  
  6648  /**
  6649   * Returns whether this field is set.
  6650   * @return {boolean}
  6651   */
  6652  proto.google.protobuf.MessageOptions.prototype.hasNoStandardDescriptorAccessor = function() {
  6653    return jspb.Message.getField(this, 2) != null;
  6654  };
  6655  
  6656  
  6657  /**
  6658   * optional bool deprecated = 3;
  6659   * @return {boolean}
  6660   */
  6661  proto.google.protobuf.MessageOptions.prototype.getDeprecated = function() {
  6662    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
  6663  };
  6664  
  6665  
  6666  /**
  6667   * @param {boolean} value
  6668   * @return {!proto.google.protobuf.MessageOptions} returns this
  6669   */
  6670  proto.google.protobuf.MessageOptions.prototype.setDeprecated = function(value) {
  6671    return jspb.Message.setField(this, 3, value);
  6672  };
  6673  
  6674  
  6675  /**
  6676   * Clears the field making it undefined.
  6677   * @return {!proto.google.protobuf.MessageOptions} returns this
  6678   */
  6679  proto.google.protobuf.MessageOptions.prototype.clearDeprecated = function() {
  6680    return jspb.Message.setField(this, 3, undefined);
  6681  };
  6682  
  6683  
  6684  /**
  6685   * Returns whether this field is set.
  6686   * @return {boolean}
  6687   */
  6688  proto.google.protobuf.MessageOptions.prototype.hasDeprecated = function() {
  6689    return jspb.Message.getField(this, 3) != null;
  6690  };
  6691  
  6692  
  6693  /**
  6694   * optional bool map_entry = 7;
  6695   * @return {boolean}
  6696   */
  6697  proto.google.protobuf.MessageOptions.prototype.getMapEntry = function() {
  6698    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 7, false));
  6699  };
  6700  
  6701  
  6702  /**
  6703   * @param {boolean} value
  6704   * @return {!proto.google.protobuf.MessageOptions} returns this
  6705   */
  6706  proto.google.protobuf.MessageOptions.prototype.setMapEntry = function(value) {
  6707    return jspb.Message.setField(this, 7, value);
  6708  };
  6709  
  6710  
  6711  /**
  6712   * Clears the field making it undefined.
  6713   * @return {!proto.google.protobuf.MessageOptions} returns this
  6714   */
  6715  proto.google.protobuf.MessageOptions.prototype.clearMapEntry = function() {
  6716    return jspb.Message.setField(this, 7, undefined);
  6717  };
  6718  
  6719  
  6720  /**
  6721   * Returns whether this field is set.
  6722   * @return {boolean}
  6723   */
  6724  proto.google.protobuf.MessageOptions.prototype.hasMapEntry = function() {
  6725    return jspb.Message.getField(this, 7) != null;
  6726  };
  6727  
  6728  
  6729  /**
  6730   * repeated UninterpretedOption uninterpreted_option = 999;
  6731   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  6732   */
  6733  proto.google.protobuf.MessageOptions.prototype.getUninterpretedOptionList = function() {
  6734    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  6735      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  6736  };
  6737  
  6738  
  6739  /**
  6740   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  6741   * @return {!proto.google.protobuf.MessageOptions} returns this
  6742  */
  6743  proto.google.protobuf.MessageOptions.prototype.setUninterpretedOptionList = function(value) {
  6744    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  6745  };
  6746  
  6747  
  6748  /**
  6749   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  6750   * @param {number=} opt_index
  6751   * @return {!proto.google.protobuf.UninterpretedOption}
  6752   */
  6753  proto.google.protobuf.MessageOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  6754    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  6755  };
  6756  
  6757  
  6758  /**
  6759   * Clears the list making it empty but non-null.
  6760   * @return {!proto.google.protobuf.MessageOptions} returns this
  6761   */
  6762  proto.google.protobuf.MessageOptions.prototype.clearUninterpretedOptionList = function() {
  6763    return this.setUninterpretedOptionList([]);
  6764  };
  6765  
  6766  
  6767  
  6768  /**
  6769   * List of repeated fields within this message type.
  6770   * @private {!Array<number>}
  6771   * @const
  6772   */
  6773  proto.google.protobuf.FieldOptions.repeatedFields_ = [999];
  6774  
  6775  
  6776  
  6777  if (jspb.Message.GENERATE_TO_OBJECT) {
  6778  /**
  6779   * Creates an object representation of this proto.
  6780   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  6781   * Optional fields that are not set will be set to undefined.
  6782   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  6783   * For the list of reserved names please see:
  6784   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  6785   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  6786   *     JSPB instance for transitional soy proto support:
  6787   *     http://goto/soy-param-migration
  6788   * @return {!Object}
  6789   */
  6790  proto.google.protobuf.FieldOptions.prototype.toObject = function(opt_includeInstance) {
  6791    return proto.google.protobuf.FieldOptions.toObject(opt_includeInstance, this);
  6792  };
  6793  
  6794  
  6795  /**
  6796   * Static version of the {@see toObject} method.
  6797   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  6798   *     the JSPB instance for transitional soy proto support:
  6799   *     http://goto/soy-param-migration
  6800   * @param {!proto.google.protobuf.FieldOptions} msg The msg instance to transform.
  6801   * @return {!Object}
  6802   * @suppress {unusedLocalVariables} f is only used for nested messages
  6803   */
  6804  proto.google.protobuf.FieldOptions.toObject = function(includeInstance, msg) {
  6805    var f, obj = {
  6806      ctype: jspb.Message.getFieldWithDefault(msg, 1, 0),
  6807      packed: (f = jspb.Message.getBooleanField(msg, 2)) == null ? undefined : f,
  6808      jstype: jspb.Message.getFieldWithDefault(msg, 6, 0),
  6809      lazy: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
  6810      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
  6811      weak: jspb.Message.getBooleanFieldWithDefault(msg, 10, false),
  6812      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  6813      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  6814    };
  6815  
  6816    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  6817        proto.google.protobuf.FieldOptions.extensions, proto.google.protobuf.FieldOptions.prototype.getExtension,
  6818        includeInstance);
  6819    if (includeInstance) {
  6820      obj.$jspbMessageInstance = msg;
  6821    }
  6822    return obj;
  6823  };
  6824  }
  6825  
  6826  
  6827  /**
  6828   * Deserializes binary data (in protobuf wire format).
  6829   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  6830   * @return {!proto.google.protobuf.FieldOptions}
  6831   */
  6832  proto.google.protobuf.FieldOptions.deserializeBinary = function(bytes) {
  6833    var reader = new jspb.BinaryReader(bytes);
  6834    var msg = new proto.google.protobuf.FieldOptions;
  6835    return proto.google.protobuf.FieldOptions.deserializeBinaryFromReader(msg, reader);
  6836  };
  6837  
  6838  
  6839  /**
  6840   * Deserializes binary data (in protobuf wire format) from the
  6841   * given reader into the given message object.
  6842   * @param {!proto.google.protobuf.FieldOptions} msg The message object to deserialize into.
  6843   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  6844   * @return {!proto.google.protobuf.FieldOptions}
  6845   */
  6846  proto.google.protobuf.FieldOptions.deserializeBinaryFromReader = function(msg, reader) {
  6847    while (reader.nextField()) {
  6848      if (reader.isEndGroup()) {
  6849        break;
  6850      }
  6851      var field = reader.getFieldNumber();
  6852      switch (field) {
  6853      case 1:
  6854        var value = /** @type {!proto.google.protobuf.FieldOptions.CType} */ (reader.readEnum());
  6855        msg.setCtype(value);
  6856        break;
  6857      case 2:
  6858        var value = /** @type {boolean} */ (reader.readBool());
  6859        msg.setPacked(value);
  6860        break;
  6861      case 6:
  6862        var value = /** @type {!proto.google.protobuf.FieldOptions.JSType} */ (reader.readEnum());
  6863        msg.setJstype(value);
  6864        break;
  6865      case 5:
  6866        var value = /** @type {boolean} */ (reader.readBool());
  6867        msg.setLazy(value);
  6868        break;
  6869      case 3:
  6870        var value = /** @type {boolean} */ (reader.readBool());
  6871        msg.setDeprecated(value);
  6872        break;
  6873      case 10:
  6874        var value = /** @type {boolean} */ (reader.readBool());
  6875        msg.setWeak(value);
  6876        break;
  6877      case 999:
  6878        var value = new proto.google.protobuf.UninterpretedOption;
  6879        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  6880        msg.addUninterpretedOption(value);
  6881        break;
  6882      default:
  6883        jspb.Message.readBinaryExtension(msg, reader,
  6884          proto.google.protobuf.FieldOptions.extensionsBinary,
  6885          proto.google.protobuf.FieldOptions.prototype.getExtension,
  6886          proto.google.protobuf.FieldOptions.prototype.setExtension);
  6887        break;
  6888      }
  6889    }
  6890    return msg;
  6891  };
  6892  
  6893  
  6894  /**
  6895   * Serializes the message to binary data (in protobuf wire format).
  6896   * @return {!Uint8Array}
  6897   */
  6898  proto.google.protobuf.FieldOptions.prototype.serializeBinary = function() {
  6899    var writer = new jspb.BinaryWriter();
  6900    proto.google.protobuf.FieldOptions.serializeBinaryToWriter(this, writer);
  6901    return writer.getResultBuffer();
  6902  };
  6903  
  6904  
  6905  /**
  6906   * Serializes the given message to binary data (in protobuf wire
  6907   * format), writing to the given BinaryWriter.
  6908   * @param {!proto.google.protobuf.FieldOptions} message
  6909   * @param {!jspb.BinaryWriter} writer
  6910   * @suppress {unusedLocalVariables} f is only used for nested messages
  6911   */
  6912  proto.google.protobuf.FieldOptions.serializeBinaryToWriter = function(message, writer) {
  6913    var f = undefined;
  6914    f = /** @type {!proto.google.protobuf.FieldOptions.CType} */ (jspb.Message.getField(message, 1));
  6915    if (f != null) {
  6916      writer.writeEnum(
  6917        1,
  6918        f
  6919      );
  6920    }
  6921    f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
  6922    if (f != null) {
  6923      writer.writeBool(
  6924        2,
  6925        f
  6926      );
  6927    }
  6928    f = /** @type {!proto.google.protobuf.FieldOptions.JSType} */ (jspb.Message.getField(message, 6));
  6929    if (f != null) {
  6930      writer.writeEnum(
  6931        6,
  6932        f
  6933      );
  6934    }
  6935    f = /** @type {boolean} */ (jspb.Message.getField(message, 5));
  6936    if (f != null) {
  6937      writer.writeBool(
  6938        5,
  6939        f
  6940      );
  6941    }
  6942    f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
  6943    if (f != null) {
  6944      writer.writeBool(
  6945        3,
  6946        f
  6947      );
  6948    }
  6949    f = /** @type {boolean} */ (jspb.Message.getField(message, 10));
  6950    if (f != null) {
  6951      writer.writeBool(
  6952        10,
  6953        f
  6954      );
  6955    }
  6956    f = message.getUninterpretedOptionList();
  6957    if (f.length > 0) {
  6958      writer.writeRepeatedMessage(
  6959        999,
  6960        f,
  6961        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  6962      );
  6963    }
  6964    jspb.Message.serializeBinaryExtensions(message, writer,
  6965      proto.google.protobuf.FieldOptions.extensionsBinary, proto.google.protobuf.FieldOptions.prototype.getExtension);
  6966  };
  6967  
  6968  
  6969  /**
  6970   * @enum {number}
  6971   */
  6972  proto.google.protobuf.FieldOptions.CType = {
  6973    STRING: 0,
  6974    CORD: 1,
  6975    STRING_PIECE: 2
  6976  };
  6977  
  6978  /**
  6979   * @enum {number}
  6980   */
  6981  proto.google.protobuf.FieldOptions.JSType = {
  6982    JS_NORMAL: 0,
  6983    JS_STRING: 1,
  6984    JS_NUMBER: 2
  6985  };
  6986  
  6987  /**
  6988   * optional CType ctype = 1;
  6989   * @return {!proto.google.protobuf.FieldOptions.CType}
  6990   */
  6991  proto.google.protobuf.FieldOptions.prototype.getCtype = function() {
  6992    return /** @type {!proto.google.protobuf.FieldOptions.CType} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
  6993  };
  6994  
  6995  
  6996  /**
  6997   * @param {!proto.google.protobuf.FieldOptions.CType} value
  6998   * @return {!proto.google.protobuf.FieldOptions} returns this
  6999   */
  7000  proto.google.protobuf.FieldOptions.prototype.setCtype = function(value) {
  7001    return jspb.Message.setField(this, 1, value);
  7002  };
  7003  
  7004  
  7005  /**
  7006   * Clears the field making it undefined.
  7007   * @return {!proto.google.protobuf.FieldOptions} returns this
  7008   */
  7009  proto.google.protobuf.FieldOptions.prototype.clearCtype = function() {
  7010    return jspb.Message.setField(this, 1, undefined);
  7011  };
  7012  
  7013  
  7014  /**
  7015   * Returns whether this field is set.
  7016   * @return {boolean}
  7017   */
  7018  proto.google.protobuf.FieldOptions.prototype.hasCtype = function() {
  7019    return jspb.Message.getField(this, 1) != null;
  7020  };
  7021  
  7022  
  7023  /**
  7024   * optional bool packed = 2;
  7025   * @return {boolean}
  7026   */
  7027  proto.google.protobuf.FieldOptions.prototype.getPacked = function() {
  7028    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
  7029  };
  7030  
  7031  
  7032  /**
  7033   * @param {boolean} value
  7034   * @return {!proto.google.protobuf.FieldOptions} returns this
  7035   */
  7036  proto.google.protobuf.FieldOptions.prototype.setPacked = function(value) {
  7037    return jspb.Message.setField(this, 2, value);
  7038  };
  7039  
  7040  
  7041  /**
  7042   * Clears the field making it undefined.
  7043   * @return {!proto.google.protobuf.FieldOptions} returns this
  7044   */
  7045  proto.google.protobuf.FieldOptions.prototype.clearPacked = function() {
  7046    return jspb.Message.setField(this, 2, undefined);
  7047  };
  7048  
  7049  
  7050  /**
  7051   * Returns whether this field is set.
  7052   * @return {boolean}
  7053   */
  7054  proto.google.protobuf.FieldOptions.prototype.hasPacked = function() {
  7055    return jspb.Message.getField(this, 2) != null;
  7056  };
  7057  
  7058  
  7059  /**
  7060   * optional JSType jstype = 6;
  7061   * @return {!proto.google.protobuf.FieldOptions.JSType}
  7062   */
  7063  proto.google.protobuf.FieldOptions.prototype.getJstype = function() {
  7064    return /** @type {!proto.google.protobuf.FieldOptions.JSType} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
  7065  };
  7066  
  7067  
  7068  /**
  7069   * @param {!proto.google.protobuf.FieldOptions.JSType} value
  7070   * @return {!proto.google.protobuf.FieldOptions} returns this
  7071   */
  7072  proto.google.protobuf.FieldOptions.prototype.setJstype = function(value) {
  7073    return jspb.Message.setField(this, 6, value);
  7074  };
  7075  
  7076  
  7077  /**
  7078   * Clears the field making it undefined.
  7079   * @return {!proto.google.protobuf.FieldOptions} returns this
  7080   */
  7081  proto.google.protobuf.FieldOptions.prototype.clearJstype = function() {
  7082    return jspb.Message.setField(this, 6, undefined);
  7083  };
  7084  
  7085  
  7086  /**
  7087   * Returns whether this field is set.
  7088   * @return {boolean}
  7089   */
  7090  proto.google.protobuf.FieldOptions.prototype.hasJstype = function() {
  7091    return jspb.Message.getField(this, 6) != null;
  7092  };
  7093  
  7094  
  7095  /**
  7096   * optional bool lazy = 5;
  7097   * @return {boolean}
  7098   */
  7099  proto.google.protobuf.FieldOptions.prototype.getLazy = function() {
  7100    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 5, false));
  7101  };
  7102  
  7103  
  7104  /**
  7105   * @param {boolean} value
  7106   * @return {!proto.google.protobuf.FieldOptions} returns this
  7107   */
  7108  proto.google.protobuf.FieldOptions.prototype.setLazy = function(value) {
  7109    return jspb.Message.setField(this, 5, value);
  7110  };
  7111  
  7112  
  7113  /**
  7114   * Clears the field making it undefined.
  7115   * @return {!proto.google.protobuf.FieldOptions} returns this
  7116   */
  7117  proto.google.protobuf.FieldOptions.prototype.clearLazy = function() {
  7118    return jspb.Message.setField(this, 5, undefined);
  7119  };
  7120  
  7121  
  7122  /**
  7123   * Returns whether this field is set.
  7124   * @return {boolean}
  7125   */
  7126  proto.google.protobuf.FieldOptions.prototype.hasLazy = function() {
  7127    return jspb.Message.getField(this, 5) != null;
  7128  };
  7129  
  7130  
  7131  /**
  7132   * optional bool deprecated = 3;
  7133   * @return {boolean}
  7134   */
  7135  proto.google.protobuf.FieldOptions.prototype.getDeprecated = function() {
  7136    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
  7137  };
  7138  
  7139  
  7140  /**
  7141   * @param {boolean} value
  7142   * @return {!proto.google.protobuf.FieldOptions} returns this
  7143   */
  7144  proto.google.protobuf.FieldOptions.prototype.setDeprecated = function(value) {
  7145    return jspb.Message.setField(this, 3, value);
  7146  };
  7147  
  7148  
  7149  /**
  7150   * Clears the field making it undefined.
  7151   * @return {!proto.google.protobuf.FieldOptions} returns this
  7152   */
  7153  proto.google.protobuf.FieldOptions.prototype.clearDeprecated = function() {
  7154    return jspb.Message.setField(this, 3, undefined);
  7155  };
  7156  
  7157  
  7158  /**
  7159   * Returns whether this field is set.
  7160   * @return {boolean}
  7161   */
  7162  proto.google.protobuf.FieldOptions.prototype.hasDeprecated = function() {
  7163    return jspb.Message.getField(this, 3) != null;
  7164  };
  7165  
  7166  
  7167  /**
  7168   * optional bool weak = 10;
  7169   * @return {boolean}
  7170   */
  7171  proto.google.protobuf.FieldOptions.prototype.getWeak = function() {
  7172    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 10, false));
  7173  };
  7174  
  7175  
  7176  /**
  7177   * @param {boolean} value
  7178   * @return {!proto.google.protobuf.FieldOptions} returns this
  7179   */
  7180  proto.google.protobuf.FieldOptions.prototype.setWeak = function(value) {
  7181    return jspb.Message.setField(this, 10, value);
  7182  };
  7183  
  7184  
  7185  /**
  7186   * Clears the field making it undefined.
  7187   * @return {!proto.google.protobuf.FieldOptions} returns this
  7188   */
  7189  proto.google.protobuf.FieldOptions.prototype.clearWeak = function() {
  7190    return jspb.Message.setField(this, 10, undefined);
  7191  };
  7192  
  7193  
  7194  /**
  7195   * Returns whether this field is set.
  7196   * @return {boolean}
  7197   */
  7198  proto.google.protobuf.FieldOptions.prototype.hasWeak = function() {
  7199    return jspb.Message.getField(this, 10) != null;
  7200  };
  7201  
  7202  
  7203  /**
  7204   * repeated UninterpretedOption uninterpreted_option = 999;
  7205   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  7206   */
  7207  proto.google.protobuf.FieldOptions.prototype.getUninterpretedOptionList = function() {
  7208    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  7209      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  7210  };
  7211  
  7212  
  7213  /**
  7214   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  7215   * @return {!proto.google.protobuf.FieldOptions} returns this
  7216  */
  7217  proto.google.protobuf.FieldOptions.prototype.setUninterpretedOptionList = function(value) {
  7218    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  7219  };
  7220  
  7221  
  7222  /**
  7223   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  7224   * @param {number=} opt_index
  7225   * @return {!proto.google.protobuf.UninterpretedOption}
  7226   */
  7227  proto.google.protobuf.FieldOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  7228    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  7229  };
  7230  
  7231  
  7232  /**
  7233   * Clears the list making it empty but non-null.
  7234   * @return {!proto.google.protobuf.FieldOptions} returns this
  7235   */
  7236  proto.google.protobuf.FieldOptions.prototype.clearUninterpretedOptionList = function() {
  7237    return this.setUninterpretedOptionList([]);
  7238  };
  7239  
  7240  
  7241  
  7242  /**
  7243   * List of repeated fields within this message type.
  7244   * @private {!Array<number>}
  7245   * @const
  7246   */
  7247  proto.google.protobuf.OneofOptions.repeatedFields_ = [999];
  7248  
  7249  
  7250  
  7251  if (jspb.Message.GENERATE_TO_OBJECT) {
  7252  /**
  7253   * Creates an object representation of this proto.
  7254   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  7255   * Optional fields that are not set will be set to undefined.
  7256   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  7257   * For the list of reserved names please see:
  7258   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  7259   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  7260   *     JSPB instance for transitional soy proto support:
  7261   *     http://goto/soy-param-migration
  7262   * @return {!Object}
  7263   */
  7264  proto.google.protobuf.OneofOptions.prototype.toObject = function(opt_includeInstance) {
  7265    return proto.google.protobuf.OneofOptions.toObject(opt_includeInstance, this);
  7266  };
  7267  
  7268  
  7269  /**
  7270   * Static version of the {@see toObject} method.
  7271   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  7272   *     the JSPB instance for transitional soy proto support:
  7273   *     http://goto/soy-param-migration
  7274   * @param {!proto.google.protobuf.OneofOptions} msg The msg instance to transform.
  7275   * @return {!Object}
  7276   * @suppress {unusedLocalVariables} f is only used for nested messages
  7277   */
  7278  proto.google.protobuf.OneofOptions.toObject = function(includeInstance, msg) {
  7279    var f, obj = {
  7280      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  7281      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  7282    };
  7283  
  7284    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  7285        proto.google.protobuf.OneofOptions.extensions, proto.google.protobuf.OneofOptions.prototype.getExtension,
  7286        includeInstance);
  7287    if (includeInstance) {
  7288      obj.$jspbMessageInstance = msg;
  7289    }
  7290    return obj;
  7291  };
  7292  }
  7293  
  7294  
  7295  /**
  7296   * Deserializes binary data (in protobuf wire format).
  7297   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  7298   * @return {!proto.google.protobuf.OneofOptions}
  7299   */
  7300  proto.google.protobuf.OneofOptions.deserializeBinary = function(bytes) {
  7301    var reader = new jspb.BinaryReader(bytes);
  7302    var msg = new proto.google.protobuf.OneofOptions;
  7303    return proto.google.protobuf.OneofOptions.deserializeBinaryFromReader(msg, reader);
  7304  };
  7305  
  7306  
  7307  /**
  7308   * Deserializes binary data (in protobuf wire format) from the
  7309   * given reader into the given message object.
  7310   * @param {!proto.google.protobuf.OneofOptions} msg The message object to deserialize into.
  7311   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  7312   * @return {!proto.google.protobuf.OneofOptions}
  7313   */
  7314  proto.google.protobuf.OneofOptions.deserializeBinaryFromReader = function(msg, reader) {
  7315    while (reader.nextField()) {
  7316      if (reader.isEndGroup()) {
  7317        break;
  7318      }
  7319      var field = reader.getFieldNumber();
  7320      switch (field) {
  7321      case 999:
  7322        var value = new proto.google.protobuf.UninterpretedOption;
  7323        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  7324        msg.addUninterpretedOption(value);
  7325        break;
  7326      default:
  7327        jspb.Message.readBinaryExtension(msg, reader,
  7328          proto.google.protobuf.OneofOptions.extensionsBinary,
  7329          proto.google.protobuf.OneofOptions.prototype.getExtension,
  7330          proto.google.protobuf.OneofOptions.prototype.setExtension);
  7331        break;
  7332      }
  7333    }
  7334    return msg;
  7335  };
  7336  
  7337  
  7338  /**
  7339   * Serializes the message to binary data (in protobuf wire format).
  7340   * @return {!Uint8Array}
  7341   */
  7342  proto.google.protobuf.OneofOptions.prototype.serializeBinary = function() {
  7343    var writer = new jspb.BinaryWriter();
  7344    proto.google.protobuf.OneofOptions.serializeBinaryToWriter(this, writer);
  7345    return writer.getResultBuffer();
  7346  };
  7347  
  7348  
  7349  /**
  7350   * Serializes the given message to binary data (in protobuf wire
  7351   * format), writing to the given BinaryWriter.
  7352   * @param {!proto.google.protobuf.OneofOptions} message
  7353   * @param {!jspb.BinaryWriter} writer
  7354   * @suppress {unusedLocalVariables} f is only used for nested messages
  7355   */
  7356  proto.google.protobuf.OneofOptions.serializeBinaryToWriter = function(message, writer) {
  7357    var f = undefined;
  7358    f = message.getUninterpretedOptionList();
  7359    if (f.length > 0) {
  7360      writer.writeRepeatedMessage(
  7361        999,
  7362        f,
  7363        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  7364      );
  7365    }
  7366    jspb.Message.serializeBinaryExtensions(message, writer,
  7367      proto.google.protobuf.OneofOptions.extensionsBinary, proto.google.protobuf.OneofOptions.prototype.getExtension);
  7368  };
  7369  
  7370  
  7371  /**
  7372   * repeated UninterpretedOption uninterpreted_option = 999;
  7373   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  7374   */
  7375  proto.google.protobuf.OneofOptions.prototype.getUninterpretedOptionList = function() {
  7376    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  7377      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  7378  };
  7379  
  7380  
  7381  /**
  7382   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  7383   * @return {!proto.google.protobuf.OneofOptions} returns this
  7384  */
  7385  proto.google.protobuf.OneofOptions.prototype.setUninterpretedOptionList = function(value) {
  7386    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  7387  };
  7388  
  7389  
  7390  /**
  7391   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  7392   * @param {number=} opt_index
  7393   * @return {!proto.google.protobuf.UninterpretedOption}
  7394   */
  7395  proto.google.protobuf.OneofOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  7396    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  7397  };
  7398  
  7399  
  7400  /**
  7401   * Clears the list making it empty but non-null.
  7402   * @return {!proto.google.protobuf.OneofOptions} returns this
  7403   */
  7404  proto.google.protobuf.OneofOptions.prototype.clearUninterpretedOptionList = function() {
  7405    return this.setUninterpretedOptionList([]);
  7406  };
  7407  
  7408  
  7409  
  7410  /**
  7411   * List of repeated fields within this message type.
  7412   * @private {!Array<number>}
  7413   * @const
  7414   */
  7415  proto.google.protobuf.EnumOptions.repeatedFields_ = [999];
  7416  
  7417  
  7418  
  7419  if (jspb.Message.GENERATE_TO_OBJECT) {
  7420  /**
  7421   * Creates an object representation of this proto.
  7422   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  7423   * Optional fields that are not set will be set to undefined.
  7424   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  7425   * For the list of reserved names please see:
  7426   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  7427   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  7428   *     JSPB instance for transitional soy proto support:
  7429   *     http://goto/soy-param-migration
  7430   * @return {!Object}
  7431   */
  7432  proto.google.protobuf.EnumOptions.prototype.toObject = function(opt_includeInstance) {
  7433    return proto.google.protobuf.EnumOptions.toObject(opt_includeInstance, this);
  7434  };
  7435  
  7436  
  7437  /**
  7438   * Static version of the {@see toObject} method.
  7439   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  7440   *     the JSPB instance for transitional soy proto support:
  7441   *     http://goto/soy-param-migration
  7442   * @param {!proto.google.protobuf.EnumOptions} msg The msg instance to transform.
  7443   * @return {!Object}
  7444   * @suppress {unusedLocalVariables} f is only used for nested messages
  7445   */
  7446  proto.google.protobuf.EnumOptions.toObject = function(includeInstance, msg) {
  7447    var f, obj = {
  7448      allowAlias: (f = jspb.Message.getBooleanField(msg, 2)) == null ? undefined : f,
  7449      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 3, false),
  7450      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  7451      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  7452    };
  7453  
  7454    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  7455        proto.google.protobuf.EnumOptions.extensions, proto.google.protobuf.EnumOptions.prototype.getExtension,
  7456        includeInstance);
  7457    if (includeInstance) {
  7458      obj.$jspbMessageInstance = msg;
  7459    }
  7460    return obj;
  7461  };
  7462  }
  7463  
  7464  
  7465  /**
  7466   * Deserializes binary data (in protobuf wire format).
  7467   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  7468   * @return {!proto.google.protobuf.EnumOptions}
  7469   */
  7470  proto.google.protobuf.EnumOptions.deserializeBinary = function(bytes) {
  7471    var reader = new jspb.BinaryReader(bytes);
  7472    var msg = new proto.google.protobuf.EnumOptions;
  7473    return proto.google.protobuf.EnumOptions.deserializeBinaryFromReader(msg, reader);
  7474  };
  7475  
  7476  
  7477  /**
  7478   * Deserializes binary data (in protobuf wire format) from the
  7479   * given reader into the given message object.
  7480   * @param {!proto.google.protobuf.EnumOptions} msg The message object to deserialize into.
  7481   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  7482   * @return {!proto.google.protobuf.EnumOptions}
  7483   */
  7484  proto.google.protobuf.EnumOptions.deserializeBinaryFromReader = function(msg, reader) {
  7485    while (reader.nextField()) {
  7486      if (reader.isEndGroup()) {
  7487        break;
  7488      }
  7489      var field = reader.getFieldNumber();
  7490      switch (field) {
  7491      case 2:
  7492        var value = /** @type {boolean} */ (reader.readBool());
  7493        msg.setAllowAlias(value);
  7494        break;
  7495      case 3:
  7496        var value = /** @type {boolean} */ (reader.readBool());
  7497        msg.setDeprecated(value);
  7498        break;
  7499      case 999:
  7500        var value = new proto.google.protobuf.UninterpretedOption;
  7501        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  7502        msg.addUninterpretedOption(value);
  7503        break;
  7504      default:
  7505        jspb.Message.readBinaryExtension(msg, reader,
  7506          proto.google.protobuf.EnumOptions.extensionsBinary,
  7507          proto.google.protobuf.EnumOptions.prototype.getExtension,
  7508          proto.google.protobuf.EnumOptions.prototype.setExtension);
  7509        break;
  7510      }
  7511    }
  7512    return msg;
  7513  };
  7514  
  7515  
  7516  /**
  7517   * Serializes the message to binary data (in protobuf wire format).
  7518   * @return {!Uint8Array}
  7519   */
  7520  proto.google.protobuf.EnumOptions.prototype.serializeBinary = function() {
  7521    var writer = new jspb.BinaryWriter();
  7522    proto.google.protobuf.EnumOptions.serializeBinaryToWriter(this, writer);
  7523    return writer.getResultBuffer();
  7524  };
  7525  
  7526  
  7527  /**
  7528   * Serializes the given message to binary data (in protobuf wire
  7529   * format), writing to the given BinaryWriter.
  7530   * @param {!proto.google.protobuf.EnumOptions} message
  7531   * @param {!jspb.BinaryWriter} writer
  7532   * @suppress {unusedLocalVariables} f is only used for nested messages
  7533   */
  7534  proto.google.protobuf.EnumOptions.serializeBinaryToWriter = function(message, writer) {
  7535    var f = undefined;
  7536    f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
  7537    if (f != null) {
  7538      writer.writeBool(
  7539        2,
  7540        f
  7541      );
  7542    }
  7543    f = /** @type {boolean} */ (jspb.Message.getField(message, 3));
  7544    if (f != null) {
  7545      writer.writeBool(
  7546        3,
  7547        f
  7548      );
  7549    }
  7550    f = message.getUninterpretedOptionList();
  7551    if (f.length > 0) {
  7552      writer.writeRepeatedMessage(
  7553        999,
  7554        f,
  7555        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  7556      );
  7557    }
  7558    jspb.Message.serializeBinaryExtensions(message, writer,
  7559      proto.google.protobuf.EnumOptions.extensionsBinary, proto.google.protobuf.EnumOptions.prototype.getExtension);
  7560  };
  7561  
  7562  
  7563  /**
  7564   * optional bool allow_alias = 2;
  7565   * @return {boolean}
  7566   */
  7567  proto.google.protobuf.EnumOptions.prototype.getAllowAlias = function() {
  7568    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
  7569  };
  7570  
  7571  
  7572  /**
  7573   * @param {boolean} value
  7574   * @return {!proto.google.protobuf.EnumOptions} returns this
  7575   */
  7576  proto.google.protobuf.EnumOptions.prototype.setAllowAlias = function(value) {
  7577    return jspb.Message.setField(this, 2, value);
  7578  };
  7579  
  7580  
  7581  /**
  7582   * Clears the field making it undefined.
  7583   * @return {!proto.google.protobuf.EnumOptions} returns this
  7584   */
  7585  proto.google.protobuf.EnumOptions.prototype.clearAllowAlias = function() {
  7586    return jspb.Message.setField(this, 2, undefined);
  7587  };
  7588  
  7589  
  7590  /**
  7591   * Returns whether this field is set.
  7592   * @return {boolean}
  7593   */
  7594  proto.google.protobuf.EnumOptions.prototype.hasAllowAlias = function() {
  7595    return jspb.Message.getField(this, 2) != null;
  7596  };
  7597  
  7598  
  7599  /**
  7600   * optional bool deprecated = 3;
  7601   * @return {boolean}
  7602   */
  7603  proto.google.protobuf.EnumOptions.prototype.getDeprecated = function() {
  7604    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 3, false));
  7605  };
  7606  
  7607  
  7608  /**
  7609   * @param {boolean} value
  7610   * @return {!proto.google.protobuf.EnumOptions} returns this
  7611   */
  7612  proto.google.protobuf.EnumOptions.prototype.setDeprecated = function(value) {
  7613    return jspb.Message.setField(this, 3, value);
  7614  };
  7615  
  7616  
  7617  /**
  7618   * Clears the field making it undefined.
  7619   * @return {!proto.google.protobuf.EnumOptions} returns this
  7620   */
  7621  proto.google.protobuf.EnumOptions.prototype.clearDeprecated = function() {
  7622    return jspb.Message.setField(this, 3, undefined);
  7623  };
  7624  
  7625  
  7626  /**
  7627   * Returns whether this field is set.
  7628   * @return {boolean}
  7629   */
  7630  proto.google.protobuf.EnumOptions.prototype.hasDeprecated = function() {
  7631    return jspb.Message.getField(this, 3) != null;
  7632  };
  7633  
  7634  
  7635  /**
  7636   * repeated UninterpretedOption uninterpreted_option = 999;
  7637   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  7638   */
  7639  proto.google.protobuf.EnumOptions.prototype.getUninterpretedOptionList = function() {
  7640    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  7641      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  7642  };
  7643  
  7644  
  7645  /**
  7646   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  7647   * @return {!proto.google.protobuf.EnumOptions} returns this
  7648  */
  7649  proto.google.protobuf.EnumOptions.prototype.setUninterpretedOptionList = function(value) {
  7650    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  7651  };
  7652  
  7653  
  7654  /**
  7655   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  7656   * @param {number=} opt_index
  7657   * @return {!proto.google.protobuf.UninterpretedOption}
  7658   */
  7659  proto.google.protobuf.EnumOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  7660    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  7661  };
  7662  
  7663  
  7664  /**
  7665   * Clears the list making it empty but non-null.
  7666   * @return {!proto.google.protobuf.EnumOptions} returns this
  7667   */
  7668  proto.google.protobuf.EnumOptions.prototype.clearUninterpretedOptionList = function() {
  7669    return this.setUninterpretedOptionList([]);
  7670  };
  7671  
  7672  
  7673  
  7674  /**
  7675   * List of repeated fields within this message type.
  7676   * @private {!Array<number>}
  7677   * @const
  7678   */
  7679  proto.google.protobuf.EnumValueOptions.repeatedFields_ = [999];
  7680  
  7681  
  7682  
  7683  if (jspb.Message.GENERATE_TO_OBJECT) {
  7684  /**
  7685   * Creates an object representation of this proto.
  7686   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  7687   * Optional fields that are not set will be set to undefined.
  7688   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  7689   * For the list of reserved names please see:
  7690   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  7691   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  7692   *     JSPB instance for transitional soy proto support:
  7693   *     http://goto/soy-param-migration
  7694   * @return {!Object}
  7695   */
  7696  proto.google.protobuf.EnumValueOptions.prototype.toObject = function(opt_includeInstance) {
  7697    return proto.google.protobuf.EnumValueOptions.toObject(opt_includeInstance, this);
  7698  };
  7699  
  7700  
  7701  /**
  7702   * Static version of the {@see toObject} method.
  7703   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  7704   *     the JSPB instance for transitional soy proto support:
  7705   *     http://goto/soy-param-migration
  7706   * @param {!proto.google.protobuf.EnumValueOptions} msg The msg instance to transform.
  7707   * @return {!Object}
  7708   * @suppress {unusedLocalVariables} f is only used for nested messages
  7709   */
  7710  proto.google.protobuf.EnumValueOptions.toObject = function(includeInstance, msg) {
  7711    var f, obj = {
  7712      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 1, false),
  7713      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  7714      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  7715    };
  7716  
  7717    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  7718        proto.google.protobuf.EnumValueOptions.extensions, proto.google.protobuf.EnumValueOptions.prototype.getExtension,
  7719        includeInstance);
  7720    if (includeInstance) {
  7721      obj.$jspbMessageInstance = msg;
  7722    }
  7723    return obj;
  7724  };
  7725  }
  7726  
  7727  
  7728  /**
  7729   * Deserializes binary data (in protobuf wire format).
  7730   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  7731   * @return {!proto.google.protobuf.EnumValueOptions}
  7732   */
  7733  proto.google.protobuf.EnumValueOptions.deserializeBinary = function(bytes) {
  7734    var reader = new jspb.BinaryReader(bytes);
  7735    var msg = new proto.google.protobuf.EnumValueOptions;
  7736    return proto.google.protobuf.EnumValueOptions.deserializeBinaryFromReader(msg, reader);
  7737  };
  7738  
  7739  
  7740  /**
  7741   * Deserializes binary data (in protobuf wire format) from the
  7742   * given reader into the given message object.
  7743   * @param {!proto.google.protobuf.EnumValueOptions} msg The message object to deserialize into.
  7744   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  7745   * @return {!proto.google.protobuf.EnumValueOptions}
  7746   */
  7747  proto.google.protobuf.EnumValueOptions.deserializeBinaryFromReader = function(msg, reader) {
  7748    while (reader.nextField()) {
  7749      if (reader.isEndGroup()) {
  7750        break;
  7751      }
  7752      var field = reader.getFieldNumber();
  7753      switch (field) {
  7754      case 1:
  7755        var value = /** @type {boolean} */ (reader.readBool());
  7756        msg.setDeprecated(value);
  7757        break;
  7758      case 999:
  7759        var value = new proto.google.protobuf.UninterpretedOption;
  7760        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  7761        msg.addUninterpretedOption(value);
  7762        break;
  7763      default:
  7764        jspb.Message.readBinaryExtension(msg, reader,
  7765          proto.google.protobuf.EnumValueOptions.extensionsBinary,
  7766          proto.google.protobuf.EnumValueOptions.prototype.getExtension,
  7767          proto.google.protobuf.EnumValueOptions.prototype.setExtension);
  7768        break;
  7769      }
  7770    }
  7771    return msg;
  7772  };
  7773  
  7774  
  7775  /**
  7776   * Serializes the message to binary data (in protobuf wire format).
  7777   * @return {!Uint8Array}
  7778   */
  7779  proto.google.protobuf.EnumValueOptions.prototype.serializeBinary = function() {
  7780    var writer = new jspb.BinaryWriter();
  7781    proto.google.protobuf.EnumValueOptions.serializeBinaryToWriter(this, writer);
  7782    return writer.getResultBuffer();
  7783  };
  7784  
  7785  
  7786  /**
  7787   * Serializes the given message to binary data (in protobuf wire
  7788   * format), writing to the given BinaryWriter.
  7789   * @param {!proto.google.protobuf.EnumValueOptions} message
  7790   * @param {!jspb.BinaryWriter} writer
  7791   * @suppress {unusedLocalVariables} f is only used for nested messages
  7792   */
  7793  proto.google.protobuf.EnumValueOptions.serializeBinaryToWriter = function(message, writer) {
  7794    var f = undefined;
  7795    f = /** @type {boolean} */ (jspb.Message.getField(message, 1));
  7796    if (f != null) {
  7797      writer.writeBool(
  7798        1,
  7799        f
  7800      );
  7801    }
  7802    f = message.getUninterpretedOptionList();
  7803    if (f.length > 0) {
  7804      writer.writeRepeatedMessage(
  7805        999,
  7806        f,
  7807        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  7808      );
  7809    }
  7810    jspb.Message.serializeBinaryExtensions(message, writer,
  7811      proto.google.protobuf.EnumValueOptions.extensionsBinary, proto.google.protobuf.EnumValueOptions.prototype.getExtension);
  7812  };
  7813  
  7814  
  7815  /**
  7816   * optional bool deprecated = 1;
  7817   * @return {boolean}
  7818   */
  7819  proto.google.protobuf.EnumValueOptions.prototype.getDeprecated = function() {
  7820    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
  7821  };
  7822  
  7823  
  7824  /**
  7825   * @param {boolean} value
  7826   * @return {!proto.google.protobuf.EnumValueOptions} returns this
  7827   */
  7828  proto.google.protobuf.EnumValueOptions.prototype.setDeprecated = function(value) {
  7829    return jspb.Message.setField(this, 1, value);
  7830  };
  7831  
  7832  
  7833  /**
  7834   * Clears the field making it undefined.
  7835   * @return {!proto.google.protobuf.EnumValueOptions} returns this
  7836   */
  7837  proto.google.protobuf.EnumValueOptions.prototype.clearDeprecated = function() {
  7838    return jspb.Message.setField(this, 1, undefined);
  7839  };
  7840  
  7841  
  7842  /**
  7843   * Returns whether this field is set.
  7844   * @return {boolean}
  7845   */
  7846  proto.google.protobuf.EnumValueOptions.prototype.hasDeprecated = function() {
  7847    return jspb.Message.getField(this, 1) != null;
  7848  };
  7849  
  7850  
  7851  /**
  7852   * repeated UninterpretedOption uninterpreted_option = 999;
  7853   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  7854   */
  7855  proto.google.protobuf.EnumValueOptions.prototype.getUninterpretedOptionList = function() {
  7856    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  7857      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  7858  };
  7859  
  7860  
  7861  /**
  7862   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  7863   * @return {!proto.google.protobuf.EnumValueOptions} returns this
  7864  */
  7865  proto.google.protobuf.EnumValueOptions.prototype.setUninterpretedOptionList = function(value) {
  7866    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  7867  };
  7868  
  7869  
  7870  /**
  7871   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  7872   * @param {number=} opt_index
  7873   * @return {!proto.google.protobuf.UninterpretedOption}
  7874   */
  7875  proto.google.protobuf.EnumValueOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  7876    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  7877  };
  7878  
  7879  
  7880  /**
  7881   * Clears the list making it empty but non-null.
  7882   * @return {!proto.google.protobuf.EnumValueOptions} returns this
  7883   */
  7884  proto.google.protobuf.EnumValueOptions.prototype.clearUninterpretedOptionList = function() {
  7885    return this.setUninterpretedOptionList([]);
  7886  };
  7887  
  7888  
  7889  
  7890  /**
  7891   * List of repeated fields within this message type.
  7892   * @private {!Array<number>}
  7893   * @const
  7894   */
  7895  proto.google.protobuf.ServiceOptions.repeatedFields_ = [999];
  7896  
  7897  
  7898  
  7899  if (jspb.Message.GENERATE_TO_OBJECT) {
  7900  /**
  7901   * Creates an object representation of this proto.
  7902   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  7903   * Optional fields that are not set will be set to undefined.
  7904   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  7905   * For the list of reserved names please see:
  7906   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  7907   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  7908   *     JSPB instance for transitional soy proto support:
  7909   *     http://goto/soy-param-migration
  7910   * @return {!Object}
  7911   */
  7912  proto.google.protobuf.ServiceOptions.prototype.toObject = function(opt_includeInstance) {
  7913    return proto.google.protobuf.ServiceOptions.toObject(opt_includeInstance, this);
  7914  };
  7915  
  7916  
  7917  /**
  7918   * Static version of the {@see toObject} method.
  7919   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  7920   *     the JSPB instance for transitional soy proto support:
  7921   *     http://goto/soy-param-migration
  7922   * @param {!proto.google.protobuf.ServiceOptions} msg The msg instance to transform.
  7923   * @return {!Object}
  7924   * @suppress {unusedLocalVariables} f is only used for nested messages
  7925   */
  7926  proto.google.protobuf.ServiceOptions.toObject = function(includeInstance, msg) {
  7927    var f, obj = {
  7928      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 33, false),
  7929      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  7930      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  7931    };
  7932  
  7933    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  7934        proto.google.protobuf.ServiceOptions.extensions, proto.google.protobuf.ServiceOptions.prototype.getExtension,
  7935        includeInstance);
  7936    if (includeInstance) {
  7937      obj.$jspbMessageInstance = msg;
  7938    }
  7939    return obj;
  7940  };
  7941  }
  7942  
  7943  
  7944  /**
  7945   * Deserializes binary data (in protobuf wire format).
  7946   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  7947   * @return {!proto.google.protobuf.ServiceOptions}
  7948   */
  7949  proto.google.protobuf.ServiceOptions.deserializeBinary = function(bytes) {
  7950    var reader = new jspb.BinaryReader(bytes);
  7951    var msg = new proto.google.protobuf.ServiceOptions;
  7952    return proto.google.protobuf.ServiceOptions.deserializeBinaryFromReader(msg, reader);
  7953  };
  7954  
  7955  
  7956  /**
  7957   * Deserializes binary data (in protobuf wire format) from the
  7958   * given reader into the given message object.
  7959   * @param {!proto.google.protobuf.ServiceOptions} msg The message object to deserialize into.
  7960   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  7961   * @return {!proto.google.protobuf.ServiceOptions}
  7962   */
  7963  proto.google.protobuf.ServiceOptions.deserializeBinaryFromReader = function(msg, reader) {
  7964    while (reader.nextField()) {
  7965      if (reader.isEndGroup()) {
  7966        break;
  7967      }
  7968      var field = reader.getFieldNumber();
  7969      switch (field) {
  7970      case 33:
  7971        var value = /** @type {boolean} */ (reader.readBool());
  7972        msg.setDeprecated(value);
  7973        break;
  7974      case 999:
  7975        var value = new proto.google.protobuf.UninterpretedOption;
  7976        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  7977        msg.addUninterpretedOption(value);
  7978        break;
  7979      default:
  7980        jspb.Message.readBinaryExtension(msg, reader,
  7981          proto.google.protobuf.ServiceOptions.extensionsBinary,
  7982          proto.google.protobuf.ServiceOptions.prototype.getExtension,
  7983          proto.google.protobuf.ServiceOptions.prototype.setExtension);
  7984        break;
  7985      }
  7986    }
  7987    return msg;
  7988  };
  7989  
  7990  
  7991  /**
  7992   * Serializes the message to binary data (in protobuf wire format).
  7993   * @return {!Uint8Array}
  7994   */
  7995  proto.google.protobuf.ServiceOptions.prototype.serializeBinary = function() {
  7996    var writer = new jspb.BinaryWriter();
  7997    proto.google.protobuf.ServiceOptions.serializeBinaryToWriter(this, writer);
  7998    return writer.getResultBuffer();
  7999  };
  8000  
  8001  
  8002  /**
  8003   * Serializes the given message to binary data (in protobuf wire
  8004   * format), writing to the given BinaryWriter.
  8005   * @param {!proto.google.protobuf.ServiceOptions} message
  8006   * @param {!jspb.BinaryWriter} writer
  8007   * @suppress {unusedLocalVariables} f is only used for nested messages
  8008   */
  8009  proto.google.protobuf.ServiceOptions.serializeBinaryToWriter = function(message, writer) {
  8010    var f = undefined;
  8011    f = /** @type {boolean} */ (jspb.Message.getField(message, 33));
  8012    if (f != null) {
  8013      writer.writeBool(
  8014        33,
  8015        f
  8016      );
  8017    }
  8018    f = message.getUninterpretedOptionList();
  8019    if (f.length > 0) {
  8020      writer.writeRepeatedMessage(
  8021        999,
  8022        f,
  8023        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  8024      );
  8025    }
  8026    jspb.Message.serializeBinaryExtensions(message, writer,
  8027      proto.google.protobuf.ServiceOptions.extensionsBinary, proto.google.protobuf.ServiceOptions.prototype.getExtension);
  8028  };
  8029  
  8030  
  8031  /**
  8032   * optional bool deprecated = 33;
  8033   * @return {boolean}
  8034   */
  8035  proto.google.protobuf.ServiceOptions.prototype.getDeprecated = function() {
  8036    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 33, false));
  8037  };
  8038  
  8039  
  8040  /**
  8041   * @param {boolean} value
  8042   * @return {!proto.google.protobuf.ServiceOptions} returns this
  8043   */
  8044  proto.google.protobuf.ServiceOptions.prototype.setDeprecated = function(value) {
  8045    return jspb.Message.setField(this, 33, value);
  8046  };
  8047  
  8048  
  8049  /**
  8050   * Clears the field making it undefined.
  8051   * @return {!proto.google.protobuf.ServiceOptions} returns this
  8052   */
  8053  proto.google.protobuf.ServiceOptions.prototype.clearDeprecated = function() {
  8054    return jspb.Message.setField(this, 33, undefined);
  8055  };
  8056  
  8057  
  8058  /**
  8059   * Returns whether this field is set.
  8060   * @return {boolean}
  8061   */
  8062  proto.google.protobuf.ServiceOptions.prototype.hasDeprecated = function() {
  8063    return jspb.Message.getField(this, 33) != null;
  8064  };
  8065  
  8066  
  8067  /**
  8068   * repeated UninterpretedOption uninterpreted_option = 999;
  8069   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  8070   */
  8071  proto.google.protobuf.ServiceOptions.prototype.getUninterpretedOptionList = function() {
  8072    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  8073      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  8074  };
  8075  
  8076  
  8077  /**
  8078   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  8079   * @return {!proto.google.protobuf.ServiceOptions} returns this
  8080  */
  8081  proto.google.protobuf.ServiceOptions.prototype.setUninterpretedOptionList = function(value) {
  8082    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  8083  };
  8084  
  8085  
  8086  /**
  8087   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  8088   * @param {number=} opt_index
  8089   * @return {!proto.google.protobuf.UninterpretedOption}
  8090   */
  8091  proto.google.protobuf.ServiceOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  8092    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  8093  };
  8094  
  8095  
  8096  /**
  8097   * Clears the list making it empty but non-null.
  8098   * @return {!proto.google.protobuf.ServiceOptions} returns this
  8099   */
  8100  proto.google.protobuf.ServiceOptions.prototype.clearUninterpretedOptionList = function() {
  8101    return this.setUninterpretedOptionList([]);
  8102  };
  8103  
  8104  
  8105  
  8106  /**
  8107   * List of repeated fields within this message type.
  8108   * @private {!Array<number>}
  8109   * @const
  8110   */
  8111  proto.google.protobuf.MethodOptions.repeatedFields_ = [999];
  8112  
  8113  
  8114  
  8115  if (jspb.Message.GENERATE_TO_OBJECT) {
  8116  /**
  8117   * Creates an object representation of this proto.
  8118   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  8119   * Optional fields that are not set will be set to undefined.
  8120   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  8121   * For the list of reserved names please see:
  8122   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  8123   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  8124   *     JSPB instance for transitional soy proto support:
  8125   *     http://goto/soy-param-migration
  8126   * @return {!Object}
  8127   */
  8128  proto.google.protobuf.MethodOptions.prototype.toObject = function(opt_includeInstance) {
  8129    return proto.google.protobuf.MethodOptions.toObject(opt_includeInstance, this);
  8130  };
  8131  
  8132  
  8133  /**
  8134   * Static version of the {@see toObject} method.
  8135   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  8136   *     the JSPB instance for transitional soy proto support:
  8137   *     http://goto/soy-param-migration
  8138   * @param {!proto.google.protobuf.MethodOptions} msg The msg instance to transform.
  8139   * @return {!Object}
  8140   * @suppress {unusedLocalVariables} f is only used for nested messages
  8141   */
  8142  proto.google.protobuf.MethodOptions.toObject = function(includeInstance, msg) {
  8143    var f, obj = {
  8144      deprecated: jspb.Message.getBooleanFieldWithDefault(msg, 33, false),
  8145      idempotencyLevel: jspb.Message.getFieldWithDefault(msg, 34, 0),
  8146      uninterpretedOptionList: jspb.Message.toObjectList(msg.getUninterpretedOptionList(),
  8147      proto.google.protobuf.UninterpretedOption.toObject, includeInstance)
  8148    };
  8149  
  8150    jspb.Message.toObjectExtension(/** @type {!jspb.Message} */ (msg), obj,
  8151        proto.google.protobuf.MethodOptions.extensions, proto.google.protobuf.MethodOptions.prototype.getExtension,
  8152        includeInstance);
  8153    if (includeInstance) {
  8154      obj.$jspbMessageInstance = msg;
  8155    }
  8156    return obj;
  8157  };
  8158  }
  8159  
  8160  
  8161  /**
  8162   * Deserializes binary data (in protobuf wire format).
  8163   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  8164   * @return {!proto.google.protobuf.MethodOptions}
  8165   */
  8166  proto.google.protobuf.MethodOptions.deserializeBinary = function(bytes) {
  8167    var reader = new jspb.BinaryReader(bytes);
  8168    var msg = new proto.google.protobuf.MethodOptions;
  8169    return proto.google.protobuf.MethodOptions.deserializeBinaryFromReader(msg, reader);
  8170  };
  8171  
  8172  
  8173  /**
  8174   * Deserializes binary data (in protobuf wire format) from the
  8175   * given reader into the given message object.
  8176   * @param {!proto.google.protobuf.MethodOptions} msg The message object to deserialize into.
  8177   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  8178   * @return {!proto.google.protobuf.MethodOptions}
  8179   */
  8180  proto.google.protobuf.MethodOptions.deserializeBinaryFromReader = function(msg, reader) {
  8181    while (reader.nextField()) {
  8182      if (reader.isEndGroup()) {
  8183        break;
  8184      }
  8185      var field = reader.getFieldNumber();
  8186      switch (field) {
  8187      case 33:
  8188        var value = /** @type {boolean} */ (reader.readBool());
  8189        msg.setDeprecated(value);
  8190        break;
  8191      case 34:
  8192        var value = /** @type {!proto.google.protobuf.MethodOptions.IdempotencyLevel} */ (reader.readEnum());
  8193        msg.setIdempotencyLevel(value);
  8194        break;
  8195      case 999:
  8196        var value = new proto.google.protobuf.UninterpretedOption;
  8197        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader);
  8198        msg.addUninterpretedOption(value);
  8199        break;
  8200      default:
  8201        jspb.Message.readBinaryExtension(msg, reader,
  8202          proto.google.protobuf.MethodOptions.extensionsBinary,
  8203          proto.google.protobuf.MethodOptions.prototype.getExtension,
  8204          proto.google.protobuf.MethodOptions.prototype.setExtension);
  8205        break;
  8206      }
  8207    }
  8208    return msg;
  8209  };
  8210  
  8211  
  8212  /**
  8213   * Serializes the message to binary data (in protobuf wire format).
  8214   * @return {!Uint8Array}
  8215   */
  8216  proto.google.protobuf.MethodOptions.prototype.serializeBinary = function() {
  8217    var writer = new jspb.BinaryWriter();
  8218    proto.google.protobuf.MethodOptions.serializeBinaryToWriter(this, writer);
  8219    return writer.getResultBuffer();
  8220  };
  8221  
  8222  
  8223  /**
  8224   * Serializes the given message to binary data (in protobuf wire
  8225   * format), writing to the given BinaryWriter.
  8226   * @param {!proto.google.protobuf.MethodOptions} message
  8227   * @param {!jspb.BinaryWriter} writer
  8228   * @suppress {unusedLocalVariables} f is only used for nested messages
  8229   */
  8230  proto.google.protobuf.MethodOptions.serializeBinaryToWriter = function(message, writer) {
  8231    var f = undefined;
  8232    f = /** @type {boolean} */ (jspb.Message.getField(message, 33));
  8233    if (f != null) {
  8234      writer.writeBool(
  8235        33,
  8236        f
  8237      );
  8238    }
  8239    f = /** @type {!proto.google.protobuf.MethodOptions.IdempotencyLevel} */ (jspb.Message.getField(message, 34));
  8240    if (f != null) {
  8241      writer.writeEnum(
  8242        34,
  8243        f
  8244      );
  8245    }
  8246    f = message.getUninterpretedOptionList();
  8247    if (f.length > 0) {
  8248      writer.writeRepeatedMessage(
  8249        999,
  8250        f,
  8251        proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter
  8252      );
  8253    }
  8254    jspb.Message.serializeBinaryExtensions(message, writer,
  8255      proto.google.protobuf.MethodOptions.extensionsBinary, proto.google.protobuf.MethodOptions.prototype.getExtension);
  8256  };
  8257  
  8258  
  8259  /**
  8260   * @enum {number}
  8261   */
  8262  proto.google.protobuf.MethodOptions.IdempotencyLevel = {
  8263    IDEMPOTENCY_UNKNOWN: 0,
  8264    NO_SIDE_EFFECTS: 1,
  8265    IDEMPOTENT: 2
  8266  };
  8267  
  8268  /**
  8269   * optional bool deprecated = 33;
  8270   * @return {boolean}
  8271   */
  8272  proto.google.protobuf.MethodOptions.prototype.getDeprecated = function() {
  8273    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 33, false));
  8274  };
  8275  
  8276  
  8277  /**
  8278   * @param {boolean} value
  8279   * @return {!proto.google.protobuf.MethodOptions} returns this
  8280   */
  8281  proto.google.protobuf.MethodOptions.prototype.setDeprecated = function(value) {
  8282    return jspb.Message.setField(this, 33, value);
  8283  };
  8284  
  8285  
  8286  /**
  8287   * Clears the field making it undefined.
  8288   * @return {!proto.google.protobuf.MethodOptions} returns this
  8289   */
  8290  proto.google.protobuf.MethodOptions.prototype.clearDeprecated = function() {
  8291    return jspb.Message.setField(this, 33, undefined);
  8292  };
  8293  
  8294  
  8295  /**
  8296   * Returns whether this field is set.
  8297   * @return {boolean}
  8298   */
  8299  proto.google.protobuf.MethodOptions.prototype.hasDeprecated = function() {
  8300    return jspb.Message.getField(this, 33) != null;
  8301  };
  8302  
  8303  
  8304  /**
  8305   * optional IdempotencyLevel idempotency_level = 34;
  8306   * @return {!proto.google.protobuf.MethodOptions.IdempotencyLevel}
  8307   */
  8308  proto.google.protobuf.MethodOptions.prototype.getIdempotencyLevel = function() {
  8309    return /** @type {!proto.google.protobuf.MethodOptions.IdempotencyLevel} */ (jspb.Message.getFieldWithDefault(this, 34, 0));
  8310  };
  8311  
  8312  
  8313  /**
  8314   * @param {!proto.google.protobuf.MethodOptions.IdempotencyLevel} value
  8315   * @return {!proto.google.protobuf.MethodOptions} returns this
  8316   */
  8317  proto.google.protobuf.MethodOptions.prototype.setIdempotencyLevel = function(value) {
  8318    return jspb.Message.setField(this, 34, value);
  8319  };
  8320  
  8321  
  8322  /**
  8323   * Clears the field making it undefined.
  8324   * @return {!proto.google.protobuf.MethodOptions} returns this
  8325   */
  8326  proto.google.protobuf.MethodOptions.prototype.clearIdempotencyLevel = function() {
  8327    return jspb.Message.setField(this, 34, undefined);
  8328  };
  8329  
  8330  
  8331  /**
  8332   * Returns whether this field is set.
  8333   * @return {boolean}
  8334   */
  8335  proto.google.protobuf.MethodOptions.prototype.hasIdempotencyLevel = function() {
  8336    return jspb.Message.getField(this, 34) != null;
  8337  };
  8338  
  8339  
  8340  /**
  8341   * repeated UninterpretedOption uninterpreted_option = 999;
  8342   * @return {!Array<!proto.google.protobuf.UninterpretedOption>}
  8343   */
  8344  proto.google.protobuf.MethodOptions.prototype.getUninterpretedOptionList = function() {
  8345    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption>} */ (
  8346      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption, 999));
  8347  };
  8348  
  8349  
  8350  /**
  8351   * @param {!Array<!proto.google.protobuf.UninterpretedOption>} value
  8352   * @return {!proto.google.protobuf.MethodOptions} returns this
  8353  */
  8354  proto.google.protobuf.MethodOptions.prototype.setUninterpretedOptionList = function(value) {
  8355    return jspb.Message.setRepeatedWrapperField(this, 999, value);
  8356  };
  8357  
  8358  
  8359  /**
  8360   * @param {!proto.google.protobuf.UninterpretedOption=} opt_value
  8361   * @param {number=} opt_index
  8362   * @return {!proto.google.protobuf.UninterpretedOption}
  8363   */
  8364  proto.google.protobuf.MethodOptions.prototype.addUninterpretedOption = function(opt_value, opt_index) {
  8365    return jspb.Message.addToRepeatedWrapperField(this, 999, opt_value, proto.google.protobuf.UninterpretedOption, opt_index);
  8366  };
  8367  
  8368  
  8369  /**
  8370   * Clears the list making it empty but non-null.
  8371   * @return {!proto.google.protobuf.MethodOptions} returns this
  8372   */
  8373  proto.google.protobuf.MethodOptions.prototype.clearUninterpretedOptionList = function() {
  8374    return this.setUninterpretedOptionList([]);
  8375  };
  8376  
  8377  
  8378  
  8379  /**
  8380   * List of repeated fields within this message type.
  8381   * @private {!Array<number>}
  8382   * @const
  8383   */
  8384  proto.google.protobuf.UninterpretedOption.repeatedFields_ = [2];
  8385  
  8386  
  8387  
  8388  if (jspb.Message.GENERATE_TO_OBJECT) {
  8389  /**
  8390   * Creates an object representation of this proto.
  8391   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  8392   * Optional fields that are not set will be set to undefined.
  8393   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  8394   * For the list of reserved names please see:
  8395   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  8396   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  8397   *     JSPB instance for transitional soy proto support:
  8398   *     http://goto/soy-param-migration
  8399   * @return {!Object}
  8400   */
  8401  proto.google.protobuf.UninterpretedOption.prototype.toObject = function(opt_includeInstance) {
  8402    return proto.google.protobuf.UninterpretedOption.toObject(opt_includeInstance, this);
  8403  };
  8404  
  8405  
  8406  /**
  8407   * Static version of the {@see toObject} method.
  8408   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  8409   *     the JSPB instance for transitional soy proto support:
  8410   *     http://goto/soy-param-migration
  8411   * @param {!proto.google.protobuf.UninterpretedOption} msg The msg instance to transform.
  8412   * @return {!Object}
  8413   * @suppress {unusedLocalVariables} f is only used for nested messages
  8414   */
  8415  proto.google.protobuf.UninterpretedOption.toObject = function(includeInstance, msg) {
  8416    var f, obj = {
  8417      nameList: jspb.Message.toObjectList(msg.getNameList(),
  8418      proto.google.protobuf.UninterpretedOption.NamePart.toObject, includeInstance),
  8419      identifierValue: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
  8420      positiveIntValue: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f,
  8421      negativeIntValue: (f = jspb.Message.getField(msg, 5)) == null ? undefined : f,
  8422      doubleValue: (f = jspb.Message.getOptionalFloatingPointField(msg, 6)) == null ? undefined : f,
  8423      stringValue: msg.getStringValue_asB64(),
  8424      aggregateValue: (f = jspb.Message.getField(msg, 8)) == null ? undefined : f
  8425    };
  8426  
  8427    if (includeInstance) {
  8428      obj.$jspbMessageInstance = msg;
  8429    }
  8430    return obj;
  8431  };
  8432  }
  8433  
  8434  
  8435  /**
  8436   * Deserializes binary data (in protobuf wire format).
  8437   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  8438   * @return {!proto.google.protobuf.UninterpretedOption}
  8439   */
  8440  proto.google.protobuf.UninterpretedOption.deserializeBinary = function(bytes) {
  8441    var reader = new jspb.BinaryReader(bytes);
  8442    var msg = new proto.google.protobuf.UninterpretedOption;
  8443    return proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader(msg, reader);
  8444  };
  8445  
  8446  
  8447  /**
  8448   * Deserializes binary data (in protobuf wire format) from the
  8449   * given reader into the given message object.
  8450   * @param {!proto.google.protobuf.UninterpretedOption} msg The message object to deserialize into.
  8451   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  8452   * @return {!proto.google.protobuf.UninterpretedOption}
  8453   */
  8454  proto.google.protobuf.UninterpretedOption.deserializeBinaryFromReader = function(msg, reader) {
  8455    while (reader.nextField()) {
  8456      if (reader.isEndGroup()) {
  8457        break;
  8458      }
  8459      var field = reader.getFieldNumber();
  8460      switch (field) {
  8461      case 2:
  8462        var value = new proto.google.protobuf.UninterpretedOption.NamePart;
  8463        reader.readMessage(value,proto.google.protobuf.UninterpretedOption.NamePart.deserializeBinaryFromReader);
  8464        msg.addName(value);
  8465        break;
  8466      case 3:
  8467        var value = /** @type {string} */ (reader.readString());
  8468        msg.setIdentifierValue(value);
  8469        break;
  8470      case 4:
  8471        var value = /** @type {number} */ (reader.readUint64());
  8472        msg.setPositiveIntValue(value);
  8473        break;
  8474      case 5:
  8475        var value = /** @type {number} */ (reader.readInt64());
  8476        msg.setNegativeIntValue(value);
  8477        break;
  8478      case 6:
  8479        var value = /** @type {number} */ (reader.readDouble());
  8480        msg.setDoubleValue(value);
  8481        break;
  8482      case 7:
  8483        var value = /** @type {!Uint8Array} */ (reader.readBytes());
  8484        msg.setStringValue(value);
  8485        break;
  8486      case 8:
  8487        var value = /** @type {string} */ (reader.readString());
  8488        msg.setAggregateValue(value);
  8489        break;
  8490      default:
  8491        reader.skipField();
  8492        break;
  8493      }
  8494    }
  8495    return msg;
  8496  };
  8497  
  8498  
  8499  /**
  8500   * Serializes the message to binary data (in protobuf wire format).
  8501   * @return {!Uint8Array}
  8502   */
  8503  proto.google.protobuf.UninterpretedOption.prototype.serializeBinary = function() {
  8504    var writer = new jspb.BinaryWriter();
  8505    proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter(this, writer);
  8506    return writer.getResultBuffer();
  8507  };
  8508  
  8509  
  8510  /**
  8511   * Serializes the given message to binary data (in protobuf wire
  8512   * format), writing to the given BinaryWriter.
  8513   * @param {!proto.google.protobuf.UninterpretedOption} message
  8514   * @param {!jspb.BinaryWriter} writer
  8515   * @suppress {unusedLocalVariables} f is only used for nested messages
  8516   */
  8517  proto.google.protobuf.UninterpretedOption.serializeBinaryToWriter = function(message, writer) {
  8518    var f = undefined;
  8519    f = message.getNameList();
  8520    if (f.length > 0) {
  8521      writer.writeRepeatedMessage(
  8522        2,
  8523        f,
  8524        proto.google.protobuf.UninterpretedOption.NamePart.serializeBinaryToWriter
  8525      );
  8526    }
  8527    f = /** @type {string} */ (jspb.Message.getField(message, 3));
  8528    if (f != null) {
  8529      writer.writeString(
  8530        3,
  8531        f
  8532      );
  8533    }
  8534    f = /** @type {number} */ (jspb.Message.getField(message, 4));
  8535    if (f != null) {
  8536      writer.writeUint64(
  8537        4,
  8538        f
  8539      );
  8540    }
  8541    f = /** @type {number} */ (jspb.Message.getField(message, 5));
  8542    if (f != null) {
  8543      writer.writeInt64(
  8544        5,
  8545        f
  8546      );
  8547    }
  8548    f = /** @type {number} */ (jspb.Message.getField(message, 6));
  8549    if (f != null) {
  8550      writer.writeDouble(
  8551        6,
  8552        f
  8553      );
  8554    }
  8555    f = /** @type {!(string|Uint8Array)} */ (jspb.Message.getField(message, 7));
  8556    if (f != null) {
  8557      writer.writeBytes(
  8558        7,
  8559        f
  8560      );
  8561    }
  8562    f = /** @type {string} */ (jspb.Message.getField(message, 8));
  8563    if (f != null) {
  8564      writer.writeString(
  8565        8,
  8566        f
  8567      );
  8568    }
  8569  };
  8570  
  8571  
  8572  
  8573  
  8574  
  8575  if (jspb.Message.GENERATE_TO_OBJECT) {
  8576  /**
  8577   * Creates an object representation of this proto.
  8578   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  8579   * Optional fields that are not set will be set to undefined.
  8580   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  8581   * For the list of reserved names please see:
  8582   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  8583   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  8584   *     JSPB instance for transitional soy proto support:
  8585   *     http://goto/soy-param-migration
  8586   * @return {!Object}
  8587   */
  8588  proto.google.protobuf.UninterpretedOption.NamePart.prototype.toObject = function(opt_includeInstance) {
  8589    return proto.google.protobuf.UninterpretedOption.NamePart.toObject(opt_includeInstance, this);
  8590  };
  8591  
  8592  
  8593  /**
  8594   * Static version of the {@see toObject} method.
  8595   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  8596   *     the JSPB instance for transitional soy proto support:
  8597   *     http://goto/soy-param-migration
  8598   * @param {!proto.google.protobuf.UninterpretedOption.NamePart} msg The msg instance to transform.
  8599   * @return {!Object}
  8600   * @suppress {unusedLocalVariables} f is only used for nested messages
  8601   */
  8602  proto.google.protobuf.UninterpretedOption.NamePart.toObject = function(includeInstance, msg) {
  8603    var f, obj = {
  8604      namePart: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
  8605      isExtension: (f = jspb.Message.getBooleanField(msg, 2)) == null ? undefined : f
  8606    };
  8607  
  8608    if (includeInstance) {
  8609      obj.$jspbMessageInstance = msg;
  8610    }
  8611    return obj;
  8612  };
  8613  }
  8614  
  8615  
  8616  /**
  8617   * Deserializes binary data (in protobuf wire format).
  8618   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  8619   * @return {!proto.google.protobuf.UninterpretedOption.NamePart}
  8620   */
  8621  proto.google.protobuf.UninterpretedOption.NamePart.deserializeBinary = function(bytes) {
  8622    var reader = new jspb.BinaryReader(bytes);
  8623    var msg = new proto.google.protobuf.UninterpretedOption.NamePart;
  8624    return proto.google.protobuf.UninterpretedOption.NamePart.deserializeBinaryFromReader(msg, reader);
  8625  };
  8626  
  8627  
  8628  /**
  8629   * Deserializes binary data (in protobuf wire format) from the
  8630   * given reader into the given message object.
  8631   * @param {!proto.google.protobuf.UninterpretedOption.NamePart} msg The message object to deserialize into.
  8632   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  8633   * @return {!proto.google.protobuf.UninterpretedOption.NamePart}
  8634   */
  8635  proto.google.protobuf.UninterpretedOption.NamePart.deserializeBinaryFromReader = function(msg, reader) {
  8636    while (reader.nextField()) {
  8637      if (reader.isEndGroup()) {
  8638        break;
  8639      }
  8640      var field = reader.getFieldNumber();
  8641      switch (field) {
  8642      case 1:
  8643        var value = /** @type {string} */ (reader.readString());
  8644        msg.setNamePart(value);
  8645        break;
  8646      case 2:
  8647        var value = /** @type {boolean} */ (reader.readBool());
  8648        msg.setIsExtension(value);
  8649        break;
  8650      default:
  8651        reader.skipField();
  8652        break;
  8653      }
  8654    }
  8655    return msg;
  8656  };
  8657  
  8658  
  8659  /**
  8660   * Serializes the message to binary data (in protobuf wire format).
  8661   * @return {!Uint8Array}
  8662   */
  8663  proto.google.protobuf.UninterpretedOption.NamePart.prototype.serializeBinary = function() {
  8664    var writer = new jspb.BinaryWriter();
  8665    proto.google.protobuf.UninterpretedOption.NamePart.serializeBinaryToWriter(this, writer);
  8666    return writer.getResultBuffer();
  8667  };
  8668  
  8669  
  8670  /**
  8671   * Serializes the given message to binary data (in protobuf wire
  8672   * format), writing to the given BinaryWriter.
  8673   * @param {!proto.google.protobuf.UninterpretedOption.NamePart} message
  8674   * @param {!jspb.BinaryWriter} writer
  8675   * @suppress {unusedLocalVariables} f is only used for nested messages
  8676   */
  8677  proto.google.protobuf.UninterpretedOption.NamePart.serializeBinaryToWriter = function(message, writer) {
  8678    var f = undefined;
  8679    f = /** @type {string} */ (jspb.Message.getField(message, 1));
  8680    if (f != null) {
  8681      writer.writeString(
  8682        1,
  8683        f
  8684      );
  8685    }
  8686    f = /** @type {boolean} */ (jspb.Message.getField(message, 2));
  8687    if (f != null) {
  8688      writer.writeBool(
  8689        2,
  8690        f
  8691      );
  8692    }
  8693  };
  8694  
  8695  
  8696  /**
  8697   * required string name_part = 1;
  8698   * @return {string}
  8699   */
  8700  proto.google.protobuf.UninterpretedOption.NamePart.prototype.getNamePart = function() {
  8701    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
  8702  };
  8703  
  8704  
  8705  /**
  8706   * @param {string} value
  8707   * @return {!proto.google.protobuf.UninterpretedOption.NamePart} returns this
  8708   */
  8709  proto.google.protobuf.UninterpretedOption.NamePart.prototype.setNamePart = function(value) {
  8710    return jspb.Message.setField(this, 1, value);
  8711  };
  8712  
  8713  
  8714  /**
  8715   * Clears the field making it undefined.
  8716   * @return {!proto.google.protobuf.UninterpretedOption.NamePart} returns this
  8717   */
  8718  proto.google.protobuf.UninterpretedOption.NamePart.prototype.clearNamePart = function() {
  8719    return jspb.Message.setField(this, 1, undefined);
  8720  };
  8721  
  8722  
  8723  /**
  8724   * Returns whether this field is set.
  8725   * @return {boolean}
  8726   */
  8727  proto.google.protobuf.UninterpretedOption.NamePart.prototype.hasNamePart = function() {
  8728    return jspb.Message.getField(this, 1) != null;
  8729  };
  8730  
  8731  
  8732  /**
  8733   * required bool is_extension = 2;
  8734   * @return {boolean}
  8735   */
  8736  proto.google.protobuf.UninterpretedOption.NamePart.prototype.getIsExtension = function() {
  8737    return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
  8738  };
  8739  
  8740  
  8741  /**
  8742   * @param {boolean} value
  8743   * @return {!proto.google.protobuf.UninterpretedOption.NamePart} returns this
  8744   */
  8745  proto.google.protobuf.UninterpretedOption.NamePart.prototype.setIsExtension = function(value) {
  8746    return jspb.Message.setField(this, 2, value);
  8747  };
  8748  
  8749  
  8750  /**
  8751   * Clears the field making it undefined.
  8752   * @return {!proto.google.protobuf.UninterpretedOption.NamePart} returns this
  8753   */
  8754  proto.google.protobuf.UninterpretedOption.NamePart.prototype.clearIsExtension = function() {
  8755    return jspb.Message.setField(this, 2, undefined);
  8756  };
  8757  
  8758  
  8759  /**
  8760   * Returns whether this field is set.
  8761   * @return {boolean}
  8762   */
  8763  proto.google.protobuf.UninterpretedOption.NamePart.prototype.hasIsExtension = function() {
  8764    return jspb.Message.getField(this, 2) != null;
  8765  };
  8766  
  8767  
  8768  /**
  8769   * repeated NamePart name = 2;
  8770   * @return {!Array<!proto.google.protobuf.UninterpretedOption.NamePart>}
  8771   */
  8772  proto.google.protobuf.UninterpretedOption.prototype.getNameList = function() {
  8773    return /** @type{!Array<!proto.google.protobuf.UninterpretedOption.NamePart>} */ (
  8774      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.UninterpretedOption.NamePart, 2));
  8775  };
  8776  
  8777  
  8778  /**
  8779   * @param {!Array<!proto.google.protobuf.UninterpretedOption.NamePart>} value
  8780   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8781  */
  8782  proto.google.protobuf.UninterpretedOption.prototype.setNameList = function(value) {
  8783    return jspb.Message.setRepeatedWrapperField(this, 2, value);
  8784  };
  8785  
  8786  
  8787  /**
  8788   * @param {!proto.google.protobuf.UninterpretedOption.NamePart=} opt_value
  8789   * @param {number=} opt_index
  8790   * @return {!proto.google.protobuf.UninterpretedOption.NamePart}
  8791   */
  8792  proto.google.protobuf.UninterpretedOption.prototype.addName = function(opt_value, opt_index) {
  8793    return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.google.protobuf.UninterpretedOption.NamePart, opt_index);
  8794  };
  8795  
  8796  
  8797  /**
  8798   * Clears the list making it empty but non-null.
  8799   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8800   */
  8801  proto.google.protobuf.UninterpretedOption.prototype.clearNameList = function() {
  8802    return this.setNameList([]);
  8803  };
  8804  
  8805  
  8806  /**
  8807   * optional string identifier_value = 3;
  8808   * @return {string}
  8809   */
  8810  proto.google.protobuf.UninterpretedOption.prototype.getIdentifierValue = function() {
  8811    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  8812  };
  8813  
  8814  
  8815  /**
  8816   * @param {string} value
  8817   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8818   */
  8819  proto.google.protobuf.UninterpretedOption.prototype.setIdentifierValue = function(value) {
  8820    return jspb.Message.setField(this, 3, value);
  8821  };
  8822  
  8823  
  8824  /**
  8825   * Clears the field making it undefined.
  8826   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8827   */
  8828  proto.google.protobuf.UninterpretedOption.prototype.clearIdentifierValue = function() {
  8829    return jspb.Message.setField(this, 3, undefined);
  8830  };
  8831  
  8832  
  8833  /**
  8834   * Returns whether this field is set.
  8835   * @return {boolean}
  8836   */
  8837  proto.google.protobuf.UninterpretedOption.prototype.hasIdentifierValue = function() {
  8838    return jspb.Message.getField(this, 3) != null;
  8839  };
  8840  
  8841  
  8842  /**
  8843   * optional uint64 positive_int_value = 4;
  8844   * @return {number}
  8845   */
  8846  proto.google.protobuf.UninterpretedOption.prototype.getPositiveIntValue = function() {
  8847    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
  8848  };
  8849  
  8850  
  8851  /**
  8852   * @param {number} value
  8853   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8854   */
  8855  proto.google.protobuf.UninterpretedOption.prototype.setPositiveIntValue = function(value) {
  8856    return jspb.Message.setField(this, 4, value);
  8857  };
  8858  
  8859  
  8860  /**
  8861   * Clears the field making it undefined.
  8862   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8863   */
  8864  proto.google.protobuf.UninterpretedOption.prototype.clearPositiveIntValue = function() {
  8865    return jspb.Message.setField(this, 4, undefined);
  8866  };
  8867  
  8868  
  8869  /**
  8870   * Returns whether this field is set.
  8871   * @return {boolean}
  8872   */
  8873  proto.google.protobuf.UninterpretedOption.prototype.hasPositiveIntValue = function() {
  8874    return jspb.Message.getField(this, 4) != null;
  8875  };
  8876  
  8877  
  8878  /**
  8879   * optional int64 negative_int_value = 5;
  8880   * @return {number}
  8881   */
  8882  proto.google.protobuf.UninterpretedOption.prototype.getNegativeIntValue = function() {
  8883    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
  8884  };
  8885  
  8886  
  8887  /**
  8888   * @param {number} value
  8889   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8890   */
  8891  proto.google.protobuf.UninterpretedOption.prototype.setNegativeIntValue = function(value) {
  8892    return jspb.Message.setField(this, 5, value);
  8893  };
  8894  
  8895  
  8896  /**
  8897   * Clears the field making it undefined.
  8898   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8899   */
  8900  proto.google.protobuf.UninterpretedOption.prototype.clearNegativeIntValue = function() {
  8901    return jspb.Message.setField(this, 5, undefined);
  8902  };
  8903  
  8904  
  8905  /**
  8906   * Returns whether this field is set.
  8907   * @return {boolean}
  8908   */
  8909  proto.google.protobuf.UninterpretedOption.prototype.hasNegativeIntValue = function() {
  8910    return jspb.Message.getField(this, 5) != null;
  8911  };
  8912  
  8913  
  8914  /**
  8915   * optional double double_value = 6;
  8916   * @return {number}
  8917   */
  8918  proto.google.protobuf.UninterpretedOption.prototype.getDoubleValue = function() {
  8919    return /** @type {number} */ (jspb.Message.getFloatingPointFieldWithDefault(this, 6, 0.0));
  8920  };
  8921  
  8922  
  8923  /**
  8924   * @param {number} value
  8925   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8926   */
  8927  proto.google.protobuf.UninterpretedOption.prototype.setDoubleValue = function(value) {
  8928    return jspb.Message.setField(this, 6, value);
  8929  };
  8930  
  8931  
  8932  /**
  8933   * Clears the field making it undefined.
  8934   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8935   */
  8936  proto.google.protobuf.UninterpretedOption.prototype.clearDoubleValue = function() {
  8937    return jspb.Message.setField(this, 6, undefined);
  8938  };
  8939  
  8940  
  8941  /**
  8942   * Returns whether this field is set.
  8943   * @return {boolean}
  8944   */
  8945  proto.google.protobuf.UninterpretedOption.prototype.hasDoubleValue = function() {
  8946    return jspb.Message.getField(this, 6) != null;
  8947  };
  8948  
  8949  
  8950  /**
  8951   * optional bytes string_value = 7;
  8952   * @return {!(string|Uint8Array)}
  8953   */
  8954  proto.google.protobuf.UninterpretedOption.prototype.getStringValue = function() {
  8955    return /** @type {!(string|Uint8Array)} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
  8956  };
  8957  
  8958  
  8959  /**
  8960   * optional bytes string_value = 7;
  8961   * This is a type-conversion wrapper around `getStringValue()`
  8962   * @return {string}
  8963   */
  8964  proto.google.protobuf.UninterpretedOption.prototype.getStringValue_asB64 = function() {
  8965    return /** @type {string} */ (jspb.Message.bytesAsB64(
  8966        this.getStringValue()));
  8967  };
  8968  
  8969  
  8970  /**
  8971   * optional bytes string_value = 7;
  8972   * Note that Uint8Array is not supported on all browsers.
  8973   * @see http://caniuse.com/Uint8Array
  8974   * This is a type-conversion wrapper around `getStringValue()`
  8975   * @return {!Uint8Array}
  8976   */
  8977  proto.google.protobuf.UninterpretedOption.prototype.getStringValue_asU8 = function() {
  8978    return /** @type {!Uint8Array} */ (jspb.Message.bytesAsU8(
  8979        this.getStringValue()));
  8980  };
  8981  
  8982  
  8983  /**
  8984   * @param {!(string|Uint8Array)} value
  8985   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8986   */
  8987  proto.google.protobuf.UninterpretedOption.prototype.setStringValue = function(value) {
  8988    return jspb.Message.setField(this, 7, value);
  8989  };
  8990  
  8991  
  8992  /**
  8993   * Clears the field making it undefined.
  8994   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  8995   */
  8996  proto.google.protobuf.UninterpretedOption.prototype.clearStringValue = function() {
  8997    return jspb.Message.setField(this, 7, undefined);
  8998  };
  8999  
  9000  
  9001  /**
  9002   * Returns whether this field is set.
  9003   * @return {boolean}
  9004   */
  9005  proto.google.protobuf.UninterpretedOption.prototype.hasStringValue = function() {
  9006    return jspb.Message.getField(this, 7) != null;
  9007  };
  9008  
  9009  
  9010  /**
  9011   * optional string aggregate_value = 8;
  9012   * @return {string}
  9013   */
  9014  proto.google.protobuf.UninterpretedOption.prototype.getAggregateValue = function() {
  9015    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
  9016  };
  9017  
  9018  
  9019  /**
  9020   * @param {string} value
  9021   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  9022   */
  9023  proto.google.protobuf.UninterpretedOption.prototype.setAggregateValue = function(value) {
  9024    return jspb.Message.setField(this, 8, value);
  9025  };
  9026  
  9027  
  9028  /**
  9029   * Clears the field making it undefined.
  9030   * @return {!proto.google.protobuf.UninterpretedOption} returns this
  9031   */
  9032  proto.google.protobuf.UninterpretedOption.prototype.clearAggregateValue = function() {
  9033    return jspb.Message.setField(this, 8, undefined);
  9034  };
  9035  
  9036  
  9037  /**
  9038   * Returns whether this field is set.
  9039   * @return {boolean}
  9040   */
  9041  proto.google.protobuf.UninterpretedOption.prototype.hasAggregateValue = function() {
  9042    return jspb.Message.getField(this, 8) != null;
  9043  };
  9044  
  9045  
  9046  
  9047  /**
  9048   * List of repeated fields within this message type.
  9049   * @private {!Array<number>}
  9050   * @const
  9051   */
  9052  proto.google.protobuf.SourceCodeInfo.repeatedFields_ = [1];
  9053  
  9054  
  9055  
  9056  if (jspb.Message.GENERATE_TO_OBJECT) {
  9057  /**
  9058   * Creates an object representation of this proto.
  9059   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  9060   * Optional fields that are not set will be set to undefined.
  9061   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  9062   * For the list of reserved names please see:
  9063   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  9064   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  9065   *     JSPB instance for transitional soy proto support:
  9066   *     http://goto/soy-param-migration
  9067   * @return {!Object}
  9068   */
  9069  proto.google.protobuf.SourceCodeInfo.prototype.toObject = function(opt_includeInstance) {
  9070    return proto.google.protobuf.SourceCodeInfo.toObject(opt_includeInstance, this);
  9071  };
  9072  
  9073  
  9074  /**
  9075   * Static version of the {@see toObject} method.
  9076   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  9077   *     the JSPB instance for transitional soy proto support:
  9078   *     http://goto/soy-param-migration
  9079   * @param {!proto.google.protobuf.SourceCodeInfo} msg The msg instance to transform.
  9080   * @return {!Object}
  9081   * @suppress {unusedLocalVariables} f is only used for nested messages
  9082   */
  9083  proto.google.protobuf.SourceCodeInfo.toObject = function(includeInstance, msg) {
  9084    var f, obj = {
  9085      locationList: jspb.Message.toObjectList(msg.getLocationList(),
  9086      proto.google.protobuf.SourceCodeInfo.Location.toObject, includeInstance)
  9087    };
  9088  
  9089    if (includeInstance) {
  9090      obj.$jspbMessageInstance = msg;
  9091    }
  9092    return obj;
  9093  };
  9094  }
  9095  
  9096  
  9097  /**
  9098   * Deserializes binary data (in protobuf wire format).
  9099   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  9100   * @return {!proto.google.protobuf.SourceCodeInfo}
  9101   */
  9102  proto.google.protobuf.SourceCodeInfo.deserializeBinary = function(bytes) {
  9103    var reader = new jspb.BinaryReader(bytes);
  9104    var msg = new proto.google.protobuf.SourceCodeInfo;
  9105    return proto.google.protobuf.SourceCodeInfo.deserializeBinaryFromReader(msg, reader);
  9106  };
  9107  
  9108  
  9109  /**
  9110   * Deserializes binary data (in protobuf wire format) from the
  9111   * given reader into the given message object.
  9112   * @param {!proto.google.protobuf.SourceCodeInfo} msg The message object to deserialize into.
  9113   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  9114   * @return {!proto.google.protobuf.SourceCodeInfo}
  9115   */
  9116  proto.google.protobuf.SourceCodeInfo.deserializeBinaryFromReader = function(msg, reader) {
  9117    while (reader.nextField()) {
  9118      if (reader.isEndGroup()) {
  9119        break;
  9120      }
  9121      var field = reader.getFieldNumber();
  9122      switch (field) {
  9123      case 1:
  9124        var value = new proto.google.protobuf.SourceCodeInfo.Location;
  9125        reader.readMessage(value,proto.google.protobuf.SourceCodeInfo.Location.deserializeBinaryFromReader);
  9126        msg.addLocation(value);
  9127        break;
  9128      default:
  9129        reader.skipField();
  9130        break;
  9131      }
  9132    }
  9133    return msg;
  9134  };
  9135  
  9136  
  9137  /**
  9138   * Serializes the message to binary data (in protobuf wire format).
  9139   * @return {!Uint8Array}
  9140   */
  9141  proto.google.protobuf.SourceCodeInfo.prototype.serializeBinary = function() {
  9142    var writer = new jspb.BinaryWriter();
  9143    proto.google.protobuf.SourceCodeInfo.serializeBinaryToWriter(this, writer);
  9144    return writer.getResultBuffer();
  9145  };
  9146  
  9147  
  9148  /**
  9149   * Serializes the given message to binary data (in protobuf wire
  9150   * format), writing to the given BinaryWriter.
  9151   * @param {!proto.google.protobuf.SourceCodeInfo} message
  9152   * @param {!jspb.BinaryWriter} writer
  9153   * @suppress {unusedLocalVariables} f is only used for nested messages
  9154   */
  9155  proto.google.protobuf.SourceCodeInfo.serializeBinaryToWriter = function(message, writer) {
  9156    var f = undefined;
  9157    f = message.getLocationList();
  9158    if (f.length > 0) {
  9159      writer.writeRepeatedMessage(
  9160        1,
  9161        f,
  9162        proto.google.protobuf.SourceCodeInfo.Location.serializeBinaryToWriter
  9163      );
  9164    }
  9165  };
  9166  
  9167  
  9168  
  9169  /**
  9170   * List of repeated fields within this message type.
  9171   * @private {!Array<number>}
  9172   * @const
  9173   */
  9174  proto.google.protobuf.SourceCodeInfo.Location.repeatedFields_ = [1,2,6];
  9175  
  9176  
  9177  
  9178  if (jspb.Message.GENERATE_TO_OBJECT) {
  9179  /**
  9180   * Creates an object representation of this proto.
  9181   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  9182   * Optional fields that are not set will be set to undefined.
  9183   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  9184   * For the list of reserved names please see:
  9185   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  9186   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  9187   *     JSPB instance for transitional soy proto support:
  9188   *     http://goto/soy-param-migration
  9189   * @return {!Object}
  9190   */
  9191  proto.google.protobuf.SourceCodeInfo.Location.prototype.toObject = function(opt_includeInstance) {
  9192    return proto.google.protobuf.SourceCodeInfo.Location.toObject(opt_includeInstance, this);
  9193  };
  9194  
  9195  
  9196  /**
  9197   * Static version of the {@see toObject} method.
  9198   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  9199   *     the JSPB instance for transitional soy proto support:
  9200   *     http://goto/soy-param-migration
  9201   * @param {!proto.google.protobuf.SourceCodeInfo.Location} msg The msg instance to transform.
  9202   * @return {!Object}
  9203   * @suppress {unusedLocalVariables} f is only used for nested messages
  9204   */
  9205  proto.google.protobuf.SourceCodeInfo.Location.toObject = function(includeInstance, msg) {
  9206    var f, obj = {
  9207      pathList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,
  9208      spanList: (f = jspb.Message.getRepeatedField(msg, 2)) == null ? undefined : f,
  9209      leadingComments: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
  9210      trailingComments: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f,
  9211      leadingDetachedCommentsList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f
  9212    };
  9213  
  9214    if (includeInstance) {
  9215      obj.$jspbMessageInstance = msg;
  9216    }
  9217    return obj;
  9218  };
  9219  }
  9220  
  9221  
  9222  /**
  9223   * Deserializes binary data (in protobuf wire format).
  9224   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  9225   * @return {!proto.google.protobuf.SourceCodeInfo.Location}
  9226   */
  9227  proto.google.protobuf.SourceCodeInfo.Location.deserializeBinary = function(bytes) {
  9228    var reader = new jspb.BinaryReader(bytes);
  9229    var msg = new proto.google.protobuf.SourceCodeInfo.Location;
  9230    return proto.google.protobuf.SourceCodeInfo.Location.deserializeBinaryFromReader(msg, reader);
  9231  };
  9232  
  9233  
  9234  /**
  9235   * Deserializes binary data (in protobuf wire format) from the
  9236   * given reader into the given message object.
  9237   * @param {!proto.google.protobuf.SourceCodeInfo.Location} msg The message object to deserialize into.
  9238   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  9239   * @return {!proto.google.protobuf.SourceCodeInfo.Location}
  9240   */
  9241  proto.google.protobuf.SourceCodeInfo.Location.deserializeBinaryFromReader = function(msg, reader) {
  9242    while (reader.nextField()) {
  9243      if (reader.isEndGroup()) {
  9244        break;
  9245      }
  9246      var field = reader.getFieldNumber();
  9247      switch (field) {
  9248      case 1:
  9249        var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);
  9250        for (var i = 0; i < values.length; i++) {
  9251          msg.addPath(values[i]);
  9252        }
  9253        break;
  9254      case 2:
  9255        var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);
  9256        for (var i = 0; i < values.length; i++) {
  9257          msg.addSpan(values[i]);
  9258        }
  9259        break;
  9260      case 3:
  9261        var value = /** @type {string} */ (reader.readString());
  9262        msg.setLeadingComments(value);
  9263        break;
  9264      case 4:
  9265        var value = /** @type {string} */ (reader.readString());
  9266        msg.setTrailingComments(value);
  9267        break;
  9268      case 6:
  9269        var value = /** @type {string} */ (reader.readString());
  9270        msg.addLeadingDetachedComments(value);
  9271        break;
  9272      default:
  9273        reader.skipField();
  9274        break;
  9275      }
  9276    }
  9277    return msg;
  9278  };
  9279  
  9280  
  9281  /**
  9282   * Serializes the message to binary data (in protobuf wire format).
  9283   * @return {!Uint8Array}
  9284   */
  9285  proto.google.protobuf.SourceCodeInfo.Location.prototype.serializeBinary = function() {
  9286    var writer = new jspb.BinaryWriter();
  9287    proto.google.protobuf.SourceCodeInfo.Location.serializeBinaryToWriter(this, writer);
  9288    return writer.getResultBuffer();
  9289  };
  9290  
  9291  
  9292  /**
  9293   * Serializes the given message to binary data (in protobuf wire
  9294   * format), writing to the given BinaryWriter.
  9295   * @param {!proto.google.protobuf.SourceCodeInfo.Location} message
  9296   * @param {!jspb.BinaryWriter} writer
  9297   * @suppress {unusedLocalVariables} f is only used for nested messages
  9298   */
  9299  proto.google.protobuf.SourceCodeInfo.Location.serializeBinaryToWriter = function(message, writer) {
  9300    var f = undefined;
  9301    f = message.getPathList();
  9302    if (f.length > 0) {
  9303      writer.writePackedInt32(
  9304        1,
  9305        f
  9306      );
  9307    }
  9308    f = message.getSpanList();
  9309    if (f.length > 0) {
  9310      writer.writePackedInt32(
  9311        2,
  9312        f
  9313      );
  9314    }
  9315    f = /** @type {string} */ (jspb.Message.getField(message, 3));
  9316    if (f != null) {
  9317      writer.writeString(
  9318        3,
  9319        f
  9320      );
  9321    }
  9322    f = /** @type {string} */ (jspb.Message.getField(message, 4));
  9323    if (f != null) {
  9324      writer.writeString(
  9325        4,
  9326        f
  9327      );
  9328    }
  9329    f = message.getLeadingDetachedCommentsList();
  9330    if (f.length > 0) {
  9331      writer.writeRepeatedString(
  9332        6,
  9333        f
  9334      );
  9335    }
  9336  };
  9337  
  9338  
  9339  /**
  9340   * repeated int32 path = 1;
  9341   * @return {!Array<number>}
  9342   */
  9343  proto.google.protobuf.SourceCodeInfo.Location.prototype.getPathList = function() {
  9344    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 1));
  9345  };
  9346  
  9347  
  9348  /**
  9349   * @param {!Array<number>} value
  9350   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9351   */
  9352  proto.google.protobuf.SourceCodeInfo.Location.prototype.setPathList = function(value) {
  9353    return jspb.Message.setField(this, 1, value || []);
  9354  };
  9355  
  9356  
  9357  /**
  9358   * @param {number} value
  9359   * @param {number=} opt_index
  9360   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9361   */
  9362  proto.google.protobuf.SourceCodeInfo.Location.prototype.addPath = function(value, opt_index) {
  9363    return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
  9364  };
  9365  
  9366  
  9367  /**
  9368   * Clears the list making it empty but non-null.
  9369   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9370   */
  9371  proto.google.protobuf.SourceCodeInfo.Location.prototype.clearPathList = function() {
  9372    return this.setPathList([]);
  9373  };
  9374  
  9375  
  9376  /**
  9377   * repeated int32 span = 2;
  9378   * @return {!Array<number>}
  9379   */
  9380  proto.google.protobuf.SourceCodeInfo.Location.prototype.getSpanList = function() {
  9381    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 2));
  9382  };
  9383  
  9384  
  9385  /**
  9386   * @param {!Array<number>} value
  9387   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9388   */
  9389  proto.google.protobuf.SourceCodeInfo.Location.prototype.setSpanList = function(value) {
  9390    return jspb.Message.setField(this, 2, value || []);
  9391  };
  9392  
  9393  
  9394  /**
  9395   * @param {number} value
  9396   * @param {number=} opt_index
  9397   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9398   */
  9399  proto.google.protobuf.SourceCodeInfo.Location.prototype.addSpan = function(value, opt_index) {
  9400    return jspb.Message.addToRepeatedField(this, 2, value, opt_index);
  9401  };
  9402  
  9403  
  9404  /**
  9405   * Clears the list making it empty but non-null.
  9406   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9407   */
  9408  proto.google.protobuf.SourceCodeInfo.Location.prototype.clearSpanList = function() {
  9409    return this.setSpanList([]);
  9410  };
  9411  
  9412  
  9413  /**
  9414   * optional string leading_comments = 3;
  9415   * @return {string}
  9416   */
  9417  proto.google.protobuf.SourceCodeInfo.Location.prototype.getLeadingComments = function() {
  9418    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
  9419  };
  9420  
  9421  
  9422  /**
  9423   * @param {string} value
  9424   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9425   */
  9426  proto.google.protobuf.SourceCodeInfo.Location.prototype.setLeadingComments = function(value) {
  9427    return jspb.Message.setField(this, 3, value);
  9428  };
  9429  
  9430  
  9431  /**
  9432   * Clears the field making it undefined.
  9433   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9434   */
  9435  proto.google.protobuf.SourceCodeInfo.Location.prototype.clearLeadingComments = function() {
  9436    return jspb.Message.setField(this, 3, undefined);
  9437  };
  9438  
  9439  
  9440  /**
  9441   * Returns whether this field is set.
  9442   * @return {boolean}
  9443   */
  9444  proto.google.protobuf.SourceCodeInfo.Location.prototype.hasLeadingComments = function() {
  9445    return jspb.Message.getField(this, 3) != null;
  9446  };
  9447  
  9448  
  9449  /**
  9450   * optional string trailing_comments = 4;
  9451   * @return {string}
  9452   */
  9453  proto.google.protobuf.SourceCodeInfo.Location.prototype.getTrailingComments = function() {
  9454    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
  9455  };
  9456  
  9457  
  9458  /**
  9459   * @param {string} value
  9460   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9461   */
  9462  proto.google.protobuf.SourceCodeInfo.Location.prototype.setTrailingComments = function(value) {
  9463    return jspb.Message.setField(this, 4, value);
  9464  };
  9465  
  9466  
  9467  /**
  9468   * Clears the field making it undefined.
  9469   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9470   */
  9471  proto.google.protobuf.SourceCodeInfo.Location.prototype.clearTrailingComments = function() {
  9472    return jspb.Message.setField(this, 4, undefined);
  9473  };
  9474  
  9475  
  9476  /**
  9477   * Returns whether this field is set.
  9478   * @return {boolean}
  9479   */
  9480  proto.google.protobuf.SourceCodeInfo.Location.prototype.hasTrailingComments = function() {
  9481    return jspb.Message.getField(this, 4) != null;
  9482  };
  9483  
  9484  
  9485  /**
  9486   * repeated string leading_detached_comments = 6;
  9487   * @return {!Array<string>}
  9488   */
  9489  proto.google.protobuf.SourceCodeInfo.Location.prototype.getLeadingDetachedCommentsList = function() {
  9490    return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));
  9491  };
  9492  
  9493  
  9494  /**
  9495   * @param {!Array<string>} value
  9496   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9497   */
  9498  proto.google.protobuf.SourceCodeInfo.Location.prototype.setLeadingDetachedCommentsList = function(value) {
  9499    return jspb.Message.setField(this, 6, value || []);
  9500  };
  9501  
  9502  
  9503  /**
  9504   * @param {string} value
  9505   * @param {number=} opt_index
  9506   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9507   */
  9508  proto.google.protobuf.SourceCodeInfo.Location.prototype.addLeadingDetachedComments = function(value, opt_index) {
  9509    return jspb.Message.addToRepeatedField(this, 6, value, opt_index);
  9510  };
  9511  
  9512  
  9513  /**
  9514   * Clears the list making it empty but non-null.
  9515   * @return {!proto.google.protobuf.SourceCodeInfo.Location} returns this
  9516   */
  9517  proto.google.protobuf.SourceCodeInfo.Location.prototype.clearLeadingDetachedCommentsList = function() {
  9518    return this.setLeadingDetachedCommentsList([]);
  9519  };
  9520  
  9521  
  9522  /**
  9523   * repeated Location location = 1;
  9524   * @return {!Array<!proto.google.protobuf.SourceCodeInfo.Location>}
  9525   */
  9526  proto.google.protobuf.SourceCodeInfo.prototype.getLocationList = function() {
  9527    return /** @type{!Array<!proto.google.protobuf.SourceCodeInfo.Location>} */ (
  9528      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.SourceCodeInfo.Location, 1));
  9529  };
  9530  
  9531  
  9532  /**
  9533   * @param {!Array<!proto.google.protobuf.SourceCodeInfo.Location>} value
  9534   * @return {!proto.google.protobuf.SourceCodeInfo} returns this
  9535  */
  9536  proto.google.protobuf.SourceCodeInfo.prototype.setLocationList = function(value) {
  9537    return jspb.Message.setRepeatedWrapperField(this, 1, value);
  9538  };
  9539  
  9540  
  9541  /**
  9542   * @param {!proto.google.protobuf.SourceCodeInfo.Location=} opt_value
  9543   * @param {number=} opt_index
  9544   * @return {!proto.google.protobuf.SourceCodeInfo.Location}
  9545   */
  9546  proto.google.protobuf.SourceCodeInfo.prototype.addLocation = function(opt_value, opt_index) {
  9547    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.google.protobuf.SourceCodeInfo.Location, opt_index);
  9548  };
  9549  
  9550  
  9551  /**
  9552   * Clears the list making it empty but non-null.
  9553   * @return {!proto.google.protobuf.SourceCodeInfo} returns this
  9554   */
  9555  proto.google.protobuf.SourceCodeInfo.prototype.clearLocationList = function() {
  9556    return this.setLocationList([]);
  9557  };
  9558  
  9559  
  9560  
  9561  /**
  9562   * List of repeated fields within this message type.
  9563   * @private {!Array<number>}
  9564   * @const
  9565   */
  9566  proto.google.protobuf.GeneratedCodeInfo.repeatedFields_ = [1];
  9567  
  9568  
  9569  
  9570  if (jspb.Message.GENERATE_TO_OBJECT) {
  9571  /**
  9572   * Creates an object representation of this proto.
  9573   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  9574   * Optional fields that are not set will be set to undefined.
  9575   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  9576   * For the list of reserved names please see:
  9577   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  9578   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  9579   *     JSPB instance for transitional soy proto support:
  9580   *     http://goto/soy-param-migration
  9581   * @return {!Object}
  9582   */
  9583  proto.google.protobuf.GeneratedCodeInfo.prototype.toObject = function(opt_includeInstance) {
  9584    return proto.google.protobuf.GeneratedCodeInfo.toObject(opt_includeInstance, this);
  9585  };
  9586  
  9587  
  9588  /**
  9589   * Static version of the {@see toObject} method.
  9590   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  9591   *     the JSPB instance for transitional soy proto support:
  9592   *     http://goto/soy-param-migration
  9593   * @param {!proto.google.protobuf.GeneratedCodeInfo} msg The msg instance to transform.
  9594   * @return {!Object}
  9595   * @suppress {unusedLocalVariables} f is only used for nested messages
  9596   */
  9597  proto.google.protobuf.GeneratedCodeInfo.toObject = function(includeInstance, msg) {
  9598    var f, obj = {
  9599      annotationList: jspb.Message.toObjectList(msg.getAnnotationList(),
  9600      proto.google.protobuf.GeneratedCodeInfo.Annotation.toObject, includeInstance)
  9601    };
  9602  
  9603    if (includeInstance) {
  9604      obj.$jspbMessageInstance = msg;
  9605    }
  9606    return obj;
  9607  };
  9608  }
  9609  
  9610  
  9611  /**
  9612   * Deserializes binary data (in protobuf wire format).
  9613   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  9614   * @return {!proto.google.protobuf.GeneratedCodeInfo}
  9615   */
  9616  proto.google.protobuf.GeneratedCodeInfo.deserializeBinary = function(bytes) {
  9617    var reader = new jspb.BinaryReader(bytes);
  9618    var msg = new proto.google.protobuf.GeneratedCodeInfo;
  9619    return proto.google.protobuf.GeneratedCodeInfo.deserializeBinaryFromReader(msg, reader);
  9620  };
  9621  
  9622  
  9623  /**
  9624   * Deserializes binary data (in protobuf wire format) from the
  9625   * given reader into the given message object.
  9626   * @param {!proto.google.protobuf.GeneratedCodeInfo} msg The message object to deserialize into.
  9627   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  9628   * @return {!proto.google.protobuf.GeneratedCodeInfo}
  9629   */
  9630  proto.google.protobuf.GeneratedCodeInfo.deserializeBinaryFromReader = function(msg, reader) {
  9631    while (reader.nextField()) {
  9632      if (reader.isEndGroup()) {
  9633        break;
  9634      }
  9635      var field = reader.getFieldNumber();
  9636      switch (field) {
  9637      case 1:
  9638        var value = new proto.google.protobuf.GeneratedCodeInfo.Annotation;
  9639        reader.readMessage(value,proto.google.protobuf.GeneratedCodeInfo.Annotation.deserializeBinaryFromReader);
  9640        msg.addAnnotation(value);
  9641        break;
  9642      default:
  9643        reader.skipField();
  9644        break;
  9645      }
  9646    }
  9647    return msg;
  9648  };
  9649  
  9650  
  9651  /**
  9652   * Serializes the message to binary data (in protobuf wire format).
  9653   * @return {!Uint8Array}
  9654   */
  9655  proto.google.protobuf.GeneratedCodeInfo.prototype.serializeBinary = function() {
  9656    var writer = new jspb.BinaryWriter();
  9657    proto.google.protobuf.GeneratedCodeInfo.serializeBinaryToWriter(this, writer);
  9658    return writer.getResultBuffer();
  9659  };
  9660  
  9661  
  9662  /**
  9663   * Serializes the given message to binary data (in protobuf wire
  9664   * format), writing to the given BinaryWriter.
  9665   * @param {!proto.google.protobuf.GeneratedCodeInfo} message
  9666   * @param {!jspb.BinaryWriter} writer
  9667   * @suppress {unusedLocalVariables} f is only used for nested messages
  9668   */
  9669  proto.google.protobuf.GeneratedCodeInfo.serializeBinaryToWriter = function(message, writer) {
  9670    var f = undefined;
  9671    f = message.getAnnotationList();
  9672    if (f.length > 0) {
  9673      writer.writeRepeatedMessage(
  9674        1,
  9675        f,
  9676        proto.google.protobuf.GeneratedCodeInfo.Annotation.serializeBinaryToWriter
  9677      );
  9678    }
  9679  };
  9680  
  9681  
  9682  
  9683  /**
  9684   * List of repeated fields within this message type.
  9685   * @private {!Array<number>}
  9686   * @const
  9687   */
  9688  proto.google.protobuf.GeneratedCodeInfo.Annotation.repeatedFields_ = [1];
  9689  
  9690  
  9691  
  9692  if (jspb.Message.GENERATE_TO_OBJECT) {
  9693  /**
  9694   * Creates an object representation of this proto.
  9695   * Field names that are reserved in JavaScript and will be renamed to pb_name.
  9696   * Optional fields that are not set will be set to undefined.
  9697   * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
  9698   * For the list of reserved names please see:
  9699   *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
  9700   * @param {boolean=} opt_includeInstance Deprecated. whether to include the
  9701   *     JSPB instance for transitional soy proto support:
  9702   *     http://goto/soy-param-migration
  9703   * @return {!Object}
  9704   */
  9705  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.toObject = function(opt_includeInstance) {
  9706    return proto.google.protobuf.GeneratedCodeInfo.Annotation.toObject(opt_includeInstance, this);
  9707  };
  9708  
  9709  
  9710  /**
  9711   * Static version of the {@see toObject} method.
  9712   * @param {boolean|undefined} includeInstance Deprecated. Whether to include
  9713   *     the JSPB instance for transitional soy proto support:
  9714   *     http://goto/soy-param-migration
  9715   * @param {!proto.google.protobuf.GeneratedCodeInfo.Annotation} msg The msg instance to transform.
  9716   * @return {!Object}
  9717   * @suppress {unusedLocalVariables} f is only used for nested messages
  9718   */
  9719  proto.google.protobuf.GeneratedCodeInfo.Annotation.toObject = function(includeInstance, msg) {
  9720    var f, obj = {
  9721      pathList: (f = jspb.Message.getRepeatedField(msg, 1)) == null ? undefined : f,
  9722      sourceFile: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
  9723      begin: (f = jspb.Message.getField(msg, 3)) == null ? undefined : f,
  9724      end: (f = jspb.Message.getField(msg, 4)) == null ? undefined : f
  9725    };
  9726  
  9727    if (includeInstance) {
  9728      obj.$jspbMessageInstance = msg;
  9729    }
  9730    return obj;
  9731  };
  9732  }
  9733  
  9734  
  9735  /**
  9736   * Deserializes binary data (in protobuf wire format).
  9737   * @param {jspb.ByteSource} bytes The bytes to deserialize.
  9738   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation}
  9739   */
  9740  proto.google.protobuf.GeneratedCodeInfo.Annotation.deserializeBinary = function(bytes) {
  9741    var reader = new jspb.BinaryReader(bytes);
  9742    var msg = new proto.google.protobuf.GeneratedCodeInfo.Annotation;
  9743    return proto.google.protobuf.GeneratedCodeInfo.Annotation.deserializeBinaryFromReader(msg, reader);
  9744  };
  9745  
  9746  
  9747  /**
  9748   * Deserializes binary data (in protobuf wire format) from the
  9749   * given reader into the given message object.
  9750   * @param {!proto.google.protobuf.GeneratedCodeInfo.Annotation} msg The message object to deserialize into.
  9751   * @param {!jspb.BinaryReader} reader The BinaryReader to use.
  9752   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation}
  9753   */
  9754  proto.google.protobuf.GeneratedCodeInfo.Annotation.deserializeBinaryFromReader = function(msg, reader) {
  9755    while (reader.nextField()) {
  9756      if (reader.isEndGroup()) {
  9757        break;
  9758      }
  9759      var field = reader.getFieldNumber();
  9760      switch (field) {
  9761      case 1:
  9762        var values = /** @type {!Array<number>} */ (reader.isDelimited() ? reader.readPackedInt32() : [reader.readInt32()]);
  9763        for (var i = 0; i < values.length; i++) {
  9764          msg.addPath(values[i]);
  9765        }
  9766        break;
  9767      case 2:
  9768        var value = /** @type {string} */ (reader.readString());
  9769        msg.setSourceFile(value);
  9770        break;
  9771      case 3:
  9772        var value = /** @type {number} */ (reader.readInt32());
  9773        msg.setBegin(value);
  9774        break;
  9775      case 4:
  9776        var value = /** @type {number} */ (reader.readInt32());
  9777        msg.setEnd(value);
  9778        break;
  9779      default:
  9780        reader.skipField();
  9781        break;
  9782      }
  9783    }
  9784    return msg;
  9785  };
  9786  
  9787  
  9788  /**
  9789   * Serializes the message to binary data (in protobuf wire format).
  9790   * @return {!Uint8Array}
  9791   */
  9792  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.serializeBinary = function() {
  9793    var writer = new jspb.BinaryWriter();
  9794    proto.google.protobuf.GeneratedCodeInfo.Annotation.serializeBinaryToWriter(this, writer);
  9795    return writer.getResultBuffer();
  9796  };
  9797  
  9798  
  9799  /**
  9800   * Serializes the given message to binary data (in protobuf wire
  9801   * format), writing to the given BinaryWriter.
  9802   * @param {!proto.google.protobuf.GeneratedCodeInfo.Annotation} message
  9803   * @param {!jspb.BinaryWriter} writer
  9804   * @suppress {unusedLocalVariables} f is only used for nested messages
  9805   */
  9806  proto.google.protobuf.GeneratedCodeInfo.Annotation.serializeBinaryToWriter = function(message, writer) {
  9807    var f = undefined;
  9808    f = message.getPathList();
  9809    if (f.length > 0) {
  9810      writer.writePackedInt32(
  9811        1,
  9812        f
  9813      );
  9814    }
  9815    f = /** @type {string} */ (jspb.Message.getField(message, 2));
  9816    if (f != null) {
  9817      writer.writeString(
  9818        2,
  9819        f
  9820      );
  9821    }
  9822    f = /** @type {number} */ (jspb.Message.getField(message, 3));
  9823    if (f != null) {
  9824      writer.writeInt32(
  9825        3,
  9826        f
  9827      );
  9828    }
  9829    f = /** @type {number} */ (jspb.Message.getField(message, 4));
  9830    if (f != null) {
  9831      writer.writeInt32(
  9832        4,
  9833        f
  9834      );
  9835    }
  9836  };
  9837  
  9838  
  9839  /**
  9840   * repeated int32 path = 1;
  9841   * @return {!Array<number>}
  9842   */
  9843  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.getPathList = function() {
  9844    return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 1));
  9845  };
  9846  
  9847  
  9848  /**
  9849   * @param {!Array<number>} value
  9850   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9851   */
  9852  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.setPathList = function(value) {
  9853    return jspb.Message.setField(this, 1, value || []);
  9854  };
  9855  
  9856  
  9857  /**
  9858   * @param {number} value
  9859   * @param {number=} opt_index
  9860   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9861   */
  9862  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.addPath = function(value, opt_index) {
  9863    return jspb.Message.addToRepeatedField(this, 1, value, opt_index);
  9864  };
  9865  
  9866  
  9867  /**
  9868   * Clears the list making it empty but non-null.
  9869   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9870   */
  9871  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.clearPathList = function() {
  9872    return this.setPathList([]);
  9873  };
  9874  
  9875  
  9876  /**
  9877   * optional string source_file = 2;
  9878   * @return {string}
  9879   */
  9880  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.getSourceFile = function() {
  9881    return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
  9882  };
  9883  
  9884  
  9885  /**
  9886   * @param {string} value
  9887   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9888   */
  9889  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.setSourceFile = function(value) {
  9890    return jspb.Message.setField(this, 2, value);
  9891  };
  9892  
  9893  
  9894  /**
  9895   * Clears the field making it undefined.
  9896   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9897   */
  9898  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.clearSourceFile = function() {
  9899    return jspb.Message.setField(this, 2, undefined);
  9900  };
  9901  
  9902  
  9903  /**
  9904   * Returns whether this field is set.
  9905   * @return {boolean}
  9906   */
  9907  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.hasSourceFile = function() {
  9908    return jspb.Message.getField(this, 2) != null;
  9909  };
  9910  
  9911  
  9912  /**
  9913   * optional int32 begin = 3;
  9914   * @return {number}
  9915   */
  9916  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.getBegin = function() {
  9917    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
  9918  };
  9919  
  9920  
  9921  /**
  9922   * @param {number} value
  9923   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9924   */
  9925  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.setBegin = function(value) {
  9926    return jspb.Message.setField(this, 3, value);
  9927  };
  9928  
  9929  
  9930  /**
  9931   * Clears the field making it undefined.
  9932   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9933   */
  9934  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.clearBegin = function() {
  9935    return jspb.Message.setField(this, 3, undefined);
  9936  };
  9937  
  9938  
  9939  /**
  9940   * Returns whether this field is set.
  9941   * @return {boolean}
  9942   */
  9943  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.hasBegin = function() {
  9944    return jspb.Message.getField(this, 3) != null;
  9945  };
  9946  
  9947  
  9948  /**
  9949   * optional int32 end = 4;
  9950   * @return {number}
  9951   */
  9952  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.getEnd = function() {
  9953    return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
  9954  };
  9955  
  9956  
  9957  /**
  9958   * @param {number} value
  9959   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9960   */
  9961  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.setEnd = function(value) {
  9962    return jspb.Message.setField(this, 4, value);
  9963  };
  9964  
  9965  
  9966  /**
  9967   * Clears the field making it undefined.
  9968   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation} returns this
  9969   */
  9970  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.clearEnd = function() {
  9971    return jspb.Message.setField(this, 4, undefined);
  9972  };
  9973  
  9974  
  9975  /**
  9976   * Returns whether this field is set.
  9977   * @return {boolean}
  9978   */
  9979  proto.google.protobuf.GeneratedCodeInfo.Annotation.prototype.hasEnd = function() {
  9980    return jspb.Message.getField(this, 4) != null;
  9981  };
  9982  
  9983  
  9984  /**
  9985   * repeated Annotation annotation = 1;
  9986   * @return {!Array<!proto.google.protobuf.GeneratedCodeInfo.Annotation>}
  9987   */
  9988  proto.google.protobuf.GeneratedCodeInfo.prototype.getAnnotationList = function() {
  9989    return /** @type{!Array<!proto.google.protobuf.GeneratedCodeInfo.Annotation>} */ (
  9990      jspb.Message.getRepeatedWrapperField(this, proto.google.protobuf.GeneratedCodeInfo.Annotation, 1));
  9991  };
  9992  
  9993  
  9994  /**
  9995   * @param {!Array<!proto.google.protobuf.GeneratedCodeInfo.Annotation>} value
  9996   * @return {!proto.google.protobuf.GeneratedCodeInfo} returns this
  9997  */
  9998  proto.google.protobuf.GeneratedCodeInfo.prototype.setAnnotationList = function(value) {
  9999    return jspb.Message.setRepeatedWrapperField(this, 1, value);
 10000  };
 10001  
 10002  
 10003  /**
 10004   * @param {!proto.google.protobuf.GeneratedCodeInfo.Annotation=} opt_value
 10005   * @param {number=} opt_index
 10006   * @return {!proto.google.protobuf.GeneratedCodeInfo.Annotation}
 10007   */
 10008  proto.google.protobuf.GeneratedCodeInfo.prototype.addAnnotation = function(opt_value, opt_index) {
 10009    return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.google.protobuf.GeneratedCodeInfo.Annotation, opt_index);
 10010  };
 10011  
 10012  
 10013  /**
 10014   * Clears the list making it empty but non-null.
 10015   * @return {!proto.google.protobuf.GeneratedCodeInfo} returns this
 10016   */
 10017  proto.google.protobuf.GeneratedCodeInfo.prototype.clearAnnotationList = function() {
 10018    return this.setAnnotationList([]);
 10019  };
 10020  
 10021  
 10022  goog.object.extend(exports, proto.google.protobuf);