// source: src/main/proto/UserProfileService.proto
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing,
 *  software distributed under the License is distributed on an
 *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *  KIND, either express or implied. See the License for the
 *  specific language governing permissions and limitations
 *  under the License.
 */
/**
 * @fileoverview
 * @enhanceable
 * @suppress {messageConventions} JS Compiler reports an error if a variable or
 *     field starts with 'MSG_' and isn't a translatable message.
 * @public
 */
// GENERATED CODE -- DO NOT EDIT!

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

goog.exportSymbol('proto.org.apache.custos.user.profile.service.DefaultGroupMembershipTypes', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GetAllGroupsResponse', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.Group', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GroupAttribute', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GroupMembership', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GroupRequest', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.GroupToGroupMembership', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.Status', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserAttribute', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserProfile', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserProfileRequest', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserStatus', null, global);
goog.exportSymbol('proto.org.apache.custos.user.profile.service.UserTypes', null, global);
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.UserProfile = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.UserProfile.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.UserProfile, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.UserProfile.displayName = 'proto.org.apache.custos.user.profile.service.UserProfile';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.UserProfileRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.UserProfileRequest.displayName = 'proto.org.apache.custos.user.profile.service.UserProfileRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.UserAttribute = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.UserAttribute.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.UserAttribute, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.UserAttribute.displayName = 'proto.org.apache.custos.user.profile.service.UserAttribute';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.displayName = 'proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.displayName = 'proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.displayName = 'proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.displayName = 'proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.displayName = 'proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GroupRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GroupRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GroupRequest.displayName = 'proto.org.apache.custos.user.profile.service.GroupRequest';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GetAllGroupsResponse, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.displayName = 'proto.org.apache.custos.user.profile.service.GetAllGroupsResponse';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.Group = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.Group.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.Group, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.Group.displayName = 'proto.org.apache.custos.user.profile.service.Group';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GroupAttribute = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, proto.org.apache.custos.user.profile.service.GroupAttribute.repeatedFields_, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GroupAttribute, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GroupAttribute.displayName = 'proto.org.apache.custos.user.profile.service.GroupAttribute';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GroupMembership = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GroupMembership, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GroupMembership.displayName = 'proto.org.apache.custos.user.profile.service.GroupMembership';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.GroupToGroupMembership, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.GroupToGroupMembership.displayName = 'proto.org.apache.custos.user.profile.service.GroupToGroupMembership';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.Status = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.Status, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.Status.displayName = 'proto.org.apache.custos.user.profile.service.Status';
}
/**
 * Generated by JsPbCodeGenerator.
 * @param {Array=} opt_data Optional initial data array, typically from a
 * server response, or constructed directly in Javascript. The array is used
 * in place and becomes part of the constructed object. It is not cloned.
 * If no data is provided, the constructed object will be empty, but still
 * valid.
 * @extends {jspb.Message}
 * @constructor
 */
proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest = function(opt_data) {
  jspb.Message.initialize(this, opt_data, 0, -1, null, null);
};
goog.inherits(proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest, jspb.Message);
if (goog.DEBUG && !COMPILED) {
  /**
   * @public
   * @override
   */
  proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.displayName = 'proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest';
}

/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.UserProfile.repeatedFields_ = [7,8,9];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.UserProfile} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfile.toObject = function(includeInstance, msg) {
  var f, obj = {
    username: jspb.Message.getFieldWithDefault(msg, 1, ""),
    email: jspb.Message.getFieldWithDefault(msg, 2, ""),
    firstName: jspb.Message.getFieldWithDefault(msg, 3, ""),
    lastName: jspb.Message.getFieldWithDefault(msg, 4, ""),
    createdAt: jspb.Message.getFieldWithDefault(msg, 5, ""),
    status: jspb.Message.getFieldWithDefault(msg, 6, 0),
    attributesList: jspb.Message.toObjectList(msg.getAttributesList(),
    proto.org.apache.custos.user.profile.service.UserAttribute.toObject, includeInstance),
    clientRolesList: (f = jspb.Message.getRepeatedField(msg, 8)) == null ? undefined : f,
    realmRolesList: (f = jspb.Message.getRepeatedField(msg, 9)) == null ? undefined : f,
    lastModifiedAt: jspb.Message.getFieldWithDefault(msg, 10, ""),
    type: jspb.Message.getFieldWithDefault(msg, 11, 0)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile}
 */
proto.org.apache.custos.user.profile.service.UserProfile.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.UserProfile;
  return proto.org.apache.custos.user.profile.service.UserProfile.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfile} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile}
 */
