/**
 * @fileoverview
 * @enhanceable
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!

var jspb = require('google-protobuf');
var goog = jspb;
var global = Function('return this')();

var google_protobuf_any_pb = require('google-protobuf/google/protobuf/any_pb.js');
goog.exportSymbol('typhoon.Action', null, global);
goog.exportSymbol('typhoon.Admin', null, global);
goog.exportSymbol('typhoon.AdminsCountRequest', null, global);
goog.exportSymbol('typhoon.AdminsCountResponse', null, global);
goog.exportSymbol('typhoon.Assign', null, global);
goog.exportSymbol('typhoon.AssignsCountRequest', null, global);
goog.exportSymbol('typhoon.AssignsCountResponse', null, global);
goog.exportSymbol('typhoon.AuthRequest', null, global);
goog.exportSymbol('typhoon.AuthResponse', null, global);
goog.exportSymbol('typhoon.CheckRequest', null, global);
goog.exportSymbol('typhoon.Connection', null, global);
goog.exportSymbol('typhoon.CreateAdminRequest', null, global);
goog.exportSymbol('typhoon.CreateAdminResponse', null, global);
goog.exportSymbol('typhoon.CreateAdminsRequest', null, global);
goog.exportSymbol('typhoon.CreateAssignRequest', null, global);
goog.exportSymbol('typhoon.CreateAssignResponse', null, global);
goog.exportSymbol('typhoon.CreateAssignsRequest', null, global);
goog.exportSymbol('typhoon.CreateServersRequest', null, global);
goog.exportSymbol('typhoon.CreateUserRequest', null, global);
goog.exportSymbol('typhoon.CreateUserResponse', null, global);
goog.exportSymbol('typhoon.CreateUsersRequest', null, global);
goog.exportSymbol('typhoon.DeleteAdminsRequest', null, global);
goog.exportSymbol('typhoon.DeleteAssignsRequest', null, global);
goog.exportSymbol('typhoon.DeleteServerRequest', null, global);
goog.exportSymbol('typhoon.DeleteServersRequest', null, global);
goog.exportSymbol('typhoon.DeleteUserRequest', null, global);
goog.exportSymbol('typhoon.DeleteUsersRequest', null, global);
goog.exportSymbol('typhoon.DescInfo', null, global);
goog.exportSymbol('typhoon.DownloadRequest', null, global);
goog.exportSymbol('typhoon.DownloadToRequest', null, global);
goog.exportSymbol('typhoon.DownloadToResponse', null, global);
goog.exportSymbol('typhoon.ENCRYPTION', null, global);
goog.exportSymbol('typhoon.ExplorerRequest', null, global);
goog.exportSymbol('typhoon.FileDialog', null, global);
goog.exportSymbol('typhoon.FileDialog.Type', null, global);
goog.exportSymbol('typhoon.FileDialogRequest', null, global);
goog.exportSymbol('typhoon.FileDialogResponse', null, global);
goog.exportSymbol('typhoon.FileInfo', null, global);
goog.exportSymbol('typhoon.FileType', null, global);
goog.exportSymbol('typhoon.LSRequest', null, global);
goog.exportSymbol('typhoon.LSResponse', null, global);
goog.exportSymbol('typhoon.LicenseResponse', null, global);
goog.exportSymbol('typhoon.LoginRequest', null, global);
goog.exportSymbol('typhoon.LoginResponse', null, global);
goog.exportSymbol('typhoon.LogoutRequest', null, global);
goog.exportSymbol('typhoon.LogoutResponse', null, global);
goog.exportSymbol('typhoon.MKDIReultCode', null, global);
goog.exportSymbol('typhoon.MKdirRequest', null, global);
goog.exportSymbol('typhoon.MKdirResponse', null, global);
goog.exportSymbol('typhoon.MVRequest', null, global);
goog.exportSymbol('typhoon.Module', null, global);
goog.exportSymbol('typhoon.NetStatus', null, global);
goog.exportSymbol('typhoon.Netcard', null, global);
goog.exportSymbol('typhoon.OperatTaskRequest', null, global);
goog.exportSymbol('typhoon.Order', null, global);
goog.exportSymbol('typhoon.PerformanceRequest', null, global);
goog.exportSymbol('typhoon.PerformanceResponse', null, global);
goog.exportSymbol('typhoon.Permission', null, global);
goog.exportSymbol('typhoon.Preference', null, global);
goog.exportSymbol('typhoon.PreferenceRequest', null, global);
goog.exportSymbol('typhoon.PreferenceResponse', null, global);
goog.exportSymbol('typhoon.ProtoVersion', null, global);
goog.exportSymbol('typhoon.RMRequest', null, global);
goog.exportSymbol('typhoon.RMResponse', null, global);
goog.exportSymbol('typhoon.RMResponse.RmFaild', null, global);
goog.exportSymbol('typhoon.RNRequest', null, global);
goog.exportSymbol('typhoon.Record', null, global);
goog.exportSymbol('typhoon.Record.Status', null, global);
goog.exportSymbol('typhoon.RemainServersRequest', null, global);
goog.exportSymbol('typhoon.RemainServersResponse', null, global);
goog.exportSymbol('typhoon.ReportRequest', null, global);
goog.exportSymbol('typhoon.ReportResponse', null, global);
goog.exportSymbol('typhoon.Request', null, global);
goog.exportSymbol('typhoon.Response', null, global);
goog.exportSymbol('typhoon.RestartRequest', null, global);
goog.exportSymbol('typhoon.Result', null, global);
goog.exportSymbol('typhoon.SelectAdminRequest', null, global);
goog.exportSymbol('typhoon.SelectAdminResponse', null, global);
goog.exportSymbol('typhoon.SelectAdminsRequest', null, global);
goog.exportSymbol('typhoon.SelectAdminsResponse', null, global);
goog.exportSymbol('typhoon.SelectAssignRequest', null, global);
goog.exportSymbol('typhoon.SelectAssignResponse', null, global);
goog.exportSymbol('typhoon.SelectAssignsRequest', null, global);
goog.exportSymbol('typhoon.SelectAssignsResponse', null, global);
goog.exportSymbol('typhoon.SelectServerRequest', null, global);
goog.exportSymbol('typhoon.SelectServerResponse', null, global);
goog.exportSymbol('typhoon.SelectServersRequest', null, global);
goog.exportSymbol('typhoon.SelectServersResponse', null, global);
goog.exportSymbol('typhoon.SelectUserRequest', null, global);
goog.exportSymbol('typhoon.SelectUserResponse', null, global);
goog.exportSymbol('typhoon.SelectUsersRequest', null, global);
goog.exportSymbol('typhoon.SelectUsersResponse', null, global);
goog.exportSymbol('typhoon.Server', null, global);
goog.exportSymbol('typhoon.ServerRequest', null, global);
goog.exportSymbol('typhoon.ServerResponse', null, global);
goog.exportSymbol('typhoon.ServersCountRequest', null, global);
goog.exportSymbol('typhoon.ServersCountResponse', null, global);
goog.exportSymbol('typhoon.ServersRequest', null, global);
goog.exportSymbol('typhoon.ServersResponse', null, global);
goog.exportSymbol('typhoon.Session', null, global);
goog.exportSymbol('typhoon.SessionsRequest', null, global);
goog.exportSymbol('typhoon.SessionsResponse', null, global);
goog.exportSymbol('typhoon.SetPreferenceRequest', null, global);
goog.exportSymbol('typhoon.ShutdownRequest', null, global);
goog.exportSymbol('typhoon.SoftVersion', null, global);
goog.exportSymbol('typhoon.StartRequest', null, global);
goog.exportSymbol('typhoon.StartupRequest', null, global);
goog.exportSymbol('typhoon.StartupResponse', null, global);
goog.exportSymbol('typhoon.Task', null, global);
goog.exportSymbol('typhoon.Task.Operation', null, global);
goog.exportSymbol('typhoon.Task.Progress', null, global);
goog.exportSymbol('typhoon.Task.Status', null, global);
goog.exportSymbol('typhoon.TaskListRequest', null, global);
goog.exportSymbol('typhoon.TaskListResponse', null, global);
goog.exportSymbol('typhoon.TotalCount', null, global);
goog.exportSymbol('typhoon.Transfer', null, global);
goog.exportSymbol('typhoon.Transfer.Type', null, global);
goog.exportSymbol('typhoon.UpdateAdminPwdRequest', null, global);
goog.exportSymbol('typhoon.UpdateAdminsRequest', null, global);
goog.exportSymbol('typhoon.UpdateAssignsRequest', null, global);
goog.exportSymbol('typhoon.UpdateServerRequest', null, global);
goog.exportSymbol('typhoon.UpdateServersRequest', null, global);
goog.exportSymbol('typhoon.UpdateUserPwdRequest', null, global);
goog.exportSymbol('typhoon.UpdateUserRequest', null, global);
goog.exportSymbol('typhoon.UpdateUsersRequest', null, global);
goog.exportSymbol('typhoon.UploadRequest', null, global);
goog.exportSymbol('typhoon.User', null, global);
goog.exportSymbol('typhoon.UsersCountRequest', null, global);
goog.exportSymbol('typhoon.UsersCountResponse', null, global);
goog.exportSymbol('typhoon.Version', 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
 */
typhoon.Version = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Version, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Version.displayName = 'typhoon.Version';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Version.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Version.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Version} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Version.toObject = function(includeInstance, msg) {
  var f, obj = {
    major: jspb.Message.getFieldWithDefault(msg, 1, 0),
    minor: jspb.Message.getFieldWithDefault(msg, 2, 0),
    release: jspb.Message.getFieldWithDefault(msg, 3, 0),
    revision: jspb.Message.getFieldWithDefault(msg, 4, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Version} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Version}
 */
typhoon.Version.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setMajor(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setMinor(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setRelease(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setRevision(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Version} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Version.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getMajor();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getMinor();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getRelease();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
  f = message.getRevision();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
};


/**
 * optional int32 MAJOR = 1;
 * @return {number}
 */
typhoon.Version.prototype.getMajor = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Version.prototype.setMajor = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int32 MINOR = 2;
 * @return {number}
 */
typhoon.Version.prototype.getMinor = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.Version.prototype.setMinor = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int32 RELEASE = 3;
 * @return {number}
 */
typhoon.Version.prototype.getRelease = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.Version.prototype.setRelease = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 REVISION = 4;
 * @return {number}
 */
typhoon.Version.prototype.getRevision = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.Version.prototype.setRevision = function(value) {
  jspb.Message.setField(this, 4, value);
};



/**
 * 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
 */
typhoon.Request = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Request, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Request.displayName = 'typhoon.Request';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Request.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Request.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Request} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Request.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    version: jspb.Message.getFieldWithDefault(msg, 2, 0),
    module: jspb.Message.getFieldWithDefault(msg, 3, 0),
    device: jspb.Message.getFieldWithDefault(msg, 4, ""),
    action: jspb.Message.getFieldWithDefault(msg, 5, 0),
    data: (f = msg.getData()) && google_protobuf_any_pb.Any.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 {!typhoon.Request}
 */
typhoon.Request.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.Request;
  return typhoon.Request.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Request} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Request}
 */
typhoon.Request.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setVersion(value);
      break;
    case 3:
      var value = /** @type {!typhoon.Module} */ (reader.readEnum());
      msg.setModule(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setDevice(value);
      break;
    case 5:
      var value = /** @type {!typhoon.Action} */ (reader.readEnum());
      msg.setAction(value);
      break;
    case 100:
      var value = new google_protobuf_any_pb.Any;
      reader.readMessage(value,google_protobuf_any_pb.Any.deserializeBinaryFromReader);
      msg.setData(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Request} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Request.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getVersion();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getModule();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getDevice();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getAction();
  if (f !== 0.0) {
    writer.writeEnum(
      5,
      f
    );
  }
  f = message.getData();
  if (f != null) {
    writer.writeMessage(
      100,
      f,
      google_protobuf_any_pb.Any.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Request.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Request.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int32 version = 2;
 * @return {number}
 */
typhoon.Request.prototype.getVersion = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.Request.prototype.setVersion = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional Module module = 3;
 * @return {!typhoon.Module}
 */
typhoon.Request.prototype.getModule = function() {
  return /** @type {!typhoon.Module} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!typhoon.Module} value */
typhoon.Request.prototype.setModule = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string device = 4;
 * @return {string}
 */
typhoon.Request.prototype.getDevice = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.Request.prototype.setDevice = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional Action action = 5;
 * @return {!typhoon.Action}
 */
typhoon.Request.prototype.getAction = function() {
  return /** @type {!typhoon.Action} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {!typhoon.Action} value */
typhoon.Request.prototype.setAction = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional google.protobuf.Any data = 100;
 * @return {?typhoon.Any}
 */
typhoon.Request.prototype.getData = function() {
  return /** @type{?typhoon.Any} */ (
    jspb.Message.getWrapperField(this, google_protobuf_any_pb.Any, 100));
};


/** @param {?typhoon.Any|undefined} value */
typhoon.Request.prototype.setData = function(value) {
  jspb.Message.setWrapperField(this, 100, value);
};


typhoon.Request.prototype.clearData = function() {
  this.setData(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.Request.prototype.hasData = function() {
  return jspb.Message.getField(this, 100) != null;
};



/**
 * 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
 */
typhoon.Response = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Response, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Response.displayName = 'typhoon.Response';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Response.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Response.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Response} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Response.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    version: jspb.Message.getFieldWithDefault(msg, 2, 0),
    module: jspb.Message.getFieldWithDefault(msg, 3, 0),
    action: jspb.Message.getFieldWithDefault(msg, 4, 0),
    device: jspb.Message.getFieldWithDefault(msg, 5, ""),
    result: jspb.Message.getFieldWithDefault(msg, 6, 0),
    message: jspb.Message.getFieldWithDefault(msg, 7, ""),
    data: (f = msg.getData()) && google_protobuf_any_pb.Any.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 {!typhoon.Response}
 */
typhoon.Response.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.Response;
  return typhoon.Response.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Response} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Response}
 */
typhoon.Response.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setVersion(value);
      break;
    case 3:
      var value = /** @type {!typhoon.Module} */ (reader.readEnum());
      msg.setModule(value);
      break;
    case 4:
      var value = /** @type {!typhoon.Action} */ (reader.readEnum());
      msg.setAction(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setDevice(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setResult(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setMessage(value);
      break;
    case 100:
      var value = new google_protobuf_any_pb.Any;
      reader.readMessage(value,google_protobuf_any_pb.Any.deserializeBinaryFromReader);
      msg.setData(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Response} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Response.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getVersion();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getModule();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getAction();
  if (f !== 0.0) {
    writer.writeEnum(
      4,
      f
    );
  }
  f = message.getDevice();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getResult();
  if (f !== 0) {
    writer.writeInt32(
      6,
      f
    );
  }
  f = message.getMessage();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getData();
  if (f != null) {
    writer.writeMessage(
      100,
      f,
      google_protobuf_any_pb.Any.serializeBinaryToWriter
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Response.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Response.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int32 version = 2;
 * @return {number}
 */
typhoon.Response.prototype.getVersion = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.Response.prototype.setVersion = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional Module module = 3;
 * @return {!typhoon.Module}
 */
typhoon.Response.prototype.getModule = function() {
  return /** @type {!typhoon.Module} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!typhoon.Module} value */
typhoon.Response.prototype.setModule = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional Action action = 4;
 * @return {!typhoon.Action}
 */
typhoon.Response.prototype.getAction = function() {
  return /** @type {!typhoon.Action} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {!typhoon.Action} value */
typhoon.Response.prototype.setAction = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string device = 5;
 * @return {string}
 */
typhoon.Response.prototype.getDevice = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.Response.prototype.setDevice = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int32 result = 6;
 * @return {number}
 */
typhoon.Response.prototype.getResult = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.Response.prototype.setResult = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional string message = 7;
 * @return {string}
 */
typhoon.Response.prototype.getMessage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/** @param {string} value */
typhoon.Response.prototype.setMessage = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional google.protobuf.Any data = 100;
 * @return {?typhoon.Any}
 */
typhoon.Response.prototype.getData = function() {
  return /** @type{?typhoon.Any} */ (
    jspb.Message.getWrapperField(this, google_protobuf_any_pb.Any, 100));
};


/** @param {?typhoon.Any|undefined} value */
typhoon.Response.prototype.setData = function(value) {
  jspb.Message.setWrapperField(this, 100, value);
};


typhoon.Response.prototype.clearData = function() {
  this.setData(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.Response.prototype.hasData = function() {
  return jspb.Message.getField(this, 100) != null;
};



/**
 * 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
 */
typhoon.LoginRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.LoginRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LoginRequest.displayName = 'typhoon.LoginRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LoginRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LoginRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LoginRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LoginRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    account: jspb.Message.getFieldWithDefault(msg, 1, ""),
    password: jspb.Message.getFieldWithDefault(msg, 2, ""),
    token: jspb.Message.getFieldWithDefault(msg, 100, ""),
    language: jspb.Message.getFieldWithDefault(msg, 101, ""),
    host: jspb.Message.getFieldWithDefault(msg, 201, ""),
    port: jspb.Message.getFieldWithDefault(msg, 202, 0),
    proxyserverhost: jspb.Message.getFieldWithDefault(msg, 203, ""),
    proxyserverport: jspb.Message.getFieldWithDefault(msg, 204, 0),
    encrypt: jspb.Message.getFieldWithDefault(msg, 300, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.LoginRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.LoginRequest}
 */
typhoon.LoginRequest.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.setAccount(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    case 100:
      var value = /** @type {string} */ (reader.readString());
      msg.setToken(value);
      break;
    case 101:
      var value = /** @type {string} */ (reader.readString());
      msg.setLanguage(value);
      break;
    case 201:
      var value = /** @type {string} */ (reader.readString());
      msg.setHost(value);
      break;
    case 202:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPort(value);
      break;
    case 203:
      var value = /** @type {string} */ (reader.readString());
      msg.setProxyserverhost(value);
      break;
    case 204:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setProxyserverport(value);
      break;
    case 300:
      var value = /** @type {!typhoon.ENCRYPTION} */ (reader.readEnum());
      msg.setEncrypt(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LoginRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LoginRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      100,
      f
    );
  }
  f = message.getLanguage();
  if (f.length > 0) {
    writer.writeString(
      101,
      f
    );
  }
  f = message.getHost();
  if (f.length > 0) {
    writer.writeString(
      201,
      f
    );
  }
  f = message.getPort();
  if (f !== 0) {
    writer.writeInt32(
      202,
      f
    );
  }
  f = message.getProxyserverhost();
  if (f.length > 0) {
    writer.writeString(
      203,
      f
    );
  }
  f = message.getProxyserverport();
  if (f !== 0) {
    writer.writeInt32(
      204,
      f
    );
  }
  f = message.getEncrypt();
  if (f !== 0.0) {
    writer.writeEnum(
      300,
      f
    );
  }
};


/**
 * optional string account = 1;
 * @return {string}
 */
typhoon.LoginRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.LoginRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string password = 2;
 * @return {string}
 */
typhoon.LoginRequest.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.LoginRequest.prototype.setPassword = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string token = 100;
 * @return {string}
 */
typhoon.LoginRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 100, ""));
};


/** @param {string} value */
typhoon.LoginRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 100, value);
};


/**
 * optional string language = 101;
 * @return {string}
 */
typhoon.LoginRequest.prototype.getLanguage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 101, ""));
};


/** @param {string} value */
typhoon.LoginRequest.prototype.setLanguage = function(value) {
  jspb.Message.setField(this, 101, value);
};


/**
 * optional string host = 201;
 * @return {string}
 */
typhoon.LoginRequest.prototype.getHost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 201, ""));
};


/** @param {string} value */
typhoon.LoginRequest.prototype.setHost = function(value) {
  jspb.Message.setField(this, 201, value);
};


/**
 * optional int32 port = 202;
 * @return {number}
 */
typhoon.LoginRequest.prototype.getPort = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 202, 0));
};


/** @param {number} value */
typhoon.LoginRequest.prototype.setPort = function(value) {
  jspb.Message.setField(this, 202, value);
};


/**
 * optional string proxyServerHost = 203;
 * @return {string}
 */
typhoon.LoginRequest.prototype.getProxyserverhost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 203, ""));
};


/** @param {string} value */
typhoon.LoginRequest.prototype.setProxyserverhost = function(value) {
  jspb.Message.setField(this, 203, value);
};


/**
 * optional int32 proxyServerPort = 204;
 * @return {number}
 */
typhoon.LoginRequest.prototype.getProxyserverport = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 204, 0));
};


/** @param {number} value */
typhoon.LoginRequest.prototype.setProxyserverport = function(value) {
  jspb.Message.setField(this, 204, value);
};


/**
 * optional ENCRYPTION encrypt = 300;
 * @return {!typhoon.ENCRYPTION}
 */
typhoon.LoginRequest.prototype.getEncrypt = function() {
  return /** @type {!typhoon.ENCRYPTION} */ (jspb.Message.getFieldWithDefault(this, 300, 0));
};


/** @param {!typhoon.ENCRYPTION} value */
typhoon.LoginRequest.prototype.setEncrypt = function(value) {
  jspb.Message.setField(this, 300, value);
};



/**
 * 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
 */
typhoon.LoginResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.LoginResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LoginResponse.displayName = 'typhoon.LoginResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LoginResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LoginResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LoginResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LoginResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    account: jspb.Message.getFieldWithDefault(msg, 3, ""),
    reconnectcnt: jspb.Message.getFieldWithDefault(msg, 4, 0),
    softversion: jspb.Message.getFieldWithDefault(msg, 5, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.LoginResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.LoginResponse}
 */
typhoon.LoginResponse.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setReconnectcnt(value);
      break;
    case 5:
      var value = /** @type {!typhoon.SoftVersion} */ (reader.readEnum());
      msg.setSoftversion(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LoginResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LoginResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getReconnectcnt();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getSoftversion();
  if (f !== 0.0) {
    writer.writeEnum(
      5,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.LoginResponse.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.LoginResponse.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.LoginResponse.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.LoginResponse.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string account = 3;
 * @return {string}
 */
typhoon.LoginResponse.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.LoginResponse.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 reconnectcnt = 4;
 * @return {number}
 */
typhoon.LoginResponse.prototype.getReconnectcnt = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.LoginResponse.prototype.setReconnectcnt = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional SoftVersion softVersion = 5;
 * @return {!typhoon.SoftVersion}
 */
typhoon.LoginResponse.prototype.getSoftversion = function() {
  return /** @type {!typhoon.SoftVersion} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {!typhoon.SoftVersion} value */
typhoon.LoginResponse.prototype.setSoftversion = function(value) {
  jspb.Message.setField(this, 5, value);
};



/**
 * 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
 */
typhoon.AuthRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.AuthRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.AuthRequest.displayName = 'typhoon.AuthRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.AuthRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.AuthRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.AuthRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.AuthRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    account: jspb.Message.getFieldWithDefault(msg, 1, ""),
    password: jspb.Message.getFieldWithDefault(msg, 2, ""),
    token: jspb.Message.getFieldWithDefault(msg, 100, ""),
    serverid: jspb.Message.getFieldWithDefault(msg, 200, 0),
    host: jspb.Message.getFieldWithDefault(msg, 201, ""),
    port: jspb.Message.getFieldWithDefault(msg, 202, 0),
    encrypt: jspb.Message.getFieldWithDefault(msg, 300, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.AuthRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.AuthRequest}
 */
typhoon.AuthRequest.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.setAccount(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    case 100:
      var value = /** @type {string} */ (reader.readString());
      msg.setToken(value);
      break;
    case 200:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setServerid(value);
      break;
    case 201:
      var value = /** @type {string} */ (reader.readString());
      msg.setHost(value);
      break;
    case 202:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPort(value);
      break;
    case 300:
      var value = /** @type {!typhoon.ENCRYPTION} */ (reader.readEnum());
      msg.setEncrypt(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.AuthRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.AuthRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      100,
      f
    );
  }
  f = message.getServerid();
  if (f !== 0) {
    writer.writeInt64(
      200,
      f
    );
  }
  f = message.getHost();
  if (f.length > 0) {
    writer.writeString(
      201,
      f
    );
  }
  f = message.getPort();
  if (f !== 0) {
    writer.writeInt32(
      202,
      f
    );
  }
  f = message.getEncrypt();
  if (f !== 0.0) {
    writer.writeEnum(
      300,
      f
    );
  }
};


/**
 * optional string account = 1;
 * @return {string}
 */
typhoon.AuthRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.AuthRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string password = 2;
 * @return {string}
 */
typhoon.AuthRequest.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.AuthRequest.prototype.setPassword = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string token = 100;
 * @return {string}
 */
typhoon.AuthRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 100, ""));
};


/** @param {string} value */
typhoon.AuthRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 100, value);
};


/**
 * optional int64 serverId = 200;
 * @return {number}
 */
typhoon.AuthRequest.prototype.getServerid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 200, 0));
};


/** @param {number} value */
typhoon.AuthRequest.prototype.setServerid = function(value) {
  jspb.Message.setField(this, 200, value);
};


/**
 * optional string host = 201;
 * @return {string}
 */
typhoon.AuthRequest.prototype.getHost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 201, ""));
};


