phenopackets/vrs/v1/vrs_pb.js

// source: phenopackets/vrs/v1/vrs.proto
/**
 * @fileoverview
 * @enhanceable
 * @suppress {missingRequire} reports error on implicit type usages.
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck

var jspb = require('google-protobuf');
var goog = jspb;
var global =
    (typeof globalThis !== 'undefined' && globalThis) ||
    (typeof window !== 'undefined' && window) ||
    (typeof global !== 'undefined' && global) ||
    (typeof self !== 'undefined' && self) ||
    (function () { return this; }).call(null) ||
    Function('return this')();

goog.exportSymbol('proto.org.ga4gh.vrs.v1.Abundance', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Abundance.AbundanceCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Allele', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Allele.LocationCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Allele.StateCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.ChromosomeLocation', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.CopyNumber', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.CopyNumber.CopiesCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.CopyNumber.SubjectCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.CytobandInterval', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.DefiniteRange', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.DerivedSequenceExpression', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Feature', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Feature.FeatureCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Gene', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Haplotype', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Haplotype.Member', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Haplotype.Member.ValueCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.IndefiniteRange', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.LiteralSequenceExpression', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Location', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Location.LocationCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.MolecularVariation', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.MolecularVariation.MolecularVariationCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Number', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.CountCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.SeqExprCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceExpression', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceExpression.SequenceExpressionCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceInterval', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceInterval.EndCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceInterval.StartCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceLocation', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceLocation.IntervalCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SequenceState', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SimpleInterval', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SystemicVariation', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.SystemicVariation.SystemicVariationCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Text', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.UtilityVariation', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.UtilityVariation.UtilityVariationCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Variation', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.Variation.VariationCase', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.VariationSet', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.VariationSet.Member', null, global);
goog.exportSymbol('proto.org.ga4gh.vrs.v1.VariationSet.Member.ValueCase', null, global);
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Variation = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Variation, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Variation.displayName = 'proto.org.ga4gh.vrs.v1.Variation';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.MolecularVariation = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.MolecularVariation.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.MolecularVariation, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.MolecularVariation.displayName = 'proto.org.ga4gh.vrs.v1.MolecularVariation';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.UtilityVariation = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.UtilityVariation.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.UtilityVariation, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.UtilityVariation.displayName = 'proto.org.ga4gh.vrs.v1.UtilityVariation';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.SystemicVariation = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.SystemicVariation.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.SystemicVariation, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.SystemicVariation.displayName = 'proto.org.ga4gh.vrs.v1.SystemicVariation';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Allele = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Allele, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Allele.displayName = 'proto.org.ga4gh.vrs.v1.Allele';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Haplotype = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.ga4gh.vrs.v1.Haplotype.repeatedFields_, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Haplotype, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Haplotype.displayName = 'proto.org.ga4gh.vrs.v1.Haplotype';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.Haplotype.Member.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Haplotype.Member, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Haplotype.Member.displayName = 'proto.org.ga4gh.vrs.v1.Haplotype.Member';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Text = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Text, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Text.displayName = 'proto.org.ga4gh.vrs.v1.Text';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.VariationSet = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.ga4gh.vrs.v1.VariationSet.repeatedFields_, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.VariationSet, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.VariationSet.displayName = 'proto.org.ga4gh.vrs.v1.VariationSet';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.VariationSet.Member, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.VariationSet.Member.displayName = 'proto.org.ga4gh.vrs.v1.VariationSet.Member';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Abundance = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.Abundance.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Abundance, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Abundance.displayName = 'proto.org.ga4gh.vrs.v1.Abundance';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.CopyNumber = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.CopyNumber, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.CopyNumber.displayName = 'proto.org.ga4gh.vrs.v1.CopyNumber';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Location = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.Location.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Location, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Location.displayName = 'proto.org.ga4gh.vrs.v1.Location';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.ChromosomeLocation, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.ChromosomeLocation.displayName = 'proto.org.ga4gh.vrs.v1.ChromosomeLocation';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.SequenceLocation = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.SequenceLocation.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.SequenceLocation, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.SequenceLocation.displayName = 'proto.org.ga4gh.vrs.v1.SequenceLocation';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.SequenceInterval = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.SequenceInterval, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.SequenceInterval.displayName = 'proto.org.ga4gh.vrs.v1.SequenceInterval';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.CytobandInterval = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.CytobandInterval, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.CytobandInterval.displayName = 'proto.org.ga4gh.vrs.v1.CytobandInterval';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.SequenceExpression = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.SequenceExpression.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.SequenceExpression, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.SequenceExpression.displayName = 'proto.org.ga4gh.vrs.v1.SequenceExpression';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.LiteralSequenceExpression, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.displayName = 'proto.org.ga4gh.vrs.v1.LiteralSequenceExpression';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.DerivedSequenceExpression, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.displayName = 'proto.org.ga4gh.vrs.v1.DerivedSequenceExpression';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.displayName = 'proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Feature = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, proto.org.ga4gh.vrs.v1.Feature.oneofGroups_);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Feature, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Feature.displayName = 'proto.org.ga4gh.vrs.v1.Feature';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Gene = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Gene, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Gene.displayName = 'proto.org.ga4gh.vrs.v1.Gene';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.Number = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.Number, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.Number.displayName = 'proto.org.ga4gh.vrs.v1.Number';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.IndefiniteRange, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.IndefiniteRange.displayName = 'proto.org.ga4gh.vrs.v1.IndefiniteRange';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.DefiniteRange = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.DefiniteRange, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.DefiniteRange.displayName = 'proto.org.ga4gh.vrs.v1.DefiniteRange';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.SequenceState = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.SequenceState, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.SequenceState.displayName = 'proto.org.ga4gh.vrs.v1.SequenceState';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.ga4gh.vrs.v1.SimpleInterval = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.ga4gh.vrs.v1.SimpleInterval, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.ga4gh.vrs.v1.SimpleInterval.displayName = 'proto.org.ga4gh.vrs.v1.SimpleInterval';
}

/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Variation.oneofGroups_ = [[1,2,3,4,5]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Variation.VariationCase = {
  VARIATION_NOT_SET: 0,
  ALLELE: 1,
  HAPLOTYPE: 2,
  COPY_NUMBER: 3,
  TEXT: 4,
  VARIATION_SET: 5
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Variation.VariationCase}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.getVariationCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Variation.VariationCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Variation.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Variation} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Variation.toObject = function(includeInstance, msg) {
  var f, obj = {
allele: (f = msg.getAllele()) && proto.org.ga4gh.vrs.v1.Allele.toObject(includeInstance, f),
haplotype: (f = msg.getHaplotype()) && proto.org.ga4gh.vrs.v1.Haplotype.toObject(includeInstance, f),
copyNumber: (f = msg.getCopyNumber()) && proto.org.ga4gh.vrs.v1.CopyNumber.toObject(includeInstance, f),
text: (f = msg.getText()) && proto.org.ga4gh.vrs.v1.Text.toObject(includeInstance, f),
variationSet: (f = msg.getVariationSet()) && proto.org.ga4gh.vrs.v1.VariationSet.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Variation}
 */
proto.org.ga4gh.vrs.v1.Variation.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Variation;
  return proto.org.ga4gh.vrs.v1.Variation.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Variation} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Variation}
 */
proto.org.ga4gh.vrs.v1.Variation.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.Allele;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader);
      msg.setAllele(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.Haplotype;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinaryFromReader);
      msg.setHaplotype(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.CopyNumber;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinaryFromReader);
      msg.setCopyNumber(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.Text;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Text.deserializeBinaryFromReader);
      msg.setText(value);
      break;
    case 5:
      var value = new proto.org.ga4gh.vrs.v1.VariationSet;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.VariationSet.deserializeBinaryFromReader);
      msg.setVariationSet(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Variation.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Variation} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Variation.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAllele();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter
    );
  }
  f = message.getHaplotype();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.Haplotype.serializeBinaryToWriter
    );
  }
  f = message.getCopyNumber();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.CopyNumber.serializeBinaryToWriter
    );
  }
  f = message.getText();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.Text.serializeBinaryToWriter
    );
  }
  f = message.getVariationSet();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.org.ga4gh.vrs.v1.VariationSet.serializeBinaryToWriter
    );
  }
};