proto.org.apache.custos.user.profile.service.UserProfile.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.setUsername(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setEmail(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setFirstName(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setLastName(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setCreatedAt(value);
      break;
    case 6:
      var value = /** @type {!proto.org.apache.custos.user.profile.service.UserStatus} */ (reader.readEnum());
      msg.setStatus(value);
      break;
    case 7:
      var value = new proto.org.apache.custos.user.profile.service.UserAttribute;
      reader.readMessage(value,proto.org.apache.custos.user.profile.service.UserAttribute.deserializeBinaryFromReader);
      msg.addAttributes(value);
      break;
    case 8:
      var value = /** @type {string} */ (reader.readString());
      msg.addClientRoles(value);
      break;
    case 9:
      var value = /** @type {string} */ (reader.readString());
      msg.addRealmRoles(value);
      break;
    case 10:
      var value = /** @type {string} */ (reader.readString());
      msg.setLastModifiedAt(value);
      break;
    case 11:
      var value = /** @type {!proto.org.apache.custos.user.profile.service.UserTypes} */ (reader.readEnum());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.UserProfile.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfile} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfile.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUsername();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getEmail();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getFirstName();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getLastName();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
  f = message.getCreatedAt();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getStatus();
  if (f !== 0.0) {
    writer.writeEnum(
      6,
      f
    );
  }
  f = message.getAttributesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      7,
      f,
      proto.org.apache.custos.user.profile.service.UserAttribute.serializeBinaryToWriter
    );
  }
  f = message.getClientRolesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      8,
      f
    );
  }
  f = message.getRealmRolesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      9,
      f
    );
  }
  f = message.getLastModifiedAt();
  if (f.length > 0) {
    writer.writeString(
      10,
      f
    );
  }
  f = message.getType();
  if (f !== 0.0) {
    writer.writeEnum(
      11,
      f
    );
  }
};


/**
 * optional string username = 1;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getUsername = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setUsername = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string email = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getEmail = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setEmail = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string first_name = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getFirstName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setFirstName = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string last_name = 4;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getLastName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setLastName = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};


/**
 * optional string created_at = 5;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getCreatedAt = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setCreatedAt = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional UserStatus status = 6;
 * @return {!proto.org.apache.custos.user.profile.service.UserStatus}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getStatus = function() {
  return /** @type {!proto.org.apache.custos.user.profile.service.UserStatus} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserStatus} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setStatus = function(value) {
  return jspb.Message.setProto3EnumField(this, 6, value);
};


/**
 * repeated UserAttribute attributes = 7;
 * @return {!Array<!proto.org.apache.custos.user.profile.service.UserAttribute>}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getAttributesList = function() {
  return /** @type{!Array<!proto.org.apache.custos.user.profile.service.UserAttribute>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.apache.custos.user.profile.service.UserAttribute, 7));
};


/**
 * @param {!Array<!proto.org.apache.custos.user.profile.service.UserAttribute>} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
*/
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setAttributesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 7, value);
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserAttribute=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.addAttributes = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 7, opt_value, proto.org.apache.custos.user.profile.service.UserAttribute, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.clearAttributesList = function() {
  return this.setAttributesList([]);
};


