@ckeditor/ckeditor5-real-time-collaboration 47.4.0-alpha.5 → 47.4.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x4cb85d,Plugin as _0x532c83,PendingActions as _0x37736b,Context as _0x31709a}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4ee733,CKEditorError as _0xa9b19,Collection as _0x3c6690,global as _0x553c6f,version as nt,uid as _0x2974f1,KeystrokeHandler as _0x4896af}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2ad1d6,View as _0x2153f8,ListView as _0x3466f8,ListItemView as et,LabelView as ot,BalloonPanelView as _0x15a511,clickOutsideHandler as _0x34db55,BodyCollection as _0x51fd37}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4bf6b4,History as _0x38e4be,NoOperation as _0x28f9e4,InsertOperation as _0x5aa108,MarkerOperation as _0x295f41,RootAttributeOperation as _0x210995,transformOperationSets as _0x399e35,OperationFactory as _0x1ba137}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x5b0dbe,CollaborativeEditingService as _0x51f844,User as at,CommentsService as _0x59ea95,TrackChangesService as _0x3ff928,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1a7c05,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3bde43}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x76099f}from'es-toolkit/compat';class n extends _0x4cb85d{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2ad1d6];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x390de1){super(_0x390de1),this['set']('state',_0x5b0dbe['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4ee733())();}['init'](){const _0x2337a9=this['context'],_0x21fe0d=_0x2337a9['plugins']['get']('CloudServices'),_0x32727c=_0x2337a9['plugins']['get'](_0x2ad1d6);if(!_0x21fe0d['token'])throw new _0xa9b19('websocketgateway-missing-token',this);if(!_0x21fe0d['webSocketUrl'])throw new _0xa9b19('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x21fe0d['token'],_0x21fe0d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1b1dbb=>{if(this['connection']=_0x1b1dbb,this['bind']('state')['to'](_0x1b1dbb,'state',this,'_isBrowserOffline',(_0x5b8311,_0x431e60)=>('connected'!==_0x5b8311&&(this['_shouldPluginsReconnect']=!0x0),_0x431e60||_0x5b8311!==_0x5b0dbe['CONNECTED']?_0x5b0dbe['DISCONNECTED']:this['state']==_0x5b0dbe['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x5b0dbe['CONNECTING']):_0x5b0dbe['CONNECTED'])),this['connection']['on']('error',(_0x279cf3,_0x5bfcee)=>{if('limitExceeded'!==_0x5bfcee['code'])throw console['error'](_0x5bfcee),new _0xa9b19('cloudservices-init',null,{'originalError':_0x5bfcee});_0x32727c['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x1b1dbb['me'])return new Promise(_0x3f8c6f=>_0x1b1dbb['on']('change:me',_0x3f8c6f));})['catch'](_0x5cbdf9=>{throw console['error'](_0x5cbdf9),new _0xa9b19('cloudservices-init',null,{'originalError':_0x5cbdf9});});}['addToReconnectionStack'](_0x177fdb){if('function'!=typeof _0x177fdb['reconnect'])throw new _0xa9b19('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x177fdb))throw new _0xa9b19('websocketgateway-plugin-already-registered',this,{'name':_0x177fdb['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x177fdb);}['removeFromReconnectionStack'](_0x5dbe60){this['_reconnectionStack']['delete'](_0x5dbe60);}['isInReconnectionStack'](_0x19a989){return this['_reconnectionStack']['has'](_0x19a989);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x121092=>_0x121092['reconnect']())))['then'](()=>this['state']=_0x5b0dbe['CONNECTED'])['catch'](_0x445d01=>{throw console['error'](_0x445d01),new _0xa9b19('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x5b0dbe['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x4cb85d{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x1a7c05];}constructor(_0x4edefa){super(_0x4edefa),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3c6690(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1a7c05);}['init'](){const _0x37530e=this['context']['plugins']['get'](n);this['listenTo'](_0x37530e,'change:state',(_0x1968ba,_0x2a3125,_0x4d57e7)=>{if('connected'!==_0x4d57e7)this['channelSessions']['forEach'](_0x2e62c6=>_0x2e62c6['clear']()),this['channelConnectedUsers']['forEach'](_0x19da2a=>_0x19da2a['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5577ed,_0x5eccf8]of this['_registeredSessions'])for(const _0x90510a of _0x5eccf8)this['_handleSessionAdd'](_0x5577ed,_0x90510a);}}),this['_createUser'](_0x37530e['connection']['me'],!0x0);}['register'](_0x52210c,_0x30c3ad){if(this['_registeredSessions']['has'](_0x52210c))throw new _0xa9b19('sessions-register-already-registered',null,{'channelId':_0x52210c});this['_registeredSessions']['set'](_0x52210c,_0x30c3ad),this['channelSessions']['set'](_0x52210c,new _0x3c6690()),this['channelConnectedUsers']['set'](_0x52210c,new _0x3c6690()),this['listenTo'](_0x30c3ad,'add',(_0x57da7d,_0x397954)=>this['_handleSessionAdd'](_0x52210c,_0x397954)),this['listenTo'](_0x30c3ad,'remove',(_0x2545da,_0x48e630)=>this['_handleSessionRemove'](_0x52210c,_0x48e630));for(const _0x4bd2dd of _0x30c3ad)this['_handleSessionAdd'](_0x52210c,_0x4bd2dd);}['unregister'](_0x1d897f){if(!this['_registeredSessions']['has'](_0x1d897f))throw new _0xa9b19('sessions-unregister-not-exist',null,{'channelId':_0x1d897f});const _0xfe04bd=this['_registeredSessions']['get'](_0x1d897f);this['stopListening'](_0xfe04bd);for(const _0x515005 of _0xfe04bd)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1d897f,_0x515005);this['_registeredSessions']['delete'](_0x1d897f),this['channelSessions']['delete'](_0x1d897f),this['channelConnectedUsers']['delete'](_0x1d897f);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x2bae80){for(const _0x3a4a9e of this['channelSessions']['values']())for(const _0x3da473 of _0x3a4a9e)if(_0x3da473['id']===_0x2bae80)return _0x3da473['user'];}['getUserSessions'](_0x39189c,_0x606004){const _0xe58e73=_0x606004?[this['channelSessions']['get'](_0x606004)]:this['channelSessions']['values'](),_0x140fc5=new Set();for(const _0x566d96 of _0xe58e73)for(const _0x4e03e1 of _0x566d96)_0x4e03e1['user']['id']===_0x39189c['id']&&_0x140fc5['add'](_0x4e03e1['id']);return _0x140fc5;}['getUserRole'](_0x46041d){for(const _0x14370b of this['channelSessions']['values']())for(const _0x52acfe of _0x14370b)if(_0x52acfe['user']===_0x46041d)return _0x52acfe['role'];}['_handleSessionAdd'](_0x717e26,_0x4a21b0){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x9dd620=_0x4a21b0['user'],_0x159fb7=this['_users']['getUser'](_0x9dd620['id'])||this['_createUser'](_0x9dd620),_0x58ca61=Object['assign']({},_0x4a21b0,{'user':_0x159fb7});if(this['channelSessions']['get'](_0x717e26)['add'](_0x58ca61),!_0x9dd620['hiddenInPresenceList']){const _0x18c40a=this['channelConnectedUsers']['get'](_0x717e26);_0x18c40a['has'](_0x159fb7['id'])||_0x18c40a['add'](_0x159fb7),this['allConnectedUsers']['has'](_0x159fb7['id'])||_0x9dd620['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x159fb7,_0x159fb7['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x717e26,{'channelId':_0x717e26,'session':_0x58ca61});}['_handleSessionRemove'](_0x30e533,_0x146c4f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x8ed00=this['channelConnectedUsers']['get'](_0x30e533),_0x3dbd29=_0x146c4f['user'];_0x3dbd29['id']&&(this['channelSessions']['get'](_0x30e533)['remove'](_0x146c4f['id']),_0x8ed00['has'](_0x3dbd29['id'])&&!this['getUserSessions'](_0x3dbd29,_0x30e533)['size']&&_0x8ed00['remove'](_0x3dbd29['id']),this['allConnectedUsers']['get'](_0x3dbd29['id'])&&!this['getUserSessions'](_0x3dbd29)['size']&&this['allConnectedUsers']['remove'](_0x3dbd29['id']));}['_createUser'](_0x1e7591,_0x2663cb){const _0x4325f4=this['_users']['addUser'](_0x1e7591);return _0x2663cb&&this['_users']['defineMe'](_0x1e7591['id']),_0x4325f4['orderNumber']=this['_uniqueUsersCount']++,_0x4325f4;}}class W extends _0x532c83{['_domEmitter']=new(_0x4ee733())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x36893e=this['editor'],_0x27a538=_0x36893e['plugins']['get'](i);_0x36893e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5d4b18,{writer:_0x219002})=>function(_0x4c2192,_0x145721,_0x318a83,_0x37a74f){const _0x254bde=_0x4c2192['markerName']['split'](':')[0x2],_0x2b7206=_0x318a83['getUserBySessionId'](_0x254bde);if(!_0x2b7206||_0x254bde===_0x318a83['mySessionId'])return;if(!_0x37a74f['model']['schema']['checkChild'](_0x4c2192['markerRange']['start'],'$text'))return;const _0x1c6789={'class':'ck-user__marker\x20'+_0x2b7206['color']['getMarkerClass'](),'data-name':_0x2b7206['name'],'data-session-id':_0x254bde},_0x5844fa=_0x37a74f['model']['markers']['get'](_0x4c2192['markerName']),_0x1ba2d3=_0x5844fa['getStart'](),_0x35f84b=_0x1ba2d3['nodeAfter'],_0x1d5ce2=_0x37a74f['model']['schema'];if(_0x35f84b&&_0x1d5ce2['isObject'](_0x35f84b)&&_0x1d5ce2['isInline'](_0x35f84b)&&!_0x37a74f['model']['markers']['get']('user:range:'+_0x254bde)['getRange']()['isCollapsed'])return;const _0x25ae13=_0x1ba2d3['parent'];return _0x37a74f['model']['schema']['isLimit'](_0x25ae13)&&!_0x37a74f['model']['hasContent'](_0x25ae13)&&(_0x1c6789['contenteditable']=!0x1),function(_0x5a22e9,_0x3a06a1,_0x23c463){const _0x5a4c40=_0x5a22e9['createUIElement']('span',_0x3a06a1);return _0x5a22e9['setCustomProperty']('userPositionMarker',!0x0,_0x5a4c40),_0x5a4c40['render']=function(_0x3ea42a){const _0x2d0855=this['toDomElement'](_0x3ea42a),_0x392832=document['createElement']('span');return _0x392832['classList']['add']('ck-user__marker-tooltip'),_0x392832['setAttribute']('contenteditable','false'),_0x392832['setAttribute']('spellcheck','false'),_0x392832['textContent']=_0x23c463['name'],_0x2d0855['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x392832['outerHTML']+'⁠',_0x2d0855['addEventListener']('mouseenter',()=>{_0x2d0855['classList']['add']('ck-user__marker_hovered');}),_0x2d0855['addEventListener']('mouseleave',()=>{_0x2d0855['classList']['remove']('ck-user__marker_hovered');}),_0x2d0855;},_0x5a4c40['isSimilar']=function(_0x3f2153){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3f2153['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3f2153['getAttribute']('data-session-id'));},_0x5a4c40;}(_0x145721,_0x1c6789,_0x2b7206);}(_0x5d4b18,_0x219002,_0x27a538,_0x36893e)}),_0x36893e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x33980e=>function(_0x281de2,_0x4a68c5){const _0x1d7635=_0x281de2['markerName']['split'](':')[0x2];if(_0x1d7635===_0x4a68c5['mySessionId'])return null;const _0x3beb7a=_0x4a68c5['getUserBySessionId'](_0x1d7635);if(!_0x3beb7a)return{'id':_0x1d7635,'classes':[]};return{'id':_0x1d7635,'classes':['ck-user__selection',_0x3beb7a['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1d7635},'priority':0x7d0+_0x3beb7a['orderNumber']};}(_0x33980e,_0x27a538)}),function(_0x474d8a){const _0x3be3dd=_0x474d8a['model'],_0x1f3e22=new Map(),_0x24c4ca=_0x474d8a['plugins']['get'](i);_0x3be3dd['markers']['on']('update:user:range',(_0x17f008,_0x3bb61c,_0x35b0b0,_0x52a0de)=>{if(!_0x52a0de&&_0x1f3e22['get'](_0x3bb61c['name']))return _0x1f3e22['get'](_0x3bb61c['name'])['detach'](),void _0x1f3e22['delete'](_0x3bb61c['name']);const _0x286dbb=_0x3bb61c['name']['split'](':')[0x2];if(_0x286dbb===_0x24c4ca['mySessionId'])return;const _0x3aac00='user:position:'+_0x286dbb;_0x3be3dd['markers']['has'](_0x3aac00)&&_0x474d8a['editing']['reconvertMarker'](_0x3aac00),_0x3bb61c['on']('change:range',(_0x11c811,_0x3bb547,_0x412467)=>{if('$graveyard'!=_0x3bb547['root']['rootName']&&'$graveyard'==_0x3bb61c['getRange']()['root']['rootName']&&!_0x1f3e22['has'](_0x3bb61c['name'])){const _0x32e970=_0x3be3dd['schema']['getNearestSelectionRange'](_0x412467['deletionPosition']);if(_0x32e970){const _0xa0d045=_0x4bf6b4['fromRange'](_0x32e970);_0x1f3e22['set'](_0x3bb61c['name'],_0xa0d045),_0xa0d045['on']('change:range',(_0x2926f4,_0x22156f,_0x124087)=>{if('$graveyard'==_0xa0d045['root']['rootName']){const _0x127e2d=_0x3be3dd['schema']['getNearestSelectionRange'](_0x124087['deletionPosition']);_0x127e2d?(_0xa0d045['start']=_0x127e2d['start'],_0xa0d045['end']=_0x127e2d['end']):(_0x1f3e22['delete'](_0x3bb61c['name']),_0xa0d045['detach']());}});}}});}),_0x3be3dd['document']['on']('change',()=>{_0x1f3e22['size']>0x0&&_0x3be3dd['enqueueChange']({'isUndoable':!0x1},_0x1acdb8=>{for(const [_0x232126,_0x111827]of _0x1f3e22)'$graveyard'==_0x3be3dd['markers']['get'](_0x232126)['getRange']()['root']['rootName']&&(re(_0x232126['split'](':')[0x2],_0x111827['toRange'](),_0x3be3dd,_0x1acdb8),_0x111827['detach']());_0x1f3e22['clear']();});});}(_0x36893e),this['_domEmitter']['listenTo'](_0x553c6f['document'],'keydown',(_0x47ed33,{key:_0x3e75bb})=>{'Escape'===_0x3e75bb&&function(_0x1bd36d){_0x1bd36d['editing']['view']['change'](_0x5fcc35=>{for(const _0x4cbfc0 of _0x1bd36d['model']['markers']){if(!_0x4cbfc0['name']['startsWith']('user:position'))continue;const _0x3fb689=_0x1bd36d['editing']['mapper']['markerNameToElements'](_0x4cbfc0['name']);if(_0x3fb689){for(const _0x3d4295 of _0x3fb689)_0x5fcc35['removeClass']('ck-user__marker_hovered',_0x3d4295);}}});}(_0x36893e);},{'useCapture':!0x0});}['afterInit'](){const _0x5b6539=this['editor'],_0x201a24=_0x5b6539['commands']['get']('undo');_0x201a24&&_0x5b6539['model']['on']('applyOperation',(_0x40d6db,_0x4d4726)=>{const _0x1a9055=_0x4d4726[0x0];if(!_0x1a9055['isDocumentOperation'])return;if('marker'!=_0x1a9055['type']||!_0x1a9055['name']['startsWith']('user:'))return;const _0x39e1ea=_0x1a9055['batch'];_0x201a24['_createdBatches']['has'](_0x39e1ea)&&(_0x1a9055['newRange']=_0x1a9055['oldRange']?_0x5b6539['model']['createRange'](_0x1a9055['oldRange']['start'],_0x1a9055['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x559dc1=this['editor'],_0x3c2445=_0x559dc1['model']['document'],_0x26fd89=_0x559dc1['plugins']['get'](i);_0x559dc1['model']['enqueueChange']({'isUndoable':!0x1},_0x4ba919=>{const _0xe3201='user:range:'+_0x26fd89['mySessionId'],_0x42e8a4='user:position:'+_0x26fd89['mySessionId'],_0x59c3d4=_0x559dc1['model']['markers']['has'](_0xe3201);_0x559dc1['editing']['view']['hasDomSelection']?re(_0x26fd89['mySessionId'],_0x3c2445['selection']['getFirstRange'](),_0x559dc1['model'],_0x4ba919):_0x59c3d4&&(_0x4ba919['removeMarker'](_0xe3201),_0x4ba919['removeMarker'](_0x42e8a4));});}}function re(_0x2bfe10,_0x2147e1,_0x563483,_0x3eced7){const _0x2a7f11='user:range:'+_0x2bfe10,_0x48a052='user:position:'+_0x2bfe10,_0x843f02=_0x2147e1['getContainedElement']();let _0x1367e2=_0x2147e1['start'];if(_0x843f02&&_0x843f02['is']('element','tableCell')){const _0x394e68=function(_0x18b77f,_0x775fee){for(const _0xeda196 of _0x18b77f['getPositions']())if(_0x775fee['schema']['checkChild'](_0xeda196,'$text'))return _0xeda196;}(_0x2147e1,_0x563483);_0x394e68&&(_0x1367e2=_0x394e68,_0x2147e1=_0x3eced7['createRange'](_0x1367e2));}const _0x517fdd=_0x3eced7['createRange'](_0x1367e2);_0x563483['markers']['has'](_0x2a7f11)?(_0x3eced7['updateMarker'](_0x2a7f11,{'range':_0x2147e1}),_0x3eced7['updateMarker'](_0x48a052,{'range':_0x517fdd})):(_0x3eced7['addMarker'](_0x2a7f11,{'range':_0x2147e1,'usingOperation':!0x0}),_0x3eced7['addMarker'](_0x48a052,{'range':_0x517fdd,'usingOperation':!0x0}));}function q(_0x1fdb68,_0x19ac56,_0x5916e3){const _0x4158b4=_0x1fdb68['t'],t=_0x1fdb68['t'];switch(_0x19ac56){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x4158b4({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x5916e3);default:return'';}}let K=0x1;class l extends _0x532c83{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x51f844)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,W,_0x37736b,_0x1a7c05,_0x2ad1d6];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x46edba=this['serverHistory']['getOperations']();for(let _0x268de6=_0x46edba['length']-0x1;_0x268de6>=0x0;_0x268de6--){const _0x5a9cb6=_0x46edba[_0x268de6];if(!this['_disconnectionOperations']['has'](_0x5a9cb6))return _0x5a9cb6['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x48ca18){if(super(_0x48ca18),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x38e4be(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xa9b19('collaboration-missing-channelid',this);const _0x43b315=_0x48ca18['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x43b315,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3bde43(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new X(this['_disconnectionOperations']);}['init'](){const _0x568a8b=this['editor'],_0x3168d6=_0x568a8b['plugins']['get'](_0x1a7c05),_0x54fc9f=_0x568a8b['plugins']['get'](n);this['listenTo'](_0x3168d6,'getOperationAuthor',(_0x25a7a4,_0x123056)=>{const _0x350c1d=_0x123056[0x0];_0x350c1d['_authorId']&&(_0x25a7a4['return']=_0x3168d6['getUser'](_0x350c1d['_authorId']),_0x25a7a4['stop']()),null===_0x350c1d['_authorId']&&(_0x25a7a4['return']=null,_0x25a7a4['stop']());},{'priority':'high'}),this['listenTo'](_0x568a8b['model']['document']['selection'],'change:range',(_0x2bc5f3,_0x336c20)=>{_0x336c20['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x568a8b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x568a8b['model']['on']('applyOperation',(_0x3ebe22,_0x2ec07d)=>{const _0x10272c=_0x2ec07d[0x0];_0x10272c['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x10272c),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x54fc9f,'state',this,'_hasSynchronizationProblem',(_0x34b511,_0x3b4ea9)=>'connected'===_0x34b511&&!_0x3b4ea9),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x568a8b['disableReadOnlyMode']('rtc-offline'):_0x568a8b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x568a8b['disableReadOnlyMode']('rtc-offline'):_0x568a8b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1675e4=this['editor']['plugins']['get'](i),_0x5eb20b=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x1675e4['unregister'](this['_channelId']);const _0x1c79cc=await this['_service']['reconnect'](_0x5eb20b['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1c79cc)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0xdbf584=await this['_service']['getConnectedSessions']();_0x1675e4['register'](this['_channelId'],_0xdbf584),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x18f189){if(function(_0x47b17b){return'404'===_0x47b17b['code'];}(_0x18f189)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5312ff){return'409'===_0x5312ff['code'];}(_0x18f189)){const _0x41bcb6=q(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x41bcb6);}else{if(!(_0x18f189 instanceof J))throw _0x18f189;this['_handleReconnectionError']();}}}}['destroy'](){const _0x23862c=this['editor']['plugins']['get'](n),_0x5bcca7=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5bcca7['channelSessions']['has'](this['_channelId'])&&_0x5bcca7['unregister'](this['_channelId']),_0x23862c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x58c4fd){if(this['sessionId']!==_0x58c4fd['sessionId']&&this['_lastSyncedOperationId']!==_0x58c4fd['lastOperationId'])throw new J();return this['sessionId']=_0x58c4fd['sessionId'],this['_handleServerResponse']([],{..._0x58c4fd,'wereChangesApplied':!0x1,'data':_0x58c4fd['data']},'reconnect');}async['_connectService'](_0x56e0d6,_0x2f9b58=!0x1){const {connection:_0x4afd45}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4afd45,this['_channelId'])['then'](_0xd904da=>this['_initSessionsHandling'](_0xd904da))['catch'](_0x29ce30=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x29ce30);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x408c77,_0x58ddc1)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x58ddc1);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x17cc6f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x56e0d6);this['_isPendingUpdate']=!0x0;const _0x34ce11=await this['_service']['connect'](_0x4afd45,this['_compressOperations'](_0x56e0d6),_0x17cc6f);if(this['sessionId']=_0x34ce11['sessionId'],_0x2f9b58){if(!_0x34ce11['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x34ce11['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x56e0d6,_0x34ce11,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x34ce11,_0x56e0d6);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1f64a1=this['editor']['plugins']['get'](i),_0x177992=this['editor']['plugins']['get'](W),_0x3607b6=_0x1f64a1['channelSessions']['get'](this['_channelId']);_0x3607b6&&_0x3607b6['length']>0x1?_0x177992['createUserMarkerOperations']():this['listenTo'](_0x1f64a1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1f64a1['channelSessions']['get'](this['_channelId'])['length']&&_0x177992['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x6aa47d,_0x4aa88c,_0x35f6c8,_0x45e189){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x4aa88c){const _0x279857=this['_decompressOperations'](_0x35f6c8,_0x45e189);await this['_fetchMissingUsers'](_0x279857),this['_handleExternalOperations'](_0x279857,_0x4aa88c,_0x35f6c8['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x103886}=this['editor'];let _0x24178b;try{_0x24178b=await this['_service']['getDocumentDetails']();}catch{const _0x3e9164=q(_0x103886,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3e9164);}const _0x52fe44=_0x24178b['currentDocumentSession']||_0x24178b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x52fe44['lastOperationId']){const _0x3b91ef=q(_0x103886,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3b91ef);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x1c6bd5){const _0x37e58b=this['editor']['plugins']['get'](i);this['listenTo'](_0x37e58b,'sessionAdd:'+this['_channelId'],(_0x37cc5b,{session:_0x281cd5})=>{if(_0x281cd5['id']===_0x37e58b['mySessionId']){_0x37cc5b['off']();const _0x13e7a6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3e9f11=_0x281cd5['permissions'];_0x13e7a6&&_0x13e7a6['isEnabled']&&(_0x3e9f11=_0x3e9f11['filter'](_0x2c51b9=>'document:write'!==_0x2c51b9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3e9f11,this['_channelId']);}}),_0x37e58b['register'](this['_channelId'],_0x1c6bd5);}['_initThrowingOnDataSet'](){const _0x43b700=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5d84a1)=>{if(!_0x5d84a1[_0x5d84a1['length']-0x1]['suppressErrorInCollaboration'])throw new _0xa9b19('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x43b700['apply'](this['editor']['data'],_0x5d84a1);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3d8812,[_0x586919])=>{if(this['_document']['version'])throw new _0xa9b19('realtimecollaborationclient-init-document-already-initialized',this);_0x3d8812['stop'](),this['_setPendingAction']();const _0x197395=this['editor']['config']['get']('rootsAttributes'),_0x2f4979=this['_getOperationsFromInitData'](_0x586919,_0x197395);0x0==_0x2f4979['length']&&_0x2f4979['push'](new _0x28f9e4(0x0)),_0x3d8812['return']=this['_connectService'](_0x2f4979)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3fd632=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3fd632))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x29f4f8,[_0x33d5a2,_0x103a88])=>{_0x29f4f8['stop']();const _0x40f768=this['editor']['model']['document']['getRoot'](_0x33d5a2);if(!this['_knownRootNames']['has'](_0x33d5a2)){const _0xa03b41=_0x103a88&&_0x103a88['data']?_0x103a88['data']:'',_0x399efb=_0x103a88&&_0x103a88['attributes']?_0x103a88['attributes']:{};await this['_loadRoot'](_0x33d5a2,_0xa03b41,_0x399efb);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x40f768['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x40f768);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x33fe31){const _0x448bd5=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0xf075ef}=this['editor']['plugins']['get'](n),_0x124b61=new Set();for(const _0x49a80f of _0x33fe31){const _0x3e53e8=_0x49a80f['_authorId'];_0x3e53e8&&!_0x448bd5['getUser'](_0x3e53e8)&&_0x124b61['add'](_0x3e53e8);}if(0x0===_0x124b61['size'])return;const _0x10643a=await at['getMany'](_0xf075ef,Array['from'](_0x124b61));for(const _0x44307f of _0x10643a)_0x448bd5['getUser'](_0x44307f['id'])||_0x448bd5['addUser'](_0x44307f);}['_getOperationsFromInitData'](_0x5bcab5,_0x5d4f52={}){const _0x4ae089=this['editor']['model'],_0x2dfb30=[];let _0x4f154b=0x0;const _0x2b952d='string'==typeof _0x5bcab5?{'main':_0x5bcab5}:_0x5bcab5;for(const _0x42dc48 of Object['keys'](_0x2b952d)){if(!this['_document']['roots']['has'](_0x42dc48))throw new _0xa9b19('realtimecollaborationclient-init-non-existent-root',this);const _0x21fa36=this['editor']['data']['parse'](_0x2b952d[_0x42dc48]),_0x201ba0=this['_document']['getRoot'](_0x42dc48),_0xadb362=new _0x5aa108(_0x4ae089['createPositionAt'](_0x201ba0,0x0),_0x21fa36,_0x4f154b++);_0x2dfb30['push'](_0xadb362);for(const [_0x6c4f0f,_0x50ab67]of _0x21fa36['markers']){const _0x32fd42=_0x4ae089['createRange'](_0x4ae089['createPositionFromPath'](_0x201ba0,_0x50ab67['start']['path']['slice']()),_0x4ae089['createPositionFromPath'](_0x201ba0,_0x50ab67['end']['path']['slice']())),_0x59fb10=new _0x295f41(_0x6c4f0f,null,_0x32fd42,_0x4ae089['markers'],!0x0,_0x4f154b++);_0x2dfb30['push'](_0x59fb10);}}if(_0x5d4f52)for(const [_0xc76d24,_0x26b2ce]of Object['entries'](_0x5d4f52)){const _0x9494ae=_0x4ae089['document']['getRoot'](_0xc76d24);if(!_0x9494ae)throw new _0xa9b19('multi-root-editor-root-attributes-no-root',null);for(const [_0x1b1818,_0x539a03]of Object['entries'](_0x26b2ce))if(null!==_0x539a03){const _0x416491=new _0x210995(_0x9494ae,_0x1b1818,null,_0x539a03,_0x4f154b++);_0x2dfb30['push'](_0x416491);}}return _0x2dfb30;}async['_loadRoot'](_0x2f646a,_0x5e3692,_0x47e6e7){this['_getOperationsFromInitData']({[_0x2f646a]:_0x5e3692},{[_0x2f646a]:_0x47e6e7})['forEach']((_0x2dd9e1,_0x378ac8)=>{_0x2dd9e1['baseVersion']=this['_document']['version']+_0x378ac8,_0x2dd9e1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2dd9e1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x373a0c,_0xdc861a){let _0x320d32;this['_offset']=_0x373a0c['offset'];const _0x1c1c79=_0x373a0c['wereChangesApplied']&&!_0x373a0c['initData'],_0x59518f=_0x1c1c79?0x0:_0x373a0c['data']['baseVersion'];if(_0xdc861a['forEach'](_0x417191=>{_0x417191['_isInit']=!0x0,_0x417191['createdAt']=_0x373a0c['sessionCreatedAt'],_0x417191['_authorId']=null;}),_0x1c1c79)_0x320d32=_0xdc861a,this['_applyOperationsSet'](_0x320d32,_0x1c1c79);else{if(_0x373a0c['initData']){const _0x1810b7=this['_getOperationsFromInitData'](_0x373a0c['initData']);this['_document']['history']['version']=-_0x1810b7['length'],_0x1810b7['forEach'](_0xcb4110=>{_0xcb4110['baseVersion']-=_0x1810b7['length'],_0xcb4110['createdAt']=_0x373a0c['sessionCreatedAt'],_0xcb4110['_isInit']=!0x0,_0xcb4110['_authorId']=null;}),this['_applyOperationsSet'](_0x1810b7,!0x0),this['serverHistory']['version']=-_0x1810b7['length']+this['_offset'],this['_updateServerHistory'](_0x1810b7);}this['_document']['history']['version']=_0x59518f,_0x320d32=this['_decompressOperations'](_0x373a0c['data'],_0x373a0c['metadata']),await this['_fetchMissingUsers'](_0x320d32),this['_applyOperationsSet'](_0x320d32,_0x1c1c79);}_0x373a0c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x320d32,_0x373a0c['lastOperationId']),this['_lastSyncedOperationId']=_0x373a0c['lastOperationId']),this['serverHistory']['version']=_0x59518f+this['_offset'],this['_updateServerHistory'](_0x320d32),_0xdc861a['filter'](_0x562446=>{const _0x754463=this['_getAffectedRoot'](_0x562446);return _0x754463&&!this['_knownRootNames']['has'](_0x754463);})['forEach']((_0x6a6b7a,_0x458c00)=>{_0x6a6b7a['baseVersion']=this['_document']['version']+_0x458c00,this['_saveOperationInBuffer'](_0x6a6b7a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3d7b42,_0x58bd71){const _0x40d979=_0x58bd71&&_0x58bd71['message'];if(_0x40d979&&_0x40d979['startsWith']('realtimecollaborationclient'))throw _0x58bd71;const _0x349f35=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x349f35['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xa9b19(_0x3d7b42,this['editor'],_0x40d979?{'originalError':_0x40d979}:void 0x0);}['_saveOperationInBuffer'](_0x3f9542){this['_knownOperations']['has'](_0x3f9542)||(this['_knownOperations']['add'](_0x3f9542),this['_bufferedOperations']['push'](_0x3f9542),this['_pendingAction']||'marker'==_0x3f9542['type']&&!_0x3f9542['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2986ea=!0x1){!_0x2986ea&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0xeddd31=>{_0xeddd31&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x2582dc=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x537c1a){return _0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x537c1a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x2582dc)||this['_crash'](_0x2582dc['message'],_0x2582dc);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x45cdb3=>{this['on']('change:_isPendingUpdate',()=>{_0x45cdb3();});});}async['_sendBufferedOperations'](){const _0x2d309b=this['editor']['plugins']['get'](W);if(this['_shouldSendSelectionUpdate']()&&(_0x2d309b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x480e45=[...this['_bufferedOperations']];for(const _0x4ae24e of _0x480e45)_0x4ae24e['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x4ae24e);const _0x340fa7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x480e45),_0x29e112=K++,_0x3e74e9=this['_compressOperations'](_0x480e45),_0x2fa4d5=await this['_service']['sendOperations'](_0x3e74e9,_0x3e74e9['baseVersion'],_0x340fa7);try{return await this['_handleServerResponse'](_0x480e45,_0x2fa4d5,_0x29e112);}catch(_0x1b2116){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1b2116);}}async['_handleServerResponse'](_0x5a649d,_0x12dbe3,_0x34182c){if('error'in _0x12dbe3)throw _0x12dbe3['error'];let _0x583c3a=!0x1;if(_0x12dbe3['wereChangesApplied']){_0x12dbe3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x12dbe3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4aa520=>!_0x5a649d['includes'](_0x4aa520));for(const _0x1678ad of _0x5a649d)_0x1678ad['createdAt']='lastOperationAcceptedAt'in _0x12dbe3&&_0x12dbe3['lastOperationAcceptedAt']||void 0x0;Q(_0x5a649d,_0x12dbe3['version']-_0x5a649d['length']),this['_updateServerHistory'](_0x5a649d);const _0x562672=_0x5a649d['filter'](_0x1cca95=>{if(!_0x1cca95['_isInit'])return!0x1;const _0x8a65e1=this['_getAffectedRoot'](_0x1cca95);return _0x8a65e1&&!this['_knownRootNames']['has'](_0x8a65e1);});Q(_0x562672,this['_document']['version']),this['_applyOperationsSet'](_0x562672),_0x583c3a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x351645=this['_decompressOperations'](_0x12dbe3['data'],_0x12dbe3['metadata'])['filter'](_0x3b3144=>_0x3b3144['baseVersion']>=this['_lastServerVersion']);_0x351645['forEach'](_0x4bbf46=>this['_addKnownRoot'](_0x4bbf46)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5742b4=>!_0x5742b4['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5742b4))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x351645),_0x583c3a=this['_handleExternalOperations'](_0x351645,_0x12dbe3['version'],_0x12dbe3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x583c3a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x19d56c,_0x5eb343,_0x40f79b){try{const _0x48284c={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x2fb7c6,operationsB:_0xd0210a,originalOperations:_0x9498ca}=_0x399e35(_0x19d56c,this['_bufferedOperations'],_0x48284c);Q(_0x2fb7c6,this['_document']['version']),Q(_0xd0210a,_0x5eb343);for(const _0x5c8c5d of _0x2fb7c6){const _0x474e1d=_0x9498ca['get'](_0x5c8c5d);_0x5c8c5d['_authorId']=_0x474e1d?_0x474e1d['_authorId']:null;}_0x40f79b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x19d56c,_0x40f79b),this['_lastSyncedOperationId']=_0x40f79b),this['_bufferedOperations']=[..._0xd0210a],this['_applyOperationsSet'](_0x2fb7c6),this['_updateServerHistory'](_0x19d56c);}catch(_0x41e527){return console['error'](_0x41e527),!0x1;}return!0x0;}['_applyOperationsSet'](_0x56a3d1,_0x434f9a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x529e00=>{for(const _0x3f5ef4 of _0x56a3d1)this['_knownOperations']['add'](_0x3f5ef4),this['_addKnownRoot'](_0x3f5ef4),_0x529e00['batch']['addOperation'](_0x3f5ef4),this['editor']['model']['applyOperation'](_0x3f5ef4);});}['_addKnownRoot'](_0x2e433a){const _0x406be7=this['_getAffectedRoot'](_0x2e433a);_0x406be7&&this['_knownRootNames']['add'](_0x406be7);}['_getAffectedRoot'](_0x25d167){let _0x347d20,_0xcd2021;switch(_0x25d167['type']){case'insert':_0x347d20=_0x25d167['position']['root'];break;case'marker':if(_0xcd2021=_0x25d167['newRange'],!_0xcd2021)return null;_0x347d20=_0xcd2021['root'];break;case'addRootAttribute':_0x347d20=_0x25d167['root'];break;case'addRoot':_0x347d20=_0x25d167['affectedSelectable'];break;case'move':_0x347d20=_0x25d167['targetPosition']['root'];break;default:return null;}return _0x347d20['rootName'];}['_updateServerHistory'](_0x9e85e4){_0x9e85e4['forEach'](_0x55da5f=>{const _0x337bfe=_0x55da5f['clone']();_0x337bfe['_authorId']=_0x55da5f['_authorId'],_0x337bfe['_isInit']=!!_0x55da5f['_isInit'],_0x337bfe['createdAt']=_0x55da5f['createdAt'],_0x337bfe['baseVersion']+=this['_offset'],_0x55da5f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x337bfe),this['serverHistory']['addOperation'](_0x337bfe);});}['_handleReconnectionError'](_0x30475c){const _0x2e380a=this['editor']['plugins']['get']('Notification'),_0x335e1a=this['editor']['locale'];_0x30475c||(_0x30475c=q(_0x335e1a,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x2e380a['showWarning'](_0x30475c,{'title':q(_0x335e1a,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x37736b)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x37736b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x916854){const _0xeb9dd=_0x916854['map'](_0x385238=>_0x385238['toJSON']());return this['_compressor']['compress'](_0xeb9dd);}['_decompressOperations'](_0x1b209d,_0x466034){return this['_compressor']['decompress'](_0x1b209d)['map']((_0x55cfac,_0x14ca0e)=>{const _0x35f982='init'==_0x466034[_0x14ca0e]['type'];if('InsertOperation'==_0x55cfac['__className']){const _0x4aaf12=_0x55cfac['position']['root'];!this['_document']['getRoot'](_0x4aaf12)&&(this['_document']['createRoot']('$root',_0x4aaf12)['_isAttached']=!0x1);}const _0x26593c=_0x1ba137['fromJSON'](_0x55cfac,this['_document']);return _0x26593c['wasUndone']=_0x55cfac['wasUndone'],_0x26593c['_isInit']=_0x35f982,_0x26593c['_authorId']=_0x35f982?null:_0x466034[_0x14ca0e]['userId'],_0x26593c['_isDisconnection']='cs:removeUser'===_0x466034[_0x14ca0e]['type'],_0x26593c['createdAt']=_0x466034[_0x14ca0e]['createdAt'],_0x26593c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x1aad31=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1aad31&&_0x1aad31['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0x509d60,_0x5f3a10){for(const _0x25b49f of _0x509d60)_0x25b49f['baseVersion']=_0x5f3a10++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x2233ae){this['_ignoredOperations']=_0x2233ae,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x18dbc6){let _0x3af197=_0x18dbc6['length'];for(;_0x3af197--;){const _0x520359=_0x18dbc6[_0x3af197];if(!this['_ignoredOperations']['has'](_0x520359)){if(!this['_operationToId']['has'](_0x520359)){const _0x2962b1=_0x2974f1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x520359,_0x2962b1);}return this['_operationToId']['get'](_0x520359);}}}['setIdForTheLastOperation'](_0x55930b,_0x14695a){if(!_0x14695a)return;let _0x3486f9=_0x55930b['length'];for(;_0x3486f9--;){const _0x53273f=_0x55930b[_0x3486f9];this['_ignoredOperations']['has'](_0x53273f)||this['_operationToId']['set'](_0x53273f,_0x14695a);}}}class a extends _0x532c83{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4cb85d{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x59ea95)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1a7c05];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f0437){super(_0x4f0437),this['_services']=new Map();}async['init'](){const _0x24c8a9=this['context'],_0x161879=_0x24c8a9['plugins']['get']('CommentsRepository');if(_0x24c8a9['plugins']['get'](n)['addToReconnectionStack'](this),_0x161879['adapter']={'addCommentThread':async({channelId:_0x289fb5,threadId:_0x5a8e6c,comments:_0x59a29e,resolvedAt:_0x18d133,resolvedBy:_0x129869,context:_0x12c6fc,attributes:_0x3d436b})=>{const _0x4273d0=await this['_getService'](_0x289fb5)['addCommentThread']({'commentThreadId':_0x5a8e6c,'comments':_0x59a29e['map'](_0x1809ae=>function(_0x3d7262,_0x157b46,_0x4c6583){return{'commentThreadId':_0x4c6583,'commentId':_0x3d7262['commentId'],'userId':_0x3d7262['authorId'],'content':_0x3d7262['content'],'documentId':_0x157b46,'createdAt':_0x3d7262['createdAt'],'attributes':_0x3d7262['attributes']||{}};}(_0x1809ae,_0x289fb5,_0x5a8e6c)),'resolvedAt':_0x18d133,'resolvedBy':_0x129869,'context':_0x12c6fc,'attributes':_0x3d436b})['catch'](ht);return{'threadId':_0x4273d0['commentThreadId'],'comments':_0x4273d0['comments']};},'getCommentThread':async({channelId:_0xae2fe,threadId:_0x2e7c47})=>{const _0x406391=await this['_getService'](_0xae2fe)['getCommentThread'](_0x2e7c47)['catch'](F)['catch'](ht);return _0x406391?_0x406391['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x406391]),{'threadId':_0x406391['commentThreadId'],'comments':_0x406391['comments']['map'](S),'context':_0x406391['context'],'resolvedAt':_0x406391['resolvedAt'],'resolvedBy':_0x406391['resolvedBy'],'attributes':_0x406391['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x47e28a,threadId:_0x1c9608,context:_0x3ae22e,unlinkedAt:_0x2f7096,attributes:_0xca50a7})=>this['_getService'](_0x47e28a)['updateCommentThread']({'commentThreadId':_0x1c9608,'context':_0x3ae22e,'attributes':_0xca50a7,'unlinkedAt':_0x2f7096})['catch'](F)['catch'](ht),'resolveCommentThread':async({channelId:_0x58b1ab,threadId:_0x595b0f})=>{const _0x1b0043=await this['_getService'](_0x58b1ab)['resolveCommentThread'](_0x595b0f)['catch'](F)['catch'](ht);return{'threadId':_0x1b0043['commentThreadId'],'resolvedAt':_0x1b0043['resolvedAt'],'resolvedBy':_0x1b0043['resolvedBy']};},'reopenCommentThread':async({channelId:_0x20b8e6,threadId:_0x218901})=>this['_getService'](_0x20b8e6)['reopenCommentThread'](_0x218901)['catch'](F)['catch'](ht),'removeCommentThread':({channelId:_0x46f10c,threadId:_0x411a5f})=>this['_getService'](_0x46f10c)['removeCommentThread'](_0x411a5f)['catch'](F)['catch'](ht),'addComment':({channelId:_0x2d65e2,threadId:_0x1448b2,commentId:_0x3f047b,content:_0x2e4f3c,attributes:_0x1682cf})=>this['_getService'](_0x2d65e2)['addComment'](_0x1448b2,_0x3f047b,_0x2e4f3c,_0x1682cf)['catch'](ht),'updateComment':({channelId:_0x1c086d,threadId:_0x571166,commentId:_0x32a7fb,content:_0x424c11,attributes:_0x5a6fc3})=>this['_getService'](_0x1c086d)['updateComment'](_0x571166,_0x32a7fb,_0x424c11,_0x5a6fc3)['catch'](F)['catch'](ht),'removeComment':({channelId:_0xa8d3bb,threadId:_0x3a6003,commentId:_0x34aa8e})=>this['_getService'](_0xa8d3bb)['removeComment'](_0x3a6003,_0x34aa8e)['catch'](F)['catch'](ht)},_0x24c8a9 instanceof _0x31709a){const _0x8a7ec4=_0x24c8a9['config']['get']('collaboration.channelId'),_0x436ac3=_0x24c8a9['plugins']['get'](i);await this['_setUpService'](_0x8a7ec4);const _0x449b16=await this['_services']['get'](_0x8a7ec4)['getConnectedSessions']();this['listenTo'](_0x436ac3,'sessionAdd:'+_0x8a7ec4,(_0x4038d1,{session:_0x490db0})=>{_0x490db0['id']===_0x436ac3['mySessionId']&&(_0x4038d1['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x490db0['permissions'],_0x8a7ec4));}),_0x436ac3['register'](_0x8a7ec4,_0x449b16);}}async['_setUpService'](_0x268895){if(this['_services']['has'](_0x268895))throw new _0xa9b19('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x268895});const _0x1d9d52=this['context']['plugins']['get']('CommentsRepository'),_0x30b431=new s['CommentsService'](_0x268895);this['_services']['set'](_0x268895,_0x30b431),this['listenTo'](_0x30b431,'commentThreadAdded',(_0x745a77,_0x252cb2)=>{const {commentThreadId:_0x186929,documentId:_0x232358,context:_0x1d6227,attributes:_0x2351ed,resolvedAt:_0x1bd59c,resolvedBy:_0x56160a,comments:_0x220622}=_0x252cb2;_0x1d9d52['getCommentThread'](_0x186929)||_0x1d9d52['addCommentThread']({'threadId':_0x186929,'channelId':_0x232358,'comments':_0x220622?_0x220622['map'](S):[],'context':_0x1d6227,'attributes':_0x2351ed,'resolvedAt':_0x1bd59c,'resolvedBy':_0x56160a,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadUpdated',(_0x2f83fb,{commentThreadId:_0x3db8a9,documentId:_0x32ce0c,context:_0x53f970,unlinkedAt:_0x456d11,attributes:_0x1c5983})=>{_0x1d9d52['getCommentThread'](_0x3db8a9)&&_0x1d9d52['updateCommentThread']({'threadId':_0x3db8a9,'channelId':_0x32ce0c,'context':_0x53f970,'unlinkedAt':_0x456d11,'attributes':_0x1c5983,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadResolved',(_0x21b565,{commentThreadId:_0x3bbac8,resolvedBy:_0x351a35,resolvedAt:_0x1a639d})=>{const _0x42d01d=_0x1d9d52['getCommentThread'](_0x3bbac8);_0x42d01d&&_0x42d01d['resolve']({'resolvedBy':_0x351a35,'resolvedAt':_0x1a639d,'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadReopened',(_0x29dfb0,{commentThreadId:_0x40c73e})=>{const _0x5c4e7d=_0x1d9d52['getCommentThread'](_0x40c73e);_0x5c4e7d&&_0x5c4e7d['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentThreadRemoved',(_0xe1f4cd,{commentThreadId:_0xb8e2a6})=>{const _0x6e3f30=_0x1d9d52['getCommentThread'](_0xb8e2a6);_0x6e3f30&&_0x6e3f30['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentAdded',(_0x491132,_0x5efd91)=>{const _0x49f187=_0x5efd91['commentThreadId'],_0x572046=_0x1d9d52['getCommentThread'](_0x49f187);_0x572046&&_0x572046['addComment']({...S(_0x5efd91),'isFromAdapter':!0x0});}),this['listenTo'](_0x30b431,'commentUpdated',(_0x4449f6,{commentThreadId:_0x21e7cb,commentId:_0x27912e,content:_0x2f4db9,attributes:_0x5ba3fa})=>{const _0x569543=_0x1d9d52['getCommentThread'](_0x21e7cb);if(_0x569543){const _0x38dab4=_0x569543['getComment'](_0x27912e);_0x38dab4&&_0x38dab4['update']({'content':_0x2f4db9,'attributes':_0x5ba3fa,'isFromAdapter':!0x0});}}),this['listenTo'](_0x30b431,'commentRemoved',(_0x2501eb,{commentThreadId:_0x1e9396,commentId:_0x3c8ba7})=>{const _0xa5fb88=_0x1d9d52['getCommentThread'](_0x1e9396);if(_0xa5fb88){const _0x4a4616=_0xa5fb88['getComment'](_0x3c8ba7);_0x4a4616&&_0x4a4616['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x268895);}['destroy'](){if(this['context']instanceof _0x31709a){const _0x207313=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x207313);}}['_terminateService'](_0x255fa6){if(!this['_services']['has'](_0x255fa6))throw new _0xa9b19('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x255fa6});this['_getService'](_0x255fa6)['disconnect'](),this['_services']['delete'](_0x255fa6);}async['reconnect'](){for(const _0x19f707 of this['_services']['keys']())await this['_connectService'](_0x19f707);if(this['context']instanceof _0x31709a){const _0x42f24c=this['context']['config']['get']('collaboration.channelId'),_0x110fb3=this['context']['plugins']['get'](i);_0x110fb3['unregister'](_0x42f24c);const _0x1c3434=await this['_services']['get'](_0x42f24c)['getConnectedSessions']();_0x110fb3['register'](_0x42f24c,_0x1c3434);}}async['_connectService'](_0xc4ee2){const {connection:_0xc075aa}=this['context']['plugins']['get'](n),_0x2c77e4=this['context']['plugins']['get']('CommentsRepository'),_0x282873=this['_services']['get'](_0xc4ee2),_0x9efa43=await _0x282873['connect'](_0xc075aa);await this['_fetchMissingUsersForThreads'](_0x9efa43);const _0x1b26c2=new Set(Array['from'](_0x2c77e4['getCommentThreads']({'channelId':_0xc4ee2}),_0x2cf2b0=>_0x2cf2b0['id']));for(const _0x3a73c5 of _0x9efa43)_0x3a73c5['deletedAt']||_0x1b26c2['delete'](_0x3a73c5['commentThreadId']);for(const _0x49a47e of _0x1b26c2)_0x2c77e4['getCommentThread'](_0x49a47e)['remove']({'isFromAdapter':!0x0});for(const _0x1ebfc2 of _0x9efa43){let _0x3a7894=_0x2c77e4['getCommentThread'](_0x1ebfc2['commentThreadId']);const {commentThreadId:_0x4eded3,context:_0x3c2c00,attributes:_0xd91cc0,resolvedBy:_0x44a1e2,resolvedAt:_0x2fd592,unlinkedAt:_0x511c4c,deletedAt:_0x17941b}=_0x1ebfc2;if(_0x17941b)continue;_0x3a7894||(_0x3a7894=_0x2c77e4['addCommentThread']({'channelId':_0xc4ee2,'threadId':_0x4eded3,'context':_0x3c2c00,'attributes':_0xd91cc0||{},'resolvedBy':_0x44a1e2,'resolvedAt':_0x2fd592,'unlinkedAt':_0x511c4c,'isFromAdapter':!0x0}));const _0x52ee2f=new Set(Array['from'](_0x3a7894['comments'],_0x3af128=>_0x3af128['id']));for(const _0x377371 of _0x1ebfc2['comments'])_0x52ee2f['delete'](_0x377371['commentId']);for(const _0x2236de of _0x52ee2f)_0x3a7894['getComment'](_0x2236de)['remove']({'isFromAdapter':!0x0});for(const _0x20e470 of _0x1ebfc2['comments']){const _0x72a09c=_0x3a7894['getComment'](_0x20e470['commentId']);_0x72a09c?_0x72a09c['content']!==_0x20e470['content']&&_0x72a09c['update']({'content':_0x20e470['content'],'isFromAdapter':!0x0}):_0x3a7894['addComment'](Object['assign'](S(_0x20e470),{'isFromAdapter':!0x0}));}}}['_getService'](_0x10075c){if(!this['_services']['has'](_0x10075c))throw new _0xa9b19('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x10075c});return this['_services']['get'](_0x10075c);}async['_fetchMissingUsersForThreads'](_0x2d623f){const _0x5efc4d=this['context']['plugins']['get'](_0x1a7c05),{connection:_0xee9b}=this['context']['plugins']['get'](n),_0x36985a=new Set();for(const {resolvedBy:_0x4e2fa6,comments:_0x57cfa3}of _0x2d623f){_0x4e2fa6&&!_0x5efc4d['getUser'](_0x4e2fa6)&&_0x36985a['add'](_0x4e2fa6);for(const {userId:_0x2a9bba}of _0x57cfa3)_0x5efc4d['getUser'](_0x2a9bba)||_0x36985a['add'](_0x2a9bba);}if(0x0===_0x36985a['size'])return;const _0x23f80e=await at['getMany'](_0xee9b,Array['from'](_0x36985a));for(const _0x1648de of _0x23f80e)_0x5efc4d['getUser'](_0x1648de['id'])||_0x5efc4d['addUser'](_0x1648de);}}async function F(_0x329dfa){if('404'!==_0x329dfa['code'])throw _0x329dfa;}function ht(_0x14939b){if((_0xfd2da8=_0x14939b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xfd2da8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xfd2da8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xfd2da8;throw _0x14939b;}function S(_0x6061e){return{'threadId':_0x6061e['commentThreadId'],'commentId':_0x6061e['commentId'],'content':_0x6061e['content'],'createdAt':_0x6061e['createdAt'],'authorId':_0x6061e['userId'],'attributes':_0x6061e['attributes']||{}};}class m extends _0x532c83{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x3ff928)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x39c43e){super(_0x39c43e);const _0x5d5688=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x5d5688);}['init'](){const _0x2bb769=this['editor']['plugins']['get'](n),_0x1e7261=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1e7261['adapter']={'getSuggestion':async _0x1c540e=>{await this['_waitForServiceReady']();const _0x3bffaf=await this['_trackChangesService']['get'](_0x1c540e)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x3bffaf]),_0x3bffaf;},'addSuggestion':async({id:_0x42972d,type:_0xda61f2,data:_0x3737d5,originalSuggestionId:_0x109e81,attributes:_0x6fefbe})=>{await this['_waitForServiceReady']();const _0x1ced4d={'id':_0x42972d,'type':_0xda61f2,'data':_0x3737d5,'originalSuggestionId':_0x109e81,'attributes':_0x6fefbe},_0x39ca2e=await this['_trackChangesService']['add'](_0x42972d,_0xda61f2,_0x3737d5,_0x109e81,_0x6fefbe)['catch'](_0x5276e1=>{if(lt(_0x5276e1))return new Promise(_0x86e23b=>{this['_bufferedRequests']['set'](_0x42972d,{'resolve':_0x86e23b,'suggestionData':_0x1ced4d});});throw _0x5276e1;});return this['_bufferedRequests']['delete'](_0x42972d),_0x39ca2e;},'updateSuggestion':async(_0x27e12a,_0x1e5fb1)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1e5fb1['state'])return this['_trackChangesService']['update'](_0x27e12a,_0x1e5fb1)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x444948,_0x3362a5)=>{_0x1e7261['hasSuggestion'](_0x3362a5['id'])&&(_0x1e7261['getSuggestion'](_0x3362a5['id'])['attributes']=_0x3362a5['attributes']);}),this['_trackChangesService']['connect'](_0x2bb769['connection'])['then'](_0x5bc861=>(_0x2bb769['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5bc861)['then'](()=>{for(const _0x13c012 of _0x5bc861){_0x1e7261['addSuggestionData'](_0x13c012)['_saved']=!0x0;}})));}async['reconnect'](){const _0x69c04a=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x345d6a}=this['editor']['plugins']['get'](n),_0x2799a0=await this['_trackChangesService']['connect'](_0x345d6a);await this['_fetchMissingUsersForThreads'](_0x2799a0);for(const {suggestionData:_0x21578a,resolve:_0x1150ca}of this['_bufferedRequests']['values']()){let _0x46f6f5=_0x2799a0['find'](_0x50c009=>_0x50c009['id']===_0x21578a['id']);_0x46f6f5||(_0x46f6f5=await this['_trackChangesService']['add'](_0x21578a['id'],_0x21578a['type'],_0x21578a['data'],_0x21578a['originalSuggestionId'])),_0x1150ca(_0x46f6f5);}for(const _0x436287 of _0x2799a0)_0x69c04a['hasSuggestion'](_0x436287['id'])||_0x69c04a['addSuggestionData'](_0x436287);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x89eb99=>{this['listenTo'](this['_trackChangesService'],'connected',_0x413a29=>{_0x413a29['off'](),_0x89eb99();});});}async['_fetchMissingUsersForThreads'](_0x3b2964){const _0x388be9=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0x461fe7}=this['editor']['plugins']['get'](n),_0x513fe3=new Set();for(const {authorId:_0x4cae9c}of _0x3b2964)_0x388be9['getUser'](_0x4cae9c)||_0x513fe3['add'](_0x4cae9c);if(0x0===_0x513fe3['size'])return;const _0x16f723=await at['getMany'](_0x461fe7,Array['from'](_0x513fe3));for(const _0x4e32e1 of _0x16f723)_0x388be9['getUser'](_0x4e32e1['id'])||_0x388be9['addUser'](_0x4e32e1);}}function k(_0x52f8f3){if(lt(_0x52f8f3))return new Promise(()=>{});throw _0x52f8f3;}function lt(_0x5c99c0){return _0x5c99c0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5c99c0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x532c83{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x220fba=this['editor']['plugins']['get'](n),_0x7a82b1=this['editor']['plugins']['get']('CommentsEditing'),_0x4b87b7=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x220fba,'change:state',(_0x182ca6,_0x248bbe,_0xd02e7b)=>{_0x7a82b1['isThreadsLoadingPaused']='connected'!==_0xd02e7b;});}),this['listenTo'](_0x220fba,'change:state',(_0x566696,_0xc1ee66,_0x23ddc5)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x23ddc5);}),_0x4b87b7['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class dt extends _0x532c83{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x532c83{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1a7c05];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47df6d){super(_0x47df6d);const _0x53bdd3=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x53bdd3);}async['init'](){const _0x1ad3a7=this['editor']['plugins']['get'](l),_0x578990=_0x1ad3a7['serverHistory'],_0x405740=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x578990,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1ad3a7['sessionId']});const _0xd762c5=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4387e3=await tt['isBundleUploaded'](_0x405740['connection'],_0xd762c5);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x35981f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x35981f)),'updateRevisions':async _0x581f2c=>{await this['_waitForServiceReady']();const _0xe6f650=this['_revisionTracker']['currentRevision'];if(_0x4387e3&&0x1===_0x581f2c['length']&&_0x581f2c[0x0]['id']===_0xe6f650['id'])return _0x581f2c;for(const _0xbbb695 of _0x581f2c)_0xbbb695['id']===_0xe6f650['id']&&(_0xbbb695['isEmptyCurrent']=_0xbbb695['fromVersion']===_0xbbb695['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x581f2c,this['_lastRequestId'])['then'](_0x5dbc3a=>(this['_lastRequestId']=_0x5dbc3a,_0x581f2c))['catch'](_0x321070=>{if(_(_0x321070)||'400'===_0x321070['code']&&void 0x0!==_0x321070['data']['wrongRequestId']){for(const _0x46561f of _0x581f2c){!this['_revisionTracker']['repository']['getRevision'](_0x46561f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x46561f['id'],_0x46561f,!0x1);}if(_(_0x321070))throw _0x321070;return _0x581f2c;}throw _0x321070;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x462973,{revisionsData:_0x16a4fd,requestId:_0x4af970})=>{Math['max'](..._0x16a4fd['map'](_0x1659c5=>_0x1659c5['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x16a4fd,_0x4af970);}):this['_handleRevisionsUpdate'](_0x16a4fd,_0x4af970);});const {revisions:_0x40569a,requestId:_0x5a217e}=await this['_revisionHistoryService']['connect'](_0x405740['connection']);_0x405740['addToReconnectionStack'](this),this['_lastRequestId']=_0x5a217e,await this['_fetchMissingUsers'](_0x40569a);for(const _0x58a74f of _0x40569a)this['_revisionTracker']['addRevisionData'](_0x58a74f);this['listenTo'](_0x1ad3a7,'change:_isConnected',(_0x1c6a1f,_0x461e51,_0x99cf4b)=>{_0x99cf4b&&(this['_oldOffset']=_0x1ad3a7['_offset'],_0x1c6a1f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x405740,'state',_0x2b522f=>_0x2b522f===_0x5b0dbe['CONNECTED']);}async['reconnect'](){const _0x2d336d=this['editor']['plugins']['get'](n),_0x154fc3=this['editor']['plugins']['get'](l),_0x4c001c=async()=>{const _0x100a6a=this['_revisionTracker']['currentRevision'],_0x47af9f=_0x100a6a['id'],_0x566a78=_0x47af9f!==_0x154fc3['sessionId'];if(_0x566a78){const _0x513078=_0x154fc3['_offset']-this['_oldOffset'],_0x49fb7d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x100a6a['toVersion']+_0x513078!==_0x49fb7d){const _0x6eadcb=_0x100a6a['fromVersion']+_0x513078,_0x137ec6=this['editor']['plugins']['get'](_0x1a7c05),_0x44fc63=this['_revisionTracker']['buildRevisionData']({'revision':_0x100a6a,'from':_0x6eadcb,'to':_0x49fb7d});_0x44fc63['id']=_0x100a6a['id'];const _0x228ea1=_0x44fc63['authorsIds']['map'](_0x589fce=>_0x137ec6['getUser'](_0x589fce));_0x100a6a['_update']({..._0x44fc63,'authors':_0x228ea1},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x100a6a['id'],_0x44fc63,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49fb7d,(_0x100a6a['toVersion']===_0x100a6a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x47af9f)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x47af9f),this['_revisionTracker']['_createCurrentRevision'](_0x49fb7d));}const {revisions:_0x46f4c2,requestId:_0x2b1245}=await this['_revisionHistoryService']['reconnect'](_0x2d336d['connection'],this['_lastRequestId']);_0x566a78&&_0x46f4c2['length']>0x0?_0x154fc3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x46f4c2),this['_handleRevisionsUpdate'](_0x46f4c2,_0x2b1245),this['_revisionTracker']['sendBufferedUpdates']());};return _0x154fc3['_isConnected']?_0x4c001c():new Promise((_0xa28a20,_0x3d8bf5)=>{_0x154fc3['once']('change:_isConnected',()=>{_0x4c001c()['then'](_0xa28a20)['catch'](_0x3d8bf5);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x39b03d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4ac070=>{_0x4ac070['off'](),_0x39b03d();});});}['_getLatestVersionFromServerOperations'](){const _0x4dddc2=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x44d479 of _0x4dddc2)if('marker'!==_0x44d479['type']||_0x44d479['affectsData'])return _0x44d479['baseVersion']+0x1;}['_getLatestVersion'](){const _0x34c6a8=this['editor']['plugins']['get'](l);return new Promise(_0x3bb1eb=>{_0x34c6a8['_isPendingUpdate']?_0x34c6a8['once']('change:_isPendingUpdate',()=>{_0x3bb1eb(this['_getLatestVersionFromServerOperations']());}):_0x3bb1eb(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x51ed10,_0x2c7bd7){const _0x4ce177=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2c7bd7;for(const _0x4204eb of _0x51ed10){const _0x31f87b=_0x4ce177['getRevision'](_0x4204eb['id']);if(_0x31f87b){if((_0x4204eb['fromVersion']||_0x4204eb['toVersion'])&&(_0x4204eb['diffData']=null),_0x31f87b===this['_revisionTracker']['currentRevision']){const _0x51cc05=Math['max'](_0x31f87b['toVersion'],_0x4204eb['toVersion']),_0x3a709a=Math['max'](_0x31f87b['fromVersion'],_0x4204eb['fromVersion']);let _0x3a462e;_0x31f87b['toVersion']===_0x4204eb['toVersion']&&_0x31f87b['fromVersion']===_0x4204eb['fromVersion']?(_0x3a462e=!0x0,this['_preventResendingRevisionData'](_0x4204eb)):_0x4204eb['toVersion']===_0x51cc05&&_0x4204eb['fromVersion']===_0x3a709a?_0x3a462e=!0x1:(_0x31f87b['toVersion']===_0x51cc05&&_0x31f87b['fromVersion']===_0x3a709a||this['_fixRevision']({'revision':_0x31f87b,'from':_0x3a709a,'to':_0x51cc05}),_0x3a462e=!0x0),_0x3a462e&&(delete _0x4204eb['fromVersion'],delete _0x4204eb['toVersion'],delete _0x4204eb['diffData'],delete _0x4204eb['createdAt'],delete _0x4204eb['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4204eb),this['_preventResendingRevisionData'](_0x4204eb);}else this['_revisionTracker']['addRevisionData'](_0x4204eb);}const _0x2d92cd=_0x4ce177['getRevisions']();_0x2d92cd['reverse']();for(let _0x497556=0x0;_0x497556<_0x2d92cd['length']-0x1;_0x497556++){const _0x14de45=_0x2d92cd[_0x497556],_0x10b9e7=_0x2d92cd[_0x497556+0x1];if(_0x14de45['fromVersion']<_0x10b9e7['toVersion']){const _0x37f42d=_0x10b9e7['toVersion'],_0x408f86=Math['max'](_0x37f42d,_0x14de45['toVersion']);this['_fixRevision']({'revision':_0x14de45,'from':_0x37f42d,'to':_0x408f86});}}}['_fixRevision']({revision:_0x32c216,from:_0x3073cc,to:_0x3b900c}={}){const _0x48d300=this['editor']['plugins']['get'](_0x1a7c05),_0x34528e=this['_revisionTracker']['buildRevisionData']({'revision':_0x32c216,'from':_0x3073cc,'to':_0x3b900c});_0x34528e['authors']=_0x34528e['authorsIds']['map'](_0xe8fd9=>_0x48d300['getUser'](_0xe8fd9)),_0x32c216['_update'](_0x34528e);}['_preventResendingRevisionData'](_0x2a199f){const _0xd0b47={};_0xd0b47['id']=_0x2a199f['id'];for(const _0x4eb37d of Object['keys'](_0x2a199f))'id'!==_0x4eb37d&&(_0xd0b47[_0x4eb37d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xd0b47['id'],_0xd0b47,!0x0);}async['_fetchMissingUsers'](_0x3e7df6){const _0x213075=this['editor']['plugins']['get'](_0x1a7c05),{connection:_0x6a43f7}=this['editor']['plugins']['get'](n),_0x182b3a=new Set();for(const _0x5afa74 of _0x3e7df6){for(const _0x54b2e9 of _0x5afa74['authorsIds'])_0x5f17a6(_0x54b2e9);_0x5afa74['creatorId']&&_0x5f17a6(_0x5afa74['creatorId']);}if(0x0===_0x182b3a['size'])return;const _0x11b8eb=await at['getMany'](_0x6a43f7,Array['from'](_0x182b3a));for(const _0x308a1e of _0x11b8eb)_0x213075['getUser'](_0x308a1e['id'])||_0x213075['addUser'](_0x308a1e);function _0x5f17a6(_0x249a1f){_0x213075['getUser'](_0x249a1f)||_0x182b3a['add'](_0x249a1f);}}}function _(_0x4ace2f){return _0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ace2f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x532c83{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x2153f8{['_collapseAt'];constructor(_0x150630,_0x36e0fb=0x6){super(_0x150630);const _0x4c53cf=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x36e0fb,this['bind']('isHidden')['to'](this,'usersCount',_0x1d964e=>_0x1d964e<_0x36e0fb),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4c53cf['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x4c53cf['to']('usersCount',_0x1de83b=>'+'+(_0x1de83b-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x2153f8{['items'];['keystrokes'];constructor(_0x1bea99){super(_0x1bea99);const _0x5500e5=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4896af(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5500e5['if']('hasPopup'),'aria-expanded':_0x5500e5['to']('isExpanded',_0x41c7fd=>this['hasPopup']&&String(_0x41c7fd)),'aria-label':_0x5500e5['to']('hasPopup',_0x1851e3=>q(_0x1bea99,_0x1851e3?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5500e5['to']('hasPopup',_0x4910b3=>!!_0x4910b3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5500e5['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5500e5['to'](_0x2f2fdc=>{const _0x5ac6c2=_0x2f2fdc,_0x350554=document['querySelector']('.ck-presence-list__dropdown-list'),_0x53e25e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x350554?.['contains'](_0x5ac6c2['relatedTarget'])||_0x53e25e?.['contains'](_0x5ac6c2['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2680d1,_0x47ac53,_0x1abb65)=>{this['element']&&(_0x1abb65?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x2153f8{['counterView'];['inlineListView'];constructor(_0x12b6a6,_0x3205f6=0x6){super(_0x12b6a6);const _0x241449=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x3205f6),this['inlineListView']=new is(_0x12b6a6),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x395509 of this['inlineListView']['items'])_0x395509['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x241449['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x2153f8{['listWrapperView'];constructor(_0x20481e,_0x5f21a6){super(_0x20481e);const _0x332a02=this['bindTemplate'];this['listWrapperView']=new ft(_0x20481e,_0x5f21a6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x20481e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x332a02['to'](_0x951147=>{const _0x238f48=_0x951147,_0x2c69f3=document['querySelector']('.ck-presence-list__list'),_0xb8827=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2c69f3?.['contains'](_0x238f48['relatedTarget'])||_0xb8827?.['contains'](_0x238f48['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ft extends _0x3466f8{constructor(_0x45604e,_0x5059d9){super(_0x45604e);const _0x53d94e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5059d9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x53d94e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x53d94e['to']('role'),'aria-label':_0x53d94e['to']('ariaLabel'),'aria-labelledby':_0x53d94e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x553c6f['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5243ba=this['element'];_0x5243ba&&(this['_isScrollable']=Math['max'](_0x5243ba['scrollHeight'],_0x5243ba['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x3b83f1,_0x190266,_0x6b0717){super(_0x3b83f1);const _0x3896fe=this['bindTemplate'];this['userView']=new st(_0x3b83f1,_0x190266);const _0x5222f0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x190266['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x190266['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x190266['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x6b0717&&(_0x5222f0['tag']='button',_0x5222f0['on']={'click':_0x3896fe['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5222f0);}['focus'](){this['element']['focus']();}}class A extends _0x2153f8{['userView'];['markerView'];constructor(_0x31549c,_0x4b34af,_0x593bd8){super(_0x31549c);const _0x1ff219=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x31549c,_0x4b34af),this['markerView']=new ct(_0x31549c,_0x4b34af);const _0x42131c=new ot(_0x31549c);_0x42131c['template']['tag']='span',_0x42131c['text']=_0x4b34af['name'];const _0x18fefa={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1ff219['to']('isFocusable',_0x5c074e=>!!_0x5c074e&&0x0),'aria-labelledby':_0x42131c['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1ff219['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1ff219['to']('hasTooltip',_0x50fdd4=>!_0x50fdd4),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x42131c]};_0x593bd8&&(_0x18fefa['tag']='button',_0x18fefa['on']={'click':_0x1ff219['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x18fefa);}}class ct extends _0x2153f8{constructor(_0x538273,_0x3338fe){super(_0x538273),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3338fe['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4cb85d{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1cd6c0){super(_0x1cd6c0),this['context']['config']['define']('presenceList',x);const _0x4405a0=_0x1cd6c0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4405a0)throw new _0xa9b19('presencelist-collapseat-invalid-format',this);if(_0x4405a0<0x1)throw new _0xa9b19('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3c6690(),this['balloonPanelView']=new _0x15a511(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x1bfbf8 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1bfbf8);this['listenTo'](this['_allConnectedUsers'],'add',(_0xfeb59d,_0x55082b)=>{this['_handleUserAdd'](_0x55082b);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x30c537,_0x52e369)=>{this['_handleUserRemove'](_0x52e369);});}['_createView'](){const _0x11cb70=this['context'],_0x526771=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3d417e=this['balloonPanelView'];if(!_0x76099f(_0x11cb70['config']['get']('presenceList.container')))throw new _0xa9b19('presencelist-missing-container',this);return _0x526771['counterView']['bind']('usersCount')['to'](this),_0x526771['bind']('isCollapsed')['to'](this,'usersCount',_0x58619b=>{const {collapseAt:_0x152bc7}=_0x11cb70['config']['get']('presenceList'),_0x41b993=_0x58619b>=_0x152bc7;if(_0x41b993&&!_0x526771['inlineListView']['items']['find'](_0x458026=>_0x458026 instanceof b)){const _0x244cfa=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x244cfa&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x526771['inlineListView']['items']['add'](_0x526771['counterView']);}return _0x41b993||this['hideDropdown'](),_0x41b993;}),_0x526771['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x55f6ed=>{const _0x192989=_0x11cb70['config']['get']('presenceList'),_0xd4c8b0=new A(_0x11cb70['locale'],_0x55f6ed,!!_0x192989['onClick']);return _0xd4c8b0['bind']('hasTooltip')['to'](_0x526771,'isCollapsed',_0xe611ec=>!_0xe611ec),_0xd4c8b0['bind']('isFocusable')['to'](_0x526771,'isCollapsed',_0x182e43=>!_0x182e43),_0x192989['onClick']&&this['listenTo'](_0xd4c8b0,'execute',()=>{this['view']['isCollapsed']||_0x192989['onClick'](_0x55f6ed,_0xd4c8b0['element']);}),_0xd4c8b0;}),this['listenTo'](_0x526771['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x526771['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x526771['inlineListView']['keystrokes']['set']('Enter',(_0x3add83,_0x3de00e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3de00e());}),_0x526771['render'](),_0x3d417e['render'](),_0x34db55({'emitter':_0x526771,'activator':()=>_0x3d417e['isVisible'],'contextElements':[_0x3d417e['element'],_0x526771['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x11cb70['config']['get']('presenceList.container')['appendChild'](_0x526771['element']),this['_bodyCollection']=new _0x51fd37(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x526771;}['_handleUserAdd'](_0x12bf04){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x12bf04['isMe'])return;const _0x543047=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x543047-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x14b46c=_0x12bf04['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x12bf04,_0x14b46c);}['_handleUserRemove'](_0x22676d){this['usersCount']--;const {collapseAt:_0x321c70}=this['context']['config']['get']('presenceList'),_0x415556=this['usersCount']>=_0x321c70;if(this['currentDisplayedUsers']['get'](_0x22676d['id']))this['currentDisplayedUsers']['remove'](_0x22676d['id']);else{if(_0x415556&&this['currentDisplayedUsers']['length']+0x1===_0x321c70-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x415556?0x1:0x0)<this['usersCount']){for(const _0x5c1cb3 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5c1cb3['id'])&&(this['currentDisplayedUsers']['add'](_0x5c1cb3,Math['min'](this['currentDisplayedUsers']['length']-(_0x415556?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x415556?0x1:0x0)===_0x321c70-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x285db6=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x285db6['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1dc550}=this['presenceDropdownView'];_0x1dc550['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x26db54=>{if(!_0x285db6['displayMe']&&_0x26db54['isMe'])return null;const _0x133590=new j(this['context']['locale'],_0x26db54,!!_0x285db6['onClick']);return _0x285db6['onClick']&&this['listenTo'](_0x133590,'execute',()=>{_0x285db6['onClick'](_0x26db54,_0x133590['element']);}),_0x133590;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1dc550['focus'](),_0x1dc550['checkIfScrollable']();const _0x2f88cc=(_0x4e73ad,_0x38dfd9)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x38dfd9();};_0x1dc550['keystrokes']['set']('Esc',_0x2f88cc),_0x1dc550['keystrokes']['set']('Shift+Tab',_0x2f88cc),_0x1dc550['keystrokes']['set']('Tab',(_0x278cf5,_0x3e0ccb)=>{!function(_0x57578b){const _0xba7786=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x424279=>_0x424279+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5ab836=[...document['body']['querySelectorAll'](_0xba7786)]['filter'](_0x1f289c=>_0x1f289c===document['activeElement']||_0x1f289c['offsetWidth']+_0x1f289c['offsetHeight']>0x0)['sort']((_0x31c5fa,_0x165fd3)=>(_0x31c5fa['tabIndex']||0x0)-(_0x165fd3['tabIndex']||0x0)),_0x2c8f0b=_0x5ab836['indexOf'](_0x57578b),_0x42fbe7=_0x5ab836[(_0x2c8f0b+0x1)%_0x5ab836['length']];_0x42fbe7&&_0x42fbe7['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e0ccb();}),_0x1dc550['focusTracker']['add'](this['view']['element']),_0x1dc550['focusTracker']['on']('change:isFocused',(_0x1a7872,_0x3b1a09,_0x425743)=>{_0x425743||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class mt extends _0x4cb85d{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,mt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,ut as RealTimeCollaborativeRevisionHistory,dt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x1c6eb3,Plugin as _0x5bfa53,PendingActions as _0x32fe04,Context as _0x23c0a4}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5524d7,CKEditorError as _0x1ce47a,Collection as _0x38d74d,global as _0x26dcab,version as nt,uid as _0x440ce5,KeystrokeHandler as _0x3bfa3c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x2148b5,View as _0x59df29,ListView as _0x514ed5,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x5008c7,clickOutsideHandler as _0x35631f,BodyCollection as _0x33e143}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x69ae37,History as _0x5c976a,NoOperation as _0x43d8a1,InsertOperation as _0x81060,MarkerOperation as _0x6193d1,RootAttributeOperation as _0x4ee1b8,transformOperationSets as _0x52fab2,OperationFactory as _0x59cd5d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x7ab6d,User as lt,CommentsService as _0x319e55,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4020f1,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3a4b00}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x6bd037}from'es-toolkit/compat';class n extends _0x1c6eb3{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x2148b5];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e4b24){super(_0x1e4b24),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5524d7())();}['init'](){const _0x4ab8e6=this['context'],_0x17623d=_0x4ab8e6['plugins']['get']('CloudServices'),_0x11d0e5=_0x4ab8e6['plugins']['get'](_0x2148b5);if(!_0x17623d['token'])throw new _0x1ce47a('websocketgateway-missing-token',this);if(!_0x17623d['webSocketUrl'])throw new _0x1ce47a('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x17623d['token'],_0x17623d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x19f921=>{if(this['connection']=_0x19f921,this['bind']('state')['to'](_0x19f921,'state',this,'_isBrowserOffline',(_0x3bbd4e,_0x61110)=>('connected'!==_0x3bbd4e&&(this['_shouldPluginsReconnect']=!0x0),_0x61110||_0x3bbd4e!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x310cca,_0x47470a)=>{if('limitExceeded'!==_0x47470a['code'])throw console['error'](_0x47470a),new _0x1ce47a('cloudservices-init',null,{'originalError':_0x47470a});_0x11d0e5['showWarning']('The\x20limit\x20of\x20maximum\x20concurrent\x20connections\x20that\x20the\x20collaboration\x20server\x20can\x20handle\x20has\x20been\x20reached.\x20Try\x20opening\x20the\x20document\x20again\x20in\x20a\x20few\x20minutes.\x20Please\x20contact\x20your\x20system\x20administrator\x20if\x20the\x20problem\x20persists.',{'title':'Connected\x20users\x20limit\x20exceeded','namespace':'real-time-collaboration'});}),!_0x19f921['me'])return new Promise(_0x4d0bf5=>_0x19f921['on']('change:me',_0x4d0bf5));})['catch'](_0x8278a2=>{throw console['error'](_0x8278a2),new _0x1ce47a('cloudservices-init',null,{'originalError':_0x8278a2});});}['addToReconnectionStack'](_0x4f7f68){if('function'!=typeof _0x4f7f68['reconnect'])throw new _0x1ce47a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4f7f68))throw new _0x1ce47a('websocketgateway-plugin-already-registered',this,{'name':_0x4f7f68['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4f7f68);}['removeFromReconnectionStack'](_0x3628a2){this['_reconnectionStack']['delete'](_0x3628a2);}['isInReconnectionStack'](_0x3c0930){return this['_reconnectionStack']['has'](_0x3c0930);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5a6757=>_0x5a6757['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x2a0424=>{throw console['error'](_0x2a0424),new _0x1ce47a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1c6eb3{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x4020f1];}constructor(_0x1d512e){super(_0x1d512e),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x38d74d(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4020f1);}['init'](){const _0x437e7a=this['context']['plugins']['get'](n);this['listenTo'](_0x437e7a,'change:state',(_0x456af9,_0x3393ee,_0x48c48f)=>{if('connected'!==_0x48c48f)this['channelSessions']['forEach'](_0x3f57f0=>_0x3f57f0['clear']()),this['channelConnectedUsers']['forEach'](_0x381c2d=>_0x381c2d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x188890,_0x1a45e4]of this['_registeredSessions'])for(const _0x23dbdb of _0x1a45e4)this['_handleSessionAdd'](_0x188890,_0x23dbdb);}}),this['_createUser'](_0x437e7a['connection']['me'],!0x0);}['register'](_0xc1602d,_0x332b4e){if(this['_registeredSessions']['has'](_0xc1602d))throw new _0x1ce47a('sessions-register-already-registered',null,{'channelId':_0xc1602d});this['_registeredSessions']['set'](_0xc1602d,_0x332b4e),this['channelSessions']['set'](_0xc1602d,new _0x38d74d()),this['channelConnectedUsers']['set'](_0xc1602d,new _0x38d74d()),this['listenTo'](_0x332b4e,'add',(_0x210627,_0x542f4c)=>this['_handleSessionAdd'](_0xc1602d,_0x542f4c)),this['listenTo'](_0x332b4e,'remove',(_0x112cb2,_0x4990ee)=>this['_handleSessionRemove'](_0xc1602d,_0x4990ee));for(const _0x149752 of _0x332b4e)this['_handleSessionAdd'](_0xc1602d,_0x149752);}['unregister'](_0x2df282){if(!this['_registeredSessions']['has'](_0x2df282))throw new _0x1ce47a('sessions-unregister-not-exist',null,{'channelId':_0x2df282});const _0x3ccf22=this['_registeredSessions']['get'](_0x2df282);this['stopListening'](_0x3ccf22);for(const _0x239a9c of _0x3ccf22)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2df282,_0x239a9c);this['_registeredSessions']['delete'](_0x2df282),this['channelSessions']['delete'](_0x2df282),this['channelConnectedUsers']['delete'](_0x2df282);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x1ae92f){for(const _0x3d7b30 of this['channelSessions']['values']())for(const _0x28f8c6 of _0x3d7b30)if(_0x28f8c6['id']===_0x1ae92f)return _0x28f8c6['user'];}['getUserSessions'](_0x5635b2,_0x4c335c){const _0x1a3751=_0x4c335c?[this['channelSessions']['get'](_0x4c335c)]:this['channelSessions']['values'](),_0x36c405=new Set();for(const _0x3eb6a0 of _0x1a3751)for(const _0x57ea55 of _0x3eb6a0)_0x57ea55['user']['id']===_0x5635b2['id']&&_0x36c405['add'](_0x57ea55['id']);return _0x36c405;}['getUserRole'](_0x1aee49){for(const _0x1a00f7 of this['channelSessions']['values']())for(const _0x2e9b6d of _0x1a00f7)if(_0x2e9b6d['user']===_0x1aee49)return _0x2e9b6d['role'];}['_handleSessionAdd'](_0x373ea8,_0x306378){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x486a66=_0x306378['user'],_0x1d24a4=this['_users']['getUser'](_0x486a66['id'])||this['_createUser'](_0x486a66),_0x273963=Object['assign']({},_0x306378,{'user':_0x1d24a4});if(this['channelSessions']['get'](_0x373ea8)['add'](_0x273963),!_0x486a66['hiddenInPresenceList']){const _0x5e9764=this['channelConnectedUsers']['get'](_0x373ea8);_0x5e9764['has'](_0x1d24a4['id'])||_0x5e9764['add'](_0x1d24a4),this['allConnectedUsers']['has'](_0x1d24a4['id'])||_0x486a66['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1d24a4,_0x1d24a4['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x373ea8,{'channelId':_0x373ea8,'session':_0x273963});}['_handleSessionRemove'](_0xc58058,_0x340686){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x31d876=this['channelConnectedUsers']['get'](_0xc58058),_0x3b915f=_0x340686['user'];_0x3b915f['id']&&(this['channelSessions']['get'](_0xc58058)['remove'](_0x340686['id']),_0x31d876['has'](_0x3b915f['id'])&&!this['getUserSessions'](_0x3b915f,_0xc58058)['size']&&_0x31d876['remove'](_0x3b915f['id']),this['allConnectedUsers']['get'](_0x3b915f['id'])&&!this['getUserSessions'](_0x3b915f)['size']&&this['allConnectedUsers']['remove'](_0x3b915f['id']));}['_createUser'](_0x3d9192,_0x44e521){const _0x1f959f=this['_users']['addUser'](_0x3d9192);return _0x44e521&&this['_users']['defineMe'](_0x3d9192['id']),_0x1f959f['orderNumber']=this['_uniqueUsersCount']++,_0x1f959f;}}class H extends _0x5bfa53{['_domEmitter']=new(_0x5524d7())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5acb36=this['editor'],_0x460f0d=_0x5acb36['plugins']['get'](i);_0x5acb36['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xeea9a5,{writer:_0x1a1d32})=>function(_0x13bddc,_0x3e5a65,_0x1a24a6,_0x6c670e){const _0x304ae3=_0x13bddc['markerName']['split'](':')[0x2],_0x58938a=_0x1a24a6['getUserBySessionId'](_0x304ae3);if(!_0x58938a||_0x304ae3===_0x1a24a6['mySessionId'])return;if(!_0x6c670e['model']['schema']['checkChild'](_0x13bddc['markerRange']['start'],'$text'))return;const _0x2519da={'class':'ck-user__marker\x20'+_0x58938a['color']['getMarkerClass'](),'data-name':_0x58938a['name'],'data-session-id':_0x304ae3},_0x1979b9=_0x6c670e['model']['markers']['get'](_0x13bddc['markerName']),_0x588d73=_0x1979b9['getStart'](),_0x43f393=_0x588d73['nodeAfter'],_0x97faf1=_0x6c670e['model']['schema'];if(_0x43f393&&_0x97faf1['isObject'](_0x43f393)&&_0x97faf1['isInline'](_0x43f393)&&!_0x6c670e['model']['markers']['get']('user:range:'+_0x304ae3)['getRange']()['isCollapsed'])return;const _0x4054b2=_0x588d73['parent'];return _0x6c670e['model']['schema']['isLimit'](_0x4054b2)&&!_0x6c670e['model']['hasContent'](_0x4054b2)&&(_0x2519da['contenteditable']=!0x1),function(_0x9eb503,_0xfb7cd4,_0x49e7bc){const _0x20b0fb=_0x9eb503['createUIElement']('span',_0xfb7cd4);return _0x9eb503['setCustomProperty']('userPositionMarker',!0x0,_0x20b0fb),_0x20b0fb['render']=function(_0xd323dd){const _0x5f01ae=this['toDomElement'](_0xd323dd),_0x1f269c=document['createElement']('span');return _0x1f269c['classList']['add']('ck-user__marker-tooltip'),_0x1f269c['setAttribute']('contenteditable','false'),_0x1f269c['setAttribute']('spellcheck','false'),_0x1f269c['textContent']=_0x49e7bc['name'],_0x5f01ae['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1f269c['outerHTML']+'⁠',_0x5f01ae['addEventListener']('mouseenter',()=>{_0x5f01ae['classList']['add']('ck-user__marker_hovered');}),_0x5f01ae['addEventListener']('mouseleave',()=>{_0x5f01ae['classList']['remove']('ck-user__marker_hovered');}),_0x5f01ae;},_0x20b0fb['isSimilar']=function(_0x725620){return!(!this['getCustomProperty']('userPositionMarker')||!_0x725620['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x725620['getAttribute']('data-session-id'));},_0x20b0fb;}(_0x3e5a65,_0x2519da,_0x58938a);}(_0xeea9a5,_0x1a1d32,_0x460f0d,_0x5acb36)}),_0x5acb36['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2c905e=>function(_0x1a4041,_0x13e2c8){const _0x17acf9=_0x1a4041['markerName']['split'](':')[0x2];if(_0x17acf9===_0x13e2c8['mySessionId'])return null;const _0x3604c7=_0x13e2c8['getUserBySessionId'](_0x17acf9);if(!_0x3604c7)return{'id':_0x17acf9,'classes':[]};return{'id':_0x17acf9,'classes':['ck-user__selection',_0x3604c7['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x17acf9},'priority':0x7d0+_0x3604c7['orderNumber']};}(_0x2c905e,_0x460f0d)}),function(_0x2e8b65){const _0x54641d=_0x2e8b65['model'],_0x350f5b=new Map(),_0x57a84b=_0x2e8b65['plugins']['get'](i);_0x54641d['markers']['on']('update:user:range',(_0x458c8b,_0x3d007a,_0x521f96,_0x51ba43)=>{if(!_0x51ba43&&_0x350f5b['get'](_0x3d007a['name']))return _0x350f5b['get'](_0x3d007a['name'])['detach'](),void _0x350f5b['delete'](_0x3d007a['name']);const _0x4f6627=_0x3d007a['name']['split'](':')[0x2];if(_0x4f6627===_0x57a84b['mySessionId'])return;const _0x2d5328='user:position:'+_0x4f6627;_0x54641d['markers']['has'](_0x2d5328)&&_0x2e8b65['editing']['reconvertMarker'](_0x2d5328),_0x3d007a['on']('change:range',(_0x4c134c,_0x18f5ba,_0x292e20)=>{if('$graveyard'!=_0x18f5ba['root']['rootName']&&'$graveyard'==_0x3d007a['getRange']()['root']['rootName']&&!_0x350f5b['has'](_0x3d007a['name'])){const _0x57f512=_0x54641d['schema']['getNearestSelectionRange'](_0x292e20['deletionPosition']);if(_0x57f512){const _0xd2bffc=_0x69ae37['fromRange'](_0x57f512);_0x350f5b['set'](_0x3d007a['name'],_0xd2bffc),_0xd2bffc['on']('change:range',(_0x34164a,_0xff7358,_0x38a5e1)=>{if('$graveyard'==_0xd2bffc['root']['rootName']){const _0x44911f=_0x54641d['schema']['getNearestSelectionRange'](_0x38a5e1['deletionPosition']);_0x44911f?(_0xd2bffc['start']=_0x44911f['start'],_0xd2bffc['end']=_0x44911f['end']):(_0x350f5b['delete'](_0x3d007a['name']),_0xd2bffc['detach']());}});}}});}),_0x54641d['document']['on']('change',()=>{_0x350f5b['size']>0x0&&_0x54641d['enqueueChange']({'isUndoable':!0x1},_0x42bbbe=>{for(const [_0x19c9eb,_0x5b0e36]of _0x350f5b)'$graveyard'==_0x54641d['markers']['get'](_0x19c9eb)['getRange']()['root']['rootName']&&(Z(_0x19c9eb['split'](':')[0x2],_0x5b0e36['toRange'](),_0x54641d,_0x42bbbe),_0x5b0e36['detach']());_0x350f5b['clear']();});});}(_0x5acb36),this['_domEmitter']['listenTo'](_0x26dcab['document'],'keydown',(_0x49ddcf,{key:_0xe948d6})=>{'Escape'===_0xe948d6&&function(_0x232ccc){_0x232ccc['editing']['view']['change'](_0x7883d8=>{for(const _0x5c0a7d of _0x232ccc['model']['markers']){if(!_0x5c0a7d['name']['startsWith']('user:position'))continue;const _0x3159a7=_0x232ccc['editing']['mapper']['markerNameToElements'](_0x5c0a7d['name']);if(_0x3159a7){for(const _0x513113 of _0x3159a7)_0x7883d8['removeClass']('ck-user__marker_hovered',_0x513113);}}});}(_0x5acb36);},{'useCapture':!0x0});}['afterInit'](){const _0xb69463=this['editor'],_0xbba0c2=_0xb69463['commands']['get']('undo');_0xbba0c2&&_0xb69463['model']['on']('applyOperation',(_0x437125,_0x2af55b)=>{const _0x262f3f=_0x2af55b[0x0];if(!_0x262f3f['isDocumentOperation'])return;if('marker'!=_0x262f3f['type']||!_0x262f3f['name']['startsWith']('user:'))return;const _0x390bd9=_0x262f3f['batch'];_0xbba0c2['_createdBatches']['has'](_0x390bd9)&&(_0x262f3f['newRange']=_0x262f3f['oldRange']?_0xb69463['model']['createRange'](_0x262f3f['oldRange']['start'],_0x262f3f['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3ee6af=this['editor'],_0x6af2da=_0x3ee6af['model']['document'],_0x2262c=_0x3ee6af['plugins']['get'](i);_0x3ee6af['model']['enqueueChange']({'isUndoable':!0x1},_0x59928f=>{const _0x4f7137='user:range:'+_0x2262c['mySessionId'],_0x3ac8b6='user:position:'+_0x2262c['mySessionId'],_0x4e5b4d=_0x3ee6af['model']['markers']['has'](_0x4f7137);_0x3ee6af['editing']['view']['hasDomSelection']?Z(_0x2262c['mySessionId'],_0x6af2da['selection']['getFirstRange'](),_0x3ee6af['model'],_0x59928f):_0x4e5b4d&&(_0x59928f['removeMarker'](_0x4f7137),_0x59928f['removeMarker'](_0x3ac8b6));});}}function Z(_0x56e6a9,_0x3d0af5,_0x34330d,_0x107aff){const _0x53f681='user:range:'+_0x56e6a9,_0xfe0908='user:position:'+_0x56e6a9,_0x22e094=_0x3d0af5['getContainedElement']();let _0x62cbd5=_0x3d0af5['start'];if(_0x22e094&&_0x22e094['is']('element','tableCell')){const _0x4b0fcf=function(_0x20285d,_0x3c39e9){for(const _0x43c1b3 of _0x20285d['getPositions']())if(_0x3c39e9['schema']['checkChild'](_0x43c1b3,'$text'))return _0x43c1b3;}(_0x3d0af5,_0x34330d);_0x4b0fcf&&(_0x62cbd5=_0x4b0fcf,_0x3d0af5=_0x107aff['createRange'](_0x62cbd5));}const _0x169c6e=_0x107aff['createRange'](_0x62cbd5);_0x34330d['markers']['has'](_0x53f681)?(_0x107aff['updateMarker'](_0x53f681,{'range':_0x3d0af5}),_0x107aff['updateMarker'](_0xfe0908,{'range':_0x169c6e})):(_0x107aff['addMarker'](_0x53f681,{'range':_0x3d0af5,'usingOperation':!0x0}),_0x107aff['addMarker'](_0xfe0908,{'range':_0x169c6e,'usingOperation':!0x0}));}function V(_0x10b1a6,_0x4cf1c6,_0x375204){const _0x39490c=_0x10b1a6['t'],t=_0x10b1a6['t'];switch(_0x4cf1c6){case'PENDING_ACTION_SENDING_DATA':return t({'string':'Sending\x20data\x20to\x20the\x20server.','id':'PENDING_ACTION_SENDING_DATA'});case'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':return t('The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');case'Synchronization\x20issue':return t('Synchronization\x20issue');case'Connected\x20users\x20list\x20dropdown\x20menu':return t('Connected\x20users\x20list\x20dropdown\x20menu');case'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':return t('Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)');case'Connected\x20users\x20list':return t('Connected\x20users\x20list');case'PENDING_ACTION_REVISION_HISTORY':return _0x39490c({'string':'Unsaved\x20change\x20in\x20revision\x20history.','id':'PENDING_ACTION_REVISION_HISTORY'});case'CONNECTED_USERS':return t({'string':'1\x20connected\x20user\x20(me)','plural':'%0\x20connected\x20users','id':'CONNECTED_USERS'},_0x375204);default:return'';}}let G=0x1;class l extends _0x5bfa53{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x7ab6d)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x32fe04,_0x4020f1,_0x2148b5];}static get['pluginName'](){return'RealTimeCollaborationClient';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}get['cloudDocumentVersion'](){return this['_lastServerVersion']+this['_offset'];}get['_lastServerVersion'](){return this['serverHistory']['version']-this['_offset'];}get['lastSyncVersion'](){const _0x4df03b=this['serverHistory']['getOperations']();for(let _0x5327b0=_0x4df03b['length']-0x1;_0x5327b0>=0x0;_0x5327b0--){const _0x5b44dd=_0x4df03b[_0x5327b0];if(!this['_disconnectionOperations']['has'](_0x5b44dd))return _0x5b44dd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x58f6ed){if(super(_0x58f6ed),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5c976a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ce47a('collaboration-missing-channelid',this);const _0x437300=_0x58f6ed['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x437300,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3a4b00(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x279a80=this['editor'],_0xd403c2=_0x279a80['plugins']['get'](_0x4020f1),_0x8a27eb=_0x279a80['plugins']['get'](n);this['listenTo'](_0xd403c2,'getOperationAuthor',(_0x477621,_0x34f87d)=>{const _0x46f02b=_0x34f87d[0x0];_0x46f02b['_authorId']&&(_0x477621['return']=_0xd403c2['getUser'](_0x46f02b['_authorId']),_0x477621['stop']()),null===_0x46f02b['_authorId']&&(_0x477621['return']=null,_0x477621['stop']());},{'priority':'high'}),this['listenTo'](_0x279a80['model']['document']['selection'],'change:range',(_0x2561aa,_0xe42261)=>{_0xe42261['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x279a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x279a80['model']['on']('applyOperation',(_0x7b8545,_0x9ec93)=>{const _0x21d569=_0x9ec93[0x0];_0x21d569['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x21d569),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x8a27eb,'state',this,'_hasSynchronizationProblem',(_0x4693d7,_0x2efb08)=>'connected'===_0x4693d7&&!_0x2efb08),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x279a80['disableReadOnlyMode']('rtc-offline'):_0x279a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x279a80['disableReadOnlyMode']('rtc-offline'):_0x279a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xf7d892=this['editor']['plugins']['get'](i),_0x40f0c9=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0xf7d892['unregister'](this['_channelId']);const _0x36bfdf=await this['_service']['reconnect'](_0x40f0c9['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36bfdf)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x200bce=await this['_service']['getConnectedSessions']();_0xf7d892['register'](this['_channelId'],_0x200bce),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x9952f){if(function(_0x46f61a){return'404'===_0x46f61a['code'];}(_0x9952f)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x124844){return'409'===_0x124844['code'];}(_0x9952f)){const _0x32122e=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x32122e);}else{if(!(_0x9952f instanceof $))throw _0x9952f;this['_handleReconnectionError']();}}}}['destroy'](){const _0x574b37=this['editor']['plugins']['get'](n),_0x5af106=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5af106['channelSessions']['has'](this['_channelId'])&&_0x5af106['unregister'](this['_channelId']),_0x574b37['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1e904a){if(this['sessionId']!==_0x1e904a['sessionId']&&this['_lastSyncedOperationId']!==_0x1e904a['lastOperationId'])throw new $();return this['sessionId']=_0x1e904a['sessionId'],this['_handleServerResponse']([],{..._0x1e904a,'wereChangesApplied':!0x1,'data':_0x1e904a['data']},'reconnect');}async['_connectService'](_0x513aac,_0x1018a5=!0x1){const {connection:_0x376468}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x376468,this['_channelId'])['then'](_0x114704=>this['_initSessionsHandling'](_0x114704))['catch'](_0x1f18ea=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x1f18ea);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x48a207,_0x207505)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x207505);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xd6e0d7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x513aac);this['_isPendingUpdate']=!0x0;const _0x10540e=await this['_service']['connect'](_0x376468,this['_compressOperations'](_0x513aac),_0xd6e0d7);if(this['sessionId']=_0x10540e['sessionId'],_0x1018a5){if(!_0x10540e['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x10540e['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x513aac,_0x10540e,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x10540e,_0x513aac);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5bee5a=this['editor']['plugins']['get'](i),_0xdf7d49=this['editor']['plugins']['get'](H),_0x3ef8e7=_0x5bee5a['channelSessions']['get'](this['_channelId']);_0x3ef8e7&&_0x3ef8e7['length']>0x1?_0xdf7d49['createUserMarkerOperations']():this['listenTo'](_0x5bee5a,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5bee5a['channelSessions']['get'](this['_channelId'])['length']&&_0xdf7d49['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x136a8c,_0x334998,_0x5bfbfb,_0x4d2388){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x334998){const _0x32e579=this['_decompressOperations'](_0x5bfbfb,_0x4d2388);await this['_fetchMissingUsers'](_0x32e579),this['_handleExternalOperations'](_0x32e579,_0x334998,_0x5bfbfb['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x310874}=this['editor'];let _0x448b06;try{_0x448b06=await this['_service']['getDocumentDetails']();}catch{const _0x12e6e0=V(_0x310874,'The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x12e6e0);}const _0x26545e=_0x448b06['currentDocumentSession']||_0x448b06['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x26545e['lastOperationId']){const _0x34cb82=V(_0x310874,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x34cb82);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0xef7909){const _0x4d2d7a=this['editor']['plugins']['get'](i);this['listenTo'](_0x4d2d7a,'sessionAdd:'+this['_channelId'],(_0x3d0437,{session:_0x4075b8})=>{if(_0x4075b8['id']===_0x4d2d7a['mySessionId']){_0x3d0437['off']();const _0x94557f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3fec84=_0x4075b8['permissions'];_0x94557f&&_0x94557f['isEnabled']&&(_0x3fec84=_0x3fec84['filter'](_0x37851a=>'document:write'!==_0x37851a)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3fec84,this['_channelId']);}}),_0x4d2d7a['register'](this['_channelId'],_0xef7909);}['_initThrowingOnDataSet'](){const _0x5af901=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3d087d)=>{if(!_0x3d087d[_0x3d087d['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ce47a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5af901['apply'](this['editor']['data'],_0x3d087d);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x10c654,[_0x38f454])=>{if(this['_document']['version'])throw new _0x1ce47a('realtimecollaborationclient-init-document-already-initialized',this);_0x10c654['stop'](),this['_setPendingAction']();const _0x35f96c=this['editor']['config']['get']('rootsAttributes'),_0x1731ea=this['_getOperationsFromInitData'](_0x38f454,_0x35f96c);0x0==_0x1731ea['length']&&_0x1731ea['push'](new _0x43d8a1(0x0)),_0x10c654['return']=this['_connectService'](_0x1731ea)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14bcad=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14bcad))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xebec4a,[_0xf6223f,_0x1627b2])=>{_0xebec4a['stop']();const _0x6e691d=this['editor']['model']['document']['getRoot'](_0xf6223f);if(!this['_knownRootNames']['has'](_0xf6223f)){const _0x4cbf5b=_0x1627b2&&_0x1627b2['data']?_0x1627b2['data']:'',_0x2fb7b7=_0x1627b2&&_0x1627b2['attributes']?_0x1627b2['attributes']:{};await this['_loadRoot'](_0xf6223f,_0x4cbf5b,_0x2fb7b7);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x6e691d['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x6e691d);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x430908){const _0x4abf0d=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x4ae34b}=this['editor']['plugins']['get'](n),_0x36c102=new Set();for(const _0x34455b of _0x430908){const _0x3cbe2e=_0x34455b['_authorId'];_0x3cbe2e&&!_0x4abf0d['getUser'](_0x3cbe2e)&&_0x36c102['add'](_0x3cbe2e);}if(0x0===_0x36c102['size'])return;const _0xd796ab=await lt['getMany'](_0x4ae34b,Array['from'](_0x36c102));for(const _0x5b63e7 of _0xd796ab)_0x4abf0d['getUser'](_0x5b63e7['id'])||_0x4abf0d['addUser'](_0x5b63e7);}['_getOperationsFromInitData'](_0x51d15a,_0x39acbc={}){const _0xb9e400=this['editor']['model'],_0x4590b8=[];let _0x24abb6=0x0;const _0x3789fb='string'==typeof _0x51d15a?{'main':_0x51d15a}:_0x51d15a;for(const _0xb84ba3 of Object['keys'](_0x3789fb)){if(!this['_document']['roots']['has'](_0xb84ba3))throw new _0x1ce47a('realtimecollaborationclient-init-non-existent-root',this);const _0x242dac=this['editor']['data']['parse'](_0x3789fb[_0xb84ba3]),_0x3d224d=this['_document']['getRoot'](_0xb84ba3),_0x38aad9=new _0x81060(_0xb9e400['createPositionAt'](_0x3d224d,0x0),_0x242dac,_0x24abb6++);_0x4590b8['push'](_0x38aad9);for(const [_0x3b2fd2,_0x51f5ad]of _0x242dac['markers']){const _0x76b825=_0xb9e400['createRange'](_0xb9e400['createPositionFromPath'](_0x3d224d,_0x51f5ad['start']['path']['slice']()),_0xb9e400['createPositionFromPath'](_0x3d224d,_0x51f5ad['end']['path']['slice']())),_0x2635a0=new _0x6193d1(_0x3b2fd2,null,_0x76b825,_0xb9e400['markers'],!0x0,_0x24abb6++);_0x4590b8['push'](_0x2635a0);}}if(_0x39acbc)for(const [_0x43ca7d,_0xec90d2]of Object['entries'](_0x39acbc)){const _0x352207=_0xb9e400['document']['getRoot'](_0x43ca7d);if(!_0x352207)throw new _0x1ce47a('multi-root-editor-root-attributes-no-root',null);for(const [_0x876128,_0x460986]of Object['entries'](_0xec90d2))if(null!==_0x460986){const _0x1c8903=new _0x4ee1b8(_0x352207,_0x876128,null,_0x460986,_0x24abb6++);_0x4590b8['push'](_0x1c8903);}}return _0x4590b8;}async['_loadRoot'](_0x166350,_0x223dea,_0xa038c1){this['_getOperationsFromInitData']({[_0x166350]:_0x223dea},{[_0x166350]:_0xa038c1})['forEach']((_0x1121ee,_0x2169fe)=>{_0x1121ee['baseVersion']=this['_document']['version']+_0x2169fe,_0x1121ee['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1121ee);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x1d3a88,_0xba1d8a){let _0x4c8b38;this['_offset']=_0x1d3a88['offset'];const _0x3e60d8=_0x1d3a88['wereChangesApplied']&&!_0x1d3a88['initData'],_0x30ee6c=_0x3e60d8?0x0:_0x1d3a88['data']['baseVersion'];if(_0xba1d8a['forEach'](_0x519dde=>{_0x519dde['_isInit']=!0x0,_0x519dde['createdAt']=_0x1d3a88['sessionCreatedAt'],_0x519dde['_authorId']=null;}),_0x3e60d8)_0x4c8b38=_0xba1d8a,this['_applyOperationsSet'](_0x4c8b38,_0x3e60d8);else{if(_0x1d3a88['initData']){const _0x2c08f2=this['_getOperationsFromInitData'](_0x1d3a88['initData']);this['_document']['history']['version']=-_0x2c08f2['length'],_0x2c08f2['forEach'](_0xba31b=>{_0xba31b['baseVersion']-=_0x2c08f2['length'],_0xba31b['createdAt']=_0x1d3a88['sessionCreatedAt'],_0xba31b['_isInit']=!0x0,_0xba31b['_authorId']=null;}),this['_applyOperationsSet'](_0x2c08f2,!0x0),this['serverHistory']['version']=-_0x2c08f2['length']+this['_offset'],this['_updateServerHistory'](_0x2c08f2);}this['_document']['history']['version']=_0x30ee6c,_0x4c8b38=this['_decompressOperations'](_0x1d3a88['data'],_0x1d3a88['metadata']),await this['_fetchMissingUsers'](_0x4c8b38),this['_applyOperationsSet'](_0x4c8b38,_0x3e60d8);}_0x1d3a88['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4c8b38,_0x1d3a88['lastOperationId']),this['_lastSyncedOperationId']=_0x1d3a88['lastOperationId']),this['serverHistory']['version']=_0x30ee6c+this['_offset'],this['_updateServerHistory'](_0x4c8b38),_0xba1d8a['filter'](_0x5429ea=>{const _0x271219=this['_getAffectedRoot'](_0x5429ea);return _0x271219&&!this['_knownRootNames']['has'](_0x271219);})['forEach']((_0x2f7d24,_0x23ec53)=>{_0x2f7d24['baseVersion']=this['_document']['version']+_0x23ec53,this['_saveOperationInBuffer'](_0x2f7d24);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x28e5b6,_0x10d43c){const _0x6f0432=_0x10d43c&&_0x10d43c['message'];if(_0x6f0432&&_0x6f0432['startsWith']('realtimecollaborationclient'))throw _0x10d43c;const _0x101208=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x101208['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ce47a(_0x28e5b6,this['editor'],_0x6f0432?{'originalError':_0x6f0432}:void 0x0);}['_saveOperationInBuffer'](_0x4117a1){this['_knownOperations']['has'](_0x4117a1)||(this['_knownOperations']['add'](_0x4117a1),this['_bufferedOperations']['push'](_0x4117a1),this['_pendingAction']||'marker'==_0x4117a1['type']&&!_0x4117a1['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4705b5=!0x1){!_0x4705b5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2a7b9a=>{_0x2a7b9a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x38d369=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2328dd){return _0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2328dd['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x38d369)||this['_crash'](_0x38d369['message'],_0x38d369);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x57a0ec=>{this['on']('change:_isPendingUpdate',()=>{_0x57a0ec();});});}async['_sendBufferedOperations'](){const _0x3f9aee=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x3f9aee['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3db74b=[...this['_bufferedOperations']];for(const _0x5ef795 of _0x3db74b)_0x5ef795['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5ef795);const _0x45763d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3db74b),_0x3f9737=G++,_0x3780fe=this['_compressOperations'](_0x3db74b),_0x49bb3d=await this['_service']['sendOperations'](_0x3780fe,_0x3780fe['baseVersion'],_0x45763d);try{return await this['_handleServerResponse'](_0x3db74b,_0x49bb3d,_0x3f9737);}catch(_0x2fbec1){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2fbec1);}}async['_handleServerResponse'](_0x88765d,_0x102998,_0x1d2457){if('error'in _0x102998)throw _0x102998['error'];let _0x15efef=!0x1;if(_0x102998['wereChangesApplied']){_0x102998['lastOperationId']&&(this['_lastSyncedOperationId']=_0x102998['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xe12a7c=>!_0x88765d['includes'](_0xe12a7c));for(const _0x79bc44 of _0x88765d)_0x79bc44['createdAt']='lastOperationAcceptedAt'in _0x102998&&_0x102998['lastOperationAcceptedAt']||void 0x0;K(_0x88765d,_0x102998['version']-_0x88765d['length']),this['_updateServerHistory'](_0x88765d);const _0x597015=_0x88765d['filter'](_0x4ce00a=>{if(!_0x4ce00a['_isInit'])return!0x1;const _0x52ba65=this['_getAffectedRoot'](_0x4ce00a);return _0x52ba65&&!this['_knownRootNames']['has'](_0x52ba65);});K(_0x597015,this['_document']['version']),this['_applyOperationsSet'](_0x597015),_0x15efef=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x58db68=this['_decompressOperations'](_0x102998['data'],_0x102998['metadata'])['filter'](_0x2d18bc=>_0x2d18bc['baseVersion']>=this['_lastServerVersion']);_0x58db68['forEach'](_0x2784e4=>this['_addKnownRoot'](_0x2784e4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ce65e=>!_0x5ce65e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ce65e))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x58db68),_0x15efef=this['_handleExternalOperations'](_0x58db68,_0x102998['version'],_0x102998['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x15efef?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x23b832,_0x42b66d,_0x5c45de){try{const _0x187266={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x39e9e1,operationsB:_0x4f4f12,originalOperations:_0x485d50}=_0x52fab2(_0x23b832,this['_bufferedOperations'],_0x187266);K(_0x39e9e1,this['_document']['version']),K(_0x4f4f12,_0x42b66d);for(const _0xa50cbe of _0x39e9e1){const _0x1f7537=_0x485d50['get'](_0xa50cbe);_0xa50cbe['_authorId']=_0x1f7537?_0x1f7537['_authorId']:null;}_0x5c45de&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x23b832,_0x5c45de),this['_lastSyncedOperationId']=_0x5c45de),this['_bufferedOperations']=[..._0x4f4f12],this['_applyOperationsSet'](_0x39e9e1),this['_updateServerHistory'](_0x23b832);}catch(_0x296421){return console['error'](_0x296421),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5ca5a6,_0x3b40f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x219ea3=>{for(const _0x25c06f of _0x5ca5a6)this['_knownOperations']['add'](_0x25c06f),this['_addKnownRoot'](_0x25c06f),_0x219ea3['batch']['addOperation'](_0x25c06f),this['editor']['model']['applyOperation'](_0x25c06f);});}['_addKnownRoot'](_0x22cfc2){const _0x52471a=this['_getAffectedRoot'](_0x22cfc2);_0x52471a&&this['_knownRootNames']['add'](_0x52471a);}['_getAffectedRoot'](_0x5edb40){let _0x19346f,_0x13645c;switch(_0x5edb40['type']){case'insert':_0x19346f=_0x5edb40['position']['root'];break;case'marker':if(_0x13645c=_0x5edb40['newRange'],!_0x13645c)return null;_0x19346f=_0x13645c['root'];break;case'addRootAttribute':_0x19346f=_0x5edb40['root'];break;case'addRoot':_0x19346f=_0x5edb40['affectedSelectable'];break;case'move':_0x19346f=_0x5edb40['targetPosition']['root'];break;default:return null;}return _0x19346f['rootName'];}['_updateServerHistory'](_0x56e76a){_0x56e76a['forEach'](_0x5a25a2=>{const _0x1dc57d=_0x5a25a2['clone']();_0x1dc57d['_authorId']=_0x5a25a2['_authorId'],_0x1dc57d['_isInit']=!!_0x5a25a2['_isInit'],_0x1dc57d['createdAt']=_0x5a25a2['createdAt'],_0x1dc57d['baseVersion']+=this['_offset'],_0x5a25a2['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1dc57d),this['serverHistory']['addOperation'](_0x1dc57d);});}['_handleReconnectionError'](_0x593e3b){const _0x108d4f=this['editor']['plugins']['get']('Notification'),_0x50d1b8=this['editor']['locale'];_0x593e3b||(_0x593e3b=V(_0x50d1b8,'The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.')),_0x108d4f['showWarning'](_0x593e3b,{'title':V(_0x50d1b8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x32fe04)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x32fe04)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5a6d96){const _0x152187=_0x5a6d96['map'](_0x5e92dd=>_0x5e92dd['toJSON']());return this['_compressor']['compress'](_0x152187);}['_decompressOperations'](_0x25fa53,_0x316dec){return this['_compressor']['decompress'](_0x25fa53)['map']((_0x1d5123,_0x2494d5)=>{const _0x480e49='init'==_0x316dec[_0x2494d5]['type'];if('InsertOperation'==_0x1d5123['__className']){const _0x2099f2=_0x1d5123['position']['root'];!this['_document']['getRoot'](_0x2099f2)&&(this['_document']['createRoot']('$root',_0x2099f2)['_isAttached']=!0x1);}const _0x18454a=_0x59cd5d['fromJSON'](_0x1d5123,this['_document']);return _0x18454a['wasUndone']=_0x1d5123['wasUndone'],_0x18454a['_isInit']=_0x480e49,_0x18454a['_authorId']=_0x480e49?null:_0x316dec[_0x2494d5]['userId'],_0x18454a['_isDisconnection']='cs:removeUser'===_0x316dec[_0x2494d5]['type'],_0x18454a['createdAt']=_0x316dec[_0x2494d5]['createdAt'],_0x18454a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x58fc4d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x58fc4d&&_0x58fc4d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x563a64,_0x548ad3){for(const _0x2e3a52 of _0x563a64)_0x2e3a52['baseVersion']=_0x548ad3++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x59d31d){this['_ignoredOperations']=_0x59d31d,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x21c050){let _0x338d4f=_0x21c050['length'];for(;_0x338d4f--;){const _0x34a407=_0x21c050[_0x338d4f];if(!this['_ignoredOperations']['has'](_0x34a407)){if(!this['_operationToId']['has'](_0x34a407)){const _0x354328=_0x440ce5()['slice'](0x1,0x12);this['_operationToId']['set'](_0x34a407,_0x354328);}return this['_operationToId']['get'](_0x34a407);}}}['setIdForTheLastOperation'](_0x38544b,_0x2fcf0c){if(!_0x2fcf0c)return;let _0x263926=_0x38544b['length'];for(;_0x263926--;){const _0x4feedc=_0x38544b[_0x263926];this['_ignoredOperations']['has'](_0x4feedc)||this['_operationToId']['set'](_0x4feedc,_0x2fcf0c);}}}class a extends _0x5bfa53{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1c6eb3{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x319e55)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x4020f1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12f2ff){super(_0x12f2ff),this['_services']=new Map();}async['init'](){const _0x127f6d=this['context'],_0x1c2cd6=_0x127f6d['plugins']['get']('CommentsRepository');if(_0x127f6d['plugins']['get'](n)['addToReconnectionStack'](this),_0x1c2cd6['adapter']={'addCommentThread':async({channelId:_0x373901,threadId:_0x103b91,comments:_0x4844ff,resolvedAt:_0xe13029,resolvedBy:_0xf54943,context:_0x21b5e3,attributes:_0x4aff57})=>{const _0x284cf1=await this['_getService'](_0x373901)['addCommentThread']({'commentThreadId':_0x103b91,'comments':_0x4844ff['map'](_0x2c3e3c=>function(_0x501d65,_0x4b642b,_0x1bcfa8){return{'commentThreadId':_0x1bcfa8,'commentId':_0x501d65['commentId'],'userId':_0x501d65['authorId'],'content':_0x501d65['content'],'documentId':_0x4b642b,'createdAt':_0x501d65['createdAt'],'attributes':_0x501d65['attributes']||{}};}(_0x2c3e3c,_0x373901,_0x103b91)),'resolvedAt':_0xe13029,'resolvedBy':_0xf54943,'context':_0x21b5e3,'attributes':_0x4aff57})['catch'](dt);return{'threadId':_0x284cf1['commentThreadId'],'comments':_0x284cf1['comments']};},'getCommentThread':async({channelId:_0x190f36,threadId:_0xbc7799})=>{const _0x3df458=await this['_getService'](_0x190f36)['getCommentThread'](_0xbc7799)['catch'](F)['catch'](dt);return _0x3df458?_0x3df458['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3df458]),{'threadId':_0x3df458['commentThreadId'],'comments':_0x3df458['comments']['map'](S),'context':_0x3df458['context'],'resolvedAt':_0x3df458['resolvedAt'],'resolvedBy':_0x3df458['resolvedBy'],'attributes':_0x3df458['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x323576,threadId:_0x1b6fec,context:_0x438565,unlinkedAt:_0x42e250,attributes:_0x467e74})=>this['_getService'](_0x323576)['updateCommentThread']({'commentThreadId':_0x1b6fec,'context':_0x438565,'attributes':_0x467e74,'unlinkedAt':_0x42e250})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x98e58b,threadId:_0x580a9f})=>{const _0x15971d=await this['_getService'](_0x98e58b)['resolveCommentThread'](_0x580a9f)['catch'](F)['catch'](dt);return{'threadId':_0x15971d['commentThreadId'],'resolvedAt':_0x15971d['resolvedAt'],'resolvedBy':_0x15971d['resolvedBy']};},'reopenCommentThread':async({channelId:_0x38ae54,threadId:_0x2116d5})=>this['_getService'](_0x38ae54)['reopenCommentThread'](_0x2116d5)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x4402a9,threadId:_0x240a6b})=>this['_getService'](_0x4402a9)['removeCommentThread'](_0x240a6b)['catch'](F)['catch'](dt),'addComment':({channelId:_0x1cdcc7,threadId:_0x30e9f5,commentId:_0x5f23c0,content:_0x2fd50d,attributes:_0x15e019})=>this['_getService'](_0x1cdcc7)['addComment'](_0x30e9f5,_0x5f23c0,_0x2fd50d,_0x15e019)['catch'](dt),'updateComment':({channelId:_0x365cf9,threadId:_0x79e5ff,commentId:_0x2feb37,content:_0x1493d1,attributes:_0x243fb7})=>this['_getService'](_0x365cf9)['updateComment'](_0x79e5ff,_0x2feb37,_0x1493d1,_0x243fb7)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x3f8a5e,threadId:_0x328e2f,commentId:_0x33085a})=>this['_getService'](_0x3f8a5e)['removeComment'](_0x328e2f,_0x33085a)['catch'](F)['catch'](dt)},_0x127f6d instanceof _0x23c0a4){const _0x3e5865=_0x127f6d['config']['get']('collaboration.channelId'),_0x4c0934=_0x127f6d['plugins']['get'](i);await this['_setUpService'](_0x3e5865);const _0x2d1de6=await this['_services']['get'](_0x3e5865)['getConnectedSessions']();this['listenTo'](_0x4c0934,'sessionAdd:'+_0x3e5865,(_0x319486,{session:_0x4ccb3a})=>{_0x4ccb3a['id']===_0x4c0934['mySessionId']&&(_0x319486['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x4ccb3a['permissions'],_0x3e5865));}),_0x4c0934['register'](_0x3e5865,_0x2d1de6);}}async['_setUpService'](_0x594cec){if(this['_services']['has'](_0x594cec))throw new _0x1ce47a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x594cec});const _0x1c5247=this['context']['plugins']['get']('CommentsRepository'),_0x109be8=new s['CommentsService'](_0x594cec);this['_services']['set'](_0x594cec,_0x109be8),this['listenTo'](_0x109be8,'commentThreadAdded',(_0x82211d,_0x2303b8)=>{const {commentThreadId:_0x3026a1,documentId:_0x310e4c,context:_0x3d4021,attributes:_0x18f186,resolvedAt:_0x5ebb2d,resolvedBy:_0x212b81,comments:_0x2959de}=_0x2303b8;_0x1c5247['getCommentThread'](_0x3026a1)||_0x1c5247['addCommentThread']({'threadId':_0x3026a1,'channelId':_0x310e4c,'comments':_0x2959de?_0x2959de['map'](S):[],'context':_0x3d4021,'attributes':_0x18f186,'resolvedAt':_0x5ebb2d,'resolvedBy':_0x212b81,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadUpdated',(_0x28fdc6,{commentThreadId:_0x5afd82,documentId:_0x1dee70,context:_0x3f40c3,unlinkedAt:_0x228bb8,attributes:_0x6234ae})=>{_0x1c5247['getCommentThread'](_0x5afd82)&&_0x1c5247['updateCommentThread']({'threadId':_0x5afd82,'channelId':_0x1dee70,'context':_0x3f40c3,'unlinkedAt':_0x228bb8,'attributes':_0x6234ae,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadResolved',(_0x14c233,{commentThreadId:_0x14bd26,resolvedBy:_0x23bc3d,resolvedAt:_0xb252cd})=>{const _0x393095=_0x1c5247['getCommentThread'](_0x14bd26);_0x393095&&_0x393095['resolve']({'resolvedBy':_0x23bc3d,'resolvedAt':_0xb252cd,'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadReopened',(_0x54fcad,{commentThreadId:_0x3835fc})=>{const _0x554a32=_0x1c5247['getCommentThread'](_0x3835fc);_0x554a32&&_0x554a32['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentThreadRemoved',(_0x6ff8c1,{commentThreadId:_0x41f420})=>{const _0x1f0fc3=_0x1c5247['getCommentThread'](_0x41f420);_0x1f0fc3&&_0x1f0fc3['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentAdded',(_0x409a64,_0x3f5bcb)=>{const _0x21f701=_0x3f5bcb['commentThreadId'],_0x1462b5=_0x1c5247['getCommentThread'](_0x21f701);_0x1462b5&&_0x1462b5['addComment']({...S(_0x3f5bcb),'isFromAdapter':!0x0});}),this['listenTo'](_0x109be8,'commentUpdated',(_0x961a13,{commentThreadId:_0x17f227,commentId:_0x165138,content:_0x39589a,attributes:_0x55b211})=>{const _0x45b6c3=_0x1c5247['getCommentThread'](_0x17f227);if(_0x45b6c3){const _0x5610f9=_0x45b6c3['getComment'](_0x165138);_0x5610f9&&_0x5610f9['update']({'content':_0x39589a,'attributes':_0x55b211,'isFromAdapter':!0x0});}}),this['listenTo'](_0x109be8,'commentRemoved',(_0x2dc7c4,{commentThreadId:_0x1ef805,commentId:_0x53f7bf})=>{const _0x4578e1=_0x1c5247['getCommentThread'](_0x1ef805);if(_0x4578e1){const _0x4a98b0=_0x4578e1['getComment'](_0x53f7bf);_0x4a98b0&&_0x4a98b0['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x594cec);}['destroy'](){if(this['context']instanceof _0x23c0a4){const _0x13e2b3=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x13e2b3);}}['_terminateService'](_0x11be9b){if(!this['_services']['has'](_0x11be9b))throw new _0x1ce47a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x11be9b});this['_getService'](_0x11be9b)['disconnect'](),this['_services']['delete'](_0x11be9b);}async['reconnect'](){for(const _0x251e38 of this['_services']['keys']())await this['_connectService'](_0x251e38);if(this['context']instanceof _0x23c0a4){const _0x6805c1=this['context']['config']['get']('collaboration.channelId'),_0xddd2fc=this['context']['plugins']['get'](i);_0xddd2fc['unregister'](_0x6805c1);const _0x369f78=await this['_services']['get'](_0x6805c1)['getConnectedSessions']();_0xddd2fc['register'](_0x6805c1,_0x369f78);}}async['_connectService'](_0x16f309){const {connection:_0xc0cce7}=this['context']['plugins']['get'](n),_0x1a35d2=this['context']['plugins']['get']('CommentsRepository'),_0x4c4ebb=this['_services']['get'](_0x16f309),_0x3b0938=await _0x4c4ebb['connect'](_0xc0cce7);await this['_fetchMissingUsersForThreads'](_0x3b0938);const _0xfba7ac=new Set(Array['from'](_0x1a35d2['getCommentThreads']({'channelId':_0x16f309}),_0x104b6a=>_0x104b6a['id']));for(const _0x40e34e of _0x3b0938)_0x40e34e['deletedAt']||_0xfba7ac['delete'](_0x40e34e['commentThreadId']);for(const _0x301ffa of _0xfba7ac)_0x1a35d2['getCommentThread'](_0x301ffa)['remove']({'isFromAdapter':!0x0});for(const _0x4de2a0 of _0x3b0938){let _0x46a800=_0x1a35d2['getCommentThread'](_0x4de2a0['commentThreadId']);const {commentThreadId:_0x4b5a18,context:_0x4ff777,attributes:_0x4ee7f9,resolvedBy:_0x29e503,resolvedAt:_0x1690ef,unlinkedAt:_0x4773f8,deletedAt:_0x5ac8cb}=_0x4de2a0;if(_0x5ac8cb)continue;_0x46a800||(_0x46a800=_0x1a35d2['addCommentThread']({'channelId':_0x16f309,'threadId':_0x4b5a18,'context':_0x4ff777,'attributes':_0x4ee7f9||{},'resolvedBy':_0x29e503,'resolvedAt':_0x1690ef,'unlinkedAt':_0x4773f8,'isFromAdapter':!0x0}));const _0x3f225e=new Set(Array['from'](_0x46a800['comments'],_0x39fc84=>_0x39fc84['id']));for(const _0x233ae7 of _0x4de2a0['comments'])_0x3f225e['delete'](_0x233ae7['commentId']);for(const _0x20c1f5 of _0x3f225e)_0x46a800['getComment'](_0x20c1f5)['remove']({'isFromAdapter':!0x0});for(const _0x4b4af2 of _0x4de2a0['comments']){const _0x5cd47e=_0x46a800['getComment'](_0x4b4af2['commentId']);_0x5cd47e?_0x5cd47e['content']!==_0x4b4af2['content']&&_0x5cd47e['update']({'content':_0x4b4af2['content'],'isFromAdapter':!0x0}):_0x46a800['addComment'](Object['assign'](S(_0x4b4af2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x39cab4){if(!this['_services']['has'](_0x39cab4))throw new _0x1ce47a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x39cab4});return this['_services']['get'](_0x39cab4);}async['_fetchMissingUsersForThreads'](_0x4181f3){const _0x819f00=this['context']['plugins']['get'](_0x4020f1),{connection:_0x9abb0}=this['context']['plugins']['get'](n),_0x1f33c4=new Set();for(const {resolvedBy:_0xc4f42a,comments:_0x12d33a}of _0x4181f3){_0xc4f42a&&!_0x819f00['getUser'](_0xc4f42a)&&_0x1f33c4['add'](_0xc4f42a);for(const {userId:_0x2c0f35}of _0x12d33a)_0x819f00['getUser'](_0x2c0f35)||_0x1f33c4['add'](_0x2c0f35);}if(0x0===_0x1f33c4['size'])return;const _0x17f33e=await lt['getMany'](_0x9abb0,Array['from'](_0x1f33c4));for(const _0x129fad of _0x17f33e)_0x819f00['getUser'](_0x129fad['id'])||_0x819f00['addUser'](_0x129fad);}}async function F(_0x233594){if('404'!==_0x233594['code'])throw _0x233594;}function dt(_0x38d02b){if((_0x53308d=_0x38d02b)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x53308d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x53308d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x53308d;throw _0x38d02b;}function S(_0x2b9baa){return{'threadId':_0x2b9baa['commentThreadId'],'commentId':_0x2b9baa['commentId'],'content':_0x2b9baa['content'],'createdAt':_0x2b9baa['createdAt'],'authorId':_0x2b9baa['userId'],'attributes':_0x2b9baa['attributes']||{}};}class m extends _0x5bfa53{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x96ad98){super(_0x96ad98);const _0x24a078=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x24a078);}['init'](){const _0x200f7f=this['editor']['plugins']['get'](n),_0x595aa0=this['editor']['plugins']['get']('TrackChangesEditing');return _0x595aa0['adapter']={'getSuggestion':async _0x49d5c3=>{await this['_waitForServiceReady']();const _0x4b39b9=await this['_trackChangesService']['get'](_0x49d5c3)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x4b39b9]),_0x4b39b9;},'addSuggestion':async({id:_0x31a21b,type:_0x461b07,data:_0x1a4c14,originalSuggestionId:_0x4ffbcc,attributes:_0x5774fa})=>{await this['_waitForServiceReady']();const _0x3b7d1c={'id':_0x31a21b,'type':_0x461b07,'data':_0x1a4c14,'originalSuggestionId':_0x4ffbcc,'attributes':_0x5774fa},_0x25c6a5=await this['_trackChangesService']['add'](_0x31a21b,_0x461b07,_0x1a4c14,_0x4ffbcc,_0x5774fa)['catch'](_0xd34898=>{if(ut(_0xd34898))return new Promise(_0x2cae5a=>{this['_bufferedRequests']['set'](_0x31a21b,{'resolve':_0x2cae5a,'suggestionData':_0x3b7d1c});});throw _0xd34898;});return this['_bufferedRequests']['delete'](_0x31a21b),_0x25c6a5;},'updateSuggestion':async(_0x5761e9,_0x3d9b39)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3d9b39['state'])return this['_trackChangesService']['update'](_0x5761e9,_0x3d9b39)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x34d66c,_0x4b9fea)=>{_0x595aa0['hasSuggestion'](_0x4b9fea['id'])&&(_0x595aa0['getSuggestion'](_0x4b9fea['id'])['attributes']=_0x4b9fea['attributes']);}),this['_trackChangesService']['connect'](_0x200f7f['connection'])['then'](_0x1592fd=>(_0x200f7f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1592fd)['then'](()=>{for(const _0x88471f of _0x1592fd){_0x595aa0['addSuggestionData'](_0x88471f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x515eab=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x463945}=this['editor']['plugins']['get'](n),_0x88217a=await this['_trackChangesService']['connect'](_0x463945);await this['_fetchMissingUsersForThreads'](_0x88217a);for(const {suggestionData:_0x31b724,resolve:_0x42565e}of this['_bufferedRequests']['values']()){let _0x568fd4=_0x88217a['find'](_0x163be3=>_0x163be3['id']===_0x31b724['id']);_0x568fd4||(_0x568fd4=await this['_trackChangesService']['add'](_0x31b724['id'],_0x31b724['type'],_0x31b724['data'],_0x31b724['originalSuggestionId'])),_0x42565e(_0x568fd4);}for(const _0x3bea55 of _0x88217a)_0x515eab['hasSuggestion'](_0x3bea55['id'])||_0x515eab['addSuggestionData'](_0x3bea55);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2cb001=>{this['listenTo'](this['_trackChangesService'],'connected',_0x176c18=>{_0x176c18['off'](),_0x2cb001();});});}async['_fetchMissingUsersForThreads'](_0x5b6a07){const _0x59ec68=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x42c036}=this['editor']['plugins']['get'](n),_0x20b193=new Set();for(const {authorId:_0xb903ec}of _0x5b6a07)_0x59ec68['getUser'](_0xb903ec)||_0x20b193['add'](_0xb903ec);if(0x0===_0x20b193['size'])return;const _0x133870=await lt['getMany'](_0x42c036,Array['from'](_0x20b193));for(const _0x5f3d16 of _0x133870)_0x59ec68['getUser'](_0x5f3d16['id'])||_0x59ec68['addUser'](_0x5f3d16);}}function k(_0x1e114b){if(ut(_0x1e114b))return new Promise(()=>{});throw _0x1e114b;}function ut(_0x26f207){return _0x26f207['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x26f207['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5bfa53{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x503ca6=this['editor']['plugins']['get'](n),_0x2f09ad=this['editor']['plugins']['get']('CommentsEditing'),_0x1e5edc=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x503ca6,'change:state',(_0x5014c4,_0x2539bb,_0x409c87)=>{_0x2f09ad['isThreadsLoadingPaused']='connected'!==_0x409c87;});}),this['listenTo'](_0x503ca6,'change:state',(_0x550d6e,_0x40a918,_0x377c38)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x377c38);}),_0x1e5edc['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x5bfa53{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x5bfa53{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x4020f1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1bdf1b){super(_0x1bdf1b);const _0x2526cf=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x2526cf);}async['init'](){const _0x32935d=this['editor']['plugins']['get'](l),_0x4668c7=_0x32935d['serverHistory'],_0x513249=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4668c7,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x32935d['sessionId']});const _0x4a812e=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x2e48b5=await tt['isBundleUploaded'](_0x513249['connection'],_0x4a812e);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x25b706})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x25b706)),'updateRevisions':async _0x38edea=>{await this['_waitForServiceReady']();const _0x4cd9b8=this['_revisionTracker']['currentRevision'];if(_0x2e48b5&&0x1===_0x38edea['length']&&_0x38edea[0x0]['id']===_0x4cd9b8['id'])return _0x38edea;for(const _0x113e00 of _0x38edea)_0x113e00['id']===_0x4cd9b8['id']&&(_0x113e00['isEmptyCurrent']=_0x113e00['fromVersion']===_0x113e00['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x38edea,this['_lastRequestId'])['then'](_0x3abb81=>(this['_lastRequestId']=_0x3abb81,_0x38edea))['catch'](_0x5c85ed=>{if(st(_0x5c85ed)||'400'===_0x5c85ed['code']&&void 0x0!==_0x5c85ed['data']['wrongRequestId']){for(const _0x220277 of _0x38edea){!this['_revisionTracker']['repository']['getRevision'](_0x220277['id'])||this['_revisionTracker']['_bufferUpdate'](_0x220277['id'],_0x220277,!0x1);}if(st(_0x5c85ed))throw _0x5c85ed;return _0x38edea;}throw _0x5c85ed;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x142de3,{revisionsData:_0x269bb8,requestId:_0x7d8252})=>{Math['max'](..._0x269bb8['map'](_0x5498b9=>_0x5498b9['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x269bb8,_0x7d8252);}):this['_handleRevisionsUpdate'](_0x269bb8,_0x7d8252);});const {revisions:_0x55f0a3,requestId:_0x3da673}=await this['_revisionHistoryService']['connect'](_0x513249['connection']);_0x513249['addToReconnectionStack'](this),this['_lastRequestId']=_0x3da673,await this['_fetchMissingUsers'](_0x55f0a3);for(const _0x243d07 of _0x55f0a3)this['_revisionTracker']['addRevisionData'](_0x243d07);this['listenTo'](_0x32935d,'change:_isConnected',(_0xaaa955,_0xafb43c,_0x188599)=>{_0x188599&&(this['_oldOffset']=_0x32935d['_offset'],_0xaaa955['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x513249,'state',_0x46de27=>_0x46de27===te['CONNECTED']);}async['reconnect'](){const _0x47e895=this['editor']['plugins']['get'](n),_0x5cf48b=this['editor']['plugins']['get'](l),_0x3614b1=async()=>{const _0x159a1e=this['_revisionTracker']['currentRevision'],_0x537bd4=_0x159a1e['id'],_0x64b3f3=_0x537bd4!==_0x5cf48b['sessionId'];if(_0x64b3f3){const _0x441ff5=_0x5cf48b['_offset']-this['_oldOffset'],_0x2d3844=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x159a1e['toVersion']+_0x441ff5!==_0x2d3844){const _0x4fba7c=_0x159a1e['fromVersion']+_0x441ff5,_0x3cd58a=this['editor']['plugins']['get'](_0x4020f1),_0x517e45=this['_revisionTracker']['buildRevisionData']({'revision':_0x159a1e,'from':_0x4fba7c,'to':_0x2d3844});_0x517e45['id']=_0x159a1e['id'];const _0x4efb16=_0x517e45['authorsIds']['map'](_0x202952=>_0x3cd58a['getUser'](_0x202952));_0x159a1e['_update']({..._0x517e45,'authors':_0x4efb16},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x159a1e['id'],_0x517e45,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2d3844,(_0x159a1e['toVersion']===_0x159a1e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x537bd4)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x537bd4),this['_revisionTracker']['_createCurrentRevision'](_0x2d3844));}const {revisions:_0x481d28,requestId:_0x178081}=await this['_revisionHistoryService']['reconnect'](_0x47e895['connection'],this['_lastRequestId']);_0x64b3f3&&_0x481d28['length']>0x0?_0x5cf48b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x481d28),this['_handleRevisionsUpdate'](_0x481d28,_0x178081),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5cf48b['_isConnected']?_0x3614b1():new Promise((_0x10e287,_0x4f43b3)=>{_0x5cf48b['once']('change:_isConnected',()=>{_0x3614b1()['then'](_0x10e287)['catch'](_0x4f43b3);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x323227=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1398f6=>{_0x1398f6['off'](),_0x323227();});});}['_getLatestVersionFromServerOperations'](){const _0x420475=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3a90c0 of _0x420475)if('marker'!==_0x3a90c0['type']||_0x3a90c0['affectsData'])return _0x3a90c0['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1e1b98=this['editor']['plugins']['get'](l);return new Promise(_0x588ff8=>{_0x1e1b98['_isPendingUpdate']?_0x1e1b98['once']('change:_isPendingUpdate',()=>{_0x588ff8(this['_getLatestVersionFromServerOperations']());}):_0x588ff8(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x261083,_0x2cb873){const _0x41bbfa=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2cb873;for(const _0xa93004 of _0x261083){const _0x8502d5=_0x41bbfa['getRevision'](_0xa93004['id']);if(_0x8502d5){if((_0xa93004['fromVersion']||_0xa93004['toVersion'])&&(_0xa93004['diffData']=null),_0x8502d5===this['_revisionTracker']['currentRevision']){const _0x1da3a4=Math['max'](_0x8502d5['toVersion'],_0xa93004['toVersion']),_0x446a6b=Math['max'](_0x8502d5['fromVersion'],_0xa93004['fromVersion']);let _0x3f9235;_0x8502d5['toVersion']===_0xa93004['toVersion']&&_0x8502d5['fromVersion']===_0xa93004['fromVersion']?(_0x3f9235=!0x0,this['_preventResendingRevisionData'](_0xa93004)):_0xa93004['toVersion']===_0x1da3a4&&_0xa93004['fromVersion']===_0x446a6b?_0x3f9235=!0x1:(_0x8502d5['toVersion']===_0x1da3a4&&_0x8502d5['fromVersion']===_0x446a6b||this['_fixRevision']({'revision':_0x8502d5,'from':_0x446a6b,'to':_0x1da3a4}),_0x3f9235=!0x0),_0x3f9235&&(delete _0xa93004['fromVersion'],delete _0xa93004['toVersion'],delete _0xa93004['diffData'],delete _0xa93004['createdAt'],delete _0xa93004['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xa93004),this['_preventResendingRevisionData'](_0xa93004);}else this['_revisionTracker']['addRevisionData'](_0xa93004);}const _0x5bfba4=_0x41bbfa['getRevisions']();_0x5bfba4['reverse']();for(let _0x22ecd2=0x0;_0x22ecd2<_0x5bfba4['length']-0x1;_0x22ecd2++){const _0x155e44=_0x5bfba4[_0x22ecd2],_0x328027=_0x5bfba4[_0x22ecd2+0x1];if(_0x155e44['fromVersion']<_0x328027['toVersion']){const _0x482e02=_0x328027['toVersion'],_0x5f491d=Math['max'](_0x482e02,_0x155e44['toVersion']);this['_fixRevision']({'revision':_0x155e44,'from':_0x482e02,'to':_0x5f491d});}}}['_fixRevision']({revision:_0x279d80,from:_0x2165c4,to:_0x422b02}={}){const _0x4e1fac=this['editor']['plugins']['get'](_0x4020f1),_0x4197be=this['_revisionTracker']['buildRevisionData']({'revision':_0x279d80,'from':_0x2165c4,'to':_0x422b02});_0x4197be['authors']=_0x4197be['authorsIds']['map'](_0x17999f=>_0x4e1fac['getUser'](_0x17999f)),_0x279d80['_update'](_0x4197be);}['_preventResendingRevisionData'](_0x5a8855){const _0x4cf8dd={};_0x4cf8dd['id']=_0x5a8855['id'];for(const _0x59d390 of Object['keys'](_0x5a8855))'id'!==_0x59d390&&(_0x4cf8dd[_0x59d390]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4cf8dd['id'],_0x4cf8dd,!0x0);}async['_fetchMissingUsers'](_0x2738dc){const _0x1faff0=this['editor']['plugins']['get'](_0x4020f1),{connection:_0x474634}=this['editor']['plugins']['get'](n),_0x4b69cc=new Set();for(const _0x4e78b6 of _0x2738dc){for(const _0x8f4ec3 of _0x4e78b6['authorsIds'])_0x57e918(_0x8f4ec3);_0x4e78b6['creatorId']&&_0x57e918(_0x4e78b6['creatorId']);}if(0x0===_0x4b69cc['size'])return;const _0x1a742a=await lt['getMany'](_0x474634,Array['from'](_0x4b69cc));for(const _0x14b45d of _0x1a742a)_0x1faff0['getUser'](_0x14b45d['id'])||_0x1faff0['addUser'](_0x14b45d);function _0x57e918(_0x124046){_0x1faff0['getUser'](_0x124046)||_0x4b69cc['add'](_0x124046);}}}function st(_0xdbf771){return _0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xdbf771['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x5bfa53{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x59df29{['_collapseAt'];constructor(_0x2a4776,_0x3dbb1b=0x6){super(_0x2a4776);const _0x394aed=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3dbb1b,this['bind']('isHidden')['to'](this,'usersCount',_0x1801ff=>_0x1801ff<_0x3dbb1b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x394aed['if']('isHidden','ck-presence-list__counter--hidden')],'role':'listitem'},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter']},'children':[{'tag':'div','attributes':{'class':['ck','ck-presence-list__users-counter__text']},'children':[{'text':_0x394aed['to']('usersCount',_0x4e4a8a=>'+'+(_0x4e4a8a-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x59df29{['items'];['keystrokes'];constructor(_0x198c8d){super(_0x198c8d);const _0x4dd588=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3bfa3c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4dd588['if']('hasPopup'),'aria-expanded':_0x4dd588['to']('isExpanded',_0x159700=>this['hasPopup']&&String(_0x159700)),'aria-label':_0x4dd588['to']('hasPopup',_0x5359fa=>V(_0x198c8d,_0x5359fa?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4dd588['to']('hasPopup',_0x3da804=>!!_0x3da804&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4dd588['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4dd588['to'](_0x2c771a=>{const _0x24bf5b=_0x2c771a,_0x231f4a=document['querySelector']('.ck-presence-list__dropdown-list'),_0xec080d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x231f4a?.['contains'](_0x24bf5b['relatedTarget'])||_0xec080d?.['contains'](_0x24bf5b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x112e80,_0x3c129b,_0x3cbd10)=>{this['element']&&(_0x3cbd10?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x59df29{['counterView'];['inlineListView'];constructor(_0x22bde4,_0x1ba271=0x6){super(_0x22bde4);const _0x5a05e6=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x1ba271),this['inlineListView']=new is(_0x22bde4),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x4cdee7 of this['inlineListView']['items'])_0x4cdee7['tooltipPosition']='s';this['inlineListView']['items']['first']&&(this['inlineListView']['items']['first']['tooltipPosition']='se');}),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list','ck-reset','ck-rounded-corners',_0x5a05e6['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x59df29{['listWrapperView'];constructor(_0x204b37,_0x28c39d){super(_0x204b37);const _0x5460a1=this['bindTemplate'];this['listWrapperView']=new pt(_0x204b37,_0x28c39d),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x204b37,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5460a1['to'](_0x86256a=>{const _0x1f446d=_0x86256a,_0x23f92a=document['querySelector']('.ck-presence-list__list'),_0x5b7dcc=document['querySelector']('.ck-balloon-panel_with-arrow');_0x23f92a?.['contains'](_0x1f446d['relatedTarget'])||_0x5b7dcc?.['contains'](_0x1f446d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x514ed5{constructor(_0x5c1938,_0x35e7e9){super(_0x5c1938);const _0x296741=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x35e7e9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x296741['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x296741['to']('role'),'aria-label':_0x296741['to']('ariaLabel'),'aria-labelledby':_0x296741['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x26dcab['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc2dd39=this['element'];_0xc2dd39&&(this['_isScrollable']=Math['max'](_0xc2dd39['scrollHeight'],_0xc2dd39['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x4b2074,_0x124508,_0x31cd3c){super(_0x4b2074);const _0x16e4ec=this['bindTemplate'];this['userView']=new ct(_0x4b2074,_0x124508);const _0xb429af={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x124508['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x124508['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x124508['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x31cd3c&&(_0xb429af['tag']='button',_0xb429af['on']={'click':_0x16e4ec['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xb429af);}['focus'](){this['element']['focus']();}}class A extends _0x59df29{['userView'];['markerView'];constructor(_0x23dccd,_0x355b1a,_0x9df8e9){super(_0x23dccd);const _0x473c7b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x23dccd,_0x355b1a),this['markerView']=new at(_0x23dccd,_0x355b1a);const _0x2758c5=new ot(_0x23dccd);_0x2758c5['template']['tag']='span',_0x2758c5['text']=_0x355b1a['name'];const _0x247de5={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x473c7b['to']('isFocusable',_0x218354=>!!_0x218354&&0x0),'aria-labelledby':_0x2758c5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x473c7b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x473c7b['to']('hasTooltip',_0xcc4d26=>!_0xcc4d26),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2758c5]};_0x9df8e9&&(_0x247de5['tag']='button',_0x247de5['on']={'click':_0x473c7b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x247de5);}}class at extends _0x59df29{constructor(_0x780114,_0x28f95e){super(_0x780114),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x28f95e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1c6eb3{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x41e001){super(_0x41e001),this['context']['config']['define']('presenceList',x);const _0x5ed9f8=_0x41e001['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5ed9f8)throw new _0x1ce47a('presencelist-collapseat-invalid-format',this);if(_0x5ed9f8<0x1)throw new _0x1ce47a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x38d74d(),this['balloonPanelView']=new _0x5008c7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x56697c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x56697c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x139b19,_0x31db4e)=>{this['_handleUserAdd'](_0x31db4e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x628bbc,_0x1b545e)=>{this['_handleUserRemove'](_0x1b545e);});}['_createView'](){const _0xc79b1d=this['context'],_0x548590=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x242929=this['balloonPanelView'];if(!_0x6bd037(_0xc79b1d['config']['get']('presenceList.container')))throw new _0x1ce47a('presencelist-missing-container',this);return _0x548590['counterView']['bind']('usersCount')['to'](this),_0x548590['bind']('isCollapsed')['to'](this,'usersCount',_0x4f62ea=>{const {collapseAt:_0x30ed2e}=_0xc79b1d['config']['get']('presenceList'),_0x22909c=_0x4f62ea>=_0x30ed2e;if(_0x22909c&&!_0x548590['inlineListView']['items']['find'](_0x446e23=>_0x446e23 instanceof b)){const _0x46182e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x46182e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x548590['inlineListView']['items']['add'](_0x548590['counterView']);}return _0x22909c||this['hideDropdown'](),_0x22909c;}),_0x548590['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5e0b4=>{const _0x10e3bd=_0xc79b1d['config']['get']('presenceList'),_0x44d7f0=new A(_0xc79b1d['locale'],_0x5e0b4,!!_0x10e3bd['onClick']);return _0x44d7f0['bind']('hasTooltip')['to'](_0x548590,'isCollapsed',_0x53fec6=>!_0x53fec6),_0x44d7f0['bind']('isFocusable')['to'](_0x548590,'isCollapsed',_0xc36e5b=>!_0xc36e5b),_0x10e3bd['onClick']&&this['listenTo'](_0x44d7f0,'execute',()=>{this['view']['isCollapsed']||_0x10e3bd['onClick'](_0x5e0b4,_0x44d7f0['element']);}),_0x44d7f0;}),this['listenTo'](_0x548590['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x548590['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x548590['inlineListView']['keystrokes']['set']('Enter',(_0x5605e3,_0x1500af)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1500af());}),_0x548590['render'](),_0x242929['render'](),_0x35631f({'emitter':_0x548590,'activator':()=>_0x242929['isVisible'],'contextElements':[_0x242929['element'],_0x548590['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0xc79b1d['config']['get']('presenceList.container')['appendChild'](_0x548590['element']),this['_bodyCollection']=new _0x33e143(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x548590;}['_handleUserAdd'](_0x573342){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x573342['isMe'])return;const _0x4bc2f7=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4bc2f7-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5e0181=_0x573342['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x573342,_0x5e0181);}['_handleUserRemove'](_0x4c2bc0){this['usersCount']--;const {collapseAt:_0x4ed84e}=this['context']['config']['get']('presenceList'),_0x1905ee=this['usersCount']>=_0x4ed84e;if(this['currentDisplayedUsers']['get'](_0x4c2bc0['id']))this['currentDisplayedUsers']['remove'](_0x4c2bc0['id']);else{if(_0x1905ee&&this['currentDisplayedUsers']['length']+0x1===_0x4ed84e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1905ee?0x1:0x0)<this['usersCount']){for(const _0x73da74 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x73da74['id'])&&(this['currentDisplayedUsers']['add'](_0x73da74,Math['min'](this['currentDisplayedUsers']['length']-(_0x1905ee?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1905ee?0x1:0x0)===_0x4ed84e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x41a8e3=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x41a8e3['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3648e0}=this['presenceDropdownView'];_0x3648e0['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x399bff=>{if(!_0x41a8e3['displayMe']&&_0x399bff['isMe'])return null;const _0x7af79a=new j(this['context']['locale'],_0x399bff,!!_0x41a8e3['onClick']);return _0x41a8e3['onClick']&&this['listenTo'](_0x7af79a,'execute',()=>{_0x41a8e3['onClick'](_0x399bff,_0x7af79a['element']);}),_0x7af79a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3648e0['focus'](),_0x3648e0['checkIfScrollable']();const _0x447394=(_0x203a4b,_0x24608b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x24608b();};_0x3648e0['keystrokes']['set']('Esc',_0x447394),_0x3648e0['keystrokes']['set']('Shift+Tab',_0x447394),_0x3648e0['keystrokes']['set']('Tab',(_0x3141d2,_0x5978c2)=>{!function(_0x9b20ee){const _0x43eb18=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x139ecc=>_0x139ecc+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4771cc=[...document['body']['querySelectorAll'](_0x43eb18)]['filter'](_0x3b2829=>_0x3b2829===document['activeElement']||_0x3b2829['offsetWidth']+_0x3b2829['offsetHeight']>0x0)['sort']((_0x294c47,_0xfcee8b)=>(_0x294c47['tabIndex']||0x0)-(_0xfcee8b['tabIndex']||0x0)),_0x1e1f44=_0x4771cc['indexOf'](_0x9b20ee),_0x38f3ac=_0x4771cc[(_0x1e1f44+0x1)%_0x4771cc['length']];_0x38f3ac&&_0x38f3ac['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5978c2();}),_0x3648e0['focusTracker']['add'](this['view']['element']),_0x3648e0['focusTracker']['on']('change:isFocused',(_0x4c4604,_0x293581,_0x27738b)=>{_0x27738b||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x1c6eb3{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};