/** @param {string} value */
typhoon.AuthRequest.prototype.setHost = function(value) {
  jspb.Message.setField(this, 201, value);
};


/**
 * optional int32 port = 202;
 * @return {number}
 */
typhoon.AuthRequest.prototype.getPort = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 202, 0));
};


/** @param {number} value */
typhoon.AuthRequest.prototype.setPort = function(value) {
  jspb.Message.setField(this, 202, value);
};


/**
 * optional ENCRYPTION encrypt = 300;
 * @return {!typhoon.ENCRYPTION}
 */
typhoon.AuthRequest.prototype.getEncrypt = function() {
  return /** @type {!typhoon.ENCRYPTION} */ (jspb.Message.getFieldWithDefault(this, 300, 0));
};


/** @param {!typhoon.ENCRYPTION} value */
typhoon.AuthRequest.prototype.setEncrypt = function(value) {
  jspb.Message.setField(this, 300, value);
};



/**
 * 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
 */
typhoon.AuthResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.AuthResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.AuthResponse.displayName = 'typhoon.AuthResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.AuthResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.AuthResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.AuthResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.AuthResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    userid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    account: jspb.Message.getFieldWithDefault(msg, 2, ""),
    home: jspb.Message.getFieldWithDefault(msg, 3, ""),
    permission: jspb.Message.getFieldWithDefault(msg, 4, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.AuthResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.AuthResponse}
 */
typhoon.AuthResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setHome(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPermission(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.AuthResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.AuthResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getHome();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getPermission();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
};


/**
 * optional int64 userId = 1;
 * @return {number}
 */
typhoon.AuthResponse.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.AuthResponse.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string account = 2;
 * @return {string}
 */
typhoon.AuthResponse.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.AuthResponse.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string home = 3;
 * @return {string}
 */
typhoon.AuthResponse.prototype.getHome = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.AuthResponse.prototype.setHome = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 permission = 4;
 * @return {number}
 */
typhoon.AuthResponse.prototype.getPermission = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.AuthResponse.prototype.setPermission = function(value) {
  jspb.Message.setField(this, 4, value);
};



/**
 * 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
 */
typhoon.LogoutRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.LogoutRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LogoutRequest.displayName = 'typhoon.LogoutRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LogoutRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LogoutRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LogoutRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LogoutRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: 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 {!typhoon.LogoutRequest}
 */
typhoon.LogoutRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.LogoutRequest;
  return typhoon.LogoutRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.LogoutRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.LogoutRequest}
 */
typhoon.LogoutRequest.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.setToken(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LogoutRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LogoutRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.LogoutRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.LogoutRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.LogoutResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.LogoutResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LogoutResponse.displayName = 'typhoon.LogoutResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LogoutResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LogoutResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LogoutResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LogoutResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    savestatus: 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 {!typhoon.LogoutResponse}
 */
typhoon.LogoutResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.LogoutResponse;
  return typhoon.LogoutResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LogoutResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LogoutResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getSavestatus();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 saveStatus = 1;
 * @return {number}
 */
typhoon.LogoutResponse.prototype.getSavestatus = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.LogoutResponse.prototype.setSavestatus = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.FileInfo = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.FileInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.FileInfo.displayName = 'typhoon.FileInfo';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.FileInfo.prototype.toObject = function(opt_includeInstance) {
  return typhoon.FileInfo.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.FileInfo} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.FileInfo.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    fullname: jspb.Message.getFieldWithDefault(msg, 3, ""),
    size: jspb.Message.getFieldWithDefault(msg, 4, 0),
    type: jspb.Message.getFieldWithDefault(msg, 5, 0),
    created: jspb.Message.getFieldWithDefault(msg, 11, 0),
    createdNs: jspb.Message.getFieldWithDefault(msg, 12, 0),
    modified: jspb.Message.getFieldWithDefault(msg, 13, 0),
    modifiedNs: jspb.Message.getFieldWithDefault(msg, 14, 0),
    accessed: jspb.Message.getFieldWithDefault(msg, 15, 0),
    accessedNs: jspb.Message.getFieldWithDefault(msg, 16, 0),
    permissions: jspb.Message.getFieldWithDefault(msg, 20, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.FileInfo} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.FileInfo}
 */
typhoon.FileInfo.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setFullname(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    case 5:
      var value = /** @type {!typhoon.FileType} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreated(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCreatedNs(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setModified(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setModifiedNs(value);
      break;
    case 15:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setAccessed(value);
      break;
    case 16:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setAccessedNs(value);
      break;
    case 20:
      var value = /** @type {number} */ (reader.readUint32());
      msg.setPermissions(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.FileInfo} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.FileInfo.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getFullname();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      5,
      f
    );
  }
  f = message.getCreated();
  if (f !== 0) {
    writer.writeInt64(
      11,
      f
    );
  }
  f = message.getCreatedNs();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getModified();
  if (f !== 0) {
    writer.writeInt64(
      13,
      f
    );
  }
  f = message.getModifiedNs();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
  f = message.getAccessed();
  if (f !== 0) {
    writer.writeInt64(
      15,
      f
    );
  }
  f = message.getAccessedNs();
  if (f !== 0) {
    writer.writeInt32(
      16,
      f
    );
  }
  f = message.getPermissions();
  if (f !== 0) {
    writer.writeUint32(
      20,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.FileInfo.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
typhoon.FileInfo.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.FileInfo.prototype.setName = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string fullname = 3;
 * @return {string}
 */
typhoon.FileInfo.prototype.getFullname = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.FileInfo.prototype.setFullname = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int64 size = 4;
 * @return {number}
 */
typhoon.FileInfo.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setSize = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional FileType type = 5;
 * @return {!typhoon.FileType}
 */
typhoon.FileInfo.prototype.getType = function() {
  return /** @type {!typhoon.FileType} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {!typhoon.FileType} value */
typhoon.FileInfo.prototype.setType = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int64 created = 11;
 * @return {number}
 */
typhoon.FileInfo.prototype.getCreated = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setCreated = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 created_ns = 12;
 * @return {number}
 */
typhoon.FileInfo.prototype.getCreatedNs = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setCreatedNs = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int64 modified = 13;
 * @return {number}
 */
typhoon.FileInfo.prototype.getModified = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setModified = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 modified_ns = 14;
 * @return {number}
 */
typhoon.FileInfo.prototype.getModifiedNs = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setModifiedNs = function(value) {
  jspb.Message.setField(this, 14, value);
};


/**
 * optional int64 accessed = 15;
 * @return {number}
 */
typhoon.FileInfo.prototype.getAccessed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setAccessed = function(value) {
  jspb.Message.setField(this, 15, value);
};


/**
 * optional int32 accessed_ns = 16;
 * @return {number}
 */
typhoon.FileInfo.prototype.getAccessedNs = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setAccessedNs = function(value) {
  jspb.Message.setField(this, 16, value);
};


/**
 * optional uint32 permissions = 20;
 * @return {number}
 */
typhoon.FileInfo.prototype.getPermissions = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 20, 0));
};


/** @param {number} value */
typhoon.FileInfo.prototype.setPermissions = function(value) {
  jspb.Message.setField(this, 20, value);
};



/**
 * 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
 */
typhoon.LSRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.LSRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LSRequest.displayName = 'typhoon.LSRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LSRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LSRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LSRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LSRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    directory: 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 {!typhoon.LSRequest}
 */
typhoon.LSRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.LSRequest;
  return typhoon.LSRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.LSRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.LSRequest}
 */
typhoon.LSRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setDirectory(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LSRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LSRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.LSRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.LSRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string directory = 2;
 * @return {string}
 */
typhoon.LSRequest.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.LSRequest.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.LSResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.LSResponse.repeatedFields_, null);
};
goog.inherits(typhoon.LSResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LSResponse.displayName = 'typhoon.LSResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.LSResponse.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LSResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LSResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LSResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LSResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    directory: jspb.Message.getFieldWithDefault(msg, 1, ""),
    filesList: jspb.Message.toObjectList(msg.getFilesList(),
    typhoon.FileInfo.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 {!typhoon.LSResponse}
 */
typhoon.LSResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.LSResponse;
  return typhoon.LSResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.LSResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.LSResponse}
 */
typhoon.LSResponse.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.setDirectory(value);
      break;
    case 2:
      var value = new typhoon.FileInfo;
      reader.readMessage(value,typhoon.FileInfo.deserializeBinaryFromReader);
      msg.addFiles(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LSResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LSResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getFilesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.FileInfo.serializeBinaryToWriter
    );
  }
};


/**
 * optional string directory = 1;
 * @return {string}
 */
typhoon.LSResponse.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.LSResponse.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated FileInfo files = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.FileInfo>}
 */
typhoon.LSResponse.prototype.getFilesList = function() {
  return /** @type{!Array.<!typhoon.FileInfo>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.FileInfo, 2));
};


/** @param {!Array.<!typhoon.FileInfo>} value */
typhoon.LSResponse.prototype.setFilesList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.FileInfo=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.FileInfo}
 */
typhoon.LSResponse.prototype.addFiles = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.FileInfo, opt_index);
};


typhoon.LSResponse.prototype.clearFilesList = function() {
  this.setFilesList([]);
};



/**
 * 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
 */
typhoon.MKdirRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.MKdirRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.MKdirRequest.displayName = 'typhoon.MKdirRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.MKdirRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.MKdirRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.MKdirRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.MKdirRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    directory: 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 {!typhoon.MKdirRequest}
 */
typhoon.MKdirRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.MKdirRequest;
  return typhoon.MKdirRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.MKdirRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.MKdirRequest}
 */
typhoon.MKdirRequest.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.setDirectory(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.MKdirRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.MKdirRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string directory = 1;
 * @return {string}
 */
typhoon.MKdirRequest.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.MKdirRequest.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.MKdirResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.MKdirResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.MKdirResponse.displayName = 'typhoon.MKdirResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.MKdirResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.MKdirResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.MKdirResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.MKdirResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    code: 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 {!typhoon.MKdirResponse}
 */
typhoon.MKdirResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.MKdirResponse;
  return typhoon.MKdirResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.MKdirResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.MKdirResponse}
 */
typhoon.MKdirResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!typhoon.MKDIReultCode} */ (reader.readEnum());
      msg.setCode(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.MKdirResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.MKdirResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCode();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
};


/**
 * optional MKDIReultCode code = 1;
 * @return {!typhoon.MKDIReultCode}
 */
typhoon.MKdirResponse.prototype.getCode = function() {
  return /** @type {!typhoon.MKDIReultCode} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {!typhoon.MKDIReultCode} value */
typhoon.MKdirResponse.prototype.setCode = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.RMRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.RMRequest.repeatedFields_, null);
};
goog.inherits(typhoon.RMRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RMRequest.displayName = 'typhoon.RMRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.RMRequest.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RMRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RMRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RMRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RMRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    filesList: jspb.Message.getField(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 {!typhoon.RMRequest}
 */
typhoon.RMRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.RMRequest;
  return typhoon.RMRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.RMRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.RMRequest}
 */
typhoon.RMRequest.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.addFiles(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RMRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RMRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFilesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      1,
      f
    );
  }
};


/**
 * repeated string files = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<string>}
 */
typhoon.RMRequest.prototype.getFilesList = function() {
  return /** @type {!Array.<string>} */ (jspb.Message.getField(this, 1));
};


/** @param {!Array.<string>} value */
typhoon.RMRequest.prototype.setFilesList = function(value) {
  jspb.Message.setField(this, 1, value || []);
};


/**
 * @param {!string} value
 * @param {number=} opt_index
 */
typhoon.RMRequest.prototype.addFiles = function(value, opt_index) {
  jspb.Message.addToRepeatedField(this, 1, value, opt_index);
};


typhoon.RMRequest.prototype.clearFilesList = function() {
  this.setFilesList([]);
};



/**
 * 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
 */
typhoon.RMResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.RMResponse.repeatedFields_, null);
};
goog.inherits(typhoon.RMResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RMResponse.displayName = 'typhoon.RMResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.RMResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RMResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RMResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RMResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RMResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    faildList: jspb.Message.toObjectList(msg.getFaildList(),
    typhoon.RMResponse.RmFaild.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 {!typhoon.RMResponse}
 */
typhoon.RMResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.RMResponse;
  return typhoon.RMResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RMResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RMResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFaildList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.RMResponse.RmFaild.serializeBinaryToWriter
    );
  }
};



/**
 * 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
 */
typhoon.RMResponse.RmFaild = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.RMResponse.RmFaild, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RMResponse.RmFaild.displayName = 'typhoon.RMResponse.RmFaild';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RMResponse.RmFaild.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RMResponse.RmFaild.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RMResponse.RmFaild} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RMResponse.RmFaild.toObject = function(includeInstance, msg) {
  var f, obj = {
    file: jspb.Message.getFieldWithDefault(msg, 1, ""),
    error: 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 {!typhoon.RMResponse.RmFaild}
 */
typhoon.RMResponse.RmFaild.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.RMResponse.RmFaild;
  return typhoon.RMResponse.RmFaild.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.RMResponse.RmFaild} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.RMResponse.RmFaild}
 */
typhoon.RMResponse.RmFaild.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.setFile(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setError(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
typhoon.RMResponse.RmFaild.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  typhoon.RMResponse.RmFaild.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RMResponse.RmFaild} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RMResponse.RmFaild.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFile();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getError();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string file = 1;
 * @return {string}
 */
typhoon.RMResponse.RmFaild.prototype.getFile = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.RMResponse.RmFaild.prototype.setFile = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string error = 2;
 * @return {string}
 */
typhoon.RMResponse.RmFaild.prototype.getError = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.RMResponse.RmFaild.prototype.setError = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * repeated RmFaild faild = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.RMResponse.RmFaild>}
 */
typhoon.RMResponse.prototype.getFaildList = function() {
  return /** @type{!Array.<!typhoon.RMResponse.RmFaild>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.RMResponse.RmFaild, 1));
};


/** @param {!Array.<!typhoon.RMResponse.RmFaild>} value */
typhoon.RMResponse.prototype.setFaildList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.RMResponse.RmFaild=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.RMResponse.RmFaild}
 */
typhoon.RMResponse.prototype.addFaild = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.RMResponse.RmFaild, opt_index);
};


typhoon.RMResponse.prototype.clearFaildList = function() {
  this.setFaildList([]);
};



/**
 * 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
 */
typhoon.MVRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.MVRequest.repeatedFields_, null);
};
goog.inherits(typhoon.MVRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.MVRequest.displayName = 'typhoon.MVRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.MVRequest.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.MVRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.MVRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.MVRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.MVRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    fromList: jspb.Message.getField(msg, 1),
    to: 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 {!typhoon.MVRequest}
 */
typhoon.MVRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.MVRequest;
  return typhoon.MVRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.MVRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.MVRequest}
 */
typhoon.MVRequest.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.addFrom(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setTo(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.MVRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.MVRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFromList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      1,
      f
    );
  }
  f = message.getTo();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * repeated string from = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<string>}
 */
typhoon.MVRequest.prototype.getFromList = function() {
  return /** @type {!Array.<string>} */ (jspb.Message.getField(this, 1));
};


/** @param {!Array.<string>} value */
typhoon.MVRequest.prototype.setFromList = function(value) {
  jspb.Message.setField(this, 1, value || []);
};


/**
 * @param {!string} value
 * @param {number=} opt_index
 */
typhoon.MVRequest.prototype.addFrom = function(value, opt_index) {
  jspb.Message.addToRepeatedField(this, 1, value, opt_index);
};


typhoon.MVRequest.prototype.clearFromList = function() {
  this.setFromList([]);
};


/**
 * optional string to = 2;
 * @return {string}
 */
typhoon.MVRequest.prototype.getTo = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.MVRequest.prototype.setTo = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.RNRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.RNRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RNRequest.displayName = 'typhoon.RNRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RNRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RNRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RNRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RNRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    from: jspb.Message.getFieldWithDefault(msg, 1, ""),
    to: 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 {!typhoon.RNRequest}
 */
typhoon.RNRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.RNRequest;
  return typhoon.RNRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.RNRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.RNRequest}
 */
typhoon.RNRequest.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.setFrom(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setTo(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RNRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RNRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFrom();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getTo();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string from = 1;
 * @return {string}
 */
typhoon.RNRequest.prototype.getFrom = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.RNRequest.prototype.setFrom = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string to = 2;
 * @return {string}
 */
typhoon.RNRequest.prototype.getTo = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.RNRequest.prototype.setTo = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.StartRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.StartRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.StartRequest.displayName = 'typhoon.StartRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.StartRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.StartRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.StartRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.StartRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.StartRequest}
 */
typhoon.StartRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.StartRequest;
  return typhoon.StartRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.StartRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.StartRequest}
 */
typhoon.StartRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.setServer(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.StartRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.StartRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.StartRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.StartRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Server server = 2;
 * @return {?typhoon.Server}
 */
typhoon.StartRequest.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 2));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.StartRequest.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.StartRequest.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.StartRequest.prototype.hasServer = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.RestartRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.RestartRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RestartRequest.displayName = 'typhoon.RestartRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RestartRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RestartRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RestartRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RestartRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.RestartRequest}
 */
typhoon.RestartRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.RestartRequest;
  return typhoon.RestartRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.RestartRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.RestartRequest}
 */
typhoon.RestartRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.setServer(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RestartRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RestartRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.RestartRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.RestartRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Server server = 2;
 * @return {?typhoon.Server}
 */
typhoon.RestartRequest.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 2));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.RestartRequest.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.RestartRequest.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.RestartRequest.prototype.hasServer = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.ShutdownRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ShutdownRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ShutdownRequest.displayName = 'typhoon.ShutdownRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ShutdownRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ShutdownRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ShutdownRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ShutdownRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.ShutdownRequest}
 */
typhoon.ShutdownRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ShutdownRequest;
  return typhoon.ShutdownRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ShutdownRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ShutdownRequest}
 */
typhoon.ShutdownRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.setServer(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ShutdownRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ShutdownRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.ShutdownRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.ShutdownRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Server server = 2;
 * @return {?typhoon.Server}
 */
typhoon.ShutdownRequest.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 2));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.ShutdownRequest.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.ShutdownRequest.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.ShutdownRequest.prototype.hasServer = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.Record = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Record, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Record.displayName = 'typhoon.Record';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Record.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Record.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Record} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Record.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Record} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Record}
 */
typhoon.Record.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Record} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Record.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};


/**
 * @enum {number}
 */
typhoon.Record.Status = {
  IDLE: 0,
  ACTIVED: 1,
  DISABLE: 2,
  DELETED: 3
};


/**
 * 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
 */
typhoon.Server = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Server, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Server.displayName = 'typhoon.Server';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Server.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Server.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Server} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Server.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    version: jspb.Message.getFieldWithDefault(msg, 3, ""),
    device: jspb.Message.getFieldWithDefault(msg, 4, ""),
    host: jspb.Message.getFieldWithDefault(msg, 5, ""),
    port: jspb.Message.getFieldWithDefault(msg, 6, 0),
    os: jspb.Message.getFieldWithDefault(msg, 7, ""),
    status: jspb.Message.getFieldWithDefault(msg, 8, 0),
    loglevel: jspb.Message.getFieldWithDefault(msg, 9, 0),
    directory: jspb.Message.getFieldWithDefault(msg, 10, ""),
    apiport: jspb.Message.getFieldWithDefault(msg, 11, 0),
    remark: jspb.Message.getFieldWithDefault(msg, 12, ""),
    created: jspb.Message.getFieldWithDefault(msg, 13, 0),
    maxusercount: jspb.Message.getFieldWithDefault(msg, 14, 0),
    conntimeout: jspb.Message.getFieldWithDefault(msg, 15, 0),
    notransfertimeout: jspb.Message.getFieldWithDefault(msg, 16, 0),
    logintimeout: jspb.Message.getFieldWithDefault(msg, 17, 0),
    threadnums: jspb.Message.getFieldWithDefault(msg, 18, 0),
    packagesize: jspb.Message.getFieldWithDefault(msg, 19, 0),
    ipbind: jspb.Message.getFieldWithDefault(msg, 20, ""),
    ipfilter: jspb.Message.getFieldWithDefault(msg, 21, ""),
    ipfilterexclude: jspb.Message.getFieldWithDefault(msg, 22, ""),
    portbegin: jspb.Message.getFieldWithDefault(msg, 23, 0),
    portend: jspb.Message.getFieldWithDefault(msg, 24, 0),
    socketbufsize: jspb.Message.getFieldWithDefault(msg, 25, 0),
    downloadoccupied: jspb.Message.getFieldWithDefault(msg, 26, 0),
    speedlimittype: jspb.Message.getFieldWithDefault(msg, 27, 0),
    uploadspeed: jspb.Message.getFieldWithDefault(msg, 28, 0),
    downloadspeed: jspb.Message.getFieldWithDefault(msg, 29, 0),
    enableftps: jspb.Message.getFieldWithDefault(msg, 30, 0),
    privatekeyfile: jspb.Message.getFieldWithDefault(msg, 31, ""),
    certificatefile: jspb.Message.getFieldWithDefault(msg, 32, ""),
    keypassword: jspb.Message.getFieldWithDefault(msg, 33, ""),
    enableproxy: jspb.Message.getFieldWithDefault(msg, 100, 0),
    proxyhost: jspb.Message.getFieldWithDefault(msg, 101, ""),
    proxyport: jspb.Message.getFieldWithDefault(msg, 102, 0),
    license: jspb.Message.getFieldWithDefault(msg, 103, ""),
    compression: jspb.Message.getFieldWithDefault(msg, 104, 0),
    outbound: jspb.Message.getFieldWithDefault(msg, 105, 0),
    inbound: jspb.Message.getFieldWithDefault(msg, 106, 0),
    product: jspb.Message.getFieldWithDefault(msg, 200, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Server} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Server}
 */
