2 lines
135 KiB
JavaScript
2 lines
135 KiB
JavaScript
"use strict";const e=2,t=4,s=10,o=11,r=12,i=14,n=17,a=20,u=23,p=26,l=27,c=29,h=30,g=34;class m{constructor(e=0,t=0){this.high=e,this.low=t}equal(e){return null!==e&&this.low===e.low&&this.high===e.high}toString(){var e=Number(this.high).toString(16);let t=Number(this.low).toString(16);if(t.length<8){let e=8-t.length;for(;e;)t="0"+t,e--}return e+t}}const d={TEST:{CHINA:{DEFAULT:"wss://wss-dev.tim.qq.com"},OVERSEA:{DEFAULT:"wss://wss-dev.tim.qq.com"},SINGAPORE:{DEFAULT:"wss://wsssgp-dev.im.qcloud.com"},KOREA:{DEFAULT:"wss://wsskr-dev.im.qcloud.com"},GERMANY:{DEFAULT:"wss://wssger-dev.im.qcloud.com"},IND:{DEFAULT:"wss://wssind-dev.im.qcloud.com"},JPN:{DEFAULT:"wss://wssjpn-dev.im.qcloud.com"},USA:{DEFAULT:"wss://wssusa-dev.im.qcloud.com"},INDONESIA:{DEFAULT:"wss://wssidn-dev.im.qcloud.com"}},PRODUCTION:{CHINA:{DEFAULT0:"wss://*w4c.my-imcloud.com",DEFAULT:"wss://wss.im.qcloud.com",IPV6:"wss://wssv6.im.qcloud.com",BACKUP:"wss://wss.tim.qq.com",STAT:"https://events.im.qcloud.com",ANYCAST:"wss://162.14.13.203"},OVERSEA:{DEFAULT0:"wss://*w4c.my-imcloud.com",DEFAULT:"wss://wss.im.qcloud.com",BACKUP:"wss://wss.my-imcloud.com",STAT:"https://api.my-imcloud.com"},SINGAPORE:{DEFAULT0:"wss://*w4s.my-imcloud.com",DEFAULT:"wss://wsssgp.im.qcloud.com",IPV6:"wss://wsssgpv6.im.qcloud.com",BACKUP:"wss://wsssgp.my-imcloud.com",STAT:"https://apisgp.my-imcloud.com",ANYCAST:"wss://162.14.19.159"},KOREA:{DEFAULT0:"wss://*w4k.my-imcloud.com",DEFAULT:"wss://wsskr.im.qcloud.com",IPV6:"wss://wsskrv6.im.qcloud.com",BACKUP:"wss://wsskr.my-imcloud.com",STAT:"https://apikr.my-imcloud.com",ANYCAST:"wss://162.14.13.104"},GERMANY:{DEFAULT0:"wss://*w4g.my-imcloud.com",DEFAULT:"wss://wssger.im.qcloud.com",IPV6:"wss://wssgerv6.im.qcloud.com",BACKUP:"wss://wssger.my-imcloud.com",STAT:"https://apiger.my-imcloud.com",ANYCAST:"wss://162.14.3.17"},IND:{DEFAULT0:"wss://*w4i.my-imcloud.com",DEFAULT:"wss://wssind.my-imcloud.com",IPV6:"wss://wssindv6.im.qcloud.com",BACKUP:"wss://wssind.im.qcloud.com",STAT:"https://apiind.my-imcloud.com",ANYCAST:"wss://162.14.19.46"},JPN:{DEFAULT0:"wss://*w4j.my-imcloud.com",DEFAULT:"wss://wssjpn.im.qcloud.com",IPV6:"wss://wssjpnv6.im.qcloud.com",BACKUP:"wss://wssjpn.my-imcloud.com",STAT:"https://apijpn.my-imcloud.com"},USA:{DEFAULT0:"wss://*w4u.my-imcloud.com",DEFAULT:"wss://wssusa.im.qcloud.com",IPV6:"wss://wssusav6.im.qcloud.com",BACKUP:"wss://wssusa.my-imcloud.com",STAT:"https://apiusa.my-imcloud.com",ANYCAST:"wss://162.14.10.42"},INDONESIA:{DEFAULT0:"wss://*w4y.my-imcloud.com",DEFAULT:"wss://wssidn.im.qcloud.com",IPV6:"wss://wssidnv6.im.qcloud.com",BACKUP:"wss://wssidn.my-imcloud.com",STAT:"https://apiidn.my-imcloud.com",ANYCAST:"wss://43.129.34.169"}}},_={ANDROID:2,IOS:3,MAC:4,WEB:7,WX_MP:8,QQ_MP:9,TT_MP:10,BAIDU_MP:11,ALI_MP:12,IPAD:13,UNI_NATIVE_APP:15,DONUT_NATIVE_APP:19,NS_NATIVE_APP:20,RN_NATIVE_APP:21},f="CHINA",I={HOST:{CURRENT:{DEFAULT:"wss://wss.im.qcloud.com",STAT:"https://events.im.qcloud.com"},setCurrent(e=f){this.CURRENT=d.PRODUCTION[e]}},NAME:{OPEN_IM:"openim",OPEN_IM_MSG_EXT:"openim_msg_ext_http_svc",GRP:"group_open_http_svc",GRP_AV:"group_open_avchatroom_http_svc",GRP_COMMUNITY:"million_group_open_http_svc",GRP_ATTR:"group_open_attr_http_svc",FD:"sns",PROFILE:"profile",RECENT_CONTACT:"recentcontact",PIC:"openpic",BIG_GRP_NO_AUTH:"group_open_http_noauth_svc",BIG_GRP_POLLING:"group_open_long_polling_http_svc",BIG_GRP_POLLING_NO_AUTH:"group_open_long_polling_http_noauth_svc",IM_OPEN_STAT:"imopenstat",WEB_IM:"webim",IM_COS_SIGN:"im_cos_sign_svr",CUSTOM_UPLOAD:"im_cos_msg",HEARTBEAT:"heartbeat",IM_OPEN_PUSH:"im_open_push",IM_OPEN_STATUS:"im_open_status",IM_LONG_MSG:"im_long_msg",IM_CONFIG_MANAGER:"im_sdk_config_mgr",STAT_SERVICE:"StatSvc",OVERLOAD_PUSH:"OverLoadPush",IM_MSG_AUDIT_MGR:"im_msg_audit_mgr",TUIROOM_SVR:"tui_room_svr",IM_OPEN_TRANSLATE:"im_open_translate",IM_OPEN_SPEECH:"im_open_speech",MSG_SEARCH:"message_search",GRP_SEARCH:"group_search",GRP_MEMBER_SEARCH:"group_member_search",USER_SEARCH:"user_search",FOLLOW:"follow",OFFLINE_PUSH_REPORT:"offline_push_report",IM_MSG_LOGIC:"im_msg_db_logic"}},M={SEARCH_GRP_SNS:new m(0,Math.pow(2,1)).toString(),AV_HISTORY_MSG:new m(0,Math.pow(2,2)).toString(),GRP_COMMUNITY:new m(0,Math.pow(2,3)).toString(),MSG_TO_SPECIFIED_GRP_MBR:new m(0,Math.pow(2,4)).toString(),AV_MBR_LIST:new m(0,Math.pow(2,6)).toString(),USER_STATUS:new m(0,Math.pow(2,7)).toString(),CONV_MARK:new m(0,Math.pow(2,9)).toString(),CONV_GROUP:new m(0,Math.pow(2,10)).toString(),AV_BAN_MBR:new m(0,Math.pow(2,11)).toString(),MSG_EXT:new m(0,Math.pow(2,13)).toString(),GRP_COUNTER:new m(0,Math.pow(2,15)).toString(),PLUGIN_TRANSLATE:new m(Math.pow(2,6)).toString(),PLUGIN_VOICE_TO_TEXT:new m(Math.pow(2,7)).toString(),PLUGIN_CS:new m(Math.pow(2,8)).toString(),PLUGIN_PUSH:new m(Math.pow(2,9)).toString(),PLUGIN_BOT:new m(Math.pow(2,10)).toString(),MSG_REACTION:new m(Math.pow(2,16)).toString(),FOLLOW:new m(Math.pow(2,20)).toString()},y="group_profile",D="group_member_profile",L=["Type","Name","Introduction","Notification","FaceUrl","Owner_Account","CreateTime","InfoSeq","LastInfoTime","LastMsgTime","MemberNum","MaxMemberNum","ApplyJoinOption","NextMsgSeq","ShutUpAllMember","InviteJoinOption"],C=["Role","JoinTime","MsgSeq","MsgFlag"],G=(I.HOST.setCurrent(f),"undefined"!=typeof wx&&"function"==typeof wx.getSystemInfoSync&&Boolean(wx.getSystemInfoSync().fontSizeSetting)),b=(G&&wx.createGamePortal,"undefined"!=typeof qq&&"function"==typeof qq.getSystemInfoSync&&Boolean(qq.getSystemInfoSync().fontSizeSetting)),A="undefined"!=typeof tt&&"function"==typeof tt.getSystemInfoSync&&Boolean(tt.getSystemInfoSync().fontSizeSetting),T="undefined"!=typeof swan&&"function"==typeof swan.getSystemInfoSync&&Boolean(swan.getSystemInfoSync().fontSizeSetting),S="undefined"!=typeof my&&"function"==typeof my.getSystemInfoSync&&Boolean(my.getSystemInfoSync().fontSizeSetting),v="undefined"!=typeof jd&&"function"==typeof jd.getSystemInfoSync,P="undefined"!=typeof uni&&"undefined"==typeof window&&"function"==typeof uni.requireNativePlugin,R=G&&"object"==typeof wx.miniapp,$=G||b||A||T||S||P||v,w="undefined"==typeof window&&!$&&"undefined"!=typeof global&&void 0!==global.NativeScriptGlobals,E="undefined"!=typeof global&&(void 0!==global.nativeModuleProxy||void 0!==global.ReactNative),U="undefined"!=typeof uni?!$:"undefined"!=typeof window&&!$&&!E,q=(b?qq:A?tt:T?swan:S?my:G?wx:P?uni:v&&jd,U&&window&&window.navigator&&window.navigator.userAgent||""),N=/(micromessenger|webbrowser)/i.test(q),k=function(){let e="WEB";return N?e="WEB":b?e="QQ_MP":A?e="TT_MP":T?e="BAIDU_MP":S?e="ALI_MP":G?e=R?"DONUT_NATIVE_APP":"WX_MP":P?e="UNI_NATIVE_APP":w?e="NS_NATIVE_APP":E&&(e="RN_NATIVE_APP"),_[e]}(),O=(!function(){var e=q.match(/OS (\d+)_/i);e&&e[1]&&e[1]}(),function(){var e,t,s=q.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);s&&(e=s[1]&&parseFloat(s[1]),t=s[2]&&parseFloat(s[2]),e&&t&&parseFloat(s[1]+"."+s[2]))}(),/MSIE/.test(q)||-1<q.indexOf("Trident")&&-1<q.indexOf("rv:11.0"));let F,x;!function(){var e=/MSIE\s(\d+)\.\d/.exec(q),e=e&&parseFloat(e[1]);!e&&/Trident\/7.0/i.test(q)&&/rv:11.0/.test(q)}(),F="undefined"!=typeof console?console:"undefined"!=typeof global&&global.console?global.console:"undefined"!=typeof window&&window.console?window.console:{};const V=function(){},H=["assert","clear","count","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"];let j=H.length;for(;j--;)x=H[j],console[x]||(F[x]=V);var K=F;const B="TIMTextElem",J="TIMImageElem",W="TIMSoundElem",z="TIMFileElem",X="TIMFaceElem",Y="TIMVideoFileElem",Q="TIMLocationElem",Z="TIMGroupTipElem",ee="TIMGroupSystemNoticeElem",te="TIMCustomElem",se="TIMRelayElem",oe="High",re="Normal",ie="Low",ne="Lowest",ae="C2C",ue="GROUP",pe="TOPIC",le="@TIM#SYSTEM",ce="Private",he="Public",ge="ChatRoom",me="AVChatRoom",de="Community",_e="Room",fe="Live",Ie="Owner",Me="Admin",ye="Member",De="Custom",Le=1,Ce=3,Ge=4,be=5,Ae="AcceptAndNotify",Te="AlreadyInGroup",Se="__kImSDK_MesssageAtALL__",ve=function(){return(new Date).getTime()+0},Pe={JPG:1,JPEG:1,GIF:2,PNG:3,BMP:4,UNKNOWN:255},Re={NICK:"Tag_Profile_IM_Nick",GENDER:"Tag_Profile_IM_Gender",BIRTHDAY:"Tag_Profile_IM_BirthDay",LOCATION:"Tag_Profile_IM_Location",SELFSIGNATURE:"Tag_Profile_IM_SelfSignature",ALLOWTYPE:"Tag_Profile_IM_AllowType",LANGUAGE:"Tag_Profile_IM_Language",AVATAR:"Tag_Profile_IM_Image",MESSAGESETTINGS:"Tag_Profile_IM_MsgSettings",ADMINFORBIDTYPE:"Tag_Profile_IM_AdminForbidType",LEVEL:"Tag_Profile_IM_Level",ROLE:"Tag_Profile_IM_Role"},$e="JoinedSuccess",we="WaitAdminApproval",Ee="@TGS#_",Ue="@TOPIC#_",qe=Object.prototype.hasOwnProperty;function Ne(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e)return 0===e.length;if("function"==typeof e)return 0===e.length;if(Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(He(e)){for(const t in e)if(qe.call(e,t))return!1;return!0}return!!(ke(e)||Oe(e)||Fe(e))&&0===e.size}const ke=function(e){return"map"===Je(e)},Oe=function(e){return"set"===Je(e)},Fe=function(e){return"file"===Je(e)},xe=function(e){return null!==e&&("number"==typeof e&&!isNaN(+e)||"object"==typeof e&&e.constructor===Number)},Ve=function(e){return"string"==typeof e},He=function(e){if("object"!=typeof e||null===e)return!1;e=Object.getPrototypeOf(e);if(null===e)return!0;let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return e===t},je=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"array"===Je(e)},Ke=function(e){return void 0===e},Be=function(e){return je(e)||null!==e&&"object"==typeof e},Je=function(e){return Object.prototype.toString.call(e).match(/^\[object (.*)\]$/)[1].toLowerCase()},We=(Date.now||(Date.now=function(){return(new Date).getTime()}),function(s,o,r,i){if(!Be(s)||!Be(o))return 0;let n=0;var a,u=Object.keys(o);for(let e=0,t=u.length;e<t;e++)if(a=u[e],!(Ke(o[a])||r&&r.includes(a)))if(Be(s[a])&&Be(o[a]))n+=We(s[a],o[a],r,i);else{if(i&&i.includes(o[a]))continue;s[a]!==o[a]&&(s[a]=o[a],n+=1)}return n}),ze=function(e){e=e||99999999;return Math.round(Math.random()*e)},Xe={},Ye=function(e){if(0===Object.getOwnPropertyNames(e).length)return Object.create(null);const t=Array.isArray(e)?[]:Object.create(null);var s;for(const o in e)null!==e[o]?void 0!==e[o]?(s=typeof e[o],0<=["string","number","function","boolean"].indexOf(s)?t[o]=e[o]:t[o]=Ye(e[o])):t[o]=void 0:t[o]=null;return t};function Qe(o,e){if(!je(o)||!je(e))return!1;let r=!1;return e.forEach(({key:t,value:e})=>{const s=o.find(e=>e.key===t);s?s.value!==e&&(s.value=e,r=!0):(o.push({key:t,value:e}),r=!0)}),r}function Ze(e){return Ne(e)?[]:e.filter(e=>!0===e.isModified)}function et(e){if(He(e)&&He(e.webhookInfo)){const t=[];return e.webhookInfo.disableCloudMessagePreHook&&t.push("ForbidBeforeSendMsgCallback"),e.webhookInfo.disableCloudMessagePostHook&&t.push("ForbidAfterSendMsgCallback"),0!==t.length?t:void 0}}function st(e){return Ne(e)?[]:e.filter(e=>!1===e.isModified)}const ot=e=>e===me,rt=({type:e,groupID:t})=>e===de||(""+t).startsWith(Ee)&&!(""+t).includes(Ue),it=e=>(""+e).startsWith(Ee)&&(""+e).includes(Ue);function nt(e){return e.split(Ue)[0]}function at(){return!O&&!$}function ut(e,t=!0,s=!0){var o=Date.now();return t?s?o-e+" ms":Math.round((o-e)/1e3)+" s":s?o-e:Math.round((o-e)/1e3)}let pt=0;function lt(){return at()?"%c Chat %c":"Chat"}function ct(){const e=function(){const e=new Date;return e.setTime(ve()),e}();return e.toLocaleTimeString("en-US",{hour12:!1})+"."+function(e){let t;switch(e.toString().length){case 1:t="00"+e;break;case 2:t="0"+e;break;default:t=e}return t}(e.getMilliseconds())}const ht={arguments2String(s){let o="";if(1===s.length)o=s[0];else for(let e=0,t=s.length;e<t;e++){if(Be(s[e]))try{o+=s[e]instanceof Error?JSON.stringify(s[e],["message","code"]):JSON.stringify(s[e])}catch(e){o+=e?e.message:"";break}else o+=s[e];o+=" "}return o},_exec(e,t){at()?K[e](lt(),"background:#0abf5b; padding:1px; border-radius:3px; color: #fff","background:transparent",ct(),t):K[e](`${lt()} ${ct()} `+t)},d:function(){var e;pt<=-1&&(e=this.arguments2String(arguments),this._exec("debug",e))},l:function(){var e;pt<=0&&(e=this.arguments2String(arguments),this._exec("log",e))},log:function(){var e;pt<=0&&(e=this.arguments2String(arguments),this._exec("log",e))},i:function(){var e;pt<=1&&(e=this.arguments2String(arguments),this._exec("info",e))},w:function(){var e;pt<=2&&(e=this.arguments2String(arguments),this._exec("warn",e))},e:function(){var e;pt<=3&&(e=this.arguments2String(arguments),this._exec("error",e))},setLevel:function(e){e<4&&this._exec("log","set level from "+pt+" to "+e),pt=e},getLevel:function(){return pt}},gt=function(e){return{code:0,data:e||{}}};class mt extends Error{constructor(e){super();var{code:e,message:t,data:s}=e;this.code=e,t?this.message=t:this._getErrMsg&&(this.message=this._getErrMsg(this.code)),this.data=s||{}}}const dt=2101,_t=2114,ft=2600,It=2602,Mt=2603,yt=2620,Dt=2621,Lt=2623,Ct=2660,Gt=2661,bt=2662,At=2681,Tt=2683,St=2684,vt=2685,Pt=2686,Rt=2687,$t=2805,wt=2903,Et=3122,Ut=3123,qt="onMessageReceived",Nt="onMessageModified",kt="onMessageRevoked",Ot="onGroupListUpdated",Ft="groupAttributesUpdated",xt="onGroupCounterUpdated",Vt="onTopicUpdated",Ht="error";let jt=null;const Kt=function(e){return Promise.resolve(gt(e))},Bt=function(e,t=!1){if(e instanceof mt)return t&&null!==jt&&jt.emit(Ht,e),Promise.reject(e);if(e instanceof Error){const e=new mt({code:wt});return t&&null!==jt&&jt.emit(Ht,e),Promise.reject(e)}if(Ke(e)||Ke(e.code))return Promise.reject(new mt({code:wt}));e=new mt(e);return t&&null!==jt&&jt.emit(Ht,e),Promise.reject(e)},Jt={A2KEY_AND_TINYID_UPDATED:"_inner1",CLOUD_CONFIG:"_inner2",PROFILE_UPDATED:"_inner3",CONV_SYNC_COMPLETED:"_inner4",C2C_UNREAD_HANDLE_COMPLETED:"_inner5"},Wt="messageReceivedGroup",zt="messageReceivedGroupAVPush",Xt="messageReceivedGroupAVPull",Yt={info:4,warning:5,error:6},Qt={wifi:1,"2g":2,"3g":3,"4g":4,"5g":5,unknown:6,none:7,online:8},Zt={login:4,plugin_search:16,plugin_translate:16,plugin_voice_to_text:16,plugin_cs:16,plugin_push:16,plugin_bot:16,plugin_emoji_reaction:16,tui_key_features:16};class es{constructor(e){this._n="SSOLogData",this.eventType=Zt[e]||0,this.timestamp=0,this.networkType=8,this.code=0,this.message="",this.moreMessage="",this.extension=e,this.costTime=0,this.duplicate=!1,this.level=4,this.uiPlatform=void 0,this._sentFlag=!1,this._startts=ve()}static bindEventStatModule(e){es.prototype._eventStatModule=e}static bindNetMonitorModule(e){es.prototype._netMonitorModule=e}updateTimeStamp(){this.timestamp=ve()}start(e){return this._startts=e,this}end(e=!1){if(!this._sentFlag){if(this._netMonitorModule){const e=this._netMonitorModule.getNetworkType();this.setNetworkType(e)}var t=ve();0===this.costTime&&(this.costTime=t-this._startts),this.setMoreMessage(`startts:${this._startts} endts:`+t),e?(this._sentFlag=!0,this._eventStatModule&&this._eventStatModule.pushIn(this)):setTimeout(()=>{this._sentFlag=!0,this._eventStatModule&&this._eventStatModule.pushIn(this)},0)}}setError(e){if(!(e instanceof Error))return ht.w(this._n+".setError value not instanceof Error, please check!"),this;if(this._sentFlag)return this;let t=!0;if(t=this._netMonitorModule?this._netMonitorModule.isOnline():t)e.code&&this.setCode(e.code),e.message&&this.setMoreMessage(e.message);else{const e=$t;this.setCode(e)}return this.setLevel("error"),this}setCode(e){return Ke(e)||this._sentFlag||("ECONNABORTED"===e&&(this.code=103),xe(e)?this.code=e:ht.w(this._n+".setCode value not a number, please check!",e,typeof e)),this}setMessage(e){return Ke(e)||this._sentFlag||(xe(e)&&(this.message=e.toString()),Ve(e)&&(this.message=e)),this}setCostTime(e){return this.costTime=e,this}setLevel(e){return Ke(e)||this._sentFlag||(this.level=Yt[e]),this}setMoreMessage(e){return Ne(this.moreMessage)?this.moreMessage=""+e:this.moreMessage+=" "+e,this}setNetworkType(e){return Ke(e)?ht.w(this._n+".setNetworkType value is undefined, please check!"):(e=Qt[e.toLowerCase()],Ke(e)||(this.networkType=e)),this}getStartTs(){return this._startts}setUIPlatform(e){return this.uiPlatform=e,this}setExtension(e){return this.extension=e,this}setEventType(e){return this.eventType=e,this}}const ts="send_group_msg",ss="get_joined_group_list",os="get_group_self_member_info",rs="create_group",is="destroy_group",ns="modify_group_base_info",as="apply_join_group",us="apply_join_group_noauth",ps="quit_group",ls="get_group_public_info",cs="change_group_owner",hs="handle_apply_join_group",gs="handle_invite_join_permission_group",ms="handle_invite_join_group",ds="group_msg_recall",_s="msg_read_report",fs="group_msg_get",Is="get_group_msg_receipt",Ms="group_msg_receipt",ys="get_group_msg_receipt_detail",Ds="get_pendency",Ls="deletemsg",Cs="get_msg",Gs="get_msg_noauth",bs="get_online_member_num",As="delete_group_ramble_msg_by_seq",Ts="modify_group_msg",Ss="set_group_attr",vs="modify_group_attr",Ps="delete_group_attr",Rs="clear_group_attr",$s="get_group_attr",ws="group_set_key_values",Es="group_get_key_values",Us="batch_get_group_notify",qs="update_group_counter",Ns="get_group_counter",ks="get_group_member_info",Os="get_members",Fs="get_specified_group_member_info",xs="add_group_member",Vs="delete_group_member",Hs="ban_group_member",js="modify_group_member_info",Ks="modify_user_info",Bs="unSend",Js="success",Ws="notStart",zs="resolved",Xs="rejected";class Ys{constructor(e){this.type=B,this.content={text:e.text||""}}setText(e){this.content.text=e}sendable(){return 0!==this.content.text.length}}function Qs(t,s,o,r=[]){if(t){let e=t;return s&&(t.startsWith("http://")?e=t.replace(/^http:\/\/[^/]+/,s):t.startsWith("https://")&&(e=t.replace(/^https:\/\/[^/]+/,s))),e=o&&-1===e.indexOf("authKey=")&&to(e,r)?-1<e.indexOf("?")?e+"&authKey="+o:e+"?authKey="+o:e}}function Zs(e,t,s=[]){if(e===Y)to((t[0].content||t[0].payload).snapshotUrl,s)&&(t[0].content?(t[0].content.snapshotUrl=eo(t[0].content.snapshotUrl),t[0].content.thumbUrl=eo(t[0].content.thumbUrl)):(t[0].payload.snapshotUrl=eo(t[0].payload.snapshotUrl),t[0].payload.thumbUrl=eo(t[0].payload.thumbUrl)));else if(e===z)to((t[0].content||t[0].payload).fileUrl,s)&&(t[0].content?t[0].content.fileUrl=eo(t[0].content.fileUrl):t[0].payload.fileUrl=eo(t[0].payload.fileUrl));else if(e===se){const{downloadKey:e="",messageList:s=[]}=t[0].content||t[0].payload;Ne(e)&&s.forEach(e=>{Zs(e.messageBody[0].type,e.messageBody)})}return t}function eo(e){if(!e)return e;if(-1===e.indexOf("authKey="))return e;const t=e.split("?"),s=t[1].split("&");let o=0;for(let e=0;e<s.length;e++)if(-1<s[e].indexOf("authKey=")){o=e;break}return s.splice(o,1),0<s.length?t[0]+"?"+s.join("&"):t[0]}function to(e,t){let s=!1;if(e){const o=e.match(/:\/\/([0-9]?\.)?(.[^/:]+)/),r=o&&o[2]||"";if(r.includes("rich-dev"))return!0;for(let e=0;e<t.length;e++)if(r.endsWith(t[e])){s=!0;break}}return s}class so{constructor(e,t,s,o){this._imageMemoryURL="",this._fileDownloadProxy=t,this._authKey=s,this._fileDNList=o,$||E?this.createImageDataASURL(e.file):this.createImageDataASURLInWeb(e.file),this._initImageInfoModel(),this.type=J,this._percent=0,this.content={imageFormat:e.imageFormat||Pe.UNKNOWN,uuid:e.uuid,imageInfoArray:[]},this.initImageInfoArray(e.imageInfoArray),this._autoFixUrl()}_initImageInfoModel(){const t=this;this._ImageInfoModel=function(e){this.instanceID=ze(9999999),this.sizeType=e.type||0,this.type=0,this.size=e.size||0,this.width=e.width||0,this.height=e.height||0,this.imageUrl=e.imageUrl||e.url||"",this.url=Qs(e.url||t._imageMemoryURL,t._fileDownloadProxy,t._authKey,t._fileDNList)},this._ImageInfoModel.prototype={setSizeType(e){this.sizeType=e},setType(e){this.type=e},setImageUrl(e){e&&(this.imageUrl=e)},getImageUrl(){return this.imageUrl}}}initImageInfoArray(e){let t=0,s=null,o;for(;t<=2;)o=Ke(e)||Ke(e[t])?{type:0,size:0,width:0,height:0,url:""}:e[t],(s=new this._ImageInfoModel(o)).setSizeType(t+1),s.setType(t),this.addImageInfo(s),t++;this.updateAccessSideImageInfoArray()}updateImageInfoArray(t){var s=this.content.imageInfoArray.length;let o;for(let e=0;e<s;e++)o=this.content.imageInfoArray[e],t[e].size&&(o.size=t[e].size),t[e].url&&o.setImageUrl(t[e].url),t[e].width&&(o.width=t[e].width),t[e].height&&(o.height=t[e].height)}_autoFixUrl(){var t=this.content.imageInfoArray.length;let s="",o="";const r=["http","https"];let i=null;for(let e=0;e<t;e++)this.content.imageInfoArray[e].url&&(""!==(i=this.content.imageInfoArray[e]).imageUrl&&(o=i.imageUrl.slice(0,i.imageUrl.indexOf("://")+1),s=i.imageUrl.slice(i.imageUrl.indexOf("://")+1),r.indexOf(o)<0&&(o="https:"),this.content.imageInfoArray[e].setImageUrl([o,s].join(""))))}updatePercent(e){this._percent=e,1<this._percent&&(this._percent=1)}updateImageFormat(e){this.content.imageFormat=Pe[e.toUpperCase()]||Pe.UNKNOWN}createImageDataASURLInWeb(e){void 0!==e&&0<e.files.length&&(this._imageMemoryURL=window.URL.createObjectURL(e.files[0]))}createImageDataASURL(e){e&&e.url&&(this._imageMemoryURL=e.url)}replaceImageInfo(e,t){this.content.imageInfoArray[t]instanceof this._ImageInfoModel||(this.content.imageInfoArray[t]=e)}addImageInfo(e){3<=this.content.imageInfoArray.length||this.content.imageInfoArray.push(e)}updateAccessSideImageInfoArray(){var e=this.content.imageInfoArray,{width:t=0,height:s=0}=e[0];if(0!==t&&0!==s){var o=e,r=o[2];o[2]=o[1],o[1]=r;for(let e=0;e<o.length;e++)o[e].setType(e);Object.assign(e[2],function(e){const{originUrl:t,originWidth:s,originHeight:o,min:r=198}=e,i=parseInt(s),n=parseInt(o),a={url:void 0,width:0,height:0};if((i<=n?i:n)<=r)a.url=t,a.width=i,a.height=n;else{n<=i?(a.width=Math.ceil(i*r/n),a.height=r):(a.width=r,a.height=Math.ceil(n*r/i));const e=t&&-1<t.indexOf("?")?t+"&":t+"?";a.url=198===r?e+"imageView2/3/w/198/h/198":e+"imageView2/3/w/720/h/720"}if(Ke(t)){const{url:e,...t}=a;return t}return a}({originWidth:t,originHeight:s,min:720}))}}sendable(){return 0!==this.content.imageInfoArray.length&&""!==this.content.imageInfoArray[0].imageUrl&&0!==this.content.imageInfoArray[0].size}}class oo{constructor(e){this.type=X,this.content=e||null}sendable(){return null!==this.content}}class ro{constructor(e,t,s,o){this.type=W,this._percent=0,this.content={downloadFlag:2,second:e.second,size:e.size,url:Qs(e.url,t,s,o),remoteAudioUrl:e.url||"",uuid:e.uuid}}updatePercent(e){this._percent=e,1<this._percent&&(this._percent=1)}updateAudioUrl(e){this.content.remoteAudioUrl=e}sendable(){return""!==this.content.remoteAudioUrl}}const io={from:!0,groupID:!0,groupName:!0,to:!0};class no{constructor(e){this.type=Z,this.content={},this._initContent(e)}_initContent(t){Object.keys(t).forEach(e=>{switch(e){case"remarkInfo":break;case"groupProfile":this.content.groupProfile={},this._initGroupProfile(t[e]);break;case"operatorInfo":this.content.operatorInfo={},this._initOperatorInfo(t[e]);break;case"memberInfoList":case"msgMemberInfo":this._updateMemberList(t[e]);break;case"memberExtraInfo":case"onlineMemberInfo":break;case"memberNum":this.content[e]=t[e],this.content.memberCount=t[e];break;case"newGroupProfile":this.content.newGroupProfile={},this._initNewGroupProfile(t[e]);break;default:this.content[e]=t[e]}}),this.content.userIDList||(this.content.userIDList=[this.content.operatorID])}_initGroupProfile(t){var s=Object.keys(t);for(let e=0;e<s.length;e++){var o=s[e];io[o]&&(this.content.groupProfile[o]=t[o])}}_initOperatorInfo(t){var s=Object.keys(t);for(let e=0;e<s.length;e++){var o=s[e];this.content.operatorInfo[o]=t[o]}}_updateMemberList(e){Ne(this.content.memberList)?this.content.memberList=e:this.content.memberList.forEach(t=>{e.forEach(e=>{t.userID===e.userID&&Object.assign(t,e)})})}_initNewGroupProfile(t){var s=Object.keys(t);for(let e=0;e<s.length;e++){var o=s[e];this.content.newGroupProfile[o]="muteAllMembers"!==o?t[o]:1===t[o]}}}const ao={from:!0,groupID:!0,groupName:!0,to:!0,groupType:!0};class uo{constructor(e){this.type=ee,this.content={},this._initContent(e)}_initContent(t){Object.keys(t).forEach(e=>{switch(e){case"memberInfoList":break;case"remarkInfo":this.content.handleMessage=t[e];break;case"groupProfile":this.content.groupProfile={},this._initGroupProfile(t[e]);break;default:this.content[e]=t[e]}})}_initGroupProfile(t){var s=Object.keys(t);for(let e=0;e<s.length;e++){var o=s[e];ao[o]&&("groupName"===o?this.content.groupProfile.name=t[o]:this.content.groupProfile[o]=t[o])}}}class po{constructor(e,t,s,o){this.type=z,this._percent=0;var r=this._getFileInfo(e);this.content={downloadFlag:2,fileUrl:Qs(e.url||e.fileUrl,t,s,o)||"",uuid:e.uuid,fileName:r.name||"",fileSize:r.size||0}}_getFileInfo(e){if(!Ke(e.fileName)&&!Ke(e.fileSize))return{size:e.fileSize,name:e.fileName};const t=e.file.files[0];if(P){if(t.path&&-1!==t.path.indexOf(".")){const e=t.path.slice(t.path.lastIndexOf(".")+1).toLowerCase();t.type=e,t.name||(t.name=ze(999999)+"."+e)}t.name||(t.type="",t.name=t.path.slice(t.path.lastIndexOf("/")+1).toLowerCase()),t.suffix&&(t.type=t.suffix),t.url||(t.url=t.path)}return{size:t.size,name:t.name}}updatePercent(e){this._percent=e,1<this._percent&&(this._percent=1)}updateFileUrl(e){this.content.fileUrl=e}sendable(){return""!==this.content.fileUrl&&""!==this.content.fileName&&0!==this.content.fileSize}}class lo{constructor(e){this.type=te,this.content={data:e.data||"",description:e.description||"",extension:e.extension||""}}setData(e){return this.content.data=e,this}setDescription(e){return this.content.description=e,this}setExtension(e){return this.content.extension=e,this}sendable(){return 0!==this.content.data.length||0!==this.content.description.length||0!==this.content.extension.length}}class co{constructor(e,t,s,o){this.type=Y,this._percent=0,this.content={remoteVideoUrl:e.remoteVideoUrl||e.videoUrl||"",videoFormat:e.videoFormat,videoSecond:parseInt(e.videoSecond,10),videoSize:e.videoSize,videoUrl:Qs(e.videoUrl,t,s,o),videoDownloadFlag:2,videoUUID:e.videoUUID,thumbUUID:e.thumbUUID,thumbFormat:e.thumbFormat,thumbWidth:e.thumbWidth,snapshotWidth:e.thumbWidth,thumbHeight:e.thumbHeight,snapshotHeight:e.thumbHeight,thumbSize:e.thumbSize,snapshotSize:e.thumbSize,thumbDownloadFlag:2,thumbUrl:Qs(e.thumbUrl,t,s,o),snapshotUrl:Qs(e.thumbUrl,t,s,o)}}updatePercent(e){this._percent=e,1<this._percent&&(this._percent=1)}updateVideoUrl(e){e&&(this.content.remoteVideoUrl=e)}updateSnapshotInfo(e){var{snapshotUrl:e,snapshotWidth:t,snapshotHeight:s}=e;Ne(e)||(this.content.thumbUrl=this.content.snapshotUrl=e),Ne(t)||(this.content.thumbWidth=this.content.snapshotWidth=Number(t)),Ne(s)||(this.content.thumbHeight=this.content.snapshotHeight=Number(s))}sendable(){return""!==this.content.remoteVideoUrl}}class ho{constructor(e){this.type=Q;var{description:e,longitude:t,latitude:s}=e;this.content={description:e,longitude:t,latitude:s}}sendable(){return!0}}class go{constructor(e,t,s,o){var r,i;this.from=e.from,this.messageSender=e.from,this.time=e.time,this.messageSequence=e.sequence,this.clientSequence=e.clientSequence||e.sequence,this.messageRandom=e.random,this.cloudCustomData=e.cloudCustomData||"",this.clientTime=e.clientTime||void 0,e.ID?(this.ID=e.ID||"",this.nick=e.nick||"",this.avatar=e.avatar||"",e.messageBody?this.messageBody=JSON.parse(JSON.stringify(e.messageBody)):this.messageBody=[{type:e.type,payload:e.payload}],e.conversationType?e.conversationType.startsWith(ae)?this.receiverUserID=e.to:e.conversationType.startsWith(ue)&&(this.receiverGroupID=e.to):e.receiverGroupID?this.receiverGroupID=e.receiverGroupID:e.receiverUserID&&(this.receiverUserID=e.receiverUserID),this.messageReceiver=e.to||e.messageReceiver):(this.nick=e.nick||"",this.avatar=e.avatar||"",this.messageBody=[],r=e.elements[0].type,i=e.elements[0].content,this._patchRichMediaPayload(r,i),this._updateRichMediaDownloadUrl(r,i,t,s,o),r===se?this.messageBody.push({type:r,payload:new mo(i,t,s,o).content}):this.messageBody.push({type:r,payload:i}),e.groupID&&(this.receiverGroupID=e.groupID,this.messageReceiver=e.groupID),e.to&&(this.receiverUserID=e.to,this.messageReceiver=e.to),this.ID=`${e.tinyID}-${e.clientTime}-`+e.random)}_patchRichMediaPayload(e,t){e===J?t.imageInfoArray.forEach(e=>{!e.imageUrl&&e.url&&(e.imageUrl=e.url,e.sizeType=e.type,1===e.type?e.type=0:3===e.type&&(e.type=1))}):e===Y?!t.remoteVideoUrl&&t.videoUrl&&(t.remoteVideoUrl=t.videoUrl):e===W?!t.remoteAudioUrl&&t.url&&(t.remoteAudioUrl=t.url):e===z&&!t.fileUrl&&t.url&&(t.fileUrl=t.url,t.url=void 0)}_updateRichMediaDownloadUrl(e,t,s,o,r){(s||o)&&(e===J?t.imageInfoArray.forEach(e=>{e.url=Qs(e.url,s,o,r)}):e===Y?(t.videoUrl=Qs(t.videoUrl,s,o,r),t.snapshotUrl=Qs(t.thumbUrl,s,o,r),t.snapshotHeight=t.thumbHeight,t.snapshotWidth=t.thumbWidth):e===W?t.url=Qs(t.url,s,o,r):e===z&&(t.fileUrl=Qs(t.fileUrl,s,o,r)))}}var mo=class{constructor(e,t,s,o){if(this.type=se,this.content={downloadKey:"",pbDownloadKey:"",messageList:[],title:"",abstractList:[],compatibleText:"",version:0,layersOverLimit:!1},e.downloadKey){const{downloadKey:t,pbDownloadKey:s,title:o,abstractList:r,compatibleText:i,version:n}=e;this.content.downloadKey=t,this.content.pbDownloadKey=s,this.content.title=o,this.content.abstractList=r,this.content.compatibleText=i,this.content.version=n||0}else if(Ne(e.messageList))1===e.layersOverLimit&&(this.content.layersOverLimit=!0);else{const{messageList:a,title:u,abstractList:h,compatibleText:l,version:g}=e,p=[];a.forEach(e=>{Ne(e)||(e=new go(e,t,s,o),p.push(e))}),this.content.messageList=p,this.content.title=u,this.content.abstractList=h,this.content.compatibleText=l,this.content.version=g||0}}sendable(){return!Ne(this.content.messageList)||!Ne(this.content.downloadKey)}};const _o={1:oe,2:re,3:ie,4:ne};class fo{constructor(e){this.ID="",this.conversationID=e.conversationID||null,this.conversationType=e.conversationType||ae,this.conversationSubType=e.conversationSubType,this.time=e.time||Math.ceil(Date.now()/1e3),this.sequence=e.sequence||0,this.clientSequence=e.clientSequence||e.sequence||0,this.random=e.random||0===e.random?e.random:ze(),this.priority=this._computePriority(e.priority),this.nick=e.nick||"",this.avatar=e.avatar||"",this.isPeerRead=!1,this.nameCard="",this.hasRiskContent=function(e){let t=e&&1<e?!0:!1;return t}(e.checkResult),this._elements=[],this.isPlaceMessage=e.isPlaceMessage||0,this.isRevoked=2===e.isPlaceMessage||8===e.msgFlagBits,this.from=e.from||null,this.to=e.to||null,this.flow="",this.isSystemMessage=e.isSystemMessage||!1,this.protocol=e.protocol||"JSON",this.isResend=!1,this.isRead=!1,this.status=e.status||Js,this._onlineOnlyFlag=!1,this._groupAtInfoList=[],this._relayFlag=!1,this.atUserList=[],this.cloudCustomData=e.cloudCustomData||"",this.isDeleted=!1,this.isModified=!!e.messageVersion,this._isExcludedFromUnreadCount=!(!e.messageControlInfo||1!==e.messageControlInfo.excludedFromUnreadCount),this._isExcludedFromLastMessage=!(!e.messageControlInfo||1!==e.messageControlInfo.excludedFromLastMessage),this.clientTime=e.clientTime||Math.floor(ve()/1e3)||0,this.senderTinyID=e.senderTinyID||e.tinyID||"",this.readReceiptInfo=e.readReceiptInfo||{readCount:void 0,unreadCount:void 0,isPeerRead:void 0,timestamp:0},this.needReadReceipt=!0===e.needReadReceipt||1===e.needReadReceipt,this.version=e.messageVersion||0,this.isBroadcastMessage=e.isBroadcastMessage||!1,this._receiverList=e.receiverList||void 0,this.isSupportExtension=!0===e.isSupportExtension||1===e.isSupportExtension,this._cmConfigID=e.customModerationConfigurationID,this.revoker=e.revokerInfo&&e.revokerInfo.revoker||"",this.revokerInfo=e.revokerInfo||{userID:"",nick:"",avatar:""},this.revokeReason=e.revokeReason||"",this.reInitialize(e.currentUser),this.extractGroupInfo(e.groupProfile||null),this.handleGroupAtInfo(e),this.initC2CReadReceiptInfo(e)}get elements(){return this._elements}getElements(){return this._elements}extractGroupInfo(e){null!==e&&(Ve(e.nick)&&(this.nick=e.nick),Ve(e.avatar)&&(this.avatar=e.avatar),e=e["messageFromAccountExtraInformation"],He(e)&&Ve(e.nameCard)&&(this.nameCard=e.nameCard))}handleGroupAtInfo(e){e.payload&&e.payload.atUserList&&e.payload.atUserList.forEach(e=>{e!==Se?(this._groupAtInfoList.push({groupAtAllFlag:0,groupAtUserID:e}),this.atUserList.push(e)):(this._groupAtInfoList.push({groupAtAllFlag:1}),this.atUserList.push(Se))}),je(e.groupAtInfo)&&e.groupAtInfo.forEach(e=>{0===e.groupAtAllFlag?this.atUserList.push(e.groupAtUserID):1===e.groupAtAllFlag&&this.atUserList.push(Se)})}getGroupAtInfoList(){return this._groupAtInfoList}_initProxy(){this._elements[0]&&(this.payload=this._elements[0].content,this.type=this._elements[0].type)}reInitialize(e){e&&(this.status=this.from?Js:Bs,this.from||(this.from=e)),this._initFlow(e),this._initSequence(e),this._concatConversationID(e),this.generateMessageID()}isSendable(){return 0!==this._elements.length&&(!0===this._relayFlag||"function"==typeof this._elements[0].sendable&&this._elements[0].sendable())}_initTo(e){this.conversationType===ue&&(this.to=e.groupID)}_initSequence(e){0===this.clientSequence&&e&&(this.clientSequence=function(o){if(!o)return!1;if(void 0===Xe[o]){const r=new Date;let e=("3"+r.getHours()).slice(-2),t=("0"+r.getMinutes()).slice(-2),s=("0"+r.getSeconds()).slice(-2);Xe[o]=parseInt([e,t,s,"0001"].join("")),e=null,t=null,s=null,ht.l("autoIncrementIndex start index:"+Xe[o])}return Xe[o]++}(e)),0===this.sequence&&this.conversationType===ae&&(this.sequence=this.clientSequence)}generateMessageID(){this.from===le&&(this.senderTinyID="144115198244471703"),this.ID=`${this.senderTinyID}-${this.clientTime}-`+this.random}_initFlow(e){""!==e&&(e===this.from?(this.flow="out",this.isRead=!0):this.flow="in")}_concatConversationID(e){var t=this["to"],s=this.conversationType;s!==le?(e=s===ae?e===this.from?t:this.from:this.to,this.conversationID=e?""+s+e:null):this.conversationID=le}isElement(e){return e instanceof Ys||e instanceof so||e instanceof oo||e instanceof ro||e instanceof po||e instanceof co||e instanceof no||e instanceof uo||e instanceof lo||e instanceof ho||e instanceof mo}setElement(t,s,o,r){if(this.isElement(t))return this._elements=[t],void this._initProxy();var i=e=>{if(e.type&&e.content)switch(e.type){case B:this.setTextElement(e.content);break;case J:this.setImageElement(e.content,s,o,r);break;case W:this.setAudioElement(e.content,s,o,r);break;case z:this.setFileElement(e.content,s,o,r);break;case Y:this.setVideoElement(e.content,s,o,r);break;case te:this.setCustomElement(e.content);break;case Q:this.setLocationElement(e.content);break;case Z:this.setGroupTipElement(e.content);break;case ee:this.setGroupSystemNoticeElement(e.content);break;case X:this.setFaceElement(e.content);break;case se:this.setMergerElement(e.content,s,o,r)}};if(je(t))for(let e=0;e<t.length;e++)i(t[e]);else i(t);this._initProxy()}clearElement(){this._elements.length=0}setTextElement(e){e="string"==typeof e?e:e.text,e=new Ys({text:e});this._elements.push(e)}setImageElement(e,t,s,o){e=new so(e,t,s,o);this._elements.push(e)}setAudioElement(e,t,s,o){e=new ro(e,t,s,o);this._elements.push(e)}setFileElement(e,t,s,o){e=new po(e,t,s,o);this._elements.push(e)}setVideoElement(e,t,s,o){e=new co(e,t,s,o);this._elements.push(e)}setLocationElement(e){e=new ho(e);this._elements.push(e)}setCustomElement(e){e=new lo(e);this._elements.push(e)}setGroupTipElement(e){let t={};var s=e.operationType;if(Ne(e.memberInfoList)?e.operatorInfo&&(t=e.operatorInfo):s!==Le&&s!==Ce&&s!==Ge&&s!==be||(t=e.memberInfoList[0]),!Ne(e.memberExtraInfo)){const t=e.memberExtraInfo["reason"];e.msgMemberInfo.forEach(e=>{e.reason=t})}var{nick:s,avatar:o}=t,s=(Ve(s)&&(this.nick=s),Ve(o)&&(this.avatar=o),new no(e));this._elements.push(s)}setGroupSystemNoticeElement(e){e=new uo(e);this._elements.push(e)}setFaceElement(e){e=new oo(e);this._elements.push(e)}setMergerElement(e,t,s,o){e=new mo(e,t,s,o);this._elements.push(e)}setIsRead(e){this.isRead=e}setRelayFlag(e){this._relayFlag=e}_computePriority(e){if(Ke(e))return re;if(Ve(e)&&-1!==Object.values(_o).indexOf(e))return e;if(xe(e)){e=""+e;if(-1!==Object.keys(_o).indexOf(e))return _o[e]}return re}setNickAndAvatar(e){var{nick:e,avatar:t}=e;Ve(e)&&(this.nick=e),Ve(t)&&(this.avatar=t)}setNameCard(e){Ve(e)&&(this.nameCard=e)}initC2CReadReceiptInfo(e){var{readReceiptSentByPeer:e,timestamp:t=0}=e;this.conversationType===ae&&!0===this.needReadReceipt&&(this.readReceiptInfo.isPeerRead=1===e,this.readReceiptInfo.timestamp=t)}}class Io{constructor(e){this._grpM=e,this._n="GroupTipsHandler",this._cachedGroupTipsMap=new Map,this._checkCountMap=new Map,this.MAX_CHECK_COUNT=4}onCheckTimer(e){e%1==0&&0<this._cachedGroupTipsMap.size&&this._check()}_check(){this._cachedGroupTipsMap.forEach((e,t)=>{let s=this._checkCountMap.get(t);var o=this._grpM.hasLocalGroup(t);ht.l(this._n+`._check groupID:${t} hasLocalGroup:${o} checkCount:`+s),o?(this._notifyCachedGroupTips(t),this._checkCountMap.delete(t),this._grpM.deleteUnjoinedAVChatRoom(t)):s>=this.MAX_CHECK_COUNT?(this._deleteCachedGroupTips(t),this._checkCountMap.delete(t)):(s++,this._checkCountMap.set(t,s))})}onNewGroupTips(e){ht.l(this._n+".onNewGroupTips options:"+JSON.stringify(e.dataList));var{eventDataList:e,result:t,AVChatRoomMessageList:s}=this._assembly(e);0<s.length&&this._grpM.onAVChatRoomMessage(s),0<t.length&&(this._grpM.emitOEvt(qt,t),this._handleTips(t)),0<e.length&&(this._grpM.updateNextMessageSeq(e),this._grpM.get(o).onNewMessage({conversationOptionsList:e,isInstantMessage:!0}))}_assembly(s){var{event:r,dataList:c}=s;let i=null;const n=[],a=[],u={},m=[];for(let e=0,t=c.length;e<t;e++){const s=Ye(c[e]);if(6===r){if(this._grpM.isGroupAttributesUpdatedNotice(s))continue;if(this._grpM.isGroupCountersNotice(s))continue}var{groupProfile:{groupID:p,communityType:d=0,topicID:_,invisible:f,groupType:M}}=s;let t=void 0;var I=this._grpM.isMessageFromTopic(d,_),h=(I&&(t=pe,s.to=_),this._grpM.hasLocalGroup(p));if(h||!this._grpM.isUnjoinedAVChatRoom(p))if(h||I)if(this._grpM.isMessageFromOrToAVChatroom(p))s.event=r,m.push(s);else if(s.currentUser=this._grpM.getMyUserID(),s.conversationType=ue,(i=new fo(s)).setElement({type:Z,content:{...s.elements,groupProfile:s.groupProfile}}),i.isSystemMessage=!1,1!==f){const l=this._grpM.get(o),{conversationID:g,sequence:y}=i;if(6===r)i._onlineOnlyFlag=!0,a.push(i);else if(!l.pushIntoNoticeResult(a,i))continue;if(!(this._grpM.isMessageFromCommunityOfTopic(d,_)||6===r&&l.getLocalConversation(g))){6!==r&&this._qualityStat(i);h=l.isRemoteRead({conversationID:g,sequence:y});if(Ke(u[g])){let e=0;"in"===i.flow&&(i._isExcludedFromUnreadCount||i._onlineOnlyFlag||h||(e=1)),u[g]=n.push({conversationID:g,unreadCount:e,type:Ke(t)?i.conversationType:t,subType:i.conversationSubType,lastMessage:i._isExcludedFromLastMessage?"":i})-1}else{const s=u[g];n[s].type=i.conversationType,n[s].subType=i.conversationSubType,n[s].lastMessage=i._isExcludedFromLastMessage?"":i,"in"===i.flow&&(i._isExcludedFromUnreadCount||i._onlineOnlyFlag||h||n[s].unreadCount++)}}}else this._qualityStat(i);else this._cacheAndCompare({groupID:p,event:r,item:s,groupType:M})}return{eventDataList:n,result:a,AVChatRoomMessageList:m}}_qualityStat(e){this._grpM.get(p).addMessageSequence({key:Wt,message:e})}_handleTips(e){e.forEach(e=>{switch(e.payload.operationType){case 1:this._onNewMemberComeIn(e);break;case 2:this._onMemberQuit(e);break;case 3:this._onMemberKickedOut(e);break;case 4:this._onMemberSetAdmin(e);break;case 5:this._onMemberCancelledAdmin(e);break;case 6:this._onGroupProfileModified(e);break;case 7:this._onMemberInfoModified(e);break;case 8:this._onTopicProfileUpdated(e);break;default:ht.w(this._n+"._handleTips unknown operationType:"+e.payload.operationType)}})}_onNewMemberComeIn(e){const{memberNum:t,groupProfile:{groupID:s}}=e.payload,o=this._grpM.getLocalGroupProfile(s);o&&xe(t)&&o.memberCount!==t&&(o.memberCount=t,this._updateConvGroupProfile(o))}_onMemberQuit(e){const{memberNum:t,groupProfile:{groupID:s}}=e.payload,o=this._grpM.getLocalGroupProfile(s);o&&xe(t)&&o.memberCount!==t&&(o.memberCount=t,this._updateConvGroupProfile(o)),this._grpM.getGroupMemberHandler().deleteLocalGroupMembers(s,e.payload.userIDList)}_onMemberKickedOut(e){const{memberNum:t,groupProfile:{groupID:s}}=e.payload,o=this._grpM.getLocalGroupProfile(s);o&&xe(t)&&o.memberCount!==t&&(o.memberCount=t,this._updateConvGroupProfile(o)),this._grpM.getGroupMemberHandler().deleteLocalGroupMembers(s,e.payload.userIDList)}_updateConvGroupProfile(e){this._grpM.get(o).updateConvGroupProfile([e])}_onMemberSetAdmin(e){const s=e.payload.groupProfile.groupID,t=e.payload.userIDList,o=this._grpM.getGroupMemberHandler();t.forEach(e=>{const t=o.getLocalGroupMemberInfo(s,e);t&&t.updateRole(Me)})}_onMemberCancelledAdmin(e){const s=e.payload.groupProfile.groupID,t=e.payload.userIDList,o=this._grpM.getGroupMemberHandler();t.forEach(e=>{const t=o.getLocalGroupMemberInfo(s,e);t&&t.updateRole(ye)})}_onGroupProfileModified(e){const{newGroupProfile:t,groupProfile:s,operatorInfo:o}=e.payload,r=s["groupID"],i=this._grpM.getLocalGroupProfile(r);Object.keys(t).forEach(e=>{switch(e){case"ownerID":this._ownerChanged(i,t);break;case"groupName":i.name=t[e];break;default:i[e]=t[e]}}),Ke(o)||Object.keys(o).forEach(t=>{if("nameCard"===t)i.updateSelfInfo({nameCard:o[t]});else if("role"===t){let e="";400===o[t]?e=Ie:300===o[t]?e=Me:200===o[t]&&(e=ye),i.updateSelfInfo({role:e})}});e=!i.isSupportTopic;this._grpM.emitGroupListUpdate(!0,e)}_ownerChanged({groupID:e},t){const s=this._grpM.getLocalGroupProfile(e),o=this._grpM.getMyUserID();if(o===t.ownerID){s.updateGroup({selfInfo:{role:Ie}});const t=this._grpM.getGroupMemberHandler(),r=t.getLocalGroupMemberInfo(e,o),i=this._grpM.getLocalGroupProfile(e).ownerID,n=t.getLocalGroupMemberInfo(e,i);r&&r.updateRole(Ie),n&&n.updateRole(ye)}}_onMemberInfoModified(e){const{to:t,payload:{groupProfile:s,memberList:o}}=e,r=s.groupID,i=(it(t)&&this._updateTopicMuteTime(e),this._grpM.getGroupMemberHandler());o.forEach(e=>{const t=i.getLocalGroupMemberInfo(r,e.userID);t&&xe(e.muteTime)&&t.updateMuteUntil(e.muteTime)})}_updateTopicMuteTime(e){const{to:t,payload:{groupProfile:o,memberList:r=[]}}=e,i=this._grpM.get(s),n=o["groupID"],a=i.getLocalTopic(n,t);if(a){let t=!1;for(let e=0;e<r.length;e++){const s=r[e];if(s.userID===this._grpM.getMyUserID()&&0<=s.muteTime){a.updateSelfInfo({muteTime:s.muteTime}),t=!0;break}}t&&this._grpM.emitOEvt(Vt,{groupID:n,topic:a})}}_onTopicProfileUpdated(e){var{groupProfile:{groupID:t},newTopicInfo:o}=e.payload;this._grpM.get(s).onTopicProfileUpdated({groupID:t,topicID:e.to,...o})}_cacheGroupTips(e,t){this._cachedGroupTipsMap.has(e)||this._cachedGroupTipsMap.set(e,[]),this._cachedGroupTipsMap.get(e).push(t)}_deleteCachedGroupTips(e){this._cachedGroupTipsMap.has(e)&&this._cachedGroupTipsMap.delete(e)}_notifyCachedGroupTips(e,t){const s=this._cachedGroupTipsMap.get(e)||[];ht.l(this._n+`._notifyCachedGroupTips groupID:${e} groupType:${t} count:`+s.length),s.forEach(e=>{this.onNewGroupTips(e)}),this._deleteCachedGroupTips(e)}_cacheAndCompare(e){var{groupID:e,event:t,item:s,groupType:o}=e,t=(ht.l(this._n+`._cacheAndCompare groupID:${e} groupType:`+o),this._cacheGroupTips(e,{event:t,dataList:[s]}),{groupID:e,type:o});o===me?this._grpM.hasLocalGroup(e)?this._notifyCachedGroupTips(e,o):this._grpM.setUnjoinedAVChatRoom(e):(this._grpM.updateGroupMap([t]),this._notifyCachedGroupTips(e,o)),this._checkCountMap.has(e)||this._checkCountMap.set(e,0)}reset(){this._cachedGroupTipsMap.clear(),this._checkCountMap.clear()}}class Mo{constructor(e){this._grpM=e,this._n="CommonGroupHandler",this.tempConversationList=null,this._cachedGroupMessageMap=new Map,this._checkCountMap=new Map,this.MAX_CHECK_COUNT=4,this.PAGING_GRP_COUNT_LIMIT=200,this._pagingStatus=Ws,this._pagingGetCostList=[],e.getIEmitInst().on(Jt.A2KEY_AND_TINYID_UPDATED,this.syncGroupList,this)}onCheckTimer(e){e%1==0&&0<this._cachedGroupMessageMap.size&&this._check()}_check(){this._cachedGroupMessageMap.forEach((e,t)=>{let s=this._checkCountMap.get(t);var o=this._grpM.hasLocalGroup(t);ht.l(this._n+`._check groupID:${t} hasLocalGroup:${o} checkCount:`+s),o?(this._notifyCachedGroupMessage(t),this._checkCountMap.delete(t),this._grpM.deleteUnjoinedAVChatRoom(t)):s>=this.MAX_CHECK_COUNT?(this._deleteCachedGroupMessage(t),this._checkCountMap.delete(t)):(s++,this._checkCountMap.set(t,s))})}updateLastMsg(i){var e=this._n+".updateLastMsg";if(0!==this._grpM.getGroupMap().size){let t,s,o,r=!1;var n,a,u=i.length;for(let e=0;e<u;e++)(t=i[e]).type===ue&&0!==t.lastMessage.lastSequence&&null!==t.lastMessage.payload&&(s=t.conversationID.split(/^GROUP/)[1],(o=this._grpM.getLocalGroupProfile(s))&&(n=o.lastMessage,a=t.lastMessage,JSON.stringify(n)!==JSON.stringify(a)&&(o.lastMessage={...t.lastMessage},r=!0)));ht.l(e+` convCount:${u} groupCount:${this._grpM.getLocalGroupList().length} isUpdated:`+r),r&&(this._grpM.sortLocalGroupList(),this._grpM.emitGroupListUpdate(!0,!1))}else this.tempConversationList=i}onNewMessage(e){const{conversationOptionsList:t,messageList:s,AVChatRoomMessageList:r}=this._assembly(e);0<r.length&&this._grpM.onAVChatRoomMessage(r);var i=Ze(s),i=(0<i.length&&this._grpM.emitOEvt(Nt,i),0<t.length&&(this._grpM.get(o).onNewMessage({conversationOptionsList:t,isInstantMessage:!1!==e.isInstantMessage,updateUnreadCount:!1!==e.updateUnreadCount}),this._grpM.updateNextMessageSeq(t)),st(s));0<i.length&&this._grpM.emitOEvt(qt,i),s.length=0}_assembly(i){const{dataList:a,event:e,isInstantMessage:u}=i;let p=null;const h=[],l=[],d=[],g={},_=this._grpM.getFileDownloadProxy(),f=this._grpM.getDowloadFileAuthKey(),M=this._grpM.get(n).getFileDNList(),c=a.length,m=(1<c&&a.sort((e,t)=>e.sequence-t.sequence),this._grpM.get(o)),I=this._grpM.get(t);for(let r=0;r<c;r++){const i=Ye(a[r]),{groupProfile:{groupID:o,communityType:n=0,topicID:c,invisible:L,groupType:C}}=i;let s=void 0;var y=this._grpM.isMessageFromTopic(n,c),D=(y&&(s=pe,i.to=c),this._grpM.hasLocalGroup(o));if(D||!this._grpM.isUnjoinedAVChatRoom(o))if(D||y)if(this._grpM.isMessageFromOrToAVChatroom(o))i.event=e,d.push(i);else if(i.currentUser=this._grpM.getMyUserID(),i.conversationType=ue,i.isSystemMessage=!!i.isSystemMessage,(p=new fo(i)).setElement(i.elements,_,f,M),1!==L){let e=1===a[r].isModified;if(m.isMessageSentByCurrentInstance(p)?p.isModified=e:e=!1,1===i.onlineOnlyFlag)p._onlineOnlyFlag=!0,m.isMessageSentByCurrentInstance(p)||l.push(p);else{if(this._grpM.isMessageFromCommunityOfTopic(n,c)){l.push(p);continue}if(p.from===this._grpM.getMyUserID()){const t=m.getLatestMessageSentByMe(p.conversationID);if(t){const{nick:a,avatar:o}=t;a===p.nick&&o===p.avatar||(m.modifyMessageSentByMe({conversationID:i,latestNick:p.nick,latestAvatar:p.avatar}),I.mockOnNickAvatarModified(p.nick,p.avatar))}}if(!m.pushIntoMessageList(l,p,e))continue;this._qualityStat(u,p);const{conversationID:i,sequence:t}=p,a=m.isRemoteRead({conversationID:i,sequence:t});if(Ke(g[i])){let e=0;"in"===p.flow&&(p._isExcludedFromUnreadCount||a||(e=1)),g[i]=h.push({conversationID:i,unreadCount:e,type:Ke(s)?p.conversationType:s,subType:p.conversationSubType,lastMessage:p._isExcludedFromLastMessage?"":p})-1}else{const t=g[i];h[t].type=Ke(s)?p.conversationType:s,h[t].subType=p.conversationSubType,h[t].lastMessage=p._isExcludedFromLastMessage?"":p,"in"===p.flow&&(p._isExcludedFromUnreadCount||a||h[t].unreadCount++)}}}else this._qualityStat(u,p);else this._cacheAndCompare({groupID:o,event:e,item:i,groupType:C})}return{conversationOptionsList:h,messageList:l,AVChatRoomMessageList:d}}_qualityStat(e,t){const s=this._grpM.get(p);s.addMessageSequence({key:Wt,message:t}),e&&0<t.clientTime&&s.addMessageDelay(t.clientTime)}onMsgRevoked(e,t){const p=this._grpM.get(o),h=[],l=[];e.dataList.forEach(e=>{const t=e.elements["revokedInfos"],{revokerInfo:n,groupProfile:a}=e;let u=!1;a&&(u=rt({groupID:a.groupID})||!Ne(a.topicID)),Ke(t)||t.forEach(e=>{var t=Ne(e.topicID)?"GROUP"+e.groupID:"GROUP"+e.topicID,s=p.getLocalConversation(t),o=e.revokerInfo&&e.revokerInfo.revoker||n&&n.revoker,r=n&&n.reason||"";let i;if(s&&ot(s.type))i={conversationID:t,sequence:e.sequence,ID:`${e.tinyID}-${e.clientTime}-`+e.random};else{const n=p.revoke(t,e.sequence,e.random);n?i=n:(i={conversationID:t,sequence:e.sequence},e.tinyID&&e.clientTime&&e.random&&(i.ID=`${e.tinyID}-${e.clientTime}-`+e.random),e.time&&(i.time=e.time))}i&&(i.revoker=o,i.revokeReason=r,i.revokerInfo={userID:o,nick:"",avatar:""},u?(i.revokerInfo.nick=a.nick,i.revokerInfo.avatar=a.avatar,h.push(i)):l.push(i))})}),0===l.length&&0===h.length||(p.onMessageRevoked([...h,...l],t),0<h.length&&this._grpM.emitOEvt(kt,h),0<l.length&&p.updateRevokerInfo(l).then(e=>{this._grpM.emitOEvt(kt,e)}))}_groupListTreeShaking(s){const o=new Map([...this._grpM.getGroupMap()]);for(let e=0,t=s.length;e<t;e++)o.delete(s[e].groupID);this._grpM.hasJoinedAVChatRoom()&&this._grpM.getJoinedAVChatRoom().forEach(e=>{o.delete(e)}),this._grpM.getGroupMap().forEach((e,t)=>{e.isSupportTopic&&o.delete(t)});var r=[...o.keys()];for(let e=0,t=r.length;e<t;e++)this._grpM.deleteGroup(r[e])}syncGroupList(e=!1){this._pagingStatus===Ws&&this._grpM.clearGroupMap();const t=[...L],s=this.PAGING_GRP_COUNT_LIMIT,o=[];if(!0===e)return this._pagingGetGroupListWithTopic({limit:s,offset:0,groupBaseInfoFilter:t,groupList:o});const r=this._n+".syncGroupList",i=new es("syncGroupList");return this._pagingGetGroupList({limit:s,offset:0,groupBaseInfoFilter:t,groupList:o}).then(()=>{var e=function(e){if(je(e)&&0!==e.length){let t=0;return e.forEach(e=>{t+=e}),(t/e.length).toFixed(0)}}(this._pagingGetCostList),t=function(e){if(je(e)&&0!==e.length){let t=0;return e.forEach(e=>{t+=e}),t.toFixed(0)}}(this._pagingGetCostList),t=(this._pagingGetCostList.length=0,this._pagingStatus=zs,this._groupListTreeShaking(o),this._grpM.updateGroupMap(o),`count:${this._grpM.getLocalGroupList().length} sum:${t} avg:`+e);return ht.l(r+" ok. "+t),i.setMessage(t).end(),this.tempConversationList&&(this.updateLastMsg(this.tempConversationList),this.tempConversationList=null),this._grpM.emitGroupListUpdate(!0,!0),gt({groupList:this._grpM.getLocalGroupList()})}).catch(e=>(this._pagingStatus=Xs,i.setError(e).end(),ht.e(r+" failed. error:",e),Bt(e)))}getGroupList(){const t=this._n+".getGroupList";if(ht.l(t+" pagingStatus:"+this._pagingStatus),this._pagingStatus===Xs||this._pagingStatus===Ws)return this.syncGroupList().then(()=>{var e=this._grpM.getLocalGroupList();return gt({groupList:e,isSyncCompleted:this.isPagingGetCompleted()})}).catch(e=>(ht.e(t+" failed. error:",e),Bt(e)));var e=this._grpM.getLocalGroupList();return ht.l(t+". returned group count:"+e.length),Kt({groupList:e,isSyncCompleted:this.isPagingGetCompleted()})}isPagingGetCompleted(){return this._pagingStatus===zs}_pagingGetGroupList(e){const o=this._n+"._pagingGetGroupList";let{isCommunityRelay:r=!1,limit:i,offset:n,groupBaseInfoFilter:a,groupList:u}=e;const p=Date.now();return this._grpM.req({P:ss,data:{type:r?de:void 0,memberAccount:this._grpM.getMyUserID(),limit:i,offset:n,responseFilter:{groupBaseInfoFilter:a,selfInfoFilter:["Role","JoinTime","MsgFlag","MsgSeq"]}}}).then(e=>{var{groups:e=[],totalCount:t}=e.data,e=(u.push(...e),this._handleGroupAtInfoWithoutTopic(r,e),n+i),s=!(e<t),t=`offset:${n} limit:${i} total:${t} isCompleted:${s} current:${u.length} isCommunityRelay:`+r;return this._pagingGetCostList.push(ut(p,!1)),ht.l(o+` ok. ${t} cost:`+ut(p)),r||s?!r&&s?(ht.l(o+" start to get community list"),n=0,this._pagingGetGroupList({limit:i,offset:n,groupBaseInfoFilter:a,groupList:u,isCommunityRelay:!0})):r&&!s?(n=e,this._pagingGetGroupList({limit:i,offset:n,groupBaseInfoFilter:a,groupList:u,isCommunityRelay:!0})):gt({groupList:u}):(n=e,this._pagingGetGroupList({limit:i,offset:n,groupBaseInfoFilter:a,groupList:u}))}).catch(e=>10018===e.code?(ht.w(this.logPrefix+" response size exceeds the limit, request count:"+i),i=50,this._pagingGetGroupList({limit:i,offset:n,groupBaseInfoFilter:a,groupList:u,isCommunityRelay:r})):r?(11e3===e.code&&ht.l(o+" ok. community unavailable"),Kt({groupList:u})):Bt(e))}_pagingGetGroupListWithTopic(e){const o=this._n+"._pagingGetGroupListWithTopic";let{limit:r,offset:i,groupBaseInfoFilter:n,groupList:a}=e;const u=Date.now();return this._grpM.req({P:ss,data:{type:de,memberAccount:this._grpM.getMyUserID(),limit:r,offset:i,responseFilter:{groupBaseInfoFilter:n,selfInfoFilter:[...C]},isSupportTopic:1,needAppDefineData:1}}).then(e=>{var{groups:e=[],totalCount:t}=e.data,e=(a.push(...e),i+r),s=!(e<t);if(ht.l(o+` ok. offset:${i} limit:${r} totalCount:${t} isCompleted:${s} currentCount:${a.length} cost:`+ut(u)),!s)return i=e,this._pagingGetGroupListWithTopic({limit:r,offset:i,groupBaseInfoFilter:n,groupList:a});this._grpM.updateGroupMap(a),this._grpM.emitGroupListUpdate(!0,!1);t=this._grpM.getLocalGroupList().filter(e=>!0===e.isSupportTopic);return gt({groupList:t})}).catch(e=>10018===e.code?(ht.w(this.logPrefix+" response size exceeds the limit, request count:"+r),r=50,this._pagingGetGroupListWithTopic({limit:r,offset:i,groupBaseInfoFilter:n,groupList:a})):Bt(e))}_cacheGroupMessage(e,t){this._cachedGroupMessageMap.has(e)||this._cachedGroupMessageMap.set(e,[]),this._cachedGroupMessageMap.get(e).push(t)}_deleteCachedGroupMessage(e){this._cachedGroupMessageMap.has(e)&&this._cachedGroupMessageMap.delete(e)}_notifyCachedGroupMessage(e,t){const s=this._cachedGroupMessageMap.get(e)||[];ht.l(this._n+`._notifyCachedGroupMessage groupID:${e} groupType:${t} count:`+s.length),s.forEach(e=>{this.onNewMessage(e)}),this._deleteCachedGroupMessage(e)}_cacheAndCompare(e){var{groupID:e,event:t,item:s,groupType:o}=e,t=(ht.l(this._n+`._cacheAndCompare groupID:${e} groupType:`+o),this._cacheGroupMessage(e,{event:t,dataList:[s]}),{groupID:e,type:o});o===me?this._grpM.hasLocalGroup(e)?this._notifyCachedGroupMessage(e,o):this._grpM.setUnjoinedAVChatRoom(e):(this._grpM.updateGroupMap([t]),this._notifyCachedGroupMessage(e,o)),this._checkCountMap.has(e)||this._checkCountMap.set(e,0)}_handleGroupAtInfoWithoutTopic(e,t){e&&0!==t.length&&t.forEach(e=>{const{groupID:t,groupAtInfoList:s}=e,r=[];Ke(s)||(s.forEach(e=>{r.push({...e,groupID:t})}),this._grpM.get(o).onNewGroupAtTips({dataList:r}))})}setPagingGroupCount(e){Ke(e)||(this.PAGING_GRP_COUNT_LIMIT=parseInt(e,10))}reset(){this.PAGING_GRP_COUNT_LIMIT=200,this._cachedGroupMessageMap.clear(),this._checkCountMap.clear(),this._pagingStatus=Ws,this._pagingGetCostList=[]}}const yo=1,Do=2,Lo=3,Co=4,Go=5;class bo{constructor(e){this._grpM=e,this._n="GroupAttributesHandler",this._groupAttributesMap=new Map,this._groupAttributesCopy={},this.CACHE_EXPIRE_TIME=3e4,this._grpM.getIEmitInst().on(Jt.CLOUD_CONFIG,this._onCloudConfig,this)}_onCloudConfig(){var e=this._grpM.getCloudConfig("grp_attr_cache_time");Ke(e)||(this.CACHE_EXPIRE_TIME=Number(e))}updateLocalMainSequenceOnReconnected(){this._groupAttributesMap.forEach(e=>{e.localMainSequence=0})}isGroupAttributesUpdatedNotice(e){var{to:e,elements:{newGroupProfile:t}}=e,s=!Ke(t)&&!Ne(t.groupAttributeOption);return s&&this._onGroupAttributesUpdated({groupID:e,groupAttributeOption:t.groupAttributeOption}),s}_onGroupAttributesUpdated(e){const{groupID:t,groupAttributeOption:s}=e,{mainSequence:o,isWithChangedAttributeInfo:r,groupAttributeList:i=[],operationType:n}=s;if(ht.l(this._n+".onGroupAttributesUpdated. "+`groupID:${t} isWithChangedAttributeInfo:${r} operationType:`+n),!Ke(n)){this._groupAttributesCopy=this._getCachedAttributes({groupID:t});e=this._getLocalGroupAttributes(t)["localMainSequence"],e=o-e;if(0!=e){if(1===r&&1==e)return this._refreshCachedGroupAttributes({groupID:t,remoteMainSequence:o,groupAttributeList:i,operationType:n}),void this._emitGroupAttributesUpdated(t);if(this._hasLocalGroupAttributes(t)){const e=this._getLocalGroupAttributes(t)["avChatRoomKey"];this._getGroupAttributes({groupID:t,avChatRoomKey:e}).then(()=>{this._emitGroupAttributesUpdated(t)})}}}}initGroupAttributesCache(e){var{groupID:e,avChatRoomKey:t}=e;this._groupAttributesMap.set(e,{lastUpdateTime:0,localMainSequence:0,remoteMainSequence:0,attributes:new Map,avChatRoomKey:t}),ht.l(this._n+`.initGroupAttributesCache groupID:${e} avChatRoomKey:`+t)}initGroupAttributes(e){const{groupID:r,groupAttributes:i}=e,{remoteMainSequence:t,avChatRoomKey:s}=this._getLocalGroupAttributes(r),n=new es("initGroupAttributes");return n.setMessage(`groupID:${r} avChatRoomKey:${s} mainSequence:`+t),this._grpM.req({P:Ss,data:{groupID:r,avChatRoomKey:s,mainSequence:t,groupAttributeList:this._transformGroupAttributes(i)}}).then(e=>{ht.l(this._n+".initGroupAttributes ok. groupID:"+r);const{mainSequence:t,groupAttributeList:s}=e.data,o=[...s];return o.forEach(e=>{e.value=i[e.key]}),this._groupAttributesCopy=this._getCachedAttributes({groupID:r}),this._refreshCachedGroupAttributes({groupID:r,remoteMainSequence:t,groupAttributeList:o,operationType:yo}),this._emitGroupAttributesUpdated(r),n.end(),gt({groupAttributes:i})}).catch(e=>(n.setError(e).end(),Bt(e)))}setGroupAttributes(e){const r=this._n+".setGroupAttributes",{groupID:i,groupAttributes:n}=e,{remoteMainSequence:t,avChatRoomKey:s,attributes:o}=this._getLocalGroupAttributes(i),a=this._transformGroupAttributes(n),u=(a.forEach(e=>{var t=e["key"];e.sequence=0,o.has(t)&&(e.sequence=o.get(t).sequence)}),new es("setGroupAttributes"));return u.setMessage(`groupID:${i} groupAttributes:`+JSON.stringify(n)),ht.l(r+`. groupID:${i} mainSequence:`+t),this._grpM.req({P:vs,data:{groupID:i,avChatRoomKey:s,mainSequence:t,groupAttributeList:a}}).then(e=>{ht.l(r+" ok.");const{mainSequence:t,groupAttributeList:s}=e.data,o=[...s];return o.forEach(e=>{e.value=n[e.key]}),this._groupAttributesCopy=this._getCachedAttributes({groupID:i}),this._refreshCachedGroupAttributes({groupID:i,remoteMainSequence:t,groupAttributeList:o,operationType:Do}),this._emitGroupAttributesUpdated(i),u.end(),gt({groupAttributes:n})}).catch(e=>(u.setError(e).end(),Bt(e)))}deleteGroupAttributes(h){const{groupID:t,keyList:e=[]}=h,{remoteMainSequence:s,avChatRoomKey:l,attributes:o}=this._getLocalGroupAttributes(t);let r=[...o.keys()],i=Rs,n=Lo;const a={groupID:t,avChatRoomKey:l,mainSequence:s},u=[],p=(0<e.length&&(r=[],i=Ps,n=Co,e.forEach(e=>{let t=0;o.has(e)&&(t=o.get(e).sequence,r.push(e)),u.push({key:e,sequence:t})}),a.groupAttributeList=u),new es("deleteGroupAttributes"));return p.setMessage(`groupID:${t} mainSequence:${s} keyList:${e} proto:`+i),this._grpM.req({P:i,data:a}).then(e=>{ht.l(this._n+".deleteGroupAttributes ok. groupID:"+t);e=e.data.mainSequence;return this._groupAttributesCopy=this._getCachedAttributes({groupID:t}),this._refreshCachedGroupAttributes({groupID:t,remoteMainSequence:e,groupAttributeList:u,operationType:n}),this._emitGroupAttributesUpdated(t),p.end(),gt({keyList:r})}).catch(e=>(p.setError(e).end(),Bt(e)))}getGroupAttributes(t){const s=this._n+".getGroupAttributes",o=t["groupID"],{avChatRoomKey:e,lastUpdateTime:r,localMainSequence:i,remoteMainSequence:n}=this._getLocalGroupAttributes(o),a=new es("getGroupAttributes");if(a.setMessage(`groupID:${o} localMainSequence:${i} remoteMainSequence:${n} keyList:`+t.keyList),Date.now()-r>=this.CACHE_EXPIRE_TIME||i<n)return this._getGroupAttributes({groupID:o,avChatRoomKey:e}).then(e=>{a.setMoreMessage("get attributes from remote. count:"+e.length).end(),ht.l(s+" from remote. groupID:"+o);e=this._getCachedAttributes(t);return gt({groupAttributes:e})}).catch(e=>(a.setError(e).end(),Bt(e)));a.setMoreMessage("get attributes from cache").end(),ht.l(s+" from cache. groupID:"+o);var u=this._getCachedAttributes(t);return Kt({groupAttributes:u})}_getGroupAttributes(o){let e=0;return Ke(o.avChatRoomKey)||(e=1),this._grpM.req({P:$s,data:{...o,groupType:e}}).then(e=>{ht.l(this._n+"._getGroupAttributes ok. groupID:"+o.groupID);var{mainSequence:e,groupAttributeList:t}=e.data,s=[...t];return Ke(e)||this._refreshCachedGroupAttributes({groupID:o.groupID,remoteMainSequence:e,groupAttributeList:s,operationType:Go}),t}).catch(e=>Bt(e))}_refreshCachedGroupAttributes(e){var{groupID:t,remoteMainSequence:s,groupAttributeList:o,operationType:r}=e;if(this._hasLocalGroupAttributes(t)){const e=this._getLocalGroupAttributes(t),i=e["localMainSequence"];if(r===Go||s-i==1)e.remoteMainSequence=s,e.localMainSequence=s,e.lastUpdateTime=Date.now(),this._updateCachedAttributes({groupAttributes:e,groupAttributeList:o,operationType:r});else{if(i===s)return;e.remoteMainSequence=s}this._groupAttributesMap.set(t,e);o=`operationType:${r} localMainSequence:${i} remoteMainSequence:`+s;ht.l(this._n+"._refreshCachedGroupAttributes. "+o)}}_getCachedAttributes(t){const{groupID:e,keyList:s=[]}=t,o={};if(this._hasLocalGroupAttributes(e)){const t=this._getLocalGroupAttributes(e)["attributes"];if(0<s.length)s.forEach(e=>{t.has(e)&&(o[e]=t.get(e).value)});else for(const e of t.keys())o[e]=t.get(e).value}return o}_updateCachedAttributes(e){const{groupAttributes:o,groupAttributeList:t,operationType:s}=e;s!==Lo?s!==Co?(s===yo&&o.attributes.clear(),t.forEach(e=>{var{key:e,value:t,sequence:s}=e;o.attributes.set(e,{value:t,sequence:s})})):t.forEach(e=>{o.attributes.delete(e.key)}):o.attributes.clear()}_hasLocalGroupAttributes(e){return this._groupAttributesMap.has(e)}_getLocalGroupAttributes(e){return this._hasLocalGroupAttributes(e)||this.initGroupAttributesCache({groupID:e}),this._groupAttributesMap.get(e)}_transformGroupAttributes(t){const s=[];return Object.keys(t).forEach(e=>{s.push({key:e,value:t[e]})}),s}_emitGroupAttributesUpdated(e){var t=this._getCachedAttributes({groupID:e}),{updatedKeyList:s,deletedKeyList:o}=this._computeAttrChangedInfo(t);ht.l(`${this._n}._emitGroupAttributesUpdated update:${s.length}, delete:`+o.length),0===s.length&&0===o.length||this._grpM.emitOEvt(Ft,{groupID:e,groupAttributes:t,updatedKeyList:s,deletedKeyList:o})}_computeAttrChangedInfo(t){const s=[],o=[];return Object.keys(t).forEach(e=>{t[e]!==this._groupAttributesCopy[e]&&s.push(e)}),Object.keys(this._groupAttributesCopy).forEach(e=>{Ke(t[e])&&o.push(e)}),this._groupAttributesCopy={},{updatedKeyList:s,deletedKeyList:o}}deleteLocalGroupAttributes(e){this._hasLocalGroupAttributes(e)&&this._groupAttributesMap.delete(e)}reset(){this._groupAttributesMap.clear(),this._groupAttributesCopy={},this.CACHE_EXPIRE_TIME=3e4}}const Ao="Set",To="Increase",So="Decrease";class vo{constructor(e){this._grpM=e,this._n="GroupCountersHandler",this._groupCountersMap=new Map,this.EXPIRE_TIME=3e4,this._grpM.getIEmitInst().on(Jt.CLOUD_CONFIG,this._onCloudConfig,this)}_onCloudConfig(){var e=this._grpM.getCloudConfig("grp_counter_expire_time");Ke(e)||(this.EXPIRE_TIME=Number(e))}isGroupCountersNotice(e){var{to:e,elements:{groupCounterInfo:t}}=e;let s=!1;return Ne(t)||(this._onGroupCountersUpdated({groupID:e,groupCounterInfo:t}),s=!0),s}_onGroupCountersUpdated(e){const{groupID:r,groupCounterInfo:t}=e;t.forEach(e=>{const{type:t,groupCounterSeq:s,counterList:o=[]}=e;0!==t&&2!==t||(this._updateLocalGroupCounters({groupID:r,groupCounterSeq:s,counterList:o}),o.forEach(e=>{this._grpM.emitOEvt(xt,{groupID:r,key:e.key,value:e.value})})),1===t&&this._deleteLocalGroupCounters({groupID:r,groupCounterSeq:s,counterList:o})}),ht.l(this._n+"._onGroupCountersUpdated groupID:"+r)}initGroupCountersCache(e){var{groupID:e,avChatRoomKey:t}=e;this._groupCountersMap.set(e,{lastUpdateTime:0,groupCounterSeq:0,counters:new Map,avChatRoomKey:t}),ht.l(this._n+`.initGroupCountersCache groupID:${e} avChatRoomKey:`+t)}setGroupCounters(e){if(!this._grpM.canIUse(M.GRP_COUNTER))return this._grpM.noUse("setGroupCounters");const t=this._n+".setGroupCounters",{groupID:s,counters:o}=e,r=this._convertObjectToList(o),i=this._getLocalGroupCounters(s)["avChatRoomKey"],n=`groupID:${s} count:`+r.length,a=new es("setGroupCounters");return a.setMessage(n),ht.l(t+". "+n),this._updateGroupCounters({groupID:s,counterList:r,avChatRoomKey:i,mode:Ao}).then(e=>(a.end(),ht.l(t+" ok."),gt({counters:e}))).catch(e=>(a.setError(e).end(),ht.e(t+" failed. error:",e),Bt(e)))}increaseGroupCounter(e){var t="increaseGroupCounter";if(!this._grpM.canIUse(M.GRP_COUNTER))return this._grpM.noUse(t);const s=this._n+"."+t,{groupID:o,key:r,value:i}=e,n=this._getLocalGroupCounters(o)["avChatRoomKey"],a=`groupID:${o} key:${r} value:`+i,u=new es(t);return u.setMessage(a),ht.l(s+". "+a),this._updateGroupCounters({groupID:o,counterList:[{key:r,value:i}],avChatRoomKey:n,mode:To}).then(e=>(u.end(),ht.l(s+" ok."),gt({counters:e}))).catch(e=>(u.setError(e).end(),ht.e(s+" failed. error:",e),Bt(e)))}decreaseGroupCounter(e){var t="decreaseGroupCounter";if(!this._grpM.canIUse(M.GRP_COUNTER))return this._grpM.noUse(t);const s=this._n+"."+t,{groupID:o,key:r,value:i}=e,n=this._getLocalGroupCounters(o)["avChatRoomKey"],a=`groupID:${o} key:${r} value:`+i,u=new es(t);return u.setMessage(a),ht.l(s+". "+a),this._updateGroupCounters({groupID:o,counterList:[{key:r,value:i}],avChatRoomKey:n,mode:So}).then(e=>(u.end(),ht.l(s+" ok."),gt({counters:e}))).catch(e=>(u.setError(e).end(),ht.e(s+" failed. error:",e),Bt(e)))}getGroupCounters(e){if(!this._grpM.canIUse(M.GRP_COUNTER))return this._grpM.noUse("getGroupCounters");const t=this._n+".getGroupCounters",{groupID:s,keyList:o=[]}=e,{avChatRoomKey:r,lastUpdateTime:i}=this._getLocalGroupCounters(s),n=new es("getGroupCounters");if(n.setMessage("groupID:"+s),Date.now()-i>=this.EXPIRE_TIME)return this._getRemoteGroupCounters({groupID:s,avChatRoomKey:r}).then(e=>{n.setMoreMessage("from remote. count:"+e.length).end(),ht.l(t+" from remote. groupID:"+s);e=this._getLocalCounters(s,o);return gt({counters:e})}).catch(e=>(n.setError(e).end(),Bt(e)));n.setMoreMessage("from cache").end(),ht.l(t+" from cache. groupID:"+s);e=this._getLocalCounters(s,o);return Kt({counters:e})}_getRemoteGroupCounters(s){return this._grpM.req({P:Ns,data:{...s}}).then(e=>{var{counterList:e=[],groupCounterSeq:t}=e.data;return this._updateLocalGroupCounters({groupID:s.groupID,counterList:e,groupCounterSeq:t}),ht.l(this._n+"._getRemoteGroupCounters ok. groupID:"+s.groupID),e}).catch(e=>Bt(e))}_convertObjectToList(t){const s=[];return Object.keys(t).forEach(e=>{s.push({key:e,value:t[e]})}),s}_updateGroupCounters(e){const o=this._n+"._updateGroupCounters",{groupID:t,avChatRoomKey:s,mode:r}=e;return ht.l(o+`. groupID:${t} avChatRoomKey:${s} mode:`+r),this._grpM.req({P:qs,data:{...e}}).then(e=>{ht.l(o+" ok.");const{counterList:t=[]}=e.data,s={};return t.forEach(e=>{var{key:e,value:t}=e;s[e]=t}),s}).catch(e=>Bt(e))}_hasLocalGroupCounters(e){return this._groupCountersMap.has(e)}_getLocalGroupCounters(e){return this._hasLocalGroupCounters(e)||this.initGroupCountersCache({groupID:e}),this._groupCountersMap.get(e)}_updateLocalGroupCounters(s){const{groupID:e,counterList:t=[],groupCounterSeq:o}=s;if(this._hasLocalGroupCounters(e)){const{counters:s,avChatRoomKey:r,groupCounterSeq:i}=this._getLocalGroupCounters(e);0<o&&o<i||(t.forEach(e=>{var{key:e,value:t}=e;s.set(e,t)}),this._groupCountersMap.set(e,{lastUpdateTime:Date.now(),groupCounterSeq:o,counters:s,avChatRoomKey:r}))}}_deleteLocalGroupCounters(t){const{groupID:e,counterList:s=[],groupCounterSeq:o}=t;if(this._hasLocalGroupCounters(e)){const{counters:t,avChatRoomKey:r}=this._getLocalGroupCounters(e);s.forEach(e=>{t.delete(e.key)}),this._groupCountersMap.set(e,{lastUpdateTime:Date.now(),groupCounterSeq:o,counters:t,avChatRoomKey:r})}}_getLocalCounters(e,t){const s={};if(!this._hasLocalGroupCounters(e))return s;const o=this._getLocalGroupCounters(e)["counters"];if(0<t.length)t.forEach(e=>{o.has(e)&&(s[e]=o.get(e))});else for(const r of o.keys())s[r]=o.get(r);return s}reset(){this._groupCountersMap.clear(),this.EXPIRE_TIME=3e4}}class Po{constructor(e){var{manager:e,groupID:t,onInit:s,onSuccess:o,onFail:r}=e;this._n="Polling",this._manager=e,this._grpM=e._grpM,this._onInit=s,this._onSuccess=o,this._onFail=r,this._groupID=t,this._timeoutID=-1,this._isRunning=!1,this._proto=Cs}start(){var e=this._grpM.isLoggedIn();e||(this._proto=Gs),ht.l(`${this._n}.start pollingInterval:${this._manager.getPollingInterval()} isLoggedIn:`+e),this._isRunning=!0,this._request()}isRunning(){return this._isRunning}_request(){var e=this._onInit(this._groupID);this._grpM.req({P:this._proto,data:e}).then(e=>{this._onSuccess(this._groupID,e),this.isRunning()&&(-1<this._timeoutID&&clearTimeout(this._timeoutID),this._timeoutID=setTimeout(this._request.bind(this),this._manager.getPollingInterval()))}).catch(e=>{this._onFail(this._groupID,e),this.isRunning()&&(-1<this._timeoutID&&clearTimeout(this._timeoutID),this._timeoutID=setTimeout(this._request.bind(this),this._manager.MAX_POLLING_INTERVAL))})}stop(){ht.l(this._n+".stop"),-1<this._timeoutID&&(clearTimeout(this._timeoutID),this._timeoutID=-1),this._isRunning=!1}getPollingTimerID(){return this._timeoutID}}class Ro{constructor(e){this.MAX_LENGTH=e,this.map=new Map}set(e){if(this.map.size>=this.MAX_LENGTH){const e=this.map.entries().next().value[0];this.map.delete(e)}this.map.set(e,1)}has(e){return this.map.has(e)}delete(e){this.has(e)&&this.map.delete(e)}reset(){this.map.clear()}}const $o=["groupID","name","avatar","type","introduction","notification","ownerID","selfInfo","createTime","infoSequence","lastInfoTime","lastMessage","nextMessageSeq","memberNum","maxMemberNum","memberList","joinOption","groupCustomField","muteAllMembers","isSupportTopic","inviteOption","_lastRevokedTime"];class wo{constructor(e){this.groupID="",this.name="",this.avatar="",this.type="",this.introduction="",this.notification="",this.ownerID="",this.createTime="",this.infoSequence="",this.lastInfoTime="",this.selfInfo={messageRemindType:"",joinTime:"",nameCard:"",role:"",userID:"",memberCustomField:void 0,readedSequence:0,excludedUnreadSequenceList:void 0},this.lastMessage={lastTime:"",lastSequence:"",fromAccount:"",messageForShow:""},this.nextMessageSeq="",this.memberNum="",this.memberCount="",this.maxMemberNum="",this.maxMemberCount="",this.joinOption="",this.inviteOption="",this.groupCustomField=[],this.muteAllMembers=!1,this.isSupportTopic=!1,this._lastRevokedTime=0,this._initGroup(e)}set memberNum(e){}set maxMemberNum(e){}get memberNum(){return this.memberCount}get maxMemberNum(){return this.maxMemberCount}_initGroup(e){for(const t in e)$o.indexOf(t)<0||("selfInfo"!==t?("memberNum"===t&&(this.memberCount=e[t]),"maxMemberNum"===t&&(this.maxMemberCount=e[t]),"isSupportTopic"!==t?this[t]=e[t]:this.isSupportTopic=1===e[t]):this.updateSelfInfo(e[t]))}updateGroup(e){e.appid=void 0,e.grossTopicNextMsgSeq=void 0,e.selfInfo&&(e.selfInfo.grossTopicReadSeq=void 0);const t=JSON.parse(JSON.stringify(e));t.lastMsgTime&&(this.lastMessage.lastTime=t.lastMsgTime),Ke(t.muteAllMembers)||("On"===t.muteAllMembers?t.muteAllMembers=!0:t.muteAllMembers=!1),t.groupCustomField&&Qe(this.groupCustomField,t.groupCustomField),Ke(t.memberNum)||(this.memberCount=t.memberNum),Ke(t.maxMemberNum)||(this.maxMemberCount=t.maxMemberNum),Ke(t.isSupportTopic)||(this.isSupportTopic=xe(t.isSupportTopic)?1===t.isSupportTopic:t.isSupportTopic),We(this,t,["members","errorCode","lastMsgTime","groupCustomField","memberNum","maxMemberNum","isSupportTopic"]),je(t.members)&&0<t.members.length&&t.members.forEach(e=>{e.userID===this.selfInfo.userID&&We(this.selfInfo,e,["sequence"])})}updateSelfInfo({nameCard:e,joinTime:t,role:s,messageRemindType:o,readedSequence:r,excludedUnreadSequenceList:i}){e={nameCard:e,joinTime:t,role:s,messageRemindType:o,readedSequence:r,excludedUnreadSequenceList:i};We(this.selfInfo,{...e},[],["",null,void 0,0,NaN])}setSelfNameCard(e){this.selfInfo.nameCard=e}}const Eo={3:!0,4:!0,5:!0,6:!0,17:!0,20:!0,21:!0,100:!0};class Uo{constructor(e){this._grpM=e,this._n="AVChatRoomHandler",this._joinedGroupMap=new Map,this._pollingRequestInfoMap=new Map,this._pollingInstanceMap=new Map,this._seqSll=new Ro(200),this._IDSll=new Ro(100),this._reportMessageStackedCount=0,this._onlineMemberCountMap=new Map,this.DEFAULT_EXPIRE_TIME=60,this.DEFAULT_POLLING_INTERVAL=300,this.MAX_POLLING_INTERVAL=2e3,this._pollingInterval=this.DEFAULT_POLLING_INTERVAL,this.DEFAULT_POLLING_NO_MESSAGE_COUNT=20,this.DEFAULT_POLLING_INTERVAL_PLUS=2e3,this._pollingNoMessageCount=0,this._startBroadcastSeq=1,this._broadcastMessageIDMap=new Map,this.DEFAULT_POLLING_SIMPLIFIED_MSG=0}hasJoinedAVChatRoom(){let e=[];return 0<(e=0<this._joinedGroupMap.size?[...this._joinedGroupMap.values()].filter(e=>e.type===me):e).length}getJoinedLiveList(){let e=[];return e=0<this._joinedGroupMap.size?[...this._joinedGroupMap.values()].filter(e=>e.type===fe):e}checkJoinedAVChatRoomByID(e){return this._joinedGroupMap.has(e)}getJoinedAVChatRoom(){return 0<this._joinedGroupMap.size?[...this._joinedGroupMap.keys()]:[]}_updatedata(e){var t=this._pollingRequestInfoMap.get(e);return e===[...this._pollingInstanceMap.keys()][0]?{...t,startBroadcastSeq:this._startBroadcastSeq,simplifiedMessage:this.DEFAULT_POLLING_SIMPLIFIED_MSG}:{...t,simplifiedMessage:this.DEFAULT_POLLING_SIMPLIFIED_MSG}}_handleSuccess(e,t){const{key:s,nextSeq:o,rspMsgList:r,errorCode:i,nextBroadcastSeq:n,broadcastMessageList:a}=t.data;if(0!==i){const s=this._pollingRequestInfoMap.get(e),o=new es("longPollingAVError"),r=s?s.key+"-"+s.startSeq:"requestInfo is undefined";o.setMessage(`${e}-${r}-`+t.errorInfo).setCode(t.errorCode).end(!0)}else this.checkJoinedAVChatRoomByID(e)&&(Ve(s)&&xe(o)&&this._pollingRequestInfoMap.set(e,{key:s,startSeq:o}),xe(n)&&n>this._startBroadcastSeq&&(this._startBroadcastSeq=n),je(r)&&0<r.length?(r.forEach(e=>{e.to=e.groupID}),this.onMessage(r,e)):(this._pollingNoMessageCount+=1,this._pollingNoMessageCount===this.DEFAULT_POLLING_NO_MESSAGE_COUNT&&(this._pollingInterval=this.DEFAULT_POLLING_INTERVAL+this.DEFAULT_POLLING_INTERVAL_PLUS)),this._onBroadcastMessage(a))}_handleFailure(e,t){}onMessage(n,a){if(je(n)&&0!==n.length){let t=this._n+".onMessage",s=(a&&(t+=" groupID:"+a),0!==this._pollingNoMessageCount&&(this._pollingNoMessageCount=0,this._pollingInterval=this.DEFAULT_POLLING_INTERVAL),null);const h=[],l=this._get(o),c=this._get(p),m=n.length;1<m&&n.sort((e,t)=>e.sequence-t.sequence);var u=this._get(r).isUnlimitedAVChatRoom();let i=!1;if(ht.getLevel()<=0){const a=n.map(e=>e.sequence);ht.l(`${t} count:${a.length} sequenceList:`+a),a.length=0}for(let e=0;e<m;e++){const a=this.restoreMessageFromSimplified(n[e]);if(Eo[a.event]){if(6===a.event){if(this._grpM.isGroupAttributesUpdatedNotice(a))continue;if(this._grpM.isGroupCountersNotice(a))continue}if(20!==a.event)if(21!==a.event)if(100!==a.event){s=this.packMessage(a,a.event);const r=1===a.isModified;if(i=1===a.isHistoryMessage,!u){if(this._seqSll.has(s.sequence))continue;this._seqSll.set(s.sequence)}const p=this._IDSll.has(s.ID);if(p)ht.w(`${t} ID:${s.ID} has:`+p);else{this._IDSll.set(s.ID);let e=!1;if(!i&&this._isMessageSentByCurrentInstance(s)?r&&(e=!0,s.isModified=r,l.updateMsgIsModifiedProp(s)):e=!0,e){if(s.conversationType===le&&5===s.payload.operationType&&this._onGroupDismissed(s.payload.groupProfile.groupID),!i&&s.conversationType!==le){const n=s.conversationID.replace(ue,"");this._pollingInstanceMap.has(n)?this._grpM.isLoggedIn()&&c.addMessageSequence({key:Xt,message:s}):(s.type!==Z&&0<s.clientTime&&c.addMessageDelay(s.clientTime),c.addMessageSequence({key:zt,message:s}))}h.push(s)}}}else this.onRoomCustomData(a);else this._get(g).onMessageReactionNotify({event:21,dataList:a.elements.messageReactionNotifyList});else this.handleMessageRevokedNotice(a)}else ht.w(t+". unknown event:"+a.event)}if(0!==h.length){a=Ze(h);if(0<a.length&&this._grpM.emitOEvt(Nt,a),!i){const n=this.packConversationOption(h);0<n.length&&l.onNewMessage({conversationOptionsList:n,isInstantMessage:!0})}this._checkMessageStacked(h);a=st(h);0<a.length&&this._grpM.emitOEvt(qt,a),h.length=0}}}handleMessageRevokedNotice(e){const{groupID:r,elements:{revokeMsgList:t},revokerInfo:i}=e,n=[];t.forEach(e=>{var{tinyID:e,clientTime:t,random:s,sequence:o}=e,e={conversationID:""+ue+r,ID:e+`-${t}-`+s,revoker:i.revoker,revokeReason:i.reason||"",revokerInfo:{userID:i.revoker,nick:"",avatar:""},sequence:o};n.push(e)}),0!==n.length&&this._get(o).updateRevokerInfo(n).then(e=>{this._grpM.emitOEvt(kt,e)})}isBroadcastOrNormal(e){return 3===e||17===e}isGroupTip(e){return 4===e||6===e}isGroupSystemNotice(e){return 5===e}restoreGroupTipElements(e={}){const{operatorInfo:t={},operatorID:s,userIDList:o=[],operationType:r}=e;xe(e.groupJoinType)||1!==r&&2!==r||(e.groupJoinType=2===r?0:1);var{userID:i=s,avatar:n="",nick:a=""}=t,i=(e.operatorInfo={userID:i,avatar:n,nick:a},o.map(e=>({userID:e})));return e.memberInfoList=e.memberInfoList||i,e}restoreMessageFromSimplified(s){const e=s["event"];if(this.isBroadcastOrNormal(e)&&(s.cloudCustomData=s.cloudCustomData||"",s.elements=s.elements.map(e=>{var t;return e.type===te&&({content:t={}}=e,e.content={data:"",description:"",extension:"",...t}),e})),(this.isGroupTip(e)||this.isGroupSystemNotice(e))&&(s.from=s.from||"@TIM#SYSTEM"),this.isGroupTip(e)){s.elements=this.restoreGroupTipElements(s.elements);const{elements:e={}}=s,{operationType:t,operatorInfo:r={}}=e;if(1===t){const s=[{userID:r.userID}];e.memberInfoList=e.memberInfoList||s}}if(this.isGroupSystemNotice(e)){let{memberInfoList:e,operatorInfo:t={}}=s.elements;e=e||t,s.elements.memberInfoList={userID:s.elements.operatorID,avatar:"",nick:"",...e},s.elements={authentication:"",remarkInfo:"",messageKey:1e3*s.time,...s.elements};var o=Object.keys(s.elements).filter(e=>"operatorInfo"!==e).reduce((e,t)=>({...e,[t]:s.elements[t]}),{});s.elements=o}return s}_onGroupDismissed(e){ht.l(this._n+"._onGroupDismissed groupID:"+e),this._grpM.deleteLocalGroupAndConversation(e),this.reset(e)}_checkMessageStacked(e){var t="MessageStacked",e=e.length;100<=e&&(this._grpM.warn(t,e),this._reportMessageStackedCount<5)&&(new es(t).setMessage(`count:${e} groupID:`+[...this._joinedGroupMap.keys()]).setLevel("warning").end(),this._reportMessageStackedCount+=1)}_isMessageSentByCurrentInstance(e){return!!this._get(o).isMessageSentByCurrentInstance(e)}packMessage(e,t){e.currentUser=this._grpM.getMyUserID(),e.conversationType=5===t?le:ue,e.isSystemMessage=!!e.isSystemMessage;const s=new fo(e),o=this.packElements(e,t),r=this._grpM.getFileDownloadProxy(),i=this._grpM.getDowloadFileAuthKey(),a=this._get(n).getFileDNList();return s.setElement(o,r,i,a),s}packElements(e,t){return 4===t||6===t?(this._updateMemberCountByGroupTips(e),{type:Z,content:{...e.elements,groupProfile:e.groupProfile}}):5===t?{type:ee,content:{...e.elements,groupProfile:{...e.groupProfile,groupID:e.groupID}}}:e.elements}packConversationOption(t){const s=new Map;for(let e=0;e<t.length;e++){var o=t[e],r=o.conversationID;if(s.has(r)){const t=s.get(r);"in"===(t.lastMessage=o).flow&&t.unreadCount++}else s.set(r,{conversationID:o.conversationID,unreadCount:"out"===o.flow?0:1,type:o.conversationType,subType:o.conversationSubType,lastMessage:o})}return[...s.values()]}_updateMemberCountByGroupTips(e){var{groupProfile:{groupID:e},elements:{onlineMemberInfo:t}}=e;if(Ne(t))return;const{onlineMemberNum:s=0,expireTime:o=this.DEFAULT_EXPIRE_TIME}=t,r=this._onlineMemberCountMap.get(e)||{},i=Date.now();Ne(r)?Object.assign(r,{lastReqTime:0,lastSyncTime:0,latestUpdateTime:i,memberCount:s,expireTime:o}):(r.latestUpdateTime=i,r.memberCount=s),this._onlineMemberCountMap.set(e,r)}_onBroadcastMessage(s){if(!Ne(s)){const o=[],r=s.length;let t=null;for(let e=0;e<r;e++){const r=this.restoreMessageFromSimplified(s[e]);Eo[r.event]?((t=this.packMessage(r,r.event)).isBroadcastMessage=!0,this._broadcastMessageIDMap.has(t.ID)||(o.push(t),this._broadcastMessageIDMap.set(t.ID,1))):ht.w(this._n+"._onBroadcastMessage unknown event:"+r.event)}0<o.length&&this._grpM.emitOEvt(qt,o)}}start(e){if(this._pollingInstanceMap.has(e)){const t=this._pollingInstanceMap.get(e);void(t.isRunning()||t.start())}else{const t=new Po({manager:this,groupID:e,onInit:this._updatedata.bind(this),onSuccess:this._handleSuccess.bind(this),onFail:this._handleFailure.bind(this)});t.start(),this._pollingInstanceMap.set(e,t),ht.l(this._n+".start groupID:"+e)}}handleJoinResult(o){return this._preCheck(o.group).then(()=>{var{longPollingKey:e,group:t}=o,s=t.groupID;return this._joinedGroupMap.set(s,t),this._grpM.updateGroupMap([t]),this._grpM.deleteUnjoinedAVChatRoom(s),this._grpM.emitGroupListUpdate(!0,!1),Ke(e)?Kt({status:$e,group:t}):Promise.resolve()})}startRunLoop(r){return this.handleJoinResult(r).then(()=>{var{longPollingKey:e,group:t,startSeq:s=0}=r,o=t.groupID;return this._pollingRequestInfoMap.set(o,{key:e,startSeq:s}),this.start(o),this._grpM.isLoggedIn()?Kt({status:$e,group:t}):Kt({status:$e})})}_preCheck(e){if(this._get(r).isUnlimitedAVChatRoom())return Promise.resolve();if(!this.hasJoinedAVChatRoom())return Promise.resolve();if(e.type===fe)return Promise.resolve();var[e,t]=this._joinedGroupMap.entries().next().value;if(this._grpM.isLoggedIn()){if(t.selfInfo.role!==Ie&&t.ownerID!==this._grpM.getMyUserID())return this._grpM.quitGroup(e);this._grpM.deleteLocalGroupAndConversation(e)}else this._grpM.deleteLocalGroupAndConversation(e);return this.reset(e),Promise.resolve()}joinWithoutAuth(e){const s=e["groupID"],r=this._n+".joinWithoutAuth",n=new es("joinWithoutAuth");return this._grpM.req({P:us,data:e}).then(({data:{longPollingKey:e}})=>{if(n.setMessage(`groupID:${s} longPollingKey:`+e).end(!0),Ke(e))return Bt({code:bt});ht.l(r+" ok. groupID:"+s),this._get(o).setCompleted(""+ue+s);var t=new wo({groupID:s});return this.startRunLoop({group:t,longPollingKey:e}),gt({status:$e})}).catch(e=>(ht.e(r+` failed. groupID:${s} error:`,e),n.setError(e).setMessage("groupID:"+s).end(!0),Bt(e))).finally(()=>{this._grpM.get(i).reportAtOnce()})}getGroupOnlineMemberCount(e){const t=this._onlineMemberCountMap.get(e)||{},s=Date.now();return Ne(t)||s-t.lastSyncTime>1e3*t.expireTime&&1e4<s-t.latestUpdateTime&&3e3<s-t.lastReqTime?(t.lastReqTime=s,this._onlineMemberCountMap.set(e,t),this._getGroupOnlineMemberCount(e).then(e=>gt({memberCount:e.memberCount})).catch(e=>Bt(e))):Kt({memberCount:t.memberCount})}_getGroupOnlineMemberCount(r){const i=this._n+"._getGroupOnlineMemberCount",t=new es("_getGroupOnlineMemberCount");return this._grpM.requestOnlineCount(r).then(e=>{const t=this._onlineMemberCountMap.get(r)||{},{memberCount:s=0,expireTime:o=this.DEFAULT_EXPIRE_TIME}=e.data;ht.l(i+` ok. groupID:${r} memberCount:${s} expireTime:`+o);e=Date.now();return Ne(t)&&(t.lastReqTime=e),this._onlineMemberCountMap.set(r,Object.assign(t,{lastSyncTime:e,latestUpdateTime:e,memberCount:s,expireTime:o})),{memberCount:s}}).catch(e=>(ht.w(i+" failed. error:",e),t.setCode(e.code).setMessage(`groupID:${r} error:`+JSON.stringify(e)).end(),Promise.reject(e)))}_get(e){return this._grpM.get(e)}setPollingInterval(e){Ke(e)||(xe(e)?this._pollingInterval=this.DEFAULT_POLLING_INTERVAL=e:this._pollingInterval=this.DEFAULT_POLLING_INTERVAL=parseInt(e,10))}setPollingIntervalPlus(e){Ke(e)||(xe(e)?this.DEFAULT_POLLING_INTERVAL_PLUS=e:this.DEFAULT_POLLING_INTERVAL_PLUS=parseInt(e,10))}setPollingNoMessageCount(e){Ke(e)||(xe(e)?this.DEFAULT_POLLING_NO_MESSAGE_COUNT=e:this.DEFAULT_POLLING_NO_MESSAGE_COUNT=parseInt(e,10))}setPollingSimplifiedMessage(e){Ke(e)||"0"!==e&&"1"!==e||(this.DEFAULT_POLLING_SIMPLIFIED_MSG=parseInt(e,10))}getPollingInterval(){return this._pollingInterval}onAVChatRoomMemberBanned(e){e=e.payload.groupProfile.groupID;ht.l(this._n+".onAVChatRoomMemberBanned groupID:"+e),this._grpM.deleteLocalGroupAndConversation(e),this.reset(e)}restartPolling(){ht.l(this._n+".restartPolling count:"+this._pollingInstanceMap.size);for(const e of this._pollingInstanceMap.values())e.stop(),e.start()}getPollingTimerID(e){if(!this._pollingInstanceMap.has(e))return-1;var t=this._pollingInstanceMap.get(e).getPollingTimerID();return ht.l(this._n+`.getPollingTimerID groupID:${e} timerID:`+t),t}hasPollingInstance(e){return this._pollingInstanceMap.has(e)}onRoomCustomData(e){var{groupID:e,sequence:t,time:s,elements:o}=e,o=o&&o.content;this._get(h).onRoomCustomDataReceived(o),ht.l(this._n+`.onRoomCustomData groupID:${e} sequence:${t} time:${s} data:`+o)}reset(e){if(e){ht.l(this._n+".reset groupID:"+e);const t=this._pollingInstanceMap.get(e);t&&t.stop(),this._pollingInstanceMap.delete(e),this._joinedGroupMap.delete(e),this._pollingRequestInfoMap.delete(e),this._onlineMemberCountMap.delete(e)}else{ht.l(this._n+".reset all");for(const e of this._pollingInstanceMap.values())e.stop();this._pollingInstanceMap.clear(),this._joinedGroupMap.clear(),this._pollingRequestInfoMap.clear(),this._onlineMemberCountMap.clear(),this._broadcastMessageIDMap.clear()}this._seqSll.reset(),this._IDSll.reset(),this._reportMessageStackedCount=0,this._pollingInterval=this.DEFAULT_POLLING_INTERVAL=300,this.DEFAULT_POLLING_NO_MESSAGE_COUNT=20,this.DEFAULT_POLLING_INTERVAL_PLUS=2e3,this._pollingNoMessageCount=0}}class qo{constructor(e){this.userID="",this.avatar="",this.nick="",this.role="",this.joinTime="",this.lastSendMsgTime="",this.nameCard="",this.muteUntil=0,this.memberCustomField=[],this.isOnline=!1,this.updateMember(e)}updateMember(e){Ke(e.onlineStatus)||(this.isOnline="Online"===e.onlineStatus);var t=[null,void 0,"",0,NaN];e.memberCustomField&&Qe(this.memberCustomField,e.memberCustomField),We(this,e,["memberCustomField","marks","onlineStatus"],t)}updateRole(e){["Owner","Admin","Member"].indexOf(e)<0||(this.role=e)}updateMuteUntil(e){Ke(e)||(this.muteUntil=Math.floor((Date.now()+1e3*e)/1e3))}updateNameCard(e){Ke(e)||(this.nameCard=e)}updateMemberCustomField(e){e&&Qe(this.memberCustomField,e)}}class No{constructor(e){this._grpM=e,this._n="GroupMemberHandler",this.groupMemberListMap=new Map,this.DEFAULT_MEMBER_INFO_FILTER=["Role","JoinTime","NameCard","ShutUpUntil","OnlineStatus"],this._grpM.getIEmitInst().on(Jt.PROFILE_UPDATED,this._onProfileUpdated,this)}_onProfileUpdated({data:t}){for(let e=0;e<t.length;e++){const s=t[e];this.groupMemberListMap.forEach(e=>{e.has(s.userID)&&e.get(s.userID).updateMember({nick:s.nick,avatar:s.avatar})})}}deleteGroupMemberList(e){this.groupMemberListMap.delete(e)}getGroupMemberList({groupID:r,role:e,offset:s=0,count:o=15,filter:l}){const i=this._n+".getGroupMemberList",n=this._grpM.hasLocalGroup(r);if(ht.l(i+` groupID:${r} role:${e} offset:${s} count:${o} hasLocalGroup:`+n),!n)return Kt({memberList:[],offset:0});if(this._grpM.getLocalGroupProfile(r).type===me){if(this._grpM.canIUse(M.AV_MBR_LIST))return this._getAVChatRoomMemberList({groupID:r,offset:s,filter:l});this._grpM.warn("LiveOnlineMember")}let a;e!==Me&&e!==Ie&&e!==ye||(a=e);const g=new es("getGroupMemberList");let u=0;const p={groupID:r,limit:100<o?100:o,memberRoleFilter:a?[a]:void 0,memberInfoFilter:this.DEFAULT_MEMBER_INFO_FILTER};rt({groupID:r})?p.next=""+s:(p.offset=s,u=s+o);let h=[];return this._grpM.req({P:ks,data:p}).then(({data:{members:e,memberNum:s,next:o}})=>(Ke(o)||(u=Ne(o)?0:o),je(e)&&0!==e.length?(this._grpM.hasLocalGroup(r)&&(this._grpM.getLocalGroupProfile(r).memberNum=s),h=this._updateLocalGroupMemberMap(r,e),this._grpM.get(t).getUserProfile({userIDList:e.map(e=>e.userID),tagList:[Re.NICK,Re.AVATAR]})):(u=0,Promise.resolve([])))).then(e=>{const t=e["data"];if(!je(t)||0===t.length)return Kt({memberList:[],offset:u});e=t.map(e=>({userID:e.userID,nick:e.nick,avatar:e.avatar}));return this._updateLocalGroupMemberMap(r,e),h.length<o&&(u=0),g.setMessage(`groupID:${r} offset:${s} count:`+o).end(),ht.l(i+" ok."),gt({memberList:h,offset:u})}).catch(e=>(g.setError(e).end(),ht.e(i+" failed. error:",e),Bt(e)))}_getAVChatRoomMemberList({groupID:o,offset:e,filter:t}){const r=this._n+"._getAVChatRoomMemberList",i=new es("_getAVChatRoomMemberList");return i.setMessage(`groupID:${o} offset:${e} filter:`+t),this._grpM.req({P:Os,data:{groupID:o,offset:e,filter:t}}).then(e=>{const{memberList:t=[],offset:s=0}=e.data;i.end(),ht.l(r+` ok. member count:${t.length}, next request timestamp:`+s);e=t.map(e=>({...e,onlineStatus:"Online"})),e=this._updateLocalGroupMemberMap(o,e);return gt({memberList:e,offset:s})}).catch(e=>(i.setError(e).end(),ht.e(r+" failed. error:",e),Bt(e)))}getGroupMemberProfile(e){var s="getGroupMemberProfile",o=this._n+"."+s;let r="groupID:"+e.groupID;5<e.userIDList.length?r+=" userIDList.length:"+e.userIDList.length:r+=" userIDList:"+e.userIDList,ht.l(o+" "+r),50<e.userIDList.length&&(e.userIDList=e.userIDList.slice(0,50));const{groupID:i,userIDList:n}=e,a=this._grpM.getLocalGroupProfile(i);if(a&&ot(a.type)){const e=Rt;return Bt({code:e,message:this._grpM.getErrMsg(e,s)})}const u=new es(s);return u.setMessage(r),this._getGroupMemberProfileAdvance({...e,userIDList:n}).then(e=>{const s=e.data["members"];return je(s)&&0!==s.length?(this._updateLocalGroupMemberMap(i,s),this._grpM.get(t).getUserProfile({userIDList:s.map(({userID:e})=>e),tagList:[Re.NICK,Re.AVATAR]})):Kt([])}).then(e=>{e=e.data.map(({userID:e,nick:t,avatar:s})=>({userID:e,nick:t,avatar:s})),this._updateLocalGroupMemberMap(i,e),e=n.filter(e=>this.hasLocalGroupMember(i,e)).map(e=>this.getLocalGroupMemberInfo(i,e));return u.end(),gt({memberList:e})})}addGroupMember(i){const n=this._n+".addGroupMember",e=i["groupID"],a=this._grpM.getLocalGroupProfile(e),t=a["type"],u=new es("addGroupMember");if(u.setMessage(`groupID:${e} groupType:`+t),ot(t)){const i=new mt({code:Gt});return u.setError(i).end(),Bt(i)}return i.userIDList=i.userIDList.map(e=>({userID:e})),ht.l(n+" groupID:"+e),this._grpM.req({P:xs,data:i}).then(({data:{members:e}})=>{ht.l(n+" ok");var t=e.filter(e=>1===e.result).map(e=>e.userID),s=e.filter(e=>0===e.result).map(e=>e.userID),o=e.filter(e=>2===e.result).map(e=>e.userID),e=e.filter(e=>4===e.result).map(e=>e.userID),r=`groupID:${i.groupID}, successUserIDList:${t}, failureUserIDList:${s}, existedUserIDList:${o}, overLimitUserIDList:`+e;return u.setMoreMessage(r).end(),0===t.length?gt({successUserIDList:t,failureUserIDList:s,existedUserIDList:o,overLimitUserIDList:e}):(this._updateConvGroupProfile(a),gt({successUserIDList:t,failureUserIDList:s,existedUserIDList:o,overLimitUserIDList:e,group:a}))}).catch(e=>(u.setError(e).end(),ht.e(n+" failed. error:",e),Bt(e)))}deleteGroupMember(e){const t=this._n+".deleteGroupMember",{groupID:s,userIDList:o}=e,r=this._grpM.getLocalGroupProfile(s);if(Ke(r))return Bt({code:Mt});if(ot(r.type))return this._grpM.canIUse(M.AV_BAN_MBR)?this._banAVChatRoomMember(e):this._grpM.noUse("deleteGroupMember");var i=`groupID:${s} `+(5<o.length?"userIDList.length:"+o.length:"userIDList:"+o);ht.l(t+` groupID:${s} userIDList:`,o);const n=new es("deleteGroupMember");return n.setMessage(i),this._grpM.req({P:Vs,data:e}).then(()=>(n.end(),ht.l(t+" ok"),this._updateConvGroupProfile(r),this.deleteLocalGroupMembers(s,o),gt({group:r,userIDList:o}))).catch(e=>(n.setError(e).end(),ht.e(t+" failed. error:",e),Bt(e)))}_updateConvGroupProfile(e){this._grpM.get(o).updateConvGroupProfile([e])}_banAVChatRoomMember(e){const t=this._n+"._banAVChatRoomMember",{groupID:s,userIDList:o}=e,r=`groupID:${s} `+(5<o.length?"userIDList.length:"+o.length:"userIDList:"+o),i=new es("_banAVChatRoomMember"),n=(i.setMessage(r),ht.l(t+` groupID:${s} userIDList:`,o),this._grpM.getLocalGroupProfile(s));return Ke(e.duration)||0===e.duration?Bt({code:Pt}):this._grpM.req({P:Hs,data:e}).then(()=>(i.end(),ht.l(t+" ok"),this.deleteLocalGroupMembers(s,o),gt({group:n,userIDList:o}))).catch(e=>(i.setError(e).end(),ht.e(t+" failed. error:",e),Bt(e)))}setGroupMemberMuteTime(e){const{groupID:s,userID:t,muteTime:o}=e,r=this._n+".setGroupMemberMuteTime";if(t===this._grpM.getMyUserID())return Bt({code:vt});e=`groupID:${s} userID:${t} muteTime:`+o;ht.l(r+" "+e);const i=new es("setGroupMemberMuteTime");return i.setMessage(e),this.modifyGroupMemberInfo({groupID:s,userID:t,muteTime:o}).then(e=>{i.end(),ht.l(r+" ok");var t=this._grpM.getLocalGroupProfile(s);return gt({group:t,member:e})}).catch(e=>(i.setError(e).end(),ht.e(r+" failed. error:",e),Bt(e)))}setGroupMemberRole(e){const t=this._n+".setGroupMemberRole",{groupID:s,userID:o,role:r}=e,i=`groupID:${s} userID:${o} role:`+r,n=this._grpM.getLocalGroupProfile(s);if(n&&n.selfInfo.role!==Ie)return Bt({code:At});const a=[Me,ye];if(rt({groupID:s})&&a.push(De),a.indexOf(r)<0)return Bt({code:Tt});if(o===this._grpM.getMyUserID())return Bt({code:St});const u=new es("setGroupMemberRole");return u.setMessage(i),ht.l(t+" "+i),this.modifyGroupMemberInfo({groupID:s,userID:o,role:r}).then(e=>(u.end(),ht.l(t+" ok"),gt({group:n,member:e}))).catch(e=>(u.setError(e).end(),ht.e(t+" failed. error:",e),Bt(e)))}_filterProfanity(e,t){const s=this._grpM.get(c);if(!s)return!0;var{isAllowedToSend:o,modifiedText:r}=s.filterText(t[e],D);return!0===o&&(t[e]=r,!0)}setGroupMemberNameCard(e){const t="setGroupMemberNameCard",s=this._n+"."+t;if(e.nameCard&&!1===this._filterProfanity("nameCard",e))return Bt({code:Ut});const{groupID:o,userID:r=this._grpM.getMyUserID(),nameCard:i}=e,n=`groupID:${o} userID:${r} nameCard:`+i;ht.l(s+" "+n);e=this._grpM.getLocalGroupProfile(o);if(e&&ot(e.type)){const e=Rt;return Bt({code:e,message:this._grpM.getErrMsg(e,t)})}const a=new es(t);return a.setMessage(n),this.modifyGroupMemberInfo({groupID:o,userID:r,nameCard:i}).then(e=>{ht.l(s+" ok"),a.end();const t=this._grpM.getLocalGroupProfile(o);return r===this._grpM.getMyUserID()&&t&&t.setSelfNameCard(i),gt({group:t,member:e})}).catch(e=>(a.setError(e).end(),ht.e(s+" failed. error:",e),Bt(e)))}setGroupMemberCustomField(e){const t="setGroupMemberCustomField",s=this._n+"."+t,{groupID:o,userID:r=this._grpM.getMyUserID(),memberCustomField:i}=e,n=`groupID:${o} userID:${r} memberCustomField:`+JSON.stringify(i);ht.l(s+" "+n);e=this._grpM.getLocalGroupProfile(o);if(e&&ot(e.type)){const e=Rt;return Bt({code:e,message:this._grpM.getErrMsg(e,t)})}const a=new es(t);return a.setMessage(n),this.modifyGroupMemberInfo({groupID:o,userID:r,memberCustomField:i}).then(e=>{a.end(),ht.l(s+" ok");var t=this._grpM.getLocalGroupProfile(o);return gt({group:t,member:e})}).catch(e=>(a.setError(e).end(),ht.e(s+" failed. error:",e),Bt(e)))}modifyGroupMemberInfo(t){let{groupID:s,userID:o}=t,e=void 0;return it(s)&&(s=nt(e=s)),this._grpM.req({P:js,data:{...t,groupID:s,topicID:e}}).then(()=>{if(this.hasLocalGroupMember(s,o)){const e=this.getLocalGroupMemberInfo(s,o);return Ke(t.muteTime)||e.updateMuteUntil(t.muteTime),Ke(t.role)||e.updateRole(t.role),Ke(t.nameCard)||e.updateNameCard(t.nameCard),Ke(t.memberCustomField)||e.updateMemberCustomField(t.memberCustomField),e}const e=this._grpM.getLocalGroupProfile(s);if(e&&!ot(e.type))return this.getGroupMemberProfile({groupID:s,userIDList:[o]}).then(({data:{memberList:[e]}})=>e)})}markGroupMemberList(h){const r=this._n+".markGroupMemberList",{groupID:e,markType:t,enableMark:s,userIDList:i=[]}=h,o=`groupID:${e} markType:${t} enableMark:${s} userIDList count:`+i.length;ht.l(r+" "+o);let n=2;const a=[];!0===s&&(n=1);let u=[...i];500<i.length&&(u=i.slice(0,500),ht.w(r+" "+"the length of userIDList cannot exceed 500")),u.forEach(e=>{a.push({userID:e,markType:[t]})}),u=null;const p=new es("markGroupMemberList");return p.setMessage(o),this._grpM.req({P:Ks,data:{groupID:e,operationType:n,memberList:a}}).then(e=>{const{memberList:t=[]}=e.data,s=[],o=[];t.length===i.length?s.push(...i):(t.forEach(e=>{s.push(e.userID)}),i.forEach(e=>{s.includes(e)||o.push(e)}));e=`success count:${s.length} fail count:`+o.length;return p.setMessage(e).end(),ht.l(r+" ok. "+e),gt({successUserIDList:s,failureUserIDList:o})}).catch(e=>(p.setError(e).end(),ht.e(r+" failed. error:",e),Bt(e)))}_getGroupMemberProfileAdvance(e){return this._grpM.req({P:Fs,data:{...e,memberInfoFilter:e.memberInfoFilter||this.DEFAULT_MEMBER_INFO_FILTER}})}_updateLocalGroupMemberMap(t,e){return je(e)&&0!==e.length?e.map(e=>(this.hasLocalGroupMember(t,e.userID)?this.getLocalGroupMemberInfo(t,e.userID).updateMember(e):this.setLocalGroupMember(t,new qo(e)),this.getLocalGroupMemberInfo(t,e.userID))):[]}deleteLocalGroupMembers(e,t){const s=this.groupMemberListMap.get(e);s&&t.forEach(e=>{s.delete(e)})}getLocalGroupMemberInfo(e,t){return this.groupMemberListMap.has(e)?this.groupMemberListMap.get(e).get(t):null}setLocalGroupMember(e,t){this.groupMemberListMap.has(e)?this.groupMemberListMap.get(e).set(t.userID,t):(t=(new Map).set(t.userID,t),this.groupMemberListMap.set(e,t))}getLocalGroupMemberList(e){return this.groupMemberListMap.get(e)}hasLocalGroupMember(e,t){return this.groupMemberListMap.has(e)&&this.groupMemberListMap.get(e).has(t)}hasLocalGroupMemberMap(e){return this.groupMemberListMap.has(e)}reset(){this.groupMemberListMap.clear()}}function ko(e){var t=e.lastIndexOf(".");return-1===t?e:e.slice(0,t)}function Oo(e){const{androidInfo:t={},androidOPPOChannelID:s=""}=e,o=t.OPPOChannelID||s,{sound:r="",FCMChannelID:i="",...n}=t;return{...n,Sound:ko(r),OPPOChannelID:o,GoogleChannelID:i}}function Fo(e){var{apnsInfo:e={},ignoreIOSBadge:t=!1,disableVoipPush:s}=e,t=!0===e.ignoreIOSBadge||!0===t?1:0;let o=void 0;return Ke(s)||(o=!1===s?1:0),Ke(e.disableVoipPush)||(o=!1===e.disableVoipPush?1:0),{...e,badgeMode:t,isVoipPush:o}}function xo(e){if(He(e))return{pushFlag:!0===e.disablePush?1:0,title:e.title||"",desc:e.description||"",ext:e.extension||"",apnsInfo:Fo(e),androidInfo:Oo(e)}}const Vo=1,Ho=15,jo=[17,18,20];class Ko{constructor(e){this._grpM=e,this._n="GroupSystemNoticeHandler",this.pendencyMap=new Map}onNewGroupSystemNotice(e){var{dataList:e,isSyncingEnded:t,isInstantMessage:s}=e,{eventDataList:e,result:r}=(ht.d(this._n+".onReceiveSystemNotice count:"+e.length),this._assembly({notifiesList:e,isInstantMessage:s}));0<e.length&&(this._grpM.get(o).onNewMessage({conversationOptionsList:e,isInstantMessage:s}),this._onReceivedGroupSystemNotice({result:r,isInstantMessage:s})),s?0<r.length&&this._grpM.emitOEvt(qt,r):!0===t&&this._clearGroupSystemNotice()}_assembly({notifiesList:e,isInstantMessage:l}){let t=null;const s=e.length;let r=0;const i=[],n={conversationID:le,unreadCount:0,type:le,subType:null,lastMessage:null};for(r=0;r<s;r++){const s=e[r],{groupProfile:{communityType:a=0,topicID:u},elements:{topicIDList:p,operationType:h}}=s;if(!(2!==a||Ne(u)&&Ne(p))){if(jo.includes(h)){this._handleTopicSystemNotice(s);continue}Ne(u)||(s.to=u)}s.elements.operationType!==Ho&&(s.currentUser=this._grpM.getMyUserID(),s.conversationType=le,s.conversationID=le,(t=new fo(s)).setElement({type:ee,content:{...s.elements,groupProfile:{...s.groupProfile}}}),t.isSystemMessage=!0,(1===t.sequence&&1===t.random||2===t.sequence&&2===t.random)&&(t.sequence=ze(),t.random=ze(),t.generateMessageID(),ht.l(this._n+"._assembly regenerate ID:"+t.ID)),this._grpM.get(o).pushIntoNoticeResult(i,t)&&(l?n.unreadCount++:t.setIsRead(!0),n.subType=t.conversationSubType))}return n.lastMessage=i[i.length-1],{eventDataList:0<i.length?[n]:[],result:i}}_clearGroupSystemNotice(){this._getPendencyList().then(e=>{e.forEach(e=>{this.pendencyMap.set(`${e.from}_${e.groupID}_`+e.to,e)});const t=this._grpM.get(o).getLocalMessageList(le),i=[];t.forEach(e=>{const{operatorID:t,operationType:s,groupProfile:o}=e.payload;if(s===Vo){const s=`${t}_${o.groupID}_`+o.to,r=this.pendencyMap.get(s);r&&xe(r.handled)&&0!==r.handled&&i.push(e)}}),this.deleteGroupSystemNotice({messageList:i})})}deleteGroupSystemNotice(e){const s=this._n+".deleteGroupSystemNotice";return je(e.messageList)&&0!==e.messageList.length?(ht.l(s+" "+e.messageList.map(e=>e.ID)),this._grpM.req({P:Ls,data:{messageListToDelete:e.messageList.map(e=>({from:le,messageSeq:e.clientSequence,messageRandom:e.random}))}}).then(()=>{ht.l(s+" ok");const t=this._grpM.get(o);return e.messageList.forEach(e=>{t.deleteLocalMessage(e)}),gt()}).catch(e=>(ht.e(s+" error:",e),Bt(e)))):Kt()}_getPendencyList(e={}){var{type:e,startTime:t=0,limit:s=20}=e;return this._grpM.req({P:Ds,data:{type:e,startTime:t,limit:s,handleAccount:this._grpM.getMyUserID()}}).then(e=>{const t=e.data.pendencyList;return 0!==e.data.nextStartTime?this._getPendencyList({startTime:e.data.nextStartTime}).then(e=>[...t,...e]):t})}getGroupApplicationList(){return this._getPendencyList().then(t=>this._getPendencyList({type:de}).then(e=>(t.push(...e),this._handlePendencyResult(t))).catch(e=>this._handlePendencyResult(t)))}_handlePendencyResult(e){const t=[];return e.forEach(e=>{this.pendencyMap.set(`${e.from}_${e.groupID}_`+e.to,e),0===e.handled&&t.push({applicant:e.from,applicantNick:e.fromUserNickName,groupName:e.groupName,groupID:e.groupID,authentication:e.authentication,messageKey:e.time,applicationType:e.applicationType,userID:e.userID,note:e.note})}),Kt({applicationList:t})}_onReceivedGroupSystemNotice({result:e,isInstantMessage:t}){t&&e.forEach(e=>{switch(e.payload.operationType){case 1:break;case 2:this._onApplyJoinGroup(e);break;case 3:break;case 4:this._onMemberKicked(e);break;case 5:this._onGroupDismissed(e);break;case 6:break;case 7:this._onInviteGroup(e);break;case 8:this._onQuitGroup(e);break;case 9:this._onSetManager(e);break;case 10:this._onDeleteManager(e);break;case 11:case 12:case 15:break;case 20:this._onMessageRemindTypeSynced(e);break;case 21:this._grpM.onAVChatRoomMemberBanned(e)}})}_onApplyJoinGroup(e){var{groupID:e,groupType:t}=e.payload.groupProfile,s=this._grpM.hasLocalGroup(e);ht.l(this._n+`._onApplyJoinGroup groupID:${e} groupType:${t} hasGroup:`+s),s||ot(t)||this._grpM.getGroupProfile({groupID:e}).then(({data:{group:e}})=>{e&&(this._grpM.updateGroupMap([e]),e=!e.isSupportTopic,this._grpM.emitGroupListUpdate(!0,e))})}_onMemberKicked(e){e=e.payload.groupProfile.groupID;this._grpM.hasLocalGroup(e)&&this._grpM.deleteLocalGroupAndConversation(e)}_onGroupDismissed(e){e=e.payload.groupProfile.groupID;this._grpM.hasLocalGroup(e)&&this._grpM.deleteLocalGroupAndConversation(e);const t=this._grpM["_AVChatRoomHandler"];t&&t.checkJoinedAVChatRoomByID(e)&&t.reset(e)}_onInviteGroup(e){const t=e.payload.groupProfile.groupID,s=this._grpM.hasLocalGroup(t);ht.l(`${this._n}._onInviteGroup groupID:${t} hasGroup:`+s),this._grpM.getGroupProfile({groupID:t}).then(()=>{this._grpM.emitGroupListUpdate(),this._grpM.get(o).pullMsgOnInvite(""+ue+t)})}_onQuitGroup(e){var{groupID:e,groupType:t}=e.payload.groupProfile,s=this._grpM.hasLocalGroup(e);ht.l(this._n+`._onQuitGroup groupID:${e} groupType:${t} hasGroup:`+s),s&&this._grpM.deleteLocalGroupAndConversation(e)}_onSetManager(e){const{to:t,groupID:s}=e.payload.groupProfile,o=this._grpM.getGroupMemberHandler().getLocalGroupMemberInfo(s,t);o&&o.updateRole(Me)}_onDeleteManager(e){const{to:t,groupID:s}=e.payload.groupProfile,o=this._grpM.getGroupMemberHandler().getLocalGroupMemberInfo(s,t);o&&o.updateRole(ye)}_onMessageRemindTypeSynced(e){var t=e.payload.groupProfile["groupID"],e=e.payload.messageRemindType;this._grpM.get(o).onGroupMsgRemindTypeUpdated({groupID:t,messageRemindType:e})}_handleTopicSystemNotice(e){const{groupProfile:{groupID:t,topicID:o},elements:{operationType:r,topicIDList:i,messageRemindType:n}}=e,a=this._grpM.get(s);17===r?a.onTopicCreated({groupID:t,topicID:o}):18===r?a.onTopicDeleted({groupID:t,topicIDList:i}):20===r&&a.onMessageRemindTypeUpdated({groupID:t,topicID:o,messageRemindType:n})}reset(){this.pendencyMap.clear()}}class Bo extends class{constructor(e){this._m=e,this._n=""}isLoggedIn(){return this._m.get(r).isLoggedIn()}isOversea(){return this._m.get(r).isOversea()}isPrivateNetWork(){const e=this._m.get(r);return e.isPrivateNetWork()&&!e.getFileDownloadProxy()}getFileDownloadProxy(){return this._m.get(r).getFileDownloadProxy()}getDowloadFileAuthKey(){return this._m.get(r).getDowloadFileAuthKey()}getMyUserID(){return this._m.get(r).getUserID()}getMyTinyID(){return this._m.get(r).getTinyID()}getSDKAppID(){return this._m.get(r).getSDKAppID()}isIntl(){return this._m.get(r).isIntl()}isUsingChatCore(){return this._m.get(r).isUsingChatCore()}isDevMode(){return this._m.get(r).isDevMode()}get(e){return this._m.get(e)}getPlatform(){return k}getCloudConfig(e){return this._m.get(u).getCloudConfig(e)}emitOEvt(e,t){this._m.getOEmitInst().emit(e,t)}emitIEvt(e,t){this._m.getIEmitInst().emit(e,t)}getIEmitInst(){return this._m.getIEmitInst()}req(e){return this._m.get(a).req(e)}canIUse(e){return this._m.get(l).canIUse(e)}getErrMsg(e,t,s){return this._m.getErrMsg(e,t,s)}warn(e,t,s){e=this.getErrMsg(e,t,s);e&&ht.w(e)}noUse(e){var t=Et;return Bt({code:t,message:this.getErrMsg(t,e)})}}{constructor(e){super(e),this._n="GroupModule",this._commonGroupHandler=new Mo(this),this._groupAttributesHandler=new bo(this),this._groupCountersHandler=new vo(this),this._AVChatRoomHandler=new Uo(this),this._groupTipsHandler=new Io(this),this._groupSystemNoticeHandler=new Ko(this),this._groupMemberHandler=new No(this),this.groupMap=new Map,this._unjoinedAVChatRoomList=new Map,this._receiptDetailCompleteMap=new Map,this._onlineMemberCountMap=new Map,this._timeoutIDs=[],this.getIEmitInst().on(Jt.CLOUD_CONFIG,this._onCloudConfig,this)}_onCloudConfig(){var e=this.getCloudConfig("polling_interval"),t=this.getCloudConfig("polling_interval_plus"),s=this.getCloudConfig("polling_no_msg_count"),o=this.getCloudConfig("polling_simplified_msg"),r=this.getCloudConfig("paging_grp_count");ht.l(this._n+`._onCloudConfig pollingInterval:${e} pollingIntervalPlus:${t} pollingNoMessageCount:${s} pollingSimplifiedMessage:${o} pagingGroupCount:`+r),this._AVChatRoomHandler.setPollingInterval(e),this._AVChatRoomHandler.setPollingIntervalPlus(t),this._AVChatRoomHandler.setPollingNoMessageCount(s),this._AVChatRoomHandler.setPollingSimplifiedMessage(o),this._commonGroupHandler.setPagingGroupCount(r)}onCheckTimer(e){this.isLoggedIn()&&(this._commonGroupHandler.onCheckTimer(e),this._groupTipsHandler.onCheckTimer(e))}guardForAVChatRoom(t){if(t.conversationType!==ue)return Kt();{const s=it(t.to)?nt(t.to):t.to;return this.hasLocalGroup(s)?Kt():this.getGroupProfile({groupID:s}).then(e=>{e=e.data.group.type;if(ht.l(`${this._n}.guardForAVChatRoom. groupID:${s} type:`+e),e!==me)return Kt();{const e=dt;return Bt(new mt({code:e,message:this.getErrMsg(e,t.from,s),data:{message:t}}))}})}}checkJoinedAVChatRoomByID(e){return this._AVChatRoomHandler.checkJoinedAVChatRoomByID(e)}onNewMessage(e){this._commonGroupHandler.onNewMessage(e)}updateNextMessageSeq(e){if(je(e)){const o=this.get(s);e.forEach(e=>{var t=e.conversationID.replace(ue,"");it(t)&&o.updateUnreadCountAndLastMsg(t,e.lastMessage),this.groupMap.has(t)&&(this.groupMap.get(t).nextMessageSeq=e.lastMessage.sequence+1)})}}onNewGroupTips(e){this._groupTipsHandler.onNewGroupTips(e)}onMsgRevoked(e,t=!0){this._commonGroupHandler.onMsgRevoked(e,t)}onNewGroupSystemNotice(e){this._groupSystemNoticeHandler.onNewGroupSystemNotice(e)}onMsgReadNotice(e){e.dataList.forEach(i=>{const e=i.elements["groupMessageReadNotice"];if(!Ke(e)){const i=this.get(o);e.forEach(e=>{var{groupID:e,topicID:t,lastMessageSeq:s}=e;ht.l(this._n+`.onMsgReadNotice groupID:${e} lastMessageSeq:`+s);let o=""+ue+e,r=!0;Ne(t)||(o=""+ue+t,r=!1),i.updateIsReadAfterReadReport({conversationID:o,lastMessageSeq:s}),i.updateUnreadCount(o,r),i.clearGroupAtInfoList(o,r)})}})}onReadReceiptList(e){ht.l(this._n+".onReadReceiptList options:",e),e.dataList.forEach(e=>{const{groupProfile:t,elements:s}=e,r=t["groupID"],i=this.get(o),n=s["readReceiptList"];i.updateReadReceiptInfo({groupID:r,readReceiptList:n})})}onMsgModified(e){ht.l(this._n+".onMsgModified options:",e);const t=this.get(o);e.dataList.forEach(e=>{t.onMessageModified({...e,conversationType:ue,to:e.topicID||e.groupID})})}deleteGroupSystemNotice(e){this._groupSystemNoticeHandler.deleteGroupSystemNotice(e)}initGroupMap(e){this.groupMap.set(e.groupID,new wo(e))}clearGroupMap(){this.groupMap.clear()}deleteGroup(e){this.groupMap.delete(e)}updateGroupMap(e){const t=this.get(o);let s;e.forEach(e=>{s=e.groupID,this.groupMap.has(s)?this.groupMap.get(s).updateGroup(e):(this.groupMap.set(s,new wo(e)),t.deleteGroupRoamingInfo(s))});var r=this.getMyUserID();for(const[,o]of this.groupMap)o.selfInfo.userID=r,"Owner"===o.selfInfo.role&&(o.ownerID=r)}getGroupMap(){return this.groupMap}getLocalGroupList(){return[...this.groupMap.values()].filter(e=>e.type!==_e&&e.type!==fe)}getLocalGroupProfile(e){return this.groupMap.get(e)}sortLocalGroupList(){const e=[...this.groupMap].filter(([,e])=>!Ne(e.lastMessage));e.sort((e,t)=>t[1].lastMessage.lastTime-e[1].lastMessage.lastTime),this.groupMap=new Map([...e])}updateGroupLastMessage(e){this._commonGroupHandler.updateLastMsg(e)}emitGroupListUpdate(e=!0,t=!0){var s=this.getLocalGroupList();if(e&&this.emitOEvt(Ot),t){const e=JSON.parse(JSON.stringify(s));this.get(o).updateConvGroupProfile(e)}}getMyNameCardByGroupID(e){e=this.getLocalGroupProfile(e);return e?e.selfInfo.nameCard:""}isPagingGetCompleted(){return this._commonGroupHandler.isPagingGetCompleted()}getMsgRemindType(e){if(!je(e)||0===e.length)return Promise.resolve();e=e.filter(e=>!ot(this.getLocalGroupProfile(e).type));return 0===e.length?Promise.resolve():(ht.l(this._n+".getMsgRemindType groupIDList:"+e),this.getGroupProfileAdvance({groupIDList:e,responseFilter:{memberInfoFilter:["MsgFlag"]}}).then(e=>{const t=e.data["successGroupList"],s=this.get(o);t.forEach(e=>{s.onGroupMsgRemindTypeUpdated({groupID:e.groupID,messageRemindType:je(e.members)?e.members[0].messageRemindType:""})})}))}getGroupList(){return this._commonGroupHandler.getGroupList()}syncCommunityWithTopic(){return this._commonGroupHandler.syncGroupList(!0)}getGroupProfile(t){const r=this._n+".getGroupProfile",i=new es("getGroupProfile"),{groupID:n,groupCustomFieldFilter:e}=t;ht.l(r+" groupID:"+n);var s={groupIDList:[n],responseFilter:{groupBaseInfoFilter:[...L],groupCustomFieldFilter:e,memberInfoFilter:[...C,"NameCard"]}};return this.getGroupProfileAdvance(s).then(({data:{successGroupList:e,failureGroupList:t}})=>{if(ht.l(r+" ok"),0<t.length)return Bt(t[0]);let s;return(s=ot(e[0].type)&&!this.hasLocalGroup(n)?new wo(e[0]):(this.updateGroupMap(e),this.getLocalGroupProfile(n))).isSupportTopic||this.get(o).updateConvGroupProfile([s]),i.setMessage(`groupID:${n} type:${s.type} muteAllMembers:${s.muteAllMembers} ownerID:`+s.ownerID).end(),gt({group:s})}).catch(e=>(i.setError(e).setMessage("groupID:"+t.groupID).end(),ht.e(r+" failed. error:",e),Bt(e)))}getGroupProfileAdvance(e){const t=this._n+".getGroupProfileAdvance",s=e["groupIDList"],o=(je(s)&&50<s.length&&(this.warn("GetGroupProfileLimit"),s.length=50),[]),r=[],i=(s.forEach(e=>{(rt({groupID:e})?r:o).push(e)}),[]);if(0<o.length){const t=this._getGroupProfileAdvance({...e,groupIDList:o});i.push(t)}if(0<r.length){const t=this._getGroupProfileAdvance({...e,groupIDList:r,relayFlag:0<o.length});i.push(t)}return Promise.all(i).then(e=>{const t=[],s=[];return e.forEach(e=>{t.push(...e.successGroupList),s.push(...e.failureGroupList)}),gt({successGroupList:t,failureGroupList:s})}).catch(e=>(ht.e(t+" failed. error:",e),Bt(e)))}_getGroupProfileAdvance(t){const{relayFlag:s=!1,...o}=t;return this.req({P:os,data:o}).then(e=>{ht.l(this._n+"._getGroupProfileAdvance ok. options:",o);const t=e.data["groups"];return{successGroupList:t.filter(e=>Ke(e.errorCode)||0===e.errorCode),failureGroupList:t.filter(e=>e.errorCode&&0!==e.errorCode).map(e=>new mt({code:e.errorCode,message:e.errorInfo,data:{groupID:e.groupID}}))}}).catch(e=>s&&rt({groupID:t.groupIDList[0]})?{successGroupList:[],failureGroupList:[]}:Bt(e))}createGroup(u){const s=[he,ce,ge,me,de],p=this._n+".createGroup",{type:o,groupID:r}=u;if(u.name&&!1===this._filterProfanity("name",u))return Bt({code:Ut});if(u.introduction&&!1===this._filterProfanity("introduction",u))return Bt({code:Ut});if(u.notification&&!1===this._filterProfanity("notification",u))return Bt({code:Ut});if(!s.includes(o))return Bt({code:ft});if(!rt({type:o})){if(!Ne(r)&&rt({groupID:r}))return Bt({code:It});u.isSupportTopic=void 0}if(ot(o)&&!Ke(u.memberList)&&0<u.memberList.length&&(u.memberList=void 0),this._canIUseJoinOption(o)||Ke(u.joinOption)||(u.joinOption=void 0),rt({type:o})){if(!Ne(r)&&!rt({groupID:r}))return Bt({code:It});u.isSupportTopic=!0===u.isSupportTopic?1:0}const h=new es("createGroup");ht.l(p+" options:",u);let l=null,g=[];return this.req({P:rs,data:{...u,ownerID:this.getMyUserID(),webPushFlag:1}}).then(s=>{const{groupID:o,overLimitUserIDList:r=[]}=s.data;l=o,g=r;s=`groupType:${u.type} groupID:${o} overLimitUserIDList:`+r;if(h.setMessage(s).end(),ht.l(p+" ok. "+s),u.type===me)return this.getGroupProfile({groupID:o});if(u.type===de&&1===u.isSupportTopic)return this.getGroupProfile({groupID:o});Ne(u.memberList)||Ne(r)||(u.memberList=u.memberList.filter(e=>-1===r.indexOf(e.userID))),this.updateGroupMap([{...u,groupID:o}]);const i=this.get(e);let n="",a=0;u.type===de?(n=this.isIntl()?"Create Community":"创建社群",a=1):n=this.isIntl()?"Create Group":"创建群组";s=this.get(t).getMyNick(),s=i.createCustomMessage({to:o,conversationType:ue,payload:{data:JSON.stringify({businessID:"group_create",content:n,cmd:a,opUser:s||this.getMyUserID(),version:4})}});return i.sendMessageInstance(s),this.emitGroupListUpdate(),this.getGroupProfile({groupID:o})}).then(e=>{const t=e.data["group"],{nameCard:s,joinTime:o}=t.selfInfo;return t.updateSelfInfo({nameCard:s,joinTime:o,messageRemindType:Ae,role:Ie}),gt({group:t,overLimitUserIDList:g})}).catch(e=>{if(h.setMessage("groupType:"+u.type).setError(e).end(),10010!==e.code&&10007!==e.code)return ht.e(p+" failed. error:",e),Bt(e);{this._silentlyGetGroupProfile(e.code,l),this.updateGroupMap([{...u,groupID:l}]);const t=this.getLocalGroupProfile(l);return t.selfInfo.role=Ie,gt({group:t,overLimitUserIDList:g})}})}dismissGroup(e){const t=this._n+".dismissGroup",s="groupID:"+e,o=new es("dismissGroup");return o.setMessage(s),ht.l(t+" "+s),this.req({P:is,data:{groupID:e}}).then(()=>(o.end(),ht.l(t+" ok"),this.deleteLocalGroupAndConversation(e),this.checkJoinedAVChatRoomByID(e)&&this._AVChatRoomHandler.reset(e),this._groupAttributesHandler.deleteLocalGroupAttributes(e),gt({groupID:e}))).catch(e=>(o.setError(e).end(),ht.e(t+" failed. error:",e),Bt(e)))}updateGroupProfile(e){const t=this._n+".updateGroupProfile";if(this.hasLocalGroup(e.groupID)){const s=this.getLocalGroupProfile(e.groupID).type;this._canIUseJoinOption(s)||Ke(e.joinOption)||(ht.w(t+" joinOption is unavailable for Work/Meeting/AVChatRoom"),e.joinOption=void 0)}if(Ke(e.muteAllMembers)||(e.muteAllMembers?e.muteAllMembers="On":e.muteAllMembers="Off"),e.name&&!1===this._filterProfanity("name",e))return Bt({code:Ut});if(e.introduction&&!1===this._filterProfanity("introduction",e))return Bt({code:Ut});if(e.notification&&!1===this._filterProfanity("notification",e))return Bt({code:Ut});const s=new es("updateGroupProfile");return s.setMessage(JSON.stringify(e)),ht.l(t+" groupID:"+e.groupID),this.req({P:ns,data:e}).then(()=>(s.end(),ht.l(t+" ok"),this.hasLocalGroup(e.groupID)&&this.groupMap.get(e.groupID).updateGroup(e),gt({group:this.groupMap.get(e.groupID)}))).catch(e=>(s.setError(e).end(),ht.l(t+" failed. error:",e),Bt(e)))}_filterProfanity(e,t){const s=this.get(c);if(!s)return!0;var{isAllowedToSend:o,modifiedText:r}=s.filterText(t[e],y);return!0===o&&(t[e]=r,!0)}joinGroup(t){const s=t["groupID"],o=this._n+".joinGroup";if(this.deleteUnjoinedAVChatRoom(s),this.hasLocalGroup(s)){if(!this.isLoggedIn())return Kt({status:Te});const r=new es("applyJoinGroup");return this.getGroupProfile({groupID:s}).then(()=>(r.setMessage(`groupID:${s} joinedStatus:`+Te).end(),Kt({status:Te}))).catch(e=>(r.setMessage(`groupID:${s} unjoined`).end(),ht.w(o+` ${s} was unjoined, now join!`),this.groupMap.delete(s),this.applyJoinGroup(t)))}return ht.l(o+" groupID:"+s),this.isLoggedIn()?this.applyJoinGroup(t):this._AVChatRoomHandler.joinWithoutAuth(t)}applyJoinGroup(e){const a=this._n+".applyJoinGroup",{groupID:u,applyMessage:t}=e;if(!Ne(t)&&!1===this._filterProfanity("applyMessage",e))return Bt({code:Ut});const p=new es("applyJoinGroup"),s={...e},h=this.canIUse(M.AV_HISTORY_MSG);return h&&(s.historyMessageFlag=1),this.get(o).deleteTopicRoamingInfo(u),this.req({P:as,data:s}).then(({data:{joinedStatus:e,longPollingKey:t,startSeq:s,avChatRoomFlag:o,avChatRoomKey:r,messageList:i}})=>{var n=`groupID:${u} joinedStatus:${e} longPollingKey:${t} startSeq:${s} avChatRoomFlag:${o} canGetAVChatRoomHistoryMsg:${h}, historyMsgCount:`+(Ne(i)?0:i.length);switch(p.setMessage(n).end(),ht.l(a+" ok. "+n),e){case we:return gt({status:we});case $e:return this.getGroupProfile({groupID:u}).then(({data:{group:e}})=>this._handleJoinResult({group:e,avChatRoomFlag:o,longPollingKey:t,startSeq:s,avChatRoomKey:r,messageList:i})).catch(e=>{if(10010!==e.code&&10007!==e.code)return ht.e(a+" failed. error:",e),Bt(e);{this._silentlyGetGroupProfile(e.code,u);const a=new wo({groupID:u});return this.updateGroupMap([a]),this._handleJoinResult({group:a,avChatRoomFlag:o,longPollingKey:t,startSeq:s,avChatRoomKey:r,messageList:i})}});default:{const e=new mt({code:Ct});return ht.e(a+" failed. error:",e),Bt(e)}}}).catch(e=>(p.setMessage("groupID:"+u).setError(e).end(),ht.e(a+" failed. error:",e),Bt(e)))}_handleJoinResult(e){const{group:t,avChatRoomFlag:s,longPollingKey:r,startSeq:i,avChatRoomKey:n,messageList:a}=e,u=t["groupID"];if(1!==s)return this.emitGroupListUpdate(!0,!1),gt({status:$e,group:t});{let e;return this.get(o).setCompleted(""+ue+u),this._groupAttributesHandler.initGroupAttributesCache({groupID:u,avChatRoomKey:n}),this._groupCountersHandler.initGroupCountersCache({groupID:u,avChatRoomKey:n}),(e=Ke(r)?this._AVChatRoomHandler.handleJoinResult({group:t}):this._AVChatRoomHandler.startRunLoop({group:t,longPollingKey:r,startSeq:i})).then(()=>{this._onAVChatRoomHistoryMessage(a,u)}),e}}quitGroup(e){const t=this._n+".quitGroup",s="groupID:"+e,o=(ht.l(t+" "+s),this.checkJoinedAVChatRoomByID(e));if(!o&&!this.hasLocalGroup(e))return Bt({code:Lt});if(o&&!this.isLoggedIn())return ht.l(t+" anonymously ok. "+s),this.deleteLocalGroupAndConversation(e),this._AVChatRoomHandler.reset(e),Kt({groupID:e});const r=new es("quitGroup");return r.setMessage(s),this.req({P:ps,data:{groupID:e}}).then(()=>(r.end(),ht.l(t+" ok"),this.deleteLocalGroupAndConversation(e),o&&this._AVChatRoomHandler.reset(e),this._groupAttributesHandler.deleteLocalGroupAttributes(e),gt({groupID:e}))).catch(e=>(r.setError(e).end(),ht.e(t+" failed. error:",e),Bt(e)))}searchGroupByID(e){const t=this._n+".searchGroupByID",s={groupIDList:[e]},o=new es("searchGroupByID");return o.setMessage("groupID:"+e),ht.l(t+" groupID:"+e),this.req({P:ls,data:s}).then(({data:{groupProfile:e}})=>{if(0!==e[0].errorCode)throw new mt({code:e[0].errorCode,message:e[0].errorInfo});return o.end(),ht.l(t+" ok"),gt({group:new wo(e[0])})}).catch(e=>(o.setError(e).end(),ht.w(t+" failed. error:",e),Bt(e)))}changeGroupOwner(o){const r=this._n+".changeGroupOwner";if(this.hasLocalGroup(o.groupID)&&this.getLocalGroupProfile(o.groupID).type===me)return Bt({code:yt});if(o.newOwnerID===this.getMyUserID())return Bt({code:Dt});const i=new es("changeGroupOwner");return i.setMessage(`groupID:${o.groupID} newOwnerID:`+o.newOwnerID),ht.l(r+" groupID:"+o.groupID),this.req({P:cs,data:o}).then(()=>{i.end(),ht.l(r+" ok");var{groupID:e,newOwnerID:t}=o;this.groupMap.get(e).ownerID=t;const s=this._groupMemberHandler.getLocalGroupMemberList(e);if(s instanceof Map){const o=s.get(this.getMyUserID()),r=(Ke(o)||(o.updateRole("Member"),this.groupMap.get(e).selfInfo.role="Member"),s.get(t));Ke(r)||r.updateRole("Owner")}return this.emitGroupListUpdate(!0,!1),gt({group:this.groupMap.get(e)})}).catch(e=>(i.setError(e).end(),ht.e(r+" failed. error:",e),Bt(e)))}getGroupApplicationList(){return this._groupSystemNoticeHandler.getGroupApplicationList()}handleGroupApplication(e){const t=this._n+".handleGroupApplication",{handleAction:h,handleMessage:l,message:s,application:o}=e;let r,i,n,a,u,g=(s?(r=s.payload.operatorID,i=s.payload.groupProfile.groupID,n=s.payload.authentication,a=s.payload.messageKey):o&&(r=o.applicant,i=o.groupID,n=o.authentication,a=o.messageKey),hs);o&&2===o.applicationType&&(g=gs,u=o.userID);const p=new es("handleGroupApplication");return p.setMessage("groupID:"+i),ht.l(t+" groupID:"+i),this.req({P:g,data:{handleAction:h,handleMessage:l,applicant:r,invitee:u,groupID:i,authentication:n,messageKey:a}}).then(()=>(p.end(),ht.l(t+" ok"),s&&this._groupSystemNoticeHandler.deleteGroupSystemNotice({messageList:[e.message]}),gt({group:this.getLocalGroupProfile(i)}))).catch(e=>(p.setError(e).end(),ht.e(t+" failed. error",e),Bt(e)))}handleGroupInvitation(e){const t=this._n+".handleGroupInvitation",{groupProfile:{groupID:s},authentication:o,messageKey:r,operatorID:i}=e.message.payload,n=e["handleAction"],a=new es("handleGroupInvitation");return a.setMessage(`groupID:${s} inviter:${i} handleAction:`+n),ht.l(t+` groupID:${s} inviter:${i} handleAction:`+n),this.req({P:ms,data:{...e,inviter:i,groupID:s,authentication:o,messageKey:r}}).then(()=>(a.end(),ht.l(t+" ok"),this._groupSystemNoticeHandler.deleteGroupSystemNotice({messageList:[e.message]}),gt({group:this.getLocalGroupProfile(s)}))).catch(e=>(a.setError(e).end(),ht.e(t+" failed. error",e),Bt(e)))}getGroupOnlineMemberCount(t){const s=this._n+".getGroupOnlineMemberCount",e=this._AVChatRoomHandler.checkJoinedAVChatRoomByID(t),o=this.hasLocalGroup(t);if(ht.l(s+` groupID:${t} isAVChatRoom:${e} has:`+o),e)return this._AVChatRoomHandler.getGroupOnlineMemberCount(t);if(!o)return Kt({memberCount:0});var r=Date.now();if(this._onlineMemberCountMap.has(t)){const s=this._onlineMemberCountMap.get(t);if(r-s.lastReqTime<=6e4)return Kt({memberCount:s.memberCount});s.lastReqTime=r}return this.requestOnlineCount(t).then(e=>{var{memberCount:e=0}=e.data;return this._onlineMemberCountMap.set(t,{lastReqTime:Date.now(),memberCount:e}),ht.l(s+` ok. groupID:${t} memberCount:`+e),Kt({memberCount:e})}).catch(e=>(ht.w(s+" failed. error:",e),Promise.reject(e)))}requestOnlineCount(e){return this.req({P:bs,data:{groupID:e}})}hasLocalGroup(e){return this.groupMap.has(e)}deleteLocalGroupAndConversation(e){const t=this.checkJoinedAVChatRoomByID(e),r=(ht.l(this._n+`.deleteLocalGroupAndConversation groupID:${e} isJoinedAVChatRoom:`+t),this.get(o)),i=""+ue+e;if(t&&(this.stopMessageLongPolling({groupID:e}),r.deleteLocalConv(i)),rt({groupID:e})){const t=this.getLocalGroupProfile(e);t&&!0===t.isSupportTopic&&this.get(s).deleteTopicListInCommunity(e)}r.clearUnreadCount(i),r.setCompleted(i),this._deleteLocalGroup(e),this._onlineMemberCountMap.delete(e),this.emitGroupListUpdate(!0,!1)}_deleteLocalGroup(e){this.groupMap.delete(e),this._groupMemberHandler.deleteGroupMemberList(e)}sendMessage(e,t){if(je(e._receiverList)&&0<e._receiverList.length&&!this.canIUse(M.MSG_TO_SPECIFIED_GRP_MBR))return this.noUse("Targeted Group Message");e=this.createGroupMessagePack(e,t);return this.req(e)}createGroupMessagePack(e,t){let s=null,o=(t&&t.offlinePushInfo&&(s=t.offlinePushInfo),"");Ve(e.cloudCustomData)&&0<e.cloudCustomData.length&&(o=e.cloudCustomData);const r=[];if(He(t)&&He(t.messageControlInfo)){const{excludedFromUnreadCount:e,excludedFromLastMessage:s,excludedFromContentModeration:o}=t.messageControlInfo;!0===e&&r.push("NoUnread"),!0===s&&r.push("NoLastMsg"),!0===o&&r.push("NoMsgCheck")}let i=void 0;je(e._receiverList)&&0<e._receiverList.length&&(i=e._receiverList,50<e._receiverList.length&&(i=e._receiverList.slice(0,50),this.warn("ReceiverListLimit")));const a=this.isOnlineMessage(e,t)?1:0,u=JSON.parse(JSON.stringify(e.getElements())),l=this.get(n).getFileDNList(),p=e.getGroupAtInfoList(),h={fromAccount:this.getMyUserID(),groupID:e.to,msgBody:Zs(e.type,u,l),cloudCustomData:o,random:e.random,priority:e.priority,clientSequence:e.clientSequence,groupAtInfo:e.type!==B||Ne(p)?void 0:p,onlineOnlyFlag:a,clientTime:e.clientTime,offlinePushInfo:xo(s),messageControlInfo:0==a?r:void 0,needReadReceipt:!0!==e.needReadReceipt||this.isMessageFromOrToAVChatroom(e.to)?0:1,receiverList:i,isSupportExtension:!0===e.isSupportExtension?1:0,isRelayMessage:!0===e._relayFlag?1:0,cmConfigID:e._cmConfigID,forbidCallbackControl:et(t)};return it(e.to)&&(h.groupID=nt(e.to),h.topicID=e.to),{P:ts,data:h}}revokeMessage(e){const t={groupID:e.to,msgSeqList:[{msgSeq:e.sequence}]};return it(e.to)&&(t.groupID=nt(e.to),t.topicID=e.to),this.req({P:ds,data:t})}deleteMessage(e){var{to:e,keyList:t}=e;ht.l(this._n+`.deleteMessage groupID:${e} count:`+t.length);const s={groupID:e,deleter:this.getMyUserID(),keyList:t};return it(e)&&(s.groupID=nt(e),s.topicID=e),this.req({P:As,data:s})}modifyRemoteMessage(e){const{to:t,sequence:s,payload:o,type:r,version:i=0,cloudCustomData:h,_elements:n}=e;let a=t,u=void 0,p=(it(t)&&(a=nt(t),u=t),void 0);return(e=r)!==B&&e!==te&&e!==Q&&e!==X||(1<n.length&&n.splice(0,1,{type:r,content:o}),p=n),this.req({P:Ts,data:{groupID:a,topicID:u,sequence:s,version:i,elements:p,cloudCustomData:h}})}getRoamingMessage(e){const u=this._n+".getRoamingMessage";let{conversationID:p,groupID:h,sequence:t}=e;const l=new es("getRoamingMessage");let g=0,c=void 0;return it(h)&&(h=nt(c=h)),this._computeLastSequence({groupID:h,topicID:c,sequence:t}).then(e=>(g=e,ht.l(u+` groupID:${h} startSequence:`+g),this.req({P:fs,data:{groupID:h,count:21,sequence:g,topicID:c}}))).then(e=>{var{messageList:t,complete:s,invisibleSequenceList:r=[]}=e.data;let{nextSequence:i=0}=e.data;Ke(t)?ht.l(u+` ok. complete:${s} nextSequence:${i} but messageList is undefined!`):ht.l(u+` ok. complete:${s} nextSequence:${i} count:`+t.length),l.setMessage(`groupID:${h} topicID:${c} startSequence:${g} complete:${s} nextSequence:`+i).end();const n=this.get(o);let a=[];e=[],Ne(t)||(a=n.onRoamingMessage(t,p,!0,e),n.updateIsRead(p),n.patchConvLastMessage(p)),t=2===s||i<1;return t&&(n.setCompleted(p),i=""),ht.l(u+` isPullingCompleted:${t} nextReqID:${i} storedMsgCount:${a.length} invisibleSeqCount:`+r.length),{nextReqID:i+"",storedMessageList:a,assembledMessageList:e,isPullingCompleted:t}}).catch(e=>(l.setError(e).setMessage(`groupID:${h} topicID:${c} startSequence:`+g).end(),ht.w(u+" failed. error:",e),Bt(e)))}_getGroupIDOfMessage(e){return e.conversationID.replace(ue,"")}getReadReceiptList(s){const o=this._n+".getReadReceiptList",e=this._getGroupIDOfMessage(s[0]),t=this.getMyUserID(),r=s.filter(e=>e.from===t&&!0===e.needReadReceipt).map(e=>({sequence:e.sequence}));if(ht.l(o+` groupID:${e} sequenceList:`+JSON.stringify(r)),0===r.length)return Kt({messageList:s});const i=new es("getReadReceiptList");return i.setMessage("groupID:"+e),this.req({P:Is,data:{groupID:e,sequenceList:r}}).then(e=>{i.end(),ht.l(o+" ok");const t=e.data["readReceiptList"];return je(t)&&t.forEach(t=>{s.forEach(e=>{0===t.code&&t.sequence===e.sequence&&(e.readReceiptInfo.readCount=t.readCount,e.readReceiptInfo.unreadCount=t.unreadCount)})}),gt({messageList:s})}).catch(e=>(i.setError(e).end(),ht.w(o+" failed. error:",e),Bt(e)))}sendReadReceipt(e){const t=this._n+".sendReadReceipt",s=this._getGroupIDOfMessage(e[0]),o=new es("sendReadReceipt"),r=(o.setMessage("groupID:"+s),this.getMyUserID()),i=e.filter(e=>e.from!==r&&!0===e.needReadReceipt).map(e=>({sequence:e.sequence}));return 0===i.length?Bt({code:_t}):(ht.l(t+". sequenceList:"+JSON.stringify(i)),this.req({P:Ms,data:{groupID:s,sequenceList:i}}).then(e=>(o.end(),ht.l(t+" ok"),gt())).catch(e=>(o.setError(e).end(),ht.w(t+" failed. error:",e),Bt(e))))}getReadReceiptDetail(h){const{message:e,filter:t,cursor:s,count:o}=h,r=this._getGroupIDOfMessage(e),i=e.ID,l=e.sequence,n=this._n+".getReadReceiptDetail",g=this._receiptDetailCompleteMap.get(i)||!1,a=0!==t&&1!==t?0:t,c=Ve(s)?s:"",m=!xe(o)||o<=0||100<=o?100:o,d=`groupID:${r} sequence:${l} cursor:${c} filter:${a} completeFlag:`+g,u=(ht.l(n+" "+d),{cursor:"",isCompleted:!1,messageID:i,unreadUserIDList:[],readUserIDList:[]}),p=new es("getReadReceiptDetail");return p.setMessage(d),this.req({P:ys,data:{groupID:r,sequence:l,flag:a,cursor:c,count:m}}).then(e=>{p.end();const{cursor:t,isCompleted:s,unreadUserIDList:o,readUserIDList:r}=e.data;return u.cursor=t,1===s&&(u.isCompleted=!0,this._receiptDetailCompleteMap.set(i,!0)),0===a?u.readUserIDList=r.map(e=>e.userID):1===a&&(u.unreadUserIDList=o.map(e=>e.userID)),ht.l(n+" ok"),gt(u)}).catch(e=>(p.setError(e).end(),ht.w(n+" failed. error:",e),Bt(e)))}getRoamingMessagesHopping(g){const c=this._n+".getRoamingMessagesHopping";let{groupID:t,count:s,sequence:m,direction:d}=g,r=void 0;return Ke(m)&&1===d?Kt({messageList:[],isCompleted:!0,nextMessageSeq:""}):(it(t)&&(t=nt(r=t)),this._computeReqSeqHopping({groupID:t,topicID:r,sequence:m}).then(e=>{Ke(m)||1!==d||(e=m+s-1);const h=`${r?"topicID:"+r:"groupID:"+t} sequence:${m} reqSeq:${e} direction:`+d,l=(ht.l(c+" "+h),new es("getRoamingMessagesHopping"));return this.req({P:fs,data:{groupID:t,topicID:r,count:s,sequence:e}}).then(e=>{var{messageList:e=[],complete:t,nextSequence:s=0,invisibleSequenceList:r=[]}=e.data,i=`complete:${t} nextSequence:${s} remoteMsgCount:${e.length} invisibleSequenceList:`+r;l.setMessage(h+" "+i).end(),ht.l(c+" ok. "+i);const n=""+ue+g.groupID,a=this.get(o),u=a.onRoamingMessage(e,n,!1),p=this._computeResult({groupID:g.groupID,direction:d,sequence:m,remoteMessageList:e,processedMessageList:u,complete:t,nextSequence:s,invisibleSequenceList:r});return a.storeHoppingMessageList(p.messageList),gt(p)}).catch(e=>(l.setError(e).setMessage(`groupID:${t} sequence:${m} count:`+s).end(),ht.w(c+" failed. error:",e),Bt(e)))}))}_computeReqSeqHopping(e){const{groupID:s,topicID:t,sequence:o}=e;return 0<o?Promise.resolve(o):Ke(t)?this.getGroupProfileAdvance({groupIDList:[s],responseFilter:{groupBaseInfoFilter:["NextMsgSeq"]}}).then(({data:{successGroupList:e}})=>{let t=0;return Ne(e)||(t=e[0].nextMessageSeq-1),ht.l(`${this._n}._computeReqSeqHopping groupID:${s} lastSequence:${t} from remote`),t}).catch(e=>Bt(e)):Promise.resolve(0)}_computeResult(e){const t={messageList:[],isCompleted:!1,nextMessageSeq:""},{groupID:s,direction:o,sequence:r,remoteMessageList:i=[],processedMessageList:n=[],complete:a,nextSequence:u,invisibleSequenceList:p}=e;if(0===o)return t.nextMessageSeq=u,(2===a||u<1)&&(t.isCompleted=!0,t.nextMessageSeq=""),t.messageList=n,t;if(1===o){if(Ne(i)){if(Ne(p))return t.isCompleted=!0,t.nextMessageSeq="",t;t.nextMessageSeq=p[0]+1}else{const e=i[0].sequence,s=p[0]||0;t.nextMessageSeq=e>s?e+1:s+1}return n.forEach(e=>{e.sequence>=r&&t.messageList.push(e)}),(rt({groupID:s})||it(s))&&0===t.messageList.length&&i[0].sequence<r&&(t.isCompleted=!0,t.nextMessageSeq=""),t}}setMessageRead({conversationID:r,lastMessageSeq:i}){const n=this._n+".setMessageRead",e=`convID:${r} lastMessageSeq:`+i,a=(ht.l(n+" "+e),xe(i)||this.warn("DoNotModifyLastSeq"),new es("setMessageRead"));a.setMessage(e);let u=r.replace(ue,""),p=void 0;return it(u)&&(u=nt(p=u)),this.req({P:_s,data:{groupID:u,topicID:p,messageReadSeq:i}}).then(()=>{a.end(),ht.l(n+" ok");const e=this.get(o);e.updateIsReadAfterReadReport({conversationID:r,lastMessageSeq:i});let t=!0;if(!Ke(p)){t=!1;const r=this.get(s).getLocalTopic(u,p);r&&r.updateSelfInfo({readedSequence:i})}return e.updateUnreadCount(r,t),gt()}).catch(e=>(a.setError(e).end(),ht.l(n+" failed. error:",e),Bt(e)))}_computeLastSequence(e){var{groupID:e,topicID:t,sequence:s}=e;return 0<s?Promise.resolve(s):Ke(t)?this.getGroupLastSequence(e):Promise.resolve(0)}getGroupLastSequence(e){const t=this._n+".getGroupLastSequence",s=new es("getGroupLastSequence");let r=0,i="";const n="groupID:"+e;if(this.hasLocalGroup(e)){const o=this.getLocalGroupProfile(e),a=o.lastMessage;if(0<a.lastSequence&&!1===a.onlineOnlyFlag)return r=a.lastSequence,i=n+`, ${r} from group.lastMessage.lastSequence`,ht.l(t+" "+i),s.setMessage(i).end(),Promise.resolve(r);if(1<o.nextMessageSeq)return r=o.nextMessageSeq-1,i=n+`, ${r} from group.nextMessageSeq`,ht.l(t+" "+i),s.setMessage(i).end(),Promise.resolve(r)}const a=this.get(o).getLocalConversation("GROUP"+e);return a&&a.lastMessage.lastSequence&&!1===a.lastMessage.onlineOnlyFlag?(r=a.lastMessage.lastSequence,i=n+`, ${r} from conversation.lastMessage.lastSequence`,ht.l(t+" "+i),s.setMessage(i).end(),Promise.resolve(r)):this.getGroupProfileAdvance({groupIDList:[e],responseFilter:{groupBaseInfoFilter:["NextMsgSeq"]}}).then(({data:{successGroupList:e}})=>(Ne(e)?ht.w(t+` ${n}, empty successGroupList`):(r=e[0].nextMessageSeq-1,i=n+`, ${r} from remote`,ht.l(t+" "+i)),s.setMessage(i).end(),r)).catch(e=>(s.setError(e).setMessage(n).end(),ht.w(t+" failed. error:",e),Bt(e)))}isMessageFromOrToAVChatroom(e){return this._AVChatRoomHandler.checkJoinedAVChatRoomByID(e)}hasJoinedAVChatRoom(){return this._AVChatRoomHandler.hasJoinedAVChatRoom()}getJoinedAVChatRoom(){return this._AVChatRoomHandler.getJoinedAVChatRoom()}getGroupRemoteLastSeq(e){e=this.getLocalGroupProfile(e);return e?e.nextMessageSeq-1:1}isOnlineMessage(e,t){return!(!this._canIUseOnlineOnlyFlag(e)||!t||!0!==t.onlineUserOnly)}_canIUseOnlineOnlyFlag(e){const t=this.getJoinedAVChatRoom();return!t||!t.includes(e.to)||e.conversationType!==ue}_onAVChatRoomHistoryMessage(e,t){if(!Ne(e)){ht.l(this._n+`._onAVChatRoomHistoryMessage groupID:${t} count:`+e.length);const s=[];e.forEach(e=>{s.push({...e,isHistoryMessage:1})}),this.onAVChatRoomMessage(s,t)}}onAVChatRoomMessage(e,t=""){this._AVChatRoomHandler.onMessage(e,t)}onAVChatRoomMemberBanned(e){this._AVChatRoomHandler.onAVChatRoomMemberBanned(e)}setUnjoinedAVChatRoom(e){this._unjoinedAVChatRoomList.set(e,1)}deleteUnjoinedAVChatRoom(e){this._unjoinedAVChatRoomList.has(e)&&this._unjoinedAVChatRoomList.delete(e)}isUnjoinedAVChatRoom(e){return this._unjoinedAVChatRoomList.has(e)}isGroupAttributesUpdatedNotice(e){return this._groupAttributesHandler.isGroupAttributesUpdatedNotice(e)}updateLocalMainSequenceOnReconnected(){this._groupAttributesHandler.updateLocalMainSequenceOnReconnected()}initGroupAttributes(e){return this._groupAttributesHandler.initGroupAttributes(e)}setGroupAttributes(e){return this._groupAttributesHandler.setGroupAttributes(e)}deleteGroupAttributes(e){return this._groupAttributesHandler.deleteGroupAttributes(e)}getGroupAttributes(e){return this._groupAttributesHandler.getGroupAttributes(e)}isMessageFromTopic(e,t){return 2===e&&!Ne(t)}isMessageFromCommunityOfTopic(e,t){return 2===e&&Ne(t)}getMessageExtensions(e,t){return ht.l(this._n+".getMessageExtensions startSequence:"+t),this.req({P:Es,data:{groupID:e.to,messageSequence:e.sequence,startSequence:t}})}modifyMsgExts(e,t,s=1){return ht.l(this._n+".modifyMsgExts operateType:"+s),this.req({P:ws,data:{groupID:e.to,messageSequence:e.sequence,extensionList:t,operateType:s}})}_genNotifyReqList(s){const o=[];var r,i,n,a;for(let e=0,t=s.length;e<t;e++)r=s[e],a=this.getLocalGroupProfile(r).type,i=this._getGroupLastRevokedTime(r),n=1e3*ve(),a={notifyType:1,limit:20,type:rt({type:a,groupID:r})?de:void 0,groupID:r,beginTime:i,endTime:n},o.push(a);return o}getNotice(e){const t=this._n+".getNotice",s=e.filter(e=>{if(!this.hasLocalGroup(e))return!1;var{type:e,isSupportTopic:t}=this.getLocalGroupProfile(e);return!ot(e)&&!t});0!==s.length&&(ht.l(t+" list:"+s),this.req({P:Us,data:{notifyReqList:this._genNotifyReqList(s)}}).then(i=>{const e=i.data["notifyRspList"],n=[];if(je(e)){const i={dataList:[]};let r=t+" ok.";e.forEach(e=>{var{nextRevokedTime:t,groupID:s,notifyList:o}=e;r+=` groupID:${s} nextRevokedTime:${t} count:${o.length}
|
|
`,i.dataList.push({elements:{revokedInfos:this._genRevokedInfos(e)}}),0!==t?(this._setGroupLastRevokedTime(s,t),n.push(s)):this._setGroupLastRevokedTime(s,1e3*ve())}),ht.l(r),this.onMsgRevoked(i,!1)}0<n.length&&this.getNotice(n)}).catch(e=>{ht.e(t+" failed. error:",e)}))}_genRevokedInfos(e){const{notifyList:t,groupID:s}=e,o=[];return je(t)&&t.forEach(e=>{o.push({groupID:s,sequence:e.sequence,random:e.random,revokerInfo:{...e.revokerInfo}})}),o}_getGroupLastRevokedTime(e){return this.hasLocalGroup(e)?this.getLocalGroupProfile(e)._lastRevokedTime:0}_setGroupLastRevokedTime(e,t){this.hasLocalGroup(e)&&(this.getLocalGroupProfile(e)._lastRevokedTime=t)}isGroupCountersNotice(e){return this._groupCountersHandler.isGroupCountersNotice(e)}setGroupCounters(e){return this._groupCountersHandler.setGroupCounters(e)}increaseGroupCounter(e){return this._groupCountersHandler.increaseGroupCounter(e)}decreaseGroupCounter(e){return this._groupCountersHandler.decreaseGroupCounter(e)}getGroupCounters(e){return this._groupCountersHandler.getGroupCounters(e)}getGroupMemberHandler(){return this._groupMemberHandler}getGroupMemberList(e){return this._groupMemberHandler.getGroupMemberList(e)}getGroupMemberProfile(e){return this._groupMemberHandler.getGroupMemberProfile(e)}addGroupMember(e){return this._groupMemberHandler.addGroupMember(e)}deleteGroupMember(e){return this._groupMemberHandler.deleteGroupMember(e)}setGroupMemberMuteTime(e){return this._groupMemberHandler.setGroupMemberMuteTime(e)}setGroupMemberRole(e){return this._groupMemberHandler.setGroupMemberRole(e)}setGroupMemberNameCard(e){return this._groupMemberHandler.setGroupMemberNameCard(e)}setGroupMemberCustomField(e){return this._groupMemberHandler.setGroupMemberCustomField(e)}markGroupMemberList(e){return this._groupMemberHandler.markGroupMemberList(e)}modifyGroupMemberInfo(e){return this._groupMemberHandler.modifyGroupMemberInfo(e)}restartPolling(){this._AVChatRoomHandler.restartPolling()}getPollingTimerID(e){if(!e)return-1;var t=this.getLocalGroupProfile(e);return t&&ot(t.type)?this._AVChatRoomHandler.getPollingTimerID(e):-1}_canIUseJoinOption(e){return e===he||rt({type:e})}_silentlyGetGroupProfile(e,t){var s=setTimeout(this.getGroupProfile.bind(this,{groupID:t}),3e3);this._timeoutIDs.push(s),ht.l(this._n+`._silentlyGetGroupProfile errorCode:${e} groupID:${t} timeoutIDs:`+this._timeoutIDs)}_clearTimeoutIDs(){this._timeoutIDs.forEach(e=>{e&&clearTimeout(e)}),this._timeoutIDs=[]}startMessageLongPolling(e){var{groupID:e,longPollingKey:t,longPollingSequence:s=1}=e,o=this.get(r).isUnlimitedAVChatRoom(),i=(this._AVChatRoomHandler.hasPollingInstance(e)&&this.stopMessageLongPolling({groupID:e}),this._AVChatRoomHandler.getJoinedLiveList()),o=(!o&&0<i.length&&this.stopMessageLongPolling({groupID:i[0]}),new wo({groupID:e,type:fe}));return ht.l(this._n+`.startMessageLongPolling groupID:${e} longPollingKey:${t} longPollingSequence:`+s),this._AVChatRoomHandler.startRunLoop({group:o,longPollingKey:t,startSeq:s})}stopMessageLongPolling(e){const t=e["groupID"],s=this.get(o);return this._AVChatRoomHandler.reset(t),this._deleteLocalGroup(t),s.deleteLocalConv(""+ue+t),ht.l(this._n+".stopMessageLongPolling ok, groupID:"+t),Kt({groupID:t})}reset(){this.groupMap.clear(),this._unjoinedAVChatRoomList.clear(),this._receiptDetailCompleteMap.clear(),this._onlineMemberCountMap.clear(),this._commonGroupHandler.reset(),this._groupSystemNoticeHandler.reset(),this._groupTipsHandler.reset(),this._groupAttributesHandler.reset(),this._groupCountersHandler.reset(),this._AVChatRoomHandler.reset(),this._groupMemberHandler.reset(),this._clearTimeoutIDs()}}export{Bo as default}; |