{"version":3,"sources":["node_modules/jwt-decode/build/jwt-decode.esm.js","node_modules/@vendasta/iamv2/fesm2020/vendasta-iamv2.mjs"],"sourcesContent":["function e(e) {\n this.message = e;\n}\ne.prototype = new Error(), e.prototype.name = \"InvalidCharacterError\";\nvar r = \"undefined\" != typeof window && window.atob && window.atob.bind(window) || function (r) {\n var t = String(r).replace(/=+$/, \"\");\n if (t.length % 4 == 1) throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");\n for (var n, o, a = 0, i = 0, c = \"\"; o = t.charAt(i++); ~o && (n = a % 4 ? 64 * n + o : o, a++ % 4) ? c += String.fromCharCode(255 & n >> (-2 * a & 6)) : 0) o = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);\n return c;\n};\nfunction t(e) {\n var t = e.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (t.length % 4) {\n case 0:\n break;\n case 2:\n t += \"==\";\n break;\n case 3:\n t += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n try {\n return function (e) {\n return decodeURIComponent(r(e).replace(/(.)/g, function (e, r) {\n var t = r.charCodeAt(0).toString(16).toUpperCase();\n return t.length < 2 && (t = \"0\" + t), \"%\" + t;\n }));\n }(t);\n } catch (e) {\n return r(t);\n }\n}\nfunction n(e) {\n this.message = e;\n}\nfunction o(e, r) {\n if (\"string\" != typeof e) throw new n(\"Invalid token specified\");\n var o = !0 === (r = r || {}).header ? 0 : 1;\n try {\n return JSON.parse(t(e.split(\".\")[o]));\n } catch (e) {\n throw new n(\"Invalid token specified: \" + e.message);\n }\n}\nn.prototype = new Error(), n.prototype.name = \"InvalidTokenError\";\nexport default o;\nexport { n as InvalidTokenError };\n","import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport jwt_decode from 'jwt-decode';\nlet Address$1 = class Address {\n constructor({\n address,\n city,\n postalCode,\n country,\n state,\n additionalAddress\n }) {\n this.address = address || '';\n this.city = city || '';\n this.postalCode = postalCode || '';\n this.country = country || '';\n this.state = state || '';\n this.additionalAddress = additionalAddress || '';\n }\n};\nlet LinkedIn$1 = class LinkedIn {\n constructor({\n publicProfileId\n }) {\n this.publicProfileId = publicProfileId || '';\n }\n};\nlet User$1 = class User {\n constructor({\n userId,\n partnerId,\n email,\n roles,\n created,\n updated,\n firstName,\n greetingName,\n lastName,\n languageCode,\n publicKeys,\n lastLogin,\n emailVerified,\n phoneNumbers,\n address,\n profileImageUrl,\n timeZone,\n linkedIn,\n meetingBookingUrl\n }) {\n this.userId = userId || '';\n this.partnerId = partnerId || '';\n this.email = email || '';\n this.roles = roles || {};\n this.created = created || null;\n this.updated = updated || null;\n this.firstName = firstName || '';\n this.greetingName = greetingName || '';\n this.lastName = lastName || '';\n this.languageCode = languageCode || '';\n this.publicKeys = publicKeys || [];\n this.lastLogin = lastLogin || null;\n this.emailVerified = emailVerified || false;\n this.phoneNumbers = phoneNumbers || [];\n this.address = address || new Address$1({});\n this.profileImageUrl = profileImageUrl || '';\n this.timeZone = timeZone || '';\n this.linkedIn = linkedIn || new LinkedIn$1({});\n this.meetingBookingUrl = meetingBookingUrl || '';\n }\n};\nclass Role {\n constructor({\n roleId,\n attributes,\n created,\n updated\n }) {\n this.roleId = roleId || '';\n this.attributes = attributes || null;\n this.created = created || null;\n this.updated = updated || null;\n }\n}\nvar AlgorithmType$1 = /*#__PURE__*/function (AlgorithmType) {\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_ES256\"] = 0] = \"ALGORITHM_TYPE_ES256\";\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_RS256\"] = 1] = \"ALGORITHM_TYPE_RS256\";\n return AlgorithmType;\n}(AlgorithmType$1 || {});\nlet PublicKey$1 = class PublicKey {\n constructor({\n key,\n id,\n algorithmType\n }) {\n this.key = key || '';\n this.id = id || '';\n this.algorithmType = algorithmType || AlgorithmType$1.ALGORITHM_TYPE_ES256;\n }\n};\nvar PhoneNumberType$1 = /*#__PURE__*/function (PhoneNumberType) {\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_INVALID\"] = 0] = \"PHONE_NUMBER_TYPE_INVALID\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_WORK\"] = 1] = \"PHONE_NUMBER_TYPE_WORK\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_HOME\"] = 2] = \"PHONE_NUMBER_TYPE_HOME\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_MOBILE\"] = 3] = \"PHONE_NUMBER_TYPE_MOBILE\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_FAX\"] = 4] = \"PHONE_NUMBER_TYPE_FAX\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_PAGER\"] = 5] = \"PHONE_NUMBER_TYPE_PAGER\";\n return PhoneNumberType;\n}(PhoneNumberType$1 || {});\nlet PhoneNumber$1 = class PhoneNumber {\n constructor({\n phoneNumber,\n phoneNumberType\n }) {\n this.phoneNumber = phoneNumber || '';\n this.phoneNumberType = phoneNumberType || PhoneNumberType$1.PHONE_NUMBER_TYPE_INVALID;\n }\n};\nfunction enumStringToValue$6(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedResponseMetadata {\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$5(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Attribute {\n static fromProto(proto) {\n let m = new Attribute();\n m = Object.assign(m, proto);\n if (proto.intAttribute) {\n m.intAttribute = parseInt(proto.intAttribute, 10);\n }\n if (proto.structAttribute) {\n m.structAttribute = StructAttribute.fromProto(proto.structAttribute);\n }\n if (proto.listAttribute) {\n m.listAttribute = ListAttribute.fromProto(proto.listAttribute);\n }\n if (proto.timestampAttribute) {\n m.timestampAttribute = new Date(proto.timestampAttribute);\n }\n if (proto.geopointAttribute) {\n m.geopointAttribute = GeoPointAttribute.fromProto(proto.geopointAttribute);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.intAttribute !== 'undefined') {\n toReturn['intAttribute'] = this.intAttribute;\n }\n if (typeof this.doubleAttribute !== 'undefined') {\n toReturn['doubleAttribute'] = this.doubleAttribute;\n }\n if (typeof this.stringAttribute !== 'undefined') {\n toReturn['stringAttribute'] = this.stringAttribute;\n }\n if (typeof this.boolAttribute !== 'undefined') {\n toReturn['boolAttribute'] = this.boolAttribute;\n }\n if (typeof this.structAttribute !== 'undefined' && this.structAttribute !== null) {\n toReturn['structAttribute'] = 'toApiJson' in this.structAttribute ? this.structAttribute.toApiJson() : this.structAttribute;\n }\n if (typeof this.listAttribute !== 'undefined' && this.listAttribute !== null) {\n toReturn['listAttribute'] = 'toApiJson' in this.listAttribute ? this.listAttribute.toApiJson() : this.listAttribute;\n }\n if (typeof this.timestampAttribute !== 'undefined' && this.timestampAttribute !== null) {\n toReturn['timestampAttribute'] = 'toApiJson' in this.timestampAttribute ? this.timestampAttribute.toApiJson() : this.timestampAttribute;\n }\n if (typeof this.geopointAttribute !== 'undefined' && this.geopointAttribute !== null) {\n toReturn['geopointAttribute'] = 'toApiJson' in this.geopointAttribute ? this.geopointAttribute.toApiJson() : this.geopointAttribute;\n }\n return toReturn;\n }\n}\nclass StructAttributeAttributesEntry {\n static fromProto(proto) {\n let m = new StructAttributeAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = Attribute.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass GeoPointAttribute {\n static fromProto(proto) {\n let m = new GeoPointAttribute();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.latitude !== 'undefined') {\n toReturn['latitude'] = this.latitude;\n }\n if (typeof this.longitude !== 'undefined') {\n toReturn['longitude'] = this.longitude;\n }\n return toReturn;\n }\n}\nclass ListAttribute {\n static fromProto(proto) {\n let m = new ListAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = proto.attributes.map(Attribute.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass StructAttribute {\n static fromProto(proto) {\n let m = new StructAttribute();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = Object.keys(proto.attributes).reduce((obj, k) => {\n obj[k] = Attribute.fromProto(proto.attributes[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar BooleanOperator = /*#__PURE__*/function (BooleanOperator) {\n BooleanOperator[BooleanOperator[\"AND\"] = 0] = \"AND\";\n BooleanOperator[BooleanOperator[\"OR\"] = 1] = \"OR\";\n BooleanOperator[BooleanOperator[\"NOT\"] = 2] = \"NOT\";\n return BooleanOperator;\n}(BooleanOperator || {});\nvar ForOperator = /*#__PURE__*/function (ForOperator) {\n ForOperator[ForOperator[\"ANY\"] = 0] = \"ANY\";\n ForOperator[ForOperator[\"ALL\"] = 1] = \"ALL\";\n return ForOperator;\n}(ForOperator || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AuxiliaryDataFieldType = /*#__PURE__*/function (AuxiliaryDataFieldType) {\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_INVALID\"] = 0] = \"AUXILIARY_DATA_FIELD_TYPE_INVALID\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_STRING\"] = 1] = \"AUXILIARY_DATA_FIELD_TYPE_STRING\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_INTEGER\"] = 2] = \"AUXILIARY_DATA_FIELD_TYPE_INTEGER\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_DATE\"] = 3] = \"AUXILIARY_DATA_FIELD_TYPE_DATE\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_DROPDOWN\"] = 4] = \"AUXILIARY_DATA_FIELD_TYPE_DROPDOWN\";\n AuxiliaryDataFieldType[AuxiliaryDataFieldType[\"AUXILIARY_DATA_FIELD_TYPE_CURRENCY\"] = 5] = \"AUXILIARY_DATA_FIELD_TYPE_CURRENCY\";\n return AuxiliaryDataFieldType;\n}(AuxiliaryDataFieldType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AlgorithmType = /*#__PURE__*/function (AlgorithmType) {\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_ES256\"] = 0] = \"ALGORITHM_TYPE_ES256\";\n AlgorithmType[AlgorithmType[\"ALGORITHM_TYPE_RS256\"] = 1] = \"ALGORITHM_TYPE_RS256\";\n return AlgorithmType;\n}(AlgorithmType || {});\nvar PhoneNumberType = /*#__PURE__*/function (PhoneNumberType) {\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_INVALID\"] = 0] = \"PHONE_NUMBER_TYPE_INVALID\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_WORK\"] = 1] = \"PHONE_NUMBER_TYPE_WORK\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_HOME\"] = 2] = \"PHONE_NUMBER_TYPE_HOME\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_MOBILE\"] = 3] = \"PHONE_NUMBER_TYPE_MOBILE\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_FAX\"] = 4] = \"PHONE_NUMBER_TYPE_FAX\";\n PhoneNumberType[PhoneNumberType[\"PHONE_NUMBER_TYPE_PAGER\"] = 5] = \"PHONE_NUMBER_TYPE_PAGER\";\n return PhoneNumberType;\n}(PhoneNumberType || {});\nvar RestrictionType = /*#__PURE__*/function (RestrictionType) {\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_UNSET\"] = 0] = \"RESTRICTION_TYPE_UNSET\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\"] = 1] = \"RESTRICTION_TYPE_RESET_PASSWORD_BEFORE_LOGIN\";\n RestrictionType[RestrictionType[\"RESTRICTION_TYPE_FROZEN\"] = 2] = \"RESTRICTION_TYPE_FROZEN\";\n return RestrictionType;\n}(RestrictionType || {});\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_DIRECTION_INVALID\"] = 0] = \"SORT_DIRECTION_INVALID\";\n SortDirection[SortDirection[\"SORT_DIRECTION_ASCENDING\"] = 1] = \"SORT_DIRECTION_ASCENDING\";\n SortDirection[SortDirection[\"SORT_DIRECTION_DESCENDING\"] = 2] = \"SORT_DIRECTION_DESCENDING\";\n return SortDirection;\n}(SortDirection || {});\nvar UserSortField = /*#__PURE__*/function (UserSortField) {\n UserSortField[UserSortField[\"USER_SORT_FIELD_INVALID\"] = 0] = \"USER_SORT_FIELD_INVALID\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_CREATED\"] = 1] = \"USER_SORT_FIELD_CREATED\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_FIRST_NAME\"] = 2] = \"USER_SORT_FIELD_FIRST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_NAME\"] = 3] = \"USER_SORT_FIELD_LAST_NAME\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_EMAIL\"] = 4] = \"USER_SORT_FIELD_EMAIL\";\n UserSortField[UserSortField[\"USER_SORT_FIELD_LAST_LOGIN\"] = 5] = \"USER_SORT_FIELD_LAST_LOGIN\";\n return UserSortField;\n}(UserSortField || {});\n// *********************************\n\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass IfClause {\n static fromProto(proto) {\n let m = new IfClause();\n m = Object.assign(m, proto);\n if (proto.resourceAttributeValue) {\n m.resourceAttributeValue = Attribute.fromProto(proto.resourceAttributeValue);\n }\n if (proto.thenPolicy) {\n m.thenPolicy = PolicyNode.fromProto(proto.thenPolicy);\n }\n if (proto.elsePolicy) {\n m.elsePolicy = PolicyNode.fromProto(proto.elsePolicy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n if (typeof this.resourceAttributeValue !== 'undefined' && this.resourceAttributeValue !== null) {\n toReturn['resourceAttributeValue'] = 'toApiJson' in this.resourceAttributeValue ? this.resourceAttributeValue.toApiJson() : this.resourceAttributeValue;\n }\n if (typeof this.thenPolicy !== 'undefined' && this.thenPolicy !== null) {\n toReturn['thenPolicy'] = 'toApiJson' in this.thenPolicy ? this.thenPolicy.toApiJson() : this.thenPolicy;\n }\n if (typeof this.elsePolicy !== 'undefined' && this.elsePolicy !== null) {\n toReturn['elsePolicy'] = 'toApiJson' in this.elsePolicy ? this.elsePolicy.toApiJson() : this.elsePolicy;\n }\n return toReturn;\n }\n}\nclass Operator {\n static fromProto(proto) {\n let m = new Operator();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$4(BooleanOperator, proto.operator);\n }\n if (proto.children) {\n m.children = proto.children.map(PolicyNode.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.children !== 'undefined' && this.children !== null) {\n toReturn['children'] = 'toApiJson' in this.children ? this.children.toApiJson() : this.children;\n }\n return toReturn;\n }\n}\nclass PolicyNode {\n static fromProto(proto) {\n let m = new PolicyNode();\n m = Object.assign(m, proto);\n if (proto.subjectResourceIntersection) {\n m.subjectResourceIntersection = SubjectResourceIntersectionClause.fromProto(proto.subjectResourceIntersection);\n }\n if (proto.operator) {\n m.operator = Operator.fromProto(proto.operator);\n }\n if (proto.subjectValueIntersection) {\n m.subjectValueIntersection = SubjectValueIntersectionClause.fromProto(proto.subjectValueIntersection);\n }\n if (proto.subjectMissingValue) {\n m.subjectMissingValue = SubjectMissingValueClause.fromProto(proto.subjectMissingValue);\n }\n if (proto.subjectResourceSubset) {\n m.subjectResourceSubset = SubjectResourceSubsetClause.fromProto(proto.subjectResourceSubset);\n }\n if (proto.subjectResourceFor) {\n m.subjectResourceFor = SubjectResourceForClause.fromProto(proto.subjectResourceFor);\n }\n if (proto.ifClause) {\n m.ifClause = IfClause.fromProto(proto.ifClause);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectResourceIntersection !== 'undefined' && this.subjectResourceIntersection !== null) {\n toReturn['subjectResourceIntersection'] = 'toApiJson' in this.subjectResourceIntersection ? this.subjectResourceIntersection.toApiJson() : this.subjectResourceIntersection;\n }\n if (typeof this.operator !== 'undefined' && this.operator !== null) {\n toReturn['operator'] = 'toApiJson' in this.operator ? this.operator.toApiJson() : this.operator;\n }\n if (typeof this.subjectValueIntersection !== 'undefined' && this.subjectValueIntersection !== null) {\n toReturn['subjectValueIntersection'] = 'toApiJson' in this.subjectValueIntersection ? this.subjectValueIntersection.toApiJson() : this.subjectValueIntersection;\n }\n if (typeof this.subjectMissingValue !== 'undefined' && this.subjectMissingValue !== null) {\n toReturn['subjectMissingValue'] = 'toApiJson' in this.subjectMissingValue ? this.subjectMissingValue.toApiJson() : this.subjectMissingValue;\n }\n if (typeof this.subjectResourceSubset !== 'undefined' && this.subjectResourceSubset !== null) {\n toReturn['subjectResourceSubset'] = 'toApiJson' in this.subjectResourceSubset ? this.subjectResourceSubset.toApiJson() : this.subjectResourceSubset;\n }\n if (typeof this.subjectResourceFor !== 'undefined' && this.subjectResourceFor !== null) {\n toReturn['subjectResourceFor'] = 'toApiJson' in this.subjectResourceFor ? this.subjectResourceFor.toApiJson() : this.subjectResourceFor;\n }\n if (typeof this.ifClause !== 'undefined' && this.ifClause !== null) {\n toReturn['ifClause'] = 'toApiJson' in this.ifClause ? this.ifClause.toApiJson() : this.ifClause;\n }\n return toReturn;\n }\n}\nclass SubjectMissingValueClause {\n static fromProto(proto) {\n let m = new SubjectMissingValueClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceForClause {\n static fromProto(proto) {\n let m = new SubjectResourceForClause();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$4(ForOperator, proto.operator);\n }\n if (proto.rules) {\n m.rules = PolicyNode.fromProto(proto.rules);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.rules !== 'undefined' && this.rules !== null) {\n toReturn['rules'] = 'toApiJson' in this.rules ? this.rules.toApiJson() : this.rules;\n }\n return toReturn;\n }\n}\nclass SubjectResourceIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectResourceIntersectionClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectResourceSubsetClause {\n static fromProto(proto) {\n let m = new SubjectResourceSubsetClause();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.resourceAttributeName !== 'undefined') {\n toReturn['resourceAttributeName'] = this.resourceAttributeName;\n }\n return toReturn;\n }\n}\nclass SubjectValueIntersectionClause {\n static fromProto(proto) {\n let m = new SubjectValueIntersectionClause();\n m = Object.assign(m, proto);\n if (proto.structuredAttributeValue) {\n m.structuredAttributeValue = Attribute.fromProto(proto.structuredAttributeValue);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.attributeName !== 'undefined') {\n toReturn['attributeName'] = this.attributeName;\n }\n if (typeof this.attributeValue !== 'undefined') {\n toReturn['attributeValue'] = this.attributeValue;\n }\n if (typeof this.structuredAttributeValue !== 'undefined' && this.structuredAttributeValue !== null) {\n toReturn['structuredAttributeValue'] = 'toApiJson' in this.structuredAttributeValue ? this.structuredAttributeValue.toApiJson() : this.structuredAttributeValue;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass AccessCheckFailures {\n static fromProto(proto) {\n let m = new AccessCheckFailures();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.failedKeys !== 'undefined') {\n toReturn['failedKeys'] = this.failedKeys;\n }\n return toReturn;\n }\n}\nclass AccessResourceRequest {\n static fromProto(proto) {\n let m = new AccessResourceRequest();\n m = Object.assign(m, proto);\n if (proto.resourceAttributes) {\n m.resourceAttributes = Object.keys(proto.resourceAttributes).reduce((obj, k) => {\n obj[k] = StructAttribute.fromProto(proto.resourceAttributes[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.ownerId !== 'undefined') {\n toReturn['ownerId'] = this.ownerId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.resourceAttributes !== 'undefined' && this.resourceAttributes !== null) {\n toReturn['resourceAttributes'] = 'toApiJson' in this.resourceAttributes ? this.resourceAttributes.toApiJson() : this.resourceAttributes;\n }\n return toReturn;\n }\n}\nclass AddClientKeyRequest {\n static fromProto(proto) {\n let m = new AddClientKeyRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue$3(AlgorithmType, proto.algorithmType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n return toReturn;\n }\n}\nclass AddClientKeyResponse {\n static fromProto(proto) {\n let m = new AddClientKeyResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.privateKey !== 'undefined') {\n toReturn['privateKey'] = this.privateKey;\n }\n if (typeof this.clientKeyId !== 'undefined') {\n toReturn['clientKeyId'] = this.clientKeyId;\n }\n return toReturn;\n }\n}\nclass AddMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new AddMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue$3(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass AddUserRoleRequest {\n static fromProto(proto) {\n let m = new AddUserRoleRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.attributes) {\n m.attributes = StructAttribute.fromProto(proto.attributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n return toReturn;\n }\n}\nclass Address {\n static fromProto(proto) {\n let m = new Address();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.address !== 'undefined') {\n toReturn['address'] = this.address;\n }\n if (typeof this.city !== 'undefined') {\n toReturn['city'] = this.city;\n }\n if (typeof this.postalCode !== 'undefined') {\n toReturn['postalCode'] = this.postalCode;\n }\n if (typeof this.country !== 'undefined') {\n toReturn['country'] = this.country;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.additionalAddress !== 'undefined') {\n toReturn['additionalAddress'] = this.additionalAddress;\n }\n return toReturn;\n }\n}\nclass ChangePasswordRequest {\n static fromProto(proto) {\n let m = new ChangePasswordRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.currentPassword !== 'undefined') {\n toReturn['currentPassword'] = this.currentPassword;\n }\n if (typeof this.newPassword !== 'undefined') {\n toReturn['newPassword'] = this.newPassword;\n }\n return toReturn;\n }\n}\nclass CreateExternalIDRequest {\n static fromProto(proto) {\n let m = new CreateExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n return toReturn;\n }\n}\nclass CreateSessionFailure {\n static fromProto(proto) {\n let m = new CreateSessionFailure();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.errorCode !== 'undefined') {\n toReturn['errorCode'] = this.errorCode;\n }\n return toReturn;\n }\n}\nclass CreateSessionRequest {\n static fromProto(proto) {\n let m = new CreateSessionRequest();\n m = Object.assign(m, proto);\n if (proto.oauthCredentials) {\n m.oauthCredentials = OAuthCredentials.fromProto(proto.oauthCredentials);\n }\n if (proto.passwordCredentials) {\n m.passwordCredentials = PasswordCredentials.fromProto(proto.passwordCredentials);\n }\n if (proto.oneTimePasswordCredentials) {\n m.oneTimePasswordCredentials = OneTimePasswordCredentials.fromProto(proto.oneTimePasswordCredentials);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.oauthCredentials !== 'undefined' && this.oauthCredentials !== null) {\n toReturn['oauthCredentials'] = 'toApiJson' in this.oauthCredentials ? this.oauthCredentials.toApiJson() : this.oauthCredentials;\n }\n if (typeof this.passwordCredentials !== 'undefined' && this.passwordCredentials !== null) {\n toReturn['passwordCredentials'] = 'toApiJson' in this.passwordCredentials ? this.passwordCredentials.toApiJson() : this.passwordCredentials;\n }\n if (typeof this.oneTimePasswordCredentials !== 'undefined' && this.oneTimePasswordCredentials !== null) {\n toReturn['oneTimePasswordCredentials'] = 'toApiJson' in this.oneTimePasswordCredentials ? this.oneTimePasswordCredentials.toApiJson() : this.oneTimePasswordCredentials;\n }\n return toReturn;\n }\n}\nclass CreateSessionResponse {\n static fromProto(proto) {\n let m = new CreateSessionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.session !== 'undefined') {\n toReturn['session'] = this.session;\n }\n return toReturn;\n }\n}\nclass CreateUserRequest {\n static fromProto(proto) {\n let m = new CreateUserRequest();\n m = Object.assign(m, proto);\n if (proto.user) {\n m.user = User.fromProto(proto.user);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.user !== 'undefined' && this.user !== null) {\n toReturn['user'] = 'toApiJson' in this.user ? this.user.toApiJson() : this.user;\n }\n return toReturn;\n }\n}\nclass CreateUserResponse {\n static fromProto(proto) {\n let m = new CreateUserResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass DeletePolicyRequest {\n static fromProto(proto) {\n let m = new DeletePolicyRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.policyId !== 'undefined') {\n toReturn['policyId'] = this.policyId;\n }\n return toReturn;\n }\n}\nclass DeleteUserRequest {\n static fromProto(proto) {\n let m = new DeleteUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass ExchangeClientKeyAssertionRequest {\n static fromProto(proto) {\n let m = new ExchangeClientKeyAssertionRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.assertion !== 'undefined') {\n toReturn['assertion'] = this.assertion;\n }\n return toReturn;\n }\n}\nclass ExchangeClientKeyAssertionResponse {\n static fromProto(proto) {\n let m = new ExchangeClientKeyAssertionResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequestFilters {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDRequest {\n static fromProto(proto) {\n let m = new GetMultiExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n return toReturn;\n }\n}\nclass GetMultiExternalIDResponse {\n static fromProto(proto) {\n let m = new GetMultiExternalIDResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIds !== 'undefined') {\n toReturn['externalIds'] = this.externalIds;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersRequest {\n static fromProto(proto) {\n let m = new GetMultiUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.propertyMask) {\n m.propertyMask = UserPropertyMask.fromProto(proto.propertyMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.propertyMask !== 'undefined' && this.propertyMask !== null) {\n toReturn['propertyMask'] = 'toApiJson' in this.propertyMask ? this.propertyMask.toApiJson() : this.propertyMask;\n }\n return toReturn;\n }\n}\nclass GetMultiUsersResponse {\n static fromProto(proto) {\n let m = new GetMultiUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n return toReturn;\n }\n}\nclass GetResetPasswordTokenRequest {\n static fromProto(proto) {\n let m = new GetResetPasswordTokenRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n return toReturn;\n }\n}\nclass GetResetPasswordTokenResponse {\n static fromProto(proto) {\n let m = new GetResetPasswordTokenResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resetPasswordToken !== 'undefined') {\n toReturn['resetPasswordToken'] = this.resetPasswordToken;\n }\n return toReturn;\n }\n}\nclass GetTokenForUserRequest {\n static fromProto(proto) {\n let m = new GetTokenForUserRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.refreshToken !== 'undefined') {\n toReturn['refreshToken'] = this.refreshToken;\n }\n if (typeof this.clientAssertion !== 'undefined') {\n toReturn['clientAssertion'] = this.clientAssertion;\n }\n if (typeof this.federatedIdentityProvider !== 'undefined') {\n toReturn['federatedIdentityProvider'] = this.federatedIdentityProvider;\n }\n if (typeof this.scopes !== 'undefined') {\n toReturn['scopes'] = this.scopes;\n }\n if (typeof this.clientId !== 'undefined') {\n toReturn['clientId'] = this.clientId;\n }\n if (typeof this.nonce !== 'undefined') {\n toReturn['nonce'] = this.nonce;\n }\n if (typeof this.impersonateeUserId !== 'undefined') {\n toReturn['impersonateeUserId'] = this.impersonateeUserId;\n }\n if (typeof this.serviceProviderId !== 'undefined') {\n toReturn['serviceProviderId'] = this.serviceProviderId;\n }\n if (typeof this.legacyUserId !== 'undefined') {\n toReturn['legacyUserId'] = this.legacyUserId;\n }\n return toReturn;\n }\n}\nclass GetTokenForUserResponse {\n static fromProto(proto) {\n let m = new GetTokenForUserResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identityToken !== 'undefined') {\n toReturn['identityToken'] = this.identityToken;\n }\n if (typeof this.accessToken !== 'undefined') {\n toReturn['accessToken'] = this.accessToken;\n }\n if (typeof this.refreshToken !== 'undefined') {\n toReturn['refreshToken'] = this.refreshToken;\n }\n if (typeof this.oidcIdentityToken !== 'undefined') {\n toReturn['oidcIdentityToken'] = this.oidcIdentityToken;\n }\n return toReturn;\n }\n}\nclass LinkedIn {\n static fromProto(proto) {\n let m = new LinkedIn();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.publicProfileId !== 'undefined') {\n toReturn['publicProfileId'] = this.publicProfileId;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsRequest {\n static fromProto(proto) {\n let m = new ListSecurityLogsRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.filters) {\n m.filters = ListSecurityLogsRequestFilters.fromProto(proto.filters);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListSecurityLogsResponse {\n static fromProto(proto) {\n let m = new ListSecurityLogsResponse();\n m = Object.assign(m, proto);\n if (proto.logs) {\n m.logs = proto.logs.map(SecurityLog.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.logs !== 'undefined' && this.logs !== null) {\n toReturn['logs'] = 'toApiJson' in this.logs ? this.logs.toApiJson() : this.logs;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListUserRolesMetadataRequest {\n static fromProto(proto) {\n let m = new ListUserRolesMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ListUserRolesMetadataResponse {\n static fromProto(proto) {\n let m = new ListUserRolesMetadataResponse();\n m = Object.assign(m, proto);\n if (proto.userRoleMetadatas) {\n m.userRoleMetadatas = proto.userRoleMetadatas.map(UserRoleMetadata.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userRoleMetadatas !== 'undefined' && this.userRoleMetadatas !== null) {\n toReturn['userRoleMetadatas'] = 'toApiJson' in this.userRoleMetadatas ? this.userRoleMetadatas.toApiJson() : this.userRoleMetadatas;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListUsersRequest {\n static fromProto(proto) {\n let m = new ListUsersRequest();\n m = Object.assign(m, proto);\n if (proto.userFilter) {\n m.userFilter = UserFilter.fromProto(proto.userFilter);\n }\n if (proto.propertyMask) {\n m.propertyMask = UserPropertyMask.fromProto(proto.propertyMask);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n if (proto.sortOptions) {\n m.sortOptions = proto.sortOptions.map(UserSortOptions.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.userFilter !== 'undefined' && this.userFilter !== null) {\n toReturn['userFilter'] = 'toApiJson' in this.userFilter ? this.userFilter.toApiJson() : this.userFilter;\n }\n if (typeof this.propertyMask !== 'undefined' && this.propertyMask !== null) {\n toReturn['propertyMask'] = 'toApiJson' in this.propertyMask ? this.propertyMask.toApiJson() : this.propertyMask;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {\n toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? this.sortOptions.toApiJson() : this.sortOptions;\n }\n return toReturn;\n }\n}\nclass ListUsersResponse {\n static fromProto(proto) {\n let m = new ListUsersResponse();\n m = Object.assign(m, proto);\n if (proto.users) {\n m.users = proto.users.map(User.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.users !== 'undefined' && this.users !== null) {\n toReturn['users'] = 'toApiJson' in this.users ? this.users.toApiJson() : this.users;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass NamespacedEmail {\n static fromProto(proto) {\n let m = new NamespacedEmail();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.namespace !== 'undefined') {\n toReturn['namespace'] = this.namespace;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass OAuthCredentials {\n static fromProto(proto) {\n let m = new OAuthCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.provider !== 'undefined') {\n toReturn['provider'] = this.provider;\n }\n if (typeof this.idToken !== 'undefined') {\n toReturn['idToken'] = this.idToken;\n }\n if (typeof this.accessToken !== 'undefined') {\n toReturn['accessToken'] = this.accessToken;\n }\n return toReturn;\n }\n}\nclass OneTimePasswordCredentials {\n static fromProto(proto) {\n let m = new OneTimePasswordCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.oneTimePassword !== 'undefined') {\n toReturn['oneTimePassword'] = this.oneTimePassword;\n }\n return toReturn;\n }\n}\nclass UpdateUserRoleRequestOperation {\n static fromProto(proto) {\n let m = new UpdateUserRoleRequestOperation();\n m = Object.assign(m, proto);\n if (proto.replaceAttributes) {\n m.replaceAttributes = StructAttribute.fromProto(proto.replaceAttributes);\n }\n if (proto.addAttributes) {\n m.addAttributes = StructAttribute.fromProto(proto.addAttributes);\n }\n if (proto.removeAttributes) {\n m.removeAttributes = StructAttribute.fromProto(proto.removeAttributes);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dropAttributeKey !== 'undefined') {\n toReturn['dropAttributeKey'] = this.dropAttributeKey;\n }\n if (typeof this.replaceAttributes !== 'undefined' && this.replaceAttributes !== null) {\n toReturn['replaceAttributes'] = 'toApiJson' in this.replaceAttributes ? this.replaceAttributes.toApiJson() : this.replaceAttributes;\n }\n if (typeof this.addAttributes !== 'undefined' && this.addAttributes !== null) {\n toReturn['addAttributes'] = 'toApiJson' in this.addAttributes ? this.addAttributes.toApiJson() : this.addAttributes;\n }\n if (typeof this.removeAttributes !== 'undefined' && this.removeAttributes !== null) {\n toReturn['removeAttributes'] = 'toApiJson' in this.removeAttributes ? this.removeAttributes.toApiJson() : this.removeAttributes;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequestOperation {\n static fromProto(proto) {\n let m = new UpdateUserRequestOperation();\n m = Object.assign(m, proto);\n if (proto.phoneNumbers) {\n m.phoneNumbers = UpdateUserRequestPhoneNumbers.fromProto(proto.phoneNumbers);\n }\n if (proto.address) {\n m.address = Address.fromProto(proto.address);\n }\n if (proto.linkedIn) {\n m.linkedIn = LinkedIn.fromProto(proto.linkedIn);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.phoneNumbers !== 'undefined' && this.phoneNumbers !== null) {\n toReturn['phoneNumbers'] = 'toApiJson' in this.phoneNumbers ? this.phoneNumbers.toApiJson() : this.phoneNumbers;\n }\n if (typeof this.address !== 'undefined' && this.address !== null) {\n toReturn['address'] = 'toApiJson' in this.address ? this.address.toApiJson() : this.address;\n }\n if (typeof this.profileImageUrl !== 'undefined') {\n toReturn['profileImageUrl'] = this.profileImageUrl;\n }\n if (typeof this.timeZone !== 'undefined') {\n toReturn['timeZone'] = this.timeZone;\n }\n if (typeof this.linkedIn !== 'undefined' && this.linkedIn !== null) {\n toReturn['linkedIn'] = 'toApiJson' in this.linkedIn ? this.linkedIn.toApiJson() : this.linkedIn;\n }\n if (typeof this.meetingBookingUrl !== 'undefined') {\n toReturn['meetingBookingUrl'] = this.meetingBookingUrl;\n }\n return toReturn;\n }\n}\nclass PasswordCredentials {\n static fromProto(proto) {\n let m = new PasswordCredentials();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.password !== 'undefined') {\n toReturn['password'] = this.password;\n }\n return toReturn;\n }\n}\nclass PhoneNumber {\n static fromProto(proto) {\n let m = new PhoneNumber();\n m = Object.assign(m, proto);\n if (proto.phoneNumberType) {\n m.phoneNumberType = enumStringToValue$3(PhoneNumberType, proto.phoneNumberType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.phoneNumberType !== 'undefined') {\n toReturn['phoneNumberType'] = this.phoneNumberType;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequestPhoneNumbers {\n static fromProto(proto) {\n let m = new UpdateUserRequestPhoneNumbers();\n m = Object.assign(m, proto);\n if (proto.phoneNumbers) {\n m.phoneNumbers = proto.phoneNumbers.map(PhoneNumber.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.phoneNumbers !== 'undefined' && this.phoneNumbers !== null) {\n toReturn['phoneNumbers'] = 'toApiJson' in this.phoneNumbers ? this.phoneNumbers.toApiJson() : this.phoneNumbers;\n }\n return toReturn;\n }\n}\nclass ReplaceResourceRequestPoliciesEntry {\n static fromProto(proto) {\n let m = new ReplaceResourceRequestPoliciesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = PolicyNode.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass Policy {\n static fromProto(proto) {\n let m = new Policy();\n m = Object.assign(m, proto);\n if (proto.policy) {\n m.policy = PolicyNode.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.policyId !== 'undefined') {\n toReturn['policyId'] = this.policyId;\n }\n if (typeof this.policyName !== 'undefined') {\n toReturn['policyName'] = this.policyName;\n }\n if (typeof this.actions !== 'undefined') {\n toReturn['actions'] = this.actions;\n }\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass PublicKey {\n static fromProto(proto) {\n let m = new PublicKey();\n m = Object.assign(m, proto);\n if (proto.algorithmType) {\n m.algorithmType = enumStringToValue$3(AlgorithmType, proto.algorithmType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.algorithmType !== 'undefined') {\n toReturn['algorithmType'] = this.algorithmType;\n }\n return toReturn;\n }\n}\nclass RegisterPolicyRequest {\n static fromProto(proto) {\n let m = new RegisterPolicyRequest();\n m = Object.assign(m, proto);\n if (proto.policy) {\n m.policy = Policy.fromProto(proto.policy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.policy !== 'undefined' && this.policy !== null) {\n toReturn['policy'] = 'toApiJson' in this.policy ? this.policy.toApiJson() : this.policy;\n }\n return toReturn;\n }\n}\nclass RegisterResourceOwnerRequest {\n static fromProto(proto) {\n let m = new RegisterResourceOwnerRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.appName !== 'undefined') {\n toReturn['appName'] = this.appName;\n }\n return toReturn;\n }\n}\nclass RegisterResourceRequest {\n static fromProto(proto) {\n let m = new RegisterResourceRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appId !== 'undefined') {\n toReturn['appId'] = this.appId;\n }\n if (typeof this.resourceId !== 'undefined') {\n toReturn['resourceId'] = this.resourceId;\n }\n if (typeof this.resourceName !== 'undefined') {\n toReturn['resourceName'] = this.resourceName;\n }\n return toReturn;\n }\n}\nclass RegisterUserRoleMetadataRequest {\n static fromProto(proto) {\n let m = new RegisterUserRoleMetadataRequest();\n m = Object.assign(m, proto);\n if (proto.userRoleMetadata) {\n m.userRoleMetadata = UserRoleMetadata.fromProto(proto.userRoleMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userRoleMetadata !== 'undefined' && this.userRoleMetadata !== null) {\n toReturn['userRoleMetadata'] = 'toApiJson' in this.userRoleMetadata ? this.userRoleMetadata.toApiJson() : this.userRoleMetadata;\n }\n return toReturn;\n }\n}\nclass RemoveClientKeyRequest {\n static fromProto(proto) {\n let m = new RemoveClientKeyRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.clientKeyId !== 'undefined') {\n toReturn['clientKeyId'] = this.clientKeyId;\n }\n return toReturn;\n }\n}\nclass RemoveMultiUserRestrictionRequest {\n static fromProto(proto) {\n let m = new RemoveMultiUserRestrictionRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifiers) {\n m.userIdentifiers = proto.userIdentifiers.map(UserIdentifier.fromProto);\n }\n if (proto.restrictionType) {\n m.restrictionType = enumStringToValue$3(RestrictionType, proto.restrictionType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifiers !== 'undefined' && this.userIdentifiers !== null) {\n toReturn['userIdentifiers'] = 'toApiJson' in this.userIdentifiers ? this.userIdentifiers.toApiJson() : this.userIdentifiers;\n }\n if (typeof this.restrictionType !== 'undefined') {\n toReturn['restrictionType'] = this.restrictionType;\n }\n return toReturn;\n }\n}\nclass RemoveUserRoleRequest {\n static fromProto(proto) {\n let m = new RemoveUserRoleRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n return toReturn;\n }\n}\nclass ReplaceResourceRequest {\n static fromProto(proto) {\n let m = new ReplaceResourceRequest();\n m = Object.assign(m, proto);\n if (proto.policies) {\n m.policies = Object.keys(proto.policies).reduce((obj, k) => {\n obj[k] = PolicyNode.fromProto(proto.policies[k]);\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.ownerId !== 'undefined') {\n toReturn['ownerId'] = this.ownerId;\n }\n if (typeof this.resourceKind !== 'undefined') {\n toReturn['resourceKind'] = this.resourceKind;\n }\n if (typeof this.resourceDescription !== 'undefined') {\n toReturn['resourceDescription'] = this.resourceDescription;\n }\n if (typeof this.policies !== 'undefined' && this.policies !== null) {\n toReturn['policies'] = 'toApiJson' in this.policies ? this.policies.toApiJson() : this.policies;\n }\n return toReturn;\n }\n}\nclass ResetPasswordRequest {\n static fromProto(proto) {\n let m = new ResetPasswordRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resetPasswordToken !== 'undefined') {\n toReturn['resetPasswordToken'] = this.resetPasswordToken;\n }\n if (typeof this.newPassword !== 'undefined') {\n toReturn['newPassword'] = this.newPassword;\n }\n return toReturn;\n }\n}\nclass AccessResourceRequestResourceAttributesEntry {\n static fromProto(proto) {\n let m = new AccessResourceRequestResourceAttributesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = StructAttribute.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass UserRolesEntry {\n static fromProto(proto) {\n let m = new UserRolesEntry();\n m = Object.assign(m, proto);\n if (proto.value) {\n m.value = UserRole.fromProto(proto.value);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n return toReturn;\n }\n}\nclass SecurityLog {\n static fromProto(proto) {\n let m = new SecurityLog();\n m = Object.assign(m, proto);\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.actionId !== 'undefined') {\n toReturn['actionId'] = this.actionId;\n }\n if (typeof this.logId !== 'undefined') {\n toReturn['logId'] = this.logId;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n return toReturn;\n }\n}\nclass SendEmailVerificationRequest {\n static fromProto(proto) {\n let m = new SendEmailVerificationRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.nextUrl !== 'undefined') {\n toReturn['nextUrl'] = this.nextUrl;\n }\n if (typeof this.nextUrlButtonText !== 'undefined') {\n toReturn['nextUrlButtonText'] = this.nextUrlButtonText;\n }\n if (typeof this.forceEmailBrandingPartnerId !== 'undefined') {\n toReturn['forceEmailBrandingPartnerId'] = this.forceEmailBrandingPartnerId;\n }\n if (typeof this.recaptchaToken !== 'undefined') {\n toReturn['recaptchaToken'] = this.recaptchaToken;\n }\n return toReturn;\n }\n}\nclass TypedExternalIdentifier {\n static fromProto(proto) {\n let m = new TypedExternalIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.externalIdType !== 'undefined') {\n toReturn['externalIdType'] = this.externalIdType;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n return toReturn;\n }\n}\nclass UpdateUserRequest {\n static fromProto(proto) {\n let m = new UpdateUserRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.operations) {\n m.operations = proto.operations.map(UpdateUserRequestOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.operations !== 'undefined' && this.operations !== null) {\n toReturn['operations'] = 'toApiJson' in this.operations ? this.operations.toApiJson() : this.operations;\n }\n return toReturn;\n }\n}\nclass UpdateUserRoleRequest {\n static fromProto(proto) {\n let m = new UpdateUserRoleRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.operations) {\n m.operations = proto.operations.map(UpdateUserRoleRequestOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.operations !== 'undefined' && this.operations !== null) {\n toReturn['operations'] = 'toApiJson' in this.operations ? this.operations.toApiJson() : this.operations;\n }\n return toReturn;\n }\n}\nclass UpsertExternalIDRequest {\n static fromProto(proto) {\n let m = new UpsertExternalIDRequest();\n m = Object.assign(m, proto);\n if (proto.userIdentifier) {\n m.userIdentifier = UserIdentifier.fromProto(proto.userIdentifier);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userIdentifier !== 'undefined' && this.userIdentifier !== null) {\n toReturn['userIdentifier'] = 'toApiJson' in this.userIdentifier ? this.userIdentifier.toApiJson() : this.userIdentifier;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n return toReturn;\n }\n}\nclass UpsertPartnerLimitsRequest {\n static fromProto(proto) {\n let m = new UpsertPartnerLimitsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.limitsId !== 'undefined') {\n toReturn['limitsId'] = this.limitsId;\n }\n return toReturn;\n }\n}\nclass User {\n static fromProto(proto) {\n let m = new User();\n m = Object.assign(m, proto);\n if (proto.roles) {\n m.roles = Object.keys(proto.roles).reduce((obj, k) => {\n obj[k] = UserRole.fromProto(proto.roles[k]);\n return obj;\n }, {});\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.publicKeys) {\n m.publicKeys = proto.publicKeys.map(PublicKey.fromProto);\n }\n if (proto.lastLogin) {\n m.lastLogin = new Date(proto.lastLogin);\n }\n if (proto.phoneNumbers) {\n m.phoneNumbers = proto.phoneNumbers.map(PhoneNumber.fromProto);\n }\n if (proto.address) {\n m.address = Address.fromProto(proto.address);\n }\n if (proto.linkedIn) {\n m.linkedIn = LinkedIn.fromProto(proto.linkedIn);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.roles !== 'undefined' && this.roles !== null) {\n toReturn['roles'] = 'toApiJson' in this.roles ? this.roles.toApiJson() : this.roles;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.firstName !== 'undefined') {\n toReturn['firstName'] = this.firstName;\n }\n if (typeof this.greetingName !== 'undefined') {\n toReturn['greetingName'] = this.greetingName;\n }\n if (typeof this.lastName !== 'undefined') {\n toReturn['lastName'] = this.lastName;\n }\n if (typeof this.languageCode !== 'undefined') {\n toReturn['languageCode'] = this.languageCode;\n }\n if (typeof this.publicKeys !== 'undefined' && this.publicKeys !== null) {\n toReturn['publicKeys'] = 'toApiJson' in this.publicKeys ? this.publicKeys.toApiJson() : this.publicKeys;\n }\n if (typeof this.lastLogin !== 'undefined' && this.lastLogin !== null) {\n toReturn['lastLogin'] = 'toApiJson' in this.lastLogin ? this.lastLogin.toApiJson() : this.lastLogin;\n }\n if (typeof this.emailVerified !== 'undefined') {\n toReturn['emailVerified'] = this.emailVerified;\n }\n if (typeof this.phoneNumbers !== 'undefined' && this.phoneNumbers !== null) {\n toReturn['phoneNumbers'] = 'toApiJson' in this.phoneNumbers ? this.phoneNumbers.toApiJson() : this.phoneNumbers;\n }\n if (typeof this.address !== 'undefined' && this.address !== null) {\n toReturn['address'] = 'toApiJson' in this.address ? this.address.toApiJson() : this.address;\n }\n if (typeof this.profileImageUrl !== 'undefined') {\n toReturn['profileImageUrl'] = this.profileImageUrl;\n }\n if (typeof this.timeZone !== 'undefined') {\n toReturn['timeZone'] = this.timeZone;\n }\n if (typeof this.userSpecifiedPassword !== 'undefined') {\n toReturn['userSpecifiedPassword'] = this.userSpecifiedPassword;\n }\n if (typeof this.linkedIn !== 'undefined' && this.linkedIn !== null) {\n toReturn['linkedIn'] = 'toApiJson' in this.linkedIn ? this.linkedIn.toApiJson() : this.linkedIn;\n }\n if (typeof this.meetingBookingUrl !== 'undefined') {\n toReturn['meetingBookingUrl'] = this.meetingBookingUrl;\n }\n return toReturn;\n }\n}\nclass UserFilter {\n static fromProto(proto) {\n let m = new UserFilter();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleIds !== 'undefined') {\n toReturn['roleIds'] = this.roleIds;\n }\n if (typeof this.searchTerms !== 'undefined') {\n toReturn['searchTerms'] = this.searchTerms;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass UserIdentifier {\n static fromProto(proto) {\n let m = new UserIdentifier();\n m = Object.assign(m, proto);\n if (proto.namespacedEmail) {\n m.namespacedEmail = NamespacedEmail.fromProto(proto.namespacedEmail);\n }\n if (proto.typedExternalIdentifier) {\n m.typedExternalIdentifier = TypedExternalIdentifier.fromProto(proto.typedExternalIdentifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.namespacedEmail !== 'undefined' && this.namespacedEmail !== null) {\n toReturn['namespacedEmail'] = 'toApiJson' in this.namespacedEmail ? this.namespacedEmail.toApiJson() : this.namespacedEmail;\n }\n if (typeof this.typedExternalIdentifier !== 'undefined' && this.typedExternalIdentifier !== null) {\n toReturn['typedExternalIdentifier'] = 'toApiJson' in this.typedExternalIdentifier ? this.typedExternalIdentifier.toApiJson() : this.typedExternalIdentifier;\n }\n if (typeof this.subjectId !== 'undefined') {\n toReturn['subjectId'] = this.subjectId;\n }\n return toReturn;\n }\n}\nclass UserPropertyMask {\n static fromProto(proto) {\n let m = new UserPropertyMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.includeRoles !== 'undefined') {\n toReturn['includeRoles'] = this.includeRoles;\n }\n return toReturn;\n }\n}\nclass UserRole {\n static fromProto(proto) {\n let m = new UserRole();\n m = Object.assign(m, proto);\n if (proto.attributes) {\n m.attributes = StructAttribute.fromProto(proto.attributes);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.attributes !== 'undefined' && this.attributes !== null) {\n toReturn['attributes'] = 'toApiJson' in this.attributes ? this.attributes.toApiJson() : this.attributes;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nclass UserRoleMetadata {\n static fromProto(proto) {\n let m = new UserRoleMetadata();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.roleId !== 'undefined') {\n toReturn['roleId'] = this.roleId;\n }\n if (typeof this.ownerUserId !== 'undefined') {\n toReturn['ownerUserId'] = this.ownerUserId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.description !== 'undefined') {\n toReturn['description'] = this.description;\n }\n return toReturn;\n }\n}\nclass UserSortOptions {\n static fromProto(proto) {\n let m = new UserSortOptions();\n m = Object.assign(m, proto);\n if (proto.direction) {\n m.direction = enumStringToValue$3(SortDirection, proto.direction);\n }\n if (proto.field) {\n m.field = enumStringToValue$3(UserSortField, proto.field);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n return toReturn;\n }\n}\nclass VerifyEmailRequest {\n static fromProto(proto) {\n let m = new VerifyEmailRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.token !== 'undefined') {\n toReturn['token'] = this.token;\n }\n if (typeof this.requestOtpCode !== 'undefined') {\n toReturn['requestOtpCode'] = this.requestOtpCode;\n }\n return toReturn;\n }\n}\nclass VerifyEmailResponse {\n static fromProto(proto) {\n let m = new VerifyEmailResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.otpCode !== 'undefined') {\n toReturn['otpCode'] = this.otpCode;\n }\n return toReturn;\n }\n}\nfunction userIdUserIdentifier(userId) {\n return new UserIdentifier({\n userId: userId\n });\n}\nfunction tokenUserIdentifier(token) {\n return new UserIdentifier({\n token: token\n });\n}\nfunction namespacedEmailUserIdentifier(namespace, email) {\n return new UserIdentifier({\n namespacedEmail: new NamespacedEmail({\n namespace: namespace,\n email: email\n })\n });\n}\nfunction typedExternalUserIdentifier(externalIdType, externalId) {\n return new UserIdentifier({\n typedExternalIdentifier: new TypedExternalIdentifier({\n externalIdType: externalIdType,\n externalId: externalId\n })\n });\n}\nfunction subjectIdUserIdentifier(subjectId) {\n return new UserIdentifier({\n subjectId: subjectId\n });\n}\n\n// SetFirstName .\nfunction SetFirstName(firstName) {\n return new UpdateUserRequestOperation({\n firstName: firstName\n });\n}\n// SetGreetingName .\nfunction SetGreetingName(greetingName) {\n return new UpdateUserRequestOperation({\n greetingName: greetingName\n });\n}\n// SetLastName .\nfunction SetLastName(lastName) {\n return new UpdateUserRequestOperation({\n lastName: lastName\n });\n}\n// SetLanguageCode .\nfunction SetLanguageCode(languageCode) {\n return new UpdateUserRequestOperation({\n languageCode: languageCode\n });\n}\n// SetEmail .\nfunction SetEmail(email) {\n return new UpdateUserRequestOperation({\n email: email\n });\n}\n// SetPhoneNumbers .\nfunction SetPhoneNumbers(phoneNumbers) {\n return new UpdateUserRequestOperation({\n phoneNumbers: new UpdateUserRequestPhoneNumbers({\n phoneNumbers: phoneNumbers\n })\n });\n}\n// SetAddress .\nfunction SetAddress(address) {\n return new UpdateUserRequestOperation({\n address: new Address(address)\n });\n}\n// SetProfileImageUrl .\nfunction SetProfileImageUrl(profileImageUrl) {\n return new UpdateUserRequestOperation({\n profileImageUrl: profileImageUrl\n });\n}\n// SetTimeZone .\nfunction SetTimeZone(timeZone) {\n return new UpdateUserRequestOperation({\n timeZone: timeZone\n });\n}\n// SetLinkedIn .\nfunction SetLinkedIn(linkedIn) {\n return new UpdateUserRequestOperation({\n linkedIn: new LinkedIn(linkedIn)\n });\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass ArchiveAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new ArchiveAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined' && this.identifier !== null) {\n toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;\n }\n return toReturn;\n }\n}\nclass AuxiliaryDataFieldSchema {\n static fromProto(proto) {\n let m = new AuxiliaryDataFieldSchema();\n m = Object.assign(m, proto);\n if (proto.fieldType) {\n m.fieldType = enumStringToValue(AuxiliaryDataFieldType, proto.fieldType);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n if (proto.dropdownOptions) {\n m.dropdownOptions = proto.dropdownOptions.map(DropdownOption.fromProto);\n }\n if (proto.archived) {\n m.archived = new Date(proto.archived);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.fieldId !== 'undefined') {\n toReturn['fieldId'] = this.fieldId;\n }\n if (typeof this.fieldType !== 'undefined') {\n toReturn['fieldType'] = this.fieldType;\n }\n if (typeof this.fieldName !== 'undefined') {\n toReturn['fieldName'] = this.fieldName;\n }\n if (typeof this.fieldDescription !== 'undefined') {\n toReturn['fieldDescription'] = this.fieldDescription;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n if (typeof this.dropdownOptions !== 'undefined' && this.dropdownOptions !== null) {\n toReturn['dropdownOptions'] = 'toApiJson' in this.dropdownOptions ? this.dropdownOptions.toApiJson() : this.dropdownOptions;\n }\n if (typeof this.currencyCode !== 'undefined') {\n toReturn['currencyCode'] = this.currencyCode;\n }\n if (typeof this.archived !== 'undefined' && this.archived !== null) {\n toReturn['archived'] = 'toApiJson' in this.archived ? this.archived.toApiJson() : this.archived;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n return toReturn;\n }\n}\nclass AuxiliaryDataObjectID {\n static fromProto(proto) {\n let m = new AuxiliaryDataObjectID();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.objectId !== 'undefined') {\n toReturn['objectId'] = this.objectId;\n }\n return toReturn;\n }\n}\nclass CreateAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new CreateAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.fieldSchema) {\n m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {\n toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? this.fieldSchema.toApiJson() : this.fieldSchema;\n }\n return toReturn;\n }\n}\nclass DropdownOption {\n static fromProto(proto) {\n let m = new DropdownOption();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.label !== 'undefined') {\n toReturn['label'] = this.label;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass FieldDataUpsertOperation {\n static fromProto(proto) {\n let m = new FieldDataUpsertOperation();\n m = Object.assign(m, proto);\n if (proto.integer) {\n m.integer = parseInt(proto.integer, 10);\n }\n if (proto.date) {\n m.date = new Date(proto.date);\n }\n if (proto.currencyValue) {\n m.currencyValue = parseInt(proto.currencyValue, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldDataId !== 'undefined') {\n toReturn['fieldDataId'] = this.fieldDataId;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n if (typeof this.integer !== 'undefined') {\n toReturn['integer'] = this.integer;\n }\n if (typeof this.string !== 'undefined') {\n toReturn['string'] = this.string;\n }\n if (typeof this.date !== 'undefined' && this.date !== null) {\n toReturn['date'] = 'toApiJson' in this.date ? this.date.toApiJson() : this.date;\n }\n if (typeof this.dropdownValue !== 'undefined') {\n toReturn['dropdownValue'] = this.dropdownValue;\n }\n if (typeof this.currencyValue !== 'undefined') {\n toReturn['currencyValue'] = this.currencyValue;\n }\n if (typeof this.deleteValue !== 'undefined') {\n toReturn['deleteValue'] = this.deleteValue;\n }\n return toReturn;\n }\n}\nclass FieldSchemaIdentifier {\n static fromProto(proto) {\n let m = new FieldSchemaIdentifier();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldId !== 'undefined') {\n toReturn['fieldId'] = this.fieldId;\n }\n if (typeof this.externalId !== 'undefined') {\n toReturn['externalId'] = this.externalId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataFieldSchemaRequestFilters {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataFieldSchemaRequestFilters();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.onlyArchived !== 'undefined') {\n toReturn['onlyArchived'] = this.onlyArchived;\n }\n return toReturn;\n }\n}\nclass GetAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new GetAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined' && this.identifier !== null) {\n toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;\n }\n return toReturn;\n }\n}\nclass GetAuxiliaryDataFieldSchemaResponse {\n static fromProto(proto) {\n let m = new GetAuxiliaryDataFieldSchemaResponse();\n m = Object.assign(m, proto);\n if (proto.fieldSchema) {\n m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {\n toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? this.fieldSchema.toApiJson() : this.fieldSchema;\n }\n return toReturn;\n }\n}\nclass GetMultiAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new GetMultiAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifiers) {\n m.identifiers = proto.identifiers.map(FieldSchemaIdentifier.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifiers !== 'undefined' && this.identifiers !== null) {\n toReturn['identifiers'] = 'toApiJson' in this.identifiers ? this.identifiers.toApiJson() : this.identifiers;\n }\n return toReturn;\n }\n}\nclass GetMultiAuxiliaryDataFieldSchemaResponse {\n static fromProto(proto) {\n let m = new GetMultiAuxiliaryDataFieldSchemaResponse();\n m = Object.assign(m, proto);\n if (proto.fieldSchemas) {\n m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {\n toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? this.fieldSchemas.toApiJson() : this.fieldSchemas;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n if (proto.filters) {\n m.filters = ListAuxiliaryDataFieldSchemaRequestFilters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataFieldSchemaResponse {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataFieldSchemaResponse();\n m = Object.assign(m, proto);\n if (proto.fieldSchemas) {\n m.fieldSchemas = proto.fieldSchemas.map(AuxiliaryDataFieldSchema.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchemas !== 'undefined' && this.fieldSchemas !== null) {\n toReturn['fieldSchemas'] = 'toApiJson' in this.fieldSchemas ? this.fieldSchemas.toApiJson() : this.fieldSchemas;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataRequest {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataRequest();\n m = Object.assign(m, proto);\n if (proto.auxiliaryDataObjectId) {\n m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {\n toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? this.auxiliaryDataObjectId.toApiJson() : this.auxiliaryDataObjectId;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListAuxiliaryDataResponse {\n static fromProto(proto) {\n let m = new ListAuxiliaryDataResponse();\n m = Object.assign(m, proto);\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.jsonSchema !== 'undefined') {\n toReturn['jsonSchema'] = this.jsonSchema;\n }\n if (typeof this.jsonData !== 'undefined') {\n toReturn['jsonData'] = this.jsonData;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass UnarchiveAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new UnarchiveAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.identifier) {\n m.identifier = FieldSchemaIdentifier.fromProto(proto.identifier);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.identifier !== 'undefined' && this.identifier !== null) {\n toReturn['identifier'] = 'toApiJson' in this.identifier ? this.identifier.toApiJson() : this.identifier;\n }\n return toReturn;\n }\n}\nclass UpdateAuxiliaryDataFieldSchemaRequest {\n static fromProto(proto) {\n let m = new UpdateAuxiliaryDataFieldSchemaRequest();\n m = Object.assign(m, proto);\n if (proto.fieldSchema) {\n m.fieldSchema = AuxiliaryDataFieldSchema.fromProto(proto.fieldSchema);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldSchema !== 'undefined' && this.fieldSchema !== null) {\n toReturn['fieldSchema'] = 'toApiJson' in this.fieldSchema ? this.fieldSchema.toApiJson() : this.fieldSchema;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpsertAuxiliaryDataRequest {\n static fromProto(proto) {\n let m = new UpsertAuxiliaryDataRequest();\n m = Object.assign(m, proto);\n if (proto.auxiliaryDataObjectId) {\n m.auxiliaryDataObjectId = AuxiliaryDataObjectID.fromProto(proto.auxiliaryDataObjectId);\n }\n if (proto.fieldDataUpsertOperations) {\n m.fieldDataUpsertOperations = proto.fieldDataUpsertOperations.map(FieldDataUpsertOperation.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.auxiliaryDataObjectId !== 'undefined' && this.auxiliaryDataObjectId !== null) {\n toReturn['auxiliaryDataObjectId'] = 'toApiJson' in this.auxiliaryDataObjectId ? this.auxiliaryDataObjectId.toApiJson() : this.auxiliaryDataObjectId;\n }\n if (typeof this.fieldDataUpsertOperations !== 'undefined' && this.fieldDataUpsertOperations !== null) {\n toReturn['fieldDataUpsertOperations'] = 'toApiJson' in this.fieldDataUpsertOperations ? this.fieldDataUpsertOperations.toApiJson() : this.fieldDataUpsertOperations;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'iam.vendasta-local.com',\n 'test': '',\n 'demo': 'iam-api-demo.apigateway.co',\n 'prod': 'iam-api-prod.apigateway.co',\n 'production': 'iam-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet IAMApiService = /*#__PURE__*/(() => {\n class IAMApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getMultiUsers(r) {\n const request = r.toApiJson ? r : new GetMultiUsersRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetMultiUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiUsersResponse.fromProto(resp)));\n }\n listUsers(r) {\n const request = r.toApiJson ? r : new ListUsersRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListUsers\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListUsersResponse.fromProto(resp)));\n }\n updateUser(r) {\n const request = r.toApiJson ? r : new UpdateUserRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpdateUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n deleteUser(r) {\n const request = r.toApiJson ? r : new DeleteUserRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/DeleteUser\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addClientKey(r) {\n const request = r.toApiJson ? r : new AddClientKeyRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/AddClientKey\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddClientKeyResponse.fromProto(resp)));\n }\n removeClientKey(r) {\n const request = r.toApiJson ? r : new RemoveClientKeyRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/RemoveClientKey\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n resetPassword(r) {\n const request = r.toApiJson ? r : new ResetPasswordRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ResetPassword\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listSecurityLogs(r) {\n const request = r.toApiJson ? r : new ListSecurityLogsRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListSecurityLogs\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListSecurityLogsResponse.fromProto(resp)));\n }\n accessResource(r) {\n const request = r.toApiJson ? r : new AccessResourceRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/AccessResource\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n exchangeClientKeyAssertion(r) {\n const request = r.toApiJson ? r : new ExchangeClientKeyAssertionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ExchangeClientKeyAssertion\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ExchangeClientKeyAssertionResponse.fromProto(resp)));\n }\n verifyEmail(r) {\n const request = r.toApiJson ? r : new VerifyEmailRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/VerifyEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => VerifyEmailResponse.fromProto(resp)));\n }\n sendEmailVerification(r) {\n const request = r.toApiJson ? r : new SendEmailVerificationRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/SendEmailVerification\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getMultiExternalId(r) {\n const request = r.toApiJson ? r : new GetMultiExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetMultiExternalID\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiExternalIDResponse.fromProto(resp)));\n }\n createExternalId(r) {\n const request = r.toApiJson ? r : new CreateExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/CreateExternalID\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n upsertExternalId(r) {\n const request = r.toApiJson ? r : new UpsertExternalIDRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpsertExternalID\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n addMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new AddMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/AddMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeMultiUserRestriction(r) {\n const request = r.toApiJson ? r : new RemoveMultiUserRestrictionRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/RemoveMultiUserRestriction\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n changePassword(r) {\n const request = r.toApiJson ? r : new ChangePasswordRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ChangePassword\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listUserAuxiliaryData(r) {\n const request = r.toApiJson ? r : new ListAuxiliaryDataRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListUserAuxiliaryData\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAuxiliaryDataResponse.fromProto(resp)));\n }\n upsertUserAuxiliaryData(r) {\n const request = r.toApiJson ? r : new UpsertAuxiliaryDataRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpsertUserAuxiliaryData\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new CreateAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/CreateUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new GetAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetUserAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAuxiliaryDataFieldSchemaResponse.fromProto(resp)));\n }\n getMultiUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new GetMultiAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/GetMultiUserAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiAuxiliaryDataFieldSchemaResponse.fromProto(resp)));\n }\n listUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new ListAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ListUserAuxiliaryDataFieldSchema\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListAuxiliaryDataFieldSchemaResponse.fromProto(resp)));\n }\n updateUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new UpdateAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UpdateUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n archiveUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new ArchiveAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/ArchiveUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n unarchiveUserAuxiliaryDataFieldSchema(r) {\n const request = r.toApiJson ? r : new UnarchiveAuxiliaryDataFieldSchemaRequest(r);\n return this.http.post(this._host + \"/iam.v2.IAM/UnarchiveUserAuxiliaryDataFieldSchema\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n IAMApiService.ɵfac = function IAMApiService_Factory(t) {\n return new (t || IAMApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n IAMApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMApiService,\n factory: IAMApiService.ɵfac,\n providedIn: 'root'\n });\n return IAMApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nfunction addressFromProto(address) {\n if (!address) {\n return new Address$1({});\n }\n return new Address$1({\n address: address.address,\n city: address.city,\n country: address.country,\n postalCode: address.postalCode,\n state: address.state,\n additionalAddress: address.additionalAddress\n });\n}\nfunction phoneNumberTypeFromProto(phoneNumberType) {\n switch (phoneNumberType) {\n case undefined:\n case PhoneNumberType.PHONE_NUMBER_TYPE_INVALID:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_INVALID;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_WORK:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_WORK;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_HOME:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_HOME;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_MOBILE:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_MOBILE;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_FAX:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_FAX;\n }\n case PhoneNumberType.PHONE_NUMBER_TYPE_PAGER:\n {\n return PhoneNumberType$1.PHONE_NUMBER_TYPE_PAGER;\n }\n default:\n {\n /* eslint-disable @typescript-eslint/restrict-template-expressions */\n throw new Error(`Invalid Phone Number Type: ${phoneNumberType}`);\n }\n }\n}\nfunction phoneNumberFromProto(phoneNumber) {\n if (!phoneNumber) {\n return new PhoneNumber$1({});\n }\n const phoneNumberType = phoneNumberTypeFromProto(phoneNumber.phoneNumberType);\n return new PhoneNumber$1({\n phoneNumber: phoneNumber.phoneNumber,\n phoneNumberType: phoneNumberType\n });\n}\nfunction phoneNumbersFromProto(phoneNumbers) {\n if (!phoneNumbers) {\n return [];\n }\n const result = [];\n phoneNumbers.forEach(phoneNumber => {\n if (!phoneNumber || !phoneNumber?.phoneNumber) {\n return;\n }\n result.push(phoneNumberFromProto(phoneNumber));\n });\n return result;\n}\nfunction algorithmTypeFromProto(algorithmType) {\n switch (algorithmType) {\n case undefined:\n case AlgorithmType.ALGORITHM_TYPE_ES256:\n {\n return AlgorithmType$1.ALGORITHM_TYPE_ES256;\n }\n case AlgorithmType.ALGORITHM_TYPE_RS256:\n {\n return AlgorithmType$1.ALGORITHM_TYPE_RS256;\n }\n default:\n {\n /* eslint-disable @typescript-eslint/restrict-template-expressions */\n throw new Error(`Invalid Algorithm Type: ${algorithmType}`);\n }\n }\n}\nfunction publicKeyFromProto(publicKey) {\n if (!publicKey) {\n return new PublicKey$1({});\n }\n const algorithmType = algorithmTypeFromProto(publicKey.algorithmType);\n return new PublicKey$1({\n algorithmType: algorithmType,\n id: publicKey.id,\n key: publicKey.key\n });\n}\nfunction publicKeysFromProto(publicKeys) {\n if (!publicKeys) {\n return [];\n }\n const result = [];\n publicKeys.forEach(publicKey => {\n if (!publicKey || !publicKey?.id || !publicKey?.key) {\n return;\n }\n result.push(publicKeyFromProto(publicKey));\n });\n return result;\n}\nfunction roleFromProto(role) {\n if (!role) {\n return new Role({});\n }\n return new Role({\n attributes: role.attributes,\n created: role.created,\n roleId: role.roleId,\n updated: role.updated\n });\n}\nfunction roleMapFromProto(roleMap) {\n if (!roleMap) {\n return {};\n }\n const map = {};\n for (const [key, role] of Object.entries(roleMap)) {\n map[key] = roleFromProto(role);\n }\n return map;\n}\nfunction linkedInFromProto(linkedIn) {\n if (!linkedIn) {\n return new LinkedIn$1({});\n }\n return new LinkedIn$1({\n publicProfileId: linkedIn.publicProfileId\n });\n}\nfunction userFromProto(user) {\n if (!user) {\n return new User$1({});\n }\n return new User$1({\n address: addressFromProto(user.address),\n created: user.created,\n email: user.email,\n emailVerified: user.emailVerified,\n firstName: user.firstName,\n greetingName: user.greetingName,\n languageCode: user.languageCode,\n lastLogin: user.lastLogin,\n lastName: user.lastName,\n linkedIn: linkedInFromProto(user.linkedIn),\n partnerId: user.partnerId,\n phoneNumbers: phoneNumbersFromProto(user.phoneNumbers),\n profileImageUrl: user.profileImageUrl,\n publicKeys: publicKeysFromProto(user.publicKeys),\n roles: roleMapFromProto(user.roles),\n timeZone: user.timeZone,\n updated: user.updated,\n userId: user.userId,\n meetingBookingUrl: user.meetingBookingUrl\n });\n}\nfunction usersFromProto(users) {\n if (!users) {\n return [];\n }\n return users.map(user => userFromProto(user));\n}\nlet IAMService = /*#__PURE__*/(() => {\n class IAMService {\n constructor(api) {\n this.api = api;\n }\n // getUser fetches a single user by their identifier.\n // Example usage: iam.getUser(userIdUserIdentifier(\"U-123\"))\n getUser(userIdentifier) {\n return this.getMultiUsers([userIdentifier]).pipe(map(users => users[0]));\n }\n // getMultiUsers fetches multiple users by their identifiers.\n // Example usage: iam.getMultiUsers([userIdUserIdentifier(\"U-123\"), subjectIdUserIdentifier(\"UID-321\")])\n getMultiUsers(userIdentifiers) {\n return this.api.getMultiUsers({\n userIdentifiers: userIdentifiers,\n // This property mask technically does nothing in the backend at the moment...\n propertyMask: new UserPropertyMask({\n includeRoles: true\n })\n }).pipe(map(r => {\n return usersFromProto(r.users);\n }));\n }\n // updateUser updates the values stored on a user\n // Example usage: iam.updateUser(userIdUserIdentifier(\"U-123\"), [\n // SetFirstName(\"Example\"),\n // SetAddress({\n // address: \"410 22 St E\",\n // city: \"Saskatoon\",\n // postalCode: \"S7K 5T6\",\n // country: \"CA\",\n // state: \"CA-SK\",\n // }),\n // ]);\n updateUser(userIdentifier, mutations) {\n return this.api.updateUser({\n userIdentifier: userIdentifier,\n operations: mutations\n });\n }\n // deleteUser deletes the user\n // Example usage: iam.deleteUser(userIdUserIdentifier(\"U-123\")\n deleteUser(userIdentifier) {\n return this.api.deleteUser({\n userIdentifier: userIdentifier\n });\n }\n // changePassword uses the user's current password to change their password to the new password\n // Example usage: iam.changePassword(userIdUserIdentifier(\"U-123\"), \"mypassword\", \"mynewpassword\");\n changePassword(userIdentifier, currentPassword, newPassword) {\n return this.api.changePassword({\n userIdentifier: userIdentifier,\n currentPassword: currentPassword,\n newPassword: newPassword\n });\n }\n // sendEmailVerification sends an email to the user to verify ownership of their email\n // recaptchaToken is required when calling without an authToken\n // Example usage: iam.sendEmailVerification(userIdUserIdentifier(\"U-123\"), EMAIL_BRANDING_PARTNER, \"www.domain.com\", \"Go Here\", recaptchaToken);\n sendEmailVerification(userIdentifier, forceEmailBrandingPartnerId, nextUrl, nextUrlButtonText, recaptchaToken) {\n return this.api.sendEmailVerification({\n userIdentifier: userIdentifier,\n forceEmailBrandingPartnerId: forceEmailBrandingPartnerId,\n nextUrl: nextUrl,\n nextUrlButtonText: nextUrlButtonText,\n recaptchaToken: recaptchaToken\n });\n }\n // verifyEmail attempts to verify the email for the user contained in the verification token\n // If the token was expired, the call will fail, and the email verification will be resent\n // If an OTP code was requested it will be returned if the user is newly verified\n verifyEmail(emailVerificationToken, requestOtpCode) {\n return this.api.verifyEmail({\n token: emailVerificationToken,\n requestOtpCode: requestOtpCode\n });\n }\n listUserAuxiliaryData(auxiliaryDataObjectId, pagingOptions) {\n return this.api.listUserAuxiliaryData({\n auxiliaryDataObjectId,\n pagingOptions\n });\n }\n upsertUserAuxiliaryData(auxiliaryDataObjectId, fieldDataUpsertOperations) {\n return this.api.upsertUserAuxiliaryData({\n auxiliaryDataObjectId,\n fieldDataUpsertOperations\n });\n }\n createUserAuxiliaryDataFieldSchema(fieldSchema) {\n return this.api.createUserAuxiliaryDataFieldSchema({\n fieldSchema\n });\n }\n getUserAuxiliaryDataFieldSchema(identifier) {\n return this.api.getUserAuxiliaryDataFieldSchema({\n identifier: identifier\n });\n }\n getMultiUserAuxiliaryDataFieldSchema(fieldSchemaIdentifiers) {\n return this.api.getMultiUserAuxiliaryDataFieldSchema({\n identifiers: fieldSchemaIdentifiers\n });\n }\n listUserAuxiliaryDataFieldSchema(partnerId, pagingOptions, filters) {\n return this.api.listUserAuxiliaryDataFieldSchema({\n partnerId,\n pagingOptions,\n filters\n });\n }\n updateUserAuxiliaryDataFieldSchema(fieldSchema, fieldMask) {\n return this.api.updateUserAuxiliaryDataFieldSchema({\n fieldSchema,\n fieldMask\n });\n }\n archiveUserAuxiliaryDataFieldSchema(identifier) {\n return this.api.archiveUserAuxiliaryDataFieldSchema({\n identifier: identifier\n });\n }\n unarchiveUserAuxiliaryDataFieldSchema(identifier) {\n return this.api.unarchiveUserAuxiliaryDataFieldSchema({\n identifier: identifier\n });\n }\n }\n IAMService.ɵfac = function IAMService_Factory(t) {\n return new (t || IAMService)(i0.ɵɵinject(IAMApiService));\n };\n IAMService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: IAMService,\n factory: IAMService.ɵfac,\n providedIn: 'root'\n });\n return IAMService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// parseTokenInsecure parses the payload from the token and returns the data\n// Note: parseTokenInsecure does not verify the validity of the token, only extracts the data contained inside.\n// Note: You may use this to make assumptions about the active user, but ensure that your endpoints are still performing\n// reasonable access checks, and your application has performed any recommended token validation (ex. during OpenID)\nfunction parseTokenInsecure(token) {\n const decoded = jwt_decode(token);\n if (!decoded) {\n return null;\n }\n const userId = decoded?.user_id || '';\n const impersonateeUserId = decoded?.impersonatee;\n return {\n userId: userId,\n impersonateeUserId: impersonateeUserId\n };\n}\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Address$1 as Address, AlgorithmType$1 as AlgorithmType, AuxiliaryDataFieldType, FieldMask, GetAuxiliaryDataFieldSchemaResponse, IAMService, LinkedIn$1 as LinkedIn, ListAuxiliaryDataFieldSchemaResponse, ListAuxiliaryDataResponse, PagedRequestOptions, PagedResponseMetadata, PhoneNumber$1 as PhoneNumber, PhoneNumberType$1 as PhoneNumberType, PublicKey$1 as PublicKey, Role, SetAddress, SetEmail, SetFirstName, SetGreetingName, SetLanguageCode, SetLastName, SetLinkedIn, SetPhoneNumbers, SetProfileImageUrl, SetTimeZone, StructAttribute, UpdateUserRequestOperation, User$1 as User, UserIdentifier, namespacedEmailUserIdentifier, parseTokenInsecure, subjectIdUserIdentifier, tokenUserIdentifier, typedExternalUserIdentifier, userIdUserIdentifier };\n"],"mappings":"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","names":["e","t","r","n","o","jwt_decode_esm_default","init_jwt_decode_esm","__esmMin","a","i","c","enumStringToValue$3","enumRef","value","SetFirstName","firstName","UpdateUserRequestOperation","SetLastName","lastName","SetPhoneNumbers","phoneNumbers","UpdateUserRequestPhoneNumbers","SetAddress","address","Address","SetProfileImageUrl","profileImageUrl","enumStringToValue","addressFromProto","Address$1","phoneNumberTypeFromProto","phoneNumberType","PhoneNumberType","PhoneNumberType$1","phoneNumberFromProto","phoneNumber","PhoneNumber$1","phoneNumbersFromProto","result","algorithmTypeFromProto","algorithmType","AlgorithmType","AlgorithmType$1","publicKeyFromProto","publicKey","PublicKey$1","publicKeysFromProto","publicKeys","roleFromProto","role","Role","roleMapFromProto","roleMap","map","key","linkedInFromProto","linkedIn","LinkedIn$1","userFromProto","user","User$1","usersFromProto","users","parseTokenInsecure","token","decoded","jwt_decode_esm_default","userId","impersonateeUserId","PagedRequestOptions","PagedResponseMetadata","Attribute","GeoPointAttribute","ListAttribute","StructAttribute","AuxiliaryDataFieldType","RestrictionType","SortDirection","UserSortField","AccessResourceRequest","AddClientKeyRequest","AddClientKeyResponse","AddMultiUserRestrictionRequest","ChangePasswordRequest","CreateExternalIDRequest","DeleteUserRequest","ExchangeClientKeyAssertionRequest","ExchangeClientKeyAssertionResponse","ListSecurityLogsRequestFilters","GetMultiExternalIDRequest","GetMultiExternalIDResponse","GetMultiUsersRequest","GetMultiUsersResponse","LinkedIn","ListSecurityLogsRequest","ListSecurityLogsResponse","ListUsersRequest","ListUsersResponse","NamespacedEmail","PhoneNumber","PublicKey","RemoveClientKeyRequest","RemoveMultiUserRestrictionRequest","ResetPasswordRequest","SecurityLog","SendEmailVerificationRequest","TypedExternalIdentifier","UpdateUserRequest","UpsertExternalIDRequest","User","UserFilter","UserIdentifier","UserPropertyMask","UserRole","UserSortOptions","VerifyEmailRequest","VerifyEmailResponse","FieldMask","ArchiveAuxiliaryDataFieldSchemaRequest","AuxiliaryDataFieldSchema","AuxiliaryDataObjectID","CreateAuxiliaryDataFieldSchemaRequest","DropdownOption","FieldDataUpsertOperation","FieldSchemaIdentifier","ListAuxiliaryDataFieldSchemaRequestFilters","GetAuxiliaryDataFieldSchemaRequest","GetAuxiliaryDataFieldSchemaResponse","GetMultiAuxiliaryDataFieldSchemaRequest","GetMultiAuxiliaryDataFieldSchemaResponse","ListAuxiliaryDataFieldSchemaRequest","ListAuxiliaryDataFieldSchemaResponse","ListAuxiliaryDataRequest","ListAuxiliaryDataResponse","UnarchiveAuxiliaryDataFieldSchemaRequest","UpdateAuxiliaryDataFieldSchemaRequest","UpsertAuxiliaryDataRequest","environment","hostMap","HostService","IAMApiService","IAMService","init_vendasta_iamv2","__esmMin","init_core","init_http","init_operators","init_jwt_decode_esm","city","postalCode","country","state","additionalAddress","publicProfileId","partnerId","email","roles","created","updated","greetingName","languageCode","lastLogin","emailVerified","timeZone","meetingBookingUrl","roleId","attributes","id","_PagedRequestOptions","proto","m","kwargs","toReturn","_PagedResponseMetadata","_Attribute","_GeoPointAttribute","_ListAttribute","_StructAttribute","obj","k","_AccessResourceRequest","_AddClientKeyRequest","_AddClientKeyResponse","_AddMultiUserRestrictionRequest","_Address","_ChangePasswordRequest","_CreateExternalIDRequest","_DeleteUserRequest","_ExchangeClientKeyAssertionRequest","_ExchangeClientKeyAssertionResponse","_ListSecurityLogsRequestFilters","_GetMultiExternalIDRequest","_GetMultiExternalIDResponse","_GetMultiUsersRequest","_GetMultiUsersResponse","_LinkedIn","_ListSecurityLogsRequest","_ListSecurityLogsResponse","_ListUsersRequest","_ListUsersResponse","_NamespacedEmail","_UpdateUserRequestOperation","_PhoneNumber","_UpdateUserRequestPhoneNumbers","_PublicKey","_RemoveClientKeyRequest","_RemoveMultiUserRestrictionRequest","_ResetPasswordRequest","_SecurityLog","_SendEmailVerificationRequest","_TypedExternalIdentifier","_UpdateUserRequest","_UpsertExternalIDRequest","_User","_UserFilter","_UserIdentifier","_UserPropertyMask","_UserRole","_UserSortOptions","_VerifyEmailRequest","_VerifyEmailResponse","_FieldMask","_ArchiveAuxiliaryDataFieldSchemaRequest","_AuxiliaryDataFieldSchema","_AuxiliaryDataObjectID","_CreateAuxiliaryDataFieldSchemaRequest","_DropdownOption","_FieldDataUpsertOperation","_FieldSchemaIdentifier","_ListAuxiliaryDataFieldSchemaRequestFilters","_GetAuxiliaryDataFieldSchemaRequest","_GetAuxiliaryDataFieldSchemaResponse","_GetMultiAuxiliaryDataFieldSchemaRequest","_GetMultiAuxiliaryDataFieldSchemaResponse","_ListAuxiliaryDataFieldSchemaRequest","_ListAuxiliaryDataFieldSchemaResponse","_ListAuxiliaryDataRequest","_ListAuxiliaryDataResponse","_UnarchiveAuxiliaryDataFieldSchemaRequest","_UpdateAuxiliaryDataFieldSchemaRequest","_UpsertAuxiliaryDataRequest","t","ɵɵdefineInjectable","http","hostService","HttpHeaders","r","request","resp","__spreadProps","__spreadValues","ɵɵinject","HttpClient","api","userIdentifier","userIdentifiers","mutations","currentPassword","newPassword","forceEmailBrandingPartnerId","nextUrl","nextUrlButtonText","recaptchaToken","emailVerificationToken","requestOtpCode","auxiliaryDataObjectId","pagingOptions","fieldDataUpsertOperations","fieldSchema","identifier","fieldSchemaIdentifiers","filters","fieldMask"],"x_google_ignoreList":[0,1]}