typhoon.Server.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setVersion(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setDevice(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setHost(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPort(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setOs(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setStatus(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setLoglevel(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setDirectory(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setApiport(value);
      break;
    case 12:
      var value = /** @type {string} */ (reader.readString());
      msg.setRemark(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreated(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setMaxusercount(value);
      break;
    case 15:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setConntimeout(value);
      break;
    case 16:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setNotransfertimeout(value);
      break;
    case 17:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setLogintimeout(value);
      break;
    case 18:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setThreadnums(value);
      break;
    case 19:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPackagesize(value);
      break;
    case 20:
      var value = /** @type {string} */ (reader.readString());
      msg.setIpbind(value);
      break;
    case 21:
      var value = /** @type {string} */ (reader.readString());
      msg.setIpfilter(value);
      break;
    case 22:
      var value = /** @type {string} */ (reader.readString());
      msg.setIpfilterexclude(value);
      break;
    case 23:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPortbegin(value);
      break;
    case 24:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPortend(value);
      break;
    case 25:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setSocketbufsize(value);
      break;
    case 26:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDownloadoccupied(value);
      break;
    case 27:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setSpeedlimittype(value);
      break;
    case 28:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUploadspeed(value);
      break;
    case 29:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDownloadspeed(value);
      break;
    case 30:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setEnableftps(value);
      break;
    case 31:
      var value = /** @type {string} */ (reader.readString());
      msg.setPrivatekeyfile(value);
      break;
    case 32:
      var value = /** @type {string} */ (reader.readString());
      msg.setCertificatefile(value);
      break;
    case 33:
      var value = /** @type {string} */ (reader.readString());
      msg.setKeypassword(value);
      break;
    case 100:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setEnableproxy(value);
      break;
    case 101:
      var value = /** @type {string} */ (reader.readString());
      msg.setProxyhost(value);
      break;
    case 102:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setProxyport(value);
      break;
    case 103:
      var value = /** @type {string} */ (reader.readString());
      msg.setLicense(value);
      break;
    case 104:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCompression(value);
      break;
    case 105:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setOutbound(value);
      break;
    case 106:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setInbound(value);
      break;
    case 200:
      var value = /** @type {string} */ (reader.readString());
      msg.setProduct(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Server} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Server.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getDevice();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getHost();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getPort();
  if (f !== 0) {
    writer.writeInt32(
      6,
      f
    );
  }
  f = message.getOs();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getStatus();
  if (f !== 0) {
    writer.writeInt32(
      8,
      f
    );
  }
  f = message.getLoglevel();
  if (f !== 0) {
    writer.writeInt32(
      9,
      f
    );
  }
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getApiport();
  if (f !== 0) {
    writer.writeInt32(
      11,
      f
    );
  }
  f = message.getRemark();
  if (f.length > 0) {
    writer.writeString(
      12,
      f
    );
  }
  f = message.getCreated();
  if (f !== 0) {
    writer.writeInt64(
      13,
      f
    );
  }
  f = message.getMaxusercount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
  f = message.getConntimeout();
  if (f !== 0) {
    writer.writeInt32(
      15,
      f
    );
  }
  f = message.getNotransfertimeout();
  if (f !== 0) {
    writer.writeInt32(
      16,
      f
    );
  }
  f = message.getLogintimeout();
  if (f !== 0) {
    writer.writeInt32(
      17,
      f
    );
  }
  f = message.getThreadnums();
  if (f !== 0) {
    writer.writeInt32(
      18,
      f
    );
  }
  f = message.getPackagesize();
  if (f !== 0) {
    writer.writeInt32(
      19,
      f
    );
  }
  f = message.getIpbind();
  if (f.length > 0) {
    writer.writeString(
      20,
      f
    );
  }
  f = message.getIpfilter();
  if (f.length > 0) {
    writer.writeString(
      21,
      f
    );
  }
  f = message.getIpfilterexclude();
  if (f.length > 0) {
    writer.writeString(
      22,
      f
    );
  }
  f = message.getPortbegin();
  if (f !== 0) {
    writer.writeInt32(
      23,
      f
    );
  }
  f = message.getPortend();
  if (f !== 0) {
    writer.writeInt32(
      24,
      f
    );
  }
  f = message.getSocketbufsize();
  if (f !== 0) {
    writer.writeInt32(
      25,
      f
    );
  }
  f = message.getDownloadoccupied();
  if (f !== 0) {
    writer.writeInt32(
      26,
      f
    );
  }
  f = message.getSpeedlimittype();
  if (f !== 0) {
    writer.writeInt32(
      27,
      f
    );
  }
  f = message.getUploadspeed();
  if (f !== 0) {
    writer.writeInt64(
      28,
      f
    );
  }
  f = message.getDownloadspeed();
  if (f !== 0) {
    writer.writeInt64(
      29,
      f
    );
  }
  f = message.getEnableftps();
  if (f !== 0) {
    writer.writeInt32(
      30,
      f
    );
  }
  f = message.getPrivatekeyfile();
  if (f.length > 0) {
    writer.writeString(
      31,
      f
    );
  }
  f = message.getCertificatefile();
  if (f.length > 0) {
    writer.writeString(
      32,
      f
    );
  }
  f = message.getKeypassword();
  if (f.length > 0) {
    writer.writeString(
      33,
      f
    );
  }
  f = message.getEnableproxy();
  if (f !== 0) {
    writer.writeInt32(
      100,
      f
    );
  }
  f = message.getProxyhost();
  if (f.length > 0) {
    writer.writeString(
      101,
      f
    );
  }
  f = message.getProxyport();
  if (f !== 0) {
    writer.writeInt32(
      102,
      f
    );
  }
  f = message.getLicense();
  if (f.length > 0) {
    writer.writeString(
      103,
      f
    );
  }
  f = message.getCompression();
  if (f !== 0) {
    writer.writeInt32(
      104,
      f
    );
  }
  f = message.getOutbound();
  if (f !== 0) {
    writer.writeInt64(
      105,
      f
    );
  }
  f = message.getInbound();
  if (f !== 0) {
    writer.writeInt64(
      106,
      f
    );
  }
  f = message.getProduct();
  if (f.length > 0) {
    writer.writeString(
      200,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Server.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
typhoon.Server.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setName = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string version = 3;
 * @return {string}
 */
typhoon.Server.prototype.getVersion = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setVersion = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string device = 4;
 * @return {string}
 */
typhoon.Server.prototype.getDevice = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setDevice = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string host = 5;
 * @return {string}
 */
typhoon.Server.prototype.getHost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setHost = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int32 port = 6;
 * @return {number}
 */
typhoon.Server.prototype.getPort = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setPort = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional string os = 7;
 * @return {string}
 */
typhoon.Server.prototype.getOs = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setOs = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional int32 status = 8;
 * @return {number}
 */
typhoon.Server.prototype.getStatus = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setStatus = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional int32 loglevel = 9;
 * @return {number}
 */
typhoon.Server.prototype.getLoglevel = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setLoglevel = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional string directory = 10;
 * @return {string}
 */
typhoon.Server.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional int32 apiport = 11;
 * @return {number}
 */
typhoon.Server.prototype.getApiport = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setApiport = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional string remark = 12;
 * @return {string}
 */
typhoon.Server.prototype.getRemark = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 12, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setRemark = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int64 created = 13;
 * @return {number}
 */
typhoon.Server.prototype.getCreated = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setCreated = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 maxUserCount = 14;
 * @return {number}
 */
typhoon.Server.prototype.getMaxusercount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setMaxusercount = function(value) {
  jspb.Message.setField(this, 14, value);
};


/**
 * optional int32 connTimeout = 15;
 * @return {number}
 */
typhoon.Server.prototype.getConntimeout = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setConntimeout = function(value) {
  jspb.Message.setField(this, 15, value);
};


/**
 * optional int32 noTransferTimeout = 16;
 * @return {number}
 */
typhoon.Server.prototype.getNotransfertimeout = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setNotransfertimeout = function(value) {
  jspb.Message.setField(this, 16, value);
};


/**
 * optional int32 loginTimeout = 17;
 * @return {number}
 */
typhoon.Server.prototype.getLogintimeout = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 17, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setLogintimeout = function(value) {
  jspb.Message.setField(this, 17, value);
};


/**
 * optional int32 threadNums = 18;
 * @return {number}
 */
typhoon.Server.prototype.getThreadnums = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 18, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setThreadnums = function(value) {
  jspb.Message.setField(this, 18, value);
};


/**
 * optional int32 packageSize = 19;
 * @return {number}
 */
typhoon.Server.prototype.getPackagesize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 19, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setPackagesize = function(value) {
  jspb.Message.setField(this, 19, value);
};


/**
 * optional string ipBind = 20;
 * @return {string}
 */
typhoon.Server.prototype.getIpbind = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 20, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setIpbind = function(value) {
  jspb.Message.setField(this, 20, value);
};


/**
 * optional string ipFilter = 21;
 * @return {string}
 */
typhoon.Server.prototype.getIpfilter = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 21, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setIpfilter = function(value) {
  jspb.Message.setField(this, 21, value);
};


/**
 * optional string ipFilterExclude = 22;
 * @return {string}
 */
typhoon.Server.prototype.getIpfilterexclude = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 22, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setIpfilterexclude = function(value) {
  jspb.Message.setField(this, 22, value);
};


/**
 * optional int32 portBegin = 23;
 * @return {number}
 */
typhoon.Server.prototype.getPortbegin = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 23, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setPortbegin = function(value) {
  jspb.Message.setField(this, 23, value);
};


/**
 * optional int32 portEnd = 24;
 * @return {number}
 */
typhoon.Server.prototype.getPortend = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 24, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setPortend = function(value) {
  jspb.Message.setField(this, 24, value);
};


/**
 * optional int32 socketBufSize = 25;
 * @return {number}
 */
typhoon.Server.prototype.getSocketbufsize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 25, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setSocketbufsize = function(value) {
  jspb.Message.setField(this, 25, value);
};


/**
 * optional int32 downloadOccupied = 26;
 * @return {number}
 */
typhoon.Server.prototype.getDownloadoccupied = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 26, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setDownloadoccupied = function(value) {
  jspb.Message.setField(this, 26, value);
};


/**
 * optional int32 speedLimitType = 27;
 * @return {number}
 */
typhoon.Server.prototype.getSpeedlimittype = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 27, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setSpeedlimittype = function(value) {
  jspb.Message.setField(this, 27, value);
};


/**
 * optional int64 uploadSpeed = 28;
 * @return {number}
 */
typhoon.Server.prototype.getUploadspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 28, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setUploadspeed = function(value) {
  jspb.Message.setField(this, 28, value);
};


/**
 * optional int64 downloadSpeed = 29;
 * @return {number}
 */
typhoon.Server.prototype.getDownloadspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 29, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setDownloadspeed = function(value) {
  jspb.Message.setField(this, 29, value);
};


/**
 * optional int32 enableFTPS = 30;
 * @return {number}
 */
typhoon.Server.prototype.getEnableftps = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 30, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setEnableftps = function(value) {
  jspb.Message.setField(this, 30, value);
};


/**
 * optional string privateKeyFile = 31;
 * @return {string}
 */
typhoon.Server.prototype.getPrivatekeyfile = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 31, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setPrivatekeyfile = function(value) {
  jspb.Message.setField(this, 31, value);
};


/**
 * optional string certificateFile = 32;
 * @return {string}
 */
typhoon.Server.prototype.getCertificatefile = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 32, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setCertificatefile = function(value) {
  jspb.Message.setField(this, 32, value);
};


/**
 * optional string keyPassword = 33;
 * @return {string}
 */
typhoon.Server.prototype.getKeypassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 33, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setKeypassword = function(value) {
  jspb.Message.setField(this, 33, value);
};


/**
 * optional int32 enableProxy = 100;
 * @return {number}
 */
typhoon.Server.prototype.getEnableproxy = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 100, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setEnableproxy = function(value) {
  jspb.Message.setField(this, 100, value);
};


/**
 * optional string proxyHost = 101;
 * @return {string}
 */
typhoon.Server.prototype.getProxyhost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 101, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setProxyhost = function(value) {
  jspb.Message.setField(this, 101, value);
};


/**
 * optional int32 proxyPort = 102;
 * @return {number}
 */
typhoon.Server.prototype.getProxyport = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 102, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setProxyport = function(value) {
  jspb.Message.setField(this, 102, value);
};


/**
 * optional string license = 103;
 * @return {string}
 */
typhoon.Server.prototype.getLicense = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 103, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setLicense = function(value) {
  jspb.Message.setField(this, 103, value);
};


/**
 * optional int32 compression = 104;
 * @return {number}
 */
typhoon.Server.prototype.getCompression = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 104, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setCompression = function(value) {
  jspb.Message.setField(this, 104, value);
};


/**
 * optional int64 outbound = 105;
 * @return {number}
 */
typhoon.Server.prototype.getOutbound = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 105, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setOutbound = function(value) {
  jspb.Message.setField(this, 105, value);
};


/**
 * optional int64 inbound = 106;
 * @return {number}
 */
typhoon.Server.prototype.getInbound = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 106, 0));
};


/** @param {number} value */
typhoon.Server.prototype.setInbound = function(value) {
  jspb.Message.setField(this, 106, value);
};


/**
 * optional string product = 200;
 * @return {string}
 */
typhoon.Server.prototype.getProduct = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 200, ""));
};


/** @param {string} value */
typhoon.Server.prototype.setProduct = function(value) {
  jspb.Message.setField(this, 200, value);
};



/**
 * 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
 */
typhoon.ServersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ServersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ServersRequest.displayName = 'typhoon.ServersRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ServersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ServersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ServersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ServersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: 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 {!typhoon.ServersRequest}
 */
typhoon.ServersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ServersRequest;
  return typhoon.ServersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ServersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ServersRequest}
 */
typhoon.ServersRequest.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.setToken(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ServersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ServersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.ServersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.ServersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.ServersResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.ServersResponse.repeatedFields_, null);
};
goog.inherits(typhoon.ServersResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ServersResponse.displayName = 'typhoon.ServersResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.ServersResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ServersResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ServersResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ServersResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ServersResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    serversList: jspb.Message.toObjectList(msg.getServersList(),
    typhoon.Server.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 {!typhoon.ServersResponse}
 */
typhoon.ServersResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ServersResponse;
  return typhoon.ServersResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ServersResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ServersResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * repeated Server servers = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Server>}
 */
typhoon.ServersResponse.prototype.getServersList = function() {
  return /** @type{!Array.<!typhoon.Server>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Server, 1));
};


/** @param {!Array.<!typhoon.Server>} value */
typhoon.ServersResponse.prototype.setServersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.Server=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Server}
 */
typhoon.ServersResponse.prototype.addServers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.Server, opt_index);
};


typhoon.ServersResponse.prototype.clearServersList = function() {
  this.setServersList([]);
};



/**
 * 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
 */
typhoon.ServerRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ServerRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ServerRequest.displayName = 'typhoon.ServerRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ServerRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ServerRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ServerRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ServerRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    id: jspb.Message.getFieldWithDefault(msg, 2, 0),
    device: jspb.Message.getFieldWithDefault(msg, 3, ""),
    host: jspb.Message.getFieldWithDefault(msg, 4, ""),
    port: jspb.Message.getFieldWithDefault(msg, 5, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ServerRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ServerRequest}
 */
typhoon.ServerRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setDevice(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setHost(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPort(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ServerRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ServerRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getDevice();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getHost();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getPort();
  if (f !== 0) {
    writer.writeInt32(
      5,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.ServerRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.ServerRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 id = 2;
 * @return {number}
 */
typhoon.ServerRequest.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.ServerRequest.prototype.setId = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string device = 3;
 * @return {string}
 */
typhoon.ServerRequest.prototype.getDevice = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.ServerRequest.prototype.setDevice = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string host = 4;
 * @return {string}
 */
typhoon.ServerRequest.prototype.getHost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.ServerRequest.prototype.setHost = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional int32 port = 5;
 * @return {number}
 */
typhoon.ServerRequest.prototype.getPort = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {number} value */
typhoon.ServerRequest.prototype.setPort = function(value) {
  jspb.Message.setField(this, 5, value);
};



/**
 * 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
 */
typhoon.ServerResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ServerResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ServerResponse.displayName = 'typhoon.ServerResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ServerResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ServerResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ServerResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ServerResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.ServerResponse}
 */
typhoon.ServerResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ServerResponse;
  return typhoon.ServerResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ServerResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ServerResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional Server server = 1;
 * @return {?typhoon.Server}
 */
typhoon.ServerResponse.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 1));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.ServerResponse.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.ServerResponse.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.ServerResponse.prototype.hasServer = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.Preference = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Preference, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Preference.displayName = 'typhoon.Preference';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Preference.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Preference.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Preference} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Preference.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    downloaddir: jspb.Message.getFieldWithDefault(msg, 3, ""),
    uploadtaskcount: jspb.Message.getFieldWithDefault(msg, 4, 0),
    downloadtaskcount: jspb.Message.getFieldWithDefault(msg, 5, 0),
    enablespeedlimit: jspb.Message.getFieldWithDefault(msg, 6, 0),
    uploadspeed: jspb.Message.getFieldWithDefault(msg, 7, 0),
    downloadspeed: jspb.Message.getFieldWithDefault(msg, 8, 0),
    outbound: jspb.Message.getFieldWithDefault(msg, 9, 0),
    inbound: jspb.Message.getFieldWithDefault(msg, 10, 0),
    license: jspb.Message.getFieldWithDefault(msg, 11, ""),
    compression: jspb.Message.getFieldWithDefault(msg, 12, 0),
    language: jspb.Message.getFieldWithDefault(msg, 13, ""),
    packagesize: jspb.Message.getFieldWithDefault(msg, 14, 0),
    autospeedtest: jspb.Message.getFieldWithDefault(msg, 15, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Preference} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Preference}
 */
typhoon.Preference.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setDownloaddir(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUploadtaskcount(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDownloadtaskcount(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setEnablespeedlimit(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUploadspeed(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDownloadspeed(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setOutbound(value);
      break;
    case 10:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setInbound(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setLicense(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCompression(value);
      break;
    case 13:
      var value = /** @type {string} */ (reader.readString());
      msg.setLanguage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPackagesize(value);
      break;
    case 15:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setAutospeedtest(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Preference} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Preference.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getDownloaddir();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getUploadtaskcount();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getDownloadtaskcount();
  if (f !== 0) {
    writer.writeInt32(
      5,
      f
    );
  }
  f = message.getEnablespeedlimit();
  if (f !== 0) {
    writer.writeInt32(
      6,
      f
    );
  }
  f = message.getUploadspeed();
  if (f !== 0) {
    writer.writeInt64(
      7,
      f
    );
  }
  f = message.getDownloadspeed();
  if (f !== 0) {
    writer.writeInt64(
      8,
      f
    );
  }
  f = message.getOutbound();
  if (f !== 0) {
    writer.writeInt64(
      9,
      f
    );
  }
  f = message.getInbound();
  if (f !== 0) {
    writer.writeInt64(
      10,
      f
    );
  }
  f = message.getLicense();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getCompression();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getLanguage();
  if (f.length > 0) {
    writer.writeString(
      13,
      f
    );
  }
  f = message.getPackagesize();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
  f = message.getAutospeedtest();
  if (f !== 0) {
    writer.writeInt32(
      15,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Preference.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.Preference.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string downloadDir = 3;
 * @return {string}
 */
typhoon.Preference.prototype.getDownloaddir = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.Preference.prototype.setDownloaddir = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 uploadTaskCount = 4;
 * @return {number}
 */
typhoon.Preference.prototype.getUploadtaskcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setUploadtaskcount = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional int32 downloadTaskCount = 5;
 * @return {number}
 */
typhoon.Preference.prototype.getDownloadtaskcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setDownloadtaskcount = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int32 enableSpeedLimit = 6;
 * @return {number}
 */
typhoon.Preference.prototype.getEnablespeedlimit = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setEnablespeedlimit = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional int64 uploadSpeed = 7;
 * @return {number}
 */
typhoon.Preference.prototype.getUploadspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setUploadspeed = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional int64 downloadSpeed = 8;
 * @return {number}
 */
typhoon.Preference.prototype.getDownloadspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setDownloadspeed = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional int64 outbound = 9;
 * @return {number}
 */
typhoon.Preference.prototype.getOutbound = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setOutbound = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional int64 inbound = 10;
 * @return {number}
 */
typhoon.Preference.prototype.getInbound = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setInbound = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string license = 11;
 * @return {string}
 */
typhoon.Preference.prototype.getLicense = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.Preference.prototype.setLicense = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 compression = 12;
 * @return {number}
 */
typhoon.Preference.prototype.getCompression = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setCompression = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional string language = 13;
 * @return {string}
 */
typhoon.Preference.prototype.getLanguage = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, ""));
};


/** @param {string} value */
typhoon.Preference.prototype.setLanguage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 packageSize = 14;
 * @return {number}
 */
typhoon.Preference.prototype.getPackagesize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setPackagesize = function(value) {
  jspb.Message.setField(this, 14, value);
};


/**
 * optional int32 autoSpeedTest = 15;
 * @return {number}
 */
typhoon.Preference.prototype.getAutospeedtest = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 15, 0));
};


/** @param {number} value */
typhoon.Preference.prototype.setAutospeedtest = function(value) {
  jspb.Message.setField(this, 15, value);
};



/**
 * 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
 */
typhoon.SetPreferenceRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SetPreferenceRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SetPreferenceRequest.displayName = 'typhoon.SetPreferenceRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SetPreferenceRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SetPreferenceRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SetPreferenceRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SetPreferenceRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    preference: (f = msg.getPreference()) && typhoon.Preference.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 {!typhoon.SetPreferenceRequest}
 */
typhoon.SetPreferenceRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SetPreferenceRequest;
  return typhoon.SetPreferenceRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SetPreferenceRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SetPreferenceRequest}
 */
typhoon.SetPreferenceRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Preference;
      reader.readMessage(value,typhoon.Preference.deserializeBinaryFromReader);
      msg.setPreference(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SetPreferenceRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SetPreferenceRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getPreference();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Preference.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SetPreferenceRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SetPreferenceRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Preference preference = 2;
 * @return {?typhoon.Preference}
 */
typhoon.SetPreferenceRequest.prototype.getPreference = function() {
  return /** @type{?typhoon.Preference} */ (
    jspb.Message.getWrapperField(this, typhoon.Preference, 2));
};


/** @param {?typhoon.Preference|undefined} value */
typhoon.SetPreferenceRequest.prototype.setPreference = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.SetPreferenceRequest.prototype.clearPreference = function() {
  this.setPreference(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.SetPreferenceRequest.prototype.hasPreference = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.PreferenceRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.PreferenceRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.PreferenceRequest.displayName = 'typhoon.PreferenceRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.PreferenceRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.PreferenceRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.PreferenceRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.PreferenceRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: 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 {!typhoon.PreferenceRequest}
 */
typhoon.PreferenceRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.PreferenceRequest;
  return typhoon.PreferenceRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.PreferenceRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.PreferenceRequest}
 */
typhoon.PreferenceRequest.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.setToken(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.PreferenceRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.PreferenceRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.PreferenceRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.PreferenceRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.PreferenceResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.PreferenceResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.PreferenceResponse.displayName = 'typhoon.PreferenceResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.PreferenceResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.PreferenceResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.PreferenceResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.PreferenceResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    preference: (f = msg.getPreference()) && typhoon.Preference.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 {!typhoon.PreferenceResponse}
 */
typhoon.PreferenceResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.PreferenceResponse;
  return typhoon.PreferenceResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.PreferenceResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.PreferenceResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getPreference();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.Preference.serializeBinaryToWriter
    );
  }
};


/**
 * optional Preference preference = 1;
 * @return {?typhoon.Preference}
 */
typhoon.PreferenceResponse.prototype.getPreference = function() {
  return /** @type{?typhoon.Preference} */ (
    jspb.Message.getWrapperField(this, typhoon.Preference, 1));
};


/** @param {?typhoon.Preference|undefined} value */
typhoon.PreferenceResponse.prototype.setPreference = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.PreferenceResponse.prototype.clearPreference = function() {
  this.setPreference(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.PreferenceResponse.prototype.hasPreference = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.CheckRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CheckRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CheckRequest.displayName = 'typhoon.CheckRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CheckRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CheckRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CheckRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CheckRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    sign: 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 {!typhoon.CheckRequest}
 */
typhoon.CheckRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CheckRequest;
  return typhoon.CheckRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CheckRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CheckRequest}
 */
typhoon.CheckRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setSign(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CheckRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CheckRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getSign();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CheckRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CheckRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string sign = 2;
 * @return {string}
 */
typhoon.CheckRequest.prototype.getSign = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.CheckRequest.prototype.setSign = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.FileDialog = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.FileDialog, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.FileDialog.displayName = 'typhoon.FileDialog';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.FileDialog.prototype.toObject = function(opt_includeInstance) {
  return typhoon.FileDialog.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.FileDialog} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.FileDialog.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.FileDialog} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.FileDialog}
 */
typhoon.FileDialog.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.FileDialog} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.FileDialog.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};


/**
 * @enum {number}
 */
typhoon.FileDialog.Type = {
  NONE: 0,
  FILE: 1,
  DIRECTORY: 2,
  FILES: 3,
  DIRECTORIES: 4,
  ANY: 5
};


/**
 * 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
 */
typhoon.FileDialogRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.FileDialogRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.FileDialogRequest.displayName = 'typhoon.FileDialogRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.FileDialogRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.FileDialogRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.FileDialogRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.FileDialogRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    directory: jspb.Message.getFieldWithDefault(msg, 2, ""),
    type: jspb.Message.getFieldWithDefault(msg, 3, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.FileDialogRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.FileDialogRequest}
 */
typhoon.FileDialogRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setDirectory(value);
      break;
    case 3:
      var value = /** @type {!typhoon.FileDialog.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.FileDialogRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.FileDialogRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.FileDialogRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.FileDialogRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string directory = 2;
 * @return {string}
 */
typhoon.FileDialogRequest.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.FileDialogRequest.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional FileDialog.Type type = 3;
 * @return {!typhoon.FileDialog.Type}
 */
typhoon.FileDialogRequest.prototype.getType = function() {
  return /** @type {!typhoon.FileDialog.Type} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!typhoon.FileDialog.Type} value */
typhoon.FileDialogRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.FileDialogResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.FileDialogResponse.repeatedFields_, null);
};
goog.inherits(typhoon.FileDialogResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.FileDialogResponse.displayName = 'typhoon.FileDialogResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.FileDialogResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.FileDialogResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.FileDialogResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.FileDialogResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.FileDialogResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    filesList: jspb.Message.toObjectList(msg.getFilesList(),
    typhoon.FileInfo.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 {!typhoon.FileDialogResponse}
 */
typhoon.FileDialogResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.FileDialogResponse;
  return typhoon.FileDialogResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.FileDialogResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.FileDialogResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFilesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.FileInfo.serializeBinaryToWriter
    );
  }
};


/**
 * repeated FileInfo files = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.FileInfo>}
 */
typhoon.FileDialogResponse.prototype.getFilesList = function() {
  return /** @type{!Array.<!typhoon.FileInfo>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.FileInfo, 1));
};


/** @param {!Array.<!typhoon.FileInfo>} value */
typhoon.FileDialogResponse.prototype.setFilesList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.FileInfo=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.FileInfo}
 */
typhoon.FileDialogResponse.prototype.addFiles = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.FileInfo, opt_index);
};


typhoon.FileDialogResponse.prototype.clearFilesList = function() {
  this.setFilesList([]);
};



/**
 * 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
 */
typhoon.ExplorerRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ExplorerRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ExplorerRequest.displayName = 'typhoon.ExplorerRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ExplorerRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ExplorerRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ExplorerRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ExplorerRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    directory: 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 {!typhoon.ExplorerRequest}
 */
typhoon.ExplorerRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ExplorerRequest;
  return typhoon.ExplorerRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ExplorerRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ExplorerRequest}
 */