/**
 * optional Allele allele = 1;
 * @return {?proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.getAllele = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Allele} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Allele, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Allele|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
*/
proto.org.ga4gh.vrs.v1.Variation.prototype.setAllele = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.clearAllele = function() {
  return this.setAllele(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.hasAllele = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional Haplotype haplotype = 2;
 * @return {?proto.org.ga4gh.vrs.v1.Haplotype}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.getHaplotype = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Haplotype} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Haplotype, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Haplotype|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
*/
proto.org.ga4gh.vrs.v1.Variation.prototype.setHaplotype = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.clearHaplotype = function() {
  return this.setHaplotype(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.hasHaplotype = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional CopyNumber copy_number = 3;
 * @return {?proto.org.ga4gh.vrs.v1.CopyNumber}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.getCopyNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.CopyNumber} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.CopyNumber, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.CopyNumber|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
*/
proto.org.ga4gh.vrs.v1.Variation.prototype.setCopyNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.clearCopyNumber = function() {
  return this.setCopyNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.hasCopyNumber = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional Text text = 4;
 * @return {?proto.org.ga4gh.vrs.v1.Text}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.getText = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Text} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Text, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Text|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
*/
proto.org.ga4gh.vrs.v1.Variation.prototype.setText = function(value) {
  return jspb.Message.setOneofWrapperField(this, 4, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.clearText = function() {
  return this.setText(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.hasText = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional VariationSet variation_set = 5;
 * @return {?proto.org.ga4gh.vrs.v1.VariationSet}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.getVariationSet = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.VariationSet} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.VariationSet, 5));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.VariationSet|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
*/
proto.org.ga4gh.vrs.v1.Variation.prototype.setVariationSet = function(value) {
  return jspb.Message.setOneofWrapperField(this, 5, proto.org.ga4gh.vrs.v1.Variation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Variation} returns this
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.clearVariationSet = function() {
  return this.setVariationSet(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Variation.prototype.hasVariationSet = function() {
  return jspb.Message.getField(this, 5) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.oneofGroups_ = [[1,2]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.MolecularVariationCase = {
  MOLECULAR_VARIATION_NOT_SET: 0,
  ALLELE: 1,
  HAPLOTYPE: 2
};

/**
 * @return {proto.org.ga4gh.vrs.v1.MolecularVariation.MolecularVariationCase}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.getMolecularVariationCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.MolecularVariation.MolecularVariationCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.MolecularVariation.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.MolecularVariation.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.MolecularVariation} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.toObject = function(includeInstance, msg) {
  var f, obj = {
allele: (f = msg.getAllele()) && proto.org.ga4gh.vrs.v1.Allele.toObject(includeInstance, f),
haplotype: (f = msg.getHaplotype()) && proto.org.ga4gh.vrs.v1.Haplotype.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.MolecularVariation}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.MolecularVariation;
  return proto.org.ga4gh.vrs.v1.MolecularVariation.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.MolecularVariation} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.MolecularVariation}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.Allele;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader);
      msg.setAllele(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.Haplotype;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinaryFromReader);
      msg.setHaplotype(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.MolecularVariation.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.MolecularVariation} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAllele();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter
    );
  }
  f = message.getHaplotype();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.Haplotype.serializeBinaryToWriter
    );
  }
};


/**
 * optional Allele allele = 1;
 * @return {?proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.getAllele = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Allele} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Allele, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Allele|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.MolecularVariation} returns this
*/
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.setAllele = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.MolecularVariation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.MolecularVariation} returns this
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.clearAllele = function() {
  return this.setAllele(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.hasAllele = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional Haplotype haplotype = 2;
 * @return {?proto.org.ga4gh.vrs.v1.Haplotype}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.getHaplotype = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Haplotype} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Haplotype, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Haplotype|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.MolecularVariation} returns this
*/
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.setHaplotype = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.MolecularVariation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.MolecularVariation} returns this
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.clearHaplotype = function() {
  return this.setHaplotype(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.MolecularVariation.prototype.hasHaplotype = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.oneofGroups_ = [[1,2]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.UtilityVariationCase = {
  UTILITY_VARIATION_NOT_SET: 0,
  TEXT: 1,
  VARIATION_SET: 2
};

/**
 * @return {proto.org.ga4gh.vrs.v1.UtilityVariation.UtilityVariationCase}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.getUtilityVariationCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.UtilityVariation.UtilityVariationCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.UtilityVariation.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.UtilityVariation.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.UtilityVariation} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.toObject = function(includeInstance, msg) {
  var f, obj = {
text: (f = msg.getText()) && proto.org.ga4gh.vrs.v1.Text.toObject(includeInstance, f),
variationSet: (f = msg.getVariationSet()) && proto.org.ga4gh.vrs.v1.VariationSet.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.UtilityVariation}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.UtilityVariation;
  return proto.org.ga4gh.vrs.v1.UtilityVariation.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.UtilityVariation} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.UtilityVariation}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.Text;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Text.deserializeBinaryFromReader);
      msg.setText(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.VariationSet;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.VariationSet.deserializeBinaryFromReader);
      msg.setVariationSet(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.UtilityVariation.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.UtilityVariation} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getText();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.Text.serializeBinaryToWriter
    );
  }
  f = message.getVariationSet();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.VariationSet.serializeBinaryToWriter
    );
  }
};


/**
 * optional Text text = 1;
 * @return {?proto.org.ga4gh.vrs.v1.Text}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.getText = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Text} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Text, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Text|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.UtilityVariation} returns this
*/
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.setText = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.UtilityVariation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.UtilityVariation} returns this
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.clearText = function() {
  return this.setText(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.hasText = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional VariationSet variation_set = 2;
 * @return {?proto.org.ga4gh.vrs.v1.VariationSet}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.getVariationSet = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.VariationSet} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.VariationSet, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.VariationSet|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.UtilityVariation} returns this
*/
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.setVariationSet = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.UtilityVariation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.UtilityVariation} returns this
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.clearVariationSet = function() {
  return this.setVariationSet(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.UtilityVariation.prototype.hasVariationSet = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.oneofGroups_ = [[1]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.SystemicVariationCase = {
  SYSTEMIC_VARIATION_NOT_SET: 0,
  COPY_NUMBER: 1
};

/**
 * @return {proto.org.ga4gh.vrs.v1.SystemicVariation.SystemicVariationCase}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.getSystemicVariationCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.SystemicVariation.SystemicVariationCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.SystemicVariation.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.SystemicVariation.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.SystemicVariation} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.toObject = function(includeInstance, msg) {
  var f, obj = {
copyNumber: (f = msg.getCopyNumber()) && proto.org.ga4gh.vrs.v1.CopyNumber.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.SystemicVariation}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.SystemicVariation;
  return proto.org.ga4gh.vrs.v1.SystemicVariation.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.SystemicVariation} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.SystemicVariation}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.CopyNumber;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinaryFromReader);
      msg.setCopyNumber(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.SystemicVariation.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.SystemicVariation} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCopyNumber();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.CopyNumber.serializeBinaryToWriter
    );
  }
};


/**
 * optional CopyNumber copy_number = 1;
 * @return {?proto.org.ga4gh.vrs.v1.CopyNumber}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.getCopyNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.CopyNumber} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.CopyNumber, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.CopyNumber|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SystemicVariation} returns this
*/
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.setCopyNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.SystemicVariation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SystemicVariation} returns this
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.clearCopyNumber = function() {
  return this.setCopyNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SystemicVariation.prototype.hasCopyNumber = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Allele.oneofGroups_ = [[2,3,4],[100,5,6,7]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Allele.LocationCase = {
  LOCATION_NOT_SET: 0,
  CURIE: 2,
  CHROMOSOME_LOCATION: 3,
  SEQUENCE_LOCATION: 4
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Allele.LocationCase}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getLocationCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Allele.LocationCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[0]));
};

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Allele.StateCase = {
  STATE_NOT_SET: 0,
  SEQUENCE_STATE: 100,
  LITERAL_SEQUENCE_EXPRESSION: 5,
  DERIVED_SEQUENCE_EXPRESSION: 6,
  REPEATED_SEQUENCE_EXPRESSION: 7
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Allele.StateCase}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getStateCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Allele.StateCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[1]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Allele.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Allele} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Allele.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
curie: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f,
chromosomeLocation: (f = msg.getChromosomeLocation()) && proto.org.ga4gh.vrs.v1.ChromosomeLocation.toObject(includeInstance, f),
sequenceLocation: (f = msg.getSequenceLocation()) && proto.org.ga4gh.vrs.v1.SequenceLocation.toObject(includeInstance, f),
sequenceState: (f = msg.getSequenceState()) && proto.org.ga4gh.vrs.v1.SequenceState.toObject(includeInstance, f),
literalSequenceExpression: (f = msg.getLiteralSequenceExpression()) && proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.toObject(includeInstance, f),
derivedSequenceExpression: (f = msg.getDerivedSequenceExpression()) && proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.toObject(includeInstance, f),
repeatedSequenceExpression: (f = msg.getRepeatedSequenceExpression()) && proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.Allele.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Allele;
  return proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Allele} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setCurie(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.ChromosomeLocation;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.ChromosomeLocation.deserializeBinaryFromReader);
      msg.setChromosomeLocation(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.SequenceLocation;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.SequenceLocation.deserializeBinaryFromReader);
      msg.setSequenceLocation(value);
      break;
    case 100:
      var value = new proto.org.ga4gh.vrs.v1.SequenceState;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.SequenceState.deserializeBinaryFromReader);
      msg.setSequenceState(value);
      break;
    case 5:
      var value = new proto.org.ga4gh.vrs.v1.LiteralSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinaryFromReader);
      msg.setLiteralSequenceExpression(value);
      break;
    case 6:
      var value = new proto.org.ga4gh.vrs.v1.DerivedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinaryFromReader);
      msg.setDerivedSequenceExpression(value);
      break;
    case 7:
      var value = new proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.deserializeBinaryFromReader);
      msg.setRepeatedSequenceExpression(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Allele} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = /** @type {string} */ (jspb.Message.getField(message, 2));
  if (f != null) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getChromosomeLocation();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.ChromosomeLocation.serializeBinaryToWriter
    );
  }
  f = message.getSequenceLocation();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.SequenceLocation.serializeBinaryToWriter
    );
  }
  f = message.getSequenceState();
  if (f != null) {
    writer.writeMessage(
      100,
      f,
      proto.org.ga4gh.vrs.v1.SequenceState.serializeBinaryToWriter
    );
  }
  f = message.getLiteralSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getDerivedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getRepeatedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      7,
      f,
      proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.serializeBinaryToWriter
    );
  }
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string curie = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getCurie = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.setCurie = function(value) {
  return jspb.Message.setOneofField(this, 2, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[0], value);
};