/**
 * repeated string client_roles = 8;
 * @return {!Array<string>}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getClientRolesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 8));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setClientRolesList = function(value) {
  return jspb.Message.setField(this, 8, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.addClientRoles = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 8, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.clearClientRolesList = function() {
  return this.setClientRolesList([]);
};


/**
 * repeated string realm_roles = 9;
 * @return {!Array<string>}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getRealmRolesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 9));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setRealmRolesList = function(value) {
  return jspb.Message.setField(this, 9, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.addRealmRoles = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 9, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.clearRealmRolesList = function() {
  return this.setRealmRolesList([]);
};


/**
 * optional string last_modified_at = 10;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getLastModifiedAt = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setLastModifiedAt = function(value) {
  return jspb.Message.setProto3StringField(this, 10, value);
};


/**
 * optional UserTypes type = 11;
 * @return {!proto.org.apache.custos.user.profile.service.UserTypes}
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.getType = function() {
  return /** @type {!proto.org.apache.custos.user.profile.service.UserTypes} */ (jspb.Message.getFieldWithDefault(this, 11, 0));
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserTypes} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfile.prototype.setType = function(value) {
  return jspb.Message.setProto3EnumField(this, 11, value);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    tenantid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    profile: (f = msg.getProfile()) && proto.org.apache.custos.user.profile.service.UserProfile.toObject(includeInstance, f),
    performedby: 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 {!proto.org.apache.custos.user.profile.service.UserProfileRequest}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.UserProfileRequest;
  return proto.org.apache.custos.user.profile.service.UserProfileRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileRequest}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.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.setTenantid(value);
      break;
    case 2:
      var value = new proto.org.apache.custos.user.profile.service.UserProfile;
      reader.readMessage(value,proto.org.apache.custos.user.profile.service.UserProfile.deserializeBinaryFromReader);
      msg.setProfile(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setPerformedby(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.UserProfileRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTenantid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getProfile();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.apache.custos.user.profile.service.UserProfile.serializeBinaryToWriter
    );
  }
  f = message.getPerformedby();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional int64 tenantId = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.getTenantid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileRequest} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.setTenantid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional UserProfile profile = 2;
 * @return {?proto.org.apache.custos.user.profile.service.UserProfile}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.getProfile = function() {
  return /** @type{?proto.org.apache.custos.user.profile.service.UserProfile} */ (
    jspb.Message.getWrapperField(this, proto.org.apache.custos.user.profile.service.UserProfile, 2));
};


/**
 * @param {?proto.org.apache.custos.user.profile.service.UserProfile|undefined} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileRequest} returns this
*/
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.setProfile = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileRequest} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.clearProfile = function() {
  return this.setProfile(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.hasProfile = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional string performedBy = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.getPerformedby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileRequest} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileRequest.prototype.setPerformedby = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.UserAttribute.repeatedFields_ = [3];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.UserAttribute} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserAttribute.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    key: jspb.Message.getFieldWithDefault(msg, 2, ""),
    valueList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute}
 */
proto.org.apache.custos.user.profile.service.UserAttribute.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.UserAttribute;
  return proto.org.apache.custos.user.profile.service.UserAttribute.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.UserAttribute} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute}
 */
proto.org.apache.custos.user.profile.service.UserAttribute.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.setKey(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.addValue(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.UserAttribute.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.UserAttribute} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserAttribute.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getValueList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      3,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string key = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * repeated string value = 3;
 * @return {!Array<string>}
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.getValueList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.setValueList = function(value) {
  return jspb.Message.setField(this, 3, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.addValue = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.UserAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.UserAttribute.prototype.clearValueList = function() {
  return this.setValueList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.repeatedFields_ = [1];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    profilesList: jspb.Message.toObjectList(msg.getProfilesList(),
    proto.org.apache.custos.user.profile.service.UserProfile.toObject, includeInstance)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse}
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse;
  return proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.deserializeBinaryFromReader(msg, reader);
};


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


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getProfilesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.org.apache.custos.user.profile.service.UserProfile.serializeBinaryToWriter
    );
  }
};


/**
 * repeated UserProfile profiles = 1;
 * @return {!Array<!proto.org.apache.custos.user.profile.service.UserProfile>}
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.prototype.getProfilesList = function() {
  return /** @type{!Array<!proto.org.apache.custos.user.profile.service.UserProfile>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.apache.custos.user.profile.service.UserProfile, 1));
};


/**
 * @param {!Array<!proto.org.apache.custos.user.profile.service.UserProfile>} value
 * @return {!proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse} returns this
*/
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.prototype.setProfilesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserProfile=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserProfile}
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.prototype.addProfiles = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.apache.custos.user.profile.service.UserProfile, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse} returns this
 */
proto.org.apache.custos.user.profile.service.GetAllUserProfilesResponse.prototype.clearProfilesList = function() {
  return this.setProfilesList([]);
};





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


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

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest;
  return proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.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.setTenantid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setUsername(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTenantid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getUsername();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
};