typhoon.ExplorerRequest.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.setDirectory(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ExplorerRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ExplorerRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string directory = 1;
 * @return {string}
 */
typhoon.ExplorerRequest.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.ExplorerRequest.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.UploadRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.UploadRequest.repeatedFields_, null);
};
goog.inherits(typhoon.UploadRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UploadRequest.displayName = 'typhoon.UploadRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.UploadRequest.repeatedFields_ = [100];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UploadRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UploadRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UploadRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UploadRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    fullpath: jspb.Message.getFieldWithDefault(msg, 50, 0),
    fromList: jspb.Message.getField(msg, 100),
    to: jspb.Message.getFieldWithDefault(msg, 101, ""),
    type: jspb.Message.getFieldWithDefault(msg, 200, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UploadRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UploadRequest}
 */
typhoon.UploadRequest.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.setToken(value);
      break;
    case 50:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setFullpath(value);
      break;
    case 100:
      var value = /** @type {string} */ (reader.readString());
      msg.addFrom(value);
      break;
    case 101:
      var value = /** @type {string} */ (reader.readString());
      msg.setTo(value);
      break;
    case 200:
      var value = /** @type {!typhoon.FileDialog.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UploadRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UploadRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getFullpath();
  if (f !== 0) {
    writer.writeInt32(
      50,
      f
    );
  }
  f = message.getFromList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      100,
      f
    );
  }
  f = message.getTo();
  if (f.length > 0) {
    writer.writeString(
      101,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      200,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UploadRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UploadRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int32 fullPath = 50;
 * @return {number}
 */
typhoon.UploadRequest.prototype.getFullpath = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 50, 0));
};


/** @param {number} value */
typhoon.UploadRequest.prototype.setFullpath = function(value) {
  jspb.Message.setField(this, 50, value);
};


/**
 * repeated string from = 100;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<string>}
 */
typhoon.UploadRequest.prototype.getFromList = function() {
  return /** @type {!Array.<string>} */ (jspb.Message.getField(this, 100));
};


/** @param {!Array.<string>} value */
typhoon.UploadRequest.prototype.setFromList = function(value) {
  jspb.Message.setField(this, 100, value || []);
};


/**
 * @param {!string} value
 * @param {number=} opt_index
 */
typhoon.UploadRequest.prototype.addFrom = function(value, opt_index) {
  jspb.Message.addToRepeatedField(this, 100, value, opt_index);
};


typhoon.UploadRequest.prototype.clearFromList = function() {
  this.setFromList([]);
};


/**
 * optional string to = 101;
 * @return {string}
 */
typhoon.UploadRequest.prototype.getTo = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 101, ""));
};


/** @param {string} value */
typhoon.UploadRequest.prototype.setTo = function(value) {
  jspb.Message.setField(this, 101, value);
};


/**
 * optional FileDialog.Type type = 200;
 * @return {!typhoon.FileDialog.Type}
 */
typhoon.UploadRequest.prototype.getType = function() {
  return /** @type {!typhoon.FileDialog.Type} */ (jspb.Message.getFieldWithDefault(this, 200, 0));
};


/** @param {!typhoon.FileDialog.Type} value */
typhoon.UploadRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 200, value);
};



/**
 * 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
 */
typhoon.DownloadRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.DownloadRequest.repeatedFields_, null);
};
goog.inherits(typhoon.DownloadRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DownloadRequest.displayName = 'typhoon.DownloadRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.DownloadRequest.repeatedFields_ = [100];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DownloadRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DownloadRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DownloadRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DownloadRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    fromList: jspb.Message.toObjectList(msg.getFromList(),
    typhoon.FileInfo.toObject, includeInstance),
    to: jspb.Message.getFieldWithDefault(msg, 101, ""),
    type: jspb.Message.getFieldWithDefault(msg, 200, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DownloadRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DownloadRequest}
 */
typhoon.DownloadRequest.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.setToken(value);
      break;
    case 100:
      var value = new typhoon.FileInfo;
      reader.readMessage(value,typhoon.FileInfo.deserializeBinaryFromReader);
      msg.addFrom(value);
      break;
    case 101:
      var value = /** @type {string} */ (reader.readString());
      msg.setTo(value);
      break;
    case 200:
      var value = /** @type {!typhoon.FileDialog.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DownloadRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DownloadRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getFromList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      100,
      f,
      typhoon.FileInfo.serializeBinaryToWriter
    );
  }
  f = message.getTo();
  if (f.length > 0) {
    writer.writeString(
      101,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      200,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DownloadRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DownloadRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated FileInfo from = 100;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.FileInfo>}
 */
typhoon.DownloadRequest.prototype.getFromList = function() {
  return /** @type{!Array.<!typhoon.FileInfo>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.FileInfo, 100));
};


/** @param {!Array.<!typhoon.FileInfo>} value */
typhoon.DownloadRequest.prototype.setFromList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 100, value);
};


/**
 * @param {!typhoon.FileInfo=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.FileInfo}
 */
typhoon.DownloadRequest.prototype.addFrom = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 100, opt_value, typhoon.FileInfo, opt_index);
};


typhoon.DownloadRequest.prototype.clearFromList = function() {
  this.setFromList([]);
};


/**
 * optional string to = 101;
 * @return {string}
 */
typhoon.DownloadRequest.prototype.getTo = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 101, ""));
};


/** @param {string} value */
typhoon.DownloadRequest.prototype.setTo = function(value) {
  jspb.Message.setField(this, 101, value);
};


/**
 * optional FileDialog.Type type = 200;
 * @return {!typhoon.FileDialog.Type}
 */
typhoon.DownloadRequest.prototype.getType = function() {
  return /** @type {!typhoon.FileDialog.Type} */ (jspb.Message.getFieldWithDefault(this, 200, 0));
};


/** @param {!typhoon.FileDialog.Type} value */
typhoon.DownloadRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 200, value);
};



/**
 * 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
 */
typhoon.DownloadToRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.DownloadToRequest.repeatedFields_, null);
};
goog.inherits(typhoon.DownloadToRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DownloadToRequest.displayName = 'typhoon.DownloadToRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.DownloadToRequest.repeatedFields_ = [100];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DownloadToRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DownloadToRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DownloadToRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DownloadToRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    filesList: jspb.Message.toObjectList(msg.getFilesList(),
    typhoon.FileInfo.toObject, includeInstance),
    type: jspb.Message.getFieldWithDefault(msg, 200, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DownloadToRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DownloadToRequest}
 */
typhoon.DownloadToRequest.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.setToken(value);
      break;
    case 100:
      var value = new typhoon.FileInfo;
      reader.readMessage(value,typhoon.FileInfo.deserializeBinaryFromReader);
      msg.addFiles(value);
      break;
    case 200:
      var value = /** @type {!typhoon.FileDialog.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DownloadToRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DownloadToRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getFilesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      100,
      f,
      typhoon.FileInfo.serializeBinaryToWriter
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      200,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DownloadToRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DownloadToRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated FileInfo files = 100;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.FileInfo>}
 */
typhoon.DownloadToRequest.prototype.getFilesList = function() {
  return /** @type{!Array.<!typhoon.FileInfo>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.FileInfo, 100));
};


/** @param {!Array.<!typhoon.FileInfo>} value */
typhoon.DownloadToRequest.prototype.setFilesList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 100, value);
};


/**
 * @param {!typhoon.FileInfo=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.FileInfo}
 */
typhoon.DownloadToRequest.prototype.addFiles = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 100, opt_value, typhoon.FileInfo, opt_index);
};


typhoon.DownloadToRequest.prototype.clearFilesList = function() {
  this.setFilesList([]);
};


/**
 * optional FileDialog.Type type = 200;
 * @return {!typhoon.FileDialog.Type}
 */
typhoon.DownloadToRequest.prototype.getType = function() {
  return /** @type {!typhoon.FileDialog.Type} */ (jspb.Message.getFieldWithDefault(this, 200, 0));
};


/** @param {!typhoon.FileDialog.Type} value */
typhoon.DownloadToRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 200, value);
};



/**
 * 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
 */
typhoon.DownloadToResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.DownloadToResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DownloadToResponse.displayName = 'typhoon.DownloadToResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DownloadToResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DownloadToResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DownloadToResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DownloadToResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    directory: 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 {!typhoon.DownloadToResponse}
 */
typhoon.DownloadToResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DownloadToResponse;
  return typhoon.DownloadToResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DownloadToResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DownloadToResponse}
 */
typhoon.DownloadToResponse.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.setDirectory(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DownloadToResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DownloadToResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getDirectory();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
};


/**
 * optional string directory = 1;
 * @return {string}
 */
typhoon.DownloadToResponse.prototype.getDirectory = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DownloadToResponse.prototype.setDirectory = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.TotalCount = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.TotalCount, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.TotalCount.displayName = 'typhoon.TotalCount';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.TotalCount.prototype.toObject = function(opt_includeInstance) {
  return typhoon.TotalCount.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.TotalCount} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.TotalCount.toObject = function(includeInstance, msg) {
  var f, obj = {
    uploading: jspb.Message.getFieldWithDefault(msg, 1, 0),
    downloading: jspb.Message.getFieldWithDefault(msg, 2, 0),
    uploadfaild: jspb.Message.getFieldWithDefault(msg, 3, 0),
    downloadfaild: jspb.Message.getFieldWithDefault(msg, 4, 0),
    uploaded: jspb.Message.getFieldWithDefault(msg, 5, 0),
    downloaded: jspb.Message.getFieldWithDefault(msg, 6, 0),
    uploadactive: jspb.Message.getFieldWithDefault(msg, 7, 0),
    downloadactive: jspb.Message.getFieldWithDefault(msg, 8, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.TotalCount} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.TotalCount}
 */
typhoon.TotalCount.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUploading(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDownloading(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUploadfaild(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDownloadfaild(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUploaded(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDownloaded(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setUploadactive(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDownloadactive(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.TotalCount} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.TotalCount.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUploading();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getDownloading();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getUploadfaild();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
  f = message.getDownloadfaild();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getUploaded();
  if (f !== 0) {
    writer.writeInt32(
      5,
      f
    );
  }
  f = message.getDownloaded();
  if (f !== 0) {
    writer.writeInt32(
      6,
      f
    );
  }
  f = message.getUploadactive();
  if (f !== 0) {
    writer.writeInt32(
      7,
      f
    );
  }
  f = message.getDownloadactive();
  if (f !== 0) {
    writer.writeInt32(
      8,
      f
    );
  }
};


/**
 * optional int32 uploading = 1;
 * @return {number}
 */
typhoon.TotalCount.prototype.getUploading = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setUploading = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int32 downloading = 2;
 * @return {number}
 */
typhoon.TotalCount.prototype.getDownloading = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setDownloading = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int32 uploadFaild = 3;
 * @return {number}
 */
typhoon.TotalCount.prototype.getUploadfaild = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setUploadfaild = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 downloadFaild = 4;
 * @return {number}
 */
typhoon.TotalCount.prototype.getDownloadfaild = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setDownloadfaild = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional int32 uploaded = 5;
 * @return {number}
 */
typhoon.TotalCount.prototype.getUploaded = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setUploaded = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int32 downloaded = 6;
 * @return {number}
 */
typhoon.TotalCount.prototype.getDownloaded = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setDownloaded = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional int32 uploadActive = 7;
 * @return {number}
 */
typhoon.TotalCount.prototype.getUploadactive = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setUploadactive = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional int32 downloadActive = 8;
 * @return {number}
 */
typhoon.TotalCount.prototype.getDownloadactive = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/** @param {number} value */
typhoon.TotalCount.prototype.setDownloadactive = function(value) {
  jspb.Message.setField(this, 8, value);
};



/**
 * 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
 */
typhoon.Task = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Task, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Task.displayName = 'typhoon.Task';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Task.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Task.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Task} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Task.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Task} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Task}
 */
typhoon.Task.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Task} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Task.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};


/**
 * @enum {number}
 */
typhoon.Task.Operation = {
  START: 0,
  PAUSE: 1,
  STOP: 2,
  REMOVE: 3,
  START_ALL: 4,
  PAUSE_ALL: 5,
  STOP_ALL: 6,
  REMOVE_ALL: 7
};

/**
 * @enum {number}
 */
typhoon.Task.Status = {
  NONE: 0,
  INCORRECT_PASSWORD: 1,
  TIMEOUT: 2,
  DISCONNECTING: 3,
  DISCONNECTED: 4,
  CONNECTING: 5,
  CONNECTION_FAILED: 6,
  INTERRUPTED: 7,
  WAIT_BROWSING: 8,
  WAIT_PASSWORD: 9,
  LOCAL_FILE_UNWRITEABLE: 10,
  COULD_NOT_START: 11,
  TRANSFERRING: 12,
  CREATING_DIR: 13,
  FILE_NOT_EXIST: 14,
  SERVER_DISK_NOSPACE: 15,
  CLIENT_DISK_NOSPACE: 16,
  DOWNLOAD_REPETITION: 17
};


/**
 * 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
 */
typhoon.Task.Progress = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Task.Progress, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Task.Progress.displayName = 'typhoon.Task.Progress';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Task.Progress.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Task.Progress.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Task.Progress} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Task.Progress.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    type: jspb.Message.getFieldWithDefault(msg, 3, 0),
    size: jspb.Message.getFieldWithDefault(msg, 4, 0),
    from: jspb.Message.getFieldWithDefault(msg, 5, ""),
    to: jspb.Message.getFieldWithDefault(msg, 7, ""),
    speed: jspb.Message.getFieldWithDefault(msg, 8, 0),
    bytes: jspb.Message.getFieldWithDefault(msg, 9, 0),
    progress: +jspb.Message.getFieldWithDefault(msg, 10, 0.0),
    remain: jspb.Message.getFieldWithDefault(msg, 11, 0),
    duration: jspb.Message.getFieldWithDefault(msg, 12, 0),
    time: jspb.Message.getFieldWithDefault(msg, 13, ""),
    paused: jspb.Message.getFieldWithDefault(msg, 14, 0),
    status: jspb.Message.getFieldWithDefault(msg, 15, 0),
    index: jspb.Message.getFieldWithDefault(msg, 16, 0)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!typhoon.Task.Progress}
 */
typhoon.Task.Progress.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.Task.Progress;
  return typhoon.Task.Progress.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Task.Progress} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Task.Progress}
 */
typhoon.Task.Progress.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {!typhoon.FileType} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSize(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setFrom(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setTo(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSpeed(value);
      break;
    case 9:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setBytes(value);
      break;
    case 10:
      var value = /** @type {number} */ (reader.readFloat());
      msg.setProgress(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setRemain(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDuration(value);
      break;
    case 13:
      var value = /** @type {string} */ (reader.readString());
      msg.setTime(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPaused(value);
      break;
    case 15:
      var value = /** @type {!typhoon.Task.Status} */ (reader.readEnum());
      msg.setStatus(value);
      break;
    case 16:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setIndex(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
typhoon.Task.Progress.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  typhoon.Task.Progress.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Task.Progress} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Task.Progress.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getSize();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
  f = message.getFrom();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getTo();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getSpeed();
  if (f !== 0) {
    writer.writeInt64(
      8,
      f
    );
  }
  f = message.getBytes();
  if (f !== 0) {
    writer.writeInt64(
      9,
      f
    );
  }
  f = message.getProgress();
  if (f !== 0.0) {
    writer.writeFloat(
      10,
      f
    );
  }
  f = message.getRemain();
  if (f !== 0) {
    writer.writeInt64(
      11,
      f
    );
  }
  f = message.getDuration();
  if (f !== 0) {
    writer.writeInt64(
      12,
      f
    );
  }
  f = message.getTime();
  if (f.length > 0) {
    writer.writeString(
      13,
      f
    );
  }
  f = message.getPaused();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
  f = message.getStatus();
  if (f !== 0.0) {
    writer.writeEnum(
      15,
      f
    );
  }
  f = message.getIndex();
  if (f !== 0) {
    writer.writeInt64(
      16,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
typhoon.Task.Progress.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.Task.Progress.prototype.setName = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional FileType type = 3;
 * @return {!typhoon.FileType}
 */
typhoon.Task.Progress.prototype.getType = function() {
  return /** @type {!typhoon.FileType} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!typhoon.FileType} value */
typhoon.Task.Progress.prototype.setType = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int64 size = 4;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getSize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setSize = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string from = 5;
 * @return {string}
 */
typhoon.Task.Progress.prototype.getFrom = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.Task.Progress.prototype.setFrom = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional string to = 7;
 * @return {string}
 */
typhoon.Task.Progress.prototype.getTo = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/** @param {string} value */
typhoon.Task.Progress.prototype.setTo = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional int64 speed = 8;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getSpeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setSpeed = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional int64 bytes = 9;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getBytes = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 9, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setBytes = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional float progress = 10;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getProgress = function() {
  return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 10, 0.0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setProgress = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional int64 remain = 11;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getRemain = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setRemain = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int64 duration = 12;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getDuration = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setDuration = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional string time = 13;
 * @return {string}
 */
typhoon.Task.Progress.prototype.getTime = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 13, ""));
};


/** @param {string} value */
typhoon.Task.Progress.prototype.setTime = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 paused = 14;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getPaused = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setPaused = function(value) {
  jspb.Message.setField(this, 14, value);
};


/**
 * optional Status status = 15;
 * @return {!typhoon.Task.Status}
 */
typhoon.Task.Progress.prototype.getStatus = function() {
  return /** @type {!typhoon.Task.Status} */ (jspb.Message.getFieldWithDefault(this, 15, 0));
};


/** @param {!typhoon.Task.Status} value */
typhoon.Task.Progress.prototype.setStatus = function(value) {
  jspb.Message.setField(this, 15, value);
};


/**
 * optional int64 index = 16;
 * @return {number}
 */
typhoon.Task.Progress.prototype.getIndex = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 16, 0));
};


/** @param {number} value */
typhoon.Task.Progress.prototype.setIndex = function(value) {
  jspb.Message.setField(this, 16, value);
};



/**
 * 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
 */
typhoon.NetStatus = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.NetStatus, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.NetStatus.displayName = 'typhoon.NetStatus';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.NetStatus.prototype.toObject = function(opt_includeInstance) {
  return typhoon.NetStatus.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.NetStatus} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.NetStatus.toObject = function(includeInstance, msg) {
  var f, obj = {
    connected: jspb.Message.getFieldWithDefault(msg, 1, 0),
    uploadspeed: jspb.Message.getFieldWithDefault(msg, 21, 0),
    downloadspeed: jspb.Message.getFieldWithDefault(msg, 22, 0),
    lost: jspb.Message.getFieldWithDefault(msg, 23, 0),
    delay: jspb.Message.getFieldWithDefault(msg, 24, 0),
    accler: jspb.Message.getFieldWithDefault(msg, 31, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.NetStatus} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.NetStatus}
 */
typhoon.NetStatus.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setConnected(value);
      break;
    case 21:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUploadspeed(value);
      break;
    case 22:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDownloadspeed(value);
      break;
    case 23:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setLost(value);
      break;
    case 24:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDelay(value);
      break;
    case 31:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setAccler(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.NetStatus} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.NetStatus.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getConnected();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getUploadspeed();
  if (f !== 0) {
    writer.writeInt64(
      21,
      f
    );
  }
  f = message.getDownloadspeed();
  if (f !== 0) {
    writer.writeInt64(
      22,
      f
    );
  }
  f = message.getLost();
  if (f !== 0) {
    writer.writeInt32(
      23,
      f
    );
  }
  f = message.getDelay();
  if (f !== 0) {
    writer.writeInt32(
      24,
      f
    );
  }
  f = message.getAccler();
  if (f !== 0) {
    writer.writeInt32(
      31,
      f
    );
  }
};


/**
 * optional int32 connected = 1;
 * @return {number}
 */
typhoon.NetStatus.prototype.getConnected = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.NetStatus.prototype.setConnected = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 uploadSpeed = 21;
 * @return {number}
 */
typhoon.NetStatus.prototype.getUploadspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 21, 0));
};


/** @param {number} value */
typhoon.NetStatus.prototype.setUploadspeed = function(value) {
  jspb.Message.setField(this, 21, value);
};


/**
 * optional int64 downloadSpeed = 22;
 * @return {number}
 */
typhoon.NetStatus.prototype.getDownloadspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 22, 0));
};


/** @param {number} value */
typhoon.NetStatus.prototype.setDownloadspeed = function(value) {
  jspb.Message.setField(this, 22, value);
};


/**
 * optional int32 lost = 23;
 * @return {number}
 */
typhoon.NetStatus.prototype.getLost = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 23, 0));
};


/** @param {number} value */
typhoon.NetStatus.prototype.setLost = function(value) {
  jspb.Message.setField(this, 23, value);
};


/**
 * optional int32 delay = 24;
 * @return {number}
 */
typhoon.NetStatus.prototype.getDelay = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 24, 0));
};


/** @param {number} value */
typhoon.NetStatus.prototype.setDelay = function(value) {
  jspb.Message.setField(this, 24, value);
};


/**
 * optional int32 accler = 31;
 * @return {number}
 */
typhoon.NetStatus.prototype.getAccler = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 31, 0));
};


/** @param {number} value */
typhoon.NetStatus.prototype.setAccler = function(value) {
  jspb.Message.setField(this, 31, value);
};



/**
 * 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
 */
typhoon.DescInfo = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.DescInfo, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DescInfo.displayName = 'typhoon.DescInfo';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DescInfo.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DescInfo.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DescInfo} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DescInfo.toObject = function(includeInstance, msg) {
  var f, obj = {
    serverdecfull: 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 {!typhoon.DescInfo}
 */
typhoon.DescInfo.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DescInfo;
  return typhoon.DescInfo.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DescInfo} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DescInfo.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServerdecfull();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 ServerDecFull = 1;
 * @return {number}
 */
typhoon.DescInfo.prototype.getServerdecfull = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.DescInfo.prototype.setServerdecfull = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.ReportRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ReportRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ReportRequest.displayName = 'typhoon.ReportRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ReportRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ReportRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ReportRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ReportRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    type: jspb.Message.getFieldWithDefault(msg, 1, 0),
    page: jspb.Message.getFieldWithDefault(msg, 2, 0),
    count: jspb.Message.getFieldWithDefault(msg, 3, 0),
    order: jspb.Message.getFieldWithDefault(msg, 4, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ReportRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ReportRequest}
 */
typhoon.ReportRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!typhoon.Transfer.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ReportRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ReportRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
};


/**
 * optional Transfer.Type type = 1;
 * @return {!typhoon.Transfer.Type}
 */
typhoon.ReportRequest.prototype.getType = function() {
  return /** @type {!typhoon.Transfer.Type} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {!typhoon.Transfer.Type} value */
typhoon.ReportRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int32 page = 2;
 * @return {number}
 */
typhoon.ReportRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.ReportRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int32 count = 3;
 * @return {number}
 */
typhoon.ReportRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.ReportRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 order = 4;
 * @return {number}
 */
typhoon.ReportRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.ReportRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 4, value);
};



/**
 * 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
 */
typhoon.ReportResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.ReportResponse.repeatedFields_, null);
};
goog.inherits(typhoon.ReportResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ReportResponse.displayName = 'typhoon.ReportResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.ReportResponse.repeatedFields_ = [4];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ReportResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ReportResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ReportResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ReportResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    status: (f = msg.getStatus()) && typhoon.NetStatus.toObject(includeInstance, f),
    totalcount: (f = msg.getTotalcount()) && typhoon.TotalCount.toObject(includeInstance, f),
    type: jspb.Message.getFieldWithDefault(msg, 3, 0),
    progressList: jspb.Message.toObjectList(msg.getProgressList(),
    typhoon.Task.Progress.toObject, includeInstance),
    descinfo: (f = msg.getDescinfo()) && typhoon.DescInfo.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 {!typhoon.ReportResponse}
 */
typhoon.ReportResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ReportResponse;
  return typhoon.ReportResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ReportResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ReportResponse}
 */
typhoon.ReportResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.NetStatus;
      reader.readMessage(value,typhoon.NetStatus.deserializeBinaryFromReader);
      msg.setStatus(value);
      break;
    case 2:
      var value = new typhoon.TotalCount;
      reader.readMessage(value,typhoon.TotalCount.deserializeBinaryFromReader);
      msg.setTotalcount(value);
      break;
    case 3:
      var value = /** @type {!typhoon.Transfer.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 4:
      var value = new typhoon.Task.Progress;
      reader.readMessage(value,typhoon.Task.Progress.deserializeBinaryFromReader);
      msg.addProgress(value);
      break;
    case 5:
      var value = new typhoon.DescInfo;
      reader.readMessage(value,typhoon.DescInfo.deserializeBinaryFromReader);
      msg.setDescinfo(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ReportResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ReportResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getStatus();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.NetStatus.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.TotalCount.serializeBinaryToWriter
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
  f = message.getProgressList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      4,
      f,
      typhoon.Task.Progress.serializeBinaryToWriter
    );
  }
  f = message.getDescinfo();
  if (f != null) {
    writer.writeMessage(
      5,
      f,
      typhoon.DescInfo.serializeBinaryToWriter
    );
  }
};


/**
 * optional NetStatus status = 1;
 * @return {?typhoon.NetStatus}
 */
typhoon.ReportResponse.prototype.getStatus = function() {
  return /** @type{?typhoon.NetStatus} */ (
    jspb.Message.getWrapperField(this, typhoon.NetStatus, 1));
};