/**
 * Clears the field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearCurie = function() {
  return jspb.Message.setOneofField(this, 2, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[0], undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasCurie = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional ChromosomeLocation chromosome_location = 3;
 * @return {?proto.org.ga4gh.vrs.v1.ChromosomeLocation}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getChromosomeLocation = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.ChromosomeLocation} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.ChromosomeLocation, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.ChromosomeLocation|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
*/
proto.org.ga4gh.vrs.v1.Allele.prototype.setChromosomeLocation = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearChromosomeLocation = function() {
  return this.setChromosomeLocation(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasChromosomeLocation = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional SequenceLocation sequence_location = 4;
 * @return {?proto.org.ga4gh.vrs.v1.SequenceLocation}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getSequenceLocation = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.SequenceLocation} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.SequenceLocation, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.SequenceLocation|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
*/
proto.org.ga4gh.vrs.v1.Allele.prototype.setSequenceLocation = function(value) {
  return jspb.Message.setOneofWrapperField(this, 4, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearSequenceLocation = function() {
  return this.setSequenceLocation(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasSequenceLocation = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional SequenceState sequence_state = 100;
 * @return {?proto.org.ga4gh.vrs.v1.SequenceState}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getSequenceState = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.SequenceState} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.SequenceState, 100));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.SequenceState|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
*/
proto.org.ga4gh.vrs.v1.Allele.prototype.setSequenceState = function(value) {
  return jspb.Message.setOneofWrapperField(this, 100, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearSequenceState = function() {
  return this.setSequenceState(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasSequenceState = function() {
  return jspb.Message.getField(this, 100) != null;
};


/**
 * optional LiteralSequenceExpression literal_sequence_expression = 5;
 * @return {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getLiteralSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.LiteralSequenceExpression, 5));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
*/
proto.org.ga4gh.vrs.v1.Allele.prototype.setLiteralSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 5, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearLiteralSequenceExpression = function() {
  return this.setLiteralSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasLiteralSequenceExpression = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional DerivedSequenceExpression derived_sequence_expression = 6;
 * @return {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getDerivedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DerivedSequenceExpression, 6));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
*/
proto.org.ga4gh.vrs.v1.Allele.prototype.setDerivedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 6, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearDerivedSequenceExpression = function() {
  return this.setDerivedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasDerivedSequenceExpression = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional RepeatedSequenceExpression repeated_sequence_expression = 7;
 * @return {?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.getRepeatedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression, 7));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
*/
proto.org.ga4gh.vrs.v1.Allele.prototype.setRepeatedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 7, proto.org.ga4gh.vrs.v1.Allele.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Allele} returns this
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.clearRepeatedSequenceExpression = function() {
  return this.setRepeatedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Allele.prototype.hasRepeatedSequenceExpression = function() {
  return jspb.Message.getField(this, 7) != null;
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Haplotype.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Haplotype.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Haplotype.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
membersList: jspb.Message.toObjectList(msg.getMembersList(),
    proto.org.ga4gh.vrs.v1.Haplotype.Member.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype}
 */
proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Haplotype;
  return proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype}
 */
proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.Haplotype.Member;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Haplotype.Member.deserializeBinaryFromReader);
      msg.addMembers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Haplotype.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Haplotype.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getMembersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.Haplotype.Member.serializeBinaryToWriter
    );
  }
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.oneofGroups_ = [[1,2]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.ValueCase = {
  VALUE_NOT_SET: 0,
  ALLELE: 1,
  CURIE: 2
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Haplotype.Member.ValueCase}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.getValueCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Haplotype.Member.ValueCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Haplotype.Member.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Haplotype.Member.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype.Member} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.toObject = function(includeInstance, msg) {
  var f, obj = {
allele: (f = msg.getAllele()) && proto.org.ga4gh.vrs.v1.Allele.toObject(includeInstance, f),
curie: (f = jspb.Message.getField(msg, 2)) == null ? undefined : f
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Haplotype.Member;
  return proto.org.ga4gh.vrs.v1.Haplotype.Member.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype.Member} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.Allele;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader);
      msg.setAllele(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setCurie(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Haplotype.Member.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype.Member} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAllele();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter
    );
  }
  f = /** @type {string} */ (jspb.Message.getField(message, 2));
  if (f != null) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional Allele allele = 1;
 * @return {?proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.getAllele = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Allele} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Allele, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Allele|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member} returns this
*/
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.setAllele = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.Haplotype.Member.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member} returns this
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.clearAllele = function() {
  return this.setAllele(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.hasAllele = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional string curie = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.getCurie = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member} returns this
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.setCurie = function(value) {
  return jspb.Message.setOneofField(this, 2, proto.org.ga4gh.vrs.v1.Haplotype.Member.oneofGroups_[0], value);
};


/**
 * Clears the field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member} returns this
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.clearCurie = function() {
  return jspb.Message.setOneofField(this, 2, proto.org.ga4gh.vrs.v1.Haplotype.Member.oneofGroups_[0], undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Haplotype.Member.prototype.hasCurie = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype} returns this
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * repeated Member members = 2;
 * @return {!Array<!proto.org.ga4gh.vrs.v1.Haplotype.Member>}
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.getMembersList = function() {
  return /** @type{!Array<!proto.org.ga4gh.vrs.v1.Haplotype.Member>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.ga4gh.vrs.v1.Haplotype.Member, 2));
};


/**
 * @param {!Array<!proto.org.ga4gh.vrs.v1.Haplotype.Member>} value
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype} returns this
*/
proto.org.ga4gh.vrs.v1.Haplotype.prototype.setMembersList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!proto.org.ga4gh.vrs.v1.Haplotype.Member=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype.Member}
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.addMembers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.ga4gh.vrs.v1.Haplotype.Member, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.ga4gh.vrs.v1.Haplotype} returns this
 */
proto.org.ga4gh.vrs.v1.Haplotype.prototype.clearMembersList = function() {
  return this.setMembersList([]);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Text.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Text.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Text} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Text.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
definition: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Text}
 */
proto.org.ga4gh.vrs.v1.Text.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Text;
  return proto.org.ga4gh.vrs.v1.Text.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Text} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Text}
 */
proto.org.ga4gh.vrs.v1.Text.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setDefinition(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Text.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Text.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Text} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Text.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getDefinition();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Text.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Text} returns this
 */
proto.org.ga4gh.vrs.v1.Text.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string definition = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Text.prototype.getDefinition = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Text} returns this
 */
proto.org.ga4gh.vrs.v1.Text.prototype.setDefinition = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.ga4gh.vrs.v1.VariationSet.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.VariationSet.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.VariationSet.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
membersList: jspb.Message.toObjectList(msg.getMembersList(),
    proto.org.ga4gh.vrs.v1.VariationSet.Member.toObject, includeInstance)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet}
 */
proto.org.ga4gh.vrs.v1.VariationSet.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.VariationSet;
  return proto.org.ga4gh.vrs.v1.VariationSet.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet}
 */