/**
 * optional int64 tenantId = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.prototype.getTenantid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest} returns this
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.prototype.setTenantid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string username = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.prototype.getUsername = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest} returns this
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailRequest.prototype.setUsername = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.toObject = function(includeInstance, msg) {
  var f, obj = {
    updatedattribute: jspb.Message.getFieldWithDefault(msg, 1, ""),
    updatedattributevalue: jspb.Message.getFieldWithDefault(msg, 2, ""),
    updatedby: jspb.Message.getFieldWithDefault(msg, 3, ""),
    updatedat: 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 {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata;
  return proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.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.setUpdatedattribute(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setUpdatedattributevalue(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setUpdatedby(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setUpdatedat(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUpdatedattribute();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getUpdatedattributevalue();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getUpdatedby();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getUpdatedat();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional string updatedAttribute = 1;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.getUpdatedattribute = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.setUpdatedattribute = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string updatedAttributeValue = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.getUpdatedattributevalue = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.setUpdatedattributevalue = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string updatedBy = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.getUpdatedby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.setUpdatedby = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string updatedAt = 4;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.getUpdatedat = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.prototype.setUpdatedat = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.toObject = function(includeInstance, msg) {
  var f, obj = {
    updatedstatus: jspb.Message.getFieldWithDefault(msg, 1, 0),
    updatedby: jspb.Message.getFieldWithDefault(msg, 2, ""),
    updatedat: 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 {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata}
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata;
  return proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata}
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {!proto.org.apache.custos.user.profile.service.UserStatus} */ (reader.readEnum());
      msg.setUpdatedstatus(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setUpdatedby(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setUpdatedat(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getUpdatedstatus();
  if (f !== 0.0) {
    writer.writeEnum(
      1,
      f
    );
  }
  f = message.getUpdatedby();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getUpdatedat();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional UserStatus updatedStatus = 1;
 * @return {!proto.org.apache.custos.user.profile.service.UserStatus}
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.getUpdatedstatus = function() {
  return /** @type {!proto.org.apache.custos.user.profile.service.UserStatus} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserStatus} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.setUpdatedstatus = function(value) {
  return jspb.Message.setProto3EnumField(this, 1, value);
};


/**
 * optional string updatedBy = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.getUpdatedby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.setUpdatedby = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string updatedAt = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.getUpdatedat = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata} returns this
 */
proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.prototype.setUpdatedat = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.repeatedFields_ = [1,2];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    attributeauditList: jspb.Message.toObjectList(msg.getAttributeauditList(),
    proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.toObject, includeInstance),
    statusauditList: jspb.Message.toObjectList(msg.getStatusauditList(),
    proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.toObject, includeInstance)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse;
  return proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = new proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata;
      reader.readMessage(value,proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.deserializeBinaryFromReader);
      msg.addAttributeaudit(value);
      break;
    case 2:
      var value = new proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata;
      reader.readMessage(value,proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.deserializeBinaryFromReader);
      msg.addStatusaudit(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getAttributeauditList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata.serializeBinaryToWriter
    );
  }
  f = message.getStatusauditList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      2,
      f,
      proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata.serializeBinaryToWriter
    );
  }
};


/**
 * repeated UserProfileAttributeUpdateMetadata attributeAudit = 1;
 * @return {!Array<!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata>}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.getAttributeauditList = function() {
  return /** @type{!Array<!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata, 1));
};


/**
 * @param {!Array<!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata>} value
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} returns this
*/
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.setAttributeauditList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.addAttributeaudit = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.apache.custos.user.profile.service.UserProfileAttributeUpdateMetadata, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} returns this
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.clearAttributeauditList = function() {
  return this.setAttributeauditList([]);
};


/**
 * repeated UserProfileStatusUpdateMetadata statusAudit = 2;
 * @return {!Array<!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata>}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.getStatusauditList = function() {
  return /** @type{!Array<!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata, 2));
};


/**
 * @param {!Array<!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata>} value
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} returns this
*/
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.setStatusauditList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 2, value);
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata}
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.addStatusaudit = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 2, opt_value, proto.org.apache.custos.user.profile.service.UserProfileStatusUpdateMetadata, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse} returns this
 */
