@webex/plugin-meetings 3.12.0-next.66 → 3.12.0-next.67
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/aiEnableRequest/index.js +1 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +7 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/interpretation.types.js +7 -0
- package/dist/interpretation/interpretation.types.js.map +1 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/request.js +5 -2
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/types/constants.d.ts +6 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interpretation/interpretation.types.d.ts +10 -0
- package/dist/types/meeting/request.d.ts +1 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +1 -1
- package/src/constants.ts +6 -0
- package/src/index.ts +1 -0
- package/src/interpretation/index.ts +2 -1
- package/src/interpretation/interpretation.types.ts +11 -0
- package/src/meeting/request.ts +11 -0
- package/src/meeting/util.ts +1 -0
- package/test/unit/spec/meeting/request.js +12 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_meetings","_interopRequireDefault","_config","_interceptors","_captchaError","_intentToJoin","_passwordError","_permission","_joinWebinarError","_reclaimHostRoleErrors","_meeting","_utilv","_joinMeeting","_webexErrors","_mediaHelpers","_CONSTANTS","_interopRequireWildcard","exports","CONSTANTS","_REACTIONS","REACTIONS","_sdkAnnotationTypes","sdkAnnotationTypes","_MeetingInfoV","MeetingInfoV2","_meetings2","_remoteMedia","_triggerProxy","_utils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","registerPlugin","Meetings","config","interceptors","LocusRetryStatusInterceptor","create","LocusRouteTokenInterceptor","DataChannelAuthTokenInterceptor","_default"],"sources":["index.ts"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\nimport {\n LocusRetryStatusInterceptor,\n LocusRouteTokenInterceptor,\n DataChannelAuthTokenInterceptor,\n} from './interceptors';\nimport CaptchaError from './common/errors/captcha-error';\nimport IntentToJoinError from './common/errors/intent-to-join';\nimport PasswordError from './common/errors/password-error';\nimport PermissionError from './common/errors/permission';\nimport JoinWebinarError from './common/errors/join-webinar-error';\nimport {\n ReclaimHostEmptyWrongKeyError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n} from './common/errors/reclaim-host-role-errors';\nimport Meeting from './meeting';\nimport MeetingInfoUtil from './meeting-info/utilv2';\nimport JoinMeetingError from './common/errors/join-meeting';\nimport {SdpResponseTimeoutError} from './common/errors/webex-errors';\n\nregisterPlugin('meetings', Meetings, {\n config,\n interceptors: {\n LocusRetryStatusInterceptor: LocusRetryStatusInterceptor.create,\n LocusRouteTokenInterceptor: LocusRouteTokenInterceptor.create,\n DataChannelAuthTokenInterceptor: DataChannelAuthTokenInterceptor.create,\n },\n});\n\nexport {\n LocalStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalStreamEventNames,\n StreamEventNames,\n RemoteStreamEventNames,\n type ServerMuteReason,\n LocalMicrophoneStreamEventNames,\n LocalCameraStreamEventNames,\n LocalMicrophoneStream,\n LocalCameraStream,\n createMicrophoneStream,\n createCameraStream,\n createCameraAndMicrophoneStreams,\n createDisplayStream,\n createDisplayStreamWithAudio,\n createDisplayMedia,\n FacingMode,\n DisplaySurface,\n PresetCameraConstraints,\n type VideoContentHint,\n type StreamState,\n} from '@webex/media-helpers';\n\nexport default Meetings;\n\nexport * as CONSTANTS from './constants';\nexport * as REACTIONS from './reactions/reactions';\nexport * as sdkAnnotationTypes from './annotation/annotation.types';\nexport * as MeetingInfoV2 from './meeting-info/meeting-info-v2';\nexport {type Reaction} from './reactions/reactions.type';\nexport {SitePreferenceSelectOption} from './meetings/meetings.types';\nexport type {\n FetchSitePreferencesMeViaSiteOptions,\n SitePreferencesResponse,\n} from './meetings/meetings.types';\n\nexport {\n CaptchaError,\n IntentToJoinError,\n JoinMeetingError,\n PasswordError,\n PermissionError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n ReclaimHostEmptyWrongKeyError,\n Meeting,\n MeetingInfoUtil,\n JoinWebinarError,\n SdpResponseTimeoutError,\n};\n\nexport {RemoteMedia} from './multistream/remoteMedia';\n\nexport {default as TriggerProxy} from './common/events/trigger-proxy';\n\nexport {getAIEnablementApprover} from './aiEnableRequest/utils';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAKA,IAAAK,aAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,iBAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,sBAAA,GAAAV,OAAA;AAMA,IAAAW,QAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,MAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,YAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AAWA,IAAAe,aAAA,GAAAf,OAAA;AAuB8B,IAAAgB,UAAA,GAAAC,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAC,SAAA,GAAAH,UAAA;AAAA,IAAAI,UAAA,GAAAH,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAG,SAAA,GAAAD,UAAA;AAAA,IAAAE,mBAAA,GAAAL,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAK,kBAAA,GAAAD,mBAAA;AAAA,IAAAE,aAAA,GAAAP,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAO,aAAA,GAAAD,aAAA;AAS9B,IAAAE,UAAA,GAAA1B,OAAA;
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_meetings","_interopRequireDefault","_config","_interceptors","_captchaError","_intentToJoin","_passwordError","_permission","_joinWebinarError","_reclaimHostRoleErrors","_meeting","_utilv","_joinMeeting","_webexErrors","_mediaHelpers","_CONSTANTS","_interopRequireWildcard","exports","CONSTANTS","_REACTIONS","REACTIONS","_sdkAnnotationTypes","sdkAnnotationTypes","_MeetingInfoV","MeetingInfoV2","_meetings2","_remoteMedia","_triggerProxy","_utils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","registerPlugin","Meetings","config","interceptors","LocusRetryStatusInterceptor","create","LocusRouteTokenInterceptor","DataChannelAuthTokenInterceptor","_default"],"sources":["index.ts"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\nimport {\n LocusRetryStatusInterceptor,\n LocusRouteTokenInterceptor,\n DataChannelAuthTokenInterceptor,\n} from './interceptors';\nimport CaptchaError from './common/errors/captcha-error';\nimport IntentToJoinError from './common/errors/intent-to-join';\nimport PasswordError from './common/errors/password-error';\nimport PermissionError from './common/errors/permission';\nimport JoinWebinarError from './common/errors/join-webinar-error';\nimport {\n ReclaimHostEmptyWrongKeyError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n} from './common/errors/reclaim-host-role-errors';\nimport Meeting from './meeting';\nimport MeetingInfoUtil from './meeting-info/utilv2';\nimport JoinMeetingError from './common/errors/join-meeting';\nimport {SdpResponseTimeoutError} from './common/errors/webex-errors';\n\nregisterPlugin('meetings', Meetings, {\n config,\n interceptors: {\n LocusRetryStatusInterceptor: LocusRetryStatusInterceptor.create,\n LocusRouteTokenInterceptor: LocusRouteTokenInterceptor.create,\n DataChannelAuthTokenInterceptor: DataChannelAuthTokenInterceptor.create,\n },\n});\n\nexport {\n LocalStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalStreamEventNames,\n StreamEventNames,\n RemoteStreamEventNames,\n type ServerMuteReason,\n LocalMicrophoneStreamEventNames,\n LocalCameraStreamEventNames,\n LocalMicrophoneStream,\n LocalCameraStream,\n createMicrophoneStream,\n createCameraStream,\n createCameraAndMicrophoneStreams,\n createDisplayStream,\n createDisplayStreamWithAudio,\n createDisplayMedia,\n FacingMode,\n DisplaySurface,\n PresetCameraConstraints,\n type VideoContentHint,\n type StreamState,\n} from '@webex/media-helpers';\n\nexport default Meetings;\n\nexport * as CONSTANTS from './constants';\nexport * as REACTIONS from './reactions/reactions';\nexport * as sdkAnnotationTypes from './annotation/annotation.types';\nexport * as MeetingInfoV2 from './meeting-info/meeting-info-v2';\nexport {type Reaction} from './reactions/reactions.type';\nexport {SitePreferenceSelectOption} from './meetings/meetings.types';\nexport type {\n FetchSitePreferencesMeViaSiteOptions,\n SitePreferencesResponse,\n} from './meetings/meetings.types';\nexport type {Interpreter, InterpreterUsingResource} from './interpretation/interpretation.types';\n\nexport {\n CaptchaError,\n IntentToJoinError,\n JoinMeetingError,\n PasswordError,\n PermissionError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n ReclaimHostEmptyWrongKeyError,\n Meeting,\n MeetingInfoUtil,\n JoinWebinarError,\n SdpResponseTimeoutError,\n};\n\nexport {RemoteMedia} from './multistream/remoteMedia';\n\nexport {default as TriggerProxy} from './common/events/trigger-proxy';\n\nexport {getAIEnablementApprover} from './aiEnableRequest/utils';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -381,7 +381,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
381
381
|
throw error;
|
|
382
382
|
});
|
|
383
383
|
},
|
|
384
|
-
version: "3.12.0-next.
|
|
384
|
+
version: "3.12.0-next.67"
|
|
385
385
|
});
|
|
386
386
|
var _default = exports.default = SimultaneousInterpretation;
|
|
387
387
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_util","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","preTargetLanguage","_ref2","getTargetLanguageCode","_this$siLanguages$get","get","languageCode","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","meeting","webex","meetings","meetingCollection","getByKey","PATCH","response","MeetingUtil","updateLocusFromApiResponse","changeDirection","_promise","default","reject","Error","_this3","internal","mercury","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, LOCUSEVENT, MEETINGS} from '../constants';\nimport MeetingUtil from '../meeting/util';\n\nimport SILanguageCollection from './collection';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled', 'locusUrl'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled && this.locusUrl);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.shouldQuerySupportLanguages && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {bool} is target language changed\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const preTargetLanguage = this.targetLanguage;\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n this.set('selfIsInterpreter', !!targetLanguage);\n\n return !!(preTargetLanguage !== targetLanguage);\n },\n\n /**\n * Get the language code of the interpreter target language\n * @returns {number}\n */\n getTargetLanguageCode() {\n if (this.selfIsInterpreter) {\n return this.siLanguages.get(this.targetLanguage)?.languageCode;\n }\n\n return 0;\n },\n\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters) {\n const meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n })\n .then((response) => {\n MeetingUtil.updateLocusFromApiResponse(meeting, response);\n\n return response;\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n const meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n })\n .then((response) => {\n MeetingUtil.updateLocusFromApiResponse(meeting, response);\n\n return response;\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_util","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","preTargetLanguage","_ref2","getTargetLanguageCode","_this$siLanguages$get","get","languageCode","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","meeting","webex","meetings","meetingCollection","getByKey","PATCH","response","MeetingUtil","updateLocusFromApiResponse","changeDirection","_promise","default","reject","Error","_this3","internal","mercury","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, LOCUSEVENT, MEETINGS} from '../constants';\nimport MeetingUtil from '../meeting/util';\n\nimport SILanguageCollection from './collection';\nimport {Interpreter} from './interpretation.types';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled', 'locusUrl'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled && this.locusUrl);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.shouldQuerySupportLanguages && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {bool} is target language changed\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const preTargetLanguage = this.targetLanguage;\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n this.set('selfIsInterpreter', !!targetLanguage);\n\n return !!(preTargetLanguage !== targetLanguage);\n },\n\n /**\n * Get the language code of the interpreter target language\n * @returns {number}\n */\n getTargetLanguageCode() {\n if (this.selfIsInterpreter) {\n return this.siLanguages.get(this.targetLanguage)?.languageCode;\n }\n\n return 0;\n },\n\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters: Interpreter[]) {\n const meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n })\n .then((response) => {\n MeetingUtil.updateLocusFromApiResponse(meeting, response);\n\n return response;\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n const meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n })\n .then((response) => {\n MeetingUtil.updateLocusFromApiResponse(meeting, response);\n\n return response;\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["interpretation.types.ts"],"sourcesContent":["export type InterpreterUsingResource = {\n id: string;\n email?: string;\n};\n\nexport type Interpreter = {\n order: number;\n sourceLanguage: string;\n targetLanguage: string;\n usingResource: InterpreterUsingResource;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
|
|
|
18
18
|
languageCode: 'number',
|
|
19
19
|
languageName: 'string'
|
|
20
20
|
},
|
|
21
|
-
version: "3.12.0-next.
|
|
21
|
+
version: "3.12.0-next.67"
|
|
22
22
|
});
|
|
23
23
|
var _default = exports.default = SILanguage;
|
|
24
24
|
//# sourceMappingURL=siLanguage.js.map
|
package/dist/meeting/request.js
CHANGED
|
@@ -129,11 +129,11 @@ var MeetingRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlu
|
|
|
129
129
|
*/
|
|
130
130
|
function () {
|
|
131
131
|
var _joinMeeting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
|
|
132
|
-
var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, locusClusterUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, reachability, breakoutsSupported, locale, _options$deviceCapabi, deviceCapabilities, liveAnnotationSupported, clientMediaPreferences, alias, url, body, clusterUrl, _t2;
|
|
132
|
+
var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, locusClusterUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, reachability, breakoutsSupported, locale, _options$deviceCapabi, deviceCapabilities, liveAnnotationSupported, enableSimultaneousInterpretation, clientMediaPreferences, alias, url, body, clusterUrl, _t2;
|
|
133
133
|
return _regenerator.default.wrap(function (_context2) {
|
|
134
134
|
while (1) switch (_context2.prev = _context2.next) {
|
|
135
135
|
case 0:
|
|
136
|
-
asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, locusClusterUrl = options.locusClusterUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, reachability = options.reachability, breakoutsSupported = options.breakoutsSupported, locale = options.locale, _options$deviceCapabi = options.deviceCapabilities, deviceCapabilities = _options$deviceCapabi === void 0 ? [] : _options$deviceCapabi, liveAnnotationSupported = options.liveAnnotationSupported, clientMediaPreferences = options.clientMediaPreferences, alias = options.alias;
|
|
136
|
+
asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, locusClusterUrl = options.locusClusterUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, reachability = options.reachability, breakoutsSupported = options.breakoutsSupported, locale = options.locale, _options$deviceCapabi = options.deviceCapabilities, deviceCapabilities = _options$deviceCapabi === void 0 ? [] : _options$deviceCapabi, liveAnnotationSupported = options.liveAnnotationSupported, enableSimultaneousInterpretation = options.enableSimultaneousInterpretation, clientMediaPreferences = options.clientMediaPreferences, alias = options.alias;
|
|
137
137
|
_loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
|
|
138
138
|
url = '';
|
|
139
139
|
body = {
|
|
@@ -161,6 +161,9 @@ var MeetingRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlu
|
|
|
161
161
|
if (liveAnnotationSupported) {
|
|
162
162
|
deviceCapabilities.push(_constants.ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
|
|
163
163
|
}
|
|
164
|
+
if (enableSimultaneousInterpretation) {
|
|
165
|
+
deviceCapabilities.push(_constants.INTERPRETATION.CAPABILITIES.HOST_CONTROL_SI_SUPPORTED, _constants.INTERPRETATION.CAPABILITIES.INTERPRETER_CONTROL_SI_SUPPORTED, _constants.INTERPRETATION.CAPABILITIES.SI_HANDOVER_SUPPORTED, _constants.INTERPRETATION.CAPABILITIES.SIGN_INTERPRETER_SUPPORTED);
|
|
166
|
+
}
|
|
164
167
|
|
|
165
168
|
// append installationId to device config if it exists
|
|
166
169
|
// @ts-ignore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uuid","_interopRequireDefault","require","_lodash","_webexCore","_common","_internalPluginMetrics","_loggerProxy","_constants","_util","_excluded","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","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","Boolean","prototype","valueOf","call","MeetingRequest","exports","_StatelessWebexPlugin","attrs","options","_this","_classCallCheck2","meeting","otherAttrs","_objectWithoutProperties2","_asyncToGenerator2","_regenerator","mark","_callee","joinCookieRaw","joinCookie","_t","wrap","_context","prev","next","webex","boundedStorage","get","REACHABILITY","namespace","localStorageJoinCookie","catch","sent","JSON","parse","abrupt","LoggerProxy","logger","error","concat","stop","locusDeltaRequest","MeetingUtil","generateLocusDeltaRequest","buildLocusDeltaRequestOptions","generateBuildLocusDeltaRequestOptions","changeVideoLayoutDebounced","debounce","changeVideoLayout","leading","trailing","_inherits2","_createClass2","key","value","_joinMeeting","_callee2","asResourceOccupant","inviteeAddress","meetingNumber","permissionToken","deviceUrl","locusUrl","locusClusterUrl","resourceId","correlationId","ensureConversation","moderator","pin","moveToResource","roapMessage","reachability","breakoutsSupported","locale","_options$deviceCapabi","deviceCapabilities","liveAnnotationSupported","clientMediaPreferences","alias","url","body","clusterUrl","_t2","_context2","info","device","deviceType","config","meetings","usingResource","moveMediaToResource","respOnlySdp","allowMultiDevice","supportsNativeLobby","BREAKOUTS","BREAKOUTS_SUPPORTED","ANNOTATION","ANNOTATION_ON_SHARE_SUPPORTED","internal","installationId","geoHintInfo","countryCode","regionCode","localIp","CallDiagnosticUtils","anonymizeIPAddress","clientAddress","undefined","PARTICIPANT","services","waitForCatalog","LOCI","CALL","invitee","address","ALTERNATE_REDIRECT_TRUE","callPreferences","requestedMedia","_SLIDES_","localMedias","localSdp","_stringify","request","method","HTTP_VERBS","POST","uri","joinMeeting","_x","refreshCaptcha","_ref2","captchaRefreshUrl","captchaId","err","dialIn","_ref3","dialInUrl","clientUrl","PROVISIONAL","provisionalType","PROVISIONAL_TYPE_DIAL_IN","dialOut","_ref4","dialOutUrl","phoneNumber","PROVISIONAL_TYPE_DIAL_OUT","dialoutAddress","getLocusDTO","GET","_promise","reject","disconnectPhoneAudio","_ref5","phoneUrl","selfId","LEAVE","PUT","prepareLeaveMeetingRequestOptions","_ref6","leaveMeeting","_ref7","buildLeaveMeetingRequestOptions","acknowledgeMeeting","ALERT","lockMeeting","CONTROLS","lock","locked","PATCH","declineMeeting","DECLINE","reason","changeMeetingFloor","floorReq","disposition","FLOOR_ACTION","GRANTED","beneficiary","personUrl","devices","requester","floor","resourceUrl","shareInstanceId","resourceToken","annotationInfo","annotation","sendDTMF","_ref8","tones","SEND_DTMF_ENDPOINT","dtmf","uuid","v4","_ref9","layoutType","main","content","width","height","Error","renderInfoMain","renderInfoContent","layoutParams","renderInfo","layout","type","endMeetingForAll","_ref0","END","keepAlive","_ref1","keepAliveUrl","sendReaction","_ref10","reactionChannelUrl","reaction","participantId","sender","extendMeeting","_ref11","meetingInstanceId","extensionMinutes","meetingPolicyUrl","requestParticipantId","toggleReactions","_ref12","enable","requestingParticipantId","reactions","enabled","getLocusStatusByUrl","setBrb","_ref13","brb","setPostMeetingDataConsent","_ref14","postMeetingDataConsent","consent","synchronizeStage","videoLayout","notifyHost","siteFullUrl","locusId","meetingUuid","displayName","size","headers","_sipCallOut","_callee3","meetingId","response","_t3","_context3","service","resource","Accept","sipCallOut","_x2","_x3","_x4","_x5","_cancelSipCallOut","_callee4","_t4","_context4","cancelSipCallOut","_x6","_fetchDatachannelToken","_callee5","_ref15","_ref15$isPracticeSess","isPracticeSession","practicePrefix","_context5","warn","message","fetchDatachannelToken","_x7","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["import uuid from 'uuid';\nimport {debounce} from 'lodash';\n// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n// @ts-ignore\nimport {deviceType} from '@webex/common';\nimport {CallDiagnosticUtils} from '@webex/internal-plugin-metrics';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n ALERT,\n ALTERNATE_REDIRECT_TRUE,\n BREAKOUTS,\n CALL,\n CONTROLS,\n DECLINE,\n END,\n FLOOR_ACTION,\n HTTP_VERBS,\n LEAVE,\n LOCI,\n PARTICIPANT,\n PROVISIONAL_TYPE_DIAL_IN,\n PROVISIONAL_TYPE_DIAL_OUT,\n REACHABILITY,\n SEND_DTMF_ENDPOINT,\n _SLIDES_,\n ANNOTATION,\n} from '../constants';\nimport {\n SendReactionOptions,\n BrbOptions,\n ToggleReactionsOptions,\n PostMeetingDataConsentOptions,\n SynchronizeVideoLayout,\n fetchDataChannelTokenOptions,\n} from './request.type';\nimport MeetingUtil from './util';\nimport {AnnotationInfo} from '../annotation/annotation.types';\nimport {ClientMediaPreferences} from '../reachability/reachability.types';\n\n/**\n * @class MeetingRequest\n */\nexport default class MeetingRequest extends StatelessWebexPlugin {\n changeVideoLayoutDebounced: any;\n meetingRef: WeakRef<any>;\n locusDeltaRequest: (options: object) => Promise<any>;\n buildLocusDeltaRequestOptions: (options: object) => Promise<any>;\n\n /**\n * Constructor\n * @param {Object} attrs\n * @param {Object} options\n */\n constructor(attrs: any, options: any) {\n const {meeting, ...otherAttrs} = attrs;\n\n super(otherAttrs, options);\n\n this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);\n this.buildLocusDeltaRequestOptions = MeetingUtil.generateBuildLocusDeltaRequestOptions(meeting);\n\n this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {\n leading: true,\n trailing: true,\n });\n }\n\n /**\n * Returns joinCookie from boundedStorage if present.\n * @returns {Object} joinCookie\n */\n private getJoinCookie = async () => {\n // @ts-ignore\n const joinCookieRaw = await this.webex.boundedStorage\n .get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)\n .catch(() => {});\n\n if (joinCookieRaw) {\n try {\n const joinCookie = JSON.parse(joinCookieRaw);\n if (joinCookie) {\n return joinCookie;\n }\n } catch (e) {\n LoggerProxy.logger.error(\n `MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`\n );\n }\n }\n\n return null;\n };\n\n /**\n * Make a network request to join a meeting\n * @param {Object} options\n * @param {String} options.sipUri\n * @param {String} options.deviceUrl\n * @param {String} options.locusUrl\n * @param {String} options.resourceId,\n * @param {String} options.correlationId\n * @param {boolean} options.ensureConversation\n * @param {boolean} options.moderator\n * @param {boolean} options.pin\n * @param {boolean} options.moveToResource\n * @param {Object} options.roapMessage\n * @param {boolean} options.breakoutsSupported\n * @param {String} options.locale,\n * @param {Array} options.deviceCapabilities\n * @param {boolean} options.liveAnnotationSupported\n * @param {String} options.alias\n * @returns {Promise}\n */\n async joinMeeting(options: {\n sipUri: string;\n deviceUrl: string;\n locusUrl: string;\n locusClusterUrl: string;\n resourceId: string;\n correlationId: string;\n ensureConversation: boolean;\n moderator: boolean;\n pin: boolean;\n moveToResource: boolean;\n roapMessage: any;\n asResourceOccupant: any;\n inviteeAddress: any;\n meetingNumber: any;\n permissionToken: any;\n preferTranscoding: any;\n reachability: any;\n breakoutsSupported: boolean;\n locale?: string;\n deviceCapabilities?: Array<string>;\n liveAnnotationSupported: boolean;\n alias?: string;\n clientMediaPreferences: ClientMediaPreferences;\n }) {\n const {\n asResourceOccupant,\n inviteeAddress,\n meetingNumber,\n permissionToken,\n deviceUrl,\n locusUrl,\n locusClusterUrl,\n resourceId,\n correlationId,\n ensureConversation,\n moderator,\n pin,\n moveToResource,\n roapMessage,\n reachability,\n breakoutsSupported,\n locale,\n deviceCapabilities = [],\n liveAnnotationSupported,\n clientMediaPreferences,\n alias,\n } = options;\n\n LoggerProxy.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);\n\n let url = '';\n\n const body: any = {\n asResourceOccupant,\n device: {\n url: deviceUrl,\n // @ts-ignore - config comes from registerPlugin\n deviceType: this.config.meetings.deviceType,\n },\n usingResource: resourceId || null,\n moveMediaToResource: (resourceId && moveToResource) || false,\n correlationId,\n respOnlySdp: true,\n allowMultiDevice: true,\n ensureConversation: ensureConversation || false,\n supportsNativeLobby: 1,\n clientMediaPreferences,\n };\n\n if (alias) {\n body.alias = alias;\n }\n\n if (breakoutsSupported) {\n deviceCapabilities.push(BREAKOUTS.BREAKOUTS_SUPPORTED);\n }\n if (liveAnnotationSupported) {\n deviceCapabilities.push(ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);\n }\n\n // append installationId to device config if it exists\n // @ts-ignore\n if (this.webex.internal.device.config.installationId) {\n // @ts-ignore\n body.device.installationId = this.webex.internal.device.config.installationId;\n }\n\n if (locale) {\n body.locale = locale;\n }\n\n // add deviceCapabilities prop\n if (deviceCapabilities.length) {\n body.deviceCapabilities = deviceCapabilities;\n }\n // @ts-ignore\n if (this.webex.meetings.geoHintInfo) {\n // @ts-ignore\n body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;\n // @ts-ignore\n body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;\n body.device.localIp =\n // @ts-ignore\n CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) ||\n undefined;\n }\n\n if (moderator !== undefined) {\n body.moderator = moderator;\n }\n\n if (permissionToken) {\n body.permissionToken = permissionToken;\n }\n\n if (pin !== undefined) {\n body.pin = pin;\n }\n\n if (locusUrl) {\n url = `${locusUrl}/${PARTICIPANT}`;\n } else if (inviteeAddress || meetingNumber) {\n try {\n let clusterUrl;\n\n if (locusClusterUrl) {\n clusterUrl = `https://${locusClusterUrl}/locus/api/v1`;\n } else {\n // @ts-ignore\n await this.webex.internal.services.waitForCatalog('postauth');\n // @ts-ignore\n clusterUrl = this.webex.internal.services.get('locus');\n }\n\n url = `${clusterUrl}/${LOCI}/${CALL}`;\n body.invitee = {\n address: inviteeAddress || `wbxmn:${meetingNumber}`,\n };\n } catch (e) {\n LoggerProxy.logger.error(\n `Meeting:request#joinMeeting Error Joining ${inviteeAddress || meetingNumber} --> ${e}`\n );\n throw e;\n }\n }\n\n // TODO: -- this will be resolved in SDK request\n url = url.concat(`?${ALTERNATE_REDIRECT_TRUE}`);\n\n if (resourceId === inviteeAddress) {\n body.callPreferences = {\n requestedMedia: [_SLIDES_],\n };\n }\n\n if (roapMessage || reachability) {\n body.localMedias = [\n {\n localSdp: JSON.stringify({\n roapMessage,\n reachability,\n }),\n },\n ];\n }\n\n /// @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: url,\n body,\n });\n }\n\n /**\n * Send a request to refresh the captcha\n * @param {Object} options\n * @param {String} options.captchaRefreshUrl\n * @param {String} options.captchaId\n * @returns {Promise}\n * @private\n */\n private refreshCaptcha({\n captchaRefreshUrl,\n captchaId,\n }: {\n captchaRefreshUrl: string;\n captchaId: string;\n }) {\n const body = {\n captchaId,\n };\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: captchaRefreshUrl,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(`Meeting:request#refreshCaptcha --> Error: ${err}`);\n\n throw err;\n });\n }\n\n /**\n * Make a network request to add a dial in device\n * @param {Object} options\n * @param {String} options.correlationId\n * @param {String} options.locusUrl url for the meeting\n * @param {String} options.dialInUrl identifier for the to-be provisioned device\n * @param {String} options.clientUrl identifier for the web device\n * @returns {Promise}\n * @private\n */\n private dialIn({\n locusUrl,\n dialInUrl,\n clientUrl,\n correlationId,\n }: {\n correlationId: string;\n locusUrl: string;\n dialInUrl: string;\n clientUrl: string;\n }) {\n LoggerProxy.logger.info(\n 'Meeting:request#dialIn --> Provisioning a dial in device',\n correlationId\n );\n const uri = `${locusUrl}/${PARTICIPANT}`;\n\n const body = {\n device: {\n deviceType: deviceType.PROVISIONAL,\n provisionalType: PROVISIONAL_TYPE_DIAL_IN,\n url: dialInUrl,\n clientUrl,\n },\n correlationId,\n };\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#dialIn --> Error provisioning a dial in device, error ${err}`\n );\n\n throw err;\n });\n }\n\n /**\n * Make a network request to add a dial out device\n * @param {Object} options\n * @param {String} options.correlationId\n * @param {String} options.locusUrl url for the meeting\n * @param {String} options.dialOutUrl identifier for the to-be provisioned device\n * @param {String} options.phoneNumber phone number to dial out to\n * @param {String} options.clientUrl identifier for the web device\n * @returns {Promise}\n * @private\n */\n private dialOut({\n locusUrl,\n dialOutUrl,\n phoneNumber,\n clientUrl,\n correlationId,\n }: {\n correlationId: string;\n locusUrl: string;\n dialOutUrl: string;\n phoneNumber: string;\n clientUrl: string;\n }) {\n LoggerProxy.logger.info(\n 'Meeting:request#dialOut --> Provisioning a dial out device',\n correlationId\n );\n const uri = `${locusUrl}/${PARTICIPANT}`;\n\n const body = {\n device: {\n deviceType: deviceType.PROVISIONAL,\n provisionalType: PROVISIONAL_TYPE_DIAL_OUT,\n url: dialOutUrl,\n dialoutAddress: phoneNumber,\n clientUrl,\n },\n correlationId,\n };\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#dialOut --> Error provisioning a dial out device, error ${err}`\n );\n\n throw err;\n });\n }\n\n /**\n * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided\n * @param {Object} options\n * @param {String} options.locusUrl sync url to get ht elatest locus delta\n * @returns {Promise}\n */\n getLocusDTO(options: {url: string}) {\n const {url} = options;\n\n if (url) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.GET,\n uri: url,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#getLocusDTO --> Error getting latest locus, error ${err}`\n );\n\n throw err;\n });\n }\n\n return Promise.reject();\n }\n\n /**\n * Make a network request to make a provisioned phone leave the meeting\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.phoneUrl\n * @param {String} options.correlationId\n * @param {String} options.selfId\n * @returns {Promise}\n * @private\n */\n private disconnectPhoneAudio({\n locusUrl,\n phoneUrl,\n correlationId,\n selfId,\n }: {\n locusUrl: string;\n phoneUrl: string;\n correlationId: string;\n selfId: string;\n }) {\n LoggerProxy.logger.info(\n `Meeting:request#disconnectPhoneAudio --> request phone ${phoneUrl} to leave`,\n correlationId\n );\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;\n\n const body = {\n device: {\n deviceType: deviceType.PROVISIONAL,\n url: phoneUrl,\n },\n correlationId,\n };\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#disconnectPhoneAudio --> Error when requesting phone ${phoneUrl} to leave, error ${err}`\n );\n\n throw err;\n });\n }\n\n /**\n * Prepares request options to to leave a meeting\n * @param {Object} options\n * @param {Url} options.locusUrl\n * @param {String} options.selfId\n * @param {Url} options.deviceUrl\n * @param {String} options.resourceId,\n * @param {String} options.correlationId\n * @returns {Object} request options\n */\n prepareLeaveMeetingRequestOptions({\n locusUrl,\n selfId,\n deviceUrl: url,\n resourceId,\n correlationId,\n }: {\n locusUrl: string;\n selfId: string;\n deviceUrl: string;\n resourceId: string;\n correlationId: string;\n }) {\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url,\n },\n usingResource: resourceId || null,\n correlationId,\n };\n\n return {\n method: HTTP_VERBS.PUT,\n uri,\n body,\n };\n }\n\n /**\n * Make a network request to leave a meeting\n * @param {Object} options\n * @returns {Promise}\n */\n leaveMeeting({\n locusUrl,\n selfId,\n deviceUrl: url,\n resourceId,\n correlationId,\n }: {\n locusUrl: string;\n selfId: string;\n deviceUrl: string;\n resourceId: string;\n correlationId: string;\n }) {\n LoggerProxy.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);\n\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url,\n },\n usingResource: resourceId || null,\n correlationId,\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n });\n }\n\n /**\n * Builds request options to leave a meeting\n * @param {Object} options\n * @returns {Object} request options\n */\n buildLeaveMeetingRequestOptions(options: any) {\n return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));\n }\n\n /**\n * Make a network request to acknowledge a meeting\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.correlationId\n * @returns {Promise}\n */\n acknowledgeMeeting(options: {locusUrl: string; deviceUrl: string; correlationId: string}) {\n const uri = `${options.locusUrl}/${PARTICIPANT}/${ALERT}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url: options.deviceUrl,\n },\n correlationId: options.correlationId,\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n });\n }\n\n /**\n * Makes a network request to lock the meeting\n * @param {Object} options\n * @param {Boolean} options.lock Whether it is locked or not\n * @returns {Promise}\n */\n lockMeeting(options) {\n const uri = `${options.locusUrl}/${CONTROLS}`;\n const body = {\n lock: {\n locked: options.lock,\n },\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n });\n }\n\n /**\n * Make a network request to decline a meeting\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.reason\n * @returns {Promise}\n */\n declineMeeting(options: {locusUrl: string; deviceUrl: string; reason: string}) {\n const uri = `${options.locusUrl}/${PARTICIPANT}/${DECLINE}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url: options.deviceUrl,\n },\n ...(options.reason && {reason: options.reason}),\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n });\n }\n\n /**\n * change the content floor grant\n * @param {Object} options options for floor grant\n * @param {String} options.disposition floor action (granted/released)\n * @param {String} options.personUrl personUrl who is requesting floor\n * @param {String} options.deviceUrl Url of a device\n * @param {String} options.resourceId Populated if you are paired to a device\n * @param {String} options.uri floor grant uri\n * @param {String} options.shareInstanceId id for current share\n * @returns {Promise}\n */\n changeMeetingFloor(\n options:\n | {\n disposition: string;\n personUrl: string;\n deviceUrl: string;\n resourceId: string;\n uri: string;\n annotationInfo: AnnotationInfo;\n shareInstanceId: string;\n }\n | any\n ) {\n let floorReq: any = {disposition: options.disposition};\n\n /* istanbul ignore else */\n if (options.disposition === FLOOR_ACTION.GRANTED) {\n floorReq = {\n beneficiary: {\n url: options.personUrl,\n devices: [\n {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url: options.deviceUrl,\n },\n ],\n },\n disposition: options.disposition,\n requester: {\n url: options.personUrl,\n },\n };\n }\n\n const body: any = {\n floor: floorReq,\n resourceUrl: options.resourceUrl,\n };\n\n if (options?.shareInstanceId) {\n body.floor.shareInstanceId = options.shareInstanceId;\n }\n\n if (options?.resourceToken) {\n body.resourceToken = options?.resourceToken;\n }\n if (options?.annotationInfo) {\n body.annotation = options?.annotationInfo;\n }\n\n // @ts-ignore\n return this.request({\n uri: options.uri,\n method: HTTP_VERBS.PUT,\n body,\n });\n }\n\n /**\n * Sends a request to the DTMF endpoint to send tones\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.tones a string of one or more DTMF tones to send\n * @returns {Promise}\n */\n sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,\n body: {\n deviceUrl,\n dtmf: {\n correlationId: uuid.v4(),\n tones,\n },\n },\n });\n }\n\n /**\n * Sends a request to the controls endpoint to set the video layout\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}\n * @param {Object} options.main preferred dimensions for the remote main video stream\n * @param {Number} options.main.width preferred width of main video stream\n * @param {Number} options.main.height preferred height of main video stream\n * @param {Object} options.content preferred dimensions for the remote content share stream\n * @param {Number} options.content.width preferred width of content share stream\n * @param {Number} options.content.height preferred height of content share stream\n * @returns {Promise}\n */\n changeVideoLayout({\n locusUrl,\n deviceUrl,\n layoutType,\n main,\n content,\n }: {\n locusUrl: string;\n deviceUrl: string;\n layoutType: string;\n main: {\n width: number;\n height: number;\n };\n content: {\n width: number;\n height: number;\n };\n }) {\n // send main/content renderInfo only if both width and height are specified\n if (main && (!main.width || !main.height)) {\n return Promise.reject(\n new Error(\n `Both width and height must be specified. One of them is missing for main: ${JSON.stringify(\n main\n )}`\n )\n );\n }\n\n if (content && (!content.width || !content.height)) {\n return Promise.reject(\n new Error(\n `Both width and height must be specified. One of them is missing for content: ${JSON.stringify(\n content\n )}`\n )\n );\n }\n\n const renderInfoMain = main ? {width: main.width, height: main.height} : undefined;\n const renderInfoContent = content ? {width: content.width, height: content.height} : undefined;\n\n const layoutParams =\n renderInfoMain || renderInfoContent\n ? {\n renderInfo: {\n main: renderInfoMain,\n content: renderInfoContent,\n },\n }\n : undefined;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri: `${locusUrl}/${CONTROLS}`,\n body: {\n layout: {\n deviceUrl,\n type: layoutType,\n layoutParams,\n },\n },\n });\n }\n\n /**\n * Make a network request to end meeting for all\n * @param {Object} options\n * @param {Url} options.locusUrl\n * @returns {Promise}\n */\n endMeetingForAll({locusUrl}: {locusUrl: string}) {\n const uri = `${locusUrl}/${END}`;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri,\n });\n }\n\n /**\n * Send a locus keepAlive (used in lobby)\n * @param {Object} options\n * @param {Url} options.keepAliveUrl\n * @returns {Promise}\n */\n keepAlive({keepAliveUrl}: {keepAliveUrl: string}) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.GET,\n uri: keepAliveUrl,\n });\n }\n\n /**\n * Make a network request to send a reaction.\n * @param {Object} options\n * @param {Url} options.reactionChannelUrl\n * @param {Reaction} options.reaction\n * @param {string} options.senderID\n * @returns {Promise}\n */\n sendReaction({reactionChannelUrl, reaction, participantId}: SendReactionOptions) {\n const uri = reactionChannelUrl;\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri,\n body: {\n sender: {participantId},\n reaction,\n },\n });\n }\n\n /**\n * Extend the current meeting duration.\n *\n * @param {Object} params - Parameters for extending the meeting.\n * @param {string} params.meetingInstanceId - The unique ID of the meeting instance.\n * @param {string} params.participantId - The ID of the participant requesting the extension.\n * @param {number} params.extensionMinutes - The number of minutes to extend the meeting by.\n * @param {string} params.meetingPolicyUrl - The base URL for meeting policy service (dynamic, from locus links)\n * @returns {Promise<any>} A promise that resolves with the server response.\n */\n extendMeeting({\n meetingInstanceId,\n participantId,\n extensionMinutes,\n meetingPolicyUrl,\n }: {\n meetingInstanceId: string;\n participantId: string;\n extensionMinutes: number;\n meetingPolicyUrl: string;\n }) {\n if (!meetingPolicyUrl) {\n return Promise.reject(new Error('meetingPolicyUrl is required'));\n }\n const uri = `${meetingPolicyUrl}/continueMeeting`;\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri,\n body: {\n meetingInstanceId,\n requestParticipantId: participantId,\n extensionMinutes,\n },\n });\n }\n\n /**\n * Make a network request to enable or disable reactions.\n * @param {boolean} options.enable - determines if we need to enable or disable.\n * @param {locusUrl} options.locusUrl\n * @returns {Promise}\n */\n toggleReactions({enable, locusUrl, requestingParticipantId}: ToggleReactionsOptions) {\n const uri = `${locusUrl}/${CONTROLS}`;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body: {\n reactions: {\n enabled: enable,\n },\n requestingParticipantId,\n },\n });\n }\n\n getLocusStatusByUrl(locusUrl: string) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.GET,\n uri: locusUrl,\n });\n }\n\n /**\n * Sends a request to set be right back status.\n *\n * @param {Object} options - The options for brb request.\n * @param {boolean} options.enabled - Whether brb status is enabled.\n * @param {string} options.locusUrl - The URL of the locus.\n * @param {string} options.deviceUrl - The URL of the device.\n * @param {string} options.selfId - The ID of the participant.\n * @returns {Promise}\n */\n setBrb({enabled, locusUrl, deviceUrl, selfId}: BrbOptions) {\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${CONTROLS}`;\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri,\n body: {\n brb: {\n enabled,\n deviceUrl,\n },\n },\n });\n }\n\n /**\n * Sends a request to set post meeting data consent.\n *\n * @param {Object} options - The options for post meeting data consent request.\n * @param {boolean} options.consent - Whether accepted or declined.\n * @param {string} options.locusUrl - The URL of the locus.\n * @param {string} options.deviceUrl - The URL of the device.\n * @param {string} options.selfId - The ID of the participant.\n * @returns {Promise}\n */\n setPostMeetingDataConsent({\n postMeetingDataConsent,\n locusUrl,\n deviceUrl,\n selfId,\n }: PostMeetingDataConsentOptions) {\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${CONTROLS}`;\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri,\n body: {\n consent: {\n postMeetingDataConsent,\n deviceUrl,\n },\n },\n });\n }\n\n /**\n * Synchronize the stage for a meeting\n *\n * @param {LocusUrl} locusUrl The locus URL\n * @param {SetStageVideoLayout} videoLayout The video layout to synchronize\n * @returns {Promise} The locus request\n */\n synchronizeStage(locusUrl: string, videoLayout: SynchronizeVideoLayout) {\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri: `${locusUrl}/${CONTROLS}`,\n body: {videoLayout},\n });\n }\n\n /**\n * Sends a request to notify the host of a meeting.\n * @param {string} siteFullUrl - The site URL.\n * @param {string} locusId - The locus ID.\n * @param {string} meetingUuid - The meeting UUID.\n * @param {Array<string>} displayName - The display names to notify the host about.\n * @returns {Promise}\n */\n notifyHost(siteFullUrl: string, locusId: string, meetingUuid: string, displayName: string[]) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `https://${siteFullUrl}/wbxappapi/v1/meetings/${meetingUuid}/notifyhost`,\n body: {\n displayName,\n size: displayName?.length,\n },\n headers: {\n locusId,\n },\n });\n }\n\n /**\n * Call out to a SIP participant\n *\n * @param {any} meetingId - The meeting ID.\n * @param {any} meetingNumber - The meeting number.\n * @param {string} address - The SIP address to call out.\n * @param {string} displayName - The display name for the participant.\n * @returns {Promise} The API response\n */\n public async sipCallOut(meetingId, meetingNumber, address, displayName) {\n const body: any = {\n meetingId,\n meetingNumber,\n address,\n displayName,\n };\n try {\n // @ts-ignore\n const response = await this.request({\n method: HTTP_VERBS.POST,\n service: 'hydra',\n resource: 'meetingParticipants/callout',\n body,\n headers: {\n Accept: 'application/json',\n },\n });\n\n LoggerProxy.logger.info('Meetings:request#sipCallOut --> SIP call-out successful', response);\n\n return response.body;\n } catch (err) {\n LoggerProxy.logger.error(\n `Meetings:request#sipCallOut --> Error calling out SIP participant, error ${JSON.stringify(\n err\n )}`\n );\n throw err;\n }\n }\n\n /**\n * Cancel an ongoing SIP call-out\n *\n * @param {string} participantId - The ID of the participant whose SIP call-out should be cancelled.\n * @returns {Promise} The API response\n */\n public async cancelSipCallOut(participantId) {\n const body = {\n participantId,\n };\n\n try {\n // @ts-ignore\n const response = await this.request({\n method: HTTP_VERBS.POST,\n service: 'hydra',\n resource: 'meetingParticipants/cancelCallout',\n body,\n headers: {\n Accept: 'application/json',\n },\n });\n\n LoggerProxy.logger.info(\n 'Meetings:request#cancelSipCallOut --> SIP call-out cancelled successfully',\n response\n );\n\n return response.body;\n } catch (err) {\n LoggerProxy.logger.error(\n `Meetings:request#cancelSipCallOut --> Error cancelling SIP participant call-out, error ${JSON.stringify(\n err\n )}`\n );\n throw err;\n }\n }\n\n /**\n * Sends a request to retrieve the datachannel authorization token for a participant.\n *\n * For regular meeting data channel:\n * GET /locus/api/v1/loci/{uuid:lid}/participant/{uuid:pid}/datachannel/token\n *\n * For practice session data channel:\n * GET /locus/api/v1/loci/{uuid:lid}/participant/{uuid:pid}/practiceSession/datachannel/token\n *\n * @param {string} locusUrl - The locus url.\n * @param {string} requestingParticipantId - The participant UUID.\n * @param {boolean} [isPracticeSession=false] - Whether to get the practice session token.\n * @returns {Promise<{datachannelToken: string}>}\n */\n public async fetchDatachannelToken({\n locusUrl,\n requestingParticipantId,\n isPracticeSession = false,\n }: fetchDataChannelTokenOptions) {\n if (!locusUrl || !requestingParticipantId) {\n return Promise.reject(new Error('locusUrl and participantId are required'));\n }\n const practicePrefix = isPracticeSession ? '/practiceSession' : '';\n\n const uri = `${locusUrl}/${PARTICIPANT}/${requestingParticipantId}${practicePrefix}/datachannel/token`;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.GET,\n uri,\n }).catch((err) => {\n LoggerProxy.logger.warn(\n `Meeting:request#fetchDatachannelToken --> Failed to retrieve ${\n isPracticeSession ? 'practice session ' : ''\n }datachannel token: ${err?.message || err}`\n );\n\n return null;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_uuid","_interopRequireDefault","require","_lodash","_webexCore","_common","_internalPluginMetrics","_loggerProxy","_constants","_util","_excluded","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","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","Boolean","prototype","valueOf","call","MeetingRequest","exports","_StatelessWebexPlugin","attrs","options","_this","_classCallCheck2","meeting","otherAttrs","_objectWithoutProperties2","_asyncToGenerator2","_regenerator","mark","_callee","joinCookieRaw","joinCookie","_t","wrap","_context","prev","next","webex","boundedStorage","get","REACHABILITY","namespace","localStorageJoinCookie","catch","sent","JSON","parse","abrupt","LoggerProxy","logger","error","concat","stop","locusDeltaRequest","MeetingUtil","generateLocusDeltaRequest","buildLocusDeltaRequestOptions","generateBuildLocusDeltaRequestOptions","changeVideoLayoutDebounced","debounce","changeVideoLayout","leading","trailing","_inherits2","_createClass2","key","value","_joinMeeting","_callee2","asResourceOccupant","inviteeAddress","meetingNumber","permissionToken","deviceUrl","locusUrl","locusClusterUrl","resourceId","correlationId","ensureConversation","moderator","pin","moveToResource","roapMessage","reachability","breakoutsSupported","locale","_options$deviceCapabi","deviceCapabilities","liveAnnotationSupported","enableSimultaneousInterpretation","clientMediaPreferences","alias","url","body","clusterUrl","_t2","_context2","info","device","deviceType","config","meetings","usingResource","moveMediaToResource","respOnlySdp","allowMultiDevice","supportsNativeLobby","BREAKOUTS","BREAKOUTS_SUPPORTED","ANNOTATION","ANNOTATION_ON_SHARE_SUPPORTED","INTERPRETATION","CAPABILITIES","HOST_CONTROL_SI_SUPPORTED","INTERPRETER_CONTROL_SI_SUPPORTED","SI_HANDOVER_SUPPORTED","SIGN_INTERPRETER_SUPPORTED","internal","installationId","geoHintInfo","countryCode","regionCode","localIp","CallDiagnosticUtils","anonymizeIPAddress","clientAddress","undefined","PARTICIPANT","services","waitForCatalog","LOCI","CALL","invitee","address","ALTERNATE_REDIRECT_TRUE","callPreferences","requestedMedia","_SLIDES_","localMedias","localSdp","_stringify","request","method","HTTP_VERBS","POST","uri","joinMeeting","_x","refreshCaptcha","_ref2","captchaRefreshUrl","captchaId","err","dialIn","_ref3","dialInUrl","clientUrl","PROVISIONAL","provisionalType","PROVISIONAL_TYPE_DIAL_IN","dialOut","_ref4","dialOutUrl","phoneNumber","PROVISIONAL_TYPE_DIAL_OUT","dialoutAddress","getLocusDTO","GET","_promise","reject","disconnectPhoneAudio","_ref5","phoneUrl","selfId","LEAVE","PUT","prepareLeaveMeetingRequestOptions","_ref6","leaveMeeting","_ref7","buildLeaveMeetingRequestOptions","acknowledgeMeeting","ALERT","lockMeeting","CONTROLS","lock","locked","PATCH","declineMeeting","DECLINE","reason","changeMeetingFloor","floorReq","disposition","FLOOR_ACTION","GRANTED","beneficiary","personUrl","devices","requester","floor","resourceUrl","shareInstanceId","resourceToken","annotationInfo","annotation","sendDTMF","_ref8","tones","SEND_DTMF_ENDPOINT","dtmf","uuid","v4","_ref9","layoutType","main","content","width","height","Error","renderInfoMain","renderInfoContent","layoutParams","renderInfo","layout","type","endMeetingForAll","_ref0","END","keepAlive","_ref1","keepAliveUrl","sendReaction","_ref10","reactionChannelUrl","reaction","participantId","sender","extendMeeting","_ref11","meetingInstanceId","extensionMinutes","meetingPolicyUrl","requestParticipantId","toggleReactions","_ref12","enable","requestingParticipantId","reactions","enabled","getLocusStatusByUrl","setBrb","_ref13","brb","setPostMeetingDataConsent","_ref14","postMeetingDataConsent","consent","synchronizeStage","videoLayout","notifyHost","siteFullUrl","locusId","meetingUuid","displayName","size","headers","_sipCallOut","_callee3","meetingId","response","_t3","_context3","service","resource","Accept","sipCallOut","_x2","_x3","_x4","_x5","_cancelSipCallOut","_callee4","_t4","_context4","cancelSipCallOut","_x6","_fetchDatachannelToken","_callee5","_ref15","_ref15$isPracticeSess","isPracticeSession","practicePrefix","_context5","warn","message","fetchDatachannelToken","_x7","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["import uuid from 'uuid';\nimport {debounce} from 'lodash';\n// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n// @ts-ignore\nimport {deviceType} from '@webex/common';\nimport {CallDiagnosticUtils} from '@webex/internal-plugin-metrics';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n ALERT,\n ALTERNATE_REDIRECT_TRUE,\n BREAKOUTS,\n CALL,\n CONTROLS,\n DECLINE,\n END,\n FLOOR_ACTION,\n HTTP_VERBS,\n LEAVE,\n LOCI,\n PARTICIPANT,\n PROVISIONAL_TYPE_DIAL_IN,\n PROVISIONAL_TYPE_DIAL_OUT,\n REACHABILITY,\n SEND_DTMF_ENDPOINT,\n _SLIDES_,\n ANNOTATION,\n INTERPRETATION,\n} from '../constants';\nimport {\n SendReactionOptions,\n BrbOptions,\n ToggleReactionsOptions,\n PostMeetingDataConsentOptions,\n SynchronizeVideoLayout,\n fetchDataChannelTokenOptions,\n} from './request.type';\nimport MeetingUtil from './util';\nimport {AnnotationInfo} from '../annotation/annotation.types';\nimport {ClientMediaPreferences} from '../reachability/reachability.types';\n\n/**\n * @class MeetingRequest\n */\nexport default class MeetingRequest extends StatelessWebexPlugin {\n changeVideoLayoutDebounced: any;\n meetingRef: WeakRef<any>;\n locusDeltaRequest: (options: object) => Promise<any>;\n buildLocusDeltaRequestOptions: (options: object) => Promise<any>;\n\n /**\n * Constructor\n * @param {Object} attrs\n * @param {Object} options\n */\n constructor(attrs: any, options: any) {\n const {meeting, ...otherAttrs} = attrs;\n\n super(otherAttrs, options);\n\n this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);\n this.buildLocusDeltaRequestOptions = MeetingUtil.generateBuildLocusDeltaRequestOptions(meeting);\n\n this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {\n leading: true,\n trailing: true,\n });\n }\n\n /**\n * Returns joinCookie from boundedStorage if present.\n * @returns {Object} joinCookie\n */\n private getJoinCookie = async () => {\n // @ts-ignore\n const joinCookieRaw = await this.webex.boundedStorage\n .get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)\n .catch(() => {});\n\n if (joinCookieRaw) {\n try {\n const joinCookie = JSON.parse(joinCookieRaw);\n if (joinCookie) {\n return joinCookie;\n }\n } catch (e) {\n LoggerProxy.logger.error(\n `MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`\n );\n }\n }\n\n return null;\n };\n\n /**\n * Make a network request to join a meeting\n * @param {Object} options\n * @param {String} options.sipUri\n * @param {String} options.deviceUrl\n * @param {String} options.locusUrl\n * @param {String} options.resourceId,\n * @param {String} options.correlationId\n * @param {boolean} options.ensureConversation\n * @param {boolean} options.moderator\n * @param {boolean} options.pin\n * @param {boolean} options.moveToResource\n * @param {Object} options.roapMessage\n * @param {boolean} options.breakoutsSupported\n * @param {String} options.locale,\n * @param {Array} options.deviceCapabilities\n * @param {boolean} options.liveAnnotationSupported\n * @param {String} options.alias\n * @returns {Promise}\n */\n async joinMeeting(options: {\n sipUri: string;\n deviceUrl: string;\n locusUrl: string;\n locusClusterUrl: string;\n resourceId: string;\n correlationId: string;\n ensureConversation: boolean;\n moderator: boolean;\n pin: boolean;\n moveToResource: boolean;\n roapMessage: any;\n asResourceOccupant: any;\n inviteeAddress: any;\n meetingNumber: any;\n permissionToken: any;\n preferTranscoding: any;\n reachability: any;\n breakoutsSupported: boolean;\n locale?: string;\n deviceCapabilities?: Array<string>;\n liveAnnotationSupported: boolean;\n enableSimultaneousInterpretation: boolean;\n alias?: string;\n clientMediaPreferences: ClientMediaPreferences;\n }) {\n const {\n asResourceOccupant,\n inviteeAddress,\n meetingNumber,\n permissionToken,\n deviceUrl,\n locusUrl,\n locusClusterUrl,\n resourceId,\n correlationId,\n ensureConversation,\n moderator,\n pin,\n moveToResource,\n roapMessage,\n reachability,\n breakoutsSupported,\n locale,\n deviceCapabilities = [],\n liveAnnotationSupported,\n enableSimultaneousInterpretation,\n clientMediaPreferences,\n alias,\n } = options;\n\n LoggerProxy.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);\n\n let url = '';\n\n const body: any = {\n asResourceOccupant,\n device: {\n url: deviceUrl,\n // @ts-ignore - config comes from registerPlugin\n deviceType: this.config.meetings.deviceType,\n },\n usingResource: resourceId || null,\n moveMediaToResource: (resourceId && moveToResource) || false,\n correlationId,\n respOnlySdp: true,\n allowMultiDevice: true,\n ensureConversation: ensureConversation || false,\n supportsNativeLobby: 1,\n clientMediaPreferences,\n };\n\n if (alias) {\n body.alias = alias;\n }\n\n if (breakoutsSupported) {\n deviceCapabilities.push(BREAKOUTS.BREAKOUTS_SUPPORTED);\n }\n if (liveAnnotationSupported) {\n deviceCapabilities.push(ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);\n }\n if (enableSimultaneousInterpretation) {\n deviceCapabilities.push(\n INTERPRETATION.CAPABILITIES.HOST_CONTROL_SI_SUPPORTED,\n INTERPRETATION.CAPABILITIES.INTERPRETER_CONTROL_SI_SUPPORTED,\n INTERPRETATION.CAPABILITIES.SI_HANDOVER_SUPPORTED,\n INTERPRETATION.CAPABILITIES.SIGN_INTERPRETER_SUPPORTED\n );\n }\n\n // append installationId to device config if it exists\n // @ts-ignore\n if (this.webex.internal.device.config.installationId) {\n // @ts-ignore\n body.device.installationId = this.webex.internal.device.config.installationId;\n }\n\n if (locale) {\n body.locale = locale;\n }\n\n // add deviceCapabilities prop\n if (deviceCapabilities.length) {\n body.deviceCapabilities = deviceCapabilities;\n }\n // @ts-ignore\n if (this.webex.meetings.geoHintInfo) {\n // @ts-ignore\n body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;\n // @ts-ignore\n body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;\n body.device.localIp =\n // @ts-ignore\n CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) ||\n undefined;\n }\n\n if (moderator !== undefined) {\n body.moderator = moderator;\n }\n\n if (permissionToken) {\n body.permissionToken = permissionToken;\n }\n\n if (pin !== undefined) {\n body.pin = pin;\n }\n\n if (locusUrl) {\n url = `${locusUrl}/${PARTICIPANT}`;\n } else if (inviteeAddress || meetingNumber) {\n try {\n let clusterUrl;\n\n if (locusClusterUrl) {\n clusterUrl = `https://${locusClusterUrl}/locus/api/v1`;\n } else {\n // @ts-ignore\n await this.webex.internal.services.waitForCatalog('postauth');\n // @ts-ignore\n clusterUrl = this.webex.internal.services.get('locus');\n }\n\n url = `${clusterUrl}/${LOCI}/${CALL}`;\n body.invitee = {\n address: inviteeAddress || `wbxmn:${meetingNumber}`,\n };\n } catch (e) {\n LoggerProxy.logger.error(\n `Meeting:request#joinMeeting Error Joining ${inviteeAddress || meetingNumber} --> ${e}`\n );\n throw e;\n }\n }\n\n // TODO: -- this will be resolved in SDK request\n url = url.concat(`?${ALTERNATE_REDIRECT_TRUE}`);\n\n if (resourceId === inviteeAddress) {\n body.callPreferences = {\n requestedMedia: [_SLIDES_],\n };\n }\n\n if (roapMessage || reachability) {\n body.localMedias = [\n {\n localSdp: JSON.stringify({\n roapMessage,\n reachability,\n }),\n },\n ];\n }\n\n /// @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: url,\n body,\n });\n }\n\n /**\n * Send a request to refresh the captcha\n * @param {Object} options\n * @param {String} options.captchaRefreshUrl\n * @param {String} options.captchaId\n * @returns {Promise}\n * @private\n */\n private refreshCaptcha({\n captchaRefreshUrl,\n captchaId,\n }: {\n captchaRefreshUrl: string;\n captchaId: string;\n }) {\n const body = {\n captchaId,\n };\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: captchaRefreshUrl,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(`Meeting:request#refreshCaptcha --> Error: ${err}`);\n\n throw err;\n });\n }\n\n /**\n * Make a network request to add a dial in device\n * @param {Object} options\n * @param {String} options.correlationId\n * @param {String} options.locusUrl url for the meeting\n * @param {String} options.dialInUrl identifier for the to-be provisioned device\n * @param {String} options.clientUrl identifier for the web device\n * @returns {Promise}\n * @private\n */\n private dialIn({\n locusUrl,\n dialInUrl,\n clientUrl,\n correlationId,\n }: {\n correlationId: string;\n locusUrl: string;\n dialInUrl: string;\n clientUrl: string;\n }) {\n LoggerProxy.logger.info(\n 'Meeting:request#dialIn --> Provisioning a dial in device',\n correlationId\n );\n const uri = `${locusUrl}/${PARTICIPANT}`;\n\n const body = {\n device: {\n deviceType: deviceType.PROVISIONAL,\n provisionalType: PROVISIONAL_TYPE_DIAL_IN,\n url: dialInUrl,\n clientUrl,\n },\n correlationId,\n };\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#dialIn --> Error provisioning a dial in device, error ${err}`\n );\n\n throw err;\n });\n }\n\n /**\n * Make a network request to add a dial out device\n * @param {Object} options\n * @param {String} options.correlationId\n * @param {String} options.locusUrl url for the meeting\n * @param {String} options.dialOutUrl identifier for the to-be provisioned device\n * @param {String} options.phoneNumber phone number to dial out to\n * @param {String} options.clientUrl identifier for the web device\n * @returns {Promise}\n * @private\n */\n private dialOut({\n locusUrl,\n dialOutUrl,\n phoneNumber,\n clientUrl,\n correlationId,\n }: {\n correlationId: string;\n locusUrl: string;\n dialOutUrl: string;\n phoneNumber: string;\n clientUrl: string;\n }) {\n LoggerProxy.logger.info(\n 'Meeting:request#dialOut --> Provisioning a dial out device',\n correlationId\n );\n const uri = `${locusUrl}/${PARTICIPANT}`;\n\n const body = {\n device: {\n deviceType: deviceType.PROVISIONAL,\n provisionalType: PROVISIONAL_TYPE_DIAL_OUT,\n url: dialOutUrl,\n dialoutAddress: phoneNumber,\n clientUrl,\n },\n correlationId,\n };\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#dialOut --> Error provisioning a dial out device, error ${err}`\n );\n\n throw err;\n });\n }\n\n /**\n * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided\n * @param {Object} options\n * @param {String} options.locusUrl sync url to get ht elatest locus delta\n * @returns {Promise}\n */\n getLocusDTO(options: {url: string}) {\n const {url} = options;\n\n if (url) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.GET,\n uri: url,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#getLocusDTO --> Error getting latest locus, error ${err}`\n );\n\n throw err;\n });\n }\n\n return Promise.reject();\n }\n\n /**\n * Make a network request to make a provisioned phone leave the meeting\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.phoneUrl\n * @param {String} options.correlationId\n * @param {String} options.selfId\n * @returns {Promise}\n * @private\n */\n private disconnectPhoneAudio({\n locusUrl,\n phoneUrl,\n correlationId,\n selfId,\n }: {\n locusUrl: string;\n phoneUrl: string;\n correlationId: string;\n selfId: string;\n }) {\n LoggerProxy.logger.info(\n `Meeting:request#disconnectPhoneAudio --> request phone ${phoneUrl} to leave`,\n correlationId\n );\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;\n\n const body = {\n device: {\n deviceType: deviceType.PROVISIONAL,\n url: phoneUrl,\n },\n correlationId,\n };\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n }).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#disconnectPhoneAudio --> Error when requesting phone ${phoneUrl} to leave, error ${err}`\n );\n\n throw err;\n });\n }\n\n /**\n * Prepares request options to to leave a meeting\n * @param {Object} options\n * @param {Url} options.locusUrl\n * @param {String} options.selfId\n * @param {Url} options.deviceUrl\n * @param {String} options.resourceId,\n * @param {String} options.correlationId\n * @returns {Object} request options\n */\n prepareLeaveMeetingRequestOptions({\n locusUrl,\n selfId,\n deviceUrl: url,\n resourceId,\n correlationId,\n }: {\n locusUrl: string;\n selfId: string;\n deviceUrl: string;\n resourceId: string;\n correlationId: string;\n }) {\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url,\n },\n usingResource: resourceId || null,\n correlationId,\n };\n\n return {\n method: HTTP_VERBS.PUT,\n uri,\n body,\n };\n }\n\n /**\n * Make a network request to leave a meeting\n * @param {Object} options\n * @returns {Promise}\n */\n leaveMeeting({\n locusUrl,\n selfId,\n deviceUrl: url,\n resourceId,\n correlationId,\n }: {\n locusUrl: string;\n selfId: string;\n deviceUrl: string;\n resourceId: string;\n correlationId: string;\n }) {\n LoggerProxy.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);\n\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${LEAVE}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url,\n },\n usingResource: resourceId || null,\n correlationId,\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n });\n }\n\n /**\n * Builds request options to leave a meeting\n * @param {Object} options\n * @returns {Object} request options\n */\n buildLeaveMeetingRequestOptions(options: any) {\n return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));\n }\n\n /**\n * Make a network request to acknowledge a meeting\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.correlationId\n * @returns {Promise}\n */\n acknowledgeMeeting(options: {locusUrl: string; deviceUrl: string; correlationId: string}) {\n const uri = `${options.locusUrl}/${PARTICIPANT}/${ALERT}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url: options.deviceUrl,\n },\n correlationId: options.correlationId,\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n });\n }\n\n /**\n * Makes a network request to lock the meeting\n * @param {Object} options\n * @param {Boolean} options.lock Whether it is locked or not\n * @returns {Promise}\n */\n lockMeeting(options) {\n const uri = `${options.locusUrl}/${CONTROLS}`;\n const body = {\n lock: {\n locked: options.lock,\n },\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri,\n body,\n });\n }\n\n /**\n * Make a network request to decline a meeting\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.reason\n * @returns {Promise}\n */\n declineMeeting(options: {locusUrl: string; deviceUrl: string; reason: string}) {\n const uri = `${options.locusUrl}/${PARTICIPANT}/${DECLINE}`;\n const body = {\n device: {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url: options.deviceUrl,\n },\n ...(options.reason && {reason: options.reason}),\n };\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body,\n });\n }\n\n /**\n * change the content floor grant\n * @param {Object} options options for floor grant\n * @param {String} options.disposition floor action (granted/released)\n * @param {String} options.personUrl personUrl who is requesting floor\n * @param {String} options.deviceUrl Url of a device\n * @param {String} options.resourceId Populated if you are paired to a device\n * @param {String} options.uri floor grant uri\n * @param {String} options.shareInstanceId id for current share\n * @returns {Promise}\n */\n changeMeetingFloor(\n options:\n | {\n disposition: string;\n personUrl: string;\n deviceUrl: string;\n resourceId: string;\n uri: string;\n annotationInfo: AnnotationInfo;\n shareInstanceId: string;\n }\n | any\n ) {\n let floorReq: any = {disposition: options.disposition};\n\n /* istanbul ignore else */\n if (options.disposition === FLOOR_ACTION.GRANTED) {\n floorReq = {\n beneficiary: {\n url: options.personUrl,\n devices: [\n {\n // @ts-ignore\n deviceType: this.config.meetings.deviceType,\n url: options.deviceUrl,\n },\n ],\n },\n disposition: options.disposition,\n requester: {\n url: options.personUrl,\n },\n };\n }\n\n const body: any = {\n floor: floorReq,\n resourceUrl: options.resourceUrl,\n };\n\n if (options?.shareInstanceId) {\n body.floor.shareInstanceId = options.shareInstanceId;\n }\n\n if (options?.resourceToken) {\n body.resourceToken = options?.resourceToken;\n }\n if (options?.annotationInfo) {\n body.annotation = options?.annotationInfo;\n }\n\n // @ts-ignore\n return this.request({\n uri: options.uri,\n method: HTTP_VERBS.PUT,\n body,\n });\n }\n\n /**\n * Sends a request to the DTMF endpoint to send tones\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.tones a string of one or more DTMF tones to send\n * @returns {Promise}\n */\n sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,\n body: {\n deviceUrl,\n dtmf: {\n correlationId: uuid.v4(),\n tones,\n },\n },\n });\n }\n\n /**\n * Sends a request to the controls endpoint to set the video layout\n * @param {Object} options\n * @param {String} options.locusUrl\n * @param {String} options.deviceUrl\n * @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}\n * @param {Object} options.main preferred dimensions for the remote main video stream\n * @param {Number} options.main.width preferred width of main video stream\n * @param {Number} options.main.height preferred height of main video stream\n * @param {Object} options.content preferred dimensions for the remote content share stream\n * @param {Number} options.content.width preferred width of content share stream\n * @param {Number} options.content.height preferred height of content share stream\n * @returns {Promise}\n */\n changeVideoLayout({\n locusUrl,\n deviceUrl,\n layoutType,\n main,\n content,\n }: {\n locusUrl: string;\n deviceUrl: string;\n layoutType: string;\n main: {\n width: number;\n height: number;\n };\n content: {\n width: number;\n height: number;\n };\n }) {\n // send main/content renderInfo only if both width and height are specified\n if (main && (!main.width || !main.height)) {\n return Promise.reject(\n new Error(\n `Both width and height must be specified. One of them is missing for main: ${JSON.stringify(\n main\n )}`\n )\n );\n }\n\n if (content && (!content.width || !content.height)) {\n return Promise.reject(\n new Error(\n `Both width and height must be specified. One of them is missing for content: ${JSON.stringify(\n content\n )}`\n )\n );\n }\n\n const renderInfoMain = main ? {width: main.width, height: main.height} : undefined;\n const renderInfoContent = content ? {width: content.width, height: content.height} : undefined;\n\n const layoutParams =\n renderInfoMain || renderInfoContent\n ? {\n renderInfo: {\n main: renderInfoMain,\n content: renderInfoContent,\n },\n }\n : undefined;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri: `${locusUrl}/${CONTROLS}`,\n body: {\n layout: {\n deviceUrl,\n type: layoutType,\n layoutParams,\n },\n },\n });\n }\n\n /**\n * Make a network request to end meeting for all\n * @param {Object} options\n * @param {Url} options.locusUrl\n * @returns {Promise}\n */\n endMeetingForAll({locusUrl}: {locusUrl: string}) {\n const uri = `${locusUrl}/${END}`;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.POST,\n uri,\n });\n }\n\n /**\n * Send a locus keepAlive (used in lobby)\n * @param {Object} options\n * @param {Url} options.keepAliveUrl\n * @returns {Promise}\n */\n keepAlive({keepAliveUrl}: {keepAliveUrl: string}) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.GET,\n uri: keepAliveUrl,\n });\n }\n\n /**\n * Make a network request to send a reaction.\n * @param {Object} options\n * @param {Url} options.reactionChannelUrl\n * @param {Reaction} options.reaction\n * @param {string} options.senderID\n * @returns {Promise}\n */\n sendReaction({reactionChannelUrl, reaction, participantId}: SendReactionOptions) {\n const uri = reactionChannelUrl;\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri,\n body: {\n sender: {participantId},\n reaction,\n },\n });\n }\n\n /**\n * Extend the current meeting duration.\n *\n * @param {Object} params - Parameters for extending the meeting.\n * @param {string} params.meetingInstanceId - The unique ID of the meeting instance.\n * @param {string} params.participantId - The ID of the participant requesting the extension.\n * @param {number} params.extensionMinutes - The number of minutes to extend the meeting by.\n * @param {string} params.meetingPolicyUrl - The base URL for meeting policy service (dynamic, from locus links)\n * @returns {Promise<any>} A promise that resolves with the server response.\n */\n extendMeeting({\n meetingInstanceId,\n participantId,\n extensionMinutes,\n meetingPolicyUrl,\n }: {\n meetingInstanceId: string;\n participantId: string;\n extensionMinutes: number;\n meetingPolicyUrl: string;\n }) {\n if (!meetingPolicyUrl) {\n return Promise.reject(new Error('meetingPolicyUrl is required'));\n }\n const uri = `${meetingPolicyUrl}/continueMeeting`;\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri,\n body: {\n meetingInstanceId,\n requestParticipantId: participantId,\n extensionMinutes,\n },\n });\n }\n\n /**\n * Make a network request to enable or disable reactions.\n * @param {boolean} options.enable - determines if we need to enable or disable.\n * @param {locusUrl} options.locusUrl\n * @returns {Promise}\n */\n toggleReactions({enable, locusUrl, requestingParticipantId}: ToggleReactionsOptions) {\n const uri = `${locusUrl}/${CONTROLS}`;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PUT,\n uri,\n body: {\n reactions: {\n enabled: enable,\n },\n requestingParticipantId,\n },\n });\n }\n\n getLocusStatusByUrl(locusUrl: string) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.GET,\n uri: locusUrl,\n });\n }\n\n /**\n * Sends a request to set be right back status.\n *\n * @param {Object} options - The options for brb request.\n * @param {boolean} options.enabled - Whether brb status is enabled.\n * @param {string} options.locusUrl - The URL of the locus.\n * @param {string} options.deviceUrl - The URL of the device.\n * @param {string} options.selfId - The ID of the participant.\n * @returns {Promise}\n */\n setBrb({enabled, locusUrl, deviceUrl, selfId}: BrbOptions) {\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${CONTROLS}`;\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri,\n body: {\n brb: {\n enabled,\n deviceUrl,\n },\n },\n });\n }\n\n /**\n * Sends a request to set post meeting data consent.\n *\n * @param {Object} options - The options for post meeting data consent request.\n * @param {boolean} options.consent - Whether accepted or declined.\n * @param {string} options.locusUrl - The URL of the locus.\n * @param {string} options.deviceUrl - The URL of the device.\n * @param {string} options.selfId - The ID of the participant.\n * @returns {Promise}\n */\n setPostMeetingDataConsent({\n postMeetingDataConsent,\n locusUrl,\n deviceUrl,\n selfId,\n }: PostMeetingDataConsentOptions) {\n const uri = `${locusUrl}/${PARTICIPANT}/${selfId}/${CONTROLS}`;\n\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri,\n body: {\n consent: {\n postMeetingDataConsent,\n deviceUrl,\n },\n },\n });\n }\n\n /**\n * Synchronize the stage for a meeting\n *\n * @param {LocusUrl} locusUrl The locus URL\n * @param {SetStageVideoLayout} videoLayout The video layout to synchronize\n * @returns {Promise} The locus request\n */\n synchronizeStage(locusUrl: string, videoLayout: SynchronizeVideoLayout) {\n return this.locusDeltaRequest({\n method: HTTP_VERBS.PATCH,\n uri: `${locusUrl}/${CONTROLS}`,\n body: {videoLayout},\n });\n }\n\n /**\n * Sends a request to notify the host of a meeting.\n * @param {string} siteFullUrl - The site URL.\n * @param {string} locusId - The locus ID.\n * @param {string} meetingUuid - The meeting UUID.\n * @param {Array<string>} displayName - The display names to notify the host about.\n * @returns {Promise}\n */\n notifyHost(siteFullUrl: string, locusId: string, meetingUuid: string, displayName: string[]) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `https://${siteFullUrl}/wbxappapi/v1/meetings/${meetingUuid}/notifyhost`,\n body: {\n displayName,\n size: displayName?.length,\n },\n headers: {\n locusId,\n },\n });\n }\n\n /**\n * Call out to a SIP participant\n *\n * @param {any} meetingId - The meeting ID.\n * @param {any} meetingNumber - The meeting number.\n * @param {string} address - The SIP address to call out.\n * @param {string} displayName - The display name for the participant.\n * @returns {Promise} The API response\n */\n public async sipCallOut(meetingId, meetingNumber, address, displayName) {\n const body: any = {\n meetingId,\n meetingNumber,\n address,\n displayName,\n };\n try {\n // @ts-ignore\n const response = await this.request({\n method: HTTP_VERBS.POST,\n service: 'hydra',\n resource: 'meetingParticipants/callout',\n body,\n headers: {\n Accept: 'application/json',\n },\n });\n\n LoggerProxy.logger.info('Meetings:request#sipCallOut --> SIP call-out successful', response);\n\n return response.body;\n } catch (err) {\n LoggerProxy.logger.error(\n `Meetings:request#sipCallOut --> Error calling out SIP participant, error ${JSON.stringify(\n err\n )}`\n );\n throw err;\n }\n }\n\n /**\n * Cancel an ongoing SIP call-out\n *\n * @param {string} participantId - The ID of the participant whose SIP call-out should be cancelled.\n * @returns {Promise} The API response\n */\n public async cancelSipCallOut(participantId) {\n const body = {\n participantId,\n };\n\n try {\n // @ts-ignore\n const response = await this.request({\n method: HTTP_VERBS.POST,\n service: 'hydra',\n resource: 'meetingParticipants/cancelCallout',\n body,\n headers: {\n Accept: 'application/json',\n },\n });\n\n LoggerProxy.logger.info(\n 'Meetings:request#cancelSipCallOut --> SIP call-out cancelled successfully',\n response\n );\n\n return response.body;\n } catch (err) {\n LoggerProxy.logger.error(\n `Meetings:request#cancelSipCallOut --> Error cancelling SIP participant call-out, error ${JSON.stringify(\n err\n )}`\n );\n throw err;\n }\n }\n\n /**\n * Sends a request to retrieve the datachannel authorization token for a participant.\n *\n * For regular meeting data channel:\n * GET /locus/api/v1/loci/{uuid:lid}/participant/{uuid:pid}/datachannel/token\n *\n * For practice session data channel:\n * GET /locus/api/v1/loci/{uuid:lid}/participant/{uuid:pid}/practiceSession/datachannel/token\n *\n * @param {string} locusUrl - The locus url.\n * @param {string} requestingParticipantId - The participant UUID.\n * @param {boolean} [isPracticeSession=false] - Whether to get the practice session token.\n * @returns {Promise<{datachannelToken: string}>}\n */\n public async fetchDatachannelToken({\n locusUrl,\n requestingParticipantId,\n isPracticeSession = false,\n }: fetchDataChannelTokenOptions) {\n if (!locusUrl || !requestingParticipantId) {\n return Promise.reject(new Error('locusUrl and participantId are required'));\n }\n const practicePrefix = isPracticeSession ? '/practiceSession' : '';\n\n const uri = `${locusUrl}/${PARTICIPANT}/${requestingParticipantId}${practicePrefix}/datachannel/token`;\n\n // @ts-ignore\n return this.locusDeltaRequest({\n method: HTTP_VERBS.GET,\n uri,\n }).catch((err) => {\n LoggerProxy.logger.warn(\n `Meeting:request#fetchDatachannelToken --> Failed to retrieve ${\n isPracticeSession ? 'practice session ' : ''\n }datachannel token: ${err?.message || err}`\n );\n\n return null;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AAEA,IAAAK,YAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AA6BA,IAAAO,KAAA,GAAAR,sBAAA,CAAAC,OAAA;AAAiC,IAAAQ,SAAA;AAAA,SAAAC,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;AAAA,SAAAqB,WAAAnB,CAAA,EAAAG,CAAA,EAAAL,CAAA,WAAAK,CAAA,OAAAiB,gBAAA,CAAAL,OAAA,EAAAZ,CAAA,OAAAkB,2BAAA,CAAAN,OAAA,EAAAf,CAAA,EAAAsB,yBAAA,KAAAC,kBAAA,CAAApB,CAAA,EAAAL,CAAA,YAAAsB,gBAAA,CAAAL,OAAA,EAAAf,CAAA,EAAAwB,WAAA,IAAArB,CAAA,CAAAK,KAAA,CAAAR,CAAA,EAAAF,CAAA;AAAA,SAAAwB,0BAAA,cAAAtB,CAAA,IAAAyB,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAL,kBAAA,CAAAE,OAAA,iCAAAzB,CAAA,aAAAsB,yBAAA,YAAAA,0BAAA,aAAAtB,CAAA,UApCjC;AAEA;AAsCA;AACA;AACA;AAFA,IAGqB6B,cAAc,GAAAC,OAAA,CAAAf,OAAA,0BAAAgB,qBAAA;EAMjC;AACF;AACA;AACA;AACA;EACE,SAAAF,eAAYG,KAAU,EAAEC,OAAY,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAApB,OAAA,QAAAc,cAAA;IACpC,IAAOO,OAAO,GAAmBJ,KAAK,CAA/BI,OAAO;MAAKC,UAAU,OAAAC,yBAAA,CAAAvB,OAAA,EAAIiB,KAAK,EAAApC,SAAA;IAEtCsC,KAAA,GAAAf,UAAA,OAAAU,cAAA,GAAMQ,UAAU,EAAEJ,OAAO;IAAE,IAAAnB,gBAAA,CAAAC,OAAA,EAAAmB,KAAA;IAAA,IAAApB,gBAAA,CAAAC,OAAA,EAAAmB,KAAA;IAAA,IAAApB,gBAAA,CAAAC,OAAA,EAAAmB,KAAA;IAAA,IAAApB,gBAAA,CAAAC,OAAA,EAAAmB,KAAA;IAW7B;AACF;AACA;AACA;IAHE,IAAApB,gBAAA,CAAAC,OAAA,EAAAmB,KAAA,oCAAAK,kBAAA,CAAAxB,OAAA,eAAAyB,YAAA,CAAAzB,OAAA,CAAA0B,IAAA,CAIwB,SAAAC,QAAA;MAAA,IAAAC,aAAA,EAAAC,UAAA,EAAAC,EAAA;MAAA,OAAAL,YAAA,CAAAzB,OAAA,CAAA+B,IAAA,WAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAE,IAAA;YAAA,OAEMf,KAAA,CAAKgB,KAAK,CAACC,cAAc,CAClDC,GAAG,CAACC,uBAAY,CAACC,SAAS,EAAED,uBAAY,CAACE,sBAAsB,CAAC,CAChEC,KAAK,CAAC,YAAM,CAAC,CAAC,CAAC;UAAA;YAFZb,aAAa,GAAAI,QAAA,CAAAU,IAAA;YAAA,KAIfd,aAAa;cAAAI,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAAF,QAAA,CAAAC,IAAA;YAEPJ,UAAU,GAAGc,IAAI,CAACC,KAAK,CAAChB,aAAa,CAAC;YAAA,KACxCC,UAAU;cAAAG,QAAA,CAAAE,IAAA;cAAA;YAAA;YAAA,OAAAF,QAAA,CAAAa,MAAA,WACLhB,UAAU;UAAA;YAAAG,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAH,EAAA,GAAAE,QAAA;YAGnBc,oBAAW,CAACC,MAAM,CAACC,KAAK,sEAAAC,MAAA,CAAAnB,EAAA,CAExB,CAAC;UAAC;YAAA,OAAAE,QAAA,CAAAa,MAAA,WAIC,IAAI;UAAA;UAAA;YAAA,OAAAb,QAAA,CAAAkB,IAAA;QAAA;MAAA,GAAAvB,OAAA;IAAA,CACZ;IAjCCR,KAAA,CAAKgC,iBAAiB,GAAGC,aAAW,CAACC,yBAAyB,CAAChC,OAAO,CAAC;IACvEF,KAAA,CAAKmC,6BAA6B,GAAGF,aAAW,CAACG,qCAAqC,CAAClC,OAAO,CAAC;IAE/FF,KAAA,CAAKqC,0BAA0B,GAAG,IAAAC,gBAAQ,EAACtC,KAAA,CAAKuC,iBAAiB,EAAE,IAAI,EAAE;MACvEC,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE;IACZ,CAAC,CAAC;IAAC,OAAAzC,KAAA;EACL;EAAC,IAAA0C,UAAA,CAAA7D,OAAA,EAAAc,cAAA,EAAAE,qBAAA;EAAA,WAAA8C,aAAA,CAAA9D,OAAA,EAAAc,cAAA;IAAAiD,GAAA;IAAAC,KAAA;IA4BD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAnBE;MAAA,IAAAC,YAAA,OAAAzC,kBAAA,CAAAxB,OAAA,eAAAyB,YAAA,CAAAzB,OAAA,CAAA0B,IAAA,CAoBA,SAAAwC,SAAkBhD,OAyBjB;QAAA,IAAAiD,kBAAA,EAAAC,cAAA,EAAAC,aAAA,EAAAC,eAAA,EAAAC,SAAA,EAAAC,QAAA,EAAAC,eAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,kBAAA,EAAAC,SAAA,EAAAC,GAAA,EAAAC,cAAA,EAAAC,WAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,MAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,uBAAA,EAAAC,gCAAA,EAAAC,sBAAA,EAAAC,KAAA,EAAAC,GAAA,EAAAC,IAAA,EAAAC,UAAA,EAAAC,GAAA;QAAA,OAAApE,YAAA,CAAAzB,OAAA,CAAA+B,IAAA,WAAA+D,SAAA;UAAA,kBAAAA,SAAA,CAAA7D,IAAA,GAAA6D,SAAA,CAAA5D,IAAA;YAAA;cAEGiC,kBAAkB,GAsBhBjD,OAAO,CAtBTiD,kBAAkB,EAClBC,cAAc,GAqBZlD,OAAO,CArBTkD,cAAc,EACdC,aAAa,GAoBXnD,OAAO,CApBTmD,aAAa,EACbC,eAAe,GAmBbpD,OAAO,CAnBToD,eAAe,EACfC,SAAS,GAkBPrD,OAAO,CAlBTqD,SAAS,EACTC,QAAQ,GAiBNtD,OAAO,CAjBTsD,QAAQ,EACRC,eAAe,GAgBbvD,OAAO,CAhBTuD,eAAe,EACfC,UAAU,GAeRxD,OAAO,CAfTwD,UAAU,EACVC,aAAa,GAcXzD,OAAO,CAdTyD,aAAa,EACbC,kBAAkB,GAahB1D,OAAO,CAbT0D,kBAAkB,EAClBC,SAAS,GAYP3D,OAAO,CAZT2D,SAAS,EACTC,GAAG,GAWD5D,OAAO,CAXT4D,GAAG,EACHC,cAAc,GAUZ7D,OAAO,CAVT6D,cAAc,EACdC,WAAW,GAST9D,OAAO,CATT8D,WAAW,EACXC,YAAY,GAQV/D,OAAO,CART+D,YAAY,EACZC,kBAAkB,GAOhBhE,OAAO,CAPTgE,kBAAkB,EAClBC,MAAM,GAMJjE,OAAO,CANTiE,MAAM,EAAAC,qBAAA,GAMJlE,OAAO,CALTmE,kBAAkB,EAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA,EACvBE,uBAAuB,GAIrBpE,OAAO,CAJToE,uBAAuB,EACvBC,gCAAgC,GAG9BrE,OAAO,CAHTqE,gCAAgC,EAChCC,sBAAsB,GAEpBtE,OAAO,CAFTsE,sBAAsB,EACtBC,KAAK,GACHvE,OAAO,CADTuE,KAAK;cAGP3C,oBAAW,CAACC,MAAM,CAACgD,IAAI,CAAC,mDAAmD,EAAEpB,aAAa,CAAC;cAEvFe,GAAG,GAAG,EAAE;cAENC,IAAS,GAAG;gBAChBxB,kBAAkB,EAAlBA,kBAAkB;gBAClB6B,MAAM,EAAE;kBACNN,GAAG,EAAEnB,SAAS;kBACd;kBACA0B,UAAU,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF;gBACnC,CAAC;gBACDG,aAAa,EAAE1B,UAAU,IAAI,IAAI;gBACjC2B,mBAAmB,EAAG3B,UAAU,IAAIK,cAAc,IAAK,KAAK;gBAC5DJ,aAAa,EAAbA,aAAa;gBACb2B,WAAW,EAAE,IAAI;gBACjBC,gBAAgB,EAAE,IAAI;gBACtB3B,kBAAkB,EAAEA,kBAAkB,IAAI,KAAK;gBAC/C4B,mBAAmB,EAAE,CAAC;gBACtBhB,sBAAsB,EAAtBA;cACF,CAAC;cAED,IAAIC,KAAK,EAAE;gBACTE,IAAI,CAACF,KAAK,GAAGA,KAAK;cACpB;cAEA,IAAIP,kBAAkB,EAAE;gBACtBG,kBAAkB,CAAC7F,IAAI,CAACiH,oBAAS,CAACC,mBAAmB,CAAC;cACxD;cACA,IAAIpB,uBAAuB,EAAE;gBAC3BD,kBAAkB,CAAC7F,IAAI,CAACmH,qBAAU,CAACC,6BAA6B,CAAC;cACnE;cACA,IAAIrB,gCAAgC,EAAE;gBACpCF,kBAAkB,CAAC7F,IAAI,CACrBqH,yBAAc,CAACC,YAAY,CAACC,yBAAyB,EACrDF,yBAAc,CAACC,YAAY,CAACE,gCAAgC,EAC5DH,yBAAc,CAACC,YAAY,CAACG,qBAAqB,EACjDJ,yBAAc,CAACC,YAAY,CAACI,0BAC9B,CAAC;cACH;;cAEA;cACA;cACA,IAAI,IAAI,CAAC/E,KAAK,CAACgF,QAAQ,CAACnB,MAAM,CAACE,MAAM,CAACkB,cAAc,EAAE;gBACpD;gBACAzB,IAAI,CAACK,MAAM,CAACoB,cAAc,GAAG,IAAI,CAACjF,KAAK,CAACgF,QAAQ,CAACnB,MAAM,CAACE,MAAM,CAACkB,cAAc;cAC/E;cAEA,IAAIjC,MAAM,EAAE;gBACVQ,IAAI,CAACR,MAAM,GAAGA,MAAM;cACtB;;cAEA;cACA,IAAIE,kBAAkB,CAACzF,MAAM,EAAE;gBAC7B+F,IAAI,CAACN,kBAAkB,GAAGA,kBAAkB;cAC9C;cACA;cACA,IAAI,IAAI,CAAClD,KAAK,CAACgE,QAAQ,CAACkB,WAAW,EAAE;gBACnC;gBACA1B,IAAI,CAACK,MAAM,CAACsB,WAAW,GAAG,IAAI,CAACnF,KAAK,CAACgE,QAAQ,CAACkB,WAAW,CAACC,WAAW;gBACrE;gBACA3B,IAAI,CAACK,MAAM,CAACuB,UAAU,GAAG,IAAI,CAACpF,KAAK,CAACgE,QAAQ,CAACkB,WAAW,CAACE,UAAU;gBACnE5B,IAAI,CAACK,MAAM,CAACwB,OAAO;gBACjB;gBACAC,0CAAmB,CAACC,kBAAkB,CAAC,IAAI,CAACvF,KAAK,CAACgE,QAAQ,CAACkB,WAAW,CAACM,aAAa,CAAC,IACrFC,SAAS;cACb;cAEA,IAAI/C,SAAS,KAAK+C,SAAS,EAAE;gBAC3BjC,IAAI,CAACd,SAAS,GAAGA,SAAS;cAC5B;cAEA,IAAIP,eAAe,EAAE;gBACnBqB,IAAI,CAACrB,eAAe,GAAGA,eAAe;cACxC;cAEA,IAAIQ,GAAG,KAAK8C,SAAS,EAAE;gBACrBjC,IAAI,CAACb,GAAG,GAAGA,GAAG;cAChB;cAAC,KAEGN,QAAQ;gBAAAsB,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cACVwD,GAAG,MAAAzC,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,CAAE;cAAC/B,SAAA,CAAA5D,IAAA;cAAA;YAAA;cAAA,MAC1BkC,cAAc,IAAIC,aAAa;gBAAAyB,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cAAA4D,SAAA,CAAA7D,IAAA;cAAA,KAIlCwC,eAAe;gBAAAqB,SAAA,CAAA5D,IAAA;gBAAA;cAAA;cACjB0D,UAAU,cAAA3C,MAAA,CAAcwB,eAAe,kBAAe;cAACqB,SAAA,CAAA5D,IAAA;cAAA;YAAA;cAAA4D,SAAA,CAAA5D,IAAA;cAAA,OAGjD,IAAI,CAACC,KAAK,CAACgF,QAAQ,CAACW,QAAQ,CAACC,cAAc,CAAC,UAAU,CAAC;YAAA;cAC7D;cACAnC,UAAU,GAAG,IAAI,CAACzD,KAAK,CAACgF,QAAQ,CAACW,QAAQ,CAACzF,GAAG,CAAC,OAAO,CAAC;YAAC;cAGzDqD,GAAG,MAAAzC,MAAA,CAAM2C,UAAU,OAAA3C,MAAA,CAAI+E,eAAI,OAAA/E,MAAA,CAAIgF,eAAI,CAAE;cACrCtC,IAAI,CAACuC,OAAO,GAAG;gBACbC,OAAO,EAAE/D,cAAc,aAAAnB,MAAA,CAAaoB,aAAa;cACnD,CAAC;cAACyB,SAAA,CAAA5D,IAAA;cAAA;YAAA;cAAA4D,SAAA,CAAA7D,IAAA;cAAA4D,GAAA,GAAAC,SAAA;cAEFhD,oBAAW,CAACC,MAAM,CAACC,KAAK,8CAAAC,MAAA,CACuBmB,cAAc,IAAIC,aAAa,WAAApB,MAAA,CAAA4C,GAAA,CAC9E,CAAC;cAAC,MAAAA,GAAA;YAAA;cAKN;cACAH,GAAG,GAAGA,GAAG,CAACzC,MAAM,KAAAA,MAAA,CAAKmF,kCAAuB,CAAE,CAAC;cAE/C,IAAI1D,UAAU,KAAKN,cAAc,EAAE;gBACjCuB,IAAI,CAAC0C,eAAe,GAAG;kBACrBC,cAAc,EAAE,CAACC,mBAAQ;gBAC3B,CAAC;cACH;cAEA,IAAIvD,WAAW,IAAIC,YAAY,EAAE;gBAC/BU,IAAI,CAAC6C,WAAW,GAAG,CACjB;kBACEC,QAAQ,EAAE,IAAAC,UAAA,CAAA1I,OAAA,EAAe;oBACvBgF,WAAW,EAAXA,WAAW;oBACXC,YAAY,EAAZA;kBACF,CAAC;gBACH,CAAC,CACF;cACH;;cAEA;cAAA,OAAAa,SAAA,CAAAjD,MAAA,WACO,IAAI,CAAC8F,OAAO,CAAC;gBAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBC,GAAG,EAAErD,GAAG;gBACRC,IAAI,EAAJA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAG,SAAA,CAAA5C,IAAA;UAAA;QAAA,GAAAgB,QAAA;MAAA,CACH;MAAA,SAvLK8E,WAAWA,CAAAC,EAAA;QAAA,OAAAhF,YAAA,CAAAxE,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAXqJ,WAAW;IAAA;IAyLjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IAPE;EAAA;IAAAjF,GAAA;IAAAC,KAAA,EAQA,SAAQkF,cAAcA,CAAAC,KAAA,EAMnB;MAAA,IALDC,iBAAiB,GAAAD,KAAA,CAAjBC,iBAAiB;QACjBC,SAAS,GAAAF,KAAA,CAATE,SAAS;MAKT,IAAM1D,IAAI,GAAG;QACX0D,SAAS,EAATA;MACF,CAAC;;MAED;MACA,OAAO,IAAI,CAACV,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,EAAEK,iBAAiB;QACtBzD,IAAI,EAAJA;MACF,CAAC,CAAC,CAAClD,KAAK,CAAC,UAAC6G,GAAG,EAAK;QAChBxG,oBAAW,CAACC,MAAM,CAACC,KAAK,8CAAAC,MAAA,CAA8CqG,GAAG,CAAE,CAAC;QAE5E,MAAMA,GAAG;MACX,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE;IAAAvF,GAAA;IAAAC,KAAA,EAUA,SAAQuF,MAAMA,CAAAC,KAAA,EAUX;MAAA,IATDhF,QAAQ,GAAAgF,KAAA,CAARhF,QAAQ;QACRiF,SAAS,GAAAD,KAAA,CAATC,SAAS;QACTC,SAAS,GAAAF,KAAA,CAATE,SAAS;QACT/E,aAAa,GAAA6E,KAAA,CAAb7E,aAAa;MAOb7B,oBAAW,CAACC,MAAM,CAACgD,IAAI,CACrB,0DAA0D,EAC1DpB,aACF,CAAC;MACD,IAAMoE,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,CAAE;MAExC,IAAMlC,IAAI,GAAG;QACXK,MAAM,EAAE;UACNC,UAAU,EAAEA,kBAAU,CAAC0D,WAAW;UAClCC,eAAe,EAAEC,mCAAwB;UACzCnE,GAAG,EAAE+D,SAAS;UACdC,SAAS,EAATA;QACF,CAAC;QACD/E,aAAa,EAAbA;MACF,CAAC;;MAED;MACA,OAAO,IAAI,CAACxB,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC,CAAClD,KAAK,CAAC,UAAC6G,GAAG,EAAK;QAChBxG,oBAAW,CAACC,MAAM,CAACC,KAAK,0EAAAC,MAAA,CACmDqG,GAAG,CAC9E,CAAC;QAED,MAAMA,GAAG;MACX,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAVE;IAAAvF,GAAA;IAAAC,KAAA,EAWA,SAAQ8F,OAAOA,CAAAC,KAAA,EAYZ;MAAA,IAXDvF,QAAQ,GAAAuF,KAAA,CAARvF,QAAQ;QACRwF,UAAU,GAAAD,KAAA,CAAVC,UAAU;QACVC,WAAW,GAAAF,KAAA,CAAXE,WAAW;QACXP,SAAS,GAAAK,KAAA,CAATL,SAAS;QACT/E,aAAa,GAAAoF,KAAA,CAAbpF,aAAa;MAQb7B,oBAAW,CAACC,MAAM,CAACgD,IAAI,CACrB,4DAA4D,EAC5DpB,aACF,CAAC;MACD,IAAMoE,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,CAAE;MAExC,IAAMlC,IAAI,GAAG;QACXK,MAAM,EAAE;UACNC,UAAU,EAAEA,kBAAU,CAAC0D,WAAW;UAClCC,eAAe,EAAEM,oCAAyB;UAC1CxE,GAAG,EAAEsE,UAAU;UACfG,cAAc,EAAEF,WAAW;UAC3BP,SAAS,EAATA;QACF,CAAC;QACD/E,aAAa,EAAbA;MACF,CAAC;;MAED;MACA,OAAO,IAAI,CAACxB,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC,CAAClD,KAAK,CAAC,UAAC6G,GAAG,EAAK;QAChBxG,oBAAW,CAACC,MAAM,CAACC,KAAK,4EAAAC,MAAA,CACqDqG,GAAG,CAChF,CAAC;QAED,MAAMA,GAAG;MACX,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAvF,GAAA;IAAAC,KAAA,EAMA,SAAAoG,WAAWA,CAAClJ,OAAsB,EAAE;MAClC,IAAOwE,GAAG,GAAIxE,OAAO,CAAdwE,GAAG;MAEV,IAAIA,GAAG,EAAE;QACP;QACA,OAAO,IAAI,CAACiD,OAAO,CAAC;UAClBC,MAAM,EAAEC,qBAAU,CAACwB,GAAG;UACtBtB,GAAG,EAAErD;QACP,CAAC,CAAC,CAACjD,KAAK,CAAC,UAAC6G,GAAG,EAAK;UAChBxG,oBAAW,CAACC,MAAM,CAACC,KAAK,sEAAAC,MAAA,CAC+CqG,GAAG,CAC1E,CAAC;UAED,MAAMA,GAAG;QACX,CAAC,CAAC;MACJ;MAEA,OAAOgB,QAAA,CAAAtK,OAAA,CAAQuK,MAAM,CAAC,CAAC;IACzB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE;IAAAxG,GAAA;IAAAC,KAAA,EAUA,SAAQwG,oBAAoBA,CAAAC,KAAA,EAUzB;MAAA,IATDjG,QAAQ,GAAAiG,KAAA,CAARjG,QAAQ;QACRkG,QAAQ,GAAAD,KAAA,CAARC,QAAQ;QACR/F,aAAa,GAAA8F,KAAA,CAAb9F,aAAa;QACbgG,MAAM,GAAAF,KAAA,CAANE,MAAM;MAON7H,oBAAW,CAACC,MAAM,CAACgD,IAAI,2DAAA9C,MAAA,CACqCyH,QAAQ,gBAClE/F,aACF,CAAC;MACD,IAAMoE,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAI0H,MAAM,OAAA1H,MAAA,CAAI2H,gBAAK,CAAE;MAE3D,IAAMjF,IAAI,GAAG;QACXK,MAAM,EAAE;UACNC,UAAU,EAAEA,kBAAU,CAAC0D,WAAW;UAClCjE,GAAG,EAAEgF;QACP,CAAC;QACD/F,aAAa,EAAbA;MACF,CAAC;;MAED;MACA,OAAO,IAAI,CAACxB,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC,CAAClD,KAAK,CAAC,UAAC6G,GAAG,EAAK;QAChBxG,oBAAW,CAACC,MAAM,CAACC,KAAK,yEAAAC,MAAA,CACkDyH,QAAQ,uBAAAzH,MAAA,CAAoBqG,GAAG,CACzG,CAAC;QAED,MAAMA,GAAG;MACX,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE;IAAAvF,GAAA;IAAAC,KAAA,EAUA,SAAA8G,iCAAiCA,CAAAC,KAAA,EAY9B;MAAA,IAXDvG,QAAQ,GAAAuG,KAAA,CAARvG,QAAQ;QACRmG,MAAM,GAAAI,KAAA,CAANJ,MAAM;QACKjF,GAAG,GAAAqF,KAAA,CAAdxG,SAAS;QACTG,UAAU,GAAAqG,KAAA,CAAVrG,UAAU;QACVC,aAAa,GAAAoG,KAAA,CAAbpG,aAAa;MAQb,IAAMoE,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAI0H,MAAM,OAAA1H,MAAA,CAAI2H,gBAAK,CAAE;MAC3D,IAAMjF,IAAI,GAAG;QACXK,MAAM,EAAE;UACN;UACAC,UAAU,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,UAAU;UAC3CP,GAAG,EAAHA;QACF,CAAC;QACDU,aAAa,EAAE1B,UAAU,IAAI,IAAI;QACjCC,aAAa,EAAbA;MACF,CAAC;MAED,OAAO;QACLiE,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA5B,GAAA;IAAAC,KAAA,EAKA,SAAAgH,YAAYA,CAAAC,KAAA,EAYT;MAAA,IAXDzG,QAAQ,GAAAyG,KAAA,CAARzG,QAAQ;QACRmG,MAAM,GAAAM,KAAA,CAANN,MAAM;QACKjF,GAAG,GAAAuF,KAAA,CAAd1G,SAAS;QACTG,UAAU,GAAAuG,KAAA,CAAVvG,UAAU;QACVC,aAAa,GAAAsG,KAAA,CAAbtG,aAAa;MAQb7B,oBAAW,CAACC,MAAM,CAACgD,IAAI,CAAC,oDAAoD,EAAEpB,aAAa,CAAC;MAE5F,IAAMoE,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAI0H,MAAM,OAAA1H,MAAA,CAAI2H,gBAAK,CAAE;MAC3D,IAAMjF,IAAI,GAAG;QACXK,MAAM,EAAE;UACN;UACAC,UAAU,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,UAAU;UAC3CP,GAAG,EAAHA;QACF,CAAC;QACDU,aAAa,EAAE1B,UAAU,IAAI,IAAI;QACjCC,aAAa,EAAbA;MACF,CAAC;MAED,OAAO,IAAI,CAACxB,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA5B,GAAA;IAAAC,KAAA,EAKA,SAAAkH,+BAA+BA,CAAChK,OAAY,EAAE;MAC5C,OAAO,IAAI,CAACoC,6BAA6B,CAAC,IAAI,CAACwH,iCAAiC,CAAC5J,OAAO,CAAC,CAAC;IAC5F;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA6C,GAAA;IAAAC,KAAA,EAQA,SAAAmH,kBAAkBA,CAACjK,OAAqE,EAAE;MACxF,IAAM6H,GAAG,MAAA9F,MAAA,CAAM/B,OAAO,CAACsD,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAImI,gBAAK,CAAE;MACzD,IAAMzF,IAAI,GAAG;QACXK,MAAM,EAAE;UACN;UACAC,UAAU,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,UAAU;UAC3CP,GAAG,EAAExE,OAAO,CAACqD;QACf,CAAC;QACDI,aAAa,EAAEzD,OAAO,CAACyD;MACzB,CAAC;MAED,OAAO,IAAI,CAACxB,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA5B,GAAA;IAAAC,KAAA,EAMA,SAAAqH,WAAWA,CAACnK,OAAO,EAAE;MACnB,IAAM6H,GAAG,MAAA9F,MAAA,CAAM/B,OAAO,CAACsD,QAAQ,OAAAvB,MAAA,CAAIqI,mBAAQ,CAAE;MAC7C,IAAM3F,IAAI,GAAG;QACX4F,IAAI,EAAE;UACJC,MAAM,EAAEtK,OAAO,CAACqK;QAClB;MACF,CAAC;MAED,OAAO,IAAI,CAACpI,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAAC4C,KAAK;QACxB1C,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA5B,GAAA;IAAAC,KAAA,EAQA,SAAA0H,cAAcA,CAACxK,OAA8D,EAAE;MAC7E,IAAM6H,GAAG,MAAA9F,MAAA,CAAM/B,OAAO,CAACsD,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAI0I,kBAAO,CAAE;MAC3D,IAAMhG,IAAI,GAAAjG,aAAA;QACRsG,MAAM,EAAE;UACN;UACAC,UAAU,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,UAAU;UAC3CP,GAAG,EAAExE,OAAO,CAACqD;QACf;MAAC,GACGrD,OAAO,CAAC0K,MAAM,IAAI;QAACA,MAAM,EAAE1K,OAAO,CAAC0K;MAAM,CAAC,CAC/C;MAED,OAAO,IAAI,CAACzI,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAJA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAVE;IAAA5B,GAAA;IAAAC,KAAA,EAWA,SAAA6H,kBAAkBA,CAChB3K,OAUO,EACP;MACA,IAAI4K,QAAa,GAAG;QAACC,WAAW,EAAE7K,OAAO,CAAC6K;MAAW,CAAC;;MAEtD;MACA,IAAI7K,OAAO,CAAC6K,WAAW,KAAKC,uBAAY,CAACC,OAAO,EAAE;QAChDH,QAAQ,GAAG;UACTI,WAAW,EAAE;YACXxG,GAAG,EAAExE,OAAO,CAACiL,SAAS;YACtBC,OAAO,EAAE,CACP;cACE;cACAnG,UAAU,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,UAAU;cAC3CP,GAAG,EAAExE,OAAO,CAACqD;YACf,CAAC;UAEL,CAAC;UACDwH,WAAW,EAAE7K,OAAO,CAAC6K,WAAW;UAChCM,SAAS,EAAE;YACT3G,GAAG,EAAExE,OAAO,CAACiL;UACf;QACF,CAAC;MACH;MAEA,IAAMxG,IAAS,GAAG;QAChB2G,KAAK,EAAER,QAAQ;QACfS,WAAW,EAAErL,OAAO,CAACqL;MACvB,CAAC;MAED,IAAIrL,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEsL,eAAe,EAAE;QAC5B7G,IAAI,CAAC2G,KAAK,CAACE,eAAe,GAAGtL,OAAO,CAACsL,eAAe;MACtD;MAEA,IAAItL,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEuL,aAAa,EAAE;QAC1B9G,IAAI,CAAC8G,aAAa,GAAGvL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuL,aAAa;MAC7C;MACA,IAAIvL,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEwL,cAAc,EAAE;QAC3B/G,IAAI,CAACgH,UAAU,GAAGzL,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEwL,cAAc;MAC3C;;MAEA;MACA,OAAO,IAAI,CAAC/D,OAAO,CAAC;QAClBI,GAAG,EAAE7H,OAAO,CAAC6H,GAAG;QAChBH,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtBlF,IAAI,EAAJA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAA5B,GAAA;IAAAC,KAAA,EAQA,SAAA4I,QAAQA,CAAAC,KAAA,EAAqF;MAAA,IAAnFrI,QAAQ,GAAAqI,KAAA,CAARrI,QAAQ;QAAED,SAAS,GAAAsI,KAAA,CAATtI,SAAS;QAAEuI,KAAK,GAAAD,KAAA,CAALC,KAAK;MAClC;MACA,OAAO,IAAI,CAAC3J,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,KAAA9F,MAAA,CAAKuB,QAAQ,OAAAvB,MAAA,CAAI8J,6BAAkB,CAAE;QACxCpH,IAAI,EAAE;UACJpB,SAAS,EAATA,SAAS;UACTyI,IAAI,EAAE;YACJrI,aAAa,EAAEsI,aAAI,CAACC,EAAE,CAAC,CAAC;YACxBJ,KAAK,EAALA;UACF;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAbE;IAAA/I,GAAA;IAAAC,KAAA,EAcA,SAAAN,iBAAiBA,CAAAyJ,KAAA,EAkBd;MAAA,IAjBD3I,QAAQ,GAAA2I,KAAA,CAAR3I,QAAQ;QACRD,SAAS,GAAA4I,KAAA,CAAT5I,SAAS;QACT6I,UAAU,GAAAD,KAAA,CAAVC,UAAU;QACVC,IAAI,GAAAF,KAAA,CAAJE,IAAI;QACJC,OAAO,GAAAH,KAAA,CAAPG,OAAO;MAcP;MACA,IAAID,IAAI,KAAK,CAACA,IAAI,CAACE,KAAK,IAAI,CAACF,IAAI,CAACG,MAAM,CAAC,EAAE;QACzC,OAAOlD,QAAA,CAAAtK,OAAA,CAAQuK,MAAM,CACnB,IAAIkD,KAAK,8EAAAxK,MAAA,CACsE,IAAAyF,UAAA,CAAA1I,OAAA,EAC3EqN,IACF,CAAC,CACH,CACF,CAAC;MACH;MAEA,IAAIC,OAAO,KAAK,CAACA,OAAO,CAACC,KAAK,IAAI,CAACD,OAAO,CAACE,MAAM,CAAC,EAAE;QAClD,OAAOlD,QAAA,CAAAtK,OAAA,CAAQuK,MAAM,CACnB,IAAIkD,KAAK,iFAAAxK,MAAA,CACyE,IAAAyF,UAAA,CAAA1I,OAAA,EAC9EsN,OACF,CAAC,CACH,CACF,CAAC;MACH;MAEA,IAAMI,cAAc,GAAGL,IAAI,GAAG;QAACE,KAAK,EAAEF,IAAI,CAACE,KAAK;QAAEC,MAAM,EAAEH,IAAI,CAACG;MAAM,CAAC,GAAG5F,SAAS;MAClF,IAAM+F,iBAAiB,GAAGL,OAAO,GAAG;QAACC,KAAK,EAAED,OAAO,CAACC,KAAK;QAAEC,MAAM,EAAEF,OAAO,CAACE;MAAM,CAAC,GAAG5F,SAAS;MAE9F,IAAMgG,YAAY,GAChBF,cAAc,IAAIC,iBAAiB,GAC/B;QACEE,UAAU,EAAE;UACVR,IAAI,EAAEK,cAAc;UACpBJ,OAAO,EAAEK;QACX;MACF,CAAC,GACD/F,SAAS;;MAEf;MACA,OAAO,IAAI,CAACzE,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,KAAA9F,MAAA,CAAKuB,QAAQ,OAAAvB,MAAA,CAAIqI,mBAAQ,CAAE;QAC9B3F,IAAI,EAAE;UACJmI,MAAM,EAAE;YACNvJ,SAAS,EAATA,SAAS;YACTwJ,IAAI,EAAEX,UAAU;YAChBQ,YAAY,EAAZA;UACF;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAA7J,GAAA;IAAAC,KAAA,EAMA,SAAAgK,gBAAgBA,CAAAC,KAAA,EAAiC;MAAA,IAA/BzJ,QAAQ,GAAAyJ,KAAA,CAARzJ,QAAQ;MACxB,IAAMuE,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAIiL,cAAG,CAAE;;MAEhC;MACA,OAAO,IAAI,CAAC/K,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,EAAHA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAhF,GAAA;IAAAC,KAAA,EAMA,SAAAmK,SAASA,CAAAC,KAAA,EAAyC;MAAA,IAAvCC,YAAY,GAAAD,KAAA,CAAZC,YAAY;MACrB;MACA,OAAO,IAAI,CAAC1F,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACwB,GAAG;QACtBtB,GAAG,EAAEsF;MACP,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAtK,GAAA;IAAAC,KAAA,EAQA,SAAAsK,YAAYA,CAAAC,MAAA,EAAqE;MAAA,IAAnEC,kBAAkB,GAAAD,MAAA,CAAlBC,kBAAkB;QAAEC,QAAQ,GAAAF,MAAA,CAARE,QAAQ;QAAEC,aAAa,GAAAH,MAAA,CAAbG,aAAa;MACvD,IAAM3F,GAAG,GAAGyF,kBAAkB;;MAE9B;MACA,OAAO,IAAI,CAAC7F,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAE;UACJgJ,MAAM,EAAE;YAACD,aAAa,EAAbA;UAAa,CAAC;UACvBD,QAAQ,EAARA;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE;IAAA1K,GAAA;IAAAC,KAAA,EAUA,SAAA4K,aAAaA,CAAAC,MAAA,EAUV;MAAA,IATDC,iBAAiB,GAAAD,MAAA,CAAjBC,iBAAiB;QACjBJ,aAAa,GAAAG,MAAA,CAAbH,aAAa;QACbK,gBAAgB,GAAAF,MAAA,CAAhBE,gBAAgB;QAChBC,gBAAgB,GAAAH,MAAA,CAAhBG,gBAAgB;MAOhB,IAAI,CAACA,gBAAgB,EAAE;QACrB,OAAO1E,QAAA,CAAAtK,OAAA,CAAQuK,MAAM,CAAC,IAAIkD,KAAK,CAAC,8BAA8B,CAAC,CAAC;MAClE;MACA,IAAM1E,GAAG,MAAA9F,MAAA,CAAM+L,gBAAgB,qBAAkB;;MAEjD;MACA,OAAO,IAAI,CAACrG,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAE;UACJmJ,iBAAiB,EAAjBA,iBAAiB;UACjBG,oBAAoB,EAAEP,aAAa;UACnCK,gBAAgB,EAAhBA;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAhL,GAAA;IAAAC,KAAA,EAMA,SAAAkL,eAAeA,CAAAC,MAAA,EAAsE;MAAA,IAApEC,MAAM,GAAAD,MAAA,CAANC,MAAM;QAAE5K,QAAQ,GAAA2K,MAAA,CAAR3K,QAAQ;QAAE6K,uBAAuB,GAAAF,MAAA,CAAvBE,uBAAuB;MACxD,IAAMtG,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAIqI,mBAAQ,CAAE;;MAErC;MACA,OAAO,IAAI,CAACnI,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAACgC,GAAG;QACtB9B,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAE;UACJ2J,SAAS,EAAE;YACTC,OAAO,EAAEH;UACX,CAAC;UACDC,uBAAuB,EAAvBA;QACF;MACF,CAAC,CAAC;IACJ;EAAC;IAAAtL,GAAA;IAAAC,KAAA,EAED,SAAAwL,mBAAmBA,CAAChL,QAAgB,EAAE;MACpC;MACA,OAAO,IAAI,CAACmE,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACwB,GAAG;QACtBtB,GAAG,EAAEvE;MACP,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE;IAAAT,GAAA;IAAAC,KAAA,EAUA,SAAAyL,MAAMA,CAAAC,MAAA,EAAqD;MAAA,IAAnDH,OAAO,GAAAG,MAAA,CAAPH,OAAO;QAAE/K,QAAQ,GAAAkL,MAAA,CAARlL,QAAQ;QAAED,SAAS,GAAAmL,MAAA,CAATnL,SAAS;QAAEoG,MAAM,GAAA+E,MAAA,CAAN/E,MAAM;MAC1C,IAAM5B,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAI0H,MAAM,OAAA1H,MAAA,CAAIqI,mBAAQ,CAAE;MAE9D,OAAO,IAAI,CAACnI,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAAC4C,KAAK;QACxB1C,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAE;UACJgK,GAAG,EAAE;YACHJ,OAAO,EAAPA,OAAO;YACPhL,SAAS,EAATA;UACF;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EATE;IAAAR,GAAA;IAAAC,KAAA,EAUA,SAAA4L,yBAAyBA,CAAAC,MAAA,EAKS;MAAA,IAJhCC,sBAAsB,GAAAD,MAAA,CAAtBC,sBAAsB;QACtBtL,QAAQ,GAAAqL,MAAA,CAARrL,QAAQ;QACRD,SAAS,GAAAsL,MAAA,CAATtL,SAAS;QACToG,MAAM,GAAAkF,MAAA,CAANlF,MAAM;MAEN,IAAM5B,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAI0H,MAAM,OAAA1H,MAAA,CAAIqI,mBAAQ,CAAE;MAE9D,OAAO,IAAI,CAACnI,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAAC4C,KAAK;QACxB1C,GAAG,EAAHA,GAAG;QACHpD,IAAI,EAAE;UACJoK,OAAO,EAAE;YACPD,sBAAsB,EAAtBA,sBAAsB;YACtBvL,SAAS,EAATA;UACF;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAR,GAAA;IAAAC,KAAA,EAOA,SAAAgM,gBAAgBA,CAACxL,QAAgB,EAAEyL,WAAmC,EAAE;MACtE,OAAO,IAAI,CAAC9M,iBAAiB,CAAC;QAC5ByF,MAAM,EAAEC,qBAAU,CAAC4C,KAAK;QACxB1C,GAAG,KAAA9F,MAAA,CAAKuB,QAAQ,OAAAvB,MAAA,CAAIqI,mBAAQ,CAAE;QAC9B3F,IAAI,EAAE;UAACsK,WAAW,EAAXA;QAAW;MACpB,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAlM,GAAA;IAAAC,KAAA,EAQA,SAAAkM,UAAUA,CAACC,WAAmB,EAAEC,OAAe,EAAEC,WAAmB,EAAEC,WAAqB,EAAE;MAC3F;MACA,OAAO,IAAI,CAAC3H,OAAO,CAAC;QAClBC,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBC,GAAG,aAAA9F,MAAA,CAAakN,WAAW,6BAAAlN,MAAA,CAA0BoN,WAAW,gBAAa;QAC7E1K,IAAI,EAAE;UACJ2K,WAAW,EAAXA,WAAW;UACXC,IAAI,EAAED,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE1Q;QACrB,CAAC;QACD4Q,OAAO,EAAE;UACPJ,OAAO,EAAPA;QACF;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EARE;IAAArM,GAAA;IAAAC,KAAA;MAAA,IAAAyM,WAAA,OAAAjP,kBAAA,CAAAxB,OAAA,eAAAyB,YAAA,CAAAzB,OAAA,CAAA0B,IAAA,CASA,SAAAgP,SAAwBC,SAAS,EAAEtM,aAAa,EAAE8D,OAAO,EAAEmI,WAAW;QAAA,IAAA3K,IAAA,EAAAiL,QAAA,EAAAC,GAAA;QAAA,OAAApP,YAAA,CAAAzB,OAAA,CAAA+B,IAAA,WAAA+O,SAAA;UAAA,kBAAAA,SAAA,CAAA7O,IAAA,GAAA6O,SAAA,CAAA5O,IAAA;YAAA;cAC9DyD,IAAS,GAAG;gBAChBgL,SAAS,EAATA,SAAS;gBACTtM,aAAa,EAAbA,aAAa;gBACb8D,OAAO,EAAPA,OAAO;gBACPmI,WAAW,EAAXA;cACF,CAAC;cAAAQ,SAAA,CAAA7O,IAAA;cAAA6O,SAAA,CAAA5O,IAAA;cAAA,OAGwB,IAAI,CAACyG,OAAO,CAAC;gBAClCC,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBiI,OAAO,EAAE,OAAO;gBAChBC,QAAQ,EAAE,6BAA6B;gBACvCrL,IAAI,EAAJA,IAAI;gBACJ6K,OAAO,EAAE;kBACPS,MAAM,EAAE;gBACV;cACF,CAAC,CAAC;YAAA;cARIL,QAAQ,GAAAE,SAAA,CAAApO,IAAA;cAUdI,oBAAW,CAACC,MAAM,CAACgD,IAAI,CAAC,yDAAyD,EAAE6K,QAAQ,CAAC;cAAC,OAAAE,SAAA,CAAAjO,MAAA,WAEtF+N,QAAQ,CAACjL,IAAI;YAAA;cAAAmL,SAAA,CAAA7O,IAAA;cAAA4O,GAAA,GAAAC,SAAA;cAEpBhO,oBAAW,CAACC,MAAM,CAACC,KAAK,6EAAAC,MAAA,CACsD,IAAAyF,UAAA,CAAA1I,OAAA,EAAA6Q,GAE5E,CAAC,CACH,CAAC;cAAC,MAAAA,GAAA;YAAA;YAAA;cAAA,OAAAC,SAAA,CAAA5N,IAAA;UAAA;QAAA,GAAAwN,QAAA;MAAA,CAGL;MAAA,SA9BYQ,UAAUA,CAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAb,WAAA,CAAAhR,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAVuR,UAAU;IAAA;IAgCvB;AACF;AACA;AACA;AACA;AACA;IALE;EAAA;IAAAnN,GAAA;IAAAC,KAAA;MAAA,IAAAuN,iBAAA,OAAA/P,kBAAA,CAAAxB,OAAA,eAAAyB,YAAA,CAAAzB,OAAA,CAAA0B,IAAA,CAMA,SAAA8P,SAA8B9C,aAAa;QAAA,IAAA/I,IAAA,EAAAiL,QAAA,EAAAa,GAAA;QAAA,OAAAhQ,YAAA,CAAAzB,OAAA,CAAA+B,IAAA,WAAA2P,SAAA;UAAA,kBAAAA,SAAA,CAAAzP,IAAA,GAAAyP,SAAA,CAAAxP,IAAA;YAAA;cACnCyD,IAAI,GAAG;gBACX+I,aAAa,EAAbA;cACF,CAAC;cAAAgD,SAAA,CAAAzP,IAAA;cAAAyP,SAAA,CAAAxP,IAAA;cAAA,OAIwB,IAAI,CAACyG,OAAO,CAAC;gBAClCC,MAAM,EAAEC,qBAAU,CAACC,IAAI;gBACvBiI,OAAO,EAAE,OAAO;gBAChBC,QAAQ,EAAE,mCAAmC;gBAC7CrL,IAAI,EAAJA,IAAI;gBACJ6K,OAAO,EAAE;kBACPS,MAAM,EAAE;gBACV;cACF,CAAC,CAAC;YAAA;cARIL,QAAQ,GAAAc,SAAA,CAAAhP,IAAA;cAUdI,oBAAW,CAACC,MAAM,CAACgD,IAAI,CACrB,2EAA2E,EAC3E6K,QACF,CAAC;cAAC,OAAAc,SAAA,CAAA7O,MAAA,WAEK+N,QAAQ,CAACjL,IAAI;YAAA;cAAA+L,SAAA,CAAAzP,IAAA;cAAAwP,GAAA,GAAAC,SAAA;cAEpB5O,oBAAW,CAACC,MAAM,CAACC,KAAK,2FAAAC,MAAA,CACoE,IAAAyF,UAAA,CAAA1I,OAAA,EAAAyR,GAE1F,CAAC,CACH,CAAC;cAAC,MAAAA,GAAA;YAAA;YAAA;cAAA,OAAAC,SAAA,CAAAxO,IAAA;UAAA;QAAA,GAAAsO,QAAA;MAAA,CAGL;MAAA,SA/BYG,gBAAgBA,CAAAC,GAAA;QAAA,OAAAL,iBAAA,CAAA9R,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAhBgS,gBAAgB;IAAA;IAiC7B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAbE;EAAA;IAAA5N,GAAA;IAAAC,KAAA;MAAA,IAAA6N,sBAAA,OAAArQ,kBAAA,CAAAxB,OAAA,eAAAyB,YAAA,CAAAzB,OAAA,CAAA0B,IAAA,CAcA,SAAAoQ,SAAAC,MAAA;QAAA,IAAAvN,QAAA,EAAA6K,uBAAA,EAAA2C,qBAAA,EAAAC,iBAAA,EAAAC,cAAA,EAAAnJ,GAAA;QAAA,OAAAtH,YAAA,CAAAzB,OAAA,CAAA+B,IAAA,WAAAoQ,SAAA;UAAA,kBAAAA,SAAA,CAAAlQ,IAAA,GAAAkQ,SAAA,CAAAjQ,IAAA;YAAA;cACEsC,QAAQ,GAAAuN,MAAA,CAARvN,QAAQ,EACR6K,uBAAuB,GAAA0C,MAAA,CAAvB1C,uBAAuB,EAAA2C,qBAAA,GAAAD,MAAA,CACvBE,iBAAiB,EAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;cAAA,MAErB,CAACxN,QAAQ,IAAI,CAAC6K,uBAAuB;gBAAA8C,SAAA,CAAAjQ,IAAA;gBAAA;cAAA;cAAA,OAAAiQ,SAAA,CAAAtP,MAAA,WAChCyH,QAAA,CAAAtK,OAAA,CAAQuK,MAAM,CAAC,IAAIkD,KAAK,CAAC,yCAAyC,CAAC,CAAC;YAAA;cAEvEyE,cAAc,GAAGD,iBAAiB,GAAG,kBAAkB,GAAG,EAAE;cAE5DlJ,GAAG,MAAA9F,MAAA,CAAMuB,QAAQ,OAAAvB,MAAA,CAAI4E,sBAAW,OAAA5E,MAAA,CAAIoM,uBAAuB,EAAApM,MAAA,CAAGiP,cAAc,yBAElF;cAAA,OAAAC,SAAA,CAAAtP,MAAA,WACO,IAAI,CAACM,iBAAiB,CAAC;gBAC5ByF,MAAM,EAAEC,qBAAU,CAACwB,GAAG;gBACtBtB,GAAG,EAAHA;cACF,CAAC,CAAC,CAACtG,KAAK,CAAC,UAAC6G,GAAG,EAAK;gBAChBxG,oBAAW,CAACC,MAAM,CAACqP,IAAI,iEAAAnP,MAAA,CAEnBgP,iBAAiB,GAAG,mBAAmB,GAAG,EAAE,yBAAAhP,MAAA,CACxB,CAAAqG,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE+I,OAAO,KAAI/I,GAAG,CAC3C,CAAC;gBAED,OAAO,IAAI;cACb,CAAC,CAAC;YAAA;YAAA;cAAA,OAAA6I,SAAA,CAAAjP,IAAA;UAAA;QAAA,GAAA4O,QAAA;MAAA,CACH;MAAA,SAzBYQ,qBAAqBA,CAAAC,GAAA;QAAA,OAAAV,sBAAA,CAAApS,KAAA,OAAAE,SAAA;MAAA;MAAA,OAArB2S,qBAAqB;IAAA;EAAA;AAAA,EAtlCQE,+BAAoB","ignoreList":[]}
|
package/dist/meeting/util.js
CHANGED
|
@@ -304,6 +304,7 @@ var MeetingUtil = {
|
|
|
304
304
|
locale: options.locale,
|
|
305
305
|
deviceCapabilities: options.deviceCapabilities,
|
|
306
306
|
liveAnnotationSupported: options.liveAnnotationSupported,
|
|
307
|
+
enableSimultaneousInterpretation: options.enableSimultaneousInterpretation,
|
|
307
308
|
clientMediaPreferences: clientMediaPreferences,
|
|
308
309
|
alias: options.alias
|
|
309
310
|
}).then(function (res) {
|