proto.org.ga4gh.vrs.v1.VariationSet.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.VariationSet.Member;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.VariationSet.Member.deserializeBinaryFromReader);
      msg.addMembers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.VariationSet.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.VariationSet.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getMembersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.VariationSet.Member.serializeBinaryToWriter
    );
  }
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_ = [[1,2,3,4,5,6]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.ValueCase = {
  VALUE_NOT_SET: 0,
  CURIE: 1,
  ALLELE: 2,
  HAPLOTYPE: 3,
  COPY_NUMBER: 4,
  TEXT: 5,
  VARIATION_SET: 6
};

/**
 * @return {proto.org.ga4gh.vrs.v1.VariationSet.Member.ValueCase}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getValueCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.VariationSet.Member.ValueCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.VariationSet.Member.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet.Member} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.toObject = function(includeInstance, msg) {
  var f, obj = {
curie: (f = jspb.Message.getField(msg, 1)) == null ? undefined : f,
allele: (f = msg.getAllele()) && proto.org.ga4gh.vrs.v1.Allele.toObject(includeInstance, f),
haplotype: (f = msg.getHaplotype()) && proto.org.ga4gh.vrs.v1.Haplotype.toObject(includeInstance, f),
copyNumber: (f = msg.getCopyNumber()) && proto.org.ga4gh.vrs.v1.CopyNumber.toObject(includeInstance, f),
text: (f = msg.getText()) && proto.org.ga4gh.vrs.v1.Text.toObject(includeInstance, f),
variationSet: (f = msg.getVariationSet()) && proto.org.ga4gh.vrs.v1.VariationSet.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.VariationSet.Member;
  return proto.org.ga4gh.vrs.v1.VariationSet.Member.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet.Member} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setCurie(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.Allele;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader);
      msg.setAllele(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.Haplotype;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinaryFromReader);
      msg.setHaplotype(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.CopyNumber;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinaryFromReader);
      msg.setCopyNumber(value);
      break;
    case 5:
      var value = new proto.org.ga4gh.vrs.v1.Text;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Text.deserializeBinaryFromReader);
      msg.setText(value);
      break;
    case 6:
      var value = new proto.org.ga4gh.vrs.v1.VariationSet;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.VariationSet.deserializeBinaryFromReader);
      msg.setVariationSet(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.VariationSet.Member.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet.Member} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = /** @type {string} */ (jspb.Message.getField(message, 1));
  if (f != null) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAllele();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter
    );
  }
  f = message.getHaplotype();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.Haplotype.serializeBinaryToWriter
    );
  }
  f = message.getCopyNumber();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.CopyNumber.serializeBinaryToWriter
    );
  }
  f = message.getText();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.org.ga4gh.vrs.v1.Text.serializeBinaryToWriter
    );
  }
  f = message.getVariationSet();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.org.ga4gh.vrs.v1.VariationSet.serializeBinaryToWriter
    );
  }
};


/**
 * optional string curie = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getCurie = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.setCurie = function(value) {
  return jspb.Message.setOneofField(this, 1, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], value);
};


/**
 * Clears the field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.clearCurie = function() {
  return jspb.Message.setOneofField(this, 1, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.hasCurie = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional Allele allele = 2;
 * @return {?proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getAllele = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Allele} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Allele, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Allele|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
*/
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.setAllele = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.clearAllele = function() {
  return this.setAllele(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.hasAllele = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional Haplotype haplotype = 3;
 * @return {?proto.org.ga4gh.vrs.v1.Haplotype}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getHaplotype = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Haplotype} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Haplotype, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Haplotype|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
*/
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.setHaplotype = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.clearHaplotype = function() {
  return this.setHaplotype(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.hasHaplotype = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional CopyNumber copy_number = 4;
 * @return {?proto.org.ga4gh.vrs.v1.CopyNumber}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getCopyNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.CopyNumber} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.CopyNumber, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.CopyNumber|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
*/
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.setCopyNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 4, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.clearCopyNumber = function() {
  return this.setCopyNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.hasCopyNumber = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional Text text = 5;
 * @return {?proto.org.ga4gh.vrs.v1.Text}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getText = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Text} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Text, 5));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Text|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
*/
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.setText = function(value) {
  return jspb.Message.setOneofWrapperField(this, 5, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.clearText = function() {
  return this.setText(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.hasText = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional VariationSet variation_set = 6;
 * @return {?proto.org.ga4gh.vrs.v1.VariationSet}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.getVariationSet = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.VariationSet} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.VariationSet, 6));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.VariationSet|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
*/
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.setVariationSet = function(value) {
  return jspb.Message.setOneofWrapperField(this, 6, proto.org.ga4gh.vrs.v1.VariationSet.Member.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.clearVariationSet = function() {
  return this.setVariationSet(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.VariationSet.Member.prototype.hasVariationSet = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * repeated Member members = 2;
 * @return {!Array<!proto.org.ga4gh.vrs.v1.VariationSet.Member>}
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.getMembersList = function() {
  return /** @type{!Array<!proto.org.ga4gh.vrs.v1.VariationSet.Member>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.ga4gh.vrs.v1.VariationSet.Member, 2));
};


/**
 * @param {!Array<!proto.org.ga4gh.vrs.v1.VariationSet.Member>} value
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet} returns this
*/
proto.org.ga4gh.vrs.v1.VariationSet.prototype.setMembersList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!proto.org.ga4gh.vrs.v1.VariationSet.Member=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet.Member}
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.addMembers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.ga4gh.vrs.v1.VariationSet.Member, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.ga4gh.vrs.v1.VariationSet} returns this
 */
proto.org.ga4gh.vrs.v1.VariationSet.prototype.clearMembersList = function() {
  return this.setMembersList([]);
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Abundance.oneofGroups_ = [[1]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Abundance.AbundanceCase = {
  ABUNDANCE_NOT_SET: 0,
  COPY_NUMBER: 1
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Abundance.AbundanceCase}
 */
proto.org.ga4gh.vrs.v1.Abundance.prototype.getAbundanceCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Abundance.AbundanceCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Abundance.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Abundance.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Abundance.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Abundance} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Abundance.toObject = function(includeInstance, msg) {
  var f, obj = {
copyNumber: (f = msg.getCopyNumber()) && proto.org.ga4gh.vrs.v1.CopyNumber.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Abundance}
 */
proto.org.ga4gh.vrs.v1.Abundance.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Abundance;
  return proto.org.ga4gh.vrs.v1.Abundance.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Abundance} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Abundance}
 */
proto.org.ga4gh.vrs.v1.Abundance.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.CopyNumber;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinaryFromReader);
      msg.setCopyNumber(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Abundance.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Abundance.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Abundance} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Abundance.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCopyNumber();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.CopyNumber.serializeBinaryToWriter
    );
  }
};


/**
 * optional CopyNumber copy_number = 1;
 * @return {?proto.org.ga4gh.vrs.v1.CopyNumber}
 */
proto.org.ga4gh.vrs.v1.Abundance.prototype.getCopyNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.CopyNumber} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.CopyNumber, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.CopyNumber|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Abundance} returns this
*/
proto.org.ga4gh.vrs.v1.Abundance.prototype.setCopyNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.Abundance.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Abundance} returns this
 */