proto.org.apache.custos.user.profile.service.GetUpdateAuditTrailResponse.prototype.clearStatusauditList = function() {
  return this.setStatusauditList([]);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GroupRequest} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupRequest.toObject = function(includeInstance, msg) {
  var f, obj = {
    tenantid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    group: (f = msg.getGroup()) && proto.org.apache.custos.user.profile.service.Group.toObject(includeInstance, f),
    performedby: 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 {!proto.org.apache.custos.user.profile.service.GroupRequest}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GroupRequest;
  return proto.org.apache.custos.user.profile.service.GroupRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.GroupRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.GroupRequest}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.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.setTenantid(value);
      break;
    case 2:
      var value = new proto.org.apache.custos.user.profile.service.Group;
      reader.readMessage(value,proto.org.apache.custos.user.profile.service.Group.deserializeBinaryFromReader);
      msg.setGroup(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setPerformedby(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GroupRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GroupRequest} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupRequest.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTenantid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getGroup();
  if (f != null) {
    writer.writeMessage(
      2,
      f,
      proto.org.apache.custos.user.profile.service.Group.serializeBinaryToWriter
    );
  }
  f = message.getPerformedby();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional int64 tenantId = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.getTenantid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupRequest} returns this
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.setTenantid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional Group group = 2;
 * @return {?proto.org.apache.custos.user.profile.service.Group}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.getGroup = function() {
  return /** @type{?proto.org.apache.custos.user.profile.service.Group} */ (
    jspb.Message.getWrapperField(this, proto.org.apache.custos.user.profile.service.Group, 2));
};


/**
 * @param {?proto.org.apache.custos.user.profile.service.Group|undefined} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupRequest} returns this
*/
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.setGroup = function(value) {
  return jspb.Message.setWrapperField(this, 2, value);
};


/**
 * Clears the message field making it undefined.
 * @return {!proto.org.apache.custos.user.profile.service.GroupRequest} returns this
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.clearGroup = function() {
  return this.setGroup(undefined);
};


/**
 * Returns whether this field is set.
 * @return {boolean}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.hasGroup = function() {
  return jspb.Message.getField(this, 2) != null;
};


/**
 * optional string performedBy = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.getPerformedby = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupRequest} returns this
 */
proto.org.apache.custos.user.profile.service.GroupRequest.prototype.setPerformedby = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.repeatedFields_ = [1];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GetAllGroupsResponse} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.toObject = function(includeInstance, msg) {
  var f, obj = {
    groupsList: jspb.Message.toObjectList(msg.getGroupsList(),
    proto.org.apache.custos.user.profile.service.Group.toObject, includeInstance)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.GetAllGroupsResponse}
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GetAllGroupsResponse;
  return proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.deserializeBinaryFromReader(msg, reader);
};


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


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GetAllGroupsResponse} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getGroupsList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      1,
      f,
      proto.org.apache.custos.user.profile.service.Group.serializeBinaryToWriter
    );
  }
};


/**
 * repeated Group groups = 1;
 * @return {!Array<!proto.org.apache.custos.user.profile.service.Group>}
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.prototype.getGroupsList = function() {
  return /** @type{!Array<!proto.org.apache.custos.user.profile.service.Group>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.apache.custos.user.profile.service.Group, 1));
};


/**
 * @param {!Array<!proto.org.apache.custos.user.profile.service.Group>} value
 * @return {!proto.org.apache.custos.user.profile.service.GetAllGroupsResponse} returns this
*/
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.prototype.setGroupsList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 1, value);
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.Group=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.Group}
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.prototype.addGroups = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 1, opt_value, proto.org.apache.custos.user.profile.service.Group, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.GetAllGroupsResponse} returns this
 */
proto.org.apache.custos.user.profile.service.GetAllGroupsResponse.prototype.clearGroupsList = function() {
  return this.setGroupsList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.Group.repeatedFields_ = [3,4,8];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.Group} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.Group.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, ""),
    name: jspb.Message.getFieldWithDefault(msg, 2, ""),
    realmRolesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
    clientRolesList: (f = jspb.Message.getRepeatedField(msg, 4)) == null ? undefined : f,
    parentId: jspb.Message.getFieldWithDefault(msg, 5, ""),
    createdTime: jspb.Message.getFieldWithDefault(msg, 6, 0),
    lastModifiedTime: jspb.Message.getFieldWithDefault(msg, 7, 0),
    attributesList: jspb.Message.toObjectList(msg.getAttributesList(),
    proto.org.apache.custos.user.profile.service.GroupAttribute.toObject, includeInstance)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.Group}
 */
proto.org.apache.custos.user.profile.service.Group.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.Group;
  return proto.org.apache.custos.user.profile.service.Group.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.Group} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.Group}
 */