/** @param {?typhoon.NetStatus|undefined} value */
typhoon.ReportResponse.prototype.setStatus = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.ReportResponse.prototype.clearStatus = function() {
  this.setStatus(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.ReportResponse.prototype.hasStatus = function() {
  return jspb.Message.getField(this, 1) != null;
};


/**
 * optional TotalCount totalCount = 2;
 * @return {?typhoon.TotalCount}
 */
typhoon.ReportResponse.prototype.getTotalcount = function() {
  return /** @type{?typhoon.TotalCount} */ (
    jspb.Message.getWrapperField(this, typhoon.TotalCount, 2));
};


/** @param {?typhoon.TotalCount|undefined} value */
typhoon.ReportResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.ReportResponse.prototype.clearTotalcount = function() {
  this.setTotalcount(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.ReportResponse.prototype.hasTotalcount = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional Transfer.Type type = 3;
 * @return {!typhoon.Transfer.Type}
 */
typhoon.ReportResponse.prototype.getType = function() {
  return /** @type {!typhoon.Transfer.Type} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!typhoon.Transfer.Type} value */
typhoon.ReportResponse.prototype.setType = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * repeated Task.Progress progress = 4;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Task.Progress>}
 */
typhoon.ReportResponse.prototype.getProgressList = function() {
  return /** @type{!Array.<!typhoon.Task.Progress>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Task.Progress, 4));
};


/** @param {!Array.<!typhoon.Task.Progress>} value */
typhoon.ReportResponse.prototype.setProgressList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 4, value);
};


/**
 * @param {!typhoon.Task.Progress=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Task.Progress}
 */
typhoon.ReportResponse.prototype.addProgress = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, typhoon.Task.Progress, opt_index);
};


typhoon.ReportResponse.prototype.clearProgressList = function() {
  this.setProgressList([]);
};


/**
 * optional DescInfo descInfo = 5;
 * @return {?typhoon.DescInfo}
 */
typhoon.ReportResponse.prototype.getDescinfo = function() {
  return /** @type{?typhoon.DescInfo} */ (
    jspb.Message.getWrapperField(this, typhoon.DescInfo, 5));
};


/** @param {?typhoon.DescInfo|undefined} value */
typhoon.ReportResponse.prototype.setDescinfo = function(value) {
  jspb.Message.setWrapperField(this, 5, value);
};


typhoon.ReportResponse.prototype.clearDescinfo = function() {
  this.setDescinfo(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.ReportResponse.prototype.hasDescinfo = function() {
  return jspb.Message.getField(this, 5) != null;
};



/**
 * 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
 */
typhoon.Transfer = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Transfer, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Transfer.displayName = 'typhoon.Transfer';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Transfer.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Transfer.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Transfer} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Transfer.toObject = function(includeInstance, msg) {
  var f, obj = {

  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Transfer} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Transfer}
 */
typhoon.Transfer.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Transfer} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Transfer.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
};


/**
 * @enum {number}
 */
typhoon.Transfer.Type = {
  NONE: 0,
  UPLOADING: 1,
  DOWNLOADING: 2,
  UPLOAD_FAILD: 3,
  DOWNLOAD_FAILD: 4,
  UPLOADED: 5,
  DOWNLOADED: 6
};


/**
 * 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
 */
typhoon.TaskListRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.TaskListRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.TaskListRequest.displayName = 'typhoon.TaskListRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.TaskListRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.TaskListRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.TaskListRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.TaskListRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    type: jspb.Message.getFieldWithDefault(msg, 1, 0),
    offset: jspb.Message.getFieldWithDefault(msg, 2, 0),
    page: jspb.Message.getFieldWithDefault(msg, 3, 0),
    count: jspb.Message.getFieldWithDefault(msg, 4, 0),
    order: jspb.Message.getFieldWithDefault(msg, 5, ""),
    finished: jspb.Message.getFieldWithDefault(msg, 6, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.TaskListRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.TaskListRequest}
 */
typhoon.TaskListRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!typhoon.Transfer.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setOffset(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrder(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setFinished(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.TaskListRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.TaskListRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getOffset();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      4,
      f
    );
  }
  f = message.getOrder();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getFinished();
  if (f !== 0) {
    writer.writeInt32(
      6,
      f
    );
  }
};


/**
 * optional Transfer.Type type = 1;
 * @return {!typhoon.Transfer.Type}
 */
typhoon.TaskListRequest.prototype.getType = function() {
  return /** @type {!typhoon.Transfer.Type} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {!typhoon.Transfer.Type} value */
typhoon.TaskListRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 offset = 2;
 * @return {number}
 */
typhoon.TaskListRequest.prototype.getOffset = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.TaskListRequest.prototype.setOffset = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int32 page = 3;
 * @return {number}
 */
typhoon.TaskListRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.TaskListRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int32 count = 4;
 * @return {number}
 */
typhoon.TaskListRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.TaskListRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string order = 5;
 * @return {string}
 */
typhoon.TaskListRequest.prototype.getOrder = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.TaskListRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int32 finished = 6;
 * @return {number}
 */
typhoon.TaskListRequest.prototype.getFinished = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.TaskListRequest.prototype.setFinished = function(value) {
  jspb.Message.setField(this, 6, value);
};



/**
 * 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
 */
typhoon.TaskListResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.TaskListResponse.repeatedFields_, null);
};
goog.inherits(typhoon.TaskListResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.TaskListResponse.displayName = 'typhoon.TaskListResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.TaskListResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.TaskListResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.TaskListResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.TaskListResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.TaskListResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    filesList: jspb.Message.toObjectList(msg.getFilesList(),
    typhoon.FileInfo.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 {!typhoon.TaskListResponse}
 */
typhoon.TaskListResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.TaskListResponse;
  return typhoon.TaskListResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.TaskListResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.TaskListResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getFilesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.FileInfo.serializeBinaryToWriter
    );
  }
};


/**
 * repeated FileInfo files = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.FileInfo>}
 */
typhoon.TaskListResponse.prototype.getFilesList = function() {
  return /** @type{!Array.<!typhoon.FileInfo>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.FileInfo, 1));
};


/** @param {!Array.<!typhoon.FileInfo>} value */
typhoon.TaskListResponse.prototype.setFilesList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.FileInfo=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.FileInfo}
 */
typhoon.TaskListResponse.prototype.addFiles = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.FileInfo, opt_index);
};


typhoon.TaskListResponse.prototype.clearFilesList = function() {
  this.setFilesList([]);
};



/**
 * 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
 */
typhoon.OperatTaskRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.OperatTaskRequest.repeatedFields_, null);
};
goog.inherits(typhoon.OperatTaskRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.OperatTaskRequest.displayName = 'typhoon.OperatTaskRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.OperatTaskRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.OperatTaskRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.OperatTaskRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.OperatTaskRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.OperatTaskRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    operat: jspb.Message.getFieldWithDefault(msg, 1, 0),
    filesList: jspb.Message.getField(msg, 2),
    type: jspb.Message.getFieldWithDefault(msg, 3, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.OperatTaskRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.OperatTaskRequest}
 */
typhoon.OperatTaskRequest.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!typhoon.Task.Operation} */ (reader.readEnum());
      msg.setOperat(value);
      break;
    case 2:
      var value = /** @type {!Array.<number>} */ (reader.readPackedInt64());
      msg.setFilesList(value);
      break;
    case 3:
      var value = /** @type {!typhoon.Transfer.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.OperatTaskRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.OperatTaskRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getOperat();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getFilesList();
  if (f.length > 0) {
    writer.writePackedInt64(
      2,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      3,
      f
    );
  }
};


/**
 * optional Task.Operation operat = 1;
 * @return {!typhoon.Task.Operation}
 */
typhoon.OperatTaskRequest.prototype.getOperat = function() {
  return /** @type {!typhoon.Task.Operation} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {!typhoon.Task.Operation} value */
typhoon.OperatTaskRequest.prototype.setOperat = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated int64 files = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<number>}
 */
typhoon.OperatTaskRequest.prototype.getFilesList = function() {
  return /** @type {!Array.<number>} */ (jspb.Message.getField(this, 2));
};


/** @param {!Array.<number>} value */
typhoon.OperatTaskRequest.prototype.setFilesList = function(value) {
  jspb.Message.setField(this, 2, value || []);
};


/**
 * @param {!number} value
 * @param {number=} opt_index
 */
typhoon.OperatTaskRequest.prototype.addFiles = function(value, opt_index) {
  jspb.Message.addToRepeatedField(this, 2, value, opt_index);
};


typhoon.OperatTaskRequest.prototype.clearFilesList = function() {
  this.setFilesList([]);
};


/**
 * optional Transfer.Type type = 3;
 * @return {!typhoon.Transfer.Type}
 */
typhoon.OperatTaskRequest.prototype.getType = function() {
  return /** @type {!typhoon.Transfer.Type} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {!typhoon.Transfer.Type} value */
typhoon.OperatTaskRequest.prototype.setType = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.StartupRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.StartupRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.StartupRequest.displayName = 'typhoon.StartupRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.StartupRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.StartupRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.StartupRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.StartupRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    version: jspb.Message.getFieldWithDefault(msg, 1, ""),
    os: 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 {!typhoon.StartupRequest}
 */
typhoon.StartupRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.StartupRequest;
  return typhoon.StartupRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.StartupRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.StartupRequest}
 */
typhoon.StartupRequest.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.setVersion(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setOs(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.StartupRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.StartupRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getVersion();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getOs();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string version = 1;
 * @return {string}
 */
typhoon.StartupRequest.prototype.getVersion = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.StartupRequest.prototype.setVersion = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string os = 2;
 * @return {string}
 */
typhoon.StartupRequest.prototype.getOs = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.StartupRequest.prototype.setOs = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.StartupResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.StartupResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.StartupResponse.displayName = 'typhoon.StartupResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.StartupResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.StartupResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.StartupResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.StartupResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.StartupResponse}
 */
typhoon.StartupResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.StartupResponse;
  return typhoon.StartupResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.StartupResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.StartupResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional Server server = 1;
 * @return {?typhoon.Server}
 */
typhoon.StartupResponse.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 1));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.StartupResponse.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.StartupResponse.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.StartupResponse.prototype.hasServer = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.User = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.User, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.User.displayName = 'typhoon.User';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.User.prototype.toObject = function(opt_includeInstance) {
  return typhoon.User.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.User} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.User.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    account: jspb.Message.getFieldWithDefault(msg, 2, ""),
    password: jspb.Message.getFieldWithDefault(msg, 3, ""),
    home: jspb.Message.getFieldWithDefault(msg, 4, ""),
    permission: jspb.Message.getFieldWithDefault(msg, 5, 0),
    name: jspb.Message.getFieldWithDefault(msg, 6, ""),
    email: jspb.Message.getFieldWithDefault(msg, 7, ""),
    phone: jspb.Message.getFieldWithDefault(msg, 8, ""),
    company: jspb.Message.getFieldWithDefault(msg, 9, ""),
    address: jspb.Message.getFieldWithDefault(msg, 10, ""),
    remark: jspb.Message.getFieldWithDefault(msg, 11, ""),
    status: jspb.Message.getFieldWithDefault(msg, 12, 0),
    created: jspb.Message.getFieldWithDefault(msg, 13, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.User} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.User}
 */
typhoon.User.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setHome(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPermission(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setEmail(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.setCompany(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setAddress(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setRemark(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setStatus(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreated(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.User} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.User.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getHome();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getPermission();
  if (f !== 0) {
    writer.writeInt32(
      5,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getEmail();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      8,
      f
    );
  }
  f = message.getCompany();
  if (f.length > 0) {
    writer.writeString(
      9,
      f
    );
  }
  f = message.getAddress();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getRemark();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getStatus();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getCreated();
  if (f !== 0) {
    writer.writeInt64(
      13,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.User.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.User.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string account = 2;
 * @return {string}
 */
typhoon.User.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.User.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string password = 3;
 * @return {string}
 */
typhoon.User.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.User.prototype.setPassword = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string home = 4;
 * @return {string}
 */
typhoon.User.prototype.getHome = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.User.prototype.setHome = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional int32 permission = 5;
 * @return {number}
 */
typhoon.User.prototype.getPermission = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {number} value */
typhoon.User.prototype.setPermission = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional string name = 6;
 * @return {string}
 */
typhoon.User.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/** @param {string} value */
typhoon.User.prototype.setName = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional string email = 7;
 * @return {string}
 */
typhoon.User.prototype.getEmail = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/** @param {string} value */
typhoon.User.prototype.setEmail = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional string phone = 8;
 * @return {string}
 */
typhoon.User.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};


/** @param {string} value */
typhoon.User.prototype.setPhone = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional string company = 9;
 * @return {string}
 */
typhoon.User.prototype.getCompany = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
};


/** @param {string} value */
typhoon.User.prototype.setCompany = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional string address = 10;
 * @return {string}
 */
typhoon.User.prototype.getAddress = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.User.prototype.setAddress = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string remark = 11;
 * @return {string}
 */
typhoon.User.prototype.getRemark = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.User.prototype.setRemark = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 status = 12;
 * @return {number}
 */
typhoon.User.prototype.getStatus = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.User.prototype.setStatus = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int64 created = 13;
 * @return {number}
 */
typhoon.User.prototype.getCreated = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.User.prototype.setCreated = function(value) {
  jspb.Message.setField(this, 13, value);
};



/**
 * 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
 */
typhoon.Admin = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Admin, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Admin.displayName = 'typhoon.Admin';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Admin.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Admin.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Admin} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Admin.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    account: jspb.Message.getFieldWithDefault(msg, 2, ""),
    password: jspb.Message.getFieldWithDefault(msg, 3, ""),
    name: jspb.Message.getFieldWithDefault(msg, 4, ""),
    email: jspb.Message.getFieldWithDefault(msg, 5, ""),
    phone: jspb.Message.getFieldWithDefault(msg, 6, ""),
    company: jspb.Message.getFieldWithDefault(msg, 7, ""),
    address: jspb.Message.getFieldWithDefault(msg, 8, ""),
    remark: jspb.Message.getFieldWithDefault(msg, 9, ""),
    status: jspb.Message.getFieldWithDefault(msg, 10, 0),
    created: jspb.Message.getFieldWithDefault(msg, 11, 0),
    permission: jspb.Message.getFieldWithDefault(msg, 12, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Admin} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Admin}
 */
typhoon.Admin.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setEmail(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setPhone(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setCompany(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.setAddress(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.setRemark(value);
      break;
    case 10:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setStatus(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreated(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPermission(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Admin} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Admin.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getEmail();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getPhone();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getCompany();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getAddress();
  if (f.length > 0) {
    writer.writeString(
      8,
      f
    );
  }
  f = message.getRemark();
  if (f.length > 0) {
    writer.writeString(
      9,
      f
    );
  }
  f = message.getStatus();
  if (f !== 0) {
    writer.writeInt32(
      10,
      f
    );
  }
  f = message.getCreated();
  if (f !== 0) {
    writer.writeInt64(
      11,
      f
    );
  }
  f = message.getPermission();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Admin.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Admin.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string account = 2;
 * @return {string}
 */
typhoon.Admin.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string password = 3;
 * @return {string}
 */
typhoon.Admin.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setPassword = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string name = 4;
 * @return {string}
 */
typhoon.Admin.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setName = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string email = 5;
 * @return {string}
 */
typhoon.Admin.prototype.getEmail = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setEmail = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional string phone = 6;
 * @return {string}
 */
typhoon.Admin.prototype.getPhone = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setPhone = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional string company = 7;
 * @return {string}
 */
typhoon.Admin.prototype.getCompany = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setCompany = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional string address = 8;
 * @return {string}
 */
typhoon.Admin.prototype.getAddress = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setAddress = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional string remark = 9;
 * @return {string}
 */
typhoon.Admin.prototype.getRemark = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
};


/** @param {string} value */
typhoon.Admin.prototype.setRemark = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional int32 status = 10;
 * @return {number}
 */
typhoon.Admin.prototype.getStatus = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
};


/** @param {number} value */
typhoon.Admin.prototype.setStatus = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional int64 created = 11;
 * @return {number}
 */
typhoon.Admin.prototype.getCreated = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/** @param {number} value */
typhoon.Admin.prototype.setCreated = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 permission = 12;
 * @return {number}
 */
typhoon.Admin.prototype.getPermission = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.Admin.prototype.setPermission = function(value) {
  jspb.Message.setField(this, 12, value);
};



/**
 * 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
 */
typhoon.Assign = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Assign, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Assign.displayName = 'typhoon.Assign';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Assign.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Assign.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Assign} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Assign.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    useraccount: jspb.Message.getFieldWithDefault(msg, 3, ""),
    username: jspb.Message.getFieldWithDefault(msg, 4, ""),
    serverid: jspb.Message.getFieldWithDefault(msg, 5, 0),
    servername: jspb.Message.getFieldWithDefault(msg, 6, ""),
    serverdevice: jspb.Message.getFieldWithDefault(msg, 7, ""),
    serverhost: jspb.Message.getFieldWithDefault(msg, 8, ""),
    home: jspb.Message.getFieldWithDefault(msg, 9, ""),
    permission: jspb.Message.getFieldWithDefault(msg, 10, 0),
    status: jspb.Message.getFieldWithDefault(msg, 11, 0),
    defaulted: jspb.Message.getFieldWithDefault(msg, 12, 0),
    created: jspb.Message.getFieldWithDefault(msg, 13, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Assign} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Assign}
 */
typhoon.Assign.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setUseraccount(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setUsername(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setServerid(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setServername(value);
      break;
    case 7:
      var value = /** @type {string} */ (reader.readString());
      msg.setServerdevice(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.setServerhost(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.setHome(value);
      break;
    case 10:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPermission(value);
      break;
    case 11:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setStatus(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setDefaulted(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreated(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Assign} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Assign.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getUseraccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getUsername();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getServerid();
  if (f !== 0) {
    writer.writeInt64(
      5,
      f
    );
  }
  f = message.getServername();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getServerdevice();
  if (f.length > 0) {
    writer.writeString(
      7,
      f
    );
  }
  f = message.getServerhost();
  if (f.length > 0) {
    writer.writeString(
      8,
      f
    );
  }
  f = message.getHome();
  if (f.length > 0) {
    writer.writeString(
      9,
      f
    );
  }
  f = message.getPermission();
  if (f !== 0) {
    writer.writeInt32(
      10,
      f
    );
  }
  f = message.getStatus();
  if (f !== 0) {
    writer.writeInt32(
      11,
      f
    );
  }
  f = message.getDefaulted();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getCreated();
  if (f !== 0) {
    writer.writeInt64(
      13,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Assign.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.Assign.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string userAccount = 3;
 * @return {string}
 */
typhoon.Assign.prototype.getUseraccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.Assign.prototype.setUseraccount = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string userName = 4;
 * @return {string}
 */
typhoon.Assign.prototype.getUsername = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.Assign.prototype.setUsername = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional int64 serverId = 5;
 * @return {number}
 */
typhoon.Assign.prototype.getServerid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setServerid = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional string serverName = 6;
 * @return {string}
 */
typhoon.Assign.prototype.getServername = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/** @param {string} value */
typhoon.Assign.prototype.setServername = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional string serverDevice = 7;
 * @return {string}
 */
typhoon.Assign.prototype.getServerdevice = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 7, ""));
};


/** @param {string} value */
typhoon.Assign.prototype.setServerdevice = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional string serverHost = 8;
 * @return {string}
 */
typhoon.Assign.prototype.getServerhost = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 8, ""));
};


/** @param {string} value */
typhoon.Assign.prototype.setServerhost = function(value) {
  jspb.Message.setField(this, 8, value);
};


/**
 * optional string home = 9;
 * @return {string}
 */
typhoon.Assign.prototype.getHome = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 9, ""));
};


/** @param {string} value */
typhoon.Assign.prototype.setHome = function(value) {
  jspb.Message.setField(this, 9, value);
};


/**
 * optional int32 permission = 10;
 * @return {number}
 */
typhoon.Assign.prototype.getPermission = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setPermission = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional int32 status = 11;
 * @return {number}
 */
typhoon.Assign.prototype.getStatus = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setStatus = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 defaulted = 12;
 * @return {number}
 */
typhoon.Assign.prototype.getDefaulted = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setDefaulted = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int64 created = 13;
 * @return {number}
 */
typhoon.Assign.prototype.getCreated = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.Assign.prototype.setCreated = function(value) {
  jspb.Message.setField(this, 13, value);
};



/**
 * 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
 */
typhoon.SelectUserRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectUserRequest.displayName = 'typhoon.SelectUserRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectUserRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectUserRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectUserRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectUserRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    account: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectUserRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectUserRequest}
 */
typhoon.SelectUserRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectUserRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectUserRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectUserRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectUserRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.SelectUserRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectUserRequest.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string account = 3;
 * @return {string}
 */
typhoon.SelectUserRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.SelectUserRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.SelectUserResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectUserResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectUserResponse.displayName = 'typhoon.SelectUserResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectUserResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectUserResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectUserResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectUserResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    user: (f = msg.getUser()) && typhoon.User.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 {!typhoon.SelectUserResponse}
 */
typhoon.SelectUserResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectUserResponse;
  return typhoon.SelectUserResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectUserResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectUserResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUser();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
};


/**
 * optional User user = 1;
 * @return {?typhoon.User}
 */
typhoon.SelectUserResponse.prototype.getUser = function() {
  return /** @type{?typhoon.User} */ (
    jspb.Message.getWrapperField(this, typhoon.User, 1));
};


/** @param {?typhoon.User|undefined} value */
typhoon.SelectUserResponse.prototype.setUser = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.SelectUserResponse.prototype.clearUser = function() {
  this.setUser(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.SelectUserResponse.prototype.hasUser = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.SelectUsersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectUsersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectUsersRequest.displayName = 'typhoon.SelectUsersRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectUsersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectUsersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectUsersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectUsersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: jspb.Message.getFieldWithDefault(msg, 10, ""),
    orderby: jspb.Message.getFieldWithDefault(msg, 11, ""),
    order: jspb.Message.getFieldWithDefault(msg, 12, 0),
    page: jspb.Message.getFieldWithDefault(msg, 13, 0),
    count: jspb.Message.getFieldWithDefault(msg, 14, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectUsersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectUsersRequest}
 */
typhoon.SelectUsersRequest.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.setToken(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrderby(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectUsersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectUsersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getOrderby();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      13,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectUsersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectUsersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 10;
 * @return {string}
 */
typhoon.SelectUsersRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.SelectUsersRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string orderby = 11;
 * @return {string}
 */
typhoon.SelectUsersRequest.prototype.getOrderby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.SelectUsersRequest.prototype.setOrderby = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 order = 12;
 * @return {number}
 */
typhoon.SelectUsersRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.SelectUsersRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int32 page = 13;
 * @return {number}
 */
typhoon.SelectUsersRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.SelectUsersRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 count = 14;
 * @return {number}
 */
typhoon.SelectUsersRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.SelectUsersRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 14, value);
};



/**
 * 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
 */
typhoon.SelectUsersResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.SelectUsersResponse.repeatedFields_, null);
};
goog.inherits(typhoon.SelectUsersResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectUsersResponse.displayName = 'typhoon.SelectUsersResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.SelectUsersResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectUsersResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectUsersResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectUsersResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectUsersResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    usersList: jspb.Message.toObjectList(msg.getUsersList(),
    typhoon.User.toObject, includeInstance),
    totalcount: 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 {!typhoon.SelectUsersResponse}
 */
typhoon.SelectUsersResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectUsersResponse;
  return typhoon.SelectUsersResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectUsersResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectUsersResponse}
 */
typhoon.SelectUsersResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.addUsers(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectUsersResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectUsersResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUsersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * repeated User users = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.User>}
 */
typhoon.SelectUsersResponse.prototype.getUsersList = function() {
  return /** @type{!Array.<!typhoon.User>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.User, 1));
};


/** @param {!Array.<!typhoon.User>} value */
typhoon.SelectUsersResponse.prototype.setUsersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.User=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.User}
 */
typhoon.SelectUsersResponse.prototype.addUsers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.User, opt_index);
};


typhoon.SelectUsersResponse.prototype.clearUsersList = function() {
  this.setUsersList([]);
};


/**
 * optional int32 totalCount = 2;
 * @return {number}
 */
typhoon.SelectUsersResponse.prototype.getTotalcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectUsersResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.UsersCountRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.UsersCountRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UsersCountRequest.displayName = 'typhoon.UsersCountRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UsersCountRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UsersCountRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UsersCountRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UsersCountRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: 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 {!typhoon.UsersCountRequest}
 */
typhoon.UsersCountRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UsersCountRequest;
  return typhoon.UsersCountRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UsersCountRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UsersCountRequest}
 */
typhoon.UsersCountRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UsersCountRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UsersCountRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UsersCountRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UsersCountRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 2;
 * @return {string}
 */
typhoon.UsersCountRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.UsersCountRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.UsersCountResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.UsersCountResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UsersCountResponse.displayName = 'typhoon.UsersCountResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UsersCountResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UsersCountResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UsersCountResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UsersCountResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    count: 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 {!typhoon.UsersCountResponse}
 */
typhoon.UsersCountResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UsersCountResponse;
  return typhoon.UsersCountResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UsersCountResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UsersCountResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 count = 1;
 * @return {number}
 */
typhoon.UsersCountResponse.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.UsersCountResponse.prototype.setCount = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.CreateUsersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.CreateUsersRequest.repeatedFields_, null);
};
goog.inherits(typhoon.CreateUsersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateUsersRequest.displayName = 'typhoon.CreateUsersRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.CreateUsersRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateUsersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateUsersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateUsersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateUsersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    usersList: jspb.Message.toObjectList(msg.getUsersList(),
    typhoon.User.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 {!typhoon.CreateUsersRequest}
 */
typhoon.CreateUsersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateUsersRequest;
  return typhoon.CreateUsersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateUsersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateUsersRequest}
 */