proto.org.ga4gh.vrs.v1.Abundance.prototype.clearCopyNumber = function() {
  return this.setCopyNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Abundance.prototype.hasCopyNumber = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_ = [[2,3,4,5,6,7,8],[9,10,11]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.SubjectCase = {
  SUBJECT_NOT_SET: 0,
  ALLELE: 2,
  HAPLOTYPE: 3,
  GENE: 4,
  LITERAL_SEQUENCE_EXPRESSION: 5,
  DERIVED_SEQUENCE_EXPRESSION: 6,
  REPEATED_SEQUENCE_EXPRESSION: 7,
  CURIE: 8
};

/**
 * @return {proto.org.ga4gh.vrs.v1.CopyNumber.SubjectCase}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getSubjectCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.CopyNumber.SubjectCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0]));
};

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.CopiesCase = {
  COPIES_NOT_SET: 0,
  NUMBER: 9,
  INDEFINITE_RANGE: 10,
  DEFINITE_RANGE: 11
};

/**
 * @return {proto.org.ga4gh.vrs.v1.CopyNumber.CopiesCase}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getCopiesCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.CopyNumber.CopiesCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[1]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.CopyNumber.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.CopyNumber} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.CopyNumber.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
allele: (f = msg.getAllele()) && proto.org.ga4gh.vrs.v1.Allele.toObject(includeInstance, f),
haplotype: (f = msg.getHaplotype()) && proto.org.ga4gh.vrs.v1.Haplotype.toObject(includeInstance, f),
gene: (f = msg.getGene()) && proto.org.ga4gh.vrs.v1.Gene.toObject(includeInstance, f),
literalSequenceExpression: (f = msg.getLiteralSequenceExpression()) && proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.toObject(includeInstance, f),
derivedSequenceExpression: (f = msg.getDerivedSequenceExpression()) && proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.toObject(includeInstance, f),
repeatedSequenceExpression: (f = msg.getRepeatedSequenceExpression()) && proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.toObject(includeInstance, f),
curie: (f = jspb.Message.getField(msg, 8)) == null ? undefined : f,
number: (f = msg.getNumber()) && proto.org.ga4gh.vrs.v1.Number.toObject(includeInstance, f),
indefiniteRange: (f = msg.getIndefiniteRange()) && proto.org.ga4gh.vrs.v1.IndefiniteRange.toObject(includeInstance, f),
definiteRange: (f = msg.getDefiniteRange()) && proto.org.ga4gh.vrs.v1.DefiniteRange.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.CopyNumber;
  return proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.CopyNumber} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.Allele;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Allele.deserializeBinaryFromReader);
      msg.setAllele(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.Haplotype;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Haplotype.deserializeBinaryFromReader);
      msg.setHaplotype(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.Gene;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Gene.deserializeBinaryFromReader);
      msg.setGene(value);
      break;
    case 5:
      var value = new proto.org.ga4gh.vrs.v1.LiteralSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinaryFromReader);
      msg.setLiteralSequenceExpression(value);
      break;
    case 6:
      var value = new proto.org.ga4gh.vrs.v1.DerivedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinaryFromReader);
      msg.setDerivedSequenceExpression(value);
      break;
    case 7:
      var value = new proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.deserializeBinaryFromReader);
      msg.setRepeatedSequenceExpression(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.setCurie(value);
      break;
    case 9:
      var value = new proto.org.ga4gh.vrs.v1.Number;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Number.deserializeBinaryFromReader);
      msg.setNumber(value);
      break;
    case 10:
      var value = new proto.org.ga4gh.vrs.v1.IndefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinaryFromReader);
      msg.setIndefiniteRange(value);
      break;
    case 11:
      var value = new proto.org.ga4gh.vrs.v1.DefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinaryFromReader);
      msg.setDefiniteRange(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.CopyNumber.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.CopyNumber} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.CopyNumber.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAllele();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.Allele.serializeBinaryToWriter
    );
  }
  f = message.getHaplotype();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.Haplotype.serializeBinaryToWriter
    );
  }
  f = message.getGene();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.Gene.serializeBinaryToWriter
    );
  }
  f = message.getLiteralSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getDerivedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getRepeatedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      7,
      f,
      proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.serializeBinaryToWriter
    );
  }
  f = /** @type {string} */ (jspb.Message.getField(message, 8));
  if (f != null) {
    writer.writeString(
      8,
      f
    );
  }
  f = message.getNumber();
  if (f != null) {
    writer.writeMessage(
      9,
      f,
      proto.org.ga4gh.vrs.v1.Number.serializeBinaryToWriter
    );
  }
  f = message.getIndefiniteRange();
  if (f != null) {
    writer.writeMessage(
      10,
      f,
      proto.org.ga4gh.vrs.v1.IndefiniteRange.serializeBinaryToWriter
    );
  }
  f = message.getDefiniteRange();
  if (f != null) {
    writer.writeMessage(
      11,
      f,
      proto.org.ga4gh.vrs.v1.DefiniteRange.serializeBinaryToWriter
    );
  }
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional Allele allele = 2;
 * @return {?proto.org.ga4gh.vrs.v1.Allele}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getAllele = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Allele} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Allele, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Allele|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setAllele = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearAllele = function() {
  return this.setAllele(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasAllele = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional Haplotype haplotype = 3;
 * @return {?proto.org.ga4gh.vrs.v1.Haplotype}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getHaplotype = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Haplotype} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Haplotype, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Haplotype|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setHaplotype = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearHaplotype = function() {
  return this.setHaplotype(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasHaplotype = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional Gene gene = 4;
 * @return {?proto.org.ga4gh.vrs.v1.Gene}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getGene = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Gene} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Gene, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Gene|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setGene = function(value) {
  return jspb.Message.setOneofWrapperField(this, 4, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearGene = function() {
  return this.setGene(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasGene = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional LiteralSequenceExpression literal_sequence_expression = 5;
 * @return {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getLiteralSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.LiteralSequenceExpression, 5));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setLiteralSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 5, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearLiteralSequenceExpression = function() {
  return this.setLiteralSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasLiteralSequenceExpression = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional DerivedSequenceExpression derived_sequence_expression = 6;
 * @return {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getDerivedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DerivedSequenceExpression, 6));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setDerivedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 6, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearDerivedSequenceExpression = function() {
  return this.setDerivedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasDerivedSequenceExpression = function() {
  return jspb.Message.getField(this, 6) != null;
};


/**
 * optional RepeatedSequenceExpression repeated_sequence_expression = 7;
 * @return {?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getRepeatedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression, 7));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setRepeatedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 7, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearRepeatedSequenceExpression = function() {
  return this.setRepeatedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasRepeatedSequenceExpression = function() {
  return jspb.Message.getField(this, 7) != null;
};


/**
 * optional string curie = 8;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getCurie = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setCurie = function(value) {
  return jspb.Message.setOneofField(this, 8, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], value);
};


/**
 * Clears the field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearCurie = function() {
  return jspb.Message.setOneofField(this, 8, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[0], undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasCurie = function() {
  return jspb.Message.getField(this, 8) != null;
};


/**
 * optional Number number = 9;
 * @return {?proto.org.ga4gh.vrs.v1.Number}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Number} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Number, 9));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Number|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 9, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearNumber = function() {
  return this.setNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasNumber = function() {
  return jspb.Message.getField(this, 9) != null;
};


/**
 * optional IndefiniteRange indefinite_range = 10;
 * @return {?proto.org.ga4gh.vrs.v1.IndefiniteRange}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getIndefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.IndefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.IndefiniteRange, 10));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.IndefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setIndefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 10, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearIndefiniteRange = function() {
  return this.setIndefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasIndefiniteRange = function() {
  return jspb.Message.getField(this, 10) != null;
};


/**
 * optional DefiniteRange definite_range = 11;
 * @return {?proto.org.ga4gh.vrs.v1.DefiniteRange}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.getDefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DefiniteRange, 11));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
*/
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.setDefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 11, proto.org.ga4gh.vrs.v1.CopyNumber.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.CopyNumber} returns this
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.clearDefiniteRange = function() {
  return this.setDefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.CopyNumber.prototype.hasDefiniteRange = function() {
  return jspb.Message.getField(this, 11) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Location.oneofGroups_ = [[1,2]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Location.LocationCase = {
  LOCATION_NOT_SET: 0,
  CHROMOSOME_LOCATION: 1,
  SEQUENCE_LOCATION: 2
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Location.LocationCase}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.getLocationCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Location.LocationCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Location.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Location.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Location} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Location.toObject = function(includeInstance, msg) {
  var f, obj = {
chromosomeLocation: (f = msg.getChromosomeLocation()) && proto.org.ga4gh.vrs.v1.ChromosomeLocation.toObject(includeInstance, f),
sequenceLocation: (f = msg.getSequenceLocation()) && proto.org.ga4gh.vrs.v1.SequenceLocation.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Location}
 */
proto.org.ga4gh.vrs.v1.Location.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Location;
  return proto.org.ga4gh.vrs.v1.Location.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Location} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Location}
 */
proto.org.ga4gh.vrs.v1.Location.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.ChromosomeLocation;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.ChromosomeLocation.deserializeBinaryFromReader);
      msg.setChromosomeLocation(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.SequenceLocation;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.SequenceLocation.deserializeBinaryFromReader);
      msg.setSequenceLocation(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Location.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Location} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Location.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getChromosomeLocation();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.ChromosomeLocation.serializeBinaryToWriter
    );
  }
  f = message.getSequenceLocation();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.SequenceLocation.serializeBinaryToWriter
    );
  }
};


/**
 * optional ChromosomeLocation chromosome_location = 1;
 * @return {?proto.org.ga4gh.vrs.v1.ChromosomeLocation}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.getChromosomeLocation = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.ChromosomeLocation} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.ChromosomeLocation, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.ChromosomeLocation|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Location} returns this
*/
proto.org.ga4gh.vrs.v1.Location.prototype.setChromosomeLocation = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.Location.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Location} returns this
 */
proto.org.ga4gh.vrs.v1.Location.prototype.clearChromosomeLocation = function() {
  return this.setChromosomeLocation(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.hasChromosomeLocation = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional SequenceLocation sequence_location = 2;
 * @return {?proto.org.ga4gh.vrs.v1.SequenceLocation}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.getSequenceLocation = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.SequenceLocation} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.SequenceLocation, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.SequenceLocation|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Location} returns this
*/
proto.org.ga4gh.vrs.v1.Location.prototype.setSequenceLocation = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.Location.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Location} returns this
 */
proto.org.ga4gh.vrs.v1.Location.prototype.clearSequenceLocation = function() {
  return this.setSequenceLocation(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Location.prototype.hasSequenceLocation = function() {
  return jspb.Message.getField(this, 2) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.ChromosomeLocation.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
speciesId: jspb.Message.getFieldWithDefault(msg, 2, ""),
chr: jspb.Message.getFieldWithDefault(msg, 3, ""),
interval: (f = msg.getInterval()) && proto.org.ga4gh.vrs.v1.CytobandInterval.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.ChromosomeLocation;
  return proto.org.ga4gh.vrs.v1.ChromosomeLocation.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setSpeciesId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setChr(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.CytobandInterval;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.CytobandInterval.deserializeBinaryFromReader);
      msg.setInterval(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.ChromosomeLocation.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getSpeciesId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getChr();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getInterval();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.CytobandInterval.serializeBinaryToWriter
    );
  }
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} returns this
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string species_id = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.getSpeciesId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} returns this
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.setSpeciesId = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string chr = 3;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.getChr = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} returns this
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.setChr = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional CytobandInterval interval = 4;
 * @return {?proto.org.ga4gh.vrs.v1.CytobandInterval}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.getInterval = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.CytobandInterval} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.CytobandInterval, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.CytobandInterval|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} returns this