proto.org.apache.custos.user.profile.service.Group.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {string} */ (reader.readString());
      msg.setId(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setName(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.addRealmRoles(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.addClientRoles(value);
      break;
    case 5:
      var value = /** @type {string} */ (reader.readString());
      msg.setParentId(value);
      break;
    case 6:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setCreatedTime(value);
      break;
    case 7:
      var value = /** @type {number} */ (reader.readInt64());
      msg.setLastModifiedTime(value);
      break;
    case 8:
      var value = new proto.org.apache.custos.user.profile.service.GroupAttribute;
      reader.readMessage(value,proto.org.apache.custos.user.profile.service.GroupAttribute.deserializeBinaryFromReader);
      msg.addAttributes(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.Group.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.Group} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.Group.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f.length > 0) {
    writer.writeString(
      1,
      f
    );
  }
  f = message.getName();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getRealmRolesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      3,
      f
    );
  }
  f = message.getClientRolesList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      4,
      f
    );
  }
  f = message.getParentId();
  if (f.length > 0) {
    writer.writeString(
      5,
      f
    );
  }
  f = message.getCreatedTime();
  if (f !== 0) {
    writer.writeInt64(
      6,
      f
    );
  }
  f = message.getLastModifiedTime();
  if (f !== 0) {
    writer.writeInt64(
      7,
      f
    );
  }
  f = message.getAttributesList();
  if (f.length > 0) {
    writer.writeRepeatedMessage(
      8,
      f,
      proto.org.apache.custos.user.profile.service.GroupAttribute.serializeBinaryToWriter
    );
  }
};


/**
 * optional string id = 1;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setId = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * optional string name = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getName = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setName = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * repeated string realm_roles = 3;
 * @return {!Array<string>}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getRealmRolesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setRealmRolesList = function(value) {
  return jspb.Message.setField(this, 3, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.addRealmRoles = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.clearRealmRolesList = function() {
  return this.setRealmRolesList([]);
};


/**
 * repeated string client_roles = 4;
 * @return {!Array<string>}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getClientRolesList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 4));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setClientRolesList = function(value) {
  return jspb.Message.setField(this, 4, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.addClientRoles = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 4, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.clearClientRolesList = function() {
  return this.setClientRolesList([]);
};


/**
 * optional string parent_id = 5;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getParentId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setParentId = function(value) {
  return jspb.Message.setProto3StringField(this, 5, value);
};


/**
 * optional int64 created_time = 6;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getCreatedTime = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setCreatedTime = function(value) {
  return jspb.Message.setProto3IntField(this, 6, value);
};


/**
 * optional int64 last_modified_time = 7;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getLastModifiedTime = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 7, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.setLastModifiedTime = function(value) {
  return jspb.Message.setProto3IntField(this, 7, value);
};


/**
 * repeated GroupAttribute attributes = 8;
 * @return {!Array<!proto.org.apache.custos.user.profile.service.GroupAttribute>}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.getAttributesList = function() {
  return /** @type{!Array<!proto.org.apache.custos.user.profile.service.GroupAttribute>} */ (
    jspb.Message.getRepeatedWrapperField(this, proto.org.apache.custos.user.profile.service.GroupAttribute, 8));
};


/**
 * @param {!Array<!proto.org.apache.custos.user.profile.service.GroupAttribute>} value
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
*/
proto.org.apache.custos.user.profile.service.Group.prototype.setAttributesList = function(value) {
  return jspb.Message.setRepeatedWrapperField(this, 8, value);
};


/**
 * @param {!proto.org.apache.custos.user.profile.service.GroupAttribute=} opt_value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute}
 */