typhoon.CreateUsersRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.addUsers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateUsersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateUsersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUsersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateUsersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateUsersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated User users = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.User>}
 */
typhoon.CreateUsersRequest.prototype.getUsersList = function() {
  return /** @type{!Array.<!typhoon.User>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.User, 2));
};


/** @param {!Array.<!typhoon.User>} value */
typhoon.CreateUsersRequest.prototype.setUsersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.User=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.User}
 */
typhoon.CreateUsersRequest.prototype.addUsers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.User, opt_index);
};


typhoon.CreateUsersRequest.prototype.clearUsersList = function() {
  this.setUsersList([]);
};



/**
 * 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
 */
typhoon.CreateUserRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CreateUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateUserRequest.displayName = 'typhoon.CreateUserRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateUserRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateUserRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateUserRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateUserRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    user: (f = msg.getUser()) && typhoon.User.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 {!typhoon.CreateUserRequest}
 */
typhoon.CreateUserRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateUserRequest;
  return typhoon.CreateUserRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateUserRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateUserRequest}
 */
typhoon.CreateUserRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.setUser(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateUserRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateUserRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUser();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateUserRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateUserRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional User user = 2;
 * @return {?typhoon.User}
 */
typhoon.CreateUserRequest.prototype.getUser = function() {
  return /** @type{?typhoon.User} */ (
    jspb.Message.getWrapperField(this, typhoon.User, 2));
};


/** @param {?typhoon.User|undefined} value */
typhoon.CreateUserRequest.prototype.setUser = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.CreateUserRequest.prototype.clearUser = function() {
  this.setUser(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.CreateUserRequest.prototype.hasUser = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.CreateUserResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CreateUserResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateUserResponse.displayName = 'typhoon.CreateUserResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateUserResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateUserResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateUserResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateUserResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    userid: 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 {!typhoon.CreateUserResponse}
 */
typhoon.CreateUserResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateUserResponse;
  return typhoon.CreateUserResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateUserResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateUserResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 userId = 1;
 * @return {number}
 */
typhoon.CreateUserResponse.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.CreateUserResponse.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.DeleteUserRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.DeleteUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DeleteUserRequest.displayName = 'typhoon.DeleteUserRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DeleteUserRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DeleteUserRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DeleteUserRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DeleteUserRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    user: (f = msg.getUser()) && typhoon.User.toObject(includeInstance, f),
    cleardata: jspb.Message.getFieldWithDefault(msg, 3, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DeleteUserRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DeleteUserRequest}
 */
typhoon.DeleteUserRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.setUser(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCleardata(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DeleteUserRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DeleteUserRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUser();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
  f = message.getCleardata();
  if (f !== 0) {
    writer.writeInt32(
      3,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DeleteUserRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DeleteUserRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional User user = 2;
 * @return {?typhoon.User}
 */
typhoon.DeleteUserRequest.prototype.getUser = function() {
  return /** @type{?typhoon.User} */ (
    jspb.Message.getWrapperField(this, typhoon.User, 2));
};


/** @param {?typhoon.User|undefined} value */
typhoon.DeleteUserRequest.prototype.setUser = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.DeleteUserRequest.prototype.clearUser = function() {
  this.setUser(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.DeleteUserRequest.prototype.hasUser = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional int32 clearData = 3;
 * @return {number}
 */
typhoon.DeleteUserRequest.prototype.getCleardata = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.DeleteUserRequest.prototype.setCleardata = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.DeleteUsersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.DeleteUsersRequest.repeatedFields_, null);
};
goog.inherits(typhoon.DeleteUsersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DeleteUsersRequest.displayName = 'typhoon.DeleteUsersRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.DeleteUsersRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DeleteUsersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DeleteUsersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DeleteUsersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DeleteUsersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    usersList: jspb.Message.toObjectList(msg.getUsersList(),
    typhoon.User.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 {!typhoon.DeleteUsersRequest}
 */
typhoon.DeleteUsersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DeleteUsersRequest;
  return typhoon.DeleteUsersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DeleteUsersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DeleteUsersRequest}
 */
typhoon.DeleteUsersRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.addUsers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DeleteUsersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DeleteUsersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUsersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DeleteUsersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DeleteUsersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated User users = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.User>}
 */
typhoon.DeleteUsersRequest.prototype.getUsersList = function() {
  return /** @type{!Array.<!typhoon.User>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.User, 2));
};


/** @param {!Array.<!typhoon.User>} value */
typhoon.DeleteUsersRequest.prototype.setUsersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.User=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.User}
 */
typhoon.DeleteUsersRequest.prototype.addUsers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.User, opt_index);
};


typhoon.DeleteUsersRequest.prototype.clearUsersList = function() {
  this.setUsersList([]);
};



/**
 * 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
 */
typhoon.UpdateUserRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.UpdateUserRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateUserRequest.displayName = 'typhoon.UpdateUserRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateUserRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateUserRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateUserRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateUserRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    user: (f = msg.getUser()) && typhoon.User.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 {!typhoon.UpdateUserRequest}
 */
typhoon.UpdateUserRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UpdateUserRequest;
  return typhoon.UpdateUserRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateUserRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateUserRequest}
 */
typhoon.UpdateUserRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.setUser(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateUserRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateUserRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUser();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateUserRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateUserRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional User user = 2;
 * @return {?typhoon.User}
 */
typhoon.UpdateUserRequest.prototype.getUser = function() {
  return /** @type{?typhoon.User} */ (
    jspb.Message.getWrapperField(this, typhoon.User, 2));
};


/** @param {?typhoon.User|undefined} value */
typhoon.UpdateUserRequest.prototype.setUser = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.UpdateUserRequest.prototype.clearUser = function() {
  this.setUser(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.UpdateUserRequest.prototype.hasUser = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.UpdateUsersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.UpdateUsersRequest.repeatedFields_, null);
};
goog.inherits(typhoon.UpdateUsersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateUsersRequest.displayName = 'typhoon.UpdateUsersRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.UpdateUsersRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateUsersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateUsersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateUsersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateUsersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    usersList: jspb.Message.toObjectList(msg.getUsersList(),
    typhoon.User.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 {!typhoon.UpdateUsersRequest}
 */
typhoon.UpdateUsersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UpdateUsersRequest;
  return typhoon.UpdateUsersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateUsersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateUsersRequest}
 */
typhoon.UpdateUsersRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.User;
      reader.readMessage(value,typhoon.User.deserializeBinaryFromReader);
      msg.addUsers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateUsersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateUsersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUsersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.User.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateUsersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateUsersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated User users = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.User>}
 */
typhoon.UpdateUsersRequest.prototype.getUsersList = function() {
  return /** @type{!Array.<!typhoon.User>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.User, 2));
};


/** @param {!Array.<!typhoon.User>} value */
typhoon.UpdateUsersRequest.prototype.setUsersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.User=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.User}
 */
typhoon.UpdateUsersRequest.prototype.addUsers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.User, opt_index);
};


typhoon.UpdateUsersRequest.prototype.clearUsersList = function() {
  this.setUsersList([]);
};



/**
 * 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
 */
typhoon.UpdateUserPwdRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.UpdateUserPwdRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateUserPwdRequest.displayName = 'typhoon.UpdateUserPwdRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateUserPwdRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateUserPwdRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateUserPwdRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateUserPwdRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    account: jspb.Message.getFieldWithDefault(msg, 3, ""),
    password: jspb.Message.getFieldWithDefault(msg, 4, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateUserPwdRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateUserPwdRequest}
 */
typhoon.UpdateUserPwdRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setPassword(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateUserPwdRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateUserPwdRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getPassword();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateUserPwdRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateUserPwdRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.UpdateUserPwdRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.UpdateUserPwdRequest.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string account = 3;
 * @return {string}
 */
typhoon.UpdateUserPwdRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.UpdateUserPwdRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string password = 4;
 * @return {string}
 */
typhoon.UpdateUserPwdRequest.prototype.getPassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.UpdateUserPwdRequest.prototype.setPassword = function(value) {
  jspb.Message.setField(this, 4, value);
};



/**
 * 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
 */
typhoon.Session = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Session, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Session.displayName = 'typhoon.Session';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Session.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Session.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Session} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Session.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    account: jspb.Message.getFieldWithDefault(msg, 2, ""),
    ip: jspb.Message.getFieldWithDefault(msg, 3, ""),
    type: jspb.Message.getFieldWithDefault(msg, 4, 0),
    file: jspb.Message.getFieldWithDefault(msg, 5, ""),
    bytes: jspb.Message.getFieldWithDefault(msg, 6, 0),
    progress: +jspb.Message.getFieldWithDefault(msg, 7, 0.0),
    speed: jspb.Message.getFieldWithDefault(msg, 8, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Session} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Session}
 */
typhoon.Session.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setIp(value);
      break;
    case 4:
      var value = /** @type {!typhoon.Transfer.Type} */ (reader.readEnum());
      msg.setType(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setFile(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setBytes(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readFloat());
      msg.setProgress(value);
      break;
    case 8:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setSpeed(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Session} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Session.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getIp();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      4,
      f
    );
  }
  f = message.getFile();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getBytes();
  if (f !== 0) {
    writer.writeInt64(
      6,
      f
    );
  }
  f = message.getProgress();
  if (f !== 0.0) {
    writer.writeFloat(
      7,
      f
    );
  }
  f = message.getSpeed();
  if (f !== 0) {
    writer.writeInt64(
      8,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
typhoon.Session.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.Session.prototype.setId = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string account = 2;
 * @return {string}
 */
typhoon.Session.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.Session.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string ip = 3;
 * @return {string}
 */
typhoon.Session.prototype.getIp = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.Session.prototype.setIp = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional Transfer.Type type = 4;
 * @return {!typhoon.Transfer.Type}
 */
typhoon.Session.prototype.getType = function() {
  return /** @type {!typhoon.Transfer.Type} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {!typhoon.Transfer.Type} value */
typhoon.Session.prototype.setType = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string file = 5;
 * @return {string}
 */
typhoon.Session.prototype.getFile = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.Session.prototype.setFile = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int64 bytes = 6;
 * @return {number}
 */
typhoon.Session.prototype.getBytes = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.Session.prototype.setBytes = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional float progress = 7;
 * @return {number}
 */
typhoon.Session.prototype.getProgress = function() {
  return /** @type {number} */ (+jspb.Message.getFieldWithDefault(this, 7, 0.0));
};


/** @param {number} value */
typhoon.Session.prototype.setProgress = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * optional int64 speed = 8;
 * @return {number}
 */
typhoon.Session.prototype.getSpeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
};


/** @param {number} value */
typhoon.Session.prototype.setSpeed = function(value) {
  jspb.Message.setField(this, 8, value);
};



/**
 * 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
 */
typhoon.SessionsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SessionsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SessionsRequest.displayName = 'typhoon.SessionsRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SessionsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SessionsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SessionsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SessionsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    server: (f = msg.getServer()) && typhoon.Server.toObject(includeInstance, f),
    query: jspb.Message.getFieldWithDefault(msg, 10, ""),
    orderby: jspb.Message.getFieldWithDefault(msg, 11, ""),
    order: jspb.Message.getFieldWithDefault(msg, 12, 0),
    page: jspb.Message.getFieldWithDefault(msg, 13, 0),
    count: jspb.Message.getFieldWithDefault(msg, 14, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SessionsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SessionsRequest}
 */
typhoon.SessionsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.setServer(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrderby(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SessionsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SessionsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getOrderby();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      13,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SessionsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SessionsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Server server = 2;
 * @return {?typhoon.Server}
 */
typhoon.SessionsRequest.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 2));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.SessionsRequest.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.SessionsRequest.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.SessionsRequest.prototype.hasServer = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional string query = 10;
 * @return {string}
 */
typhoon.SessionsRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.SessionsRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string orderby = 11;
 * @return {string}
 */
typhoon.SessionsRequest.prototype.getOrderby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.SessionsRequest.prototype.setOrderby = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 order = 12;
 * @return {number}
 */
typhoon.SessionsRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.SessionsRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int32 page = 13;
 * @return {number}
 */
typhoon.SessionsRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.SessionsRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 count = 14;
 * @return {number}
 */
typhoon.SessionsRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.SessionsRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 14, value);
};



/**
 * 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
 */
typhoon.SessionsResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.SessionsResponse.repeatedFields_, null);
};
goog.inherits(typhoon.SessionsResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SessionsResponse.displayName = 'typhoon.SessionsResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.SessionsResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SessionsResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SessionsResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SessionsResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SessionsResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    sessionsList: jspb.Message.toObjectList(msg.getSessionsList(),
    typhoon.Session.toObject, includeInstance),
    totalcount: 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 {!typhoon.SessionsResponse}
 */
typhoon.SessionsResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SessionsResponse;
  return typhoon.SessionsResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SessionsResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SessionsResponse}
 */
typhoon.SessionsResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.Session;
      reader.readMessage(value,typhoon.Session.deserializeBinaryFromReader);
      msg.addSessions(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SessionsResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SessionsResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getSessionsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.Session.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * repeated Session sessions = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Session>}
 */
typhoon.SessionsResponse.prototype.getSessionsList = function() {
  return /** @type{!Array.<!typhoon.Session>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Session, 1));
};


/** @param {!Array.<!typhoon.Session>} value */
typhoon.SessionsResponse.prototype.setSessionsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.Session=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Session}
 */
typhoon.SessionsResponse.prototype.addSessions = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.Session, opt_index);
};


typhoon.SessionsResponse.prototype.clearSessionsList = function() {
  this.setSessionsList([]);
};


/**
 * optional int32 totalCount = 2;
 * @return {number}
 */
typhoon.SessionsResponse.prototype.getTotalcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SessionsResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.SelectAdminRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectAdminRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAdminRequest.displayName = 'typhoon.SelectAdminRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAdminRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAdminRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAdminRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAdminRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    adminid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    account: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectAdminRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectAdminRequest}
 */
typhoon.SelectAdminRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setAdminid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAdminRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAdminRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAdminid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectAdminRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectAdminRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 adminId = 2;
 * @return {number}
 */
typhoon.SelectAdminRequest.prototype.getAdminid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectAdminRequest.prototype.setAdminid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string account = 3;
 * @return {string}
 */
typhoon.SelectAdminRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.SelectAdminRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.SelectAdminResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectAdminResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAdminResponse.displayName = 'typhoon.SelectAdminResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAdminResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAdminResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAdminResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAdminResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    admin: (f = msg.getAdmin()) && typhoon.Admin.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 {!typhoon.SelectAdminResponse}
 */
typhoon.SelectAdminResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectAdminResponse;
  return typhoon.SelectAdminResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAdminResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAdminResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAdmin();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.Admin.serializeBinaryToWriter
    );
  }
};


/**
 * optional Admin admin = 1;
 * @return {?typhoon.Admin}
 */
typhoon.SelectAdminResponse.prototype.getAdmin = function() {
  return /** @type{?typhoon.Admin} */ (
    jspb.Message.getWrapperField(this, typhoon.Admin, 1));
};


/** @param {?typhoon.Admin|undefined} value */
typhoon.SelectAdminResponse.prototype.setAdmin = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.SelectAdminResponse.prototype.clearAdmin = function() {
  this.setAdmin(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.SelectAdminResponse.prototype.hasAdmin = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.SelectAdminsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectAdminsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAdminsRequest.displayName = 'typhoon.SelectAdminsRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAdminsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAdminsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAdminsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAdminsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: jspb.Message.getFieldWithDefault(msg, 10, ""),
    orderby: jspb.Message.getFieldWithDefault(msg, 11, ""),
    order: jspb.Message.getFieldWithDefault(msg, 12, 0),
    page: jspb.Message.getFieldWithDefault(msg, 13, 0),
    count: jspb.Message.getFieldWithDefault(msg, 14, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectAdminsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectAdminsRequest}
 */
typhoon.SelectAdminsRequest.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.setToken(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrderby(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAdminsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAdminsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getOrderby();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      13,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectAdminsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectAdminsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 10;
 * @return {string}
 */
typhoon.SelectAdminsRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.SelectAdminsRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string orderby = 11;
 * @return {string}
 */
typhoon.SelectAdminsRequest.prototype.getOrderby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.SelectAdminsRequest.prototype.setOrderby = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 order = 12;
 * @return {number}
 */
typhoon.SelectAdminsRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.SelectAdminsRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int32 page = 13;
 * @return {number}
 */
typhoon.SelectAdminsRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.SelectAdminsRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 count = 14;
 * @return {number}
 */
typhoon.SelectAdminsRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.SelectAdminsRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 14, value);
};



/**
 * 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
 */
typhoon.SelectAdminsResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.SelectAdminsResponse.repeatedFields_, null);
};
goog.inherits(typhoon.SelectAdminsResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAdminsResponse.displayName = 'typhoon.SelectAdminsResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.SelectAdminsResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAdminsResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAdminsResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAdminsResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAdminsResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    adminsList: jspb.Message.toObjectList(msg.getAdminsList(),
    typhoon.Admin.toObject, includeInstance),
    totalcount: 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 {!typhoon.SelectAdminsResponse}
 */
typhoon.SelectAdminsResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectAdminsResponse;
  return typhoon.SelectAdminsResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectAdminsResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectAdminsResponse}
 */
typhoon.SelectAdminsResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.Admin;
      reader.readMessage(value,typhoon.Admin.deserializeBinaryFromReader);
      msg.addAdmins(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAdminsResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAdminsResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAdminsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.Admin.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * repeated Admin admins = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Admin>}
 */
typhoon.SelectAdminsResponse.prototype.getAdminsList = function() {
  return /** @type{!Array.<!typhoon.Admin>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Admin, 1));
};


/** @param {!Array.<!typhoon.Admin>} value */
typhoon.SelectAdminsResponse.prototype.setAdminsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.Admin=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Admin}
 */
typhoon.SelectAdminsResponse.prototype.addAdmins = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.Admin, opt_index);
};


typhoon.SelectAdminsResponse.prototype.clearAdminsList = function() {
  this.setAdminsList([]);
};


/**
 * optional int32 totalCount = 2;
 * @return {number}
 */
typhoon.SelectAdminsResponse.prototype.getTotalcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectAdminsResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.AdminsCountRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.AdminsCountRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.AdminsCountRequest.displayName = 'typhoon.AdminsCountRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.AdminsCountRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.AdminsCountRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.AdminsCountRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.AdminsCountRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: 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 {!typhoon.AdminsCountRequest}
 */
typhoon.AdminsCountRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.AdminsCountRequest;
  return typhoon.AdminsCountRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.AdminsCountRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.AdminsCountRequest}
 */
typhoon.AdminsCountRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.AdminsCountRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.AdminsCountRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.AdminsCountRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.AdminsCountRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 2;
 * @return {string}
 */
typhoon.AdminsCountRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.AdminsCountRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.AdminsCountResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.AdminsCountResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.AdminsCountResponse.displayName = 'typhoon.AdminsCountResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.AdminsCountResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.AdminsCountResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.AdminsCountResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.AdminsCountResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    count: 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 {!typhoon.AdminsCountResponse}
 */
typhoon.AdminsCountResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.AdminsCountResponse;
  return typhoon.AdminsCountResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.AdminsCountResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.AdminsCountResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 count = 1;
 * @return {number}
 */
typhoon.AdminsCountResponse.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.AdminsCountResponse.prototype.setCount = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.CreateAdminsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.CreateAdminsRequest.repeatedFields_, null);
};
goog.inherits(typhoon.CreateAdminsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateAdminsRequest.displayName = 'typhoon.CreateAdminsRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.CreateAdminsRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateAdminsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateAdminsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateAdminsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateAdminsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    adminsList: jspb.Message.toObjectList(msg.getAdminsList(),
    typhoon.Admin.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 {!typhoon.CreateAdminsRequest}
 */
typhoon.CreateAdminsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateAdminsRequest;
  return typhoon.CreateAdminsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateAdminsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateAdminsRequest}
 */
typhoon.CreateAdminsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Admin;
      reader.readMessage(value,typhoon.Admin.deserializeBinaryFromReader);
      msg.addAdmins(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateAdminsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateAdminsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAdminsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Admin.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateAdminsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateAdminsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Admin admins = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Admin>}
 */
typhoon.CreateAdminsRequest.prototype.getAdminsList = function() {
  return /** @type{!Array.<!typhoon.Admin>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Admin, 2));
};


/** @param {!Array.<!typhoon.Admin>} value */
typhoon.CreateAdminsRequest.prototype.setAdminsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Admin=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Admin}
 */
typhoon.CreateAdminsRequest.prototype.addAdmins = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Admin, opt_index);
};


typhoon.CreateAdminsRequest.prototype.clearAdminsList = function() {
  this.setAdminsList([]);
};



/**
 * 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
 */
typhoon.CreateAdminRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CreateAdminRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateAdminRequest.displayName = 'typhoon.CreateAdminRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateAdminRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateAdminRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateAdminRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateAdminRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    admin: (f = msg.getAdmin()) && typhoon.Admin.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 {!typhoon.CreateAdminRequest}
 */
typhoon.CreateAdminRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateAdminRequest;
  return typhoon.CreateAdminRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateAdminRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateAdminRequest}
 */
typhoon.CreateAdminRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Admin;
      reader.readMessage(value,typhoon.Admin.deserializeBinaryFromReader);
      msg.setAdmin(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateAdminRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateAdminRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAdmin();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Admin.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateAdminRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateAdminRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Admin admin = 2;
 * @return {?typhoon.Admin}
 */
typhoon.CreateAdminRequest.prototype.getAdmin = function() {
  return /** @type{?typhoon.Admin} */ (
    jspb.Message.getWrapperField(this, typhoon.Admin, 2));
};


/** @param {?typhoon.Admin|undefined} value */
typhoon.CreateAdminRequest.prototype.setAdmin = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.CreateAdminRequest.prototype.clearAdmin = function() {
  this.setAdmin(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.CreateAdminRequest.prototype.hasAdmin = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.CreateAdminResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CreateAdminResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateAdminResponse.displayName = 'typhoon.CreateAdminResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateAdminResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateAdminResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateAdminResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateAdminResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    adminid: 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 {!typhoon.CreateAdminResponse}
 */
typhoon.CreateAdminResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateAdminResponse;
  return typhoon.CreateAdminResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateAdminResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateAdminResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAdminid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 adminId = 1;
 * @return {number}
 */
typhoon.CreateAdminResponse.prototype.getAdminid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.CreateAdminResponse.prototype.setAdminid = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.DeleteAdminsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.DeleteAdminsRequest.repeatedFields_, null);
};
goog.inherits(typhoon.DeleteAdminsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DeleteAdminsRequest.displayName = 'typhoon.DeleteAdminsRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.DeleteAdminsRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DeleteAdminsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DeleteAdminsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DeleteAdminsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DeleteAdminsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    adminsList: jspb.Message.toObjectList(msg.getAdminsList(),
    typhoon.Admin.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 {!typhoon.DeleteAdminsRequest}
 */
typhoon.DeleteAdminsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DeleteAdminsRequest;
  return typhoon.DeleteAdminsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DeleteAdminsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DeleteAdminsRequest}
 */
typhoon.DeleteAdminsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Admin;
      reader.readMessage(value,typhoon.Admin.deserializeBinaryFromReader);
      msg.addAdmins(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DeleteAdminsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DeleteAdminsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAdminsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Admin.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DeleteAdminsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DeleteAdminsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Admin admins = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Admin>}
 */
typhoon.DeleteAdminsRequest.prototype.getAdminsList = function() {
  return /** @type{!Array.<!typhoon.Admin>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Admin, 2));
};


/** @param {!Array.<!typhoon.Admin>} value */
typhoon.DeleteAdminsRequest.prototype.setAdminsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Admin=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Admin}
 */
typhoon.DeleteAdminsRequest.prototype.addAdmins = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Admin, opt_index);
};


typhoon.DeleteAdminsRequest.prototype.clearAdminsList = function() {
  this.setAdminsList([]);
};



/**
 * 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
 */