*/
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.setInterval = function(value) {
  return jspb.Message.setWrapperField(this, 4, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.ChromosomeLocation} returns this
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.clearInterval = function() {
  return this.setInterval(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.ChromosomeLocation.prototype.hasInterval = function() {
  return jspb.Message.getField(this, 4) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.oneofGroups_ = [[3,100]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.IntervalCase = {
  INTERVAL_NOT_SET: 0,
  SEQUENCE_INTERVAL: 3,
  SIMPLE_INTERVAL: 100
};

/**
 * @return {proto.org.ga4gh.vrs.v1.SequenceLocation.IntervalCase}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.getIntervalCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.SequenceLocation.IntervalCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.SequenceLocation.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.SequenceLocation.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.SequenceLocation} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.toObject = function(includeInstance, msg) {
  var f, obj = {
id: jspb.Message.getFieldWithDefault(msg, 1, ""),
sequenceId: jspb.Message.getFieldWithDefault(msg, 2, ""),
sequenceInterval: (f = msg.getSequenceInterval()) && proto.org.ga4gh.vrs.v1.SequenceInterval.toObject(includeInstance, f),
simpleInterval: (f = msg.getSimpleInterval()) && proto.org.ga4gh.vrs.v1.SimpleInterval.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.SequenceLocation;
  return proto.org.ga4gh.vrs.v1.SequenceLocation.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceLocation} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setSequenceId(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.SequenceInterval;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.SequenceInterval.deserializeBinaryFromReader);
      msg.setSequenceInterval(value);
      break;
    case 100:
      var value = new proto.org.ga4gh.vrs.v1.SimpleInterval;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.SimpleInterval.deserializeBinaryFromReader);
      msg.setSimpleInterval(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.SequenceLocation.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceLocation} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getSequenceId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getSequenceInterval();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.SequenceInterval.serializeBinaryToWriter
    );
  }
  f = message.getSimpleInterval();
  if (f != null) {
    writer.writeMessage(
      100,
      f,
      proto.org.ga4gh.vrs.v1.SimpleInterval.serializeBinaryToWriter
    );
  }
};


/**
 * optional string _id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string sequence_id = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.getSequenceId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.setSequenceId = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional SequenceInterval sequence_interval = 3;
 * @return {?proto.org.ga4gh.vrs.v1.SequenceInterval}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.getSequenceInterval = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.SequenceInterval} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.SequenceInterval, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.SequenceInterval|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.setSequenceInterval = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.SequenceLocation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.clearSequenceInterval = function() {
  return this.setSequenceInterval(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.hasSequenceInterval = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional SimpleInterval simple_interval = 100;
 * @return {?proto.org.ga4gh.vrs.v1.SimpleInterval}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.getSimpleInterval = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.SimpleInterval} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.SimpleInterval, 100));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.SimpleInterval|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.setSimpleInterval = function(value) {
  return jspb.Message.setOneofWrapperField(this, 100, proto.org.ga4gh.vrs.v1.SequenceLocation.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceLocation} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.clearSimpleInterval = function() {
  return this.setSimpleInterval(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceLocation.prototype.hasSimpleInterval = function() {
  return jspb.Message.getField(this, 100) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_ = [[1,2,3],[4,5,6]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.StartCase = {
  START_NOT_SET: 0,
  START_NUMBER: 1,
  START_INDEFINITE_RANGE: 2,
  START_DEFINITE_RANGE: 3
};

/**
 * @return {proto.org.ga4gh.vrs.v1.SequenceInterval.StartCase}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getStartCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.SequenceInterval.StartCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[0]));
};

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.EndCase = {
  END_NOT_SET: 0,
  END_NUMBER: 4,
  END_INDEFINITE_RANGE: 5,
  END_DEFINITE_RANGE: 6
};

/**
 * @return {proto.org.ga4gh.vrs.v1.SequenceInterval.EndCase}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getEndCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.SequenceInterval.EndCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[1]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.SequenceInterval.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.SequenceInterval} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.toObject = function(includeInstance, msg) {
  var f, obj = {
startNumber: (f = msg.getStartNumber()) && proto.org.ga4gh.vrs.v1.Number.toObject(includeInstance, f),
startIndefiniteRange: (f = msg.getStartIndefiniteRange()) && proto.org.ga4gh.vrs.v1.IndefiniteRange.toObject(includeInstance, f),
startDefiniteRange: (f = msg.getStartDefiniteRange()) && proto.org.ga4gh.vrs.v1.DefiniteRange.toObject(includeInstance, f),
endNumber: (f = msg.getEndNumber()) && proto.org.ga4gh.vrs.v1.Number.toObject(includeInstance, f),
endIndefiniteRange: (f = msg.getEndIndefiniteRange()) && proto.org.ga4gh.vrs.v1.IndefiniteRange.toObject(includeInstance, f),
endDefiniteRange: (f = msg.getEndDefiniteRange()) && proto.org.ga4gh.vrs.v1.DefiniteRange.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.SequenceInterval;
  return proto.org.ga4gh.vrs.v1.SequenceInterval.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceInterval} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.Number;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Number.deserializeBinaryFromReader);
      msg.setStartNumber(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.IndefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinaryFromReader);
      msg.setStartIndefiniteRange(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.DefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinaryFromReader);
      msg.setStartDefiniteRange(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.Number;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Number.deserializeBinaryFromReader);
      msg.setEndNumber(value);
      break;
    case 5:
      var value = new proto.org.ga4gh.vrs.v1.IndefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinaryFromReader);
      msg.setEndIndefiniteRange(value);
      break;
    case 6:
      var value = new proto.org.ga4gh.vrs.v1.DefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinaryFromReader);
      msg.setEndDefiniteRange(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.SequenceInterval.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceInterval} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getStartNumber();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.Number.serializeBinaryToWriter
    );
  }
  f = message.getStartIndefiniteRange();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.IndefiniteRange.serializeBinaryToWriter
    );
  }
  f = message.getStartDefiniteRange();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.DefiniteRange.serializeBinaryToWriter
    );
  }
  f = message.getEndNumber();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.Number.serializeBinaryToWriter
    );
  }
  f = message.getEndIndefiniteRange();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.org.ga4gh.vrs.v1.IndefiniteRange.serializeBinaryToWriter
    );
  }
  f = message.getEndDefiniteRange();
  if (f != null) {
    writer.writeMessage(
      6,
      f,
      proto.org.ga4gh.vrs.v1.DefiniteRange.serializeBinaryToWriter
    );
  }
};


/**
 * optional Number start_number = 1;
 * @return {?proto.org.ga4gh.vrs.v1.Number}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getStartNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Number} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Number, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Number|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.setStartNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.clearStartNumber = function() {
  return this.setStartNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.hasStartNumber = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional IndefiniteRange start_indefinite_range = 2;
 * @return {?proto.org.ga4gh.vrs.v1.IndefiniteRange}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getStartIndefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.IndefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.IndefiniteRange, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.IndefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.setStartIndefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.clearStartIndefiniteRange = function() {
  return this.setStartIndefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.hasStartIndefiniteRange = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional DefiniteRange start_definite_range = 3;
 * @return {?proto.org.ga4gh.vrs.v1.DefiniteRange}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getStartDefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DefiniteRange, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.setStartDefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.clearStartDefiniteRange = function() {
  return this.setStartDefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.hasStartDefiniteRange = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional Number end_number = 4;
 * @return {?proto.org.ga4gh.vrs.v1.Number}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getEndNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Number} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Number, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Number|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.setEndNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 4, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.clearEndNumber = function() {
  return this.setEndNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.hasEndNumber = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional IndefiniteRange end_indefinite_range = 5;
 * @return {?proto.org.ga4gh.vrs.v1.IndefiniteRange}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getEndIndefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.IndefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.IndefiniteRange, 5));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.IndefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.setEndIndefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 5, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.clearEndIndefiniteRange = function() {
  return this.setEndIndefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.hasEndIndefiniteRange = function() {
  return jspb.Message.getField(this, 5) != null;
};


/**
 * optional DefiniteRange end_definite_range = 6;
 * @return {?proto.org.ga4gh.vrs.v1.DefiniteRange}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.getEndDefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DefiniteRange, 6));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.setEndDefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 6, proto.org.ga4gh.vrs.v1.SequenceInterval.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.clearEndDefiniteRange = function() {
  return this.setEndDefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceInterval.prototype.hasEndDefiniteRange = function() {
  return jspb.Message.getField(this, 6) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.CytobandInterval.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.CytobandInterval} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.toObject = function(includeInstance, msg) {
  var f, obj = {
start: jspb.Message.getFieldWithDefault(msg, 1, ""),
end: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.CytobandInterval}
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.CytobandInterval;
  return proto.org.ga4gh.vrs.v1.CytobandInterval.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.CytobandInterval} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.CytobandInterval}
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setStart(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setEnd(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.CytobandInterval.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.CytobandInterval} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getStart();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getEnd();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string start = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.prototype.getStart = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.CytobandInterval} returns this
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.prototype.setStart = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string end = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.prototype.getEnd = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.CytobandInterval} returns this
 */
proto.org.ga4gh.vrs.v1.CytobandInterval.prototype.setEnd = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.oneofGroups_ = [[1,2,3]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.SequenceExpressionCase = {
  SEQUENCE_EXPRESSION_NOT_SET: 0,
  LITERAL_SEQUENCE_EXPRESSION: 1,
  DERIVED_SEQUENCE_EXPRESSION: 2,
  REPEATED_SEQUENCE_EXPRESSION: 3
};

/**
 * @return {proto.org.ga4gh.vrs.v1.SequenceExpression.SequenceExpressionCase}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.getSequenceExpressionCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.SequenceExpression.SequenceExpressionCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.SequenceExpression.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.SequenceExpression.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.SequenceExpression} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.toObject = function(includeInstance, msg) {
  var f, obj = {
literalSequenceExpression: (f = msg.getLiteralSequenceExpression()) && proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.toObject(includeInstance, f),
derivedSequenceExpression: (f = msg.getDerivedSequenceExpression()) && proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.toObject(includeInstance, f),
repeatedSequenceExpression: (f = msg.getRepeatedSequenceExpression()) && proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.SequenceExpression;
  return proto.org.ga4gh.vrs.v1.SequenceExpression.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceExpression} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.LiteralSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinaryFromReader);
      msg.setLiteralSequenceExpression(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.DerivedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinaryFromReader);
      msg.setDerivedSequenceExpression(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.deserializeBinaryFromReader);
      msg.setRepeatedSequenceExpression(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.SequenceExpression.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceExpression} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLiteralSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getDerivedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getRepeatedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.serializeBinaryToWriter
    );
  }
};


/**
 * optional LiteralSequenceExpression literal_sequence_expression = 1;
 * @return {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.getLiteralSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.LiteralSequenceExpression, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.setLiteralSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.SequenceExpression.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.clearLiteralSequenceExpression = function() {
  return this.setLiteralSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.hasLiteralSequenceExpression = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional DerivedSequenceExpression derived_sequence_expression = 2;
 * @return {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.getDerivedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DerivedSequenceExpression, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.setDerivedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.SequenceExpression.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.clearDerivedSequenceExpression = function() {
  return this.setDerivedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.hasDerivedSequenceExpression = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional RepeatedSequenceExpression repeated_sequence_expression = 3;
 * @return {?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.getRepeatedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.setRepeatedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.SequenceExpression.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.clearRepeatedSequenceExpression = function() {
  return this.setRepeatedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.SequenceExpression.prototype.hasRepeatedSequenceExpression = function() {
  return jspb.Message.getField(this, 3) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.toObject = function(includeInstance, msg) {
  var f, obj = {
sequence: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.LiteralSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.LiteralSequenceExpression;
  return proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.LiteralSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setSequence(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getSequence();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string sequence = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.prototype.getSequence = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.prototype.setSequence = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.toObject = function(includeInstance, msg) {
  var f, obj = {
location: (f = msg.getLocation()) && proto.org.ga4gh.vrs.v1.SequenceLocation.toObject(includeInstance, f),
reverseComplement: jspb.Message.getBooleanFieldWithDefault(msg, 2, false)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.DerivedSequenceExpression;
  return proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.SequenceLocation;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.SequenceLocation.deserializeBinaryFromReader);
      msg.setLocation(value);
      break;
    case 2:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setReverseComplement(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLocation();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.SequenceLocation.serializeBinaryToWriter
    );
  }
  f = message.getReverseComplement();
  if (f) {
    writer.writeBool(
      2,
      f
    );
  }
};


/**
 * optional SequenceLocation location = 1;
 * @return {?proto.org.ga4gh.vrs.v1.SequenceLocation}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.getLocation = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.SequenceLocation} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.SequenceLocation, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.SequenceLocation|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.setLocation = function(value) {
  return jspb.Message.setWrapperField(this, 1, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.clearLocation = function() {
  return this.setLocation(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.hasLocation = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional bool reverse_complement = 2;
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.getReverseComplement = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 2, false));
};


/**
 * @param {boolean} value
 * @return {!proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.prototype.setReverseComplement = function(value) {
  return jspb.Message.setProto3BooleanField(this, 2, value);
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_ = [[1,2],[3,4,5]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.SeqExprCase = {
  SEQ_EXPR_NOT_SET: 0,
  LITERAL_SEQUENCE_EXPRESSION: 1,
  DERIVED_SEQUENCE_EXPRESSION: 2
};

/**
 * @return {proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.SeqExprCase}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getSeqExprCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.SeqExprCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[0]));
};

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.CountCase = {
  COUNT_NOT_SET: 0,
  NUMBER: 3,
  INDEFINITE_RANGE: 4,
  DEFINITE_RANGE: 5
};

/**
 * @return {proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.CountCase}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getCountCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.CountCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[1]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.toObject = function(includeInstance, msg) {
  var f, obj = {
literalSequenceExpression: (f = msg.getLiteralSequenceExpression()) && proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.toObject(includeInstance, f),
derivedSequenceExpression: (f = msg.getDerivedSequenceExpression()) && proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.toObject(includeInstance, f),
number: (f = msg.getNumber()) && proto.org.ga4gh.vrs.v1.Number.toObject(includeInstance, f),
indefiniteRange: (f = msg.getIndefiniteRange()) && proto.org.ga4gh.vrs.v1.IndefiniteRange.toObject(includeInstance, f),
definiteRange: (f = msg.getDefiniteRange()) && proto.org.ga4gh.vrs.v1.DefiniteRange.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression;
  return proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.LiteralSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.deserializeBinaryFromReader);
      msg.setLiteralSequenceExpression(value);
      break;
    case 2:
      var value = new proto.org.ga4gh.vrs.v1.DerivedSequenceExpression;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.deserializeBinaryFromReader);
      msg.setDerivedSequenceExpression(value);
      break;
    case 3:
      var value = new proto.org.ga4gh.vrs.v1.Number;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Number.deserializeBinaryFromReader);
      msg.setNumber(value);
      break;
    case 4:
      var value = new proto.org.ga4gh.vrs.v1.IndefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinaryFromReader);
      msg.setIndefiniteRange(value);
      break;
    case 5:
      var value = new proto.org.ga4gh.vrs.v1.DefiniteRange;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinaryFromReader);
      msg.setDefiniteRange(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getLiteralSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.LiteralSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getDerivedSequenceExpression();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.ga4gh.vrs.v1.DerivedSequenceExpression.serializeBinaryToWriter
    );
  }
  f = message.getNumber();
  if (f != null) {
    writer.writeMessage(
      3,
      f,
      proto.org.ga4gh.vrs.v1.Number.serializeBinaryToWriter
    );
  }
  f = message.getIndefiniteRange();
  if (f != null) {
    writer.writeMessage(
      4,
      f,
      proto.org.ga4gh.vrs.v1.IndefiniteRange.serializeBinaryToWriter
    );
  }
  f = message.getDefiniteRange();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      proto.org.ga4gh.vrs.v1.DefiniteRange.serializeBinaryToWriter
    );
  }
};


/**
 * optional LiteralSequenceExpression literal_sequence_expression = 1;
 * @return {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getLiteralSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.LiteralSequenceExpression, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.LiteralSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.setLiteralSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.clearLiteralSequenceExpression = function() {
  return this.setLiteralSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.hasLiteralSequenceExpression = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional DerivedSequenceExpression derived_sequence_expression = 2;
 * @return {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getDerivedSequenceExpression = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DerivedSequenceExpression, 2));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DerivedSequenceExpression|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.setDerivedSequenceExpression = function(value) {
  return jspb.Message.setOneofWrapperField(this, 2, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.clearDerivedSequenceExpression = function() {
  return this.setDerivedSequenceExpression(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.hasDerivedSequenceExpression = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional Number number = 3;
 * @return {?proto.org.ga4gh.vrs.v1.Number}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getNumber = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Number} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Number, 3));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Number|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.setNumber = function(value) {
  return jspb.Message.setOneofWrapperField(this, 3, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.clearNumber = function() {
  return this.setNumber(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.hasNumber = function() {
  return jspb.Message.getField(this, 3) != null;
};


/**
 * optional IndefiniteRange indefinite_range = 4;
 * @return {?proto.org.ga4gh.vrs.v1.IndefiniteRange}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getIndefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.IndefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.IndefiniteRange, 4));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.IndefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.setIndefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 4, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.clearIndefiniteRange = function() {
  return this.setIndefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.hasIndefiniteRange = function() {
  return jspb.Message.getField(this, 4) != null;
};


/**
 * optional DefiniteRange definite_range = 5;
 * @return {?proto.org.ga4gh.vrs.v1.DefiniteRange}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.getDefiniteRange = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.DefiniteRange} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.DefiniteRange, 5));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.DefiniteRange|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
*/
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.setDefiniteRange = function(value) {
  return jspb.Message.setOneofWrapperField(this, 5, proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.oneofGroups_[1], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression} returns this
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.clearDefiniteRange = function() {
  return this.setDefiniteRange(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.RepeatedSequenceExpression.prototype.hasDefiniteRange = function() {
  return jspb.Message.getField(this, 5) != null;
};



/**
 * Oneof group definitions for this message. Each group defines the field
 * numbers belonging to that group. When of these fields' value is set, all
 * other fields in the group are cleared. During deserialization, if multiple
 * fields are encountered for a group, only the last value seen will be kept.
 * @private {!Array<!Array<number>>}
 * @const
 */
proto.org.ga4gh.vrs.v1.Feature.oneofGroups_ = [[1]];

/**
 * @enum {number}
 */
proto.org.ga4gh.vrs.v1.Feature.FeatureCase = {
  FEATURE_NOT_SET: 0,
  GENE: 1
};

/**
 * @return {proto.org.ga4gh.vrs.v1.Feature.FeatureCase}
 */
proto.org.ga4gh.vrs.v1.Feature.prototype.getFeatureCase = function() {
  return /** @type {proto.org.ga4gh.vrs.v1.Feature.FeatureCase} */(jspb.Message.computeOneofCase(this, proto.org.ga4gh.vrs.v1.Feature.oneofGroups_[0]));
};



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Feature.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Feature.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Feature} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Feature.toObject = function(includeInstance, msg) {
  var f, obj = {
gene: (f = msg.getGene()) && proto.org.ga4gh.vrs.v1.Gene.toObject(includeInstance, f)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Feature}
 */
proto.org.ga4gh.vrs.v1.Feature.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Feature;
  return proto.org.ga4gh.vrs.v1.Feature.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Feature} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Feature}
 */
proto.org.ga4gh.vrs.v1.Feature.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.ga4gh.vrs.v1.Gene;
      reader.readMessage(value,proto.org.ga4gh.vrs.v1.Gene.deserializeBinaryFromReader);
      msg.setGene(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Feature.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Feature.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Feature} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Feature.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGene();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      proto.org.ga4gh.vrs.v1.Gene.serializeBinaryToWriter
    );
  }
};


/**
 * optional Gene gene = 1;
 * @return {?proto.org.ga4gh.vrs.v1.Gene}
 */
proto.org.ga4gh.vrs.v1.Feature.prototype.getGene = function() {
  return /** @type{?proto.org.ga4gh.vrs.v1.Gene} */ (
    jspb.Message.getWrapperField(this, proto.org.ga4gh.vrs.v1.Gene, 1));
};


/**
 * @param {?proto.org.ga4gh.vrs.v1.Gene|undefined} value
 * @return {!proto.org.ga4gh.vrs.v1.Feature} returns this
*/
proto.org.ga4gh.vrs.v1.Feature.prototype.setGene = function(value) {
  return jspb.Message.setOneofWrapperField(this, 1, proto.org.ga4gh.vrs.v1.Feature.oneofGroups_[0], value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.ga4gh.vrs.v1.Feature} returns this
 */
proto.org.ga4gh.vrs.v1.Feature.prototype.clearGene = function() {
  return this.setGene(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.ga4gh.vrs.v1.Feature.prototype.hasGene = function() {
  return jspb.Message.getField(this, 1) != null;
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Gene.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Gene.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Gene} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Gene.toObject = function(includeInstance, msg) {
  var f, obj = {
geneId: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Gene}
 */
proto.org.ga4gh.vrs.v1.Gene.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Gene;
  return proto.org.ga4gh.vrs.v1.Gene.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Gene} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Gene}
 */
proto.org.ga4gh.vrs.v1.Gene.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setGeneId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Gene.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Gene.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Gene} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Gene.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGeneId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string gene_id = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.Gene.prototype.getGeneId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.Gene} returns this
 */
proto.org.ga4gh.vrs.v1.Gene.prototype.setGeneId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.Number.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.Number.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.Number} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Number.toObject = function(includeInstance, msg) {
  var f, obj = {
value: jspb.Message.getFieldWithDefault(msg, 1, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.Number}
 */
proto.org.ga4gh.vrs.v1.Number.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.Number;
  return proto.org.ga4gh.vrs.v1.Number.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.Number} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.Number}
 */
proto.org.ga4gh.vrs.v1.Number.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setValue(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.Number.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.Number.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.Number} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.Number.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getValue();
  if (f !== 0) {
    writer.writeUint64(
      1,
      f
    );
  }
};


/**
 * optional uint64 value = 1;
 * @return {number}
 */
proto.org.ga4gh.vrs.v1.Number.prototype.getValue = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.ga4gh.vrs.v1.Number} returns this
 */
proto.org.ga4gh.vrs.v1.Number.prototype.setValue = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.IndefiniteRange.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.IndefiniteRange} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.toObject = function(includeInstance, msg) {
  var f, obj = {
value: jspb.Message.getFieldWithDefault(msg, 1, 0),
comparator: jspb.Message.getFieldWithDefault(msg, 2, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.IndefiniteRange}
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.IndefiniteRange;
  return proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.IndefiniteRange} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.IndefiniteRange}
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setValue(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setComparator(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.IndefiniteRange.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.IndefiniteRange} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getValue();
  if (f !== 0) {
    writer.writeUint64(
      1,
      f
    );
  }
  f = message.getComparator();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional uint64 value = 1;
 * @return {number}
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.prototype.getValue = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.ga4gh.vrs.v1.IndefiniteRange} returns this
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.prototype.setValue = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string comparator = 2;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.prototype.getComparator = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.IndefiniteRange} returns this
 */