proto.org.apache.custos.user.profile.service.Group.prototype.addAttributes = function(opt_value, opt_index) {
  return jspb.Message.addToRepeatedWrapperField(this, 8, opt_value, proto.org.apache.custos.user.profile.service.GroupAttribute, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.Group} returns this
 */
proto.org.apache.custos.user.profile.service.Group.prototype.clearAttributesList = function() {
  return this.setAttributesList([]);
};



/**
 * List of repeated fields within this message type.
 * @private {!Array<number>}
 * @const
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.repeatedFields_ = [3];



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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GroupAttribute} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.toObject = function(includeInstance, msg) {
  var f, obj = {
    id: jspb.Message.getFieldWithDefault(msg, 1, 0),
    key: jspb.Message.getFieldWithDefault(msg, 2, ""),
    valueList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute}
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GroupAttribute;
  return proto.org.apache.custos.user.profile.service.GroupAttribute.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.GroupAttribute} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute}
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.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.setKey(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.addValue(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GroupAttribute.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GroupAttribute} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getId();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getKey();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getValueList();
  if (f.length > 0) {
    writer.writeRepeatedString(
      3,
      f
    );
  }
};


/**
 * optional int64 id = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.getId = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.setId = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string key = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.getKey = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.setKey = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * repeated string value = 3;
 * @return {!Array<string>}
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.getValueList = function() {
  return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 3));
};


/**
 * @param {!Array<string>} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.setValueList = function(value) {
  return jspb.Message.setField(this, 3, value || []);
};


/**
 * @param {string} value
 * @param {number=} opt_index
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.addValue = function(value, opt_index) {
  return jspb.Message.addToRepeatedField(this, 3, value, opt_index);
};


/**
 * Clears the list making it empty but non-null.
 * @return {!proto.org.apache.custos.user.profile.service.GroupAttribute} returns this
 */
proto.org.apache.custos.user.profile.service.GroupAttribute.prototype.clearValueList = function() {
  return this.setValueList([]);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GroupMembership} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupMembership.toObject = function(includeInstance, msg) {
  var f, obj = {
    tenantid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    groupId: jspb.Message.getFieldWithDefault(msg, 2, ""),
    username: jspb.Message.getFieldWithDefault(msg, 3, ""),
    type: 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 {!proto.org.apache.custos.user.profile.service.GroupMembership}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GroupMembership;
  return proto.org.apache.custos.user.profile.service.GroupMembership.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.GroupMembership} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.GroupMembership}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.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.setTenantid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setGroupId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setUsername(value);
      break;
    case 4:
      var value = /** @type {string} */ (reader.readString());
      msg.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GroupMembership.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GroupMembership} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupMembership.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTenantid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getGroupId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getUsername();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
  f = message.getType();
  if (f.length > 0) {
    writer.writeString(
      4,
      f
    );
  }
};


/**
 * optional int64 tenantId = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.getTenantid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.setTenantid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string group_id = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.getGroupId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.setGroupId = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string username = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.getUsername = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.setUsername = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};


/**
 * optional string type = 4;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.getType = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 4, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupMembership.prototype.setType = function(value) {
  return jspb.Message.setProto3StringField(this, 4, value);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.toObject = function(includeInstance, msg) {
  var f, obj = {
    tenantid: jspb.Message.getFieldWithDefault(msg, 1, 0),
    parentId: jspb.Message.getFieldWithDefault(msg, 2, ""),
    childId: 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 {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership}
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.GroupToGroupMembership;
  return proto.org.apache.custos.user.profile.service.GroupToGroupMembership.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership}
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.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.setTenantid(value);
      break;
    case 2:
      var value = /** @type {string} */ (reader.readString());
      msg.setParentId(value);
      break;
    case 3:
      var value = /** @type {string} */ (reader.readString());
      msg.setChildId(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.GroupToGroupMembership.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getTenantid();
  if (f !== 0) {
    writer.writeInt64(
      1,
      f
    );
  }
  f = message.getParentId();
  if (f.length > 0) {
    writer.writeString(
      2,
      f
    );
  }
  f = message.getChildId();
  if (f.length > 0) {
    writer.writeString(
      3,
      f
    );
  }
};


/**
 * optional int64 tenantId = 1;
 * @return {number}
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.getTenantid = function() {
  return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
};


/**
 * @param {number} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.setTenantid = function(value) {
  return jspb.Message.setProto3IntField(this, 1, value);
};


/**
 * optional string parent_id = 2;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.getParentId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.setParentId = function(value) {
  return jspb.Message.setProto3StringField(this, 2, value);
};


/**
 * optional string child_id = 3;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.getChildId = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 3, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.GroupToGroupMembership} returns this
 */
proto.org.apache.custos.user.profile.service.GroupToGroupMembership.prototype.setChildId = function(value) {
  return jspb.Message.setProto3StringField(this, 3, value);
};





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