typhoon.UpdateAdminsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.UpdateAdminsRequest.repeatedFields_, null);
};
goog.inherits(typhoon.UpdateAdminsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateAdminsRequest.displayName = 'typhoon.UpdateAdminsRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.UpdateAdminsRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateAdminsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateAdminsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateAdminsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateAdminsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    adminsList: jspb.Message.toObjectList(msg.getAdminsList(),
    typhoon.Admin.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 {!typhoon.UpdateAdminsRequest}
 */
typhoon.UpdateAdminsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UpdateAdminsRequest;
  return typhoon.UpdateAdminsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateAdminsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateAdminsRequest}
 */
typhoon.UpdateAdminsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Admin;
      reader.readMessage(value,typhoon.Admin.deserializeBinaryFromReader);
      msg.addAdmins(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateAdminsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateAdminsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAdminsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Admin.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateAdminsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateAdminsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Admin admins = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Admin>}
 */
typhoon.UpdateAdminsRequest.prototype.getAdminsList = function() {
  return /** @type{!Array.<!typhoon.Admin>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Admin, 2));
};


/** @param {!Array.<!typhoon.Admin>} value */
typhoon.UpdateAdminsRequest.prototype.setAdminsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Admin=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Admin}
 */
typhoon.UpdateAdminsRequest.prototype.addAdmins = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Admin, opt_index);
};


typhoon.UpdateAdminsRequest.prototype.clearAdminsList = function() {
  this.setAdminsList([]);
};



/**
 * 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
 */
typhoon.UpdateAdminPwdRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.UpdateAdminPwdRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateAdminPwdRequest.displayName = 'typhoon.UpdateAdminPwdRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateAdminPwdRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateAdminPwdRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateAdminPwdRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateAdminPwdRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    adminid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    account: jspb.Message.getFieldWithDefault(msg, 3, ""),
    oldpassword: jspb.Message.getFieldWithDefault(msg, 4, ""),
    newpassword: jspb.Message.getFieldWithDefault(msg, 5, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateAdminPwdRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateAdminPwdRequest}
 */
typhoon.UpdateAdminPwdRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setAdminid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setOldpassword(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setNewpassword(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateAdminPwdRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateAdminPwdRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAdminid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getOldpassword();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getNewpassword();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateAdminPwdRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateAdminPwdRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 adminId = 2;
 * @return {number}
 */
typhoon.UpdateAdminPwdRequest.prototype.getAdminid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.UpdateAdminPwdRequest.prototype.setAdminid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string account = 3;
 * @return {string}
 */
typhoon.UpdateAdminPwdRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.UpdateAdminPwdRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string oldPassword = 4;
 * @return {string}
 */
typhoon.UpdateAdminPwdRequest.prototype.getOldpassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.UpdateAdminPwdRequest.prototype.setOldpassword = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string newPassword = 5;
 * @return {string}
 */
typhoon.UpdateAdminPwdRequest.prototype.getNewpassword = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.UpdateAdminPwdRequest.prototype.setNewpassword = function(value) {
  jspb.Message.setField(this, 5, value);
};



/**
 * 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
 */
typhoon.SelectServerRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectServerRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectServerRequest.displayName = 'typhoon.SelectServerRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectServerRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectServerRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectServerRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectServerRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    serverid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    device: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectServerRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectServerRequest}
 */
typhoon.SelectServerRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setServerid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setDevice(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectServerRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectServerRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServerid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getDevice();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectServerRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectServerRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 serverId = 2;
 * @return {number}
 */
typhoon.SelectServerRequest.prototype.getServerid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectServerRequest.prototype.setServerid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string device = 3;
 * @return {string}
 */
typhoon.SelectServerRequest.prototype.getDevice = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.SelectServerRequest.prototype.setDevice = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.SelectServerResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectServerResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectServerResponse.displayName = 'typhoon.SelectServerResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectServerResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectServerResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectServerResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectServerResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.SelectServerResponse}
 */
typhoon.SelectServerResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectServerResponse;
  return typhoon.SelectServerResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectServerResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectServerResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional Server server = 1;
 * @return {?typhoon.Server}
 */
typhoon.SelectServerResponse.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 1));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.SelectServerResponse.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.SelectServerResponse.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.SelectServerResponse.prototype.hasServer = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.SelectServersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectServersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectServersRequest.displayName = 'typhoon.SelectServersRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectServersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectServersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectServersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectServersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: jspb.Message.getFieldWithDefault(msg, 10, ""),
    orderby: jspb.Message.getFieldWithDefault(msg, 11, ""),
    order: jspb.Message.getFieldWithDefault(msg, 12, 0),
    page: jspb.Message.getFieldWithDefault(msg, 13, 0),
    count: jspb.Message.getFieldWithDefault(msg, 14, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectServersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectServersRequest}
 */
typhoon.SelectServersRequest.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.setToken(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrderby(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectServersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectServersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getOrderby();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      13,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectServersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectServersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 10;
 * @return {string}
 */
typhoon.SelectServersRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.SelectServersRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string orderby = 11;
 * @return {string}
 */
typhoon.SelectServersRequest.prototype.getOrderby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.SelectServersRequest.prototype.setOrderby = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 order = 12;
 * @return {number}
 */
typhoon.SelectServersRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.SelectServersRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int32 page = 13;
 * @return {number}
 */
typhoon.SelectServersRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.SelectServersRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 count = 14;
 * @return {number}
 */
typhoon.SelectServersRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.SelectServersRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 14, value);
};



/**
 * 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
 */
typhoon.SelectServersResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.SelectServersResponse.repeatedFields_, null);
};
goog.inherits(typhoon.SelectServersResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectServersResponse.displayName = 'typhoon.SelectServersResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.SelectServersResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectServersResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectServersResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectServersResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectServersResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    serversList: jspb.Message.toObjectList(msg.getServersList(),
    typhoon.Server.toObject, includeInstance),
    totalcount: 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 {!typhoon.SelectServersResponse}
 */
typhoon.SelectServersResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectServersResponse;
  return typhoon.SelectServersResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectServersResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectServersResponse}
 */
typhoon.SelectServersResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.addServers(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectServersResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectServersResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * repeated Server servers = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Server>}
 */
typhoon.SelectServersResponse.prototype.getServersList = function() {
  return /** @type{!Array.<!typhoon.Server>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Server, 1));
};


/** @param {!Array.<!typhoon.Server>} value */
typhoon.SelectServersResponse.prototype.setServersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.Server=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Server}
 */
typhoon.SelectServersResponse.prototype.addServers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.Server, opt_index);
};


typhoon.SelectServersResponse.prototype.clearServersList = function() {
  this.setServersList([]);
};


/**
 * optional int32 totalCount = 2;
 * @return {number}
 */
typhoon.SelectServersResponse.prototype.getTotalcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectServersResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.RemainServersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.RemainServersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RemainServersRequest.displayName = 'typhoon.RemainServersRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RemainServersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RemainServersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RemainServersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RemainServersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    query: jspb.Message.getFieldWithDefault(msg, 10, ""),
    orderby: jspb.Message.getFieldWithDefault(msg, 11, ""),
    order: jspb.Message.getFieldWithDefault(msg, 12, 0),
    page: jspb.Message.getFieldWithDefault(msg, 13, 0),
    count: jspb.Message.getFieldWithDefault(msg, 14, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.RemainServersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.RemainServersRequest}
 */
typhoon.RemainServersRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrderby(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RemainServersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RemainServersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getOrderby();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      13,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.RemainServersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.RemainServersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.RemainServersRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.RemainServersRequest.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string query = 10;
 * @return {string}
 */
typhoon.RemainServersRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.RemainServersRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string orderby = 11;
 * @return {string}
 */
typhoon.RemainServersRequest.prototype.getOrderby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.RemainServersRequest.prototype.setOrderby = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 order = 12;
 * @return {number}
 */
typhoon.RemainServersRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.RemainServersRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int32 page = 13;
 * @return {number}
 */
typhoon.RemainServersRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.RemainServersRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 count = 14;
 * @return {number}
 */
typhoon.RemainServersRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.RemainServersRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 14, value);
};



/**
 * 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
 */
typhoon.RemainServersResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.RemainServersResponse.repeatedFields_, null);
};
goog.inherits(typhoon.RemainServersResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.RemainServersResponse.displayName = 'typhoon.RemainServersResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.RemainServersResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.RemainServersResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.RemainServersResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.RemainServersResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.RemainServersResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    serversList: jspb.Message.toObjectList(msg.getServersList(),
    typhoon.Server.toObject, includeInstance),
    totalcount: 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 {!typhoon.RemainServersResponse}
 */
typhoon.RemainServersResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.RemainServersResponse;
  return typhoon.RemainServersResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.RemainServersResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.RemainServersResponse}
 */
typhoon.RemainServersResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.addServers(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.RemainServersResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.RemainServersResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getServersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * repeated Server servers = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Server>}
 */
typhoon.RemainServersResponse.prototype.getServersList = function() {
  return /** @type{!Array.<!typhoon.Server>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Server, 1));
};


/** @param {!Array.<!typhoon.Server>} value */
typhoon.RemainServersResponse.prototype.setServersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.Server=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Server}
 */
typhoon.RemainServersResponse.prototype.addServers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.Server, opt_index);
};


typhoon.RemainServersResponse.prototype.clearServersList = function() {
  this.setServersList([]);
};


/**
 * optional int32 totalCount = 2;
 * @return {number}
 */
typhoon.RemainServersResponse.prototype.getTotalcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.RemainServersResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.ServersCountRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ServersCountRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ServersCountRequest.displayName = 'typhoon.ServersCountRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ServersCountRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ServersCountRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ServersCountRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ServersCountRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: 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 {!typhoon.ServersCountRequest}
 */
typhoon.ServersCountRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ServersCountRequest;
  return typhoon.ServersCountRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.ServersCountRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.ServersCountRequest}
 */
typhoon.ServersCountRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ServersCountRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ServersCountRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.ServersCountRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.ServersCountRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 2;
 * @return {string}
 */
typhoon.ServersCountRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.ServersCountRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.ServersCountResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.ServersCountResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.ServersCountResponse.displayName = 'typhoon.ServersCountResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.ServersCountResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.ServersCountResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.ServersCountResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.ServersCountResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    count: 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 {!typhoon.ServersCountResponse}
 */
typhoon.ServersCountResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.ServersCountResponse;
  return typhoon.ServersCountResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.ServersCountResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.ServersCountResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 count = 1;
 * @return {number}
 */
typhoon.ServersCountResponse.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.ServersCountResponse.prototype.setCount = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.CreateServersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.CreateServersRequest.repeatedFields_, null);
};
goog.inherits(typhoon.CreateServersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateServersRequest.displayName = 'typhoon.CreateServersRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.CreateServersRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateServersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateServersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateServersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateServersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    serversList: jspb.Message.toObjectList(msg.getServersList(),
    typhoon.Server.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 {!typhoon.CreateServersRequest}
 */
typhoon.CreateServersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateServersRequest;
  return typhoon.CreateServersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateServersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateServersRequest}
 */
typhoon.CreateServersRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.addServers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateServersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateServersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateServersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateServersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Server servers = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Server>}
 */
typhoon.CreateServersRequest.prototype.getServersList = function() {
  return /** @type{!Array.<!typhoon.Server>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Server, 2));
};


/** @param {!Array.<!typhoon.Server>} value */
typhoon.CreateServersRequest.prototype.setServersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Server=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Server}
 */
typhoon.CreateServersRequest.prototype.addServers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Server, opt_index);
};


typhoon.CreateServersRequest.prototype.clearServersList = function() {
  this.setServersList([]);
};



/**
 * 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
 */
typhoon.DeleteServerRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.DeleteServerRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DeleteServerRequest.displayName = 'typhoon.DeleteServerRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DeleteServerRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DeleteServerRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DeleteServerRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DeleteServerRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.DeleteServerRequest}
 */
typhoon.DeleteServerRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DeleteServerRequest;
  return typhoon.DeleteServerRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DeleteServerRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DeleteServerRequest}
 */
typhoon.DeleteServerRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.setServer(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DeleteServerRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DeleteServerRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DeleteServerRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DeleteServerRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Server server = 2;
 * @return {?typhoon.Server}
 */
typhoon.DeleteServerRequest.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 2));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.DeleteServerRequest.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.DeleteServerRequest.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.DeleteServerRequest.prototype.hasServer = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.DeleteServersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.DeleteServersRequest.repeatedFields_, null);
};
goog.inherits(typhoon.DeleteServersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DeleteServersRequest.displayName = 'typhoon.DeleteServersRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.DeleteServersRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DeleteServersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DeleteServersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DeleteServersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DeleteServersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    serversList: jspb.Message.toObjectList(msg.getServersList(),
    typhoon.Server.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 {!typhoon.DeleteServersRequest}
 */
typhoon.DeleteServersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DeleteServersRequest;
  return typhoon.DeleteServersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DeleteServersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DeleteServersRequest}
 */
typhoon.DeleteServersRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.addServers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DeleteServersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DeleteServersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DeleteServersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DeleteServersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Server servers = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Server>}
 */
typhoon.DeleteServersRequest.prototype.getServersList = function() {
  return /** @type{!Array.<!typhoon.Server>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Server, 2));
};


/** @param {!Array.<!typhoon.Server>} value */
typhoon.DeleteServersRequest.prototype.setServersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Server=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Server}
 */
typhoon.DeleteServersRequest.prototype.addServers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Server, opt_index);
};


typhoon.DeleteServersRequest.prototype.clearServersList = function() {
  this.setServersList([]);
};



/**
 * 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
 */
typhoon.UpdateServerRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.UpdateServerRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateServerRequest.displayName = 'typhoon.UpdateServerRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateServerRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateServerRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateServerRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateServerRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    server: (f = msg.getServer()) && typhoon.Server.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 {!typhoon.UpdateServerRequest}
 */
typhoon.UpdateServerRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UpdateServerRequest;
  return typhoon.UpdateServerRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateServerRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateServerRequest}
 */
typhoon.UpdateServerRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.setServer(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateServerRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateServerRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServer();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateServerRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateServerRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Server server = 2;
 * @return {?typhoon.Server}
 */
typhoon.UpdateServerRequest.prototype.getServer = function() {
  return /** @type{?typhoon.Server} */ (
    jspb.Message.getWrapperField(this, typhoon.Server, 2));
};


/** @param {?typhoon.Server|undefined} value */
typhoon.UpdateServerRequest.prototype.setServer = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.UpdateServerRequest.prototype.clearServer = function() {
  this.setServer(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.UpdateServerRequest.prototype.hasServer = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.UpdateServersRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.UpdateServersRequest.repeatedFields_, null);
};
goog.inherits(typhoon.UpdateServersRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateServersRequest.displayName = 'typhoon.UpdateServersRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.UpdateServersRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateServersRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateServersRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateServersRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateServersRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    serversList: jspb.Message.toObjectList(msg.getServersList(),
    typhoon.Server.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 {!typhoon.UpdateServersRequest}
 */
typhoon.UpdateServersRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UpdateServersRequest;
  return typhoon.UpdateServersRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateServersRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateServersRequest}
 */
typhoon.UpdateServersRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Server;
      reader.readMessage(value,typhoon.Server.deserializeBinaryFromReader);
      msg.addServers(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateServersRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateServersRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getServersList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Server.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateServersRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateServersRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Server servers = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Server>}
 */
typhoon.UpdateServersRequest.prototype.getServersList = function() {
  return /** @type{!Array.<!typhoon.Server>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Server, 2));
};


/** @param {!Array.<!typhoon.Server>} value */
typhoon.UpdateServersRequest.prototype.setServersList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Server=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Server}
 */
typhoon.UpdateServersRequest.prototype.addServers = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Server, opt_index);
};


typhoon.UpdateServersRequest.prototype.clearServersList = function() {
  this.setServersList([]);
};



/**
 * 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
 */
typhoon.SelectAssignRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectAssignRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAssignRequest.displayName = 'typhoon.SelectAssignRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAssignRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAssignRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAssignRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAssignRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    assignid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    userid: jspb.Message.getFieldWithDefault(msg, 3, 0),
    serverid: jspb.Message.getFieldWithDefault(msg, 4, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectAssignRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectAssignRequest}
 */
typhoon.SelectAssignRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setAssignid(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 4:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setServerid(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAssignRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAssignRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAssignid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getServerid();
  if (f !== 0) {
    writer.writeInt64(
      4,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectAssignRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectAssignRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 assignId = 2;
 * @return {number}
 */
typhoon.SelectAssignRequest.prototype.getAssignid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectAssignRequest.prototype.setAssignid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int64 userId = 3;
 * @return {number}
 */
typhoon.SelectAssignRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.SelectAssignRequest.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional int64 serverId = 4;
 * @return {number}
 */
typhoon.SelectAssignRequest.prototype.getServerid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};


/** @param {number} value */
typhoon.SelectAssignRequest.prototype.setServerid = function(value) {
  jspb.Message.setField(this, 4, value);
};



/**
 * 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
 */
typhoon.SelectAssignResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectAssignResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAssignResponse.displayName = 'typhoon.SelectAssignResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAssignResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAssignResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAssignResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAssignResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    assign: (f = msg.getAssign()) && typhoon.Assign.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 {!typhoon.SelectAssignResponse}
 */
typhoon.SelectAssignResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectAssignResponse;
  return typhoon.SelectAssignResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAssignResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAssignResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAssign();
  if (f != null) {
    writer.writeMessage(
      1,
      f,
      typhoon.Assign.serializeBinaryToWriter
    );
  }
};


/**
 * optional Assign assign = 1;
 * @return {?typhoon.Assign}
 */
typhoon.SelectAssignResponse.prototype.getAssign = function() {
  return /** @type{?typhoon.Assign} */ (
    jspb.Message.getWrapperField(this, typhoon.Assign, 1));
};


/** @param {?typhoon.Assign|undefined} value */
typhoon.SelectAssignResponse.prototype.setAssign = function(value) {
  jspb.Message.setWrapperField(this, 1, value);
};


typhoon.SelectAssignResponse.prototype.clearAssign = function() {
  this.setAssign(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.SelectAssignResponse.prototype.hasAssign = function() {
  return jspb.Message.getField(this, 1) != null;
};



/**
 * 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
 */
typhoon.SelectAssignsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.SelectAssignsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAssignsRequest.displayName = 'typhoon.SelectAssignsRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAssignsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAssignsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAssignsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAssignsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    serverid: jspb.Message.getFieldWithDefault(msg, 3, 0),
    query: jspb.Message.getFieldWithDefault(msg, 10, ""),
    orderby: jspb.Message.getFieldWithDefault(msg, 11, ""),
    order: jspb.Message.getFieldWithDefault(msg, 12, 0),
    page: jspb.Message.getFieldWithDefault(msg, 13, 0),
    count: jspb.Message.getFieldWithDefault(msg, 14, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectAssignsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectAssignsRequest}
 */
typhoon.SelectAssignsRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setServerid(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    case 11:
      var value = /** @type {string} */ (reader.readString());
      msg.setOrderby(value);
      break;
    case 12:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setOrder(value);
      break;
    case 13:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setPage(value);
      break;
    case 14:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAssignsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAssignsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getServerid();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getOrderby();
  if (f.length > 0) {
    writer.writeString(
      11,
      f
    );
  }
  f = message.getOrder();
  if (f !== 0) {
    writer.writeInt32(
      12,
      f
    );
  }
  f = message.getPage();
  if (f !== 0) {
    writer.writeInt32(
      13,
      f
    );
  }
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      14,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.SelectAssignsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.SelectAssignsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.SelectAssignsRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectAssignsRequest.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int64 serverId = 3;
 * @return {number}
 */
typhoon.SelectAssignsRequest.prototype.getServerid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.SelectAssignsRequest.prototype.setServerid = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string query = 10;
 * @return {string}
 */
typhoon.SelectAssignsRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/** @param {string} value */
typhoon.SelectAssignsRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 10, value);
};


/**
 * optional string orderby = 11;
 * @return {string}
 */
typhoon.SelectAssignsRequest.prototype.getOrderby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 11, ""));
};


/** @param {string} value */
typhoon.SelectAssignsRequest.prototype.setOrderby = function(value) {
  jspb.Message.setField(this, 11, value);
};


/**
 * optional int32 order = 12;
 * @return {number}
 */
typhoon.SelectAssignsRequest.prototype.getOrder = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 12, 0));
};


/** @param {number} value */
typhoon.SelectAssignsRequest.prototype.setOrder = function(value) {
  jspb.Message.setField(this, 12, value);
};


/**
 * optional int32 page = 13;
 * @return {number}
 */
typhoon.SelectAssignsRequest.prototype.getPage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 13, 0));
};


/** @param {number} value */
typhoon.SelectAssignsRequest.prototype.setPage = function(value) {
  jspb.Message.setField(this, 13, value);
};


/**
 * optional int32 count = 14;
 * @return {number}
 */
typhoon.SelectAssignsRequest.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 14, 0));
};


/** @param {number} value */
typhoon.SelectAssignsRequest.prototype.setCount = function(value) {
  jspb.Message.setField(this, 14, value);
};



/**
 * 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
 */
typhoon.SelectAssignsResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.SelectAssignsResponse.repeatedFields_, null);
};
goog.inherits(typhoon.SelectAssignsResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.SelectAssignsResponse.displayName = 'typhoon.SelectAssignsResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.SelectAssignsResponse.repeatedFields_ = [1];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.SelectAssignsResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.SelectAssignsResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.SelectAssignsResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.SelectAssignsResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    assignsList: jspb.Message.toObjectList(msg.getAssignsList(),
    typhoon.Assign.toObject, includeInstance),
    totalcount: 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 {!typhoon.SelectAssignsResponse}
 */
typhoon.SelectAssignsResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.SelectAssignsResponse;
  return typhoon.SelectAssignsResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.SelectAssignsResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.SelectAssignsResponse}
 */
typhoon.SelectAssignsResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new typhoon.Assign;
      reader.readMessage(value,typhoon.Assign.deserializeBinaryFromReader);
      msg.addAssigns(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setTotalcount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.SelectAssignsResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.SelectAssignsResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAssignsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      typhoon.Assign.serializeBinaryToWriter
    );
  }
  f = message.getTotalcount();
  if (f !== 0) {
    writer.writeInt32(
      2,
      f
    );
  }
};


/**
 * repeated Assign assigns = 1;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Assign>}
 */
typhoon.SelectAssignsResponse.prototype.getAssignsList = function() {
  return /** @type{!Array.<!typhoon.Assign>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Assign, 1));
};


/** @param {!Array.<!typhoon.Assign>} value */
typhoon.SelectAssignsResponse.prototype.setAssignsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!typhoon.Assign=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Assign}
 */
typhoon.SelectAssignsResponse.prototype.addAssigns = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, typhoon.Assign, opt_index);
};


typhoon.SelectAssignsResponse.prototype.clearAssignsList = function() {
  this.setAssignsList([]);
};


/**
 * optional int32 totalCount = 2;
 * @return {number}
 */
typhoon.SelectAssignsResponse.prototype.getTotalcount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.SelectAssignsResponse.prototype.setTotalcount = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.AssignsCountRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.AssignsCountRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.AssignsCountRequest.displayName = 'typhoon.AssignsCountRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.AssignsCountRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.AssignsCountRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.AssignsCountRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.AssignsCountRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    query: 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 {!typhoon.AssignsCountRequest}
 */
typhoon.AssignsCountRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.AssignsCountRequest;
  return typhoon.AssignsCountRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.AssignsCountRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.AssignsCountRequest}
 */
typhoon.AssignsCountRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setQuery(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.AssignsCountRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.AssignsCountRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getQuery();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.AssignsCountRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.AssignsCountRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string query = 2;
 * @return {string}
 */
typhoon.AssignsCountRequest.prototype.getQuery = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.AssignsCountRequest.prototype.setQuery = function(value) {
  jspb.Message.setField(this, 2, value);
};



/**
 * 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
 */
typhoon.AssignsCountResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.AssignsCountResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.AssignsCountResponse.displayName = 'typhoon.AssignsCountResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.AssignsCountResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.AssignsCountResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.AssignsCountResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.AssignsCountResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    count: 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 {!typhoon.AssignsCountResponse}
 */
typhoon.AssignsCountResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.AssignsCountResponse;
  return typhoon.AssignsCountResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.AssignsCountResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.AssignsCountResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCount();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
};


/**
 * optional int32 count = 1;
 * @return {number}
 */
typhoon.AssignsCountResponse.prototype.getCount = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.AssignsCountResponse.prototype.setCount = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.CreateAssignsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.CreateAssignsRequest.repeatedFields_, null);
};
goog.inherits(typhoon.CreateAssignsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateAssignsRequest.displayName = 'typhoon.CreateAssignsRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.CreateAssignsRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateAssignsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateAssignsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateAssignsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateAssignsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    assignsList: jspb.Message.toObjectList(msg.getAssignsList(),
    typhoon.Assign.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 {!typhoon.CreateAssignsRequest}
 */
typhoon.CreateAssignsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateAssignsRequest;
  return typhoon.CreateAssignsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateAssignsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateAssignsRequest}
 */