proto.org.ga4gh.vrs.v1.IndefiniteRange.prototype.setComparator = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.DefiniteRange.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.DefiniteRange} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.toObject = function(includeInstance, msg) {
  var f, obj = {
min: jspb.Message.getFieldWithDefault(msg, 1, 0),
max: jspb.Message.getFieldWithDefault(msg, 2, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.DefiniteRange}
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.DefiniteRange;
  return proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.DefiniteRange} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.DefiniteRange}
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setMin(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setMax(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.DefiniteRange.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.DefiniteRange} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMin();
  if (f !== 0) {
    writer.writeUint64(
      1,
      f
    );
  }
  f = message.getMax();
  if (f !== 0) {
    writer.writeUint64(
      2,
      f
    );
  }
};


/**
 * optional uint64 min = 1;
 * @return {number}
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.prototype.getMin = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.ga4gh.vrs.v1.DefiniteRange} returns this
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.prototype.setMin = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional uint64 max = 2;
 * @return {number}
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.prototype.getMax = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.ga4gh.vrs.v1.DefiniteRange} returns this
 */
proto.org.ga4gh.vrs.v1.DefiniteRange.prototype.setMax = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.SequenceState.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.SequenceState.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.SequenceState} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceState.toObject = function(includeInstance, msg) {
  var f, obj = {
sequence: jspb.Message.getFieldWithDefault(msg, 1, "")
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceState}
 */
proto.org.ga4gh.vrs.v1.SequenceState.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.SequenceState;
  return proto.org.ga4gh.vrs.v1.SequenceState.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceState} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.SequenceState}
 */
