@ckeditor/ckeditor5-real-time-collaboration 47.4.0-alpha.0 → 47.4.0-alpha.1

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 _0x5e99f7,Plugin as _0x410aca,PendingActions as _0x1573b5,Context as _0x7f41d7}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x424333,CKEditorError as _0x122b1f,Collection as _0x356c9d,global as _0x3a7eba,version as nt,uid as _0x567662,KeystrokeHandler as _0x5f2a85}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x443477,View as _0x5a6796,ListView as _0x581883,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4bcf9b,clickOutsideHandler as _0x117f6f,BodyCollection as _0x3c47c3}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4b8243,History as _0x39b5b4,NoOperation as _0x3b7430,InsertOperation as _0x2a8a9b,MarkerOperation as _0x51a9cc,RootAttributeOperation as _0x2db256,transformOperationSets as _0x28698a,OperationFactory as _0x399979}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x58f14d,User as lt,CommentsService as _0x5e59d4,TrackChangesService as tt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x11c6e1,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x83569a}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1bed35}from'es-toolkit/compat';class n extends _0x5e99f7{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x443477];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x11efba){super(_0x11efba),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x424333())();}['init'](){const _0x47c720=this['context'],_0x2e5009=_0x47c720['plugins']['get']('CloudServices'),_0x1dcec6=_0x47c720['plugins']['get'](_0x443477);if(!_0x2e5009['token'])throw new _0x122b1f('websocketgateway-missing-token',this);if(!_0x2e5009['webSocketUrl'])throw new _0x122b1f('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'](_0x2e5009['token'],_0x2e5009['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x1776ba=>{if(this['connection']=_0x1776ba,this['bind']('state')['to'](_0x1776ba,'state',this,'_isBrowserOffline',(_0x4d18f0,_0x46ae3a)=>('connected'!==_0x4d18f0&&(this['_shouldPluginsReconnect']=!0x0),_0x46ae3a||_0x4d18f0!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x7901a1,_0x2e6e34)=>{if('limitExceeded'!==_0x2e6e34['code'])throw console['error'](_0x2e6e34),new _0x122b1f('cloudservices-init',null,{'originalError':_0x2e6e34});_0x1dcec6['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'});}),!_0x1776ba['me'])return new Promise(_0x5a5225=>_0x1776ba['on']('change:me',_0x5a5225));})['catch'](_0x47b061=>{throw console['error'](_0x47b061),new _0x122b1f('cloudservices-init',null,{'originalError':_0x47b061});});}['addToReconnectionStack'](_0xd1a84){if('function'!=typeof _0xd1a84['reconnect'])throw new _0x122b1f('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xd1a84))throw new _0x122b1f('websocketgateway-plugin-already-registered',this,{'name':_0xd1a84['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xd1a84);}['removeFromReconnectionStack'](_0x51fe2e){this['_reconnectionStack']['delete'](_0x51fe2e);}['isInReconnectionStack'](_0x281a13){return this['_reconnectionStack']['has'](_0x281a13);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1815ff=>_0x1815ff['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0xed27f9=>{throw console['error'](_0xed27f9),new _0x122b1f('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 _0x5e99f7{['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,_0x11c6e1];}constructor(_0x5d458f){super(_0x5d458f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x356c9d(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x11c6e1);}['init'](){const _0x3f2594=this['context']['plugins']['get'](n);this['listenTo'](_0x3f2594,'change:state',(_0x499bca,_0x3918ec,_0x42e7c7)=>{if('connected'!==_0x42e7c7)this['channelSessions']['forEach'](_0x3f37a5=>_0x3f37a5['clear']()),this['channelConnectedUsers']['forEach'](_0x5e7edf=>_0x5e7edf['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x216b49,_0x29a3c8]of this['_registeredSessions'])for(const _0x3c5968 of _0x29a3c8)this['_handleSessionAdd'](_0x216b49,_0x3c5968);}}),this['_createUser'](_0x3f2594['connection']['me'],!0x0);}['register'](_0x2e3076,_0x34fff0){if(this['_registeredSessions']['has'](_0x2e3076))throw new _0x122b1f('sessions-register-already-registered',null,{'channelId':_0x2e3076});this['_registeredSessions']['set'](_0x2e3076,_0x34fff0),this['channelSessions']['set'](_0x2e3076,new _0x356c9d()),this['channelConnectedUsers']['set'](_0x2e3076,new _0x356c9d()),this['listenTo'](_0x34fff0,'add',(_0x476612,_0x499bb9)=>this['_handleSessionAdd'](_0x2e3076,_0x499bb9)),this['listenTo'](_0x34fff0,'remove',(_0x2ebfc4,_0x4fd25b)=>this['_handleSessionRemove'](_0x2e3076,_0x4fd25b));for(const _0x2dc3f5 of _0x34fff0)this['_handleSessionAdd'](_0x2e3076,_0x2dc3f5);}['unregister'](_0x3817f2){if(!this['_registeredSessions']['has'](_0x3817f2))throw new _0x122b1f('sessions-unregister-not-exist',null,{'channelId':_0x3817f2});const _0x5006d1=this['_registeredSessions']['get'](_0x3817f2);this['stopListening'](_0x5006d1);for(const _0x29d5d7 of _0x5006d1)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x3817f2,_0x29d5d7);this['_registeredSessions']['delete'](_0x3817f2),this['channelSessions']['delete'](_0x3817f2),this['channelConnectedUsers']['delete'](_0x3817f2);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x16e38e){for(const _0x3410f2 of this['channelSessions']['values']())for(const _0x3799cf of _0x3410f2)if(_0x3799cf['id']===_0x16e38e)return _0x3799cf['user'];}['getUserSessions'](_0x2bd2bf,_0x45878a){const _0x45392b=_0x45878a?[this['channelSessions']['get'](_0x45878a)]:this['channelSessions']['values'](),_0x37b919=new Set();for(const _0x1a63bb of _0x45392b)for(const _0x39a97a of _0x1a63bb)_0x39a97a['user']['id']===_0x2bd2bf['id']&&_0x37b919['add'](_0x39a97a['id']);return _0x37b919;}['getUserRole'](_0xae51a){for(const _0xc094ba of this['channelSessions']['values']())for(const _0x22834a of _0xc094ba)if(_0x22834a['user']===_0xae51a)return _0x22834a['role'];}['_handleSessionAdd'](_0x1f76c8,_0x342c7b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x13da34=_0x342c7b['user'],_0x4c1097=this['_users']['getUser'](_0x13da34['id'])||this['_createUser'](_0x13da34),_0xf629e8=Object['assign']({},_0x342c7b,{'user':_0x4c1097});if(this['channelSessions']['get'](_0x1f76c8)['add'](_0xf629e8),!_0x13da34['hiddenInPresenceList']){const _0x14c3af=this['channelConnectedUsers']['get'](_0x1f76c8);_0x14c3af['has'](_0x4c1097['id'])||_0x14c3af['add'](_0x4c1097),this['allConnectedUsers']['has'](_0x4c1097['id'])||_0x13da34['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x4c1097,_0x4c1097['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1f76c8,{'channelId':_0x1f76c8,'session':_0xf629e8});}['_handleSessionRemove'](_0x1212bf,_0x498023){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3c1bf5=this['channelConnectedUsers']['get'](_0x1212bf),_0x3fb154=_0x498023['user'];_0x3fb154['id']&&(this['channelSessions']['get'](_0x1212bf)['remove'](_0x498023['id']),_0x3c1bf5['has'](_0x3fb154['id'])&&!this['getUserSessions'](_0x3fb154,_0x1212bf)['size']&&_0x3c1bf5['remove'](_0x3fb154['id']),this['allConnectedUsers']['get'](_0x3fb154['id'])&&!this['getUserSessions'](_0x3fb154)['size']&&this['allConnectedUsers']['remove'](_0x3fb154['id']));}['_createUser'](_0x178609,_0x56f871){const _0x8beeab=this['_users']['addUser'](_0x178609);return _0x56f871&&this['_users']['defineMe'](_0x178609['id']),_0x8beeab['orderNumber']=this['_uniqueUsersCount']++,_0x8beeab;}}class V extends _0x410aca{['_domEmitter']=new(_0x424333())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5ed38c=this['editor'],_0x51b8ca=_0x5ed38c['plugins']['get'](i);_0x5ed38c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4df449,{writer:_0x3011a})=>function(_0x51856d,_0x568848,_0x48cc78,_0x101ee6){const _0x3e1dd3=_0x51856d['markerName']['split'](':')[0x2],_0x20dc45=_0x48cc78['getUserBySessionId'](_0x3e1dd3);if(!_0x20dc45||_0x3e1dd3===_0x48cc78['mySessionId'])return;if(!_0x101ee6['model']['schema']['checkChild'](_0x51856d['markerRange']['start'],'$text'))return;const _0x44dc15={'class':'ck-user__marker\x20'+_0x20dc45['color']['getMarkerClass'](),'data-name':_0x20dc45['name'],'data-session-id':_0x3e1dd3},_0x1de0d8=_0x101ee6['model']['markers']['get'](_0x51856d['markerName']),_0x2bd06f=_0x1de0d8['getStart'](),_0x17f112=_0x2bd06f['nodeAfter'],_0x372c3d=_0x101ee6['model']['schema'];if(_0x17f112&&_0x372c3d['isObject'](_0x17f112)&&_0x372c3d['isInline'](_0x17f112)&&!_0x101ee6['model']['markers']['get']('user:range:'+_0x3e1dd3)['getRange']()['isCollapsed'])return;const _0x16a1c9=_0x2bd06f['parent'];return _0x101ee6['model']['schema']['isLimit'](_0x16a1c9)&&!_0x101ee6['model']['hasContent'](_0x16a1c9)&&(_0x44dc15['contenteditable']=!0x1),function(_0xf3f60f,_0x447639,_0x253853){const _0xcefe4a=_0xf3f60f['createUIElement']('span',_0x447639);return _0xf3f60f['setCustomProperty']('userPositionMarker',!0x0,_0xcefe4a),_0xcefe4a['render']=function(_0x23fb4b){const _0x18cb1d=this['toDomElement'](_0x23fb4b),_0x42f829=document['createElement']('span');return _0x42f829['classList']['add']('ck-user__marker-tooltip'),_0x42f829['setAttribute']('contenteditable','false'),_0x42f829['setAttribute']('spellcheck','false'),_0x42f829['textContent']=_0x253853['name'],_0x18cb1d['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x42f829['outerHTML']+'⁠',_0x18cb1d['addEventListener']('mouseenter',()=>{_0x18cb1d['classList']['add']('ck-user__marker_hovered');}),_0x18cb1d['addEventListener']('mouseleave',()=>{_0x18cb1d['classList']['remove']('ck-user__marker_hovered');}),_0x18cb1d;},_0xcefe4a['isSimilar']=function(_0x280934){return!(!this['getCustomProperty']('userPositionMarker')||!_0x280934['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x280934['getAttribute']('data-session-id'));},_0xcefe4a;}(_0x568848,_0x44dc15,_0x20dc45);}(_0x4df449,_0x3011a,_0x51b8ca,_0x5ed38c)}),_0x5ed38c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x169485=>function(_0x119174,_0x395040){const _0x81de1f=_0x119174['markerName']['split'](':')[0x2];if(_0x81de1f===_0x395040['mySessionId'])return null;const _0x243504=_0x395040['getUserBySessionId'](_0x81de1f);if(!_0x243504)return{'id':_0x81de1f,'classes':[]};return{'id':_0x81de1f,'classes':['ck-user__selection',_0x243504['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x81de1f},'priority':0x7d0+_0x243504['orderNumber']};}(_0x169485,_0x51b8ca)}),function(_0x30e0b0){const _0x4ef595=_0x30e0b0['model'],_0x5efad8=new Map(),_0x54edf1=_0x30e0b0['plugins']['get'](i);_0x4ef595['markers']['on']('update:user:range',(_0x516e6e,_0x1f0dd,_0x1d7aac,_0x1fa55d)=>{if(!_0x1fa55d&&_0x5efad8['get'](_0x1f0dd['name']))return _0x5efad8['get'](_0x1f0dd['name'])['detach'](),void _0x5efad8['delete'](_0x1f0dd['name']);const _0x451ba3=_0x1f0dd['name']['split'](':')[0x2];if(_0x451ba3===_0x54edf1['mySessionId'])return;const _0x440ebd='user:position:'+_0x451ba3;_0x4ef595['markers']['has'](_0x440ebd)&&_0x30e0b0['editing']['reconvertMarker'](_0x440ebd),_0x1f0dd['on']('change:range',(_0x5abce9,_0x1d5d35,_0x36ca66)=>{if('$graveyard'!=_0x1d5d35['root']['rootName']&&'$graveyard'==_0x1f0dd['getRange']()['root']['rootName']&&!_0x5efad8['has'](_0x1f0dd['name'])){const _0x59e86f=_0x4ef595['schema']['getNearestSelectionRange'](_0x36ca66['deletionPosition']);if(_0x59e86f){const _0x258ccb=_0x4b8243['fromRange'](_0x59e86f);_0x5efad8['set'](_0x1f0dd['name'],_0x258ccb),_0x258ccb['on']('change:range',(_0x4bd6da,_0x4cbc47,_0x59672a)=>{if('$graveyard'==_0x258ccb['root']['rootName']){const _0x506bb1=_0x4ef595['schema']['getNearestSelectionRange'](_0x59672a['deletionPosition']);_0x506bb1?(_0x258ccb['start']=_0x506bb1['start'],_0x258ccb['end']=_0x506bb1['end']):(_0x5efad8['delete'](_0x1f0dd['name']),_0x258ccb['detach']());}});}}});}),_0x4ef595['document']['on']('change',()=>{_0x5efad8['size']>0x0&&_0x4ef595['enqueueChange']({'isUndoable':!0x1},_0x1db326=>{for(const [_0x27b223,_0x18d177]of _0x5efad8)'$graveyard'==_0x4ef595['markers']['get'](_0x27b223)['getRange']()['root']['rootName']&&(Z(_0x27b223['split'](':')[0x2],_0x18d177['toRange'](),_0x4ef595,_0x1db326),_0x18d177['detach']());_0x5efad8['clear']();});});}(_0x5ed38c),this['_domEmitter']['listenTo'](_0x3a7eba['document'],'keydown',(_0x2b4202,{key:_0x2380d9})=>{'Escape'===_0x2380d9&&function(_0x6604e0){_0x6604e0['editing']['view']['change'](_0xe45dfa=>{for(const _0x2ca65a of _0x6604e0['model']['markers']){if(!_0x2ca65a['name']['startsWith']('user:position'))continue;const _0x32cc23=_0x6604e0['editing']['mapper']['markerNameToElements'](_0x2ca65a['name']);if(_0x32cc23){for(const _0x2edd21 of _0x32cc23)_0xe45dfa['removeClass']('ck-user__marker_hovered',_0x2edd21);}}});}(_0x5ed38c);},{'useCapture':!0x0});}['afterInit'](){const _0x313ab0=this['editor'],_0x18d93c=_0x313ab0['commands']['get']('undo');_0x18d93c&&_0x313ab0['model']['on']('applyOperation',(_0x315876,_0x24d1c6)=>{const _0x51105c=_0x24d1c6[0x0];if(!_0x51105c['isDocumentOperation'])return;if('marker'!=_0x51105c['type']||!_0x51105c['name']['startsWith']('user:'))return;const _0x465a6a=_0x51105c['batch'];_0x18d93c['_createdBatches']['has'](_0x465a6a)&&(_0x51105c['newRange']=_0x51105c['oldRange']?_0x313ab0['model']['createRange'](_0x51105c['oldRange']['start'],_0x51105c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x20e16c=this['editor'],_0x108a8a=_0x20e16c['model']['document'],_0x5a8de=_0x20e16c['plugins']['get'](i);_0x20e16c['model']['enqueueChange']({'isUndoable':!0x1},_0x4e93c3=>{const _0x433a61='user:range:'+_0x5a8de['mySessionId'],_0x732f8='user:position:'+_0x5a8de['mySessionId'],_0x2ccf28=_0x20e16c['model']['markers']['has'](_0x433a61);_0x20e16c['editing']['view']['hasDomSelection']?Z(_0x5a8de['mySessionId'],_0x108a8a['selection']['getFirstRange'](),_0x20e16c['model'],_0x4e93c3):_0x2ccf28&&(_0x4e93c3['removeMarker'](_0x433a61),_0x4e93c3['removeMarker'](_0x732f8));});}}function Z(_0x1c0c46,_0x1993b4,_0x415fa2,_0x5e2db3){const _0x4ba671='user:range:'+_0x1c0c46,_0x31ebe8='user:position:'+_0x1c0c46,_0x5a04ea=_0x1993b4['getContainedElement']();let _0x2c57a2=_0x1993b4['start'];if(_0x5a04ea&&_0x5a04ea['is']('element','tableCell')){const _0x29a358=function(_0x3fe7d3,_0x24ebee){for(const _0x457391 of _0x3fe7d3['getPositions']())if(_0x24ebee['schema']['checkChild'](_0x457391,'$text'))return _0x457391;}(_0x1993b4,_0x415fa2);_0x29a358&&(_0x2c57a2=_0x29a358,_0x1993b4=_0x5e2db3['createRange'](_0x2c57a2));}const _0x23faac=_0x5e2db3['createRange'](_0x2c57a2);_0x415fa2['markers']['has'](_0x4ba671)?(_0x5e2db3['updateMarker'](_0x4ba671,{'range':_0x1993b4}),_0x5e2db3['updateMarker'](_0x31ebe8,{'range':_0x23faac})):(_0x5e2db3['addMarker'](_0x4ba671,{'range':_0x1993b4,'usingOperation':!0x0}),_0x5e2db3['addMarker'](_0x31ebe8,{'range':_0x23faac,'usingOperation':!0x0}));}function W(_0x2f9e35,_0x5a1229,_0x5d3f7d){const _0x3b2935=_0x2f9e35['t'],t=_0x2f9e35['t'];switch(_0x5a1229){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 _0x3b2935({'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'},_0x5d3f7d);default:return'';}}let G=0x1;class l extends _0x410aca{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x58f14d)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x1573b5,_0x11c6e1,_0x443477];}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 _0xbb8a44=this['serverHistory']['getOperations']();for(let _0x11e8f0=_0xbb8a44['length']-0x1;_0x11e8f0>=0x0;_0x11e8f0--){const _0x205d60=_0xbb8a44[_0x11e8f0];if(!this['_disconnectionOperations']['has'](_0x205d60))return _0x205d60['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x594bf7){if(super(_0x594bf7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x39b5b4(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x122b1f('collaboration-missing-channelid',this);const _0x35cce0=_0x594bf7['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x35cce0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x83569a(),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 _0x239016=this['editor'],_0x5d012f=_0x239016['plugins']['get'](_0x11c6e1),_0x53ae1b=_0x239016['plugins']['get'](n);this['listenTo'](_0x5d012f,'getOperationAuthor',(_0x3c1bb6,_0x455511)=>{const _0x2c8345=_0x455511[0x0];_0x2c8345['_authorId']&&(_0x3c1bb6['return']=_0x5d012f['getUser'](_0x2c8345['_authorId']),_0x3c1bb6['stop']()),null===_0x2c8345['_authorId']&&(_0x3c1bb6['return']=null,_0x3c1bb6['stop']());},{'priority':'high'}),this['listenTo'](_0x239016['model']['document']['selection'],'change:range',(_0x13bef4,_0x47d793)=>{_0x47d793['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x239016['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x239016['model']['on']('applyOperation',(_0x450372,_0x3679b6)=>{const _0x2e0452=_0x3679b6[0x0];_0x2e0452['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2e0452),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x53ae1b,'state',this,'_hasSynchronizationProblem',(_0x3458b5,_0x3540be)=>'connected'===_0x3458b5&&!_0x3540be),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x239016['disableReadOnlyMode']('rtc-offline'):_0x239016['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x239016['disableReadOnlyMode']('rtc-offline'):_0x239016['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x8f6e1c=this['editor']['plugins']['get'](i),_0x1c8b63=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x8f6e1c['unregister'](this['_channelId']);const _0x4adf6e=await this['_service']['reconnect'](_0x1c8b63['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4adf6e)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4cee23=await this['_service']['getConnectedSessions']();_0x8f6e1c['register'](this['_channelId'],_0x4cee23),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1772e1){if(function(_0xf39ee8){return'404'===_0xf39ee8['code'];}(_0x1772e1)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x2afdde){return'409'===_0x2afdde['code'];}(_0x1772e1)){const _0x364828=W(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'](_0x364828);}else{if(!(_0x1772e1 instanceof $))throw _0x1772e1;this['_handleReconnectionError']();}}}}['destroy'](){const _0x316713=this['editor']['plugins']['get'](n),_0x559a8f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x559a8f['channelSessions']['has'](this['_channelId'])&&_0x559a8f['unregister'](this['_channelId']),_0x316713['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x49422a){if(this['sessionId']!==_0x49422a['sessionId']&&this['_lastSyncedOperationId']!==_0x49422a['lastOperationId'])throw new $();return this['sessionId']=_0x49422a['sessionId'],this['_handleServerResponse']([],{..._0x49422a,'wereChangesApplied':!0x1,'data':_0x49422a['data']},'reconnect');}async['_connectService'](_0x49d3e2,_0xeb34b1=!0x1){const {connection:_0x65a02}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x65a02,this['_channelId'])['then'](_0x303182=>this['_initSessionsHandling'](_0x303182))['catch'](_0x625ec1=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x625ec1);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x25ab6d,_0x3466d6)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3466d6);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x505a32=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x49d3e2);this['_isPendingUpdate']=!0x0;const _0x43fccd=await this['_service']['connect'](_0x65a02,this['_compressOperations'](_0x49d3e2),_0x505a32);if(this['sessionId']=_0x43fccd['sessionId'],_0xeb34b1){if(!_0x43fccd['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x43fccd['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x49d3e2,_0x43fccd,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x43fccd,_0x49d3e2);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x1b9a4b=this['editor']['plugins']['get'](i),_0x4ed02a=this['editor']['plugins']['get'](V),_0x1d4211=_0x1b9a4b['channelSessions']['get'](this['_channelId']);_0x1d4211&&_0x1d4211['length']>0x1?_0x4ed02a['createUserMarkerOperations']():this['listenTo'](_0x1b9a4b,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x1b9a4b['channelSessions']['get'](this['_channelId'])['length']&&_0x4ed02a['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x169563,_0x348f64,_0x4d2055,_0x555389){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x348f64){const _0x3b8e44=this['_decompressOperations'](_0x4d2055,_0x555389);await this['_fetchMissingUsers'](_0x3b8e44),this['_handleExternalOperations'](_0x3b8e44,_0x348f64,_0x4d2055['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5a965a}=this['editor'];let _0x567f6d;try{_0x567f6d=await this['_service']['getDocumentDetails']();}catch{const _0x40bc5b=W(_0x5a965a,'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'](_0x40bc5b);}const _0x701854=_0x567f6d['currentDocumentSession']||_0x567f6d['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x701854['lastOperationId']){const _0x2a9d3e=W(_0x5a965a,'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'](_0x2a9d3e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x555dc5){const _0x335287=this['editor']['plugins']['get'](i);this['listenTo'](_0x335287,'sessionAdd:'+this['_channelId'],(_0x56f351,{session:_0x3b60f2})=>{if(_0x3b60f2['id']===_0x335287['mySessionId']){_0x56f351['off']();const _0x363751=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1a76ab=_0x3b60f2['permissions'];_0x363751&&_0x363751['isEnabled']&&(_0x1a76ab=_0x1a76ab['filter'](_0x4b8965=>'document:write'!==_0x4b8965)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1a76ab,this['_channelId']);}}),_0x335287['register'](this['_channelId'],_0x555dc5);}['_initThrowingOnDataSet'](){const _0x17dfad=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x398823)=>{if(!_0x398823[_0x398823['length']-0x1]['suppressErrorInCollaboration'])throw new _0x122b1f('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x17dfad['apply'](this['editor']['data'],_0x398823);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3ad8c2,[_0x3e413e])=>{if(this['_document']['version'])throw new _0x122b1f('realtimecollaborationclient-init-document-already-initialized',this);_0x3ad8c2['stop'](),this['_setPendingAction']();const _0x57f636=this['editor']['config']['get']('rootsAttributes'),_0x3cbdc3=this['_getOperationsFromInitData'](_0x3e413e,_0x57f636);0x0==_0x3cbdc3['length']&&_0x3cbdc3['push'](new _0x3b7430(0x0)),_0x3ad8c2['return']=this['_connectService'](_0x3cbdc3)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2e439c=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2e439c))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x54a3d5,[_0x1c8864,_0x2f90f5])=>{_0x54a3d5['stop']();const _0x326674=this['editor']['model']['document']['getRoot'](_0x1c8864);if(!this['_knownRootNames']['has'](_0x1c8864)){const _0x2c641f=_0x2f90f5&&_0x2f90f5['data']?_0x2f90f5['data']:'',_0x589f90=_0x2f90f5&&_0x2f90f5['attributes']?_0x2f90f5['attributes']:{};await this['_loadRoot'](_0x1c8864,_0x2c641f,_0x589f90);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x326674['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x326674);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40e120){const _0x4a6f02=this['editor']['plugins']['get'](_0x11c6e1),{connection:_0x36270a}=this['editor']['plugins']['get'](n),_0x1cf72a=new Set();for(const _0x5eb71a of _0x40e120){const _0x324f6a=_0x5eb71a['_authorId'];_0x324f6a&&!_0x4a6f02['getUser'](_0x324f6a)&&_0x1cf72a['add'](_0x324f6a);}if(0x0===_0x1cf72a['size'])return;const _0x190410=await lt['getMany'](_0x36270a,Array['from'](_0x1cf72a));for(const _0x4f3442 of _0x190410)_0x4a6f02['getUser'](_0x4f3442['id'])||_0x4a6f02['addUser'](_0x4f3442);}['_getOperationsFromInitData'](_0x3ce2d2,_0xac5282={}){const _0x3ced3f=this['editor']['model'],_0xcda388=[];let _0x491b09=0x0;const _0x2af327='string'==typeof _0x3ce2d2?{'main':_0x3ce2d2}:_0x3ce2d2;for(const _0x2d038b of Object['keys'](_0x2af327)){if(!this['_document']['roots']['has'](_0x2d038b))throw new _0x122b1f('realtimecollaborationclient-init-non-existent-root',this);const _0xd20832=this['editor']['data']['parse'](_0x2af327[_0x2d038b]),_0x23e834=this['_document']['getRoot'](_0x2d038b),_0x5aded1=new _0x2a8a9b(_0x3ced3f['createPositionAt'](_0x23e834,0x0),_0xd20832,_0x491b09++);_0xcda388['push'](_0x5aded1);for(const [_0x14626a,_0x18b904]of _0xd20832['markers']){const _0x52a90d=_0x3ced3f['createRange'](_0x3ced3f['createPositionFromPath'](_0x23e834,_0x18b904['start']['path']['slice']()),_0x3ced3f['createPositionFromPath'](_0x23e834,_0x18b904['end']['path']['slice']())),_0x3f2f4a=new _0x51a9cc(_0x14626a,null,_0x52a90d,_0x3ced3f['markers'],!0x0,_0x491b09++);_0xcda388['push'](_0x3f2f4a);}}if(_0xac5282)for(const [_0x4265a3,_0x37271e]of Object['entries'](_0xac5282)){const _0x198237=_0x3ced3f['document']['getRoot'](_0x4265a3);if(!_0x198237)throw new _0x122b1f('multi-root-editor-root-attributes-no-root',null);for(const [_0x50dace,_0x564995]of Object['entries'](_0x37271e))if(null!==_0x564995){const _0x24bbba=new _0x2db256(_0x198237,_0x50dace,null,_0x564995,_0x491b09++);_0xcda388['push'](_0x24bbba);}}return _0xcda388;}async['_loadRoot'](_0x4c0fc1,_0x88afc8,_0x2c90f7){this['_getOperationsFromInitData']({[_0x4c0fc1]:_0x88afc8},{[_0x4c0fc1]:_0x2c90f7})['forEach']((_0x42c277,_0xe202f7)=>{_0x42c277['baseVersion']=this['_document']['version']+_0xe202f7,_0x42c277['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x42c277);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5daf74,_0x3debc7){let _0xfcbbd1;this['_offset']=_0x5daf74['offset'];const _0x7de8df=_0x5daf74['wereChangesApplied']&&!_0x5daf74['initData'],_0x5898f5=_0x7de8df?0x0:_0x5daf74['data']['baseVersion'];if(_0x3debc7['forEach'](_0x37ca1c=>{_0x37ca1c['_isInit']=!0x0,_0x37ca1c['createdAt']=_0x5daf74['sessionCreatedAt'],_0x37ca1c['_authorId']=null;}),_0x7de8df)_0xfcbbd1=_0x3debc7,this['_applyOperationsSet'](_0xfcbbd1,_0x7de8df);else{if(_0x5daf74['initData']){const _0x8b15ed=this['_getOperationsFromInitData'](_0x5daf74['initData']);this['_document']['history']['version']=-_0x8b15ed['length'],_0x8b15ed['forEach'](_0x146be3=>{_0x146be3['baseVersion']-=_0x8b15ed['length'],_0x146be3['createdAt']=_0x5daf74['sessionCreatedAt'],_0x146be3['_isInit']=!0x0,_0x146be3['_authorId']=null;}),this['_applyOperationsSet'](_0x8b15ed,!0x0),this['serverHistory']['version']=-_0x8b15ed['length']+this['_offset'],this['_updateServerHistory'](_0x8b15ed);}this['_document']['history']['version']=_0x5898f5,_0xfcbbd1=this['_decompressOperations'](_0x5daf74['data'],_0x5daf74['metadata']),await this['_fetchMissingUsers'](_0xfcbbd1),this['_applyOperationsSet'](_0xfcbbd1,_0x7de8df);}_0x5daf74['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xfcbbd1,_0x5daf74['lastOperationId']),this['_lastSyncedOperationId']=_0x5daf74['lastOperationId']),this['serverHistory']['version']=_0x5898f5+this['_offset'],this['_updateServerHistory'](_0xfcbbd1),_0x3debc7['filter'](_0x1160fd=>{const _0x5a15c6=this['_getAffectedRoot'](_0x1160fd);return _0x5a15c6&&!this['_knownRootNames']['has'](_0x5a15c6);})['forEach']((_0x27eb02,_0x44354c)=>{_0x27eb02['baseVersion']=this['_document']['version']+_0x44354c,this['_saveOperationInBuffer'](_0x27eb02);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5fd03f,_0x2ba05b){const _0x267b5d=_0x2ba05b&&_0x2ba05b['message'];if(_0x267b5d&&_0x267b5d['startsWith']('realtimecollaborationclient'))throw _0x2ba05b;const _0x5d95ec=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x5d95ec['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x122b1f(_0x5fd03f,this['editor'],_0x267b5d?{'originalError':_0x267b5d}:void 0x0);}['_saveOperationInBuffer'](_0x1d6f3f){this['_knownOperations']['has'](_0x1d6f3f)||(this['_knownOperations']['add'](_0x1d6f3f),this['_bufferedOperations']['push'](_0x1d6f3f),this['_pendingAction']||'marker'==_0x1d6f3f['type']&&!_0x1d6f3f['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1e651b=!0x1){!_0x1e651b&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x316a73=>{_0x316a73&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x173c4e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x55b051){return _0x55b051['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x55b051['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x55b051['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x173c4e)||this['_crash'](_0x173c4e['message'],_0x173c4e);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x311e0f=>{this['on']('change:_isPendingUpdate',()=>{_0x311e0f();});});}async['_sendBufferedOperations'](){const _0x1f1062=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x1f1062['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3eebb4=[...this['_bufferedOperations']];for(const _0x184b4a of _0x3eebb4)_0x184b4a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x184b4a);const _0x2263cb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3eebb4),_0x525827=G++,_0x359c8c=this['_compressOperations'](_0x3eebb4),_0x2e8d40=await this['_service']['sendOperations'](_0x359c8c,_0x359c8c['baseVersion'],_0x2263cb);try{return await this['_handleServerResponse'](_0x3eebb4,_0x2e8d40,_0x525827);}catch(_0x2bc727){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x2bc727);}}async['_handleServerResponse'](_0x27831e,_0x166ca7,_0x21c9dc){if('error'in _0x166ca7)throw _0x166ca7['error'];let _0x46a062=!0x1;if(_0x166ca7['wereChangesApplied']){_0x166ca7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x166ca7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5c55ef=>!_0x27831e['includes'](_0x5c55ef));for(const _0x294d6c of _0x27831e)_0x294d6c['createdAt']='lastOperationAcceptedAt'in _0x166ca7&&_0x166ca7['lastOperationAcceptedAt']||void 0x0;K(_0x27831e,_0x166ca7['version']-_0x27831e['length']),this['_updateServerHistory'](_0x27831e);const _0x51973a=_0x27831e['filter'](_0x4a3e74=>{if(!_0x4a3e74['_isInit'])return!0x1;const _0x5b0165=this['_getAffectedRoot'](_0x4a3e74);return _0x5b0165&&!this['_knownRootNames']['has'](_0x5b0165);});K(_0x51973a,this['_document']['version']),this['_applyOperationsSet'](_0x51973a),_0x46a062=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xa77046=this['_decompressOperations'](_0x166ca7['data'],_0x166ca7['metadata'])['filter'](_0x3c1551=>_0x3c1551['baseVersion']>=this['_lastServerVersion']);_0xa77046['forEach'](_0x4052a2=>this['_addKnownRoot'](_0x4052a2)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2ace72=>!_0x2ace72['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2ace72))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xa77046),_0x46a062=this['_handleExternalOperations'](_0xa77046,_0x166ca7['version'],_0x166ca7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x46a062?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x242013,_0x16d83c,_0x5a11cb){try{const _0x124ed2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1cb2a9,operationsB:_0x48600a,originalOperations:_0x290905}=_0x28698a(_0x242013,this['_bufferedOperations'],_0x124ed2);K(_0x1cb2a9,this['_document']['version']),K(_0x48600a,_0x16d83c);for(const _0x3b0496 of _0x1cb2a9){const _0x121b8a=_0x290905['get'](_0x3b0496);_0x3b0496['_authorId']=_0x121b8a?_0x121b8a['_authorId']:null;}_0x5a11cb&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x242013,_0x5a11cb),this['_lastSyncedOperationId']=_0x5a11cb),this['_bufferedOperations']=[..._0x48600a],this['_applyOperationsSet'](_0x1cb2a9),this['_updateServerHistory'](_0x242013);}catch(_0x2ff407){return console['error'](_0x2ff407),!0x1;}return!0x0;}['_applyOperationsSet'](_0x16291c,_0x3e44b8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x34d2ed=>{for(const _0x3bbd56 of _0x16291c)this['_knownOperations']['add'](_0x3bbd56),this['_addKnownRoot'](_0x3bbd56),_0x34d2ed['batch']['addOperation'](_0x3bbd56),this['editor']['model']['applyOperation'](_0x3bbd56);});}['_addKnownRoot'](_0x50611c){const _0x2e2da1=this['_getAffectedRoot'](_0x50611c);_0x2e2da1&&this['_knownRootNames']['add'](_0x2e2da1);}['_getAffectedRoot'](_0x610b3c){let _0x523e86,_0x473f2f;switch(_0x610b3c['type']){case'insert':_0x523e86=_0x610b3c['position']['root'];break;case'marker':if(_0x473f2f=_0x610b3c['newRange'],!_0x473f2f)return null;_0x523e86=_0x473f2f['root'];break;case'addRootAttribute':_0x523e86=_0x610b3c['root'];break;case'addRoot':_0x523e86=_0x610b3c['affectedSelectable'];break;case'move':_0x523e86=_0x610b3c['targetPosition']['root'];break;default:return null;}return _0x523e86['rootName'];}['_updateServerHistory'](_0x50d15e){_0x50d15e['forEach'](_0x39eb41=>{const _0x5558ee=_0x39eb41['clone']();_0x5558ee['_authorId']=_0x39eb41['_authorId'],_0x5558ee['_isInit']=!!_0x39eb41['_isInit'],_0x5558ee['createdAt']=_0x39eb41['createdAt'],_0x5558ee['baseVersion']+=this['_offset'],_0x39eb41['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5558ee),this['serverHistory']['addOperation'](_0x5558ee);});}['_handleReconnectionError'](_0x109701){const _0xe64d89=this['editor']['plugins']['get']('Notification'),_0x344cd0=this['editor']['locale'];_0x109701||(_0x109701=W(_0x344cd0,'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.')),_0xe64d89['showWarning'](_0x109701,{'title':W(_0x344cd0,'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'](_0x1573b5)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1573b5)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0xc7e06d){const _0x336f02=_0xc7e06d['map'](_0x478c9e=>_0x478c9e['toJSON']());return this['_compressor']['compress'](_0x336f02);}['_decompressOperations'](_0x50e177,_0x773358){return this['_compressor']['decompress'](_0x50e177)['map']((_0x46e3f2,_0x7e149e)=>{const _0x34ef6d='init'==_0x773358[_0x7e149e]['type'];if('InsertOperation'==_0x46e3f2['__className']){const _0x18b834=_0x46e3f2['position']['root'];!this['_document']['getRoot'](_0x18b834)&&(this['_document']['createRoot']('$root',_0x18b834)['_isAttached']=!0x1);}const _0x1f2c60=_0x399979['fromJSON'](_0x46e3f2,this['_document']);return _0x1f2c60['wasUndone']=_0x46e3f2['wasUndone'],_0x1f2c60['_isInit']=_0x34ef6d,_0x1f2c60['_authorId']=_0x34ef6d?null:_0x773358[_0x7e149e]['userId'],_0x1f2c60['_isDisconnection']='cs:removeUser'===_0x773358[_0x7e149e]['type'],_0x1f2c60['createdAt']=_0x773358[_0x7e149e]['createdAt'],_0x1f2c60;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x46fe98=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x46fe98&&_0x46fe98['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x1c53a2,_0x13bc02){for(const _0x280b9c of _0x1c53a2)_0x280b9c['baseVersion']=_0x13bc02++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x40f76c){this['_ignoredOperations']=_0x40f76c,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3db2d5){let _0x11fe6c=_0x3db2d5['length'];for(;_0x11fe6c--;){const _0x19bd5c=_0x3db2d5[_0x11fe6c];if(!this['_ignoredOperations']['has'](_0x19bd5c)){if(!this['_operationToId']['has'](_0x19bd5c)){const _0x544b4f=_0x567662()['slice'](0x1,0x12);this['_operationToId']['set'](_0x19bd5c,_0x544b4f);}return this['_operationToId']['get'](_0x19bd5c);}}}['setIdForTheLastOperation'](_0x1fae68,_0x21206c){if(!_0x21206c)return;let _0x448af9=_0x1fae68['length'];for(;_0x448af9--;){const _0x33a83d=_0x1fae68[_0x448af9];this['_ignoredOperations']['has'](_0x33a83d)||this['_operationToId']['set'](_0x33a83d,_0x21206c);}}}class a extends _0x410aca{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x5e99f7{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x5e59d4)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x11c6e1];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x454f84){super(_0x454f84),this['_services']=new Map();}async['init'](){const _0x455271=this['context'],_0x43cead=_0x455271['plugins']['get']('CommentsRepository');if(_0x455271['plugins']['get'](n)['addToReconnectionStack'](this),_0x43cead['adapter']={'addCommentThread':async({channelId:_0x4485dd,threadId:_0x374e9e,comments:_0x6cc86,resolvedAt:_0x24c717,resolvedBy:_0x400a31,context:_0x56bb66,attributes:_0x454238})=>{const _0x1cdf7a=await this['_getService'](_0x4485dd)['addCommentThread']({'commentThreadId':_0x374e9e,'comments':_0x6cc86['map'](_0x143877=>function(_0x3ac24e,_0x13fbf1,_0x1815dd){return{'commentThreadId':_0x1815dd,'commentId':_0x3ac24e['commentId'],'userId':_0x3ac24e['authorId'],'content':_0x3ac24e['content'],'documentId':_0x13fbf1,'createdAt':_0x3ac24e['createdAt'],'attributes':_0x3ac24e['attributes']||{}};}(_0x143877,_0x4485dd,_0x374e9e)),'resolvedAt':_0x24c717,'resolvedBy':_0x400a31,'context':_0x56bb66,'attributes':_0x454238})['catch'](dt);return{'threadId':_0x1cdf7a['commentThreadId'],'comments':_0x1cdf7a['comments']};},'getCommentThread':async({channelId:_0x25ee8f,threadId:_0x1c810d})=>{const _0x4ace47=await this['_getService'](_0x25ee8f)['getCommentThread'](_0x1c810d)['catch'](f)['catch'](dt);return _0x4ace47?_0x4ace47['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4ace47]),{'threadId':_0x4ace47['commentThreadId'],'comments':_0x4ace47['comments']['map'](p),'context':_0x4ace47['context'],'resolvedAt':_0x4ace47['resolvedAt'],'resolvedBy':_0x4ace47['resolvedBy'],'attributes':_0x4ace47['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3898e8,threadId:_0x1967f4,context:_0x54f3ec,unlinkedAt:_0xc81b56,attributes:_0x84a217})=>this['_getService'](_0x3898e8)['updateCommentThread']({'commentThreadId':_0x1967f4,'context':_0x54f3ec,'attributes':_0x84a217,'unlinkedAt':_0xc81b56})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x59cb08,threadId:_0xfa7db4})=>{const _0x314263=await this['_getService'](_0x59cb08)['resolveCommentThread'](_0xfa7db4)['catch'](f)['catch'](dt);return{'threadId':_0x314263['commentThreadId'],'resolvedAt':_0x314263['resolvedAt'],'resolvedBy':_0x314263['resolvedBy']};},'reopenCommentThread':async({channelId:_0x27741f,threadId:_0x521f1c})=>this['_getService'](_0x27741f)['reopenCommentThread'](_0x521f1c)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0x5c6ba0,threadId:_0x147b9c})=>this['_getService'](_0x5c6ba0)['removeCommentThread'](_0x147b9c)['catch'](f)['catch'](dt),'addComment':({channelId:_0x59e345,threadId:_0x4da021,commentId:_0x590281,content:_0x361e42,attributes:_0x5dc1b0})=>this['_getService'](_0x59e345)['addComment'](_0x4da021,_0x590281,_0x361e42,_0x5dc1b0)['catch'](dt),'updateComment':({channelId:_0x56ec87,threadId:_0x3fc071,commentId:_0x29a558,content:_0x2b440c,attributes:_0xe3d98a})=>this['_getService'](_0x56ec87)['updateComment'](_0x3fc071,_0x29a558,_0x2b440c,_0xe3d98a)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x3db522,threadId:_0x3afc45,commentId:_0x39a65f})=>this['_getService'](_0x3db522)['removeComment'](_0x3afc45,_0x39a65f)['catch'](f)['catch'](dt)},_0x455271 instanceof _0x7f41d7){const _0x351d53=_0x455271['config']['get']('collaboration.channelId'),_0x55b4a8=_0x455271['plugins']['get'](i);await this['_setUpService'](_0x351d53);const _0x24f627=await this['_services']['get'](_0x351d53)['getConnectedSessions']();this['listenTo'](_0x55b4a8,'sessionAdd:'+_0x351d53,(_0x5ab771,{session:_0xa53383})=>{_0xa53383['id']===_0x55b4a8['mySessionId']&&(_0x5ab771['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xa53383['permissions'],_0x351d53));}),_0x55b4a8['register'](_0x351d53,_0x24f627);}}async['_setUpService'](_0x3d58f8){if(this['_services']['has'](_0x3d58f8))throw new _0x122b1f('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3d58f8});const _0x3ef5b0=this['context']['plugins']['get']('CommentsRepository'),_0xa93bb0=new s['CommentsService'](_0x3d58f8);this['_services']['set'](_0x3d58f8,_0xa93bb0),this['listenTo'](_0xa93bb0,'commentThreadAdded',(_0x515a8d,_0x452731)=>{const {commentThreadId:_0x4af955,documentId:_0x5e3c3e,context:_0xaaed9b,attributes:_0x556180,resolvedAt:_0x549cf1,resolvedBy:_0x343883,comments:_0x3f88e4}=_0x452731;_0x3ef5b0['getCommentThread'](_0x4af955)||_0x3ef5b0['addCommentThread']({'threadId':_0x4af955,'channelId':_0x5e3c3e,'comments':_0x3f88e4?_0x3f88e4['map'](p):[],'context':_0xaaed9b,'attributes':_0x556180,'resolvedAt':_0x549cf1,'resolvedBy':_0x343883,'isFromAdapter':!0x0});}),this['listenTo'](_0xa93bb0,'commentThreadUpdated',(_0x77c759,{commentThreadId:_0x8dc3f1,documentId:_0x5e4fe0,context:_0x207d00,unlinkedAt:_0x2d6813,attributes:_0x5ac933})=>{_0x3ef5b0['getCommentThread'](_0x8dc3f1)&&_0x3ef5b0['updateCommentThread']({'threadId':_0x8dc3f1,'channelId':_0x5e4fe0,'context':_0x207d00,'unlinkedAt':_0x2d6813,'attributes':_0x5ac933,'isFromAdapter':!0x0});}),this['listenTo'](_0xa93bb0,'commentThreadResolved',(_0x248e2e,{commentThreadId:_0x5575cd,resolvedBy:_0x3141cf,resolvedAt:_0x348e90})=>{const _0x4dffa8=_0x3ef5b0['getCommentThread'](_0x5575cd);_0x4dffa8&&_0x4dffa8['resolve']({'resolvedBy':_0x3141cf,'resolvedAt':_0x348e90,'isFromAdapter':!0x0});}),this['listenTo'](_0xa93bb0,'commentThreadReopened',(_0x5b0ea5,{commentThreadId:_0x987327})=>{const _0x109fef=_0x3ef5b0['getCommentThread'](_0x987327);_0x109fef&&_0x109fef['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0xa93bb0,'commentThreadRemoved',(_0x3e5b9c,{commentThreadId:_0x60e98b})=>{const _0x285198=_0x3ef5b0['getCommentThread'](_0x60e98b);_0x285198&&_0x285198['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0xa93bb0,'commentAdded',(_0x28fe61,_0x4d5fba)=>{const _0x85168b=_0x4d5fba['commentThreadId'],_0x419ce5=_0x3ef5b0['getCommentThread'](_0x85168b);_0x419ce5&&_0x419ce5['addComment']({...p(_0x4d5fba),'isFromAdapter':!0x0});}),this['listenTo'](_0xa93bb0,'commentUpdated',(_0x396816,{commentThreadId:_0x5a9410,commentId:_0x52f461,content:_0xc36d22,attributes:_0x2f6a0e})=>{const _0x574351=_0x3ef5b0['getCommentThread'](_0x5a9410);if(_0x574351){const _0x5018ed=_0x574351['getComment'](_0x52f461);_0x5018ed&&_0x5018ed['update']({'content':_0xc36d22,'attributes':_0x2f6a0e,'isFromAdapter':!0x0});}}),this['listenTo'](_0xa93bb0,'commentRemoved',(_0x3cc04f,{commentThreadId:_0x2e6984,commentId:_0x3c7ac3})=>{const _0x16701d=_0x3ef5b0['getCommentThread'](_0x2e6984);if(_0x16701d){const _0x13b957=_0x16701d['getComment'](_0x3c7ac3);_0x13b957&&_0x13b957['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3d58f8);}['destroy'](){if(this['context']instanceof _0x7f41d7){const _0x23a6c3=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x23a6c3);}}['_terminateService'](_0x28ad10){if(!this['_services']['has'](_0x28ad10))throw new _0x122b1f('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x28ad10});this['_getService'](_0x28ad10)['disconnect'](),this['_services']['delete'](_0x28ad10);}async['reconnect'](){for(const _0x45992b of this['_services']['keys']())await this['_connectService'](_0x45992b);if(this['context']instanceof _0x7f41d7){const _0x23f4f2=this['context']['config']['get']('collaboration.channelId'),_0x3b7baa=this['context']['plugins']['get'](i);_0x3b7baa['unregister'](_0x23f4f2);const _0xef2230=await this['_services']['get'](_0x23f4f2)['getConnectedSessions']();_0x3b7baa['register'](_0x23f4f2,_0xef2230);}}async['_connectService'](_0x22ff90){const {connection:_0x5a2f41}=this['context']['plugins']['get'](n),_0xbb24bc=this['context']['plugins']['get']('CommentsRepository'),_0x105215=this['_services']['get'](_0x22ff90),_0x414c0b=await _0x105215['connect'](_0x5a2f41);await this['_fetchMissingUsersForThreads'](_0x414c0b);const _0x19eb58=new Set(Array['from'](_0xbb24bc['getCommentThreads']({'channelId':_0x22ff90}),_0x47b4cf=>_0x47b4cf['id']));for(const _0xa0a419 of _0x414c0b)_0xa0a419['deletedAt']||_0x19eb58['delete'](_0xa0a419['commentThreadId']);for(const _0x1170dd of _0x19eb58)_0xbb24bc['getCommentThread'](_0x1170dd)['remove']({'isFromAdapter':!0x0});for(const _0x2075f2 of _0x414c0b){let _0x5204e1=_0xbb24bc['getCommentThread'](_0x2075f2['commentThreadId']);const {commentThreadId:_0x3cf845,context:_0x441af6,attributes:_0x54bdb0,resolvedBy:_0x56aa78,resolvedAt:_0xfd9364,unlinkedAt:_0xcc8668,deletedAt:_0x4a3e43}=_0x2075f2;if(_0x4a3e43)continue;_0x5204e1||(_0x5204e1=_0xbb24bc['addCommentThread']({'channelId':_0x22ff90,'threadId':_0x3cf845,'context':_0x441af6,'attributes':_0x54bdb0||{},'resolvedBy':_0x56aa78,'resolvedAt':_0xfd9364,'unlinkedAt':_0xcc8668,'isFromAdapter':!0x0}));const _0x20391a=new Set(Array['from'](_0x5204e1['comments'],_0x32a00d=>_0x32a00d['id']));for(const _0x38a734 of _0x2075f2['comments'])_0x20391a['delete'](_0x38a734['commentId']);for(const _0x1967cc of _0x20391a)_0x5204e1['getComment'](_0x1967cc)['remove']({'isFromAdapter':!0x0});for(const _0x2c9d82 of _0x2075f2['comments']){const _0x1a32d9=_0x5204e1['getComment'](_0x2c9d82['commentId']);_0x1a32d9?_0x1a32d9['content']!==_0x2c9d82['content']&&_0x1a32d9['update']({'content':_0x2c9d82['content'],'isFromAdapter':!0x0}):_0x5204e1['addComment'](Object['assign'](p(_0x2c9d82),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3ad3fa){if(!this['_services']['has'](_0x3ad3fa))throw new _0x122b1f('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3ad3fa});return this['_services']['get'](_0x3ad3fa);}async['_fetchMissingUsersForThreads'](_0x25236b){const _0x29bf38=this['context']['plugins']['get'](_0x11c6e1),{connection:_0x5eaa6f}=this['context']['plugins']['get'](n),_0x53e12e=new Set();for(const {resolvedBy:_0x598be6,comments:_0x33772c}of _0x25236b){_0x598be6&&!_0x29bf38['getUser'](_0x598be6)&&_0x53e12e['add'](_0x598be6);for(const {userId:_0x1250bf}of _0x33772c)_0x29bf38['getUser'](_0x1250bf)||_0x53e12e['add'](_0x1250bf);}if(0x0===_0x53e12e['size'])return;const _0x1fda51=await lt['getMany'](_0x5eaa6f,Array['from'](_0x53e12e));for(const _0x13c949 of _0x1fda51)_0x29bf38['getUser'](_0x13c949['id'])||_0x29bf38['addUser'](_0x13c949);}}async function f(_0x51ebc7){if('404'!==_0x51ebc7['code'])throw _0x51ebc7;}function dt(_0x3b440e){if((_0x22d9d1=_0x3b440e)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x22d9d1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x22d9d1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x22d9d1;throw _0x3b440e;}function p(_0x82bbf0){return{'threadId':_0x82bbf0['commentThreadId'],'commentId':_0x82bbf0['commentId'],'content':_0x82bbf0['content'],'createdAt':_0x82bbf0['createdAt'],'authorId':_0x82bbf0['userId'],'attributes':_0x82bbf0['attributes']||{}};}class m extends _0x410aca{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_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(_0xe49118){super(_0xe49118);const _0x2eaf49=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x2eaf49);}['init'](){const _0x2ae4a7=this['editor']['plugins']['get'](n),_0x5c69a0=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5c69a0['adapter']={'getSuggestion':async _0x58789c=>{await this['_waitForServiceReady']();const _0x49f041=await this['_trackChangesService']['get'](_0x58789c)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x49f041]),_0x49f041;},'addSuggestion':async({id:_0x51708d,type:_0x51bbd6,data:_0x8bf917,originalSuggestionId:_0xdc50db,attributes:_0x204526})=>{await this['_waitForServiceReady']();const _0x20bebc={'id':_0x51708d,'type':_0x51bbd6,'data':_0x8bf917,'originalSuggestionId':_0xdc50db,'attributes':_0x204526},_0x407853=await this['_trackChangesService']['add'](_0x51708d,_0x51bbd6,_0x8bf917,_0xdc50db,_0x204526)['catch'](_0x35145b=>{if(ut(_0x35145b))return new Promise(_0x172cfd=>{this['_bufferedRequests']['set'](_0x51708d,{'resolve':_0x172cfd,'suggestionData':_0x20bebc});});throw _0x35145b;});return this['_bufferedRequests']['delete'](_0x51708d),_0x407853;},'updateSuggestion':async(_0x42c44e,_0x28b957)=>{if(await this['_waitForServiceReady'](),'open'!==_0x28b957['state'])return this['_trackChangesService']['update'](_0x42c44e,_0x28b957)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x49e9bf,_0x1d1dcb)=>{_0x5c69a0['hasSuggestion'](_0x1d1dcb['id'])&&(_0x5c69a0['getSuggestion'](_0x1d1dcb['id'])['attributes']=_0x1d1dcb['attributes']);}),this['_trackChangesService']['connect'](_0x2ae4a7['connection'])['then'](_0x365bc2=>(_0x2ae4a7['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x365bc2)['then'](()=>{for(const _0x5a1e10 of _0x365bc2){_0x5c69a0['addSuggestionData'](_0x5a1e10)['_saved']=!0x0;}})));}async['reconnect'](){const _0x17140c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a4a45}=this['editor']['plugins']['get'](n),_0x4b0e58=await this['_trackChangesService']['connect'](_0x3a4a45);await this['_fetchMissingUsersForThreads'](_0x4b0e58);for(const {suggestionData:_0xe63130,resolve:_0x5c05a9}of this['_bufferedRequests']['values']()){let _0x4eb3ba=_0x4b0e58['find'](_0x5461f8=>_0x5461f8['id']===_0xe63130['id']);_0x4eb3ba||(_0x4eb3ba=await this['_trackChangesService']['add'](_0xe63130['id'],_0xe63130['type'],_0xe63130['data'],_0xe63130['originalSuggestionId'])),_0x5c05a9(_0x4eb3ba);}for(const _0x3c554e of _0x4b0e58)_0x17140c['hasSuggestion'](_0x3c554e['id'])||_0x17140c['addSuggestionData'](_0x3c554e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x516f5b=>{this['listenTo'](this['_trackChangesService'],'connected',_0xe02db5=>{_0xe02db5['off'](),_0x516f5b();});});}async['_fetchMissingUsersForThreads'](_0x55a156){const _0x517c1a=this['editor']['plugins']['get'](_0x11c6e1),{connection:_0xea2212}=this['editor']['plugins']['get'](n),_0x259f27=new Set();for(const {authorId:_0x5c08ce}of _0x55a156)_0x517c1a['getUser'](_0x5c08ce)||_0x259f27['add'](_0x5c08ce);if(0x0===_0x259f27['size'])return;const _0x40d1eb=await lt['getMany'](_0xea2212,Array['from'](_0x259f27));for(const _0x3cce6a of _0x40d1eb)_0x517c1a['getUser'](_0x3cce6a['id'])||_0x517c1a['addUser'](_0x3cce6a);}}function A(_0xa5843d){if(ut(_0xa5843d))return new Promise(()=>{});throw _0xa5843d;}function ut(_0x416ea0){return _0x416ea0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x416ea0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x410aca{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 _0x3d7d5e=this['editor']['plugins']['get'](n),_0x14b7e6=this['editor']['plugins']['get']('CommentsEditing'),_0x49c66a=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3d7d5e,'change:state',(_0x1ccc75,_0x44262d,_0x150482)=>{_0x14b7e6['isThreadsLoadingPaused']='connected'!==_0x150482;});}),this['listenTo'](_0x3d7d5e,'change:state',(_0xf05a27,_0x3eb728,_0x5df957)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x5df957);}),_0x49c66a['_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 _0x410aca{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 _0x410aca{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x11c6e1];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x22f647){super(_0x22f647);const _0x457061=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x457061);}async['init'](){const _0x51aa0a=this['editor']['plugins']['get'](l),_0x4f7a43=_0x51aa0a['serverHistory'],_0x5c5597=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4f7a43,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x51aa0a['sessionId']});const _0x5e7e66=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x5f979e=await it['isBundleUploaded'](_0x5c5597['connection'],_0x5e7e66);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2f1073})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2f1073)),'updateRevisions':async _0x21d53c=>{await this['_waitForServiceReady']();const _0x1430d1=this['_revisionTracker']['currentRevision'];if(_0x5f979e&&0x1===_0x21d53c['length']&&_0x21d53c[0x0]['id']===_0x1430d1['id'])return _0x21d53c;for(const _0x42f7b0 of _0x21d53c)_0x42f7b0['id']===_0x1430d1['id']&&(_0x42f7b0['isEmptyCurrent']=_0x42f7b0['fromVersion']===_0x42f7b0['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x21d53c,this['_lastRequestId'])['then'](_0x39fd35=>(this['_lastRequestId']=_0x39fd35,_0x21d53c))['catch'](_0x45fca1=>{if(et(_0x45fca1)||'400'===_0x45fca1['code']&&void 0x0!==_0x45fca1['data']['wrongRequestId']){for(const _0x5fa6e4 of _0x21d53c){!this['_revisionTracker']['repository']['getRevision'](_0x5fa6e4['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5fa6e4['id'],_0x5fa6e4,!0x1);}if(et(_0x45fca1))throw _0x45fca1;return _0x21d53c;}throw _0x45fca1;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x179d43,{revisionsData:_0x1c59c7,requestId:_0x4069c1})=>{Math['max'](..._0x1c59c7['map'](_0x4ab575=>_0x4ab575['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1c59c7,_0x4069c1);}):this['_handleRevisionsUpdate'](_0x1c59c7,_0x4069c1);});const {revisions:_0x22f296,requestId:_0x2cdf32}=await this['_revisionHistoryService']['connect'](_0x5c5597['connection']);_0x5c5597['addToReconnectionStack'](this),this['_lastRequestId']=_0x2cdf32,await this['_fetchMissingUsers'](_0x22f296);for(const _0x8ea0c5 of _0x22f296)this['_revisionTracker']['addRevisionData'](_0x8ea0c5);this['listenTo'](_0x51aa0a,'change:_isConnected',(_0xa73c35,_0x36ad79,_0x5dda11)=>{_0x5dda11&&(this['_oldOffset']=_0x51aa0a['_offset'],_0xa73c35['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5c5597,'state',_0x2d75f6=>_0x2d75f6===te['CONNECTED']);}async['reconnect'](){const _0x54f057=this['editor']['plugins']['get'](n),_0x28a00b=this['editor']['plugins']['get'](l),_0x189a6b=async()=>{const _0x44c829=this['_revisionTracker']['currentRevision'],_0x38462d=_0x44c829['id'],_0x3a9b93=_0x38462d!==_0x28a00b['sessionId'];if(_0x3a9b93){const _0x3e9a7b=_0x28a00b['_offset']-this['_oldOffset'],_0x41d982=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x44c829['toVersion']+_0x3e9a7b!==_0x41d982){const _0x104af8=_0x44c829['fromVersion']+_0x3e9a7b,_0x100402=this['editor']['plugins']['get'](_0x11c6e1),_0x36510f=this['_revisionTracker']['buildRevisionData']({'revision':_0x44c829,'from':_0x104af8,'to':_0x41d982});_0x36510f['id']=_0x44c829['id'];const _0x4041ac=_0x36510f['authorsIds']['map'](_0x4d43fb=>_0x100402['getUser'](_0x4d43fb));_0x44c829['_update']({..._0x36510f,'authors':_0x4041ac},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x44c829['id'],_0x36510f,!0x0);}this['_revisionTracker']['_startingVersion']=_0x41d982,(_0x44c829['toVersion']===_0x44c829['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x38462d)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x38462d),this['_revisionTracker']['_createCurrentRevision'](_0x41d982));}const {revisions:_0x27300c,requestId:_0x58f87d}=await this['_revisionHistoryService']['reconnect'](_0x54f057['connection'],this['_lastRequestId']);_0x3a9b93&&_0x27300c['length']>0x0?_0x28a00b['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x27300c),this['_handleRevisionsUpdate'](_0x27300c,_0x58f87d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x28a00b['_isConnected']?_0x189a6b():new Promise((_0x2fd2b4,_0x3d151f)=>{_0x28a00b['once']('change:_isConnected',()=>{_0x189a6b()['then'](_0x2fd2b4)['catch'](_0x3d151f);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x12aa1c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x415e07=>{_0x415e07['off'](),_0x12aa1c();});});}['_getLatestVersionFromServerOperations'](){const _0x5e7361=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x5cf8da of _0x5e7361)if('marker'!==_0x5cf8da['type']||_0x5cf8da['affectsData'])return _0x5cf8da['baseVersion']+0x1;}['_getLatestVersion'](){const _0x48fa8f=this['editor']['plugins']['get'](l);return new Promise(_0x11ddf6=>{_0x48fa8f['_isPendingUpdate']?_0x48fa8f['once']('change:_isPendingUpdate',()=>{_0x11ddf6(this['_getLatestVersionFromServerOperations']());}):_0x11ddf6(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3dd731,_0x23ed59){const _0x25654b=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x23ed59;for(const _0x1b2b86 of _0x3dd731){const _0x17378d=_0x25654b['getRevision'](_0x1b2b86['id']);if(_0x17378d){if((_0x1b2b86['fromVersion']||_0x1b2b86['toVersion'])&&(_0x1b2b86['diffData']=null),_0x17378d===this['_revisionTracker']['currentRevision']){const _0x574c2e=Math['max'](_0x17378d['toVersion'],_0x1b2b86['toVersion']),_0x4cc8f5=Math['max'](_0x17378d['fromVersion'],_0x1b2b86['fromVersion']);let _0x44a110;_0x17378d['toVersion']===_0x1b2b86['toVersion']&&_0x17378d['fromVersion']===_0x1b2b86['fromVersion']?(_0x44a110=!0x0,this['_preventResendingRevisionData'](_0x1b2b86)):_0x1b2b86['toVersion']===_0x574c2e&&_0x1b2b86['fromVersion']===_0x4cc8f5?_0x44a110=!0x1:(_0x17378d['toVersion']===_0x574c2e&&_0x17378d['fromVersion']===_0x4cc8f5||this['_fixRevision']({'revision':_0x17378d,'from':_0x4cc8f5,'to':_0x574c2e}),_0x44a110=!0x0),_0x44a110&&(delete _0x1b2b86['fromVersion'],delete _0x1b2b86['toVersion'],delete _0x1b2b86['diffData'],delete _0x1b2b86['createdAt'],delete _0x1b2b86['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b2b86),this['_preventResendingRevisionData'](_0x1b2b86);}else this['_revisionTracker']['addRevisionData'](_0x1b2b86);}const _0x256800=_0x25654b['getRevisions']();_0x256800['reverse']();for(let _0x231629=0x0;_0x231629<_0x256800['length']-0x1;_0x231629++){const _0x4ab677=_0x256800[_0x231629],_0x32471d=_0x256800[_0x231629+0x1];if(_0x4ab677['fromVersion']<_0x32471d['toVersion']){const _0x18dd58=_0x32471d['toVersion'],_0x584344=Math['max'](_0x18dd58,_0x4ab677['toVersion']);this['_fixRevision']({'revision':_0x4ab677,'from':_0x18dd58,'to':_0x584344});}}}['_fixRevision']({revision:_0x4abc77,from:_0x146a95,to:_0x5265f0}={}){const _0x4fd16e=this['editor']['plugins']['get'](_0x11c6e1),_0xa6429d=this['_revisionTracker']['buildRevisionData']({'revision':_0x4abc77,'from':_0x146a95,'to':_0x5265f0});_0xa6429d['authors']=_0xa6429d['authorsIds']['map'](_0x50f79f=>_0x4fd16e['getUser'](_0x50f79f)),_0x4abc77['_update'](_0xa6429d);}['_preventResendingRevisionData'](_0x21365c){const _0x31fa0d={};_0x31fa0d['id']=_0x21365c['id'];for(const _0x5b4649 of Object['keys'](_0x21365c))'id'!==_0x5b4649&&(_0x31fa0d[_0x5b4649]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x31fa0d['id'],_0x31fa0d,!0x0);}async['_fetchMissingUsers'](_0x2b9632){const _0x56a0aa=this['editor']['plugins']['get'](_0x11c6e1),{connection:_0x3bb2d0}=this['editor']['plugins']['get'](n),_0x321b21=new Set();for(const _0x33fb0c of _0x2b9632){for(const _0x5397c2 of _0x33fb0c['authorsIds'])_0x2c75aa(_0x5397c2);_0x33fb0c['creatorId']&&_0x2c75aa(_0x33fb0c['creatorId']);}if(0x0===_0x321b21['size'])return;const _0x14e5ce=await lt['getMany'](_0x3bb2d0,Array['from'](_0x321b21));for(const _0x400de0 of _0x14e5ce)_0x56a0aa['getUser'](_0x400de0['id'])||_0x56a0aa['addUser'](_0x400de0);function _0x2c75aa(_0x4849a8){_0x56a0aa['getUser'](_0x4849a8)||_0x321b21['add'](_0x4849a8);}}}function et(_0x11d003){return _0x11d003['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x11d003['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x11d003['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x410aca{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x5a6796{['_collapseAt'];constructor(_0x2919f9,_0x6d5b33=0x6){super(_0x2919f9);const _0x185ee9=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x6d5b33,this['bind']('isHidden')['to'](this,'usersCount',_0x2b6246=>_0x2b6246<_0x6d5b33),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x185ee9['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':_0x185ee9['to']('usersCount',_0x59dcca=>'+'+(_0x59dcca-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x5a6796{['items'];['keystrokes'];constructor(_0x168191){super(_0x168191);const _0x4d515b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5f2a85(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4d515b['if']('hasPopup'),'aria-expanded':_0x4d515b['to']('isExpanded',_0x10521f=>this['hasPopup']&&String(_0x10521f)),'aria-label':_0x4d515b['to']('hasPopup',_0x36e1d0=>W(_0x168191,_0x36e1d0?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4d515b['to']('hasPopup',_0x4c7b96=>!!_0x4c7b96&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4d515b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4d515b['to'](_0x5f0f3c=>{const _0x1eaf17=_0x5f0f3c,_0x4d130e=document['querySelector']('.ck-presence-list__dropdown-list'),_0x2ca513=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4d130e?.['contains'](_0x1eaf17['relatedTarget'])||_0x2ca513?.['contains'](_0x1eaf17['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x1b08ed,_0x5bebad,_0x7efd96)=>{this['element']&&(_0x7efd96?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 k extends _0x5a6796{['counterView'];['inlineListView'];constructor(_0x2a567d,_0x52c5ef=0x6){super(_0x2a567d);const _0x564e87=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x52c5ef),this['inlineListView']=new is(_0x2a567d),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x29ae18 of this['inlineListView']['items'])_0x29ae18['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',_0x564e87['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x5a6796{['listWrapperView'];constructor(_0x4c7fb2,_0x37845a){super(_0x4c7fb2);const _0x1fd0d2=this['bindTemplate'];this['listWrapperView']=new pt(_0x4c7fb2,_0x37845a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x4c7fb2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1fd0d2['to'](_0x10fcd6=>{const _0x1bc8e0=_0x10fcd6,_0x3a7836=document['querySelector']('.ck-presence-list__list'),_0x29a2ac=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3a7836?.['contains'](_0x1bc8e0['relatedTarget'])||_0x29a2ac?.['contains'](_0x1bc8e0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x581883{constructor(_0x1dd516,_0x36d779){super(_0x1dd516);const _0x3923dd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x36d779?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3923dd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3923dd['to']('role'),'aria-label':_0x3923dd['to']('ariaLabel'),'aria-labelledby':_0x3923dd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3a7eba['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x109084=this['element'];_0x109084&&(this['_isScrollable']=Math['max'](_0x109084['scrollHeight'],_0x109084['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x46edbd,_0x3ae8ae,_0x23a867){super(_0x46edbd);const _0x919f08=this['bindTemplate'];this['userView']=new ct(_0x46edbd,_0x3ae8ae);const _0x15430c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3ae8ae['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3ae8ae['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3ae8ae['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x23a867&&(_0x15430c['tag']='button',_0x15430c['on']={'click':_0x919f08['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x15430c);}['focus'](){this['element']['focus']();}}class _ extends _0x5a6796{['userView'];['markerView'];constructor(_0x574182,_0x461a09,_0x4feb92){super(_0x574182);const _0x31fa8d=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x574182,_0x461a09),this['markerView']=new at(_0x574182,_0x461a09);const _0x4d7103=new ot(_0x574182);_0x4d7103['template']['tag']='span',_0x4d7103['text']=_0x461a09['name'];const _0x9a051a={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x31fa8d['to']('isFocusable',_0x19503a=>!!_0x19503a&&0x0),'aria-labelledby':_0x4d7103['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x31fa8d['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x31fa8d['to']('hasTooltip',_0x2ff192=>!_0x2ff192),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4d7103]};_0x4feb92&&(_0x9a051a['tag']='button',_0x9a051a['on']={'click':_0x31fa8d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x9a051a);}}class at extends _0x5a6796{constructor(_0x4ea4c2,_0x35c994){super(_0x4ea4c2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x35c994['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x5e99f7{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xc4f843){super(_0xc4f843),this['context']['config']['define']('presenceList',U);const _0x2db2c6=_0xc4f843['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x2db2c6)throw new _0x122b1f('presencelist-collapseat-invalid-format',this);if(_0x2db2c6<0x1)throw new _0x122b1f('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x356c9d(),this['balloonPanelView']=new _0x4bcf9b(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x44293c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x44293c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4957f,_0x5902ea)=>{this['_handleUserAdd'](_0x5902ea);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x7bbe9d,_0xb181df)=>{this['_handleUserRemove'](_0xb181df);});}['_createView'](){const _0x4546a0=this['context'],_0x5d24aa=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x317c3e=this['balloonPanelView'];if(!_0x1bed35(_0x4546a0['config']['get']('presenceList.container')))throw new _0x122b1f('presencelist-missing-container',this);return _0x5d24aa['counterView']['bind']('usersCount')['to'](this),_0x5d24aa['bind']('isCollapsed')['to'](this,'usersCount',_0x80f7b1=>{const {collapseAt:_0x22c887}=_0x4546a0['config']['get']('presenceList'),_0x2f780b=_0x80f7b1>=_0x22c887;if(_0x2f780b&&!_0x5d24aa['inlineListView']['items']['find'](_0x33bf46=>_0x33bf46 instanceof y)){const _0x1bee4c=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1bee4c&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5d24aa['inlineListView']['items']['add'](_0x5d24aa['counterView']);}return _0x2f780b||this['hideDropdown'](),_0x2f780b;}),_0x5d24aa['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4062f1=>{const _0x38062f=_0x4546a0['config']['get']('presenceList'),_0x17b9a7=new _(_0x4546a0['locale'],_0x4062f1,!!_0x38062f['onClick']);return _0x17b9a7['bind']('hasTooltip')['to'](_0x5d24aa,'isCollapsed',_0x289c29=>!_0x289c29),_0x17b9a7['bind']('isFocusable')['to'](_0x5d24aa,'isCollapsed',_0x3347f3=>!_0x3347f3),_0x38062f['onClick']&&this['listenTo'](_0x17b9a7,'execute',()=>{this['view']['isCollapsed']||_0x38062f['onClick'](_0x4062f1,_0x17b9a7['element']);}),_0x17b9a7;}),this['listenTo'](_0x5d24aa['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5d24aa['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5d24aa['inlineListView']['keystrokes']['set']('Enter',(_0x277e50,_0x105dfd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x105dfd());}),_0x5d24aa['render'](),_0x317c3e['render'](),_0x117f6f({'emitter':_0x5d24aa,'activator':()=>_0x317c3e['isVisible'],'contextElements':[_0x317c3e['element'],_0x5d24aa['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x4546a0['config']['get']('presenceList.container')['appendChild'](_0x5d24aa['element']),this['_bodyCollection']=new _0x3c47c3(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5d24aa;}['_handleUserAdd'](_0x1e2997){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1e2997['isMe'])return;const _0x4a219e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4a219e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x30d631=_0x1e2997['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1e2997,_0x30d631);}['_handleUserRemove'](_0x4f416e){this['usersCount']--;const {collapseAt:_0x1e7e8}=this['context']['config']['get']('presenceList'),_0x1ac89a=this['usersCount']>=_0x1e7e8;if(this['currentDisplayedUsers']['get'](_0x4f416e['id']))this['currentDisplayedUsers']['remove'](_0x4f416e['id']);else{if(_0x1ac89a&&this['currentDisplayedUsers']['length']+0x1===_0x1e7e8-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1ac89a?0x1:0x0)<this['usersCount']){for(const _0x5b0f6b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5b0f6b['id'])&&(this['currentDisplayedUsers']['add'](_0x5b0f6b,Math['min'](this['currentDisplayedUsers']['length']-(_0x1ac89a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1ac89a?0x1:0x0)===_0x1e7e8-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x41aa7e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x41aa7e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4e5ef6}=this['presenceDropdownView'];_0x4e5ef6['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4c0940=>{if(!_0x41aa7e['displayMe']&&_0x4c0940['isMe'])return null;const _0x146491=new P(this['context']['locale'],_0x4c0940,!!_0x41aa7e['onClick']);return _0x41aa7e['onClick']&&this['listenTo'](_0x146491,'execute',()=>{_0x41aa7e['onClick'](_0x4c0940,_0x146491['element']);}),_0x146491;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4e5ef6['focus'](),_0x4e5ef6['checkIfScrollable']();const _0x2cb242=(_0x5364bb,_0x14d291)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x14d291();};_0x4e5ef6['keystrokes']['set']('Esc',_0x2cb242),_0x4e5ef6['keystrokes']['set']('Shift+Tab',_0x2cb242),_0x4e5ef6['keystrokes']['set']('Tab',(_0x1ad030,_0x1a7d9b)=>{!function(_0x219956){const _0x33b686=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x36cbdc=>_0x36cbdc+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2ac009=[...document['body']['querySelectorAll'](_0x33b686)]['filter'](_0x41221f=>_0x41221f===document['activeElement']||_0x41221f['offsetWidth']+_0x41221f['offsetHeight']>0x0)['sort']((_0x433d06,_0x31e9c7)=>(_0x433d06['tabIndex']||0x0)-(_0x31e9c7['tabIndex']||0x0)),_0x4b584f=_0x2ac009['indexOf'](_0x219956),_0x19e2e3=_0x2ac009[(_0x4b584f+0x1)%_0x2ac009['length']];_0x19e2e3&&_0x19e2e3['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1a7d9b();}),_0x4e5ef6['focusTracker']['add'](this['view']['element']),_0x4e5ef6['focusTracker']['on']('change:isFocused',(_0x564774,_0x229793,_0x442f16)=>{_0x442f16||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 _0x5e99f7{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};
23
+ import{ContextPlugin as _0x36fc4f,Plugin as _0x313121,PendingActions as _0x48e1f6,Context as _0x1cf50a}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x5ea374,CKEditorError as _0x4a77f2,Collection as _0x295416,global as _0x45f9c6,version as ht,uid as _0x5a2a1e,KeystrokeHandler as _0x55a280}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x382212,View as _0x3e7251,ListView as _0x518b1a,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x5aecea,clickOutsideHandler as _0x365113,BodyCollection as _0x1cf4dd}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x45956f,History as _0x12cd53,NoOperation as _0x38b2a7,InsertOperation as _0x494c2e,MarkerOperation as _0x4fd6db,RootAttributeOperation as _0x1f7156,transformOperationSets as _0x115712,OperationFactory as _0x1d65b1}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x1ab9f7,CollaborativeEditingService as _0x22bb1c,User as ut,CommentsService as _0x17b5e9,TrackChangesService as rt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x3dcc22,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x345a77}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x45724a}from'es-toolkit/compat';class n extends _0x36fc4f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x382212];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x55b622){super(_0x55b622),this['set']('state',_0x1ab9f7['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x5ea374())();}['init'](){const _0x4ac30b=this['context'],_0x18802d=_0x4ac30b['plugins']['get']('CloudServices'),_0xbb03d9=_0x4ac30b['plugins']['get'](_0x382212);if(!_0x18802d['token'])throw new _0x4a77f2('websocketgateway-missing-token',this);if(!_0x18802d['webSocketUrl'])throw new _0x4a77f2('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'](_0x18802d['token'],_0x18802d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x199a2d=>{if(this['connection']=_0x199a2d,this['bind']('state')['to'](_0x199a2d,'state',this,'_isBrowserOffline',(_0x426e13,_0x337c36)=>('connected'!==_0x426e13&&(this['_shouldPluginsReconnect']=!0x0),_0x337c36||_0x426e13!==_0x1ab9f7['CONNECTED']?_0x1ab9f7['DISCONNECTED']:this['state']==_0x1ab9f7['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x1ab9f7['CONNECTING']):_0x1ab9f7['CONNECTED'])),this['connection']['on']('error',(_0x43bf1d,_0x12d6c7)=>{if('limitExceeded'!==_0x12d6c7['code'])throw console['error'](_0x12d6c7),new _0x4a77f2('cloudservices-init',null,{'originalError':_0x12d6c7});_0xbb03d9['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'});}),!_0x199a2d['me'])return new Promise(_0x160a73=>_0x199a2d['on']('change:me',_0x160a73));})['catch'](_0x348951=>{throw console['error'](_0x348951),new _0x4a77f2('cloudservices-init',null,{'originalError':_0x348951});});}['addToReconnectionStack'](_0x16771c){if('function'!=typeof _0x16771c['reconnect'])throw new _0x4a77f2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x16771c))throw new _0x4a77f2('websocketgateway-plugin-already-registered',this,{'name':_0x16771c['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x16771c);}['removeFromReconnectionStack'](_0x213d8f){this['_reconnectionStack']['delete'](_0x213d8f);}['isInReconnectionStack'](_0x2222ac){return this['_reconnectionStack']['has'](_0x2222ac);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x46130c=>_0x46130c['reconnect']())))['then'](()=>this['state']=_0x1ab9f7['CONNECTED'])['catch'](_0x555619=>{throw console['error'](_0x555619),new _0x4a77f2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x1ab9f7['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x36fc4f{['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,_0x3dcc22];}constructor(_0x504870){super(_0x504870),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x295416(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3dcc22);}['init'](){const _0x868987=this['context']['plugins']['get'](n);this['listenTo'](_0x868987,'change:state',(_0x1261c2,_0x165277,_0x2ee026)=>{if('connected'!==_0x2ee026)this['channelSessions']['forEach'](_0x4b43ab=>_0x4b43ab['clear']()),this['channelConnectedUsers']['forEach'](_0x1af4d6=>_0x1af4d6['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xd7f8c6,_0x512c5c]of this['_registeredSessions'])for(const _0x20a8c3 of _0x512c5c)this['_handleSessionAdd'](_0xd7f8c6,_0x20a8c3);}}),this['_createUser'](_0x868987['connection']['me'],!0x0);}['register'](_0x5c7468,_0x11adaf){if(this['_registeredSessions']['has'](_0x5c7468))throw new _0x4a77f2('sessions-register-already-registered',null,{'channelId':_0x5c7468});this['_registeredSessions']['set'](_0x5c7468,_0x11adaf),this['channelSessions']['set'](_0x5c7468,new _0x295416()),this['channelConnectedUsers']['set'](_0x5c7468,new _0x295416()),this['listenTo'](_0x11adaf,'add',(_0x90cef2,_0x15fa65)=>this['_handleSessionAdd'](_0x5c7468,_0x15fa65)),this['listenTo'](_0x11adaf,'remove',(_0xe57a87,_0x2a85a2)=>this['_handleSessionRemove'](_0x5c7468,_0x2a85a2));for(const _0x4894ea of _0x11adaf)this['_handleSessionAdd'](_0x5c7468,_0x4894ea);}['unregister'](_0x2ffa62){if(!this['_registeredSessions']['has'](_0x2ffa62))throw new _0x4a77f2('sessions-unregister-not-exist',null,{'channelId':_0x2ffa62});const _0x1c6652=this['_registeredSessions']['get'](_0x2ffa62);this['stopListening'](_0x1c6652);for(const _0x59f928 of _0x1c6652)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x2ffa62,_0x59f928);this['_registeredSessions']['delete'](_0x2ffa62),this['channelSessions']['delete'](_0x2ffa62),this['channelConnectedUsers']['delete'](_0x2ffa62);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0xddd689){for(const _0x5ec5b7 of this['channelSessions']['values']())for(const _0x216b0b of _0x5ec5b7)if(_0x216b0b['id']===_0xddd689)return _0x216b0b['user'];}['getUserSessions'](_0x56fabf,_0x3dbd98){const _0xee01a0=_0x3dbd98?[this['channelSessions']['get'](_0x3dbd98)]:this['channelSessions']['values'](),_0x1008a9=new Set();for(const _0x3a87bc of _0xee01a0)for(const _0x21ef7c of _0x3a87bc)_0x21ef7c['user']['id']===_0x56fabf['id']&&_0x1008a9['add'](_0x21ef7c['id']);return _0x1008a9;}['getUserRole'](_0x5b6760){for(const _0x18bf7c of this['channelSessions']['values']())for(const _0x15412d of _0x18bf7c)if(_0x15412d['user']===_0x5b6760)return _0x15412d['role'];}['_handleSessionAdd'](_0x228737,_0x5ecc98){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5321e8=_0x5ecc98['user'],_0x296b90=this['_users']['getUser'](_0x5321e8['id'])||this['_createUser'](_0x5321e8),_0x401ac6=Object['assign']({},_0x5ecc98,{'user':_0x296b90});if(this['channelSessions']['get'](_0x228737)['add'](_0x401ac6),!_0x5321e8['hiddenInPresenceList']){const _0x79bce7=this['channelConnectedUsers']['get'](_0x228737);_0x79bce7['has'](_0x296b90['id'])||_0x79bce7['add'](_0x296b90),this['allConnectedUsers']['has'](_0x296b90['id'])||_0x5321e8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x296b90,_0x296b90['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x228737,{'channelId':_0x228737,'session':_0x401ac6});}['_handleSessionRemove'](_0x1b8ae9,_0x3696f9){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x8f6297=this['channelConnectedUsers']['get'](_0x1b8ae9),_0x54e404=_0x3696f9['user'];_0x54e404['id']&&(this['channelSessions']['get'](_0x1b8ae9)['remove'](_0x3696f9['id']),_0x8f6297['has'](_0x54e404['id'])&&!this['getUserSessions'](_0x54e404,_0x1b8ae9)['size']&&_0x8f6297['remove'](_0x54e404['id']),this['allConnectedUsers']['get'](_0x54e404['id'])&&!this['getUserSessions'](_0x54e404)['size']&&this['allConnectedUsers']['remove'](_0x54e404['id']));}['_createUser'](_0x50c53a,_0xc9c934){const _0xcf6570=this['_users']['addUser'](_0x50c53a);return _0xc9c934&&this['_users']['defineMe'](_0x50c53a['id']),_0xcf6570['orderNumber']=this['_uniqueUsersCount']++,_0xcf6570;}}class U extends _0x313121{['_domEmitter']=new(_0x5ea374())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2f6ffa=this['editor'],_0x5a34e4=_0x2f6ffa['plugins']['get'](i);_0x2f6ffa['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x1a5e59,{writer:_0x577e6a})=>function(_0x5ceeb3,_0x26acc2,_0x97b554,_0x24b736){const _0x5744fc=_0x5ceeb3['markerName']['split'](':')[0x2],_0x3b5e1b=_0x97b554['getUserBySessionId'](_0x5744fc);if(!_0x3b5e1b||_0x5744fc===_0x97b554['mySessionId'])return;if(!_0x24b736['model']['schema']['checkChild'](_0x5ceeb3['markerRange']['start'],'$text'))return;const _0x4f53c5={'class':'ck-user__marker\x20'+_0x3b5e1b['color']['getMarkerClass'](),'data-name':_0x3b5e1b['name'],'data-session-id':_0x5744fc},_0x392ee9=_0x24b736['model']['markers']['get'](_0x5ceeb3['markerName']),_0x723ae0=_0x392ee9['getStart'](),_0x379d16=_0x723ae0['nodeAfter'],_0x45b628=_0x24b736['model']['schema'];if(_0x379d16&&_0x45b628['isObject'](_0x379d16)&&_0x45b628['isInline'](_0x379d16)&&!_0x24b736['model']['markers']['get']('user:range:'+_0x5744fc)['getRange']()['isCollapsed'])return;const _0x506f1e=_0x723ae0['parent'];return _0x24b736['model']['schema']['isLimit'](_0x506f1e)&&!_0x24b736['model']['hasContent'](_0x506f1e)&&(_0x4f53c5['contenteditable']=!0x1),function(_0x252667,_0x1dacb0,_0x2dffc1){const _0xc08e83=_0x252667['createUIElement']('span',_0x1dacb0);return _0x252667['setCustomProperty']('userPositionMarker',!0x0,_0xc08e83),_0xc08e83['render']=function(_0x551347){const _0x51b4bd=this['toDomElement'](_0x551347),_0x481f38=document['createElement']('span');return _0x481f38['classList']['add']('ck-user__marker-tooltip'),_0x481f38['setAttribute']('contenteditable','false'),_0x481f38['setAttribute']('spellcheck','false'),_0x481f38['textContent']=_0x2dffc1['name'],_0x51b4bd['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x481f38['outerHTML']+'⁠',_0x51b4bd['addEventListener']('mouseenter',()=>{_0x51b4bd['classList']['add']('ck-user__marker_hovered');}),_0x51b4bd['addEventListener']('mouseleave',()=>{_0x51b4bd['classList']['remove']('ck-user__marker_hovered');}),_0x51b4bd;},_0xc08e83['isSimilar']=function(_0x329210){return!(!this['getCustomProperty']('userPositionMarker')||!_0x329210['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x329210['getAttribute']('data-session-id'));},_0xc08e83;}(_0x26acc2,_0x4f53c5,_0x3b5e1b);}(_0x1a5e59,_0x577e6a,_0x5a34e4,_0x2f6ffa)}),_0x2f6ffa['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x112c4f=>function(_0x484f42,_0x559e58){const _0x384c2d=_0x484f42['markerName']['split'](':')[0x2];if(_0x384c2d===_0x559e58['mySessionId'])return null;const _0x4b5299=_0x559e58['getUserBySessionId'](_0x384c2d);if(!_0x4b5299)return{'id':_0x384c2d,'classes':[]};return{'id':_0x384c2d,'classes':['ck-user__selection',_0x4b5299['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x384c2d},'priority':0x7d0+_0x4b5299['orderNumber']};}(_0x112c4f,_0x5a34e4)}),function(_0x38c5fc){const _0x148316=_0x38c5fc['model'],_0x40663f=new Map(),_0x6f495e=_0x38c5fc['plugins']['get'](i);_0x148316['markers']['on']('update:user:range',(_0x5a7249,_0x22d83f,_0xf9c7db,_0x56de42)=>{if(!_0x56de42&&_0x40663f['get'](_0x22d83f['name']))return _0x40663f['get'](_0x22d83f['name'])['detach'](),void _0x40663f['delete'](_0x22d83f['name']);const _0x2dd13b=_0x22d83f['name']['split'](':')[0x2];if(_0x2dd13b===_0x6f495e['mySessionId'])return;const _0x27e472='user:position:'+_0x2dd13b;_0x148316['markers']['has'](_0x27e472)&&_0x38c5fc['editing']['reconvertMarker'](_0x27e472),_0x22d83f['on']('change:range',(_0xd2eec5,_0x411536,_0x15a381)=>{if('$graveyard'!=_0x411536['root']['rootName']&&'$graveyard'==_0x22d83f['getRange']()['root']['rootName']&&!_0x40663f['has'](_0x22d83f['name'])){const _0x2ee51e=_0x148316['schema']['getNearestSelectionRange'](_0x15a381['deletionPosition']);if(_0x2ee51e){const _0x182907=_0x45956f['fromRange'](_0x2ee51e);_0x40663f['set'](_0x22d83f['name'],_0x182907),_0x182907['on']('change:range',(_0x17a0d1,_0x5a8a93,_0x4d5aba)=>{if('$graveyard'==_0x182907['root']['rootName']){const _0x4b8b5b=_0x148316['schema']['getNearestSelectionRange'](_0x4d5aba['deletionPosition']);_0x4b8b5b?(_0x182907['start']=_0x4b8b5b['start'],_0x182907['end']=_0x4b8b5b['end']):(_0x40663f['delete'](_0x22d83f['name']),_0x182907['detach']());}});}}});}),_0x148316['document']['on']('change',()=>{_0x40663f['size']>0x0&&_0x148316['enqueueChange']({'isUndoable':!0x1},_0xdb8162=>{for(const [_0x5150fb,_0x5c0f49]of _0x40663f)'$graveyard'==_0x148316['markers']['get'](_0x5150fb)['getRange']()['root']['rootName']&&(J(_0x5150fb['split'](':')[0x2],_0x5c0f49['toRange'](),_0x148316,_0xdb8162),_0x5c0f49['detach']());_0x40663f['clear']();});});}(_0x2f6ffa),this['_domEmitter']['listenTo'](_0x45f9c6['document'],'keydown',(_0x3f3100,{key:_0x16c055})=>{'Escape'===_0x16c055&&function(_0x41407e){_0x41407e['editing']['view']['change'](_0x19f44c=>{for(const _0x3698a4 of _0x41407e['model']['markers']){if(!_0x3698a4['name']['startsWith']('user:position'))continue;const _0x38cc10=_0x41407e['editing']['mapper']['markerNameToElements'](_0x3698a4['name']);if(_0x38cc10){for(const _0x249415 of _0x38cc10)_0x19f44c['removeClass']('ck-user__marker_hovered',_0x249415);}}});}(_0x2f6ffa);},{'useCapture':!0x0});}['afterInit'](){const _0x204891=this['editor'],_0x2f429f=_0x204891['commands']['get']('undo');_0x2f429f&&_0x204891['model']['on']('applyOperation',(_0x39b4b5,_0x363e38)=>{const _0xc0bafc=_0x363e38[0x0];if(!_0xc0bafc['isDocumentOperation'])return;if('marker'!=_0xc0bafc['type']||!_0xc0bafc['name']['startsWith']('user:'))return;const _0x4f9da7=_0xc0bafc['batch'];_0x2f429f['_createdBatches']['has'](_0x4f9da7)&&(_0xc0bafc['newRange']=_0xc0bafc['oldRange']?_0x204891['model']['createRange'](_0xc0bafc['oldRange']['start'],_0xc0bafc['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3dc1dc=this['editor'],_0x573955=_0x3dc1dc['model']['document'],_0x59f3f8=_0x3dc1dc['plugins']['get'](i);_0x3dc1dc['model']['enqueueChange']({'isUndoable':!0x1},_0x296bdc=>{const _0x478cdb='user:range:'+_0x59f3f8['mySessionId'],_0x4cf2e3='user:position:'+_0x59f3f8['mySessionId'],_0x290b9a=_0x3dc1dc['model']['markers']['has'](_0x478cdb);_0x3dc1dc['editing']['view']['hasDomSelection']?J(_0x59f3f8['mySessionId'],_0x573955['selection']['getFirstRange'](),_0x3dc1dc['model'],_0x296bdc):_0x290b9a&&(_0x296bdc['removeMarker'](_0x478cdb),_0x296bdc['removeMarker'](_0x4cf2e3));});}}function J(_0x31ef60,_0x2a63a9,_0x321399,_0x2b6856){const _0x52d3bd='user:range:'+_0x31ef60,_0x2daffe='user:position:'+_0x31ef60,_0x2dfc30=_0x2a63a9['getContainedElement']();let _0x48c822=_0x2a63a9['start'];if(_0x2dfc30&&_0x2dfc30['is']('element','tableCell')){const _0x2abbe9=function(_0x54ecc2,_0x3a0c64){for(const _0x27dc1e of _0x54ecc2['getPositions']())if(_0x3a0c64['schema']['checkChild'](_0x27dc1e,'$text'))return _0x27dc1e;}(_0x2a63a9,_0x321399);_0x2abbe9&&(_0x48c822=_0x2abbe9,_0x2a63a9=_0x2b6856['createRange'](_0x48c822));}const _0xef5559=_0x2b6856['createRange'](_0x48c822);_0x321399['markers']['has'](_0x52d3bd)?(_0x2b6856['updateMarker'](_0x52d3bd,{'range':_0x2a63a9}),_0x2b6856['updateMarker'](_0x2daffe,{'range':_0xef5559})):(_0x2b6856['addMarker'](_0x52d3bd,{'range':_0x2a63a9,'usingOperation':!0x0}),_0x2b6856['addMarker'](_0x2daffe,{'range':_0xef5559,'usingOperation':!0x0}));}function E(_0x583374,_0x531553,_0x20835f){const _0x2851ef=_0x583374['t'],t=_0x583374['t'];switch(_0x531553){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 _0x2851ef({'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'},_0x20835f);default:return'';}}let H=0x1;class l extends _0x313121{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x22bb1c)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,U,_0x48e1f6,_0x3dcc22,_0x382212];}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 _0x44c44d=this['serverHistory']['getOperations']();for(let _0x1abb43=_0x44c44d['length']-0x1;_0x1abb43>=0x0;_0x1abb43--){const _0xd22e49=_0x44c44d[_0x1abb43];if(!this['_disconnectionOperations']['has'](_0xd22e49))return _0xd22e49['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0xf3ea33){if(super(_0xf3ea33),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x12cd53(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x4a77f2('collaboration-missing-channelid',this);const _0x217f36=_0xf3ea33['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x217f36,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x345a77(),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 F(this['_disconnectionOperations']);}['init'](){const _0x101f43=this['editor'],_0x2cc80a=_0x101f43['plugins']['get'](_0x3dcc22),_0x17bbe7=_0x101f43['plugins']['get'](n);this['listenTo'](_0x2cc80a,'getOperationAuthor',(_0x19621f,_0x46276d)=>{const _0x4552d6=_0x46276d[0x0];_0x4552d6['_authorId']&&(_0x19621f['return']=_0x2cc80a['getUser'](_0x4552d6['_authorId']),_0x19621f['stop']()),null===_0x4552d6['_authorId']&&(_0x19621f['return']=null,_0x19621f['stop']());},{'priority':'high'}),this['listenTo'](_0x101f43['model']['document']['selection'],'change:range',(_0x503d03,_0x5c0ed7)=>{_0x5c0ed7['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x101f43['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x101f43['model']['on']('applyOperation',(_0x818adb,_0x4e9c29)=>{const _0x36b31a=_0x4e9c29[0x0];_0x36b31a['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x36b31a),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x17bbe7,'state',this,'_hasSynchronizationProblem',(_0x14a23e,_0x5a7bd2)=>'connected'===_0x14a23e&&!_0x5a7bd2),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x101f43['disableReadOnlyMode']('rtc-offline'):_0x101f43['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x101f43['disableReadOnlyMode']('rtc-offline'):_0x101f43['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3a6304=this['editor']['plugins']['get'](i),_0x54f0d3=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x3a6304['unregister'](this['_channelId']);const _0x564da5=await this['_service']['reconnect'](_0x54f0d3['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x564da5)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x51f187=await this['_service']['getConnectedSessions']();_0x3a6304['register'](this['_channelId'],_0x51f187),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x394cb2){if(function(_0x5319df){return'404'===_0x5319df['code'];}(_0x394cb2)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x28d1e3){return'409'===_0x28d1e3['code'];}(_0x394cb2)){const _0x4020fe=E(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'](_0x4020fe);}else{if(!(_0x394cb2 instanceof V))throw _0x394cb2;this['_handleReconnectionError']();}}}}['destroy'](){const _0x40636c=this['editor']['plugins']['get'](n),_0x1c8a32=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1c8a32['channelSessions']['has'](this['_channelId'])&&_0x1c8a32['unregister'](this['_channelId']),_0x40636c['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xd2b9de){if(this['sessionId']!==_0xd2b9de['sessionId']&&this['_lastSyncedOperationId']!==_0xd2b9de['lastOperationId'])throw new V();return this['sessionId']=_0xd2b9de['sessionId'],this['_handleServerResponse']([],{..._0xd2b9de,'wereChangesApplied':!0x1,'data':_0xd2b9de['data']},'reconnect');}async['_connectService'](_0x46bbde,_0x30e35d=!0x1){const {connection:_0x13f369}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x13f369,this['_channelId'])['then'](_0xbd9fa0=>this['_initSessionsHandling'](_0xbd9fa0))['catch'](_0x4831e4=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4831e4);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x307ffb,_0xdc0b6d)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0xdc0b6d);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x21140e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x46bbde);this['_isPendingUpdate']=!0x0;const _0x3ae070=await this['_service']['connect'](_0x13f369,this['_compressOperations'](_0x46bbde),_0x21140e);if(this['sessionId']=_0x3ae070['sessionId'],_0x30e35d){if(!_0x3ae070['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3ae070['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x46bbde,_0x3ae070,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3ae070,_0x46bbde);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x40a973=this['editor']['plugins']['get'](i),_0x31c8a7=this['editor']['plugins']['get'](U),_0x1b854a=_0x40a973['channelSessions']['get'](this['_channelId']);_0x1b854a&&_0x1b854a['length']>0x1?_0x31c8a7['createUserMarkerOperations']():this['listenTo'](_0x40a973,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x40a973['channelSessions']['get'](this['_channelId'])['length']&&_0x31c8a7['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x52aa48,_0xee0a04,_0x686e5e,_0x482ae7){if(!this['_isPendingUpdate']&&this['_document']['version']==_0xee0a04){const _0x4ad6ba=this['_decompressOperations'](_0x686e5e,_0x482ae7);await this['_fetchMissingUsers'](_0x4ad6ba),this['_handleExternalOperations'](_0x4ad6ba,_0xee0a04,_0x686e5e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x405f25}=this['editor'];let _0x27a712;try{_0x27a712=await this['_service']['getDocumentDetails']();}catch{const _0x224043=E(_0x405f25,'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'](_0x224043);}const _0x29bb54=_0x27a712['currentDocumentSession']||_0x27a712['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x29bb54['lastOperationId']){const _0x27e685=E(_0x405f25,'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'](_0x27e685);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x50d8cb){const _0x2027ce=this['editor']['plugins']['get'](i);this['listenTo'](_0x2027ce,'sessionAdd:'+this['_channelId'],(_0x35b37f,{session:_0x1a0dc1})=>{if(_0x1a0dc1['id']===_0x2027ce['mySessionId']){_0x35b37f['off']();const _0x53b4b9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x535b92=_0x1a0dc1['permissions'];_0x53b4b9&&_0x53b4b9['isEnabled']&&(_0x535b92=_0x535b92['filter'](_0x197deb=>'document:write'!==_0x197deb)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x535b92,this['_channelId']);}}),_0x2027ce['register'](this['_channelId'],_0x50d8cb);}['_initThrowingOnDataSet'](){const _0x23988d=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1fb368)=>{if(!_0x1fb368[_0x1fb368['length']-0x1]['suppressErrorInCollaboration'])throw new _0x4a77f2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x23988d['apply'](this['editor']['data'],_0x1fb368);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x243c9c,[_0x389f71])=>{if(this['_document']['version'])throw new _0x4a77f2('realtimecollaborationclient-init-document-already-initialized',this);_0x243c9c['stop'](),this['_setPendingAction']();const _0x49e422=this['editor']['config']['get']('rootsAttributes'),_0x1bb03a=this['_getOperationsFromInitData'](_0x389f71,_0x49e422);0x0==_0x1bb03a['length']&&_0x1bb03a['push'](new _0x38b2a7(0x0)),_0x243c9c['return']=this['_connectService'](_0x1bb03a)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3d9d94=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3d9d94))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xb57a2b,[_0x2b6880,_0x1f996c])=>{_0xb57a2b['stop']();const _0x2c4011=this['editor']['model']['document']['getRoot'](_0x2b6880);if(!this['_knownRootNames']['has'](_0x2b6880)){const _0x3483d8=_0x1f996c&&_0x1f996c['data']?_0x1f996c['data']:'',_0x2145b6=_0x1f996c&&_0x1f996c['attributes']?_0x1f996c['attributes']:{};await this['_loadRoot'](_0x2b6880,_0x3483d8,_0x2145b6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2c4011['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2c4011);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xe02c24){const _0x207c20=this['editor']['plugins']['get'](_0x3dcc22),{connection:_0x1102bd}=this['editor']['plugins']['get'](n),_0x4a0943=new Set();for(const _0x304fe7 of _0xe02c24){const _0x2645d7=_0x304fe7['_authorId'];_0x2645d7&&!_0x207c20['getUser'](_0x2645d7)&&_0x4a0943['add'](_0x2645d7);}if(0x0===_0x4a0943['size'])return;const _0x16c9ec=await ut['getMany'](_0x1102bd,Array['from'](_0x4a0943));for(const _0x57e308 of _0x16c9ec)_0x207c20['getUser'](_0x57e308['id'])||_0x207c20['addUser'](_0x57e308);}['_getOperationsFromInitData'](_0x22f8d7,_0x498429={}){const _0x29b8c7=this['editor']['model'],_0x48b6f1=[];let _0x245ccb=0x0;const _0x13ce63='string'==typeof _0x22f8d7?{'main':_0x22f8d7}:_0x22f8d7;for(const _0x1b874b of Object['keys'](_0x13ce63)){if(!this['_document']['roots']['has'](_0x1b874b))throw new _0x4a77f2('realtimecollaborationclient-init-non-existent-root',this);const _0x3e2388=this['editor']['data']['parse'](_0x13ce63[_0x1b874b]),_0x4cf1c4=this['_document']['getRoot'](_0x1b874b),_0x3007e7=new _0x494c2e(_0x29b8c7['createPositionAt'](_0x4cf1c4,0x0),_0x3e2388,_0x245ccb++);_0x48b6f1['push'](_0x3007e7);for(const [_0x34030c,_0x84258c]of _0x3e2388['markers']){const _0x1483cf=_0x29b8c7['createRange'](_0x29b8c7['createPositionFromPath'](_0x4cf1c4,_0x84258c['start']['path']['slice']()),_0x29b8c7['createPositionFromPath'](_0x4cf1c4,_0x84258c['end']['path']['slice']())),_0x2231d7=new _0x4fd6db(_0x34030c,null,_0x1483cf,_0x29b8c7['markers'],!0x0,_0x245ccb++);_0x48b6f1['push'](_0x2231d7);}}if(_0x498429)for(const [_0x2b0fd3,_0xa4120f]of Object['entries'](_0x498429)){const _0x451da8=_0x29b8c7['document']['getRoot'](_0x2b0fd3);if(!_0x451da8)throw new _0x4a77f2('multi-root-editor-root-attributes-no-root',null);for(const [_0x28c102,_0x2cb8ab]of Object['entries'](_0xa4120f))if(null!==_0x2cb8ab){const _0x284772=new _0x1f7156(_0x451da8,_0x28c102,null,_0x2cb8ab,_0x245ccb++);_0x48b6f1['push'](_0x284772);}}return _0x48b6f1;}async['_loadRoot'](_0x546015,_0x57e195,_0x21d44d){this['_getOperationsFromInitData']({[_0x546015]:_0x57e195},{[_0x546015]:_0x21d44d})['forEach']((_0x1839f5,_0x3ffc3a)=>{_0x1839f5['baseVersion']=this['_document']['version']+_0x3ffc3a,_0x1839f5['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x1839f5);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x6d7403,_0x1e64ce){let _0x4c6f4e;this['_offset']=_0x6d7403['offset'];const _0x588a2f=_0x6d7403['wereChangesApplied']&&!_0x6d7403['initData'],_0x195db9=_0x588a2f?0x0:_0x6d7403['data']['baseVersion'];if(_0x1e64ce['forEach'](_0x1ee234=>{_0x1ee234['_isInit']=!0x0,_0x1ee234['createdAt']=_0x6d7403['sessionCreatedAt'],_0x1ee234['_authorId']=null;}),_0x588a2f)_0x4c6f4e=_0x1e64ce,this['_applyOperationsSet'](_0x4c6f4e,_0x588a2f);else{if(_0x6d7403['initData']){const _0x1ee284=this['_getOperationsFromInitData'](_0x6d7403['initData']);this['_document']['history']['version']=-_0x1ee284['length'],_0x1ee284['forEach'](_0x2769d5=>{_0x2769d5['baseVersion']-=_0x1ee284['length'],_0x2769d5['createdAt']=_0x6d7403['sessionCreatedAt'],_0x2769d5['_isInit']=!0x0,_0x2769d5['_authorId']=null;}),this['_applyOperationsSet'](_0x1ee284,!0x0),this['serverHistory']['version']=-_0x1ee284['length']+this['_offset'],this['_updateServerHistory'](_0x1ee284);}this['_document']['history']['version']=_0x195db9,_0x4c6f4e=this['_decompressOperations'](_0x6d7403['data'],_0x6d7403['metadata']),await this['_fetchMissingUsers'](_0x4c6f4e),this['_applyOperationsSet'](_0x4c6f4e,_0x588a2f);}_0x6d7403['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4c6f4e,_0x6d7403['lastOperationId']),this['_lastSyncedOperationId']=_0x6d7403['lastOperationId']),this['serverHistory']['version']=_0x195db9+this['_offset'],this['_updateServerHistory'](_0x4c6f4e),_0x1e64ce['filter'](_0x52eda7=>{const _0x384933=this['_getAffectedRoot'](_0x52eda7);return _0x384933&&!this['_knownRootNames']['has'](_0x384933);})['forEach']((_0x5e5e55,_0x2f1465)=>{_0x5e5e55['baseVersion']=this['_document']['version']+_0x2f1465,this['_saveOperationInBuffer'](_0x5e5e55);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2b3dcd,_0x3357a5){const _0x41882c=_0x3357a5&&_0x3357a5['message'];if(_0x41882c&&_0x41882c['startsWith']('realtimecollaborationclient'))throw _0x3357a5;const _0xb12776=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0xb12776['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x4a77f2(_0x2b3dcd,this['editor'],_0x41882c?{'originalError':_0x41882c}:void 0x0);}['_saveOperationInBuffer'](_0x57d830){this['_knownOperations']['has'](_0x57d830)||(this['_knownOperations']['add'](_0x57d830),this['_bufferedOperations']['push'](_0x57d830),this['_pendingAction']||'marker'==_0x57d830['type']&&!_0x57d830['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x36bad5=!0x1){!_0x36bad5&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x29ff8f=>{_0x29ff8f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3df6e2=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2bd4f1){return _0x2bd4f1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2bd4f1['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2bd4f1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3df6e2)||this['_crash'](_0x3df6e2['message'],_0x3df6e2);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x59e730=>{this['on']('change:_isPendingUpdate',()=>{_0x59e730();});});}async['_sendBufferedOperations'](){const _0x1a3dcd=this['editor']['plugins']['get'](U);if(this['_shouldSendSelectionUpdate']()&&(_0x1a3dcd['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x14db8f=[...this['_bufferedOperations']];for(const _0x1cd9f8 of _0x14db8f)_0x1cd9f8['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1cd9f8);const _0xf871d1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x14db8f),_0x1c7b0b=H++,_0x1ce42a=this['_compressOperations'](_0x14db8f),_0x51f9db=await this['_service']['sendOperations'](_0x1ce42a,_0x1ce42a['baseVersion'],_0xf871d1);try{return await this['_handleServerResponse'](_0x14db8f,_0x51f9db,_0x1c7b0b);}catch(_0x162686){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x162686);}}async['_handleServerResponse'](_0x540011,_0x57dd55,_0x3f2372){if('error'in _0x57dd55)throw _0x57dd55['error'];let _0x475776=!0x1;if(_0x57dd55['wereChangesApplied']){_0x57dd55['lastOperationId']&&(this['_lastSyncedOperationId']=_0x57dd55['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x370457=>!_0x540011['includes'](_0x370457));for(const _0x1998eb of _0x540011)_0x1998eb['createdAt']='lastOperationAcceptedAt'in _0x57dd55&&_0x57dd55['lastOperationAcceptedAt']||void 0x0;W(_0x540011,_0x57dd55['version']-_0x540011['length']),this['_updateServerHistory'](_0x540011);const _0x48cf78=_0x540011['filter'](_0xc7fca0=>{if(!_0xc7fca0['_isInit'])return!0x1;const _0x1db50b=this['_getAffectedRoot'](_0xc7fca0);return _0x1db50b&&!this['_knownRootNames']['has'](_0x1db50b);});W(_0x48cf78,this['_document']['version']),this['_applyOperationsSet'](_0x48cf78),_0x475776=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x15be3d=this['_decompressOperations'](_0x57dd55['data'],_0x57dd55['metadata'])['filter'](_0x1b6a9e=>_0x1b6a9e['baseVersion']>=this['_lastServerVersion']);_0x15be3d['forEach'](_0x29b541=>this['_addKnownRoot'](_0x29b541)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5f12ef=>!_0x5f12ef['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5f12ef))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x15be3d),_0x475776=this['_handleExternalOperations'](_0x15be3d,_0x57dd55['version'],_0x57dd55['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x475776?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x57c5b3,_0x243c3a,_0xd0f8ad){try{const _0x535ad8={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x241dc0,operationsB:_0x1c45e1,originalOperations:_0x91e64}=_0x115712(_0x57c5b3,this['_bufferedOperations'],_0x535ad8);W(_0x241dc0,this['_document']['version']),W(_0x1c45e1,_0x243c3a);for(const _0x1060a9 of _0x241dc0){const _0x189d02=_0x91e64['get'](_0x1060a9);_0x1060a9['_authorId']=_0x189d02?_0x189d02['_authorId']:null;}_0xd0f8ad&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x57c5b3,_0xd0f8ad),this['_lastSyncedOperationId']=_0xd0f8ad),this['_bufferedOperations']=[..._0x1c45e1],this['_applyOperationsSet'](_0x241dc0),this['_updateServerHistory'](_0x57c5b3);}catch(_0x2553f6){return console['error'](_0x2553f6),!0x1;}return!0x0;}['_applyOperationsSet'](_0x240888,_0x3125f2=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5cc04f=>{for(const _0x39cc95 of _0x240888)this['_knownOperations']['add'](_0x39cc95),this['_addKnownRoot'](_0x39cc95),_0x5cc04f['batch']['addOperation'](_0x39cc95),this['editor']['model']['applyOperation'](_0x39cc95);});}['_addKnownRoot'](_0x2c7d21){const _0xa0bdc2=this['_getAffectedRoot'](_0x2c7d21);_0xa0bdc2&&this['_knownRootNames']['add'](_0xa0bdc2);}['_getAffectedRoot'](_0x21fceb){let _0x3e32a7,_0x2a43da;switch(_0x21fceb['type']){case'insert':_0x3e32a7=_0x21fceb['position']['root'];break;case'marker':if(_0x2a43da=_0x21fceb['newRange'],!_0x2a43da)return null;_0x3e32a7=_0x2a43da['root'];break;case'addRootAttribute':_0x3e32a7=_0x21fceb['root'];break;case'addRoot':_0x3e32a7=_0x21fceb['affectedSelectable'];break;case'move':_0x3e32a7=_0x21fceb['targetPosition']['root'];break;default:return null;}return _0x3e32a7['rootName'];}['_updateServerHistory'](_0x441e0f){_0x441e0f['forEach'](_0x5b3377=>{const _0x52ad0a=_0x5b3377['clone']();_0x52ad0a['_authorId']=_0x5b3377['_authorId'],_0x52ad0a['_isInit']=!!_0x5b3377['_isInit'],_0x52ad0a['createdAt']=_0x5b3377['createdAt'],_0x52ad0a['baseVersion']+=this['_offset'],_0x5b3377['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x52ad0a),this['serverHistory']['addOperation'](_0x52ad0a);});}['_handleReconnectionError'](_0x333005){const _0x5b7add=this['editor']['plugins']['get']('Notification'),_0x1476d8=this['editor']['locale'];_0x333005||(_0x333005=E(_0x1476d8,'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.')),_0x5b7add['showWarning'](_0x333005,{'title':E(_0x1476d8,'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'](_0x48e1f6)['add'](E(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x48e1f6)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x27d9f4){const _0x484969=_0x27d9f4['map'](_0x5d774a=>_0x5d774a['toJSON']());return this['_compressor']['compress'](_0x484969);}['_decompressOperations'](_0x399bb1,_0x492e6a){return this['_compressor']['decompress'](_0x399bb1)['map']((_0x3cc7c4,_0x4339e6)=>{const _0x39a552='init'==_0x492e6a[_0x4339e6]['type'];if('InsertOperation'==_0x3cc7c4['__className']){const _0x3aab2d=_0x3cc7c4['position']['root'];!this['_document']['getRoot'](_0x3aab2d)&&(this['_document']['createRoot']('$root',_0x3aab2d)['_isAttached']=!0x1);}const _0x5d7ef6=_0x1d65b1['fromJSON'](_0x3cc7c4,this['_document']);return _0x5d7ef6['wasUndone']=_0x3cc7c4['wasUndone'],_0x5d7ef6['_isInit']=_0x39a552,_0x5d7ef6['_authorId']=_0x39a552?null:_0x492e6a[_0x4339e6]['userId'],_0x5d7ef6['_isDisconnection']='cs:removeUser'===_0x492e6a[_0x4339e6]['type'],_0x5d7ef6['createdAt']=_0x492e6a[_0x4339e6]['createdAt'],_0x5d7ef6;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x19ec9a=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x19ec9a&&_0x19ec9a['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x26c523,_0xcfe601){for(const _0x44488f of _0x26c523)_0x44488f['baseVersion']=_0xcfe601++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0x3b67e9){this['_ignoredOperations']=_0x3b67e9,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x3bdaf4){let _0x34da90=_0x3bdaf4['length'];for(;_0x34da90--;){const _0xa936d6=_0x3bdaf4[_0x34da90];if(!this['_ignoredOperations']['has'](_0xa936d6)){if(!this['_operationToId']['has'](_0xa936d6)){const _0x5190c7=_0x5a2a1e()['slice'](0x1,0x12);this['_operationToId']['set'](_0xa936d6,_0x5190c7);}return this['_operationToId']['get'](_0xa936d6);}}}['setIdForTheLastOperation'](_0x4b71d5,_0x1d334b){if(!_0x1d334b)return;let _0x1983be=_0x4b71d5['length'];for(;_0x1983be--;){const _0x502416=_0x4b71d5[_0x1983be];this['_ignoredOperations']['has'](_0x502416)||this['_operationToId']['set'](_0x502416,_0x1d334b);}}}class a extends _0x313121{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x36fc4f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x17b5e9)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x3dcc22];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x217f29){super(_0x217f29),this['_services']=new Map();}async['init'](){const _0xcd5b15=this['context'],_0x3e39b2=_0xcd5b15['plugins']['get']('CommentsRepository');if(_0xcd5b15['plugins']['get'](n)['addToReconnectionStack'](this),_0x3e39b2['adapter']={'addCommentThread':async({channelId:_0x3b20f3,threadId:_0x2b4510,comments:_0x2107b4,resolvedAt:_0x4ffd47,resolvedBy:_0x40bc3a,context:_0x296afb,attributes:_0x443515})=>{const _0x4aa4a3=await this['_getService'](_0x3b20f3)['addCommentThread']({'commentThreadId':_0x2b4510,'comments':_0x2107b4['map'](_0x4fff47=>function(_0x514fd1,_0x51653d,_0x3a52dc){return{'commentThreadId':_0x3a52dc,'commentId':_0x514fd1['commentId'],'userId':_0x514fd1['authorId'],'content':_0x514fd1['content'],'documentId':_0x51653d,'createdAt':_0x514fd1['createdAt'],'attributes':_0x514fd1['attributes']||{}};}(_0x4fff47,_0x3b20f3,_0x2b4510)),'resolvedAt':_0x4ffd47,'resolvedBy':_0x40bc3a,'context':_0x296afb,'attributes':_0x443515})['catch'](ft);return{'threadId':_0x4aa4a3['commentThreadId'],'comments':_0x4aa4a3['comments']};},'getCommentThread':async({channelId:_0x532109,threadId:_0x296f41})=>{const _0x32ad8e=await this['_getService'](_0x532109)['getCommentThread'](_0x296f41)['catch'](Z)['catch'](ft);return _0x32ad8e?_0x32ad8e['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x32ad8e]),{'threadId':_0x32ad8e['commentThreadId'],'comments':_0x32ad8e['comments']['map'](et),'context':_0x32ad8e['context'],'resolvedAt':_0x32ad8e['resolvedAt'],'resolvedBy':_0x32ad8e['resolvedBy'],'attributes':_0x32ad8e['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x4fda0e,threadId:_0x3f06c7,context:_0x24dfbb,unlinkedAt:_0x56e27f,attributes:_0x56a81e})=>this['_getService'](_0x4fda0e)['updateCommentThread']({'commentThreadId':_0x3f06c7,'context':_0x24dfbb,'attributes':_0x56a81e,'unlinkedAt':_0x56e27f})['catch'](Z)['catch'](ft),'resolveCommentThread':async({channelId:_0x5a06b5,threadId:_0x24e6e7})=>{const _0x153725=await this['_getService'](_0x5a06b5)['resolveCommentThread'](_0x24e6e7)['catch'](Z)['catch'](ft);return{'threadId':_0x153725['commentThreadId'],'resolvedAt':_0x153725['resolvedAt'],'resolvedBy':_0x153725['resolvedBy']};},'reopenCommentThread':async({channelId:_0x475c6d,threadId:_0x1737e9})=>this['_getService'](_0x475c6d)['reopenCommentThread'](_0x1737e9)['catch'](Z)['catch'](ft),'removeCommentThread':({channelId:_0xd84304,threadId:_0x96c6d6})=>this['_getService'](_0xd84304)['removeCommentThread'](_0x96c6d6)['catch'](Z)['catch'](ft),'addComment':({channelId:_0x771c6f,threadId:_0x19b59d,commentId:_0x1c4e4f,content:_0x1255ec,attributes:_0x2c04ee})=>this['_getService'](_0x771c6f)['addComment'](_0x19b59d,_0x1c4e4f,_0x1255ec,_0x2c04ee)['catch'](ft),'updateComment':({channelId:_0x476c48,threadId:_0x1754dc,commentId:_0x34d465,content:_0x2f6568,attributes:_0x24f2ce})=>this['_getService'](_0x476c48)['updateComment'](_0x1754dc,_0x34d465,_0x2f6568,_0x24f2ce)['catch'](Z)['catch'](ft),'removeComment':({channelId:_0x382855,threadId:_0x512089,commentId:_0x1c4de9})=>this['_getService'](_0x382855)['removeComment'](_0x512089,_0x1c4de9)['catch'](Z)['catch'](ft)},_0xcd5b15 instanceof _0x1cf50a){const _0x27ca34=_0xcd5b15['config']['get']('collaboration.channelId'),_0x571763=_0xcd5b15['plugins']['get'](i);await this['_setUpService'](_0x27ca34);const _0x15b520=await this['_services']['get'](_0x27ca34)['getConnectedSessions']();this['listenTo'](_0x571763,'sessionAdd:'+_0x27ca34,(_0x247573,{session:_0x21fcc7})=>{_0x21fcc7['id']===_0x571763['mySessionId']&&(_0x247573['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x21fcc7['permissions'],_0x27ca34));}),_0x571763['register'](_0x27ca34,_0x15b520);}}async['_setUpService'](_0x1b73cf){if(this['_services']['has'](_0x1b73cf))throw new _0x4a77f2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1b73cf});const _0x2ca1e0=this['context']['plugins']['get']('CommentsRepository'),_0x3c1aae=new s['CommentsService'](_0x1b73cf);this['_services']['set'](_0x1b73cf,_0x3c1aae),this['listenTo'](_0x3c1aae,'commentThreadAdded',(_0x151e2a,_0x1c4f8a)=>{const {commentThreadId:_0x2f57e6,documentId:_0x3d3c6f,context:_0x5610e1,attributes:_0x24b090,resolvedAt:_0x7d84e8,resolvedBy:_0x3e2dac,comments:_0x510793}=_0x1c4f8a;_0x2ca1e0['getCommentThread'](_0x2f57e6)||_0x2ca1e0['addCommentThread']({'threadId':_0x2f57e6,'channelId':_0x3d3c6f,'comments':_0x510793?_0x510793['map'](et):[],'context':_0x5610e1,'attributes':_0x24b090,'resolvedAt':_0x7d84e8,'resolvedBy':_0x3e2dac,'isFromAdapter':!0x0});}),this['listenTo'](_0x3c1aae,'commentThreadUpdated',(_0x1e5949,{commentThreadId:_0x350bde,documentId:_0x28e2a4,context:_0x4ce138,unlinkedAt:_0x457c4a,attributes:_0x438659})=>{_0x2ca1e0['getCommentThread'](_0x350bde)&&_0x2ca1e0['updateCommentThread']({'threadId':_0x350bde,'channelId':_0x28e2a4,'context':_0x4ce138,'unlinkedAt':_0x457c4a,'attributes':_0x438659,'isFromAdapter':!0x0});}),this['listenTo'](_0x3c1aae,'commentThreadResolved',(_0x59fe81,{commentThreadId:_0x35e86d,resolvedBy:_0x5a537c,resolvedAt:_0x3d41af})=>{const _0x143540=_0x2ca1e0['getCommentThread'](_0x35e86d);_0x143540&&_0x143540['resolve']({'resolvedBy':_0x5a537c,'resolvedAt':_0x3d41af,'isFromAdapter':!0x0});}),this['listenTo'](_0x3c1aae,'commentThreadReopened',(_0x3e29a8,{commentThreadId:_0x55a609})=>{const _0xbf4b17=_0x2ca1e0['getCommentThread'](_0x55a609);_0xbf4b17&&_0xbf4b17['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3c1aae,'commentThreadRemoved',(_0x586021,{commentThreadId:_0x27d2})=>{const _0x229106=_0x2ca1e0['getCommentThread'](_0x27d2);_0x229106&&_0x229106['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3c1aae,'commentAdded',(_0xae3e4b,_0x292916)=>{const _0x3cbb53=_0x292916['commentThreadId'],_0x42c9fb=_0x2ca1e0['getCommentThread'](_0x3cbb53);_0x42c9fb&&_0x42c9fb['addComment']({...et(_0x292916),'isFromAdapter':!0x0});}),this['listenTo'](_0x3c1aae,'commentUpdated',(_0x4a81c1,{commentThreadId:_0x4dd0a4,commentId:_0x455012,content:_0x59ee79,attributes:_0x109ad7})=>{const _0x218a4f=_0x2ca1e0['getCommentThread'](_0x4dd0a4);if(_0x218a4f){const _0x1742eb=_0x218a4f['getComment'](_0x455012);_0x1742eb&&_0x1742eb['update']({'content':_0x59ee79,'attributes':_0x109ad7,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3c1aae,'commentRemoved',(_0x47a73b,{commentThreadId:_0x3b9ea4,commentId:_0x50dae7})=>{const _0x130cea=_0x2ca1e0['getCommentThread'](_0x3b9ea4);if(_0x130cea){const _0x5effce=_0x130cea['getComment'](_0x50dae7);_0x5effce&&_0x5effce['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1b73cf);}['destroy'](){if(this['context']instanceof _0x1cf50a){const _0x1384f1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1384f1);}}['_terminateService'](_0x2046df){if(!this['_services']['has'](_0x2046df))throw new _0x4a77f2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2046df});this['_getService'](_0x2046df)['disconnect'](),this['_services']['delete'](_0x2046df);}async['reconnect'](){for(const _0x5bb08c of this['_services']['keys']())await this['_connectService'](_0x5bb08c);if(this['context']instanceof _0x1cf50a){const _0x1726b3=this['context']['config']['get']('collaboration.channelId'),_0xe15663=this['context']['plugins']['get'](i);_0xe15663['unregister'](_0x1726b3);const _0x2841bf=await this['_services']['get'](_0x1726b3)['getConnectedSessions']();_0xe15663['register'](_0x1726b3,_0x2841bf);}}async['_connectService'](_0x3bc70f){const {connection:_0x5c1eae}=this['context']['plugins']['get'](n),_0x5b8b5c=this['context']['plugins']['get']('CommentsRepository'),_0x173025=this['_services']['get'](_0x3bc70f),_0x34ee7b=await _0x173025['connect'](_0x5c1eae);await this['_fetchMissingUsersForThreads'](_0x34ee7b);const _0x578dfa=new Set(Array['from'](_0x5b8b5c['getCommentThreads']({'channelId':_0x3bc70f}),_0x2296c8=>_0x2296c8['id']));for(const _0xc15052 of _0x34ee7b)_0xc15052['deletedAt']||_0x578dfa['delete'](_0xc15052['commentThreadId']);for(const _0x11950e of _0x578dfa)_0x5b8b5c['getCommentThread'](_0x11950e)['remove']({'isFromAdapter':!0x0});for(const _0x20bd5c of _0x34ee7b){let _0x4741e6=_0x5b8b5c['getCommentThread'](_0x20bd5c['commentThreadId']);const {commentThreadId:_0x6f364,context:_0x25bd39,attributes:_0x51cb3b,resolvedBy:_0x564e5d,resolvedAt:_0x3abfe9,unlinkedAt:_0x5708b3,deletedAt:_0x6c2b99}=_0x20bd5c;if(_0x6c2b99)continue;_0x4741e6||(_0x4741e6=_0x5b8b5c['addCommentThread']({'channelId':_0x3bc70f,'threadId':_0x6f364,'context':_0x25bd39,'attributes':_0x51cb3b||{},'resolvedBy':_0x564e5d,'resolvedAt':_0x3abfe9,'unlinkedAt':_0x5708b3,'isFromAdapter':!0x0}));const _0x784e35=new Set(Array['from'](_0x4741e6['comments'],_0xec15f7=>_0xec15f7['id']));for(const _0x41b5c9 of _0x20bd5c['comments'])_0x784e35['delete'](_0x41b5c9['commentId']);for(const _0x3d1e47 of _0x784e35)_0x4741e6['getComment'](_0x3d1e47)['remove']({'isFromAdapter':!0x0});for(const _0x40fd73 of _0x20bd5c['comments']){const _0x3c0f36=_0x4741e6['getComment'](_0x40fd73['commentId']);_0x3c0f36?_0x3c0f36['content']!==_0x40fd73['content']&&_0x3c0f36['update']({'content':_0x40fd73['content'],'isFromAdapter':!0x0}):_0x4741e6['addComment'](Object['assign'](et(_0x40fd73),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2a15ea){if(!this['_services']['has'](_0x2a15ea))throw new _0x4a77f2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2a15ea});return this['_services']['get'](_0x2a15ea);}async['_fetchMissingUsersForThreads'](_0x2e4ed6){const _0x58f8ca=this['context']['plugins']['get'](_0x3dcc22),{connection:_0x3cfcb8}=this['context']['plugins']['get'](n),_0x27aef3=new Set();for(const {resolvedBy:_0x181ae3,comments:_0x4d20d8}of _0x2e4ed6){_0x181ae3&&!_0x58f8ca['getUser'](_0x181ae3)&&_0x27aef3['add'](_0x181ae3);for(const {userId:_0x5a50a4}of _0x4d20d8)_0x58f8ca['getUser'](_0x5a50a4)||_0x27aef3['add'](_0x5a50a4);}if(0x0===_0x27aef3['size'])return;const _0x5a40d=await ut['getMany'](_0x3cfcb8,Array['from'](_0x27aef3));for(const _0x2a190e of _0x5a40d)_0x58f8ca['getUser'](_0x2a190e['id'])||_0x58f8ca['addUser'](_0x2a190e);}}async function Z(_0x9560c9){if('404'!==_0x9560c9['code'])throw _0x9560c9;}function ft(_0x542bd8){if((_0x2a9c95=_0x542bd8)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x2a9c95['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2a9c95['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x2a9c95;throw _0x542bd8;}function et(_0x4ef83b){return{'threadId':_0x4ef83b['commentThreadId'],'commentId':_0x4ef83b['commentId'],'content':_0x4ef83b['content'],'createdAt':_0x4ef83b['createdAt'],'authorId':_0x4ef83b['userId'],'attributes':_0x4ef83b['attributes']||{}};}class m extends _0x313121{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>rt)());['_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(_0x4538c3){super(_0x4538c3);const _0x59a0bd=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x59a0bd);}['init'](){const _0xc2a095=this['editor']['plugins']['get'](n),_0xcf1aef=this['editor']['plugins']['get']('TrackChangesEditing');return _0xcf1aef['adapter']={'getSuggestion':async _0xde45d4=>{await this['_waitForServiceReady']();const _0x1845c6=await this['_trackChangesService']['get'](_0xde45d4)['catch'](tt);return await this['_fetchMissingUsersForThreads']([_0x1845c6]),_0x1845c6;},'addSuggestion':async({id:_0x531709,type:_0x18db62,data:_0x1c0b70,originalSuggestionId:_0x289e0a,attributes:_0xe4f8b4})=>{await this['_waitForServiceReady']();const _0x499b2e={'id':_0x531709,'type':_0x18db62,'data':_0x1c0b70,'originalSuggestionId':_0x289e0a,'attributes':_0xe4f8b4},_0x21d80f=await this['_trackChangesService']['add'](_0x531709,_0x18db62,_0x1c0b70,_0x289e0a,_0xe4f8b4)['catch'](_0x5a6a31=>{if(mt(_0x5a6a31))return new Promise(_0x56e0f3=>{this['_bufferedRequests']['set'](_0x531709,{'resolve':_0x56e0f3,'suggestionData':_0x499b2e});});throw _0x5a6a31;});return this['_bufferedRequests']['delete'](_0x531709),_0x21d80f;},'updateSuggestion':async(_0x417fdc,_0xc59b68)=>{if(await this['_waitForServiceReady'](),'open'!==_0xc59b68['state'])return this['_trackChangesService']['update'](_0x417fdc,_0xc59b68)['catch'](tt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3cef46,_0x397876)=>{_0xcf1aef['hasSuggestion'](_0x397876['id'])&&(_0xcf1aef['getSuggestion'](_0x397876['id'])['attributes']=_0x397876['attributes']);}),this['_trackChangesService']['connect'](_0xc2a095['connection'])['then'](_0x5572e4=>(_0xc2a095['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5572e4)['then'](()=>{for(const _0x1a76c7 of _0x5572e4){_0xcf1aef['addSuggestionData'](_0x1a76c7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4333bc=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x59e499}=this['editor']['plugins']['get'](n),_0x50a54b=await this['_trackChangesService']['connect'](_0x59e499);await this['_fetchMissingUsersForThreads'](_0x50a54b);for(const {suggestionData:_0xcb778c,resolve:_0x4a19d7}of this['_bufferedRequests']['values']()){let _0xee5372=_0x50a54b['find'](_0x5b795b=>_0x5b795b['id']===_0xcb778c['id']);_0xee5372||(_0xee5372=await this['_trackChangesService']['add'](_0xcb778c['id'],_0xcb778c['type'],_0xcb778c['data'],_0xcb778c['originalSuggestionId'])),_0x4a19d7(_0xee5372);}for(const _0x331cda of _0x50a54b)_0x4333bc['hasSuggestion'](_0x331cda['id'])||_0x4333bc['addSuggestionData'](_0x331cda);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x54d09e=>{this['listenTo'](this['_trackChangesService'],'connected',_0x592133=>{_0x592133['off'](),_0x54d09e();});});}async['_fetchMissingUsersForThreads'](_0x2d85b1){const _0x11e1d5=this['editor']['plugins']['get'](_0x3dcc22),{connection:_0xdc6eb6}=this['editor']['plugins']['get'](n),_0x3c6df3=new Set();for(const {authorId:_0x295e57}of _0x2d85b1)_0x11e1d5['getUser'](_0x295e57)||_0x3c6df3['add'](_0x295e57);if(0x0===_0x3c6df3['size'])return;const _0x5048cf=await ut['getMany'](_0xdc6eb6,Array['from'](_0x3c6df3));for(const _0x14b014 of _0x5048cf)_0x11e1d5['getUser'](_0x14b014['id'])||_0x11e1d5['addUser'](_0x14b014);}}function tt(_0x1c6fc9){if(mt(_0x1c6fc9))return new Promise(()=>{});throw _0x1c6fc9;}function mt(_0x3b54fa){return _0x3b54fa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3b54fa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x313121{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 _0x5d6d40=this['editor']['plugins']['get'](n),_0x2709bc=this['editor']['plugins']['get']('CommentsEditing'),_0x5a9816=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5d6d40,'change:state',(_0x259ead,_0x5e6beb,_0x4e87b6)=>{_0x2709bc['isThreadsLoadingPaused']='connected'!==_0x4e87b6;});}),this['listenTo'](_0x5d6d40,'change:state',(_0x1c1e97,_0x3a1537,_0x17dd8f)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x17dd8f);}),_0x5a9816['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x313121{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 _0x313121{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x3dcc22];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x53f00b){super(_0x53f00b);const _0x5bdbc7=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5bdbc7);}async['init'](){const _0x3ce31e=this['editor']['plugins']['get'](l),_0x1e2b2c=_0x3ce31e['serverHistory'],_0x1b09d3=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1e2b2c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x3ce31e['sessionId']});const _0x4cbfc9=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x2152f3=await it['isBundleUploaded'](_0x1b09d3['connection'],_0x4cbfc9);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x473bd5})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x473bd5)),'updateRevisions':async _0x3a2407=>{await this['_waitForServiceReady']();const _0x5530af=this['_revisionTracker']['currentRevision'];if(_0x2152f3&&0x1===_0x3a2407['length']&&_0x3a2407[0x0]['id']===_0x5530af['id'])return _0x3a2407;for(const _0x5a5cea of _0x3a2407)_0x5a5cea['id']===_0x5530af['id']&&(_0x5a5cea['isEmptyCurrent']=_0x5a5cea['fromVersion']===_0x5a5cea['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3a2407,this['_lastRequestId'])['then'](_0x46093b=>(this['_lastRequestId']=_0x46093b,_0x3a2407))['catch'](_0x16d6ed=>{if(ot(_0x16d6ed)||'400'===_0x16d6ed['code']&&void 0x0!==_0x16d6ed['data']['wrongRequestId']){for(const _0x40c780 of _0x3a2407){!this['_revisionTracker']['repository']['getRevision'](_0x40c780['id'])||this['_revisionTracker']['_bufferUpdate'](_0x40c780['id'],_0x40c780,!0x1);}if(ot(_0x16d6ed))throw _0x16d6ed;return _0x3a2407;}throw _0x16d6ed;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x249eb0,{revisionsData:_0x1cd6ad,requestId:_0x5ea929})=>{Math['max'](..._0x1cd6ad['map'](_0x1659ec=>_0x1659ec['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1cd6ad,_0x5ea929);}):this['_handleRevisionsUpdate'](_0x1cd6ad,_0x5ea929);});const {revisions:_0x4000c9,requestId:_0x1a3291}=await this['_revisionHistoryService']['connect'](_0x1b09d3['connection']);_0x1b09d3['addToReconnectionStack'](this),this['_lastRequestId']=_0x1a3291,await this['_fetchMissingUsers'](_0x4000c9);for(const _0x31652e of _0x4000c9)this['_revisionTracker']['addRevisionData'](_0x31652e);this['listenTo'](_0x3ce31e,'change:_isConnected',(_0x3b4ca0,_0x2f344c,_0x2ccec0)=>{_0x2ccec0&&(this['_oldOffset']=_0x3ce31e['_offset'],_0x3b4ca0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1b09d3,'state',_0x11f95a=>_0x11f95a===_0x1ab9f7['CONNECTED']);}async['reconnect'](){const _0x46b095=this['editor']['plugins']['get'](n),_0x20847a=this['editor']['plugins']['get'](l),_0x21d93f=async()=>{const _0x395356=this['_revisionTracker']['currentRevision'],_0x3a33b6=_0x395356['id'],_0x543a64=_0x3a33b6!==_0x20847a['sessionId'];if(_0x543a64){const _0x5fb65e=_0x20847a['_offset']-this['_oldOffset'],_0x37c9e0=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x395356['toVersion']+_0x5fb65e!==_0x37c9e0){const _0x57203d=_0x395356['fromVersion']+_0x5fb65e,_0x151094=this['editor']['plugins']['get'](_0x3dcc22),_0x38903a=this['_revisionTracker']['buildRevisionData']({'revision':_0x395356,'from':_0x57203d,'to':_0x37c9e0});_0x38903a['id']=_0x395356['id'];const _0x1a7128=_0x38903a['authorsIds']['map'](_0x1e5f4c=>_0x151094['getUser'](_0x1e5f4c));_0x395356['_update']({..._0x38903a,'authors':_0x1a7128},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x395356['id'],_0x38903a,!0x0);}this['_revisionTracker']['_startingVersion']=_0x37c9e0,(_0x395356['toVersion']===_0x395356['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3a33b6)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3a33b6),this['_revisionTracker']['_createCurrentRevision'](_0x37c9e0));}const {revisions:_0x403b7f,requestId:_0x3cc34e}=await this['_revisionHistoryService']['reconnect'](_0x46b095['connection'],this['_lastRequestId']);_0x543a64&&_0x403b7f['length']>0x0?_0x20847a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x403b7f),this['_handleRevisionsUpdate'](_0x403b7f,_0x3cc34e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x20847a['_isConnected']?_0x21d93f():new Promise((_0x7288c,_0x211e74)=>{_0x20847a['once']('change:_isConnected',()=>{_0x21d93f()['then'](_0x7288c)['catch'](_0x211e74);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x37103f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5dc198=>{_0x5dc198['off'](),_0x37103f();});});}['_getLatestVersionFromServerOperations'](){const _0x58f3f0=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4ce21b of _0x58f3f0)if('marker'!==_0x4ce21b['type']||_0x4ce21b['affectsData'])return _0x4ce21b['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4e8da9=this['editor']['plugins']['get'](l);return new Promise(_0x20a40c=>{_0x4e8da9['_isPendingUpdate']?_0x4e8da9['once']('change:_isPendingUpdate',()=>{_0x20a40c(this['_getLatestVersionFromServerOperations']());}):_0x20a40c(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x30577b,_0x2618d6){const _0x29b649=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2618d6;for(const _0x4d4d03 of _0x30577b){const _0x5262da=_0x29b649['getRevision'](_0x4d4d03['id']);if(_0x5262da){if((_0x4d4d03['fromVersion']||_0x4d4d03['toVersion'])&&(_0x4d4d03['diffData']=null),_0x5262da===this['_revisionTracker']['currentRevision']){const _0x2410e0=Math['max'](_0x5262da['toVersion'],_0x4d4d03['toVersion']),_0x29157c=Math['max'](_0x5262da['fromVersion'],_0x4d4d03['fromVersion']);let _0x123bbd;_0x5262da['toVersion']===_0x4d4d03['toVersion']&&_0x5262da['fromVersion']===_0x4d4d03['fromVersion']?(_0x123bbd=!0x0,this['_preventResendingRevisionData'](_0x4d4d03)):_0x4d4d03['toVersion']===_0x2410e0&&_0x4d4d03['fromVersion']===_0x29157c?_0x123bbd=!0x1:(_0x5262da['toVersion']===_0x2410e0&&_0x5262da['fromVersion']===_0x29157c||this['_fixRevision']({'revision':_0x5262da,'from':_0x29157c,'to':_0x2410e0}),_0x123bbd=!0x0),_0x123bbd&&(delete _0x4d4d03['fromVersion'],delete _0x4d4d03['toVersion'],delete _0x4d4d03['diffData'],delete _0x4d4d03['createdAt'],delete _0x4d4d03['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4d4d03),this['_preventResendingRevisionData'](_0x4d4d03);}else this['_revisionTracker']['addRevisionData'](_0x4d4d03);}const _0x4ea978=_0x29b649['getRevisions']();_0x4ea978['reverse']();for(let _0x347fef=0x0;_0x347fef<_0x4ea978['length']-0x1;_0x347fef++){const _0x91f994=_0x4ea978[_0x347fef],_0x4043fa=_0x4ea978[_0x347fef+0x1];if(_0x91f994['fromVersion']<_0x4043fa['toVersion']){const _0x2dc06b=_0x4043fa['toVersion'],_0x1b0c22=Math['max'](_0x2dc06b,_0x91f994['toVersion']);this['_fixRevision']({'revision':_0x91f994,'from':_0x2dc06b,'to':_0x1b0c22});}}}['_fixRevision']({revision:_0x529499,from:_0x4b6a23,to:_0x1de198}={}){const _0x4110d1=this['editor']['plugins']['get'](_0x3dcc22),_0x22f2ee=this['_revisionTracker']['buildRevisionData']({'revision':_0x529499,'from':_0x4b6a23,'to':_0x1de198});_0x22f2ee['authors']=_0x22f2ee['authorsIds']['map'](_0x468eef=>_0x4110d1['getUser'](_0x468eef)),_0x529499['_update'](_0x22f2ee);}['_preventResendingRevisionData'](_0x3d8112){const _0x5ee517={};_0x5ee517['id']=_0x3d8112['id'];for(const _0x38a77d of Object['keys'](_0x3d8112))'id'!==_0x38a77d&&(_0x5ee517[_0x38a77d]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5ee517['id'],_0x5ee517,!0x0);}async['_fetchMissingUsers'](_0x450155){const _0x59e3e4=this['editor']['plugins']['get'](_0x3dcc22),{connection:_0x379554}=this['editor']['plugins']['get'](n),_0x3cdb35=new Set();for(const _0x5f58d7 of _0x450155){for(const _0x2b194c of _0x5f58d7['authorsIds'])_0x97117e(_0x2b194c);_0x5f58d7['creatorId']&&_0x97117e(_0x5f58d7['creatorId']);}if(0x0===_0x3cdb35['size'])return;const _0x4f1dd1=await ut['getMany'](_0x379554,Array['from'](_0x3cdb35));for(const _0x23e382 of _0x4f1dd1)_0x59e3e4['getUser'](_0x23e382['id'])||_0x59e3e4['addUser'](_0x23e382);function _0x97117e(_0x2e6c4a){_0x59e3e4['getUser'](_0x2e6c4a)||_0x3cdb35['add'](_0x2e6c4a);}}}function ot(_0x55aad5){return _0x55aad5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x55aad5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x55aad5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x313121{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 _0x3e7251{['_collapseAt'];constructor(_0x20aa5f,_0x40eb6b=0x6){super(_0x20aa5f);const _0x3e7927=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x40eb6b,this['bind']('isHidden')['to'](this,'usersCount',_0x485c64=>_0x485c64<_0x40eb6b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x3e7927['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':_0x3e7927['to']('usersCount',_0x27122e=>'+'+(_0x27122e-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3e7251{['items'];['keystrokes'];constructor(_0x571cef){super(_0x571cef);const _0x4ea54c=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x55a280(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4ea54c['if']('hasPopup'),'aria-expanded':_0x4ea54c['to']('isExpanded',_0x121136=>this['hasPopup']&&String(_0x121136)),'aria-label':_0x4ea54c['to']('hasPopup',_0x34cf56=>E(_0x571cef,_0x34cf56?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4ea54c['to']('hasPopup',_0x521774=>!!_0x521774&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4ea54c['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4ea54c['to'](_0x46e5c7=>{const _0x3f6fec=_0x46e5c7,_0x3a7556=document['querySelector']('.ck-presence-list__dropdown-list'),_0x193a5f=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3a7556?.['contains'](_0x3f6fec['relatedTarget'])||_0x193a5f?.['contains'](_0x3f6fec['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x23d6d8,_0x377eab,_0x4709b3)=>{this['element']&&(_0x4709b3?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 _0x3e7251{['counterView'];['inlineListView'];constructor(_0x527ccc,_0x121c5c=0x6){super(_0x527ccc);const _0x530b62=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x121c5c),this['inlineListView']=new is(_0x527ccc),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d7c98 of this['inlineListView']['items'])_0x3d7c98['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',_0x530b62['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x3e7251{['listWrapperView'];constructor(_0x288120,_0x3d7782){super(_0x288120);const _0x671938=this['bindTemplate'];this['listWrapperView']=new wt(_0x288120,_0x3d7782),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':E(_0x288120,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x671938['to'](_0x567dc4=>{const _0x8f2f2e=_0x567dc4,_0x8b111a=document['querySelector']('.ck-presence-list__list'),_0x48b99d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x8b111a?.['contains'](_0x8f2f2e['relatedTarget'])||_0x48b99d?.['contains'](_0x8f2f2e['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x518b1a{constructor(_0x47703b,_0x1ffc55){super(_0x47703b);const _0x5d3bc3=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1ffc55?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5d3bc3['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5d3bc3['to']('role'),'aria-label':_0x5d3bc3['to']('ariaLabel'),'aria-labelledby':_0x5d3bc3['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x45f9c6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x58dff0=this['element'];_0x58dff0&&(this['_isScrollable']=Math['max'](_0x58dff0['scrollHeight'],_0x58dff0['clientHeight'])>0.8*window['innerHeight']);}}class j extends ct{['userView'];constructor(_0x45ab4b,_0x2308a4,_0x20264d){super(_0x45ab4b);const _0x5ad500=this['bindTemplate'];this['userView']=new at(_0x45ab4b,_0x2308a4);const _0x1cb00a={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2308a4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2308a4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2308a4['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x20264d&&(_0x1cb00a['tag']='button',_0x1cb00a['on']={'click':_0x5ad500['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1cb00a);}['focus'](){this['element']['focus']();}}class A extends _0x3e7251{['userView'];['markerView'];constructor(_0x22eb89,_0x3c954a,_0x39924c){super(_0x22eb89);const _0x4656e6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0x22eb89,_0x3c954a),this['markerView']=new nt(_0x22eb89,_0x3c954a);const _0x2914f4=new lt(_0x22eb89);_0x2914f4['template']['tag']='span',_0x2914f4['text']=_0x3c954a['name'];const _0x4b6cbc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4656e6['to']('isFocusable',_0x34ee6d=>!!_0x34ee6d&&0x0),'aria-labelledby':_0x2914f4['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4656e6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4656e6['to']('hasTooltip',_0x5a74b5=>!_0x5a74b5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2914f4]};_0x39924c&&(_0x4b6cbc['tag']='button',_0x4b6cbc['on']={'click':_0x4656e6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4b6cbc);}}class nt extends _0x3e7251{constructor(_0x971c79,_0x56ecaf){super(_0x971c79),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x56ecaf['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x36fc4f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1d891d){super(_0x1d891d),this['context']['config']['define']('presenceList',x);const _0x125f0c=_0x1d891d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x125f0c)throw new _0x4a77f2('presencelist-collapseat-invalid-format',this);if(_0x125f0c<0x1)throw new _0x4a77f2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x295416(),this['balloonPanelView']=new _0x5aecea(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2187ed of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2187ed);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2f38d2,_0x4febca)=>{this['_handleUserAdd'](_0x4febca);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x43a02d,_0x41d62f)=>{this['_handleUserRemove'](_0x41d62f);});}['_createView'](){const _0x2a48e5=this['context'],_0x5a805d=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4408d3=this['balloonPanelView'];if(!_0x45724a(_0x2a48e5['config']['get']('presenceList.container')))throw new _0x4a77f2('presencelist-missing-container',this);return _0x5a805d['counterView']['bind']('usersCount')['to'](this),_0x5a805d['bind']('isCollapsed')['to'](this,'usersCount',_0xc55102=>{const {collapseAt:_0x3f83ad}=_0x2a48e5['config']['get']('presenceList'),_0xe96959=_0xc55102>=_0x3f83ad;if(_0xe96959&&!_0x5a805d['inlineListView']['items']['find'](_0x23421f=>_0x23421f instanceof b)){const _0x165f4b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x165f4b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5a805d['inlineListView']['items']['add'](_0x5a805d['counterView']);}return _0xe96959||this['hideDropdown'](),_0xe96959;}),_0x5a805d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x51c32b=>{const _0xc839b6=_0x2a48e5['config']['get']('presenceList'),_0x20a20f=new A(_0x2a48e5['locale'],_0x51c32b,!!_0xc839b6['onClick']);return _0x20a20f['bind']('hasTooltip')['to'](_0x5a805d,'isCollapsed',_0x518e24=>!_0x518e24),_0x20a20f['bind']('isFocusable')['to'](_0x5a805d,'isCollapsed',_0x5aa4c1=>!_0x5aa4c1),_0xc839b6['onClick']&&this['listenTo'](_0x20a20f,'execute',()=>{this['view']['isCollapsed']||_0xc839b6['onClick'](_0x51c32b,_0x20a20f['element']);}),_0x20a20f;}),this['listenTo'](_0x5a805d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5a805d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5a805d['inlineListView']['keystrokes']['set']('Enter',(_0x4764ad,_0x2d7072)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x2d7072());}),_0x5a805d['render'](),_0x4408d3['render'](),_0x365113({'emitter':_0x5a805d,'activator':()=>_0x4408d3['isVisible'],'contextElements':[_0x4408d3['element'],_0x5a805d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2a48e5['config']['get']('presenceList.container')['appendChild'](_0x5a805d['element']),this['_bodyCollection']=new _0x1cf4dd(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5a805d;}['_handleUserAdd'](_0x282e08){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x282e08['isMe'])return;const _0x2bea85=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2bea85-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x6b5419=_0x282e08['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x282e08,_0x6b5419);}['_handleUserRemove'](_0xc79e0){this['usersCount']--;const {collapseAt:_0x3cd6c6}=this['context']['config']['get']('presenceList'),_0x32bef8=this['usersCount']>=_0x3cd6c6;if(this['currentDisplayedUsers']['get'](_0xc79e0['id']))this['currentDisplayedUsers']['remove'](_0xc79e0['id']);else{if(_0x32bef8&&this['currentDisplayedUsers']['length']+0x1===_0x3cd6c6-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x32bef8?0x1:0x0)<this['usersCount']){for(const _0x922d80 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x922d80['id'])&&(this['currentDisplayedUsers']['add'](_0x922d80,Math['min'](this['currentDisplayedUsers']['length']-(_0x32bef8?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x32bef8?0x1:0x0)===_0x3cd6c6-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1b791f=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1b791f['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3b2924}=this['presenceDropdownView'];_0x3b2924['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3b6a9b=>{if(!_0x1b791f['displayMe']&&_0x3b6a9b['isMe'])return null;const _0x4fef64=new j(this['context']['locale'],_0x3b6a9b,!!_0x1b791f['onClick']);return _0x1b791f['onClick']&&this['listenTo'](_0x4fef64,'execute',()=>{_0x1b791f['onClick'](_0x3b6a9b,_0x4fef64['element']);}),_0x4fef64;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3b2924['focus'](),_0x3b2924['checkIfScrollable']();const _0x3ed964=(_0x3fb887,_0x2db374)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x2db374();};_0x3b2924['keystrokes']['set']('Esc',_0x3ed964),_0x3b2924['keystrokes']['set']('Shift+Tab',_0x3ed964),_0x3b2924['keystrokes']['set']('Tab',(_0x5bc8c5,_0x428463)=>{!function(_0x565203){const _0x78b37=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3023b2=>_0x3023b2+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x18070c=[...document['body']['querySelectorAll'](_0x78b37)]['filter'](_0x4dc460=>_0x4dc460===document['activeElement']||_0x4dc460['offsetWidth']+_0x4dc460['offsetHeight']>0x0)['sort']((_0xc48a47,_0x38af7f)=>(_0xc48a47['tabIndex']||0x0)-(_0x38af7f['tabIndex']||0x0)),_0x3b4146=_0x18070c['indexOf'](_0x565203),_0x3e2822=_0x18070c[(_0x3b4146+0x1)%_0x18070c['length']];_0x3e2822&&_0x3e2822['focus']();}(this['view']['element']),this['hideDropdown'](),_0x428463();}),_0x3b2924['focusTracker']['add'](this['view']['element']),_0x3b2924['focusTracker']['on']('change:isFocused',(_0x27e367,_0x2d9332,_0x3fa99e)=>{_0x3fa99e||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 vt extends _0x36fc4f{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,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};