/**
 * Static version of the {@see toObject} method.
 * @param {boolean|undefined} includeInstance Deprecated. Whether to include
 *     the JSPB instance for transitional soy proto support:
 *     http://goto/soy-param-migration
 * @param {!proto.org.apache.custos.user.profile.service.Status} msg The msg instance to transform.
 * @return {!Object}
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.Status.toObject = function(includeInstance, msg) {
  var f, obj = {
    status: jspb.Message.getBooleanFieldWithDefault(msg, 1, false)
  };

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.Status}
 */
proto.org.apache.custos.user.profile.service.Status.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.Status;
  return proto.org.apache.custos.user.profile.service.Status.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.Status} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.Status}
 */
proto.org.apache.custos.user.profile.service.Status.deserializeBinaryFromReader = function(msg, reader) {
  while (reader.nextField()) {
    if (reader.isEndGroup()) {
      break;
    }
    var field = reader.getFieldNumber();
    switch (field) {
    case 1:
      var value = /** @type {boolean} */ (reader.readBool());
      msg.setStatus(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.Status.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.Status.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


/**
 * Serializes the given message to binary data (in protobuf wire
 * format), writing to the given BinaryWriter.
 * @param {!proto.org.apache.custos.user.profile.service.Status} message
 * @param {!jspb.BinaryWriter} writer
 * @suppress {unusedLocalVariables} f is only used for nested messages
 */
proto.org.apache.custos.user.profile.service.Status.serializeBinaryToWriter = function(message, writer) {
  var f = undefined;
  f = message.getStatus();
  if (f) {
    writer.writeBool(
      1,
      f
    );
  }
};


/**
 * optional bool status = 1;
 * @return {boolean}
 */
proto.org.apache.custos.user.profile.service.Status.prototype.getStatus = function() {
  return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false));
};


/**
 * @param {boolean} value
 * @return {!proto.org.apache.custos.user.profile.service.Status} returns this
 */
proto.org.apache.custos.user.profile.service.Status.prototype.setStatus = function(value) {
  return jspb.Message.setProto3BooleanField(this, 1, value);
};





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


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

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


/**
 * Deserializes binary data (in protobuf wire format).
 * @param {jspb.ByteSource} bytes The bytes to deserialize.
 * @return {!proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest}
 */
proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.deserializeBinary = function(bytes) {
  var reader = new jspb.BinaryReader(bytes);
  var msg = new proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest;
  return proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.deserializeBinaryFromReader(msg, reader);
};


/**
 * Deserializes binary data (in protobuf wire format) from the
 * given reader into the given message object.
 * @param {!proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest} msg The message object to deserialize into.
 * @param {!jspb.BinaryReader} reader The BinaryReader to use.
 * @return {!proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest}
 */
proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.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.setType(value);
      break;
    default:
      reader.skipField();
      break;
    }
  }
  return msg;
};


/**
 * Serializes the message to binary data (in protobuf wire format).
 * @return {!Uint8Array}
 */
proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.prototype.serializeBinary = function() {
  var writer = new jspb.BinaryWriter();
  proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.serializeBinaryToWriter(this, writer);
  return writer.getResultBuffer();
};


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


/**
 * optional string type = 1;
 * @return {string}
 */
proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.prototype.getType = function() {
  return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, ""));
};


/**
 * @param {string} value
 * @return {!proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest} returns this
 */
proto.org.apache.custos.user.profile.service.UserGroupMembershipTypeRequest.prototype.setType = function(value) {
  return jspb.Message.setProto3StringField(this, 1, value);
};


/**
 * @enum {number}
 */
proto.org.apache.custos.user.profile.service.UserStatus = {
  ACTIVE: 0,
  CONFIRMED: 1,
  APPROVED: 2,
  DELETED: 3,
  DUPLICATE: 4,
  GRACE_PERIOD: 5,
  INVITED: 6,
  DENIED: 7,
  PENDING: 8,
  PENDING_APPROVAL: 9,
  PENDING_CONFIRMATION: 10,
  SUSPENDED: 11,
  DECLINED: 12,
  EXPIRED: 13
};

/**
 * @enum {number}
 */
proto.org.apache.custos.user.profile.service.DefaultGroupMembershipTypes = {
  OWNER: 0,
  ADMIN: 1,
  MEMBER: 2
};

/**
 * @enum {number}
 */
proto.org.apache.custos.user.profile.service.UserTypes = {
  END_USER: 0,
  COMMUNITY: 1
};

goog.object.extend(exports, proto.org.apache.custos.user.profile.service);