typhoon.CreateAssignsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Assign;
      reader.readMessage(value,typhoon.Assign.deserializeBinaryFromReader);
      msg.addAssigns(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateAssignsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateAssignsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAssignsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Assign.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateAssignsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateAssignsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Assign assigns = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Assign>}
 */
typhoon.CreateAssignsRequest.prototype.getAssignsList = function() {
  return /** @type{!Array.<!typhoon.Assign>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Assign, 2));
};


/** @param {!Array.<!typhoon.Assign>} value */
typhoon.CreateAssignsRequest.prototype.setAssignsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Assign=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Assign}
 */
typhoon.CreateAssignsRequest.prototype.addAssigns = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Assign, opt_index);
};


typhoon.CreateAssignsRequest.prototype.clearAssignsList = function() {
  this.setAssignsList([]);
};



/**
 * 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
 */
typhoon.CreateAssignRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CreateAssignRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateAssignRequest.displayName = 'typhoon.CreateAssignRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateAssignRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateAssignRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateAssignRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateAssignRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    assign: (f = msg.getAssign()) && typhoon.Assign.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 {!typhoon.CreateAssignRequest}
 */
typhoon.CreateAssignRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateAssignRequest;
  return typhoon.CreateAssignRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.CreateAssignRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.CreateAssignRequest}
 */
typhoon.CreateAssignRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Assign;
      reader.readMessage(value,typhoon.Assign.deserializeBinaryFromReader);
      msg.setAssign(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateAssignRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateAssignRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAssign();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      typhoon.Assign.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.CreateAssignRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.CreateAssignRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional Assign assign = 2;
 * @return {?typhoon.Assign}
 */
typhoon.CreateAssignRequest.prototype.getAssign = function() {
  return /** @type{?typhoon.Assign} */ (
    jspb.Message.getWrapperField(this, typhoon.Assign, 2));
};


/** @param {?typhoon.Assign|undefined} value */
typhoon.CreateAssignRequest.prototype.setAssign = function(value) {
  jspb.Message.setWrapperField(this, 2, value);
};


typhoon.CreateAssignRequest.prototype.clearAssign = function() {
  this.setAssign(undefined);
};


/**
 * Returns whether this field is set.
 * @return {!boolean}
 */
typhoon.CreateAssignRequest.prototype.hasAssign = function() {
  return jspb.Message.getField(this, 2) != null;
};



/**
 * 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
 */
typhoon.CreateAssignResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.CreateAssignResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.CreateAssignResponse.displayName = 'typhoon.CreateAssignResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.CreateAssignResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.CreateAssignResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.CreateAssignResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.CreateAssignResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    assignid: 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 {!typhoon.CreateAssignResponse}
 */
typhoon.CreateAssignResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.CreateAssignResponse;
  return typhoon.CreateAssignResponse.deserializeBinaryFromReader(msg, reader);
};


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


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.CreateAssignResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.CreateAssignResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAssignid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
};


/**
 * optional int64 assignId = 1;
 * @return {number}
 */
typhoon.CreateAssignResponse.prototype.getAssignid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.CreateAssignResponse.prototype.setAssignid = function(value) {
  jspb.Message.setField(this, 1, value);
};



/**
 * 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
 */
typhoon.DeleteAssignsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.DeleteAssignsRequest.repeatedFields_, null);
};
goog.inherits(typhoon.DeleteAssignsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.DeleteAssignsRequest.displayName = 'typhoon.DeleteAssignsRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.DeleteAssignsRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.DeleteAssignsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.DeleteAssignsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.DeleteAssignsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.DeleteAssignsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    assignsList: jspb.Message.toObjectList(msg.getAssignsList(),
    typhoon.Assign.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 {!typhoon.DeleteAssignsRequest}
 */
typhoon.DeleteAssignsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.DeleteAssignsRequest;
  return typhoon.DeleteAssignsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.DeleteAssignsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.DeleteAssignsRequest}
 */
typhoon.DeleteAssignsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Assign;
      reader.readMessage(value,typhoon.Assign.deserializeBinaryFromReader);
      msg.addAssigns(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.DeleteAssignsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.DeleteAssignsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAssignsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Assign.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.DeleteAssignsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.DeleteAssignsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Assign assigns = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Assign>}
 */
typhoon.DeleteAssignsRequest.prototype.getAssignsList = function() {
  return /** @type{!Array.<!typhoon.Assign>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Assign, 2));
};


/** @param {!Array.<!typhoon.Assign>} value */
typhoon.DeleteAssignsRequest.prototype.setAssignsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Assign=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Assign}
 */
typhoon.DeleteAssignsRequest.prototype.addAssigns = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Assign, opt_index);
};


typhoon.DeleteAssignsRequest.prototype.clearAssignsList = function() {
  this.setAssignsList([]);
};



/**
 * 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
 */
typhoon.UpdateAssignsRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.UpdateAssignsRequest.repeatedFields_, null);
};
goog.inherits(typhoon.UpdateAssignsRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.UpdateAssignsRequest.displayName = 'typhoon.UpdateAssignsRequest';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.UpdateAssignsRequest.repeatedFields_ = [2];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.UpdateAssignsRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.UpdateAssignsRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.UpdateAssignsRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.UpdateAssignsRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    assignsList: jspb.Message.toObjectList(msg.getAssignsList(),
    typhoon.Assign.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 {!typhoon.UpdateAssignsRequest}
 */
typhoon.UpdateAssignsRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new typhoon.UpdateAssignsRequest;
  return typhoon.UpdateAssignsRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.UpdateAssignsRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.UpdateAssignsRequest}
 */
typhoon.UpdateAssignsRequest.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.setToken(value);
      break;
    case 2:
      var value = new typhoon.Assign;
      reader.readMessage(value,typhoon.Assign.deserializeBinaryFromReader);
      msg.addAssigns(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.UpdateAssignsRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.UpdateAssignsRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getAssignsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      typhoon.Assign.serializeBinaryToWriter
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.UpdateAssignsRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.UpdateAssignsRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * repeated Assign assigns = 2;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Assign>}
 */
typhoon.UpdateAssignsRequest.prototype.getAssignsList = function() {
  return /** @type{!Array.<!typhoon.Assign>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Assign, 2));
};


/** @param {!Array.<!typhoon.Assign>} value */
typhoon.UpdateAssignsRequest.prototype.setAssignsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!typhoon.Assign=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Assign}
 */
typhoon.UpdateAssignsRequest.prototype.addAssigns = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, typhoon.Assign, opt_index);
};


typhoon.UpdateAssignsRequest.prototype.clearAssignsList = function() {
  this.setAssignsList([]);
};



/**
 * 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
 */
typhoon.Netcard = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.Netcard, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.Netcard.displayName = 'typhoon.Netcard';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.Netcard.prototype.toObject = function(opt_includeInstance) {
  return typhoon.Netcard.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.Netcard} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.Netcard.toObject = function(includeInstance, msg) {
  var f, obj = {
    netcardname: jspb.Message.getFieldWithDefault(msg, 1, ""),
    upspeed: jspb.Message.getFieldWithDefault(msg, 2, 0),
    downspeed: jspb.Message.getFieldWithDefault(msg, 3, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.Netcard} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.Netcard}
 */
typhoon.Netcard.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.setNetcardname(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUpspeed(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDownspeed(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.Netcard} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.Netcard.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getNetcardname();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUpspeed();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getDownspeed();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
};


/**
 * optional string netcardName = 1;
 * @return {string}
 */
typhoon.Netcard.prototype.getNetcardname = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.Netcard.prototype.setNetcardname = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 upSpeed = 2;
 * @return {number}
 */
typhoon.Netcard.prototype.getUpspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.Netcard.prototype.setUpspeed = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int64 downSpeed = 3;
 * @return {number}
 */
typhoon.Netcard.prototype.getDownspeed = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.Netcard.prototype.setDownspeed = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.PerformanceRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.PerformanceRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.PerformanceRequest.displayName = 'typhoon.PerformanceRequest';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.PerformanceRequest.prototype.toObject = function(opt_includeInstance) {
  return typhoon.PerformanceRequest.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.PerformanceRequest} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.PerformanceRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    token: jspb.Message.getFieldWithDefault(msg, 1, ""),
    userid: jspb.Message.getFieldWithDefault(msg, 2, 0),
    account: jspb.Message.getFieldWithDefault(msg, 3, "")
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.PerformanceRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.PerformanceRequest}
 */
typhoon.PerformanceRequest.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.setToken(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUserid(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setAccount(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.PerformanceRequest} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.PerformanceRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getToken();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUserid();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getAccount();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional string token = 1;
 * @return {string}
 */
typhoon.PerformanceRequest.prototype.getToken = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/** @param {string} value */
typhoon.PerformanceRequest.prototype.setToken = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 userId = 2;
 * @return {number}
 */
typhoon.PerformanceRequest.prototype.getUserid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.PerformanceRequest.prototype.setUserid = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string account = 3;
 * @return {string}
 */
typhoon.PerformanceRequest.prototype.getAccount = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.PerformanceRequest.prototype.setAccount = function(value) {
  jspb.Message.setField(this, 3, value);
};



/**
 * 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
 */
typhoon.PerformanceResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, typhoon.PerformanceResponse.repeatedFields_, null);
};
goog.inherits(typhoon.PerformanceResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.PerformanceResponse.displayName = 'typhoon.PerformanceResponse';
}
/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
typhoon.PerformanceResponse.repeatedFields_ = [4];



if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.PerformanceResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.PerformanceResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.PerformanceResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.PerformanceResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    cpuusage: jspb.Message.getFieldWithDefault(msg, 1, 0),
    diskfreesize: jspb.Message.getFieldWithDefault(msg, 2, 0),
    disktotalsize: jspb.Message.getFieldWithDefault(msg, 3, 0),
    netcardsList: jspb.Message.toObjectList(msg.getNetcardsList(),
    typhoon.Netcard.toObject, includeInstance),
    useronlinenum: jspb.Message.getFieldWithDefault(msg, 5, 0),
    runtime: jspb.Message.getFieldWithDefault(msg, 6, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.PerformanceResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.PerformanceResponse}
 */
typhoon.PerformanceResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setCpuusage(value);
      break;
    case 2:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDiskfreesize(value);
      break;
    case 3:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setDisktotalsize(value);
      break;
    case 4:
      var value = new typhoon.Netcard;
      reader.readMessage(value,typhoon.Netcard.deserializeBinaryFromReader);
      msg.addNetcards(value);
      break;
    case 5:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setUseronlinenum(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setRuntime(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.PerformanceResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.PerformanceResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getCpuusage();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getDiskfreesize();
  if (f !== 0) {
    writer.writeInt64(
      2,
      f
    );
  }
  f = message.getDisktotalsize();
  if (f !== 0) {
    writer.writeInt64(
      3,
      f
    );
  }
  f = message.getNetcardsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      4,
      f,
      typhoon.Netcard.serializeBinaryToWriter
    );
  }
  f = message.getUseronlinenum();
  if (f !== 0) {
    writer.writeInt64(
      5,
      f
    );
  }
  f = message.getRuntime();
  if (f !== 0) {
    writer.writeInt64(
      6,
      f
    );
  }
};


/**
 * optional int32 cpuUsage = 1;
 * @return {number}
 */
typhoon.PerformanceResponse.prototype.getCpuusage = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.PerformanceResponse.prototype.setCpuusage = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional int64 diskFreeSize = 2;
 * @return {number}
 */
typhoon.PerformanceResponse.prototype.getDiskfreesize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
};


/** @param {number} value */
typhoon.PerformanceResponse.prototype.setDiskfreesize = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional int64 diskTotalSize = 3;
 * @return {number}
 */
typhoon.PerformanceResponse.prototype.getDisktotalsize = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
};


/** @param {number} value */
typhoon.PerformanceResponse.prototype.setDisktotalsize = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * repeated Netcard netcards = 4;
 * If you change this array by adding, removing or replacing elements, or if you
 * replace the array itself, then you must call the setter to update it.
 * @return {!Array.<!typhoon.Netcard>}
 */
typhoon.PerformanceResponse.prototype.getNetcardsList = function() {
  return /** @type{!Array.<!typhoon.Netcard>} */ (
    jspb.Message.getRepeatedWrapperField(this, typhoon.Netcard, 4));
};


/** @param {!Array.<!typhoon.Netcard>} value */
typhoon.PerformanceResponse.prototype.setNetcardsList = function(value) {
  jspb.Message.setRepeatedWrapperField(this, 4, value);
};


/**
 * @param {!typhoon.Netcard=} opt_value
 * @param {number=} opt_index
 * @return {!typhoon.Netcard}
 */
typhoon.PerformanceResponse.prototype.addNetcards = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 4, opt_value, typhoon.Netcard, opt_index);
};


typhoon.PerformanceResponse.prototype.clearNetcardsList = function() {
  this.setNetcardsList([]);
};


/**
 * optional int64 userOnlineNum = 5;
 * @return {number}
 */
typhoon.PerformanceResponse.prototype.getUseronlinenum = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 5, 0));
};


/** @param {number} value */
typhoon.PerformanceResponse.prototype.setUseronlinenum = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional int64 runtime = 6;
 * @return {number}
 */
typhoon.PerformanceResponse.prototype.getRuntime = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/** @param {number} value */
typhoon.PerformanceResponse.prototype.setRuntime = function(value) {
  jspb.Message.setField(this, 6, value);
};



/**
 * 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
 */
typhoon.LicenseResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(typhoon.LicenseResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  typhoon.LicenseResponse.displayName = 'typhoon.LicenseResponse';
}


if (jspb.Message.GENERATE_TO_OBJECT) {
/**
 * Creates an object representation of this proto suitable for use in Soy templates.
 * Field names that are reserved in JavaScript and will be renamed to pb_name.
 * To access a reserved field use, foo.pb_<name>, eg, foo.pb_default.
 * For the list of reserved names please see:
 *     com.google.apps.jspb.JsClassTemplate.JS_RESERVED_WORDS.
 * @param {boolean=} opt_includeInstance Whether to include the JSPB instance
 *     for transitional soy proto support: http://goto/soy-param-migration
 * @return {!Object}
 */
typhoon.LicenseResponse.prototype.toObject = function(opt_includeInstance) {
  return typhoon.LicenseResponse.toObject(opt_includeInstance, this);
};


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Whether to include the JSPB
 *     instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!typhoon.LicenseResponse} msg The msg instance to transform.
 * @return {!Object}
 */
typhoon.LicenseResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    actived: jspb.Message.getFieldWithDefault(msg, 1, 0),
    duration: jspb.Message.getFieldWithDefault(msg, 2, ""),
    maxBandwidth: jspb.Message.getFieldWithDefault(msg, 3, ""),
    activateDate: jspb.Message.getFieldWithDefault(msg, 4, ""),
    expireDate: jspb.Message.getFieldWithDefault(msg, 5, ""),
    lowBoundBandwidth: jspb.Message.getFieldWithDefault(msg, 6, ""),
    productId: jspb.Message.getFieldWithDefault(msg, 7, 0)
  };

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


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


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!typhoon.LicenseResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!typhoon.LicenseResponse}
 */
typhoon.LicenseResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setActived(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setDuration(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setMaxBandwidth(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setActivateDate(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setExpireDate(value);
      break;
    case 6:
      var value = /** @type {string} */ (reader.readString());
      msg.setLowBoundBandwidth(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt32());
      msg.setProductId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


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


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!typhoon.LicenseResponse} message
 * @param {!jspb.BinaryWriter} writer
 */
typhoon.LicenseResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getActived();
  if (f !== 0) {
    writer.writeInt32(
      1,
      f
    );
  }
  f = message.getDuration();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getMaxBandwidth();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getActivateDate();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getExpireDate();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getLowBoundBandwidth();
  if (f.length > 0) {
    writer.writeString(
      6,
      f
    );
  }
  f = message.getProductId();
  if (f !== 0) {
    writer.writeInt32(
      7,
      f
    );
  }
};


/**
 * optional int32 actived = 1;
 * @return {number}
 */
typhoon.LicenseResponse.prototype.getActived = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/** @param {number} value */
typhoon.LicenseResponse.prototype.setActived = function(value) {
  jspb.Message.setField(this, 1, value);
};


/**
 * optional string duration = 2;
 * @return {string}
 */
typhoon.LicenseResponse.prototype.getDuration = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/** @param {string} value */
typhoon.LicenseResponse.prototype.setDuration = function(value) {
  jspb.Message.setField(this, 2, value);
};


/**
 * optional string max_bandwidth = 3;
 * @return {string}
 */
typhoon.LicenseResponse.prototype.getMaxBandwidth = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/** @param {string} value */
typhoon.LicenseResponse.prototype.setMaxBandwidth = function(value) {
  jspb.Message.setField(this, 3, value);
};


/**
 * optional string activate_date = 4;
 * @return {string}
 */
typhoon.LicenseResponse.prototype.getActivateDate = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/** @param {string} value */
typhoon.LicenseResponse.prototype.setActivateDate = function(value) {
  jspb.Message.setField(this, 4, value);
};


/**
 * optional string expire_date = 5;
 * @return {string}
 */
typhoon.LicenseResponse.prototype.getExpireDate = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/** @param {string} value */
typhoon.LicenseResponse.prototype.setExpireDate = function(value) {
  jspb.Message.setField(this, 5, value);
};


/**
 * optional string low_bound_bandwidth = 6;
 * @return {string}
 */
typhoon.LicenseResponse.prototype.getLowBoundBandwidth = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 6, ""));
};


/** @param {string} value */
typhoon.LicenseResponse.prototype.setLowBoundBandwidth = function(value) {
  jspb.Message.setField(this, 6, value);
};


/**
 * optional int32 product_id = 7;
 * @return {number}
 */
typhoon.LicenseResponse.prototype.getProductId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/** @param {number} value */
typhoon.LicenseResponse.prototype.setProductId = function(value) {
  jspb.Message.setField(this, 7, value);
};


/**
 * @enum {number}
 */
typhoon.ProtoVersion = {
  A: 0,
  V: 1
};

/**
 * @enum {number}
 */
typhoon.SoftVersion = {
  FREEVERSION: 0,
  PROVERSION: 1,
  ENTERPRISEVERSION: 2
};

/**
 * @enum {number}
 */
typhoon.Action = {
  UNKNOW: 0,
  PING: 1,
  HEART_BEAT: 2,
  CHECK: 21,
  LOGIN: 22,
  LOGOUT: 23,
  FILE_DIALOG: 40,
  REPORT: 41,
  SERVERS: 42,
  SERVER: 43,
  SET_PREFERENCE: 44,
  PREFERENCE: 45,
  TASK_LIST: 46,
  OPERAT_TASK: 47,
  EXPLORER: 48,
  STARTUP: 61,
  AUTH: 62,
  UPLOAD: 71,
  DOWNLOAD: 72,
  DOWNLOADTO: 73,
  LS: 81,
  MV: 82,
  RM: 83,
  RN: 84,
  MKDIR: 85,
  START: 101,
  RESTART: 102,
  SHUTDOWN: 103,
  SESSIONS: 110,
  EXCEPTION_REPORT: 197,
  EXCEPTION: 198,
  EXCEPTIONS: 199,
  SELECT_USER: 200,
  SELECT_USERS: 201,
  CREATE_USER: 202,
  CREATE_USERS: 203,
  DELETE_USER: 204,
  DELETE_USERS: 205,
  UPDATE_USER: 206,
  UPDATE_USERS: 207,
  USERS_COUNT: 208,
  UPDATE_USERPWD: 209,
  SELECT_ADMIN: 210,
  SELECT_ADMINS: 211,
  CREATE_ADMIN: 212,
  CREATE_ADMINS: 213,
  DELETE_ADMINS: 214,
  UPDATE_ADMIN: 215,
  UPDATE_ADMINS: 217,
  ADMINS_COUNT: 218,
  UPDATE_ADMINPWD: 219,
  SELECT_SERVER: 220,
  SELECT_SERVERS: 221,
  CREATE_SERVER: 222,
  CREATE_SERVERS: 223,
  DELETE_SERVER: 224,
  DELETE_SERVERS: 225,
  UPDATE_SERVER: 226,
  UPDATE_SERVERS: 227,
  SERVERS_COUNT: 228,
  REMAIN_SERVERS: 229,
  SELECT_ASSIGN: 230,
  SELECT_ASSIGNS: 231,
  CREATE_ASSIGNS: 232,
  CREATE_ASSIGN: 233,
  DELETE_ASSIGN: 234,
  DELETE_ASSIGNS: 235,
  UPDATE_ASSIGN: 236,
  UPDATE_ASSIGNS: 237,
  ASSIGNS_COUNT: 238,
  PERFORMANCE: 239,
  LICENSE: 240
};

/**
 * @enum {number}
 */
typhoon.Module = {
  EMPTY: 0,
  WEBSRV: 1,
  WEBUI: 2,
  WEBADMIN: 3,
  PROXYC: 4,
  PROXYS: 5,
  FTP_CLIENT: 6,
  FTP_SERVER: 7,
  TYPHOON_CLIENT: 8,
  TYPHOON_SERVER: 9
};

/**
 * @enum {number}
 */
typhoon.Result = {
  OK: 0,
  WS_UNKNOW: 1000,
  WS_DBUNKNOW: 1001,
  WS_ACCOUNTINVALID: 1002,
  WS_ACCOUNTREQUIRED: 1003,
  WS_ACCOUNTDUPLICATE: 1004,
  WS_PASSWORDINVALID: 1005,
  WS_PASSWORDREQUIRED: 1006,
  WS_SERVERINVALID: 1007,
  WS_ASSIGNINVALID: 1008,
  WS_TOKENINVALID: 1009,
  WS_IDINVALID: 1010,
  WS_PBMARSHALANY: 1011,
  WS_PBMARSHAL: 1012,
  WS_PBUNMARSHAL: 1013,
  WS_EMAILDUPLICATE: 1014,
  WS_SERVERDEVICEREQUIRED: 1015,
  WS_SERVERDEVICEDUPLICATE: 1016,
  WS_ASSIGNDUPLICATE: 1017,
  WS_ACCOUNTNOTALLOWED: 1018,
  WS_ILLEGALOPERATION: 1019,
  WS_INCORRECTACCOUNTFORMAT: 1021,
  WS_INCORRECTEMAILFORMAT: 1022,
  WS_INCORRECTPASSWORDFORMAT: 1023,
  WS_INCORRECTNAMEFORMAT: 1024,
  WS_INCORRECTPHONEFORMAT: 1025,
  WS_INCORRECTHOSTFORMAT: 1026,
  WS_INVALIDPORT: 1027,
  WS_INVALIDTCPPORT: 1028,
  WS_INVALIDUDPPORT: 1029,
  WS_INVALIDBANDWIDTH: 1030,
  WS_SITEACCESSDENIED: 1031,
  WS_ONLYONEADMIN: 1032,
  WS_DIRNOTEXIST: 1033,
  WS_FILENOTEXIST: 1034,
  WS_CMDFAILD: 1035,
  WS_INVALIDPACKAGESIZE: 1036,
  WS_DOESNOTEXIST: 1037,
  WS_INCORRECTLICENSEFORMAT: 1038,
  WS_CREATEUSERERROR: 1039,
  FC_UNKNOW: 2000,
  FC_FTPLOGIN: 2001,
  FC_FTPLIST: 2002,
  FC_FTPSERVERCLOSED: 2003,
  FC_FTPSERVERNORUN: 2004,
  FC_FTPSERVERDISC: 2005,
  FC_OTHERUSERLOGIN: 2006,
  FC_DIRNOTEXIST: 2007,
  FC_FTPLOGING: 2008,
  FC_CONNECTFAILD: 2009,
  FC_MKDNOPERMISSION: 2010,
  FC_CWDNOPERMISSION: 2011,
  FC_RECONNECT: 2012,
  FC_FTPCLIENTDISC: 2013,
  FC_PARAMERR: 2014,
  FC_AUTHFAILED: 2015
};

/**
 * @enum {number}
 */
typhoon.ENCRYPTION = {
  NONE: 0,
  TLS: 1
};

/**
 * @enum {number}
 */
typhoon.Permission = {
  DENIED: 0,
  DEFAULT: 7,
  FULL: 255,
  CWD: 1,
  LIST: 2,
  RETR: 4,
  APPE: 8,
  DELE: 16,
  RNFR: 32,
  MKD: 64,
  STOR: 128
};

/**
 * @enum {number}
 */
typhoon.FileType = {
  FILE: 0,
  DIRECTORY: 1,
  SYMLINK_FILE: 2,
  SYMLINK_DIRECTORY: 3,
  SYMLINK_UNKNOWN: 4
};

/**
 * @enum {number}
 */
typhoon.MKDIReultCode = {
  SUCCESS: 0,
  FAILD: 1
};

/**
 * @enum {number}
 */
typhoon.Connection = {
  DISCONNECTED: 0,
  CONNECTED: 1,
  RESTRICTED: 2,
  ACCELERATED: 3
};

/**
 * @enum {number}
 */
typhoon.Order = {
  ASC: 0,
  DESC: 1
};

goog.object.extend(exports, typhoon);