proto.org.ga4gh.vrs.v1.SequenceState.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setSequence(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.SequenceState.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.SequenceState.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.SequenceState} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SequenceState.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getSequence();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string sequence = 1;
 * @return {string}
 */
proto.org.ga4gh.vrs.v1.SequenceState.prototype.getSequence = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.ga4gh.vrs.v1.SequenceState} returns this
 */
proto.org.ga4gh.vrs.v1.SequenceState.prototype.setSequence = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};





if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * Optional fields that are not set will be set to undefined.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     net/proto2/compiler/js/internal/generator.cc#kKeyword.
 * @param {boolean=} opt_includeInstance Deprecated. whether to include the
 *     JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @return {!Object}
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.prototype.toObject = function(opt_includeInstance) {
  return proto.org.ga4gh.vrs.v1.SimpleInterval.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.ga4gh.vrs.v1.SimpleInterval} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.toObject = function(includeInstance, msg) {
  var f, obj = {
start: jspb.Message.getFieldWithDefault(msg, 1, 0),
end: jspb.Message.getFieldWithDefault(msg, 2, 0)
  };

  if (includeInstance) {
    obj.$jspbMessageInstance = msg;
  }
  return obj;
};
}


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.ga4gh.vrs.v1.SimpleInterval}
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.ga4gh.vrs.v1.SimpleInterval;
  return proto.org.ga4gh.vrs.v1.SimpleInterval.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.ga4gh.vrs.v1.SimpleInterval} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.ga4gh.vrs.v1.SimpleInterval}
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setStart(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readUint64());
      msg.setEnd(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.ga4gh.vrs.v1.SimpleInterval.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.ga4gh.vrs.v1.SimpleInterval} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getStart();
  if (f !== 0) {
    writer.writeUint64(
      1,
      f
    );
  }
  f = message.getEnd();
  if (f !== 0) {
    writer.writeUint64(
      2,
      f
    );
  }
};


/**
 * optional uint64 start = 1;
 * @return {number}
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.prototype.getStart = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.ga4gh.vrs.v1.SimpleInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.prototype.setStart = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional uint64 end = 2;
 * @return {number}
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.prototype.getEnd = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.ga4gh.vrs.v1.SimpleInterval} returns this
 */
proto.org.ga4gh.vrs.v1.SimpleInterval.prototype.setEnd = function(value) {
  return jspb.Message.setProto3IntField(this, 2, value);
};


goog.object.extend(exports, proto.org.ga4gh.vrs.v1);