@webex/plugin-meetings 3.8.0-next.77 → 3.8.0-next.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting-info/meeting-info-v2.js +19 -13
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +2 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
- package/src/meeting-info/meeting-info-v2.ts +7 -2
- package/src/meeting-info/utilv2.ts +5 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +41 -0
- package/test/unit/spec/meeting-info/utilv2.js +19 -0
package/dist/breakouts/index.js
CHANGED
@@ -1110,7 +1110,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
|
|
1110
1110
|
this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
|
1111
1111
|
}
|
1112
1112
|
},
|
1113
|
-
version: "3.8.0-next.
|
1113
|
+
version: "3.8.0-next.79"
|
1114
1114
|
});
|
1115
1115
|
var _default = exports.default = Breakouts;
|
1116
1116
|
//# sourceMappingURL=index.js.map
|
@@ -373,7 +373,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
373
373
|
throw error;
|
374
374
|
});
|
375
375
|
},
|
376
|
-
version: "3.8.0-next.
|
376
|
+
version: "3.8.0-next.79"
|
377
377
|
});
|
378
378
|
var _default = exports.default = SimultaneousInterpretation;
|
379
379
|
//# sourceMappingURL=index.js.map
|
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
|
|
18
18
|
languageCode: 'number',
|
19
19
|
languageName: 'string'
|
20
20
|
},
|
21
|
-
version: "3.8.0-next.
|
21
|
+
version: "3.8.0-next.79"
|
22
22
|
});
|
23
23
|
var _default = exports.default = SILanguage;
|
24
24
|
//# sourceMappingURL=siLanguage.js.map
|
@@ -720,6 +720,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
720
720
|
* @param {Object} extraParams
|
721
721
|
* @param {Object} options
|
722
722
|
* @param {String} registrationId
|
723
|
+
* @param {String} fullSiteUrl
|
723
724
|
* @returns {Promise} returns a meeting info object
|
724
725
|
* @public
|
725
726
|
* @memberof MeetingInfo
|
@@ -738,6 +739,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
738
739
|
extraParams,
|
739
740
|
options,
|
740
741
|
registrationId,
|
742
|
+
fullSiteUrl,
|
741
743
|
meetingId,
|
742
744
|
sendCAevents,
|
743
745
|
destinationType,
|
@@ -759,34 +761,36 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
759
761
|
extraParams = _args6.length > 6 && _args6[6] !== undefined ? _args6[6] : {};
|
760
762
|
options = _args6.length > 7 && _args6[7] !== undefined ? _args6[7] : {};
|
761
763
|
registrationId = _args6.length > 8 && _args6[8] !== undefined ? _args6[8] : null;
|
764
|
+
fullSiteUrl = _args6.length > 9 && _args6[9] !== undefined ? _args6[9] : null;
|
762
765
|
meetingId = options.meetingId, sendCAevents = options.sendCAevents;
|
763
|
-
_context6.next =
|
766
|
+
_context6.next = 12;
|
764
767
|
return _utilv.default.getDestinationType({
|
765
768
|
destination: destination,
|
766
769
|
type: type,
|
767
770
|
webex: this.webex
|
768
771
|
});
|
769
|
-
case
|
772
|
+
case 12:
|
770
773
|
destinationType = _context6.sent;
|
771
774
|
if (!(destinationType.type === _constants.DESTINATION_TYPE.CONVERSATION_URL && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
|
772
|
-
_context6.next =
|
775
|
+
_context6.next = 15;
|
773
776
|
break;
|
774
777
|
}
|
775
778
|
return _context6.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID));
|
776
|
-
case
|
777
|
-
_context6.next =
|
779
|
+
case 15:
|
780
|
+
_context6.next = 17;
|
778
781
|
return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
|
779
782
|
password: password,
|
780
783
|
captchaInfo: captchaInfo,
|
781
784
|
installedOrgID: installedOrgID,
|
782
785
|
locusId: locusId,
|
783
786
|
extraParams: extraParams,
|
784
|
-
registrationId: registrationId
|
787
|
+
registrationId: registrationId,
|
788
|
+
disableWebRedirect: true
|
785
789
|
}));
|
786
|
-
case
|
790
|
+
case 17:
|
787
791
|
body = _context6.sent;
|
788
792
|
if (_lodash.default.difference((0, _keys.default)(body), (0, _keys.default)(_constants.DEFAULT_MEETING_INFO_REQUEST_BODY)).length) {
|
789
|
-
_context6.next =
|
793
|
+
_context6.next = 22;
|
790
794
|
break;
|
791
795
|
}
|
792
796
|
err = new Error('Not enough information to fetch meeting info');
|
@@ -797,16 +801,18 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
797
801
|
sipUri: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info2 = destinationType.info) === null || _destinationType$info2 === void 0 ? void 0 : _destinationType$info2.sipUri
|
798
802
|
});
|
799
803
|
throw err;
|
800
|
-
case
|
804
|
+
case 22:
|
801
805
|
requestOptions = {
|
802
806
|
method: _constants.HTTP_VERBS.POST,
|
803
807
|
body: body
|
804
808
|
};
|
805
|
-
_context6.next =
|
809
|
+
_context6.next = 25;
|
806
810
|
return _utilv.default.getDirectMeetingInfoURI(destinationType);
|
807
|
-
case
|
811
|
+
case 25:
|
808
812
|
directURI = _context6.sent;
|
809
|
-
if (
|
813
|
+
if (fullSiteUrl) {
|
814
|
+
requestOptions.uri = "https://".concat(fullSiteUrl, "/wbxappapi/v1/meetingInfo");
|
815
|
+
} else if (directURI) {
|
810
816
|
requestOptions.uri = directURI;
|
811
817
|
} else {
|
812
818
|
requestOptions.service = _constants.WBXAPPAPI_SERVICE;
|
@@ -893,7 +899,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
|
|
893
899
|
});
|
894
900
|
throw err;
|
895
901
|
}));
|
896
|
-
case
|
902
|
+
case 29:
|
897
903
|
case "end":
|
898
904
|
return _context6.stop();
|
899
905
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","MEETING_IS_IN_PROGRESS_MESSAGE","STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE","FETCH_STATIC_MEETING_LINK","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","isRegistrationIdRequired","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2StaticLinkDoesNotExistError","_Error7","_super7","_this7","MeetingInfoV2MeetingIsInProgressError","_Error8","_super8","_this8","enable","MeetingInfoV2StaticMeetingLinkAlreadyExists","_Error9","_super9","_this9","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeetingOrEnableStaticMeetingLink","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this10","enableStaticMeetingLink","getInvitees","_args","wrap","_callee$","_context","prev","next","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","schedule","meetings","preferredWebexSite","method","HTTP_VERBS","POST","stop","createAdhocSpaceMeetingOrEnableStaticMeetingLink","_x","_x2","_createAdhocSpaceMeeting","_callee2","_this11","_callee2$","_context2","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","createAdhocSpaceMeeting","_x3","_x4","_fetchStaticMeetingLink","_callee3","_callee3$","_context3","FETCH_STATIC_MEETING_LINK_SUCCESS","statusCode","_err$body18","_err$body19","MEETING_LINK_DOES_NOT_EXIST_ERROR","FETCH_STATIC_MEETING_LINK_FAILURE","fetchStaticMeetingLink","_x5","_enableStaticMeetingLink","_callee4","_callee4$","_context4","ENABLE_STATIC_METTING_LINK_SUCCESS","_err$body20","_err$body21","MEETING_IS_IN_PROGRESS_ERROR","_err$body22","_err$body23","STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR","ENABLE_STATIC_METTING_LINK_FAILURE","_x6","_disableStaticMeetingLink","_callee5","_callee5$","_context5","DISABLE_STATIC_MEETING_LINK_SUCCESS","_err$body24","_err$body25","DISABLE_STATIC_MEETING_LINK_FAILURE","disableStaticMeetingLink","_x7","_fetchMeetingInfo","_callee6","_this12","password","locusId","extraParams","options","registrationId","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args6","_callee6$","_context6","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","_err$body26","_err$body27","_err$body27$data","VERIFY_PASSWORD_ERROR","_err$body28","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x8"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst MEETING_IS_IN_PROGRESS_MESSAGE = 'Meeting is in progress';\nconst STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE = 'Static meeting link already exists';\nconst FETCH_STATIC_MEETING_LINK = 'Meeting link does not exists for conversation';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES = [423007];\n\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n isRegistrationIdRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.isRegistrationIdRequired =\n CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error fetching static link for a conversation when it does not exist\n */\nexport class MeetingInfoV2StaticLinkDoesNotExistError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = FETCH_STATIC_MEETING_LINK) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticLinkDoesNotExistError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2MeetingIsInProgressError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n * @param {Boolean} [enable]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n message = MEETING_IS_IN_PROGRESS_MESSAGE,\n enable = false\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}, enable=${enable}`);\n this.name = 'MeetingInfoV2MeetingIsInProgressError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2StaticMeetingLinkAlreadyExists extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message = STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticMeetingLinkAlreadyExists';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * helper function to either create an adhoc space meeting or enable static meeting link\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeetingOrEnableStaticMeetingLink(\n conversationUrl: string,\n installedOrgID?: string,\n // setting this to true enables static meeting link\n enableStaticMeetingLink = false\n ) {\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: conversation}) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n installedOrgID,\n schedule: enableStaticMeetingLink,\n };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, installedOrgID)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches details for static meeting link\n * @param {String} conversationUrl conversationUrl that's required to find static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async fetchStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/query`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_LINK_DOES_NOT_EXIST_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2StaticLinkDoesNotExistError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Enables static meeting link\n * @param {String} conversationUrl conversationUrl that's required to enable static meeting link\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async enableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, undefined, true)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message, true);\n }\n\n if (err?.statusCode === 409) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR,\n {\n reason: err.message,\n stack: err.stack,\n }\n );\n\n throw new MeetingInfoV2StaticMeetingLinkAlreadyExists(err.body?.code, err.body?.message);\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Disables static meeting link for given conversation url\n * @param {String} conversationUrl conversationUrl that's required to disable static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async disableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/deletePersistentMeeting`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @param {String} registrationId\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {},\n registrationId: string = null\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === DESTINATION_TYPE.CONVERSATION_URL &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_lodash","_interopRequireDefault","require","_constants","_metrics","_constants2","_utilv","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","PASSWORD_ERROR_DEFAULT_MESSAGE","CAPTCHA_ERROR_DEFAULT_MESSAGE","ADHOC_MEETING_DEFAULT_ERROR","MEETING_IS_IN_PROGRESS_MESSAGE","STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE","FETCH_STATIC_MEETING_LINK","CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES","CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES","POLICY_ERROR_CODES","JOIN_FORBIDDEN_CODES","JOIN_WEBINAR_ERROR_CODES","MeetingInfoV2PasswordError","exports","_Error","_inherits2","_super","wbxAppApiErrorCode","meetingInfo","_this","message","undefined","_classCallCheck2","concat","_assertThisInitialized2","name","sdkMessage","stack","Error","wbxAppApiCode","_createClass2","_wrapNativeSuper2","MeetingInfoV2AdhocMeetingError","_Error2","_super2","_this2","MeetingInfoV2PolicyError","_Error3","_super3","_this3","MeetingInfoV2CaptchaError","_Error4","_super4","captchaInfo","_this4","isPasswordRequired","includes","isRegistrationIdRequired","MeetingInfoV2JoinWebinarError","_Error5","_super5","_this5","MeetingInfoV2JoinForbiddenError","_Error6","_super6","_this6","MeetingInfoV2StaticLinkDoesNotExistError","_Error7","_super7","_this7","MeetingInfoV2MeetingIsInProgressError","_Error8","_super8","_this8","enable","MeetingInfoV2StaticMeetingLinkAlreadyExists","_Error9","_super9","_this9","MeetingInfoV2","webex","err","_err$body","body","code","_err$body2","_err$body3","_err$body4","_err$body4$data","_err$body5","Metrics","sendBehavioralMetric","BEHAVIORAL_METRICS","MEETING_INFO_POLICY_ERROR","data","_err$body6","_err$body7","_err$body8","_err$body9","_err$body9$data","_err$body10","JOIN_WEBINAR_ERROR","_err$body11","_err$body12","_err$body13","_err$body14","_err$body14$data","_err$body15","JOIN_FORBIDDEN_ERROR","key","value","fetchInfoOptions","destination","type","MeetingInfoUtil","getDestinationType","_createAdhocSpaceMeetingOrEnableStaticMeetingLink","_asyncToGenerator2","_regenerator","mark","_callee","conversationUrl","installedOrgID","_this10","enableStaticMeetingLink","getInvitees","_args","wrap","_callee$","_context","prev","next","particpants","invitees","participant","email","emailAddress","ciUserUuid","entryUUID","abrupt","request","uri","qs","includeParticipants","disableTransform","then","_ref","_conversation$partici","conversation","title","displayName","spaceUrl","url","keyUrl","encryptionKeyUrl","kroUrl","kmsResourceObjectUrl","participants","items","schedule","meetings","preferredWebexSite","method","HTTP_VERBS","POST","stop","createAdhocSpaceMeetingOrEnableStaticMeetingLink","_x","_x2","_createAdhocSpaceMeeting","_callee2","_this11","_callee2$","_context2","requestResult","ADHOC_MEETING_SUCCESS","catch","_err$body16","_err$body17","handlePolicyError","handleJoinWebinarError","handleForbiddenError","ADHOC_MEETING_FAILURE","reason","createAdhocSpaceMeeting","_x3","_x4","_fetchStaticMeetingLink","_callee3","_callee3$","_context3","FETCH_STATIC_MEETING_LINK_SUCCESS","statusCode","_err$body18","_err$body19","MEETING_LINK_DOES_NOT_EXIST_ERROR","FETCH_STATIC_MEETING_LINK_FAILURE","fetchStaticMeetingLink","_x5","_enableStaticMeetingLink","_callee4","_callee4$","_context4","ENABLE_STATIC_METTING_LINK_SUCCESS","_err$body20","_err$body21","MEETING_IS_IN_PROGRESS_ERROR","_err$body22","_err$body23","STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR","ENABLE_STATIC_METTING_LINK_FAILURE","_x6","_disableStaticMeetingLink","_callee5","_callee5$","_context5","DISABLE_STATIC_MEETING_LINK_SUCCESS","_err$body24","_err$body25","DISABLE_STATIC_MEETING_LINK_FAILURE","disableStaticMeetingLink","_x7","_fetchMeetingInfo","_callee6","_this12","password","locusId","extraParams","options","registrationId","fullSiteUrl","meetingId","sendCAevents","destinationType","_destinationType$info","_destinationType$info2","requestOptions","directURI","_args6","_callee6$","_context6","sent","DESTINATION_TYPE","CONVERSATION_URL","config","experimental","enableAdhocMeetings","getRequestBody","disableWebRedirect","lodash","difference","_keys","DEFAULT_MEETING_INFO_REQUEST_BODY","FETCH_MEETING_INFO_V1_FAILURE","webExMeetingId","info","sipUri","getDirectMeetingInfoURI","service","WBXAPPAPI_SERVICE","resource","internal","newMetrics","submitInternalEvent","submitClientEvent","response","_response$body","_response$body2","_response$body3","payload","identifiers","meetingLookupUrl","webexConferenceIdStr","confIdStr","confID","globalMeetingId","FETCH_MEETING_INFO_V1_SUCCESS","rawError","_err$body26","_err$body27","_err$body27$data","VERIFY_PASSWORD_ERROR","_err$body28","VERIFY_CAPTCHA_ERROR","captchaId","captchaID","verificationImageURL","verificationAudioURL","refreshURL","fetchMeetingInfo","_x8"],"sources":["meeting-info-v2.ts"],"sourcesContent":["import lodash from 'lodash';\nimport {\n HTTP_VERBS,\n DESTINATION_TYPE,\n WBXAPPAPI_SERVICE,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport MeetingInfoUtil from './utilv2';\n\nconst PASSWORD_ERROR_DEFAULT_MESSAGE =\n 'Password required. Call fetchMeetingInfo() with password argument';\nconst CAPTCHA_ERROR_DEFAULT_MESSAGE =\n 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';\nconst ADHOC_MEETING_DEFAULT_ERROR =\n 'Failed starting the adhoc meeting, Please contact support team ';\nconst MEETING_IS_IN_PROGRESS_MESSAGE = 'Meeting is in progress';\nconst STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE = 'Static meeting link already exists';\nconst FETCH_STATIC_MEETING_LINK = 'Meeting link does not exists for conversation';\nconst CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];\nconst CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES = [423007];\n\nconst POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];\nconst JOIN_FORBIDDEN_CODES = [403003];\n/**\n * 403021 - Meeting registration is required\n * 403022 - Meeting registration is still pending\n * 403024 - Meeting registration have been rejected\n * 403137 - Registration ID verified failure\n * 423007 - Registration ID input too many time,please input captcha code\n * 403026 - Need to join meeting via webcast\n * 403037 - Meeting join required registration ID\n * 403137 - Registration ID verified failure\n *\n */\nconst JOIN_WEBINAR_ERROR_CODES = [403021, 403022, 403024, 403137, 423007, 403026, 403037, 403137];\n\n/**\n * Error to indicate that wbxappapi requires a password\n */\nexport class MeetingInfoV2PasswordError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n meetingInfo?: object,\n message: string = PASSWORD_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error generating a adhoc space meeting\n */\nexport class MeetingInfoV2AdhocMeetingError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = ADHOC_MEETING_DEFAULT_ERROR) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error preventing join because of a meeting policy\n */\nexport class MeetingInfoV2PolicyError extends Error {\n meetingInfo: object;\n sdkMessage: string;\n wbxAppApiCode: number;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2AdhocMeetingError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error to indicate that preferred webex site not present to start adhoc meeting\n */\nexport class MeetingInfoV2CaptchaError extends Error {\n captchaInfo: any;\n isPasswordRequired: any;\n isRegistrationIdRequired: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [captchaInfo]\n * @param {String} [message]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n captchaInfo?: object,\n message: string = CAPTCHA_ERROR_DEFAULT_MESSAGE\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2PasswordError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);\n this.isRegistrationIdRequired =\n CAPTCHA_ERROR_REQUIRES_REGISTRATION_ID_CODES.includes(wbxAppApiErrorCode);\n this.captchaInfo = captchaInfo;\n }\n}\n\n/**\n * Error preventing join because of a webinar have some error\n */\nexport class MeetingInfoV2JoinWebinarError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinWebinarError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error preventing join because of a forbidden error\n */\nexport class MeetingInfoV2JoinForbiddenError extends Error {\n meetingInfo: any;\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {Object} [meetingInfo]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2JoinForbiddenError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n this.meetingInfo = meetingInfo;\n }\n}\n\n/**\n * Error fetching static link for a conversation when it does not exist\n */\nexport class MeetingInfoV2StaticLinkDoesNotExistError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message: string = FETCH_STATIC_MEETING_LINK) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticLinkDoesNotExistError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2MeetingIsInProgressError extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n * @param {Boolean} [enable]\n */\n constructor(\n wbxAppApiErrorCode?: number,\n message = MEETING_IS_IN_PROGRESS_MESSAGE,\n enable = false\n ) {\n super(`${message}, code=${wbxAppApiErrorCode}, enable=${enable}`);\n this.name = 'MeetingInfoV2MeetingIsInProgressError';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * Error enabling/disabling static meeting link\n */\nexport class MeetingInfoV2StaticMeetingLinkAlreadyExists extends Error {\n sdkMessage: any;\n wbxAppApiCode: any;\n body: any;\n /**\n *\n * @constructor\n * @param {Number} [wbxAppApiErrorCode]\n * @param {String} [message]\n */\n constructor(wbxAppApiErrorCode?: number, message = STATIC_MEETING_LINK_ALREADY_EXISTS_MESSAGE) {\n super(`${message}, code=${wbxAppApiErrorCode}`);\n this.name = 'MeetingInfoV2StaticMeetingLinkAlreadyExists';\n this.sdkMessage = message;\n this.stack = new Error().stack;\n this.wbxAppApiCode = wbxAppApiErrorCode;\n }\n}\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfoV2 {\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex) {\n this.webex = webex;\n }\n\n /**\n * converts hydra id into conversation url and persons Id\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {String} [type] to match up with the destination value\n * @returns {Promise} destination and type\n * @public\n * @memberof MeetingInfo\n */\n fetchInfoOptions(destination: string, type: string = null) {\n return MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n /**\n * Raises a MeetingInfoV2PolicyError for policy error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handlePolicyError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (POLICY_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_INFO_POLICY_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2PolicyError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleJoinWebinarError for join webinar error codes\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleJoinWebinarError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_WEBINAR_ERROR_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_WEBINAR_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinWebinarError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * Raises a handleForbiddenError for join meeting forbidden error\n * @param {any} err the error from the request\n * @returns {void}\n */\n handleForbiddenError = (err) => {\n if (!err.body) {\n return;\n }\n\n if (JOIN_FORBIDDEN_CODES.includes(err.body?.code)) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.JOIN_FORBIDDEN_ERROR, {\n code: err.body?.code,\n });\n\n throw new MeetingInfoV2JoinForbiddenError(\n err.body?.code,\n err.body?.data?.meetingInfo,\n err.body?.message\n );\n }\n };\n\n /**\n * helper function to either create an adhoc space meeting or enable static meeting link\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeetingOrEnableStaticMeetingLink(\n conversationUrl: string,\n installedOrgID?: string,\n // setting this to true enables static meeting link\n enableStaticMeetingLink = false\n ) {\n const getInvitees = (particpants = []) => {\n const invitees = [];\n\n if (particpants) {\n particpants.forEach((participant) => {\n invitees.push({\n email: participant.emailAddress,\n ciUserUuid: participant.entryUUID,\n });\n });\n }\n\n return invitees;\n };\n\n return this.webex\n .request({uri: conversationUrl, qs: {includeParticipants: true}, disableTransform: true})\n .then(({body: conversation}) => {\n const body = {\n title: conversation.displayName,\n spaceUrl: conversation.url,\n keyUrl: conversation.encryptionKeyUrl,\n kroUrl: conversation.kmsResourceObjectUrl,\n invitees: getInvitees(conversation.participants?.items),\n installedOrgID,\n schedule: enableStaticMeetingLink,\n };\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant`\n : '';\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n });\n });\n }\n\n /**\n * Creates adhoc space meetings for a space by fetching the conversation infomation\n * @param {String} conversationUrl conversationUrl to start adhoc meeting on\n * @param {String} installedOrgID org ID of user's machine\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, installedOrgID)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ADHOC_MEETING_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw new MeetingInfoV2AdhocMeetingError(err.body?.code, err.body?.message);\n });\n }\n\n /**\n * Fetches details for static meeting link\n * @param {String} conversationUrl conversationUrl that's required to find static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async fetchStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/query`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_LINK_DOES_NOT_EXIST_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2StaticLinkDoesNotExistError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Enables static meeting link\n * @param {String} conversationUrl conversationUrl that's required to enable static meeting link\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async enableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n return this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, undefined, true)\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message, true);\n }\n\n if (err?.statusCode === 409) {\n Metrics.sendBehavioralMetric(\n BEHAVIORAL_METRICS.STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR,\n {\n reason: err.message,\n stack: err.stack,\n }\n );\n\n throw new MeetingInfoV2StaticMeetingLinkAlreadyExists(err.body?.code, err.body?.message);\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_STATIC_METTING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Disables static meeting link for given conversation url\n * @param {String} conversationUrl conversationUrl that's required to disable static meeting link if it exists\n * @returns {Promise} returns a Promise\n * @public\n * @memberof MeetingInfo\n */\n async disableStaticMeetingLink(conversationUrl: string) {\n if (!this.webex.meetings.preferredWebexSite) {\n throw Error('No preferred webex site found');\n }\n\n const body = {\n spaceUrl: conversationUrl,\n };\n\n const uri = this.webex.meetings.preferredWebexSite\n ? `https://${this.webex.meetings.preferredWebexSite}/wbxappapi/v2/meetings/spaceInstant/deletePersistentMeeting`\n : '';\n\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri,\n body,\n })\n .then((requestResult) => {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_SUCCESS);\n\n return requestResult;\n })\n .catch((err) => {\n if (err?.statusCode === 403) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETING_IS_IN_PROGRESS_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2MeetingIsInProgressError(err.body?.code, err.body?.message);\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_STATIC_MEETING_LINK_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw err;\n });\n }\n\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} password\n * @param {Object} captchaInfo\n * @param {String} captchaInfo.code\n * @param {String} captchaInfo.id\n * @param {String} installedOrgID org ID of user's machine\n * @param {String} locusId\n * @param {Object} extraParams\n * @param {Object} options\n * @param {String} registrationId\n * @param {String} fullSiteUrl\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n async fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n password: string = null,\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n installedOrgID = null,\n locusId = null,\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {},\n registrationId: string = null,\n fullSiteUrl: string = null\n ) {\n const {meetingId, sendCAevents} = options;\n\n const destinationType = await MeetingInfoUtil.getDestinationType({\n destination,\n type,\n webex: this.webex,\n });\n\n if (\n destinationType.type === DESTINATION_TYPE.CONVERSATION_URL &&\n this.webex.config.meetings.experimental.enableAdhocMeetings &&\n this.webex.meetings.preferredWebexSite\n ) {\n return this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID);\n }\n\n const body = await MeetingInfoUtil.getRequestBody({\n ...destinationType,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n disableWebRedirect: true,\n });\n\n // If the body only contains the default properties, we don't have enough to\n // fetch the meeting info so don't bother trying.\n if (\n !lodash.difference(Object.keys(body), Object.keys(DEFAULT_MEETING_INFO_REQUEST_BODY)).length\n ) {\n const err = new Error('Not enough information to fetch meeting info');\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n destinationType: destinationType?.type,\n webExMeetingId: destinationType?.info?.webExMeetingId,\n sipUri: destinationType?.info?.sipUri,\n });\n\n throw err;\n }\n\n const requestOptions: any = {\n method: HTTP_VERBS.POST,\n body,\n };\n\n const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);\n\n if (fullSiteUrl) {\n requestOptions.uri = `https://${fullSiteUrl}/wbxappapi/v1/meetingInfo`;\n } else if (directURI) {\n requestOptions.uri = directURI;\n } else {\n requestOptions.service = WBXAPPAPI_SERVICE;\n requestOptions.resource = 'meetingInfo';\n }\n\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.webex\n .request(requestOptions)\n .then((response) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: response?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: response?.body?.confIdStr || response?.body?.confID,\n globalMeetingId: response?.body?.meetingId,\n },\n });\n }\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_SUCCESS);\n\n return response;\n })\n .catch((err) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: err?.url,\n },\n },\n options: {\n meetingId,\n rawError: err,\n },\n });\n }\n\n if (err?.statusCode === 403) {\n this.handlePolicyError(err);\n this.handleJoinWebinarError(err);\n this.handleForbiddenError(err);\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_PASSWORD_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2PasswordError(err.body?.code, err.body?.data?.meetingInfo);\n }\n if (err?.statusCode === 423) {\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.VERIFY_CAPTCHA_ERROR, {\n reason: err.message,\n stack: err.stack,\n });\n\n throw new MeetingInfoV2CaptchaError(err.body?.code, {\n captchaId: err.body.captchaID,\n verificationImageURL: err.body.verificationImageURL,\n verificationAudioURL: err.body.verificationAudioURL,\n refreshURL: err.body.refreshURL,\n });\n }\n\n Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.FETCH_MEETING_INFO_V1_FAILURE, {\n reason: err.message,\n stack: err.stack,\n });\n throw err;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAMA,IAAAE,QAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAAuC,SAAAK,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,aAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAqB,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAV,OAAA,EAAAK,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,CAAAV,OAAA,QAAAa,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAL,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhB,KAAA,OAAAE,SAAA,gBAAAoB,2BAAA,CAAAf,OAAA,QAAAW,MAAA;AAAA,SAAAJ,0BAAA,eAAAS,OAAA,qBAAAF,kBAAA,oBAAAA,kBAAA,CAAAG,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,kBAAA,CAAAK,OAAA,8CAAApC,CAAA;AAEvC,IAAMwC,8BAA8B,GAClC,mEAAmE;AACrE,IAAMC,6BAA6B,GACjC,qEAAqE;AACvE,IAAMC,2BAA2B,GAC/B,iEAAiE;AACnE,IAAMC,8BAA8B,GAAG,wBAAwB;AAC/D,IAAMC,0CAA0C,GAAG,oCAAoC;AACvF,IAAMC,yBAAyB,GAAG,+CAA+C;AACjF,IAAMC,qCAAqC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AAC9D,IAAMC,4CAA4C,GAAG,CAAC,MAAM,CAAC;AAE7D,IAAMC,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3E,IAAMC,oBAAoB,GAAG,CAAC,MAAM,CAAC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,wBAAwB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;AAEjG;AACA;AACA;AAFA,IAGaC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,0BAAAE,MAAA;EAAA,IAAAC,UAAA,CAAArC,OAAA,EAAAkC,0BAAA,EAAAE,MAAA;EAAA,IAAAE,MAAA,GAAAlC,YAAA,CAAA8B,0BAAA;EAMrC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,2BACEK,kBAA2B,EAC3BC,WAAoB,EAEpB;IAAA,IAAAC,KAAA;IAAA,IADAC,OAAe,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG4B,8BAA8B;IAAA,IAAAqB,gBAAA,CAAA5C,OAAA,QAAAkC,0BAAA;IAEhDO,KAAA,GAAAH,MAAA,CAAAhB,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyC,KAAA;IAAA,IAAA1C,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyC,KAAA;IAAA,IAAA1C,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyC,KAAA;IAAA,IAAA1C,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyC,KAAA;IAChDA,KAAA,CAAKM,IAAI,GAAG,4BAA4B;IACxCN,KAAA,CAAKO,UAAU,GAAGN,OAAO;IACzBD,KAAA,CAAKQ,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BR,KAAA,CAAKU,aAAa,GAAGZ,kBAAkB;IACvCE,KAAA,CAAKD,WAAW,GAAGA,WAAW;IAAC,OAAAC,KAAA;EACjC;EAAC,WAAAW,aAAA,CAAApD,OAAA,EAAAkC,0BAAA;AAAA,oBAAAmB,iBAAA,CAAArD,OAAA,EAxB6CkD,KAAK;AA2BrD;AACA;AACA;AAFA,IAGaI,8BAA8B,GAAAnB,OAAA,CAAAmB,8BAAA,0BAAAC,OAAA;EAAA,IAAAlB,UAAA,CAAArC,OAAA,EAAAsD,8BAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAApD,YAAA,CAAAkD,8BAAA;EAGzC;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,+BAAYf,kBAA2B,EAAiD;IAAA,IAAAkB,MAAA;IAAA,IAA/Cf,OAAe,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG8B,2BAA2B;IAAA,IAAAmB,gBAAA,CAAA5C,OAAA,QAAAsD,8BAAA;IACpFG,MAAA,GAAAD,OAAA,CAAAlC,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyD,MAAA;IAAA,IAAA1D,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyD,MAAA;IAChDA,MAAA,CAAKV,IAAI,GAAG,gCAAgC;IAC5CU,MAAA,CAAKT,UAAU,GAAGN,OAAO;IACzBe,MAAA,CAAKR,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BQ,MAAA,CAAKN,aAAa,GAAGZ,kBAAkB;IAAC,OAAAkB,MAAA;EAC1C;EAAC,WAAAL,aAAA,CAAApD,OAAA,EAAAsD,8BAAA;AAAA,oBAAAD,iBAAA,CAAArD,OAAA,EAfiDkD,KAAK;AAkBzD;AACA;AACA;AAFA,IAGaQ,wBAAwB,GAAAvB,OAAA,CAAAuB,wBAAA,0BAAAC,OAAA;EAAA,IAAAtB,UAAA,CAAArC,OAAA,EAAA0D,wBAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAxD,YAAA,CAAAsD,wBAAA;EAInC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,yBAAYnB,kBAA2B,EAAEC,WAAoB,EAAEE,OAAgB,EAAE;IAAA,IAAAmB,MAAA;IAAA,IAAAjB,gBAAA,CAAA5C,OAAA,QAAA0D,wBAAA;IAC/EG,MAAA,GAAAD,OAAA,CAAAtC,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6D,MAAA;IAAA,IAAA9D,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6D,MAAA;IAAA,IAAA9D,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6D,MAAA;IAChDA,MAAA,CAAKd,IAAI,GAAG,gCAAgC;IAC5Cc,MAAA,CAAKb,UAAU,GAAGN,OAAO;IACzBmB,MAAA,CAAKZ,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BY,MAAA,CAAKV,aAAa,GAAGZ,kBAAkB;IACvCsB,MAAA,CAAKrB,WAAW,GAAGA,WAAW;IAAC,OAAAqB,MAAA;EACjC;EAAC,WAAAT,aAAA,CAAApD,OAAA,EAAA0D,wBAAA;AAAA,oBAAAL,iBAAA,CAAArD,OAAA,EAlB2CkD,KAAK;AAqBnD;AACA;AACA;AAFA,IAGaY,yBAAyB,GAAA3B,OAAA,CAAA2B,yBAAA,0BAAAC,OAAA;EAAA,IAAA1B,UAAA,CAAArC,OAAA,EAAA8D,yBAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAA5D,YAAA,CAAA0D,yBAAA;EAOpC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,0BACEvB,kBAA2B,EAC3B0B,WAAoB,EAEpB;IAAA,IAAAC,MAAA;IAAA,IADAxB,OAAe,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG6B,6BAA6B;IAAA,IAAAoB,gBAAA,CAAA5C,OAAA,QAAA8D,yBAAA;IAE/CI,MAAA,GAAAF,OAAA,CAAA1C,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAkE,MAAA;IAAA,IAAAnE,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAkE,MAAA;IAAA,IAAAnE,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAkE,MAAA;IAAA,IAAAnE,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAkE,MAAA;IAAA,IAAAnE,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAkE,MAAA;IAAA,IAAAnE,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAkE,MAAA;IAChDA,MAAA,CAAKnB,IAAI,GAAG,4BAA4B;IACxCmB,MAAA,CAAKlB,UAAU,GAAGN,OAAO;IACzBwB,MAAA,CAAKjB,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BiB,MAAA,CAAKf,aAAa,GAAGZ,kBAAkB;IACvC2B,MAAA,CAAKC,kBAAkB,GAAGtC,qCAAqC,CAACuC,QAAQ,CAAC7B,kBAAkB,CAAC;IAC5F2B,MAAA,CAAKG,wBAAwB,GAC3BvC,4CAA4C,CAACsC,QAAQ,CAAC7B,kBAAkB,CAAC;IAC3E2B,MAAA,CAAKD,WAAW,GAAGA,WAAW;IAAC,OAAAC,MAAA;EACjC;EAAC,WAAAd,aAAA,CAAApD,OAAA,EAAA8D,yBAAA;AAAA,oBAAAT,iBAAA,CAAArD,OAAA,EA5B4CkD,KAAK;AA+BpD;AACA;AACA;AAFA,IAGaoB,6BAA6B,GAAAnC,OAAA,CAAAmC,6BAAA,0BAAAC,OAAA;EAAA,IAAAlC,UAAA,CAAArC,OAAA,EAAAsE,6BAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAApE,YAAA,CAAAkE,6BAAA;EAKxC;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,8BAAY/B,kBAA2B,EAAEC,WAAoB,EAAEE,OAAgB,EAAE;IAAA,IAAA+B,MAAA;IAAA,IAAA7B,gBAAA,CAAA5C,OAAA,QAAAsE,6BAAA;IAC/EG,MAAA,GAAAD,OAAA,CAAAlD,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyE,MAAA;IAAA,IAAA1E,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyE,MAAA;IAAA,IAAA1E,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyE,MAAA;IAAA,IAAA1E,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAyE,MAAA;IAChDA,MAAA,CAAK1B,IAAI,GAAG,+BAA+B;IAC3C0B,MAAA,CAAKzB,UAAU,GAAGN,OAAO;IACzB+B,MAAA,CAAKxB,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BwB,MAAA,CAAKtB,aAAa,GAAGZ,kBAAkB;IACvCkC,MAAA,CAAKjC,WAAW,GAAGA,WAAW;IAAC,OAAAiC,MAAA;EACjC;EAAC,WAAArB,aAAA,CAAApD,OAAA,EAAAsE,6BAAA;AAAA,oBAAAjB,iBAAA,CAAArD,OAAA,EAnBgDkD,KAAK;AAsBxD;AACA;AACA;AAFA,IAGawB,+BAA+B,GAAAvC,OAAA,CAAAuC,+BAAA,0BAAAC,OAAA;EAAA,IAAAtC,UAAA,CAAArC,OAAA,EAAA0E,+BAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAxE,YAAA,CAAAsE,+BAAA;EAK1C;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,gCAAYnC,kBAA2B,EAAEC,WAAoB,EAAEE,OAAgB,EAAE;IAAA,IAAAmC,MAAA;IAAA,IAAAjC,gBAAA,CAAA5C,OAAA,QAAA0E,+BAAA;IAC/EG,MAAA,GAAAD,OAAA,CAAAtD,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6E,MAAA;IAAA,IAAA9E,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6E,MAAA;IAAA,IAAA9E,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6E,MAAA;IAAA,IAAA9E,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA6E,MAAA;IAChDA,MAAA,CAAK9B,IAAI,GAAG,iCAAiC;IAC7C8B,MAAA,CAAK7B,UAAU,GAAGN,OAAO;IACzBmC,MAAA,CAAK5B,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9B4B,MAAA,CAAK1B,aAAa,GAAGZ,kBAAkB;IACvCsC,MAAA,CAAKrC,WAAW,GAAGA,WAAW;IAAC,OAAAqC,MAAA;EACjC;EAAC,WAAAzB,aAAA,CAAApD,OAAA,EAAA0E,+BAAA;AAAA,oBAAArB,iBAAA,CAAArD,OAAA,EAnBkDkD,KAAK;AAsB1D;AACA;AACA;AAFA,IAGa4B,wCAAwC,GAAA3C,OAAA,CAAA2C,wCAAA,0BAAAC,OAAA;EAAA,IAAA1C,UAAA,CAAArC,OAAA,EAAA8E,wCAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAA5E,YAAA,CAAA0E,wCAAA;EAInD;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,yCAAYvC,kBAA2B,EAA+C;IAAA,IAAA0C,MAAA;IAAA,IAA7CvC,OAAe,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAGiC,yBAAyB;IAAA,IAAAgB,gBAAA,CAAA5C,OAAA,QAAA8E,wCAAA;IAClFG,MAAA,GAAAD,OAAA,CAAA1D,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAiF,MAAA;IAAA,IAAAlF,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAiF,MAAA;IAAA,IAAAlF,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAiF,MAAA;IAChDA,MAAA,CAAKlC,IAAI,GAAG,0CAA0C;IACtDkC,MAAA,CAAKjC,UAAU,GAAGN,OAAO;IACzBuC,MAAA,CAAKhC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BgC,MAAA,CAAK9B,aAAa,GAAGZ,kBAAkB;IAAC,OAAA0C,MAAA;EAC1C;EAAC,WAAA7B,aAAA,CAAApD,OAAA,EAAA8E,wCAAA;AAAA,oBAAAzB,iBAAA,CAAArD,OAAA,EAhB2DkD,KAAK;AAmBnE;AACA;AACA;AAFA,IAGagC,qCAAqC,GAAA/C,OAAA,CAAA+C,qCAAA,0BAAAC,OAAA;EAAA,IAAA9C,UAAA,CAAArC,OAAA,EAAAkF,qCAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAAhF,YAAA,CAAA8E,qCAAA;EAIhD;AACF;AACA;AACA;AACA;AACA;AACA;EACE,SAAAA,sCACE3C,kBAA2B,EAG3B;IAAA,IAAA8C,MAAA;IAAA,IAFA3C,OAAO,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG+B,8BAA8B;IAAA,IACxC4D,MAAM,GAAA3F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG,KAAK;IAAA,IAAAiD,gBAAA,CAAA5C,OAAA,QAAAkF,qCAAA;IAEdG,MAAA,GAAAD,OAAA,CAAA9D,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB,eAAAM,MAAA,CAAYyC,MAAM;IAAI,IAAAvF,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAqF,MAAA;IAAA,IAAAtF,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAqF,MAAA;IAAA,IAAAtF,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAAqF,MAAA;IAClEA,MAAA,CAAKtC,IAAI,GAAG,uCAAuC;IACnDsC,MAAA,CAAKrC,UAAU,GAAGN,OAAO;IACzB2C,MAAA,CAAKpC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9BoC,MAAA,CAAKlC,aAAa,GAAGZ,kBAAkB;IAAC,OAAA8C,MAAA;EAC1C;EAAC,WAAAjC,aAAA,CAAApD,OAAA,EAAAkF,qCAAA;AAAA,oBAAA7B,iBAAA,CAAArD,OAAA,EArBwDkD,KAAK;AAwBhE;AACA;AACA;AAFA,IAGaqC,2CAA2C,GAAApD,OAAA,CAAAoD,2CAAA,0BAAAC,OAAA;EAAA,IAAAnD,UAAA,CAAArC,OAAA,EAAAuF,2CAAA,EAAAC,OAAA;EAAA,IAAAC,OAAA,GAAArF,YAAA,CAAAmF,2CAAA;EAItD;AACF;AACA;AACA;AACA;AACA;EACE,SAAAA,4CAAYhD,kBAA2B,EAAwD;IAAA,IAAAmD,MAAA;IAAA,IAAtDhD,OAAO,GAAA/C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAGgC,0CAA0C;IAAA,IAAAiB,gBAAA,CAAA5C,OAAA,QAAAuF,2CAAA;IAC3FG,MAAA,GAAAD,OAAA,CAAAnE,IAAA,UAAAuB,MAAA,CAASH,OAAO,aAAAG,MAAA,CAAUN,kBAAkB;IAAI,IAAAxC,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA0F,MAAA;IAAA,IAAA3F,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA0F,MAAA;IAAA,IAAA3F,gBAAA,CAAAC,OAAA,MAAA8C,uBAAA,CAAA9C,OAAA,EAAA0F,MAAA;IAChDA,MAAA,CAAK3C,IAAI,GAAG,6CAA6C;IACzD2C,MAAA,CAAK1C,UAAU,GAAGN,OAAO;IACzBgD,MAAA,CAAKzC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAC,CAACD,KAAK;IAC9ByC,MAAA,CAAKvC,aAAa,GAAGZ,kBAAkB;IAAC,OAAAmD,MAAA;EAC1C;EAAC,WAAAtC,aAAA,CAAApD,OAAA,EAAAuF,2CAAA;AAAA,oBAAAlC,iBAAA,CAAArD,OAAA,EAhB8DkD,KAAK;AAmBtE;AACA;AACA;AAFA,IAGqByC,aAAa,GAAAxD,OAAA,CAAAnC,OAAA;EAGhC;AACF;AACA;AACA;EACE,SAAA2F,cAAYC,KAAK,EAAE;IAAA,IAAAhD,gBAAA,CAAA5C,OAAA,QAAA2F,aAAA;IAAA,IAAA5F,gBAAA,CAAAC,OAAA;IAoBnB;AACF;AACA;AACA;AACA;IAJE,IAAAD,gBAAA,CAAAC,OAAA,6BAKoB,UAAC6F,GAAG,EAAK;MAAA,IAAAC,SAAA;MAC3B,IAAI,CAACD,GAAG,CAACE,IAAI,EAAE;QACb;MACF;MAEA,IAAIhE,kBAAkB,CAACqC,QAAQ,EAAA0B,SAAA,GAACD,GAAG,CAACE,IAAI,cAAAD,SAAA,uBAARA,SAAA,CAAUE,IAAI,CAAC,EAAE;QAAA,IAAAC,UAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,UAAA;QAC/CC,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACC,yBAAyB,EAAE;UACzET,IAAI,GAAAC,UAAA,GAAEJ,GAAG,CAACE,IAAI,cAAAE,UAAA,uBAARA,UAAA,CAAUD;QAClB,CAAC,CAAC;QAEF,MAAM,IAAItC,wBAAwB,EAAAwC,UAAA,GAChCL,GAAG,CAACE,IAAI,cAAAG,UAAA,uBAARA,UAAA,CAAUF,IAAI,GAAAG,UAAA,GACdN,GAAG,CAACE,IAAI,cAAAI,UAAA,wBAAAC,eAAA,GAARD,UAAA,CAAUO,IAAI,cAAAN,eAAA,uBAAdA,eAAA,CAAgB5D,WAAW,GAAA6D,UAAA,GAC3BR,GAAG,CAACE,IAAI,cAAAM,UAAA,uBAARA,UAAA,CAAU3D,OACZ,CAAC;MACH;IACF,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE,IAAA3C,gBAAA,CAAAC,OAAA,kCAKyB,UAAC6F,GAAG,EAAK;MAAA,IAAAc,UAAA;MAChC,IAAI,CAACd,GAAG,CAACE,IAAI,EAAE;QACb;MACF;MAEA,IAAI9D,wBAAwB,CAACmC,QAAQ,EAAAuC,UAAA,GAACd,GAAG,CAACE,IAAI,cAAAY,UAAA,uBAARA,UAAA,CAAUX,IAAI,CAAC,EAAE;QAAA,IAAAY,UAAA,EAAAC,UAAA,EAAAC,UAAA,EAAAC,eAAA,EAAAC,WAAA;QACrDV,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACS,kBAAkB,EAAE;UAClEjB,IAAI,GAAAY,UAAA,GAAEf,GAAG,CAACE,IAAI,cAAAa,UAAA,uBAARA,UAAA,CAAUZ;QAClB,CAAC,CAAC;QAEF,MAAM,IAAI1B,6BAA6B,EAAAuC,UAAA,GACrChB,GAAG,CAACE,IAAI,cAAAc,UAAA,uBAARA,UAAA,CAAUb,IAAI,GAAAc,UAAA,GACdjB,GAAG,CAACE,IAAI,cAAAe,UAAA,wBAAAC,eAAA,GAARD,UAAA,CAAUJ,IAAI,cAAAK,eAAA,uBAAdA,eAAA,CAAgBvE,WAAW,GAAAwE,WAAA,GAC3BnB,GAAG,CAACE,IAAI,cAAAiB,WAAA,uBAARA,WAAA,CAAUtE,OACZ,CAAC;MACH;IACF,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE,IAAA3C,gBAAA,CAAAC,OAAA,gCAKuB,UAAC6F,GAAG,EAAK;MAAA,IAAAqB,WAAA;MAC9B,IAAI,CAACrB,GAAG,CAACE,IAAI,EAAE;QACb;MACF;MAEA,IAAI/D,oBAAoB,CAACoC,QAAQ,EAAA8C,WAAA,GAACrB,GAAG,CAACE,IAAI,cAAAmB,WAAA,uBAARA,WAAA,CAAUlB,IAAI,CAAC,EAAE;QAAA,IAAAmB,WAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,gBAAA,EAAAC,WAAA;QACjDjB,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACgB,oBAAoB,EAAE;UACpExB,IAAI,GAAAmB,WAAA,GAAEtB,GAAG,CAACE,IAAI,cAAAoB,WAAA,uBAARA,WAAA,CAAUnB;QAClB,CAAC,CAAC;QAEF,MAAM,IAAItB,+BAA+B,EAAA0C,WAAA,GACvCvB,GAAG,CAACE,IAAI,cAAAqB,WAAA,uBAARA,WAAA,CAAUpB,IAAI,GAAAqB,WAAA,GACdxB,GAAG,CAACE,IAAI,cAAAsB,WAAA,wBAAAC,gBAAA,GAARD,WAAA,CAAUX,IAAI,cAAAY,gBAAA,uBAAdA,gBAAA,CAAgB9E,WAAW,GAAA+E,WAAA,GAC3B1B,GAAG,CAACE,IAAI,cAAAwB,WAAA,uBAARA,WAAA,CAAU7E,OACZ,CAAC;MACH;IACF,CAAC;IAtFC,IAAI,CAACkD,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE,IAAAxC,aAAA,CAAApD,OAAA,EAAA2F,aAAA;IAAA8B,GAAA;IAAAC,KAAA,EAQA,SAAAC,iBAAiBC,WAAmB,EAAuB;MAAA,IAArBC,IAAY,GAAAlI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG,IAAI;MACvD,OAAOmI,cAAe,CAACC,kBAAkB,CAAC;QACxCH,WAAW,EAAXA,WAAW;QACXC,IAAI,EAAJA,IAAI;QACJjC,KAAK,EAAE,IAAI,CAACA;MACd,CAAC,CAAC;IACJ;EAAC;IAAA6B,GAAA;IAAAC,KAAA;IAuED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IARE;MAAA,IAAAM,iDAAA,OAAAC,kBAAA,CAAAjI,OAAA,gBAAAkI,YAAA,CAAAlI,OAAA,CAAAmI,IAAA,CASA,SAAAC,QACEC,eAAuB,EACvBC,cAAuB;QAAA,IAAAC,OAAA;QAAA,IAAAC,uBAAA;UAAAC,WAAA;UAAAC,KAAA,GAAA/I,SAAA;QAAA,OAAAuI,YAAA,CAAAlI,OAAA,CAAA2I,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAEvBP,uBAAuB,GAAAE,KAAA,CAAA9I,MAAA,QAAA8I,KAAA,QAAA/F,SAAA,GAAA+F,KAAA,MAAG,KAAK;cAEzBD,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAyB;gBAAA,IAArBO,WAAW,GAAArJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAgD,SAAA,GAAAhD,SAAA,MAAG,EAAE;gBACnC,IAAMsJ,QAAQ,GAAG,EAAE;gBAEnB,IAAID,WAAW,EAAE;kBACfA,WAAW,CAAClJ,OAAO,CAAC,UAACoJ,WAAW,EAAK;oBACnCD,QAAQ,CAACzJ,IAAI,CAAC;sBACZ2J,KAAK,EAAED,WAAW,CAACE,YAAY;sBAC/BC,UAAU,EAAEH,WAAW,CAACI;oBAC1B,CAAC,CAAC;kBACJ,CAAC,CAAC;gBACJ;gBAEA,OAAOL,QAAQ;cACjB,CAAC;cAAA,OAAAJ,QAAA,CAAAU,MAAA,WAEM,IAAI,CAAC3D,KAAK,CACd4D,OAAO,CAAC;gBAACC,GAAG,EAAEpB,eAAe;gBAAEqB,EAAE,EAAE;kBAACC,mBAAmB,EAAE;gBAAI,CAAC;gBAAEC,gBAAgB,EAAE;cAAI,CAAC,CAAC,CACxFC,IAAI,CAAC,UAAAC,IAAA,EAA0B;gBAAA,IAAAC,qBAAA;gBAAA,IAAlBC,YAAY,GAAAF,IAAA,CAAlB/D,IAAI;gBACV,IAAMA,IAAI,GAAG;kBACXkE,KAAK,EAAED,YAAY,CAACE,WAAW;kBAC/BC,QAAQ,EAAEH,YAAY,CAACI,GAAG;kBAC1BC,MAAM,EAAEL,YAAY,CAACM,gBAAgB;kBACrCC,MAAM,EAAEP,YAAY,CAACQ,oBAAoB;kBACzCvB,QAAQ,EAAER,WAAW,EAAAsB,qBAAA,GAACC,YAAY,CAACS,YAAY,cAAAV,qBAAA,uBAAzBA,qBAAA,CAA2BW,KAAK,CAAC;kBACvDpC,cAAc,EAAdA,cAAc;kBACdqC,QAAQ,EAAEnC;gBACZ,CAAC;gBAED,IAAIF,cAAc,EAAE;kBAClBvC,IAAI,CAACuC,cAAc,GAAGA,cAAc;gBACtC;gBAEA,IAAMmB,GAAG,GAAGlB,OAAI,CAAC3C,KAAK,CAACgF,QAAQ,CAACC,kBAAkB,cAAAhI,MAAA,CACnC0F,OAAI,CAAC3C,KAAK,CAACgF,QAAQ,CAACC,kBAAkB,2CACjD,EAAE;gBAEN,OAAOtC,OAAI,CAAC3C,KAAK,CAAC4D,OAAO,CAAC;kBACxBsB,MAAM,EAAEC,qBAAU,CAACC,IAAI;kBACvBvB,GAAG,EAAHA,GAAG;kBACH1D,IAAI,EAAJA;gBACF,CAAC,CAAC;cACJ,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA8C,QAAA,CAAAoC,IAAA;UAAA;QAAA,GAAA7C,OAAA;MAAA,CACL;MAAA,SAAA8C,iDAAAC,EAAA,EAAAC,GAAA;QAAA,OAAApD,iDAAA,CAAAvI,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAuL,gDAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE;EAAA;IAAAzD,GAAA;IAAAC,KAAA;MAAA,IAAA2D,wBAAA,OAAApD,kBAAA,CAAAjI,OAAA,gBAAAkI,YAAA,CAAAlI,OAAA,CAAAmI,IAAA,CAQA,SAAAmD,SAA8BjD,eAAuB,EAAEC,cAAuB;QAAA,IAAAiD,OAAA;QAAA,OAAArD,YAAA,CAAAlI,OAAA,CAAA2I,IAAA,UAAA6C,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA3C,IAAA,GAAA2C,SAAA,CAAA1C,IAAA;YAAA;cAAA,IACvE,IAAI,CAACnD,KAAK,CAACgF,QAAQ,CAACC,kBAAkB;gBAAAY,SAAA,CAAA1C,IAAA;gBAAA;cAAA;cAAA,MACnC7F,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAAA,OAAAuI,SAAA,CAAAlC,MAAA,WAGvC,IAAI,CAAC2B,gDAAgD,CAAC7C,eAAe,EAAEC,cAAc,CAAC,CAC1FuB,IAAI,CAAC,UAAC6B,aAAa,EAAK;gBACvBpF,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACmF,qBAAqB,CAAC;gBAEtE,OAAOD,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAAC/F,GAAG,EAAK;gBAAA,IAAAgG,WAAA,EAAAC,WAAA;gBACdP,OAAI,CAACQ,iBAAiB,CAAClG,GAAG,CAAC;gBAC3B0F,OAAI,CAACS,sBAAsB,CAACnG,GAAG,CAAC;gBAChC0F,OAAI,CAACU,oBAAoB,CAACpG,GAAG,CAAC;gBAE9BS,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC0F,qBAAqB,EAAE;kBACrEC,MAAM,EAAEtG,GAAG,CAACnD,OAAO;kBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;gBACb,CAAC,CAAC;gBACF,MAAM,IAAIK,8BAA8B,EAAAuI,WAAA,GAAChG,GAAG,CAACE,IAAI,cAAA8F,WAAA,uBAARA,WAAA,CAAU7F,IAAI,GAAA8F,WAAA,GAAEjG,GAAG,CAACE,IAAI,cAAA+F,WAAA,uBAARA,WAAA,CAAUpJ,OAAO,CAAC;cAC7E,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA+I,SAAA,CAAAR,IAAA;UAAA;QAAA,GAAAK,QAAA;MAAA,CACL;MAAA,SAAAc,wBAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAjB,wBAAA,CAAA5L,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAyM,uBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANE;EAAA;IAAA3E,GAAA;IAAAC,KAAA;MAAA,IAAA6E,uBAAA,OAAAtE,kBAAA,CAAAjI,OAAA,gBAAAkI,YAAA,CAAAlI,OAAA,CAAAmI,IAAA,CAOA,SAAAqE,SAA6BnE,eAAuB;QAAA,IAAAtC,IAAA,EAAA0D,GAAA;QAAA,OAAAvB,YAAA,CAAAlI,OAAA,CAAA2I,IAAA,UAAA8D,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA5D,IAAA,GAAA4D,SAAA,CAAA3D,IAAA;YAAA;cAAA,IAC7C,IAAI,CAACnD,KAAK,CAACgF,QAAQ,CAACC,kBAAkB;gBAAA6B,SAAA,CAAA3D,IAAA;gBAAA;cAAA;cAAA,MACnC7F,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAGxC6C,IAAI,GAAG;gBACXoE,QAAQ,EAAE9B;cACZ,CAAC;cAEKoB,GAAG,GAAG,IAAI,CAAC7D,KAAK,CAACgF,QAAQ,CAACC,kBAAkB,cAAAhI,MAAA,CACnC,IAAI,CAAC+C,KAAK,CAACgF,QAAQ,CAACC,kBAAkB,iDACjD,EAAE;cAAA,OAAA6B,SAAA,CAAAnD,MAAA,WAEC,IAAI,CAAC3D,KAAK,CACd4D,OAAO,CAAC;gBACPsB,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBvB,GAAG,EAAHA,GAAG;gBACH1D,IAAI,EAAJA;cACF,CAAC,CAAC,CACD8D,IAAI,CAAC,UAAC6B,aAAa,EAAK;gBACvBpF,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACmG,iCAAiC,CAAC;gBAElF,OAAOjB,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAAC/F,GAAG,EAAK;gBACd,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+G,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAC,WAAA,EAAAC,WAAA;kBAC3BxG,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACuG,iCAAiC,EAAE;oBACjFZ,MAAM,EAAEtG,GAAG,CAACnD,OAAO;oBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAI6B,wCAAwC,EAAA+H,WAAA,GAAChH,GAAG,CAACE,IAAI,cAAA8G,WAAA,uBAARA,WAAA,CAAU7G,IAAI,GAAA8G,WAAA,GAAEjH,GAAG,CAACE,IAAI,cAAA+G,WAAA,uBAARA,WAAA,CAAUpK,OAAO,CAAC;gBACvF;gBACA4D,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACwG,iCAAiC,EAAE;kBACjFb,MAAM,EAAEtG,GAAG,CAACnD,OAAO;kBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;gBACb,CAAC,CAAC;gBAEF,MAAM4C,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA6G,SAAA,CAAAzB,IAAA;UAAA;QAAA,GAAAuB,QAAA;MAAA,CACL;MAAA,SAAAS,uBAAAC,GAAA;QAAA,OAAAX,uBAAA,CAAA9M,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAsN,sBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANE;EAAA;IAAAxF,GAAA;IAAAC,KAAA;MAAA,IAAAyF,wBAAA,OAAAlF,kBAAA,CAAAjI,OAAA,gBAAAkI,YAAA,CAAAlI,OAAA,CAAAmI,IAAA,CAOA,SAAAiF,SAA8B/E,eAAuB;QAAA,OAAAH,YAAA,CAAAlI,OAAA,CAAA2I,IAAA,UAAA0E,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAxE,IAAA,GAAAwE,SAAA,CAAAvE,IAAA;YAAA;cAAA,IAC9C,IAAI,CAACnD,KAAK,CAACgF,QAAQ,CAACC,kBAAkB;gBAAAyC,SAAA,CAAAvE,IAAA;gBAAA;cAAA;cAAA,MACnC7F,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAAA,OAAAoK,SAAA,CAAA/D,MAAA,WAGvC,IAAI,CAAC2B,gDAAgD,CAAC7C,eAAe,EAAE1F,SAAS,EAAE,IAAI,CAAC,CAC3FkH,IAAI,CAAC,UAAC6B,aAAa,EAAK;gBACvBpF,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+G,kCAAkC,CAAC;gBAEnF,OAAO7B,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAAC/F,GAAG,EAAK;gBACd,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+G,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAY,WAAA,EAAAC,WAAA;kBAC3BnH,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACkH,4BAA4B,EAAE;oBAC5EvB,MAAM,EAAEtG,GAAG,CAACnD,OAAO;oBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIiC,qCAAqC,EAAAsI,WAAA,GAAC3H,GAAG,CAACE,IAAI,cAAAyH,WAAA,uBAARA,WAAA,CAAUxH,IAAI,GAAAyH,WAAA,GAAE5H,GAAG,CAACE,IAAI,cAAA0H,WAAA,uBAARA,WAAA,CAAU/K,OAAO,EAAE,IAAI,CAAC;gBAC1F;gBAEA,IAAI,CAAAmD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+G,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAe,WAAA,EAAAC,WAAA;kBAC3BtH,gBAAO,CAACC,oBAAoB,CAC1BC,mBAAkB,CAACqH,wCAAwC,EAC3D;oBACE1B,MAAM,EAAEtG,GAAG,CAACnD,OAAO;oBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;kBACb,CACF,CAAC;kBAED,MAAM,IAAIsC,2CAA2C,EAAAoI,WAAA,GAAC9H,GAAG,CAACE,IAAI,cAAA4H,WAAA,uBAARA,WAAA,CAAU3H,IAAI,GAAA4H,WAAA,GAAE/H,GAAG,CAACE,IAAI,cAAA6H,WAAA,uBAARA,WAAA,CAAUlL,OAAO,CAAC;gBAC1F;gBAEA4D,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACsH,kCAAkC,EAAE;kBAClF3B,MAAM,EAAEtG,GAAG,CAACnD,OAAO;kBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;gBACb,CAAC,CAAC;gBAEF,MAAM4C,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAyH,SAAA,CAAArC,IAAA;UAAA;QAAA,GAAAmC,QAAA;MAAA,CACL;MAAA,SAAA5E,wBAAAuF,GAAA;QAAA,OAAAZ,wBAAA,CAAA1N,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA6I,uBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;IANE;EAAA;IAAAf,GAAA;IAAAC,KAAA;MAAA,IAAAsG,yBAAA,OAAA/F,kBAAA,CAAAjI,OAAA,gBAAAkI,YAAA,CAAAlI,OAAA,CAAAmI,IAAA,CAOA,SAAA8F,SAA+B5F,eAAuB;QAAA,IAAAtC,IAAA,EAAA0D,GAAA;QAAA,OAAAvB,YAAA,CAAAlI,OAAA,CAAA2I,IAAA,UAAAuF,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArF,IAAA,GAAAqF,SAAA,CAAApF,IAAA;YAAA;cAAA,IAC/C,IAAI,CAACnD,KAAK,CAACgF,QAAQ,CAACC,kBAAkB;gBAAAsD,SAAA,CAAApF,IAAA;gBAAA;cAAA;cAAA,MACnC7F,KAAK,CAAC,+BAA+B,CAAC;YAAA;cAGxC6C,IAAI,GAAG;gBACXoE,QAAQ,EAAE9B;cACZ,CAAC;cAEKoB,GAAG,GAAG,IAAI,CAAC7D,KAAK,CAACgF,QAAQ,CAACC,kBAAkB,cAAAhI,MAAA,CACnC,IAAI,CAAC+C,KAAK,CAACgF,QAAQ,CAACC,kBAAkB,mEACjD,EAAE;cAAA,OAAAsD,SAAA,CAAA5E,MAAA,WAEC,IAAI,CAAC3D,KAAK,CACd4D,OAAO,CAAC;gBACPsB,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBvB,GAAG,EAAHA,GAAG;gBACH1D,IAAI,EAAJA;cACF,CAAC,CAAC,CACD8D,IAAI,CAAC,UAAC6B,aAAa,EAAK;gBACvBpF,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC4H,mCAAmC,CAAC;gBAEpF,OAAO1C,aAAa;cACtB,CAAC,CAAC,CACDE,KAAK,CAAC,UAAC/F,GAAG,EAAK;gBACd,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+G,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAyB,WAAA,EAAAC,WAAA;kBAC3BhI,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACkH,4BAA4B,EAAE;oBAC5EvB,MAAM,EAAEtG,GAAG,CAACnD,OAAO;oBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIiC,qCAAqC,EAAAmJ,WAAA,GAACxI,GAAG,CAACE,IAAI,cAAAsI,WAAA,uBAARA,WAAA,CAAUrI,IAAI,GAAAsI,WAAA,GAAEzI,GAAG,CAACE,IAAI,cAAAuI,WAAA,uBAARA,WAAA,CAAU5L,OAAO,CAAC;gBACpF;gBACA4D,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+H,mCAAmC,EAAE;kBACnFpC,MAAM,EAAEtG,GAAG,CAACnD,OAAO;kBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;gBACb,CAAC,CAAC;gBAEF,MAAM4C,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAsI,SAAA,CAAAlD,IAAA;UAAA;QAAA,GAAAgD,QAAA;MAAA,CACL;MAAA,SAAAO,yBAAAC,GAAA;QAAA,OAAAT,yBAAA,CAAAvO,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA6O,wBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAjBE;EAAA;IAAA/G,GAAA;IAAAC,KAAA;MAAA,IAAAgH,iBAAA,OAAAzG,kBAAA,CAAAjI,OAAA,gBAAAkI,YAAA,CAAAlI,OAAA,CAAAmI,IAAA,CAkBA,SAAAwG,SACE/G,WAAmB;QAAA,IAAAgH,OAAA;QAAA,IAAA/G,IAAA;UAAAgH,QAAA;UAAA5K,WAAA;UAAAqE,cAAA;UAAAwG,OAAA;UAAAC,WAAA;UAAAC,OAAA;UAAAC,cAAA;UAAAC,WAAA;UAAAC,SAAA;UAAAC,YAAA;UAAAC,eAAA;UAAAtJ,IAAA;UAAAuJ,qBAAA;UAAAC,sBAAA;UAAA1J,GAAA;UAAA2J,cAAA;UAAAC,SAAA;UAAAC,MAAA,GAAA/P,SAAA;QAAA,OAAAuI,YAAA,CAAAlI,OAAA,CAAA2I,IAAA,UAAAgH,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9G,IAAA,GAAA8G,SAAA,CAAA7G,IAAA;YAAA;cACnBlB,IAAsB,GAAA6H,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cAC7Bb,QAAgB,GAAAa,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cACvBzL,WAGC,GAAAyL,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cACRpH,cAAc,GAAAoH,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cACrBZ,OAAO,GAAAY,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cACdX,WAAmB,GAAAW,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,CAAC,CAAC;cACxBV,OAAqD,GAAAU,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,CAAC,CAAC;cAC1DT,cAAsB,GAAAS,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cAC7BR,WAAmB,GAAAQ,MAAA,CAAA9P,MAAA,QAAA8P,MAAA,QAAA/M,SAAA,GAAA+M,MAAA,MAAG,IAAI;cAEnBP,SAAS,GAAkBH,OAAO,CAAlCG,SAAS,EAAEC,YAAY,GAAIJ,OAAO,CAAvBI,YAAY;cAAAQ,SAAA,CAAA7G,IAAA;cAAA,OAEAjB,cAAe,CAACC,kBAAkB,CAAC;gBAC/DH,WAAW,EAAXA,WAAW;gBACXC,IAAI,EAAJA,IAAI;gBACJjC,KAAK,EAAE,IAAI,CAACA;cACd,CAAC,CAAC;YAAA;cAJIyJ,eAAe,GAAAO,SAAA,CAAAC,IAAA;cAAA,MAOnBR,eAAe,CAACxH,IAAI,KAAKiI,2BAAgB,CAACC,gBAAgB,IAC1D,IAAI,CAACnK,KAAK,CAACoK,MAAM,CAACpF,QAAQ,CAACqF,YAAY,CAACC,mBAAmB,IAC3D,IAAI,CAACtK,KAAK,CAACgF,QAAQ,CAACC,kBAAkB;gBAAA+E,SAAA,CAAA7G,IAAA;gBAAA;cAAA;cAAA,OAAA6G,SAAA,CAAArG,MAAA,WAE/B,IAAI,CAAC6C,uBAAuB,CAACiD,eAAe,CAACzH,WAAW,EAAEU,cAAc,CAAC;YAAA;cAAAsH,SAAA,CAAA7G,IAAA;cAAA,OAG/DjB,cAAe,CAACqI,cAAc,CAAAzQ,aAAA,CAAAA,aAAA,KAC5C2P,eAAe;gBAClBR,QAAQ,EAARA,QAAQ;gBACR5K,WAAW,EAAXA,WAAW;gBACXqE,cAAc,EAAdA,cAAc;gBACdwG,OAAO,EAAPA,OAAO;gBACPC,WAAW,EAAXA,WAAW;gBACXE,cAAc,EAAdA,cAAc;gBACdmB,kBAAkB,EAAE;cAAI,EACzB,CAAC;YAAA;cATIrK,IAAI,GAAA6J,SAAA,CAAAC,IAAA;cAAA,IAcPQ,eAAM,CAACC,UAAU,CAAC,IAAAC,KAAA,CAAAvQ,OAAA,EAAY+F,IAAI,CAAC,EAAE,IAAAwK,KAAA,CAAAvQ,OAAA,EAAYwQ,4CAAiC,CAAC,CAAC,CAAC5Q,MAAM;gBAAAgQ,SAAA,CAAA7G,IAAA;gBAAA;cAAA;cAEtFlD,GAAG,GAAG,IAAI3C,KAAK,CAAC,8CAA8C,CAAC;cACrEoD,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACiK,6BAA6B,EAAE;gBAC7EtE,MAAM,EAAEtG,GAAG,CAACnD,OAAO;gBACnB2M,eAAe,EAAEA,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAExH,IAAI;gBACtC6I,cAAc,EAAErB,eAAe,aAAfA,eAAe,wBAAAC,qBAAA,GAAfD,eAAe,CAAEsB,IAAI,cAAArB,qBAAA,uBAArBA,qBAAA,CAAuBoB,cAAc;gBACrDE,MAAM,EAAEvB,eAAe,aAAfA,eAAe,wBAAAE,sBAAA,GAAfF,eAAe,CAAEsB,IAAI,cAAApB,sBAAA,uBAArBA,sBAAA,CAAuBqB;cACjC,CAAC,CAAC;cAAC,MAEG/K,GAAG;YAAA;cAGL2J,cAAmB,GAAG;gBAC1B1E,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBjF,IAAI,EAAJA;cACF,CAAC;cAAA6J,SAAA,CAAA7G,IAAA;cAAA,OAEuBjB,cAAe,CAAC+I,uBAAuB,CAACxB,eAAe,CAAC;YAAA;cAA1EI,SAAS,GAAAG,SAAA,CAAAC,IAAA;cAEf,IAAIX,WAAW,EAAE;gBACfM,cAAc,CAAC/F,GAAG,cAAA5G,MAAA,CAAcqM,WAAW,8BAA2B;cACxE,CAAC,MAAM,IAAIO,SAAS,EAAE;gBACpBD,cAAc,CAAC/F,GAAG,GAAGgG,SAAS;cAChC,CAAC,MAAM;gBACLD,cAAc,CAACsB,OAAO,GAAGC,4BAAiB;gBAC1CvB,cAAc,CAACwB,QAAQ,GAAG,aAAa;cACzC;cAEA,IAAI7B,SAAS,IAAIC,YAAY,EAAE;gBAC7B,IAAI,CAACxJ,KAAK,CAACqL,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;kBACjDpO,IAAI,EAAE;gBACR,CAAC,CAAC;gBAEF,IAAI,CAAC6C,KAAK,CAACqL,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;kBAC/CrO,IAAI,EAAE,4BAA4B;kBAClCiM,OAAO,EAAE;oBACPG,SAAS,EAATA;kBACF;gBACF,CAAC,CAAC;cACJ;cAAC,OAAAS,SAAA,CAAArG,MAAA,WAEM,IAAI,CAAC3D,KAAK,CACd4D,OAAO,CAACgG,cAAc,CAAC,CACvB3F,IAAI,CAAC,UAACwH,QAAQ,EAAK;gBAClB,IAAIlC,SAAS,IAAIC,YAAY,EAAE;kBAAA,IAAAkC,cAAA,EAAAC,eAAA,EAAAC,eAAA;kBAC7B5C,OAAI,CAAChJ,KAAK,CAACqL,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;oBACjDpO,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEF6L,OAAI,CAAChJ,KAAK,CAACqL,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;oBAC/CrO,IAAI,EAAE,6BAA6B;oBACnC0O,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAEN,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEjH;sBAC9B;oBACF,CAAC;oBACD4E,OAAO,EAAE;sBACPG,SAAS,EAATA,SAAS;sBACTyC,oBAAoB,EAAE,CAAAP,QAAQ,aAARA,QAAQ,wBAAAC,cAAA,GAARD,QAAQ,CAAEtL,IAAI,cAAAuL,cAAA,uBAAdA,cAAA,CAAgBO,SAAS,MAAIR,QAAQ,aAARA,QAAQ,wBAAAE,eAAA,GAARF,QAAQ,CAAEtL,IAAI,cAAAwL,eAAA,uBAAdA,eAAA,CAAgBO,MAAM;sBACzEC,eAAe,EAAEV,QAAQ,aAARA,QAAQ,wBAAAG,eAAA,GAARH,QAAQ,CAAEtL,IAAI,cAAAyL,eAAA,uBAAdA,eAAA,CAAgBrC;oBACnC;kBACF,CAAC,CAAC;gBACJ;gBACA7I,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACwL,6BAA6B,CAAC;gBAE9E,OAAOX,QAAQ;cACjB,CAAC,CAAC,CACDzF,KAAK,CAAC,UAAC/F,GAAG,EAAK;gBACd,IAAIsJ,SAAS,IAAIC,YAAY,EAAE;kBAC7BR,OAAI,CAAChJ,KAAK,CAACqL,QAAQ,CAACC,UAAU,CAACC,mBAAmB,CAAC;oBACjDpO,IAAI,EAAE;kBACR,CAAC,CAAC;kBAEF6L,OAAI,CAAChJ,KAAK,CAACqL,QAAQ,CAACC,UAAU,CAACE,iBAAiB,CAAC;oBAC/CrO,IAAI,EAAE,6BAA6B;oBACnC0O,OAAO,EAAE;sBACPC,WAAW,EAAE;wBACXC,gBAAgB,EAAE9L,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEuE;sBACzB;oBACF,CAAC;oBACD4E,OAAO,EAAE;sBACPG,SAAS,EAATA,SAAS;sBACT8C,QAAQ,EAAEpM;oBACZ;kBACF,CAAC,CAAC;gBACJ;gBAEA,IAAI,CAAAA,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+G,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAAsF,WAAA,EAAAC,WAAA,EAAAC,gBAAA;kBAC3BxD,OAAI,CAAC7C,iBAAiB,CAAClG,GAAG,CAAC;kBAC3B+I,OAAI,CAAC5C,sBAAsB,CAACnG,GAAG,CAAC;kBAChC+I,OAAI,CAAC3C,oBAAoB,CAACpG,GAAG,CAAC;kBAE9BS,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC6L,qBAAqB,EAAE;oBACrElG,MAAM,EAAEtG,GAAG,CAACnD,OAAO;oBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIf,0BAA0B,EAAAgQ,WAAA,GAACrM,GAAG,CAACE,IAAI,cAAAmM,WAAA,uBAARA,WAAA,CAAUlM,IAAI,GAAAmM,WAAA,GAAEtM,GAAG,CAACE,IAAI,cAAAoM,WAAA,wBAAAC,gBAAA,GAARD,WAAA,CAAUzL,IAAI,cAAA0L,gBAAA,uBAAdA,gBAAA,CAAgB5P,WAAW,CAAC;gBACnF;gBACA,IAAI,CAAAqD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+G,UAAU,MAAK,GAAG,EAAE;kBAAA,IAAA0F,WAAA;kBAC3BhM,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAAC+L,oBAAoB,EAAE;oBACpEpG,MAAM,EAAEtG,GAAG,CAACnD,OAAO;oBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;kBACb,CAAC,CAAC;kBAEF,MAAM,IAAIa,yBAAyB,EAAAwO,WAAA,GAACzM,GAAG,CAACE,IAAI,cAAAuM,WAAA,uBAARA,WAAA,CAAUtM,IAAI,EAAE;oBAClDwM,SAAS,EAAE3M,GAAG,CAACE,IAAI,CAAC0M,SAAS;oBAC7BC,oBAAoB,EAAE7M,GAAG,CAACE,IAAI,CAAC2M,oBAAoB;oBACnDC,oBAAoB,EAAE9M,GAAG,CAACE,IAAI,CAAC4M,oBAAoB;oBACnDC,UAAU,EAAE/M,GAAG,CAACE,IAAI,CAAC6M;kBACvB,CAAC,CAAC;gBACJ;gBAEAtM,gBAAO,CAACC,oBAAoB,CAACC,mBAAkB,CAACiK,6BAA6B,EAAE;kBAC7EtE,MAAM,EAAEtG,GAAG,CAACnD,OAAO;kBACnBO,KAAK,EAAE4C,GAAG,CAAC5C;gBACb,CAAC,CAAC;gBACF,MAAM4C,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA+J,SAAA,CAAA3E,IAAA;UAAA;QAAA,GAAA0D,QAAA;MAAA,CACL;MAAA,SAAAkE,iBAAAC,GAAA;QAAA,OAAApE,iBAAA,CAAAjP,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAkT,gBAAA;IAAA;EAAA;EAAA,OAAAlN,aAAA;AAAA"}
|
@@ -282,7 +282,8 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
|
|
282
282
|
installedOrgID = options.installedOrgID,
|
283
283
|
locusId = options.locusId,
|
284
284
|
extraParams = options.extraParams,
|
285
|
-
registrationId = options.registrationId
|
285
|
+
registrationId = options.registrationId,
|
286
|
+
disableWebRedirect = options.disableWebRedirect;
|
286
287
|
var body = _objectSpread(_objectSpread({}, _constants.DEFAULT_MEETING_INFO_REQUEST_BODY), extraParams);
|
287
288
|
switch (type) {
|
288
289
|
case _constants.DESTINATION_TYPE.SIP_URI:
|
@@ -332,6 +333,9 @@ var MeetingInfoUtil = exports.default = /*#__PURE__*/function () {
|
|
332
333
|
if (locusId) {
|
333
334
|
body.locusId = locusId;
|
334
335
|
}
|
336
|
+
if (disableWebRedirect) {
|
337
|
+
body.disableWebRedirect = disableWebRedirect;
|
338
|
+
}
|
335
339
|
return body;
|
336
340
|
}
|
337
341
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","search","JOIN_LINK_MTID","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","registrationId","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n JOIN_LINK_MTID,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`) ||\n (parsedUrl.search && parsedUrl.search.includes(JOIN_LINK_MTID)));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {\n type,\n destination,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n } = options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (registrationId) {\n body.registrationId = registrationId;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAkBA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAqE,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IAvBrE;AAyBA;AACA;AACA;AAFA,IAGqBqB,eAAe,GAAAC,OAAA,CAAAL,OAAA;EAAA,SAAAI,gBAAA;IAAA,IAAAE,gBAAA,CAAAN,OAAA,QAAAI,eAAA;EAAA;EAAA,IAAAG,aAAA,CAAAP,OAAA,EAAAI,eAAA;IAAAI,GAAA;IAAAC,KAAA,EAIlC,SAAAC,aAAoBC,IAAI,EAAE;MACxB,IAAI;QACF,IAAIC,SAAS,GAAGC,YAAG,CAACC,KAAK,CAACH,IAAI,CAAC;QAE/B,IAAI,CAACC,SAAS,EAAE;UACd,OAAO,KAAK;QACd;QACA;QACA,IAAI,CAACA,SAAS,CAACG,QAAQ,EAAE;UACvBH,SAAS,GAAGC,YAAG,CAACC,KAAK,IAAAE,MAAA,CAAIC,yBAAc,EAAAD,MAAA,CAAGL,IAAI,CAAE,CAAC;QACnD;QAEA,OAAOC,SAAS;MAClB,CAAC,CAAC,OAAOM,KAAK,EAAE;QACdC,oBAAW,CAACC,MAAM,CAACC,IAAI,uEAAAL,MAAA,CACiDE,KAAK,CAC7E,CAAC;QAED,OAAO,IAAI;MACb;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAV,GAAA;IAAAC,KAAA,EAKA,SAAAa,cAAqBb,KAAa,EAAE;MAClC,IAAIc,YAAY;MAChB,IAAIC,YAAY;MAChB,IAAMZ,SAAS,GAAG,IAAI,CAACF,YAAY,CAACD,KAAK,CAAC;MAC1C,IAAIG,SAAS,EAAE;QACbW,YAAY,GAAGX,SAAS,CAACa,QAAQ,IAAIb,SAAS,CAACa,QAAQ,CAACC,QAAQ,CAACC,wBAAa,CAAC;QAC/EH,YAAY,GACVZ,SAAS,CAACgB,QAAQ,KACjBhB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKa,eAAI,CAAE,CAAC,IACtCjB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKc,iBAAM,CAAE,CAAC,IACzClB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKe,qBAAU,CAAE,CAAC,IAC7CnB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKgB,kBAAO,CAAE,CAAC,IAC1CpB,SAAS,CAACgB,QAAQ,CAACF,QAAQ,KAAAV,MAAA,CAAKiB,eAAI,CAAE,CAAC,IACtCrB,SAAS,CAACsB,MAAM,IAAItB,SAAS,CAACsB,MAAM,CAACR,QAAQ,CAACS,yBAAc,CAAE,CAAC;MACtE;MAEA,OAAOZ,YAAY,IAAIC,YAAY;IACrC;EAAC;IAAAhB,GAAA;IAAAC,KAAA,EAED,SAAA2B,kBAAyB3B,KAAK,EAAE4B,KAAK,EAAE;MACrC,IAAMC,SAAS,GAAGD,KAAK,CAACE,QAAQ,CAACC,QAAQ,CAACC,YAAY,CAAChC,KAAK,CAAC;MAE7D,IAAI6B,SAAS,EAAE;QACb,OAAOA,SAAS,CAACI,QAAQ,CAACC,+BAAoB,CAAC;MACjD;MAEA,OAAO,KAAK;IACd;EAAC;IAAAnC,GAAA;IAAAC,KAAA,EAED,SAAAmC,SAAgBC,SAAS,EAAE;MACzB;MACA;MACA,IAAMC,MAAM,GAAGC,uBAAY,CAACC,WAAW,CAACC,IAAI,CAACJ,SAAS,CAAC;MAEvD,OAAOC,MAAM;IACf;EAAC;IAAAtC,GAAA;IAAAC,KAAA,EAED,SAAAyC,cAAqBC,WAAW,EAAE;MAChC,IAAMC,aAAa,GAAGL,uBAAY,CAACM,YAAY,CAACC,IAAI,CAACH,WAAW,CAAC;MAEjE,OAAOC,aAAa;IACtB;EAAC;IAAA5C,GAAA;IAAAC,KAAA,EAED,SAAA8C,WAAkBC,WAAW,EAAE;MAC7B,IAAAC,mBAAA,GAA4B,IAAAC,0BAAkB,EAACF,WAAW,CAAC;QAApDG,IAAI,GAAAF,mBAAA,CAAJE,IAAI;QAAEC,EAAE,GAAAH,mBAAA,CAAFG,EAAE;QAAEC,OAAO,GAAAJ,mBAAA,CAAPI,OAAO;MAExB,IAAID,EAAE,IAAIE,mBAAQ,CAACR,IAAI,CAACM,EAAE,CAAC,EAAE;QAC3B,IAAID,IAAI,KAAKI,iBAAM,EAAE;UACnB,OAAO;YAACC,IAAI,EAAE,IAAI;YAAER,WAAW,EAAEI,EAAE;YAAEC,OAAO,EAAPA;UAAO,CAAC;QAC/C;QACA,IAAIF,IAAI,KAAKM,mBAAQ,EAAE;UACrB,OAAO;YAACC,MAAM,EAAE,IAAI;YAAEV,WAAW,EAAEI,EAAE;YAAEC,OAAO,EAAPA;UAAO,CAAC;QACjD;QAEA,OAAO,CAAC,CAAC;MACX;MAEA,OAAO,CAAC,CAAC;IACX;EAAC;IAAArD,GAAA;IAAAC,KAAA,EAED,SAAA0D,2BAAkCX,WAAW,EAAEnB,KAAK,EAAE;MACpD,OAAOA,KAAK,CAAC6B,MAAM,CAChBE,GAAG,CAACZ,WAAW,CAAC,CAChBa,IAAI,CAAC,UAACC,GAAG,EAAK;QACb,IAAIA,GAAG,CAACC,MAAM,IAAID,GAAG,CAACC,MAAM,CAAC3E,MAAM,EAAE;UACnC,OAAO0E,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;QACtB;QACA,MAAM,IAAIC,kBAAc,CAAC,iDAAiD,CAAC;MAC7E,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,GAAG,EAAK;QACdvD,oBAAW,CAACC,MAAM,CAACF,KAAK,gGAAAF,MAAA,CACyE0D,GAAG,MACpG,CAAC;QACD,MAAMA,GAAG;MACX,CAAC,CAAC;IACN;EAAC;IAAAlE,GAAA;IAAAC,KAAA;MAAA,IAAAkE,mBAAA,OAAAC,kBAAA,CAAA5E,OAAA,gBAAA6E,YAAA,CAAA7E,OAAA,CAAA8E,IAAA,CAED,SAAAC,QAAgCC,IAAI;QAAA,IAAArB,IAAA,EAAAtB,KAAA,EAAAmB,WAAA,EAAAyB,QAAA,EAAAX,GAAA,EAAAY,WAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAC,OAAA;QAAA,OAAAT,YAAA,CAAA7E,OAAA,CAAAuF,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAC3BhC,IAAI,GAAWqB,IAAI,CAAnBrB,IAAI,EAAEtB,KAAK,GAAI2C,IAAI,CAAb3C,KAAK;cACbmB,WAAW,GAAIwB,IAAI,CAAnBxB,WAAW;cAAA,MAEZG,IAAI,KAAKiC,2BAAgB,CAACC,aAAa;gBAAAJ,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,IAEpCnC,WAAW;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACd;cACAnC,WAAW,GAAG;gBACZ4B,MAAM,EAAE/C,KAAK,CAACE,QAAQ,CAACuD,MAAM,CAACV,MAAM;gBACpCD,KAAK,EAAE9C,KAAK,CAACE,QAAQ,CAACuD,MAAM,CAACX;cAC/B,CAAC;cAACM,QAAA,CAAAE,IAAA;cAAA;YAAA;cAEIN,QAAO,GAAGU,8BAAmB,CAACzC,IAAI,CAACE,WAAW,CAAC,GACjD;gBAACwC,KAAK,EAAExC;cAAW,CAAC,GACpB;gBAACI,EAAE,EAAEJ;cAAW,CAAC,EAAE;cAAAiC,QAAA,CAAAE,IAAA;cAAA,OACLtD,KAAK,CAAC6B,MAAM,CAAC+B,IAAI,CAACZ,QAAO,CAAC;YAAA;cAAtCf,GAAG,GAAAmB,QAAA,CAAAS,IAAA;cAAAhB,WAAA,GAEiBZ,GAAG,CAAC6B,KAAK,CAAC,CAAC,CAAC,EAAjChB,KAAK,GAAAD,WAAA,CAALC,KAAK,EAAMC,MAAM,GAAAF,WAAA,CAAVtB,EAAE;cAEdwB,MAAM,GAAG,IAAA1B,0BAAkB,EAAC0B,MAAM,CAAC,CAACxB,EAAE;cACtCuB,KAAK,GAAG,IAAAzB,0BAAkB,EAACyB,KAAK,CAAC,CAACvB,EAAE;cACpCJ,WAAW,GAAG;gBAAC4B,MAAM,EAANA,MAAM;gBAAED,KAAK,EAALA;cAAK,CAAC;YAAC;cAAA,KAG9BxB,IAAI;gBAAA8B,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAAA,OAAAF,QAAA,CAAAW,MAAA,WACC;gBACL5C,WAAW,EAAXA,WAAW;gBACXG,IAAI,EAAJA;cACF,CAAC;YAAA;cAEG0B,OAAY,GAAG,CAAC,CAAC;cAGvB,IAAIhD,KAAK,IAAIA,KAAK,CAACgE,MAAM,IAAIhE,KAAK,CAACgE,MAAM,CAACC,QAAQ,IAAIjE,KAAK,CAACgE,MAAM,CAACC,QAAQ,CAACC,cAAc,EAAE;gBAC1FjB,OAAO,GAAG,IAAI;cAChB,CAAC,MAAM;gBACLA,OAAO,GAAG,IAAI,CAAC/B,UAAU,CAACC,WAAW,CAAC;cACxC;cAAC,KAEG,IAAI,CAAClC,aAAa,CAACkC,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACjCxE,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,6GACF,CAAC;cAEDgE,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACY,YAAY;cAC5CnB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAAC/C,QAAQ,CAACY,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACnCN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACa,OAAO;cACvCpB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAACzC,aAAa,CAACM,WAAW,CAAC;gBAAAiC,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACxCN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACa,OAAO;cACvCpB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,KACzB,IAAI,CAACvD,iBAAiB,CAACoB,WAAW,EAAEnB,KAAK,CAAC;gBAAAoD,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACnDN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACc,gBAAgB;cAChDrB,OAAO,CAAC7B,WAAW,GAAGA,WAAW;cAACiC,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAA,MACzBL,OAAO,IAAIA,OAAO,CAACpB,MAAM;gBAAAuB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cAClCN,OAAO,CAAC1B,IAAI,GAAGiC,2BAAgB,CAACa,OAAO;cAAC,OAAAhB,QAAA,CAAAW,MAAA,WAEjC,IAAI,CAACjC,0BAA0B,CAACmB,OAAO,IAAIA,OAAO,CAAC9B,WAAW,EAAEnB,KAAK,CAAC,CAACgC,IAAI,CAAC,UAACC,GAAG,EAAK;gBAC1Fe,OAAO,CAAC7B,WAAW,GAAGc,GAAG;;gBAEzB;gBACA;gBACA;gBACAe,OAAO,CAACsB,cAAc,GAAG,IAAI;gBAE7B,OAAOC,QAAA,CAAA5G,OAAA,CAAQ6G,OAAO,CAACxB,OAAO,CAAC;cACjC,CAAC,CAAC;YAAA;cAAA,KACOC,OAAO,CAACtB,IAAI;gBAAAyB,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACrBxE,oBAAW,CAACC,MAAM,CAACF,KAAK,8QAExB,CAAC;cACD;cAAA,MACM,IAAI4F,mCAAsB,CAAC,CAAC;YAAA;cAElC3F,oBAAW,CAACC,MAAM,CAACC,IAAI,6CAAAL,MAAA,CAA6C,IAAI,CAAC+F,gBAAgB,CAAE,CAAC;cAAC,MACvF,IAAIvC,kBAAc,IAAAxD,MAAA,CAAI,IAAI,CAAC+F,gBAAgB,CAAE,CAAC;YAAA;cAAA,OAAAtB,QAAA,CAAAW,MAAA,WAG/CQ,QAAA,CAAA5G,OAAA,CAAQ6G,OAAO,CAACxB,OAAO,CAAC;YAAA;YAAA;cAAA,OAAAI,QAAA,CAAAuB,IAAA;UAAA;QAAA,GAAAjC,OAAA;MAAA,CAChC;MAAA,SAAAkC,mBAAAC,EAAA;QAAA,OAAAvC,mBAAA,CAAAlF,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAsH,kBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAzG,GAAA;IAAAC,KAAA,EAQA,SAAA0G,eAAsB9B,OAA4D,EAAE;MAAA,IAAA+B,iBAAA,EAAAC,kBAAA;MAClF,IACE1D,IAAI,GAQF0B,OAAO,CART1B,IAAI;QACJH,WAAW,GAOT6B,OAAO,CAPT7B,WAAW;QACX8D,QAAQ,GAMNjC,OAAO,CANTiC,QAAQ;QACRC,WAAW,GAKTlC,OAAO,CALTkC,WAAW;QACXC,cAAc,GAIZnC,OAAO,CAJTmC,cAAc;QACdC,OAAO,GAGLpC,OAAO,CAHToC,OAAO;QACPC,WAAW,GAETrC,OAAO,CAFTqC,WAAW;QACXC,cAAc,GACZtC,OAAO,CADTsC,cAAc;MAEhB,IAAMC,IAAS,GAAAlI,aAAA,CAAAA,aAAA,KACVmI,4CAAiC,GACjCH,WAAW,CACf;MAED,QAAQ/D,IAAI;QACV,KAAKiC,2BAAgB,CAACa,OAAO;UAC3BmB,IAAI,CAACE,MAAM,GAAGtE,WAAW;UACzB;QACF,KAAKoC,2BAAgB,CAACC,aAAa;UACjC+B,IAAI,CAACxC,MAAM,GAAG5B,WAAW,CAAC4B,MAAM;UAChCwC,IAAI,CAACzC,KAAK,GAAG3B,WAAW,CAAC2B,KAAK;UAC9B;QACF,KAAKS,2BAAgB,CAACmC,UAAU;UAC9BH,IAAI,CAACI,UAAU,GAAGxE,WAAW;UAC7B;QACF,KAAKoC,2BAAgB,CAACc,gBAAgB;UACpCkB,IAAI,CAACK,eAAe,GAAGzE,WAAW;UAClC;QACF,KAAKoC,2BAAgB,CAACsC,QAAQ;UAC5B;UACA,KAAAd,iBAAA,GAAI5D,WAAW,CAAC2E,IAAI,cAAAf,iBAAA,eAAhBA,iBAAA,CAAkBgB,cAAc,EAAE;YACpCR,IAAI,CAACI,UAAU,GAAGxE,WAAW,CAAC2E,IAAI,CAACC,cAAc;UACnD,CAAC,MAAM,KAAAf,kBAAA,GAAI7D,WAAW,CAAC2E,IAAI,cAAAd,kBAAA,eAAhBA,kBAAA,CAAkBvE,MAAM,EAAE;YACnC8E,IAAI,CAACE,MAAM,GAAGtE,WAAW,CAAC2E,IAAI,CAACrF,MAAM;UACvC;UACA;QACF,KAAK8C,2BAAgB,CAACY,YAAY;UAChCoB,IAAI,CAACS,UAAU,GAAG7E,WAAW;UAC7B;QACF,KAAKoC,2BAAgB,CAAC0C,YAAY;UAAE;YAClCV,IAAI,CAACW,WAAW,GAAG/E,WAAW;YAC9B;UACF;QACA;MACF;MAEA,IAAI8D,QAAQ,EAAE;QACZM,IAAI,CAACN,QAAQ,GAAGA,QAAQ;MAC1B;MAEA,IAAIK,cAAc,EAAE;QAClBC,IAAI,CAACD,cAAc,GAAGA,cAAc;MACtC;MAEA,IAAIJ,WAAW,EAAE;QACfK,IAAI,CAACY,SAAS,GAAGjB,WAAW,CAAC3D,EAAE;QAC/BgE,IAAI,CAACa,iBAAiB,GAAGlB,WAAW,CAACmB,IAAI;MAC3C;MAEA,IAAIlB,cAAc,EAAE;QAClBI,IAAI,CAACJ,cAAc,GAAGA,cAAc;MACtC;MAEA,IAAIC,OAAO,EAAE;QACXG,IAAI,CAACH,OAAO,GAAGA,OAAO;MACxB;MAEA,OAAOG,IAAI;IACb;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAApH,GAAA;IAAAC,KAAA,EAKA,SAAAkI,aAAoBC,GAAW,EAAE;MAAA,IAAAC,UAAA;MAC/B,IAAMC,eAAe,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;MAChF,IAAMC,IAAI,GAAGH,GAAG,aAAHA,GAAG,wBAAAC,UAAA,GAAHD,GAAG,CAAEI,KAAK,CAAC,2BAA2B,CAAC,cAAAH,UAAA,uBAAvCA,UAAA,CAA0C,CAAC,CAAC;MACzD,IAAMI,gBAAgB,GAAG,CAAC,CAACF,IAAI,IAAID,eAAe,CAACI,IAAI,CAAC,UAACC,MAAM;QAAA,OAAKJ,IAAI,CAACrH,QAAQ,CAACyH,MAAM,CAAC;MAAA,EAAC;MAE1F,OAAOF,gBAAgB,GAAG,IAAI,GAAGF,IAAI;IACvC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAvI,GAAA;IAAAC,KAAA,EAOA,SAAA2I,wBAA+B/D,OAAyC,EAAE;MAAA,IAAAgE,kBAAA;MACxE,IAAO1F,IAAI,GAAiB0B,OAAO,CAA5B1B,IAAI;QAAEH,WAAW,GAAI6B,OAAO,CAAtB7B,WAAW;MAExB,IAAI8F,kBAAkB,GAAG,IAAI;MAE7B,QAAQ3F,IAAI;QACV,KAAKiC,2BAAgB,CAACa,OAAO;UAC3B6C,kBAAkB,GAAG,IAAI,CAACX,YAAY,CAACnF,WAAW,CAAC;UACnD;QACF,KAAKoC,2BAAgB,CAACsC,QAAQ;UAC5BoB,kBAAkB,IAAAD,kBAAA,GAAG7F,WAAW,CAAC2E,IAAI,cAAAkB,kBAAA,uBAAhBA,kBAAA,CAAkBE,SAAS;UAChD;QACF;MACF;MAEA,OAAOD,kBAAkB,cAAAtI,MAAA,CAAcsI,kBAAkB,iCAA8B,IAAI;IAC7F;EAAC;EAAA,OAAAlJ,eAAA;AAAA;AAAA,IAAAL,gBAAA,CAAAC,OAAA,EAnTkBI,eAAe,sBAEhC,8GAA8G"}
|
1
|
+
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","exports","_classCallCheck2","_createClass2","key","value","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","hostNameBool","pathNameBool","hostname","includes","WEBEX_DOT_COM","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","search","JOIN_LINK_MTID","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","_getDestinationType","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","DESTINATION_TYPE","PERSONAL_ROOM","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","MEETING_LINK","SIP_URI","CONVERSATION_URL","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","meetingInfoError","stop","getDestinationType","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","registrationId","disableWebRedirect","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","MEETING_ID","meetingKey","conversationUrl","LOCUS_ID","info","webExMeetingId","meetingUrl","MEETING_UUID","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","isExceptedDomain","some","domain","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n DESTINATION_TYPE,\n _PEOPLE_,\n _ROOM_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n JOIN_LINK_MTID,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\n/**\n * @class MeetingInfoUtil\n */\nexport default class MeetingInfoUtil {\n static meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\n static getParsedUrl(link) {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n }\n\n /**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\n static isMeetingLink(value: string) {\n let hostNameBool;\n let pathNameBool;\n const parsedUrl = this.getParsedUrl(value);\n if (parsedUrl) {\n hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`) ||\n (parsedUrl.search && parsedUrl.search.includes(JOIN_LINK_MTID)));\n }\n\n return hostNameBool && pathNameBool;\n }\n\n static isConversationUrl(value, webex) {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n }\n\n static isSipUri(sipString) {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n }\n\n static isPhoneNumber(phoneNumber) {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n }\n\n static getHydraId(destination) {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n }\n\n static getSipUriFromHydraPersonId(destination, webex) {\n return webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n }\n\n static async getDestinationType(from) {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === DESTINATION_TYPE.PERSONAL_ROOM) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = this.getHydraId(destination);\n }\n\n if (this.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = DESTINATION_TYPE.MEETING_LINK;\n options.destination = destination;\n } else if (this.isSipUri(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isPhoneNumber(destination)) {\n options.type = DESTINATION_TYPE.SIP_URI;\n options.destination = destination;\n } else if (this.isConversationUrl(destination, webex)) {\n options.type = DESTINATION_TYPE.CONVERSATION_URL;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = DESTINATION_TYPE.SIP_URI;\n\n return this.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${this.meetingInfoError}`);\n throw new ParameterError(`${this.meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n }\n\n /**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {DESTINATION_TYPE} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\n static getRequestBody(options: {type: DESTINATION_TYPE; destination: object} | any) {\n const {\n type,\n destination,\n password,\n captchaInfo,\n installedOrgID,\n locusId,\n extraParams,\n registrationId,\n disableWebRedirect,\n } = options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n body.sipUrl = destination;\n break;\n case DESTINATION_TYPE.PERSONAL_ROOM:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case DESTINATION_TYPE.MEETING_ID:\n body.meetingKey = destination;\n break;\n case DESTINATION_TYPE.CONVERSATION_URL:\n body.conversationUrl = destination;\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case DESTINATION_TYPE.MEETING_LINK:\n body.meetingUrl = destination;\n break;\n case DESTINATION_TYPE.MEETING_UUID: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (registrationId) {\n body.registrationId = registrationId;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n if (disableWebRedirect) {\n body.disableWebRedirect = disableWebRedirect;\n }\n\n return body;\n }\n\n /**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\n static getWebexSite(uri: string) {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n const isExceptedDomain = !!site && exceptedDomains.some((domain) => site.includes(domain));\n\n return isExceptedDomain ? null : site;\n }\n\n /**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\n static getDirectMeetingInfoURI(options: {type: string; destination: any}) {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case DESTINATION_TYPE.SIP_URI:\n preferredWebexSite = this.getWebexSite(destination);\n break;\n case DESTINATION_TYPE.LOCUS_ID:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n }\n}\n"],"mappings":"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"}
|
@@ -238,6 +238,7 @@ export default class MeetingInfoV2 {
|
|
238
238
|
* @param {Object} extraParams
|
239
239
|
* @param {Object} options
|
240
240
|
* @param {String} registrationId
|
241
|
+
* @param {String} fullSiteUrl
|
241
242
|
* @returns {Promise} returns a meeting info object
|
242
243
|
* @public
|
243
244
|
* @memberof MeetingInfo
|
@@ -248,5 +249,5 @@ export default class MeetingInfoV2 {
|
|
248
249
|
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
249
250
|
meetingId?: string;
|
250
251
|
sendCAevents?: boolean;
|
251
|
-
}, registrationId?: string): Promise<any>;
|
252
|
+
}, registrationId?: string, fullSiteUrl?: string): Promise<any>;
|
252
253
|
}
|
package/dist/webinar/index.js
CHANGED
package/package.json
CHANGED
@@ -43,13 +43,13 @@
|
|
43
43
|
"@webex/eslint-config-legacy": "0.0.0",
|
44
44
|
"@webex/jest-config-legacy": "0.0.0",
|
45
45
|
"@webex/legacy-tools": "0.0.0",
|
46
|
-
"@webex/plugin-meetings": "3.8.0-next.
|
47
|
-
"@webex/plugin-rooms": "3.8.0-next.
|
48
|
-
"@webex/test-helper-chai": "3.8.0-next.
|
49
|
-
"@webex/test-helper-mocha": "3.8.0-next.
|
50
|
-
"@webex/test-helper-mock-webex": "3.8.0-next.
|
51
|
-
"@webex/test-helper-retry": "3.8.0-next.
|
52
|
-
"@webex/test-helper-test-users": "3.8.0-next.
|
46
|
+
"@webex/plugin-meetings": "3.8.0-next.79",
|
47
|
+
"@webex/plugin-rooms": "3.8.0-next.27",
|
48
|
+
"@webex/test-helper-chai": "3.8.0-next.22",
|
49
|
+
"@webex/test-helper-mocha": "3.8.0-next.22",
|
50
|
+
"@webex/test-helper-mock-webex": "3.8.0-next.22",
|
51
|
+
"@webex/test-helper-retry": "3.8.0-next.22",
|
52
|
+
"@webex/test-helper-test-users": "3.8.0-next.22",
|
53
53
|
"chai": "^4.3.4",
|
54
54
|
"chai-as-promised": "^7.1.1",
|
55
55
|
"eslint": "^8.24.0",
|
@@ -61,23 +61,23 @@
|
|
61
61
|
"typescript": "^4.7.4"
|
62
62
|
},
|
63
63
|
"dependencies": {
|
64
|
-
"@webex/common": "3.8.0-next.
|
64
|
+
"@webex/common": "3.8.0-next.22",
|
65
65
|
"@webex/event-dictionary-ts": "^1.0.1753",
|
66
66
|
"@webex/internal-media-core": "2.16.0",
|
67
|
-
"@webex/internal-plugin-conversation": "3.8.0-next.
|
68
|
-
"@webex/internal-plugin-device": "3.8.0-next.
|
69
|
-
"@webex/internal-plugin-llm": "3.8.0-next.
|
70
|
-
"@webex/internal-plugin-mercury": "3.8.0-next.
|
71
|
-
"@webex/internal-plugin-metrics": "3.8.0-next.
|
72
|
-
"@webex/internal-plugin-support": "3.8.0-next.
|
73
|
-
"@webex/internal-plugin-user": "3.8.0-next.
|
74
|
-
"@webex/internal-plugin-voicea": "3.8.0-next.
|
75
|
-
"@webex/media-helpers": "3.8.0-next.
|
76
|
-
"@webex/plugin-people": "3.8.0-next.
|
77
|
-
"@webex/plugin-rooms": "3.8.0-next.
|
67
|
+
"@webex/internal-plugin-conversation": "3.8.0-next.27",
|
68
|
+
"@webex/internal-plugin-device": "3.8.0-next.22",
|
69
|
+
"@webex/internal-plugin-llm": "3.8.0-next.25",
|
70
|
+
"@webex/internal-plugin-mercury": "3.8.0-next.24",
|
71
|
+
"@webex/internal-plugin-metrics": "3.8.0-next.22",
|
72
|
+
"@webex/internal-plugin-support": "3.8.0-next.27",
|
73
|
+
"@webex/internal-plugin-user": "3.8.0-next.22",
|
74
|
+
"@webex/internal-plugin-voicea": "3.8.0-next.79",
|
75
|
+
"@webex/media-helpers": "3.8.0-next.26",
|
76
|
+
"@webex/plugin-people": "3.8.0-next.24",
|
77
|
+
"@webex/plugin-rooms": "3.8.0-next.27",
|
78
78
|
"@webex/ts-sdp": "^1.8.1",
|
79
79
|
"@webex/web-capabilities": "^1.4.0",
|
80
|
-
"@webex/webex-core": "3.8.0-next.
|
80
|
+
"@webex/webex-core": "3.8.0-next.22",
|
81
81
|
"ampersand-collection": "^2.0.2",
|
82
82
|
"bowser": "^2.11.0",
|
83
83
|
"btoa": "^1.2.1",
|
@@ -93,5 +93,5 @@
|
|
93
93
|
"//": [
|
94
94
|
"TODO: upgrade jwt-decode when moving to node 18"
|
95
95
|
],
|
96
|
-
"version": "3.8.0-next.
|
96
|
+
"version": "3.8.0-next.79"
|
97
97
|
}
|
@@ -617,6 +617,7 @@ export default class MeetingInfoV2 {
|
|
617
617
|
* @param {Object} extraParams
|
618
618
|
* @param {Object} options
|
619
619
|
* @param {String} registrationId
|
620
|
+
* @param {String} fullSiteUrl
|
620
621
|
* @returns {Promise} returns a meeting info object
|
621
622
|
* @public
|
622
623
|
* @memberof MeetingInfo
|
@@ -633,7 +634,8 @@ export default class MeetingInfoV2 {
|
|
633
634
|
locusId = null,
|
634
635
|
extraParams: object = {},
|
635
636
|
options: {meetingId?: string; sendCAevents?: boolean} = {},
|
636
|
-
registrationId: string = null
|
637
|
+
registrationId: string = null,
|
638
|
+
fullSiteUrl: string = null
|
637
639
|
) {
|
638
640
|
const {meetingId, sendCAevents} = options;
|
639
641
|
|
@@ -659,6 +661,7 @@ export default class MeetingInfoV2 {
|
|
659
661
|
locusId,
|
660
662
|
extraParams,
|
661
663
|
registrationId,
|
664
|
+
disableWebRedirect: true,
|
662
665
|
});
|
663
666
|
|
664
667
|
// If the body only contains the default properties, we don't have enough to
|
@@ -684,7 +687,9 @@ export default class MeetingInfoV2 {
|
|
684
687
|
|
685
688
|
const directURI = await MeetingInfoUtil.getDirectMeetingInfoURI(destinationType);
|
686
689
|
|
687
|
-
if (
|
690
|
+
if (fullSiteUrl) {
|
691
|
+
requestOptions.uri = `https://${fullSiteUrl}/wbxappapi/v1/meetingInfo`;
|
692
|
+
} else if (directURI) {
|
688
693
|
requestOptions.uri = directURI;
|
689
694
|
} else {
|
690
695
|
requestOptions.service = WBXAPPAPI_SERVICE;
|
@@ -237,6 +237,7 @@ export default class MeetingInfoUtil {
|
|
237
237
|
locusId,
|
238
238
|
extraParams,
|
239
239
|
registrationId,
|
240
|
+
disableWebRedirect,
|
240
241
|
} = options;
|
241
242
|
const body: any = {
|
242
243
|
...DEFAULT_MEETING_INFO_REQUEST_BODY,
|
@@ -296,6 +297,10 @@ export default class MeetingInfoUtil {
|
|
296
297
|
body.locusId = locusId;
|
297
298
|
}
|
298
299
|
|
300
|
+
if (disableWebRedirect) {
|
301
|
+
body.disableWebRedirect = disableWebRedirect;
|
302
|
+
}
|
303
|
+
|
299
304
|
return body;
|
300
305
|
}
|
301
306
|
|
@@ -511,6 +511,7 @@ describe('plugin-meetings', () => {
|
|
511
511
|
password: 'abc',
|
512
512
|
captchaID: '999',
|
513
513
|
captchaVerifyCode: 'aabbcc11',
|
514
|
+
disableWebRedirect: true,
|
514
515
|
},
|
515
516
|
});
|
516
517
|
assert.deepEqual(result, requestResponse);
|
@@ -544,6 +545,7 @@ describe('plugin-meetings', () => {
|
|
544
545
|
supportCountryList: true,
|
545
546
|
meetingKey: '1234323',
|
546
547
|
installedOrgID,
|
548
|
+
disableWebRedirect: true,
|
547
549
|
},
|
548
550
|
});
|
549
551
|
assert.deepEqual(result, requestResponse);
|
@@ -578,6 +580,7 @@ describe('plugin-meetings', () => {
|
|
578
580
|
supportCountryList: true,
|
579
581
|
meetingKey: '1234323',
|
580
582
|
locusId,
|
583
|
+
disableWebRedirect: true,
|
581
584
|
},
|
582
585
|
});
|
583
586
|
assert.deepEqual(result, requestResponse);
|
@@ -613,6 +616,7 @@ describe('plugin-meetings', () => {
|
|
613
616
|
supportCountryList: true,
|
614
617
|
meetingKey: '1234323',
|
615
618
|
...extraParams,
|
619
|
+
disableWebRedirect: true,
|
616
620
|
},
|
617
621
|
});
|
618
622
|
assert.deepEqual(result, requestResponse);
|
@@ -843,6 +847,7 @@ describe('plugin-meetings', () => {
|
|
843
847
|
supportCountryList: true,
|
844
848
|
meetingKey: '1234323',
|
845
849
|
...extraParams,
|
850
|
+
disableWebRedirect: true,
|
846
851
|
},
|
847
852
|
});
|
848
853
|
assert.deepEqual(result, requestResponse);
|
@@ -922,6 +927,7 @@ describe('plugin-meetings', () => {
|
|
922
927
|
supportCountryList: true,
|
923
928
|
meetingKey: '1234323',
|
924
929
|
...extraParams,
|
930
|
+
disableWebRedirect: true,
|
925
931
|
},
|
926
932
|
});
|
927
933
|
assert.deepEqual(result, requestResponse);
|
@@ -1065,6 +1071,41 @@ describe('plugin-meetings', () => {
|
|
1065
1071
|
});
|
1066
1072
|
});
|
1067
1073
|
|
1074
|
+
describe('should stop call fetchMeetingInfo if siteFullUrl is empty for 404 response', () => {
|
1075
|
+
|
1076
|
+
const runTest = async (wbxAppApiCode, expectedIsPasswordRequired) => {
|
1077
|
+
webex.request = sinon.stub().rejects({
|
1078
|
+
statusCode: 404,
|
1079
|
+
body: {
|
1080
|
+
code: wbxAppApiCode,
|
1081
|
+
message: 'Alternate Meeting Server',
|
1082
|
+
data: {
|
1083
|
+
'siteFullUrl': ''
|
1084
|
+
}
|
1085
|
+
},
|
1086
|
+
});
|
1087
|
+
|
1088
|
+
|
1089
|
+
try {
|
1090
|
+
await meetingInfo.fetchMeetingInfo('1234323', DESTINATION_TYPE.MEETING_ID, 'abc', {
|
1091
|
+
id: '999',
|
1092
|
+
code: 'aabbcc11',
|
1093
|
+
});
|
1094
|
+
assert.fail('fetchMeetingInfo should have thrown, but has not done that');
|
1095
|
+
} catch (err) {
|
1096
|
+
assert(Metrics.sendBehavioralMetric.calledOnce);
|
1097
|
+
assert.deepEqual(err.body.data, {
|
1098
|
+
siteFullUrl: ''
|
1099
|
+
});
|
1100
|
+
}
|
1101
|
+
};
|
1102
|
+
|
1103
|
+
it('should throw MeetingInfoV2CaptchaError for 404 response (wbxappapi code 404100)', async () => {
|
1104
|
+
await runTest(404100, false);
|
1105
|
+
});
|
1106
|
+
});
|
1107
|
+
|
1108
|
+
|
1068
1109
|
it('should throw an error and not fetch with an "empty" body', async () => {
|
1069
1110
|
const body = {supportHostKey: 'foo', supportCountryList: 'bar'};
|
1070
1111
|
const requestResponse = {statusCode: 200, body};
|
@@ -241,6 +241,25 @@ describe('plugin-meetings', () => {
|
|
241
241
|
}
|
242
242
|
);
|
243
243
|
});
|
244
|
+
|
245
|
+
it('allows for disableWebRedirect', () => {
|
246
|
+
|
247
|
+
const res = MeetingInfoUtil.getRequestBody({
|
248
|
+
type: DESTINATION_TYPE.CONVERSATION_URL,
|
249
|
+
destination: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49281',
|
250
|
+
disableWebRedirect: true,
|
251
|
+
});
|
252
|
+
|
253
|
+
assert.deepEqual(
|
254
|
+
res,
|
255
|
+
{
|
256
|
+
conversationUrl: 'https://conv-a.wbx2.com/conversation/api/v1/conversations/bfb49281',
|
257
|
+
supportHostKey: true,
|
258
|
+
supportCountryList: true,
|
259
|
+
disableWebRedirect: true,
|
260
|
+
}
|
261
|
+
);
|
262
|
+
});
|
244
263
|
});
|
245
264
|
|
246
265
|
describe('#getWebexSite', () => {
|