@ckeditor/ckeditor5-real-time-collaboration 45.0.0-alpha.10 → 45.0.0-alpha.11

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 _0x22bdaa,Plugin as _0x237a29,PendingActions as _0x534c5b,Context as _0x18dbca}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1d6afb,CKEditorError as _0x2d6cb4,Collection as _0xfe6551,global as _0x353d69,version as ht,uid as _0x40943c,KeystrokeHandler as _0x2ada26}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5f507d,View as _0x1476c9,ListView as _0x3cda06,ListItemView as lt,LabelView as pt,BalloonPanelView as _0xe2e1ce,clickOutsideHandler as _0x49e510,BodyCollection as _0x3bfa1d}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ft,History as _0x328214,NoOperation as _0x2434ca,InsertOperation as _0x4418a3,MarkerOperation as _0x386d9a,RootAttributeOperation as _0x2b8ca6,transformSets as _0x16fa44,OperationFactory as _0x2fca78}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as mt,WEB_SOCKET_GATEWAY_STATES as _0x43f41c,CollaborativeEditingService as _0x522f68,User as gt,CommentsService as _0x40f4ab,TrackChangesService as at,RevisionHistoryService as nt,EditorService as ot}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x427080,UserView as ut}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5865e0}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x357b99}from'es-toolkit/compat';class c extends _0x22bdaa{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>mt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5f507d];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x189b78){super(_0x189b78),this['set']('state',_0x43f41c['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x1d6afb);}['init'](){const _0x572041=this['context'],_0x507cd2=_0x572041['plugins']['get']('CloudServices'),_0x373910=_0x572041['plugins']['get'](_0x5f507d);if(!_0x507cd2['token'])throw new _0x2d6cb4('websocketgateway-missing-token',this);if(!_0x507cd2['webSocketUrl'])throw new _0x2d6cb4('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),c['WebSocketGateway']['connect'](_0x507cd2['token'],_0x507cd2['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x6d758b=>{if(this['connection']=_0x6d758b,this['bind']('state')['to'](_0x6d758b,'state',this,'_isBrowserOffline',(_0x4cf2a5,_0x3c3b0b)=>('connected'!==_0x4cf2a5&&(this['_shouldPluginsReconnect']=!0x0),_0x3c3b0b||_0x4cf2a5!==_0x43f41c['CONNECTED']?_0x43f41c['DISCONNECTED']:this['state']==_0x43f41c['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x43f41c['CONNECTING']):_0x43f41c['CONNECTED'])),this['connection']['on']('error',(_0x5927bc,_0x4e8a99)=>{if('limitExceeded'!==_0x4e8a99['code'])throw console['error'](_0x4e8a99),new _0x2d6cb4('cloudservices-init',null,{'originalError':_0x4e8a99});_0x373910['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'});}),!_0x6d758b['me'])return new Promise(_0x1f543d=>_0x6d758b['on']('change:me',_0x1f543d));})['catch'](_0x1d7de1=>{throw console['error'](_0x1d7de1),new _0x2d6cb4('cloudservices-init',null,{'originalError':_0x1d7de1});});}['addToReconnectionStack'](_0x5df133){if('function'!=typeof _0x5df133['reconnect'])throw new _0x2d6cb4('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x5df133))throw new _0x2d6cb4('websocketgateway-plugin-already-registered',this,{'name':_0x5df133['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x5df133);}['removeFromReconnectionStack'](_0x2df4c1){this['_reconnectionStack']['delete'](_0x2df4c1);}['isInReconnectionStack'](_0x45fd51){return this['_reconnectionStack']['has'](_0x45fd51);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2aab96=>_0x2aab96['reconnect']())))['then'](()=>this['state']=_0x43f41c['CONNECTED'])['catch'](_0x207d75=>{throw console['error'](_0x207d75),new _0x2d6cb4('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x43f41c['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x22bdaa{['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[c,_0x427080];}constructor(_0xadf208){super(_0xadf208),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xfe6551(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x427080);}['init'](){const _0x1eedad=this['context']['plugins']['get'](c);this['listenTo'](_0x1eedad,'change:state',(_0x19603b,_0xbf599f,_0x451b95)=>{if('connected'!==_0x451b95)this['channelSessions']['forEach'](_0x461c0b=>_0x461c0b['clear']()),this['channelConnectedUsers']['forEach'](_0x3a79f5=>_0x3a79f5['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3145a0,_0x4aed17]of this['_registeredSessions'])for(const _0x4a6cac of _0x4aed17)this['_handleSessionAdd'](_0x3145a0,_0x4a6cac);}}),this['_createUser'](_0x1eedad['connection']['me'],!0x0);}['register'](_0x221876,_0x102f81){if(this['_registeredSessions']['has'](_0x221876))throw new _0x2d6cb4('sessions-register-already-registered',null,{'channelId':_0x221876});this['_registeredSessions']['set'](_0x221876,_0x102f81),this['channelSessions']['set'](_0x221876,new _0xfe6551()),this['channelConnectedUsers']['set'](_0x221876,new _0xfe6551()),this['listenTo'](_0x102f81,'add',(_0x210434,_0x1456a5)=>this['_handleSessionAdd'](_0x221876,_0x1456a5)),this['listenTo'](_0x102f81,'remove',(_0x3acf31,_0x44dcfe)=>this['_handleSessionRemove'](_0x221876,_0x44dcfe));for(const _0x1afb11 of _0x102f81)this['_handleSessionAdd'](_0x221876,_0x1afb11);}['unregister'](_0x10ef25){if(!this['_registeredSessions']['has'](_0x10ef25))throw new _0x2d6cb4('sessions-unregister-not-exist',null,{'channelId':_0x10ef25});const _0x589fb3=this['_registeredSessions']['get'](_0x10ef25);this['stopListening'](_0x589fb3);for(const _0x336e66 of _0x589fb3)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x10ef25,_0x336e66);this['_registeredSessions']['delete'](_0x10ef25),this['channelSessions']['delete'](_0x10ef25),this['channelConnectedUsers']['delete'](_0x10ef25);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0xc13ea9){for(const _0x4804d7 of this['channelSessions']['values']())for(const _0x59c243 of _0x4804d7)if(_0x59c243['id']===_0xc13ea9)return _0x59c243['user'];}['getUserSessions'](_0x297099,_0x338a0e){const _0x2b79f7=_0x338a0e?[this['channelSessions']['get'](_0x338a0e)]:this['channelSessions']['values'](),_0x556906=new Set();for(const _0x4ad0d4 of _0x2b79f7)for(const _0x5c0aa9 of _0x4ad0d4)_0x5c0aa9['user']['id']===_0x297099['id']&&_0x556906['add'](_0x5c0aa9['id']);return _0x556906;}['getUserRole'](_0x20476f){for(const _0x357755 of this['channelSessions']['values']())for(const _0x47cb8e of _0x357755)if(_0x47cb8e['user']===_0x20476f)return _0x47cb8e['role'];}['_handleSessionAdd'](_0x249662,_0x4d7dae){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x59a272=_0x4d7dae['user'],_0x298594=this['_users']['getUser'](_0x59a272['id'])||this['_createUser'](_0x59a272),_0x2a82ad=Object['assign']({},_0x4d7dae,{'user':_0x298594});this['channelSessions']['get'](_0x249662)['add'](_0x2a82ad);const _0x5ecaef=this['channelConnectedUsers']['get'](_0x249662);_0x5ecaef['has'](_0x298594['id'])||_0x5ecaef['add'](_0x298594),this['allConnectedUsers']['has'](_0x298594['id'])||this['allConnectedUsers']['add'](_0x298594,_0x298594['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x249662,{'channelId':_0x249662,'session':_0x2a82ad});}['_handleSessionRemove'](_0x19a2b5,_0xa4eaf){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x37c596=this['channelConnectedUsers']['get'](_0x19a2b5),_0x2eea61=_0xa4eaf['user'];_0x2eea61['id']&&(this['channelSessions']['get'](_0x19a2b5)['remove'](_0xa4eaf['id']),_0x37c596['has'](_0x2eea61['id'])&&!this['getUserSessions'](_0x2eea61,_0x19a2b5)['size']&&_0x37c596['remove'](_0x2eea61['id']),this['allConnectedUsers']['get'](_0x2eea61['id'])&&!this['getUserSessions'](_0x2eea61)['size']&&this['allConnectedUsers']['remove'](_0x2eea61['id']));}['_createUser'](_0x663cd3,_0x5d7df0){const _0x82affd=this['_users']['addUser'](_0x663cd3);return _0x5d7df0&&this['_users']['defineMe'](_0x663cd3['id']),_0x82affd['orderNumber']=this['_uniqueUsersCount']++,_0x82affd;}}class E extends _0x237a29{['_domEmitter']=new(_0x1d6afb())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x554242=this['editor'],_0x44b55a=_0x554242['plugins']['get'](i);_0x554242['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x43de13,{writer:_0x17e8b1})=>function(_0x97199f,_0x331ad3,_0x1c8fe9,_0x3e7d3a){const _0x233b5b=_0x97199f['markerName']['split'](':')[0x2],_0x1dba7f=_0x1c8fe9['getUserBySessionId'](_0x233b5b);if(!_0x1dba7f||_0x233b5b===_0x1c8fe9['mySessionId'])return;if(!_0x3e7d3a['model']['schema']['checkChild'](_0x97199f['markerRange']['start'],'$text'))return;const _0x569d79={'class':'ck-user__marker\x20'+_0x1dba7f['color']['getMarkerClass'](),'data-name':_0x1dba7f['name'],'data-session-id':_0x233b5b},_0x37b642=_0x3e7d3a['model']['markers']['get'](_0x97199f['markerName']),_0x2e756c=_0x37b642['getStart'](),_0x39ac89=_0x2e756c['nodeAfter'],_0x1182f8=_0x3e7d3a['model']['schema'];if(_0x39ac89&&_0x1182f8['isObject'](_0x39ac89)&&_0x1182f8['isInline'](_0x39ac89)&&!_0x3e7d3a['model']['markers']['get']('user:range:'+_0x233b5b)['getRange']()['isCollapsed'])return;const _0x4bc2d9=_0x2e756c['parent'];return _0x3e7d3a['model']['schema']['isLimit'](_0x4bc2d9)&&!_0x3e7d3a['model']['hasContent'](_0x4bc2d9)&&(_0x569d79['contenteditable']=!0x1),function(_0x3db347,_0x47036b,_0x3b207e){const _0x2fcd62=_0x3db347['createUIElement']('span',_0x47036b);return _0x3db347['setCustomProperty']('userPositionMarker',!0x0,_0x2fcd62),_0x2fcd62['render']=function(_0x24cc9b){const _0x4e0e5a=this['toDomElement'](_0x24cc9b),_0x53f136=document['createElement']('span');return _0x53f136['classList']['add']('ck-user__marker-tooltip'),_0x53f136['setAttribute']('contenteditable','false'),_0x53f136['setAttribute']('spellcheck','false'),_0x53f136['textContent']=_0x3b207e['name'],_0x4e0e5a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x53f136['outerHTML']+'⁠',_0x4e0e5a['addEventListener']('mouseenter',()=>{_0x4e0e5a['classList']['add']('ck-user__marker_hovered');}),_0x4e0e5a['addEventListener']('mouseleave',()=>{_0x4e0e5a['classList']['remove']('ck-user__marker_hovered');}),_0x4e0e5a;},_0x2fcd62['isSimilar']=function(_0x412fa0){return!(!this['getCustomProperty']('userPositionMarker')||!_0x412fa0['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x412fa0['getAttribute']('data-session-id'));},_0x2fcd62;}(_0x331ad3,_0x569d79,_0x1dba7f);}(_0x43de13,_0x17e8b1,_0x44b55a,_0x554242)}),_0x554242['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x98e040=>function(_0x4753da,_0x59785b){const _0x2f17e1=_0x4753da['markerName']['split'](':')[0x2];if(_0x2f17e1===_0x59785b['mySessionId'])return null;const _0x256f2a=_0x59785b['getUserBySessionId'](_0x2f17e1);if(!_0x256f2a)return{'id':_0x2f17e1,'classes':[]};return{'id':_0x2f17e1,'classes':['ck-user__selection',_0x256f2a['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x2f17e1},'priority':0x7d0+_0x256f2a['orderNumber']};}(_0x98e040,_0x44b55a)}),function(_0x4a8257){const _0x48087d=_0x4a8257['model'],_0x24b136=new Map(),_0x5508f4=_0x4a8257['plugins']['get'](i);_0x48087d['markers']['on']('update:user:range',(_0x362c49,_0x3d8e60,_0x52b5e4,_0x10ad2d)=>{if(!_0x10ad2d&&_0x24b136['get'](_0x3d8e60['name']))return _0x24b136['get'](_0x3d8e60['name'])['detach'](),void _0x24b136['delete'](_0x3d8e60['name']);const _0x570ab5=_0x3d8e60['name']['split'](':')[0x2];if(_0x570ab5===_0x5508f4['mySessionId'])return;const _0x4b7251='user:position:'+_0x570ab5;_0x48087d['markers']['has'](_0x4b7251)&&_0x4a8257['editing']['reconvertMarker'](_0x4b7251),_0x3d8e60['on']('change:range',(_0x59cc77,_0xb7d6ac,_0x49cfe9)=>{if('$graveyard'!=_0xb7d6ac['root']['rootName']&&'$graveyard'==_0x3d8e60['getRange']()['root']['rootName']&&!_0x24b136['has'](_0x3d8e60['name'])){const _0x1d1351=_0x48087d['schema']['getNearestSelectionRange'](_0x49cfe9['deletionPosition']);if(_0x1d1351){const _0x1ae27b=ft['fromRange'](_0x1d1351);_0x24b136['set'](_0x3d8e60['name'],_0x1ae27b),_0x1ae27b['on']('change:range',(_0x5619a2,_0xf7824,_0x12dcf3)=>{if('$graveyard'==_0x1ae27b['root']['rootName']){const _0x46596c=_0x48087d['schema']['getNearestSelectionRange'](_0x12dcf3['deletionPosition']);_0x46596c?(_0x1ae27b['start']=_0x46596c['start'],_0x1ae27b['end']=_0x46596c['end']):(_0x24b136['delete'](_0x3d8e60['name']),_0x1ae27b['detach']());}});}}});}),_0x48087d['document']['on']('change',()=>{_0x24b136['size']>0x0&&_0x48087d['enqueueChange']({'isUndoable':!0x1},_0x42d447=>{for(const [_0x56e6ec,_0x50fd47]of _0x24b136)'$graveyard'==_0x48087d['markers']['get'](_0x56e6ec)['getRange']()['root']['rootName']&&(G(_0x56e6ec['split'](':')[0x2],_0x50fd47['toRange'](),_0x48087d,_0x42d447),_0x50fd47['detach']());_0x24b136['clear']();});});}(_0x554242),this['_domEmitter']['listenTo'](_0x353d69['document'],'keydown',(_0x4f65f9,{key:_0x33a00d})=>{'Escape'===_0x33a00d&&function(_0x449740){_0x449740['editing']['view']['change'](_0x164b34=>{for(const _0x3d54a4 of _0x449740['model']['markers']){if(!_0x3d54a4['name']['startsWith']('user:position'))continue;const _0x3aecd7=_0x449740['editing']['mapper']['markerNameToElements'](_0x3d54a4['name']);if(_0x3aecd7){for(const _0x3b15bd of _0x3aecd7)_0x164b34['removeClass']('ck-user__marker_hovered',_0x3b15bd);}}});}(_0x554242);},{'useCapture':!0x0});}['afterInit'](){const _0x49f86d=this['editor'],_0x434b5f=_0x49f86d['commands']['get']('undo');_0x434b5f&&_0x49f86d['model']['on']('applyOperation',(_0x153129,_0xee5f19)=>{const _0x33e077=_0xee5f19[0x0];if(!_0x33e077['isDocumentOperation'])return;if('marker'!=_0x33e077['type']||!_0x33e077['name']['startsWith']('user:'))return;const _0x220951=_0x33e077['batch'];_0x434b5f['_createdBatches']['has'](_0x220951)&&(_0x33e077['newRange']=_0x33e077['oldRange']?_0x49f86d['model']['createRange'](_0x33e077['oldRange']['start'],_0x33e077['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x28f03a=this['editor'],_0x3679e4=_0x28f03a['model']['document'],_0x402307=_0x28f03a['plugins']['get'](i);_0x28f03a['model']['enqueueChange']({'isUndoable':!0x1},_0x3a3b89=>{const _0x16593b='user:range:'+_0x402307['mySessionId'],_0x703928='user:position:'+_0x402307['mySessionId'],_0x2d92df=_0x28f03a['model']['markers']['has'](_0x16593b);_0x28f03a['editing']['view']['hasDomSelection']?G(_0x402307['mySessionId'],_0x3679e4['selection']['getFirstRange'](),_0x28f03a['model'],_0x3a3b89):_0x2d92df&&(_0x3a3b89['removeMarker'](_0x16593b),_0x3a3b89['removeMarker'](_0x703928));});}}function G(_0x5e02b6,_0x2c9022,_0x489b7b,_0x5c4a85){const _0x35d61c='user:range:'+_0x5e02b6,_0x29d018='user:position:'+_0x5e02b6,_0x332994=_0x2c9022['getContainedElement']();let _0x2efac8=_0x2c9022['start'];_0x332994&&_0x332994['is']('element','tableCell')&&(_0x2efac8=function(_0x59cac4,_0x30ac0c){for(const _0x31982d of _0x59cac4['getPositions']())if(_0x30ac0c['schema']['checkChild'](_0x31982d,'$text'))return _0x31982d;}(_0x2c9022,_0x489b7b),_0x2c9022=_0x5c4a85['createRange'](_0x2efac8));const _0x20d42f=_0x5c4a85['createRange'](_0x2efac8);_0x489b7b['markers']['has'](_0x35d61c)?(_0x5c4a85['updateMarker'](_0x35d61c,{'range':_0x2c9022}),_0x5c4a85['updateMarker'](_0x29d018,{'range':_0x20d42f})):(_0x5c4a85['addMarker'](_0x35d61c,{'range':_0x2c9022,'usingOperation':!0x0}),_0x5c4a85['addMarker'](_0x29d018,{'range':_0x20d42f,'usingOperation':!0x0}));}function N(_0x502b67,_0x113260,_0x1edbb1){const _0x5c32d8=_0x502b67['t'],t=_0x502b67['t'];switch(_0x113260){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 _0x5c32d8({'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'},_0x1edbb1);default:return'';}}let M=0x1;class l extends _0x237a29{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x522f68)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,E,_0x534c5b,_0x427080,_0x5f507d];}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 _0x26a7d0=this['serverHistory']['getOperations']();for(let _0x4780b2=_0x26a7d0['length']-0x1;_0x4780b2>=0x0;_0x4780b2--){const _0x13e431=_0x26a7d0[_0x4780b2];if(!this['_disconnectionOperations']['has'](_0x13e431))return _0x13e431['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3b0e78){if(super(_0x3b0e78),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x328214(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2d6cb4('collaboration-missing-channelid',this);const _0x539d57=_0x3b0e78['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x539d57,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5865e0(),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 V(this['_disconnectionOperations']);}['init'](){const _0x581519=this['editor'],_0x2f77e6=_0x581519['plugins']['get'](_0x427080),_0x5d0f1f=_0x581519['plugins']['get'](c);this['listenTo'](_0x2f77e6,'getOperationAuthor',(_0x464e2c,_0x189023)=>{const _0xd7243d=_0x189023[0x0];_0xd7243d['_authorId']&&(_0x464e2c['return']=_0x2f77e6['getUser'](_0xd7243d['_authorId']),_0x464e2c['stop']()),null===_0xd7243d['_authorId']&&(_0x464e2c['return']=null,_0x464e2c['stop']());},{'priority':'high'}),this['listenTo'](_0x581519['model']['document']['selection'],'change:range',(_0x2eb805,_0x5efe73)=>{_0x5efe73['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x581519['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x581519['model']['on']('applyOperation',(_0x273e11,_0x5ea552)=>{const _0x1aa053=_0x5ea552[0x0];_0x1aa053['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1aa053),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5d0f1f,'state',this,'_hasSynchronizationProblem',(_0x4d7086,_0xf523e9)=>'connected'===_0x4d7086&&!_0xf523e9),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x581519['disableReadOnlyMode']('rtc-offline'):_0x581519['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x581519['disableReadOnlyMode']('rtc-offline'):_0x581519['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x15a733=this['editor']['plugins']['get'](i),_0x36fa95=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x15a733['unregister'](this['_channelId']);const _0x2c8c0a=await this['_service']['reconnect'](_0x36fa95['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x2c8c0a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1517d0=await this['_service']['getConnectedSessions']();_0x15a733['register'](this['_channelId'],_0x1517d0),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x310876){if(function(_0x860875){return'404'===_0x860875['code'];}(_0x310876)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x53bc66){return'409'===_0x53bc66['code'];}(_0x310876)){const _0x3b820c=N(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'](_0x3b820c);}else{if(!(_0x310876 instanceof z))throw _0x310876;this['_handleReconnectionError']();}}}}['destroy'](){const _0x26f2e1=this['editor']['plugins']['get'](c),_0x4c68e1=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x4c68e1['channelSessions']['has'](this['_channelId'])&&_0x4c68e1['unregister'](this['_channelId']),_0x26f2e1['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5b1b2b){if(this['sessionId']!==_0x5b1b2b['sessionId']&&this['_lastSyncedOperationId']!==_0x5b1b2b['lastOperationId'])throw new z();return this['sessionId']=_0x5b1b2b['sessionId'],this['_handleServerResponse']([],{..._0x5b1b2b,'wereChangesApplied':!0x1,'data':_0x5b1b2b['data']},'reconnect');}async['_connectService'](_0x4dd6d5,_0x4281df=!0x1){const {connection:_0x2b5048}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x2b5048,this['_channelId'])['then'](_0x419fca=>this['_initSessionsHandling'](_0x419fca))['catch'](_0x4189db=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4189db);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x20cdba,_0x14a84c)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x14a84c);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x23e178=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4dd6d5);this['_isPendingUpdate']=!0x0;const _0x29db7a=await this['_service']['connect'](_0x2b5048,this['_compressOperations'](_0x4dd6d5),_0x23e178);if(this['sessionId']=_0x29db7a['sessionId'],_0x4281df){if(!_0x29db7a['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x29db7a['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4dd6d5,_0x29db7a,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x29db7a,_0x4dd6d5);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5e620c=this['editor']['plugins']['get'](i),_0x598911=this['editor']['plugins']['get'](E),_0xcebf8a=_0x5e620c['channelSessions']['get'](this['_channelId']);_0xcebf8a&&_0xcebf8a['length']>0x1?_0x598911['createUserMarkerOperations']():this['listenTo'](_0x5e620c,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5e620c['channelSessions']['get'](this['_channelId'])['length']&&_0x598911['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2e85c0,_0x414c25,_0x45d3e2,_0x1c0154){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x414c25){const _0x117286=this['_decompressOperations'](_0x45d3e2,_0x1c0154);await this['_fetchMissingUsers'](_0x117286),this['_handleExternalOperations'](_0x117286,_0x414c25,_0x45d3e2['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x49aee1}=this['editor'];let _0x54cc52;try{_0x54cc52=await this['_service']['getDocumentDetails']();}catch(_0x4ba50f){const _0x313ceb=N(_0x49aee1,'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'](_0x313ceb);}const _0x5b75c6=_0x54cc52['currentDocumentSession']||_0x54cc52['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x5b75c6['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x5efce9=N(_0x49aee1,'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.');this['_handleReconnectionError'](_0x5efce9);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x46ad15){const _0x4f97b2=this['editor']['plugins']['get'](i);this['listenTo'](_0x4f97b2,'sessionAdd:'+this['_channelId'],(_0x321e67,{session:_0x3fb7bf})=>{if(_0x3fb7bf['id']===_0x4f97b2['mySessionId']){_0x321e67['off']();const _0x3b82fd=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x314194=_0x3fb7bf['permissions'];_0x3b82fd&&_0x3b82fd['isEnabled']&&(_0x314194=_0x314194['filter'](_0x2fbff4=>'document:write'!==_0x2fbff4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x314194,this['_channelId']);}}),_0x4f97b2['register'](this['_channelId'],_0x46ad15);}['_initThrowingOnDataSet'](){const _0x3be317=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x26195c)=>{if(!_0x26195c[_0x26195c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2d6cb4('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3be317['apply'](this['editor']['data'],_0x26195c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x13447c,[_0x5ab573])=>{if(this['_document']['version'])throw new _0x2d6cb4('realtimecollaborationclient-init-document-already-initialized',this);_0x13447c['stop'](),this['_setPendingAction']();const _0xa36832=this['editor']['config']['get']('rootsAttributes'),_0x56c0f0=this['_getOperationsFromInitData'](_0x5ab573,_0xa36832);0x0==_0x56c0f0['length']&&_0x56c0f0['push'](new _0x2434ca(0x0)),_0x13447c['return']=this['_connectService'](_0x56c0f0)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x4a4472=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x4a4472))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3c32f6,[_0x13fd4a,_0x21b493])=>{_0x3c32f6['stop']();const _0x5a38ae=this['editor']['model']['document']['getRoot'](_0x13fd4a);if(!this['_knownRootNames']['has'](_0x13fd4a)){const _0x41d726=_0x21b493&&_0x21b493['data']?_0x21b493['data']:'',_0x1c13c4=_0x21b493&&_0x21b493['attributes']?_0x21b493['attributes']:{};await this['_loadRoot'](_0x13fd4a,_0x41d726,_0x1c13c4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5a38ae['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5a38ae);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x13078f){const _0x3e7efc=this['editor']['plugins']['get'](_0x427080),{connection:_0x877093}=this['editor']['plugins']['get'](c),_0x4e2cf2=new Set();for(const _0x23c50c of _0x13078f){const _0x53ceb5=_0x23c50c['_authorId'];_0x53ceb5&&!_0x3e7efc['getUser'](_0x53ceb5)&&_0x4e2cf2['add'](_0x53ceb5);}if(0x0===_0x4e2cf2['size'])return;const _0x400d02=await gt['getMany'](_0x877093,Array['from'](_0x4e2cf2));for(const _0x7d50c7 of _0x400d02)_0x3e7efc['getUser'](_0x7d50c7['id'])||_0x3e7efc['addUser'](_0x7d50c7);}['_getOperationsFromInitData'](_0x5332fc,_0x59932f={}){const _0x5b14e0=this['editor']['model'],_0x2e7936=[];let _0x54c7fb=0x0;const _0x4cb8e6='string'==typeof _0x5332fc?{'main':_0x5332fc}:_0x5332fc;for(const _0x5bc477 of Object['keys'](_0x4cb8e6)){if(!this['_document']['roots']['has'](_0x5bc477))throw new _0x2d6cb4('realtimecollaborationclient-init-non-existent-root',this);const _0xaa8016=this['editor']['data']['parse'](_0x4cb8e6[_0x5bc477]),_0x59c052=this['_document']['getRoot'](_0x5bc477),_0x56d87d=new _0x4418a3(_0x5b14e0['createPositionAt'](_0x59c052,0x0),_0xaa8016,_0x54c7fb++);_0x2e7936['push'](_0x56d87d);for(const [_0x5c62a1,_0x402f76]of _0xaa8016['markers']){const _0x46f64c=_0x5b14e0['createRange'](_0x5b14e0['createPositionFromPath'](_0x59c052,_0x402f76['start']['path']['slice']()),_0x5b14e0['createPositionFromPath'](_0x59c052,_0x402f76['end']['path']['slice']())),_0xca919f=new _0x386d9a(_0x5c62a1,null,_0x46f64c,_0x5b14e0['markers'],!0x0,_0x54c7fb++);_0x2e7936['push'](_0xca919f);}}if(_0x59932f)for(const [_0x15098c,_0x15b592]of Object['entries'](_0x59932f)){const _0x8e694a=_0x5b14e0['document']['getRoot'](_0x15098c);if(!_0x8e694a)throw new _0x2d6cb4('multi-root-editor-root-attributes-no-root',null);for(const [_0x22e6de,_0x283c74]of Object['entries'](_0x15b592))if(null!==_0x283c74){const _0xb3bb40=new _0x2b8ca6(_0x8e694a,_0x22e6de,null,_0x283c74,_0x54c7fb++);_0x2e7936['push'](_0xb3bb40);}}return _0x2e7936;}async['_loadRoot'](_0x37fa97,_0x1b3a6f,_0x3113a9){this['_getOperationsFromInitData']({[_0x37fa97]:_0x1b3a6f},{[_0x37fa97]:_0x3113a9})['forEach']((_0x4a0569,_0x45981f)=>{_0x4a0569['baseVersion']=this['_document']['version']+_0x45981f,_0x4a0569['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4a0569);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x193510,_0x1ce1c1){let _0x251e60;this['_offset']=_0x193510['offset'];const _0x47207b=_0x193510['wereChangesApplied']&&!_0x193510['initData'],_0x16a5c0=_0x47207b?0x0:_0x193510['data']['baseVersion'];if(_0x1ce1c1['forEach'](_0x129704=>{_0x129704['_isInit']=!0x0,_0x129704['createdAt']=_0x193510['sessionCreatedAt'],_0x129704['_authorId']=null;}),_0x47207b)_0x251e60=_0x1ce1c1,this['_applyOperationsSet'](_0x251e60,_0x47207b);else{if(_0x193510['initData']){const _0xbac674=this['_getOperationsFromInitData'](_0x193510['initData']);this['_document']['history']['version']=-_0xbac674['length'],_0xbac674['forEach'](_0x5c8e45=>{_0x5c8e45['baseVersion']-=_0xbac674['length'],_0x5c8e45['createdAt']=_0x193510['sessionCreatedAt'],_0x5c8e45['_isInit']=!0x0,_0x5c8e45['_authorId']=null;}),this['_applyOperationsSet'](_0xbac674,!0x0),this['serverHistory']['version']=-_0xbac674['length']+this['_offset'],this['_updateServerHistory'](_0xbac674);}this['_document']['history']['version']=_0x16a5c0,_0x251e60=this['_decompressOperations'](_0x193510['data'],_0x193510['metadata']),await this['_fetchMissingUsers'](_0x251e60),this['_applyOperationsSet'](_0x251e60,_0x47207b);}_0x193510['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x251e60,_0x193510['lastOperationId']),this['_lastSyncedOperationId']=_0x193510['lastOperationId']),this['serverHistory']['version']=_0x16a5c0+this['_offset'],this['_updateServerHistory'](_0x251e60),_0x1ce1c1['filter'](_0x156f5c=>{const _0x227d87=this['_getAffectedRoot'](_0x156f5c);return _0x227d87&&!this['_knownRootNames']['has'](_0x227d87);})['forEach']((_0x3331e0,_0x5508e0)=>{_0x3331e0['baseVersion']=this['_document']['version']+_0x5508e0,this['_saveOperationInBuffer'](_0x3331e0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5909eb,_0x3b53ce){const _0x2797ef=_0x3b53ce&&_0x3b53ce['message'];if(_0x2797ef&&_0x2797ef['startsWith']('realtimecollaborationclient'))throw _0x3b53ce;const _0xffe949=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0xffe949['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2d6cb4(_0x5909eb,this['editor'],_0x2797ef?{'originalError':_0x2797ef}:void 0x0);}['_saveOperationInBuffer'](_0x5882fc){this['_knownOperations']['has'](_0x5882fc)||(this['_knownOperations']['add'](_0x5882fc),this['_bufferedOperations']['push'](_0x5882fc),this['_pendingAction']||'marker'==_0x5882fc['type']&&!_0x5882fc['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2cd68a=!0x1){!_0x2cd68a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x4d4ca9=>{_0x4d4ca9&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x22b8c3=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x38c760){return _0x38c760['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x38c760['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x38c760['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x22b8c3)||this['_crash'](_0x22b8c3['message'],_0x22b8c3);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2f1099=>{this['on']('change:_isPendingUpdate',()=>{_0x2f1099();});});}async['_sendBufferedOperations'](){const _0x27c288=this['editor']['plugins']['get'](E);if(this['_shouldSendSelectionUpdate']()&&(_0x27c288['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x32a7d0=[...this['_bufferedOperations']];for(const _0x3e4350 of _0x32a7d0)_0x3e4350['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3e4350);const _0x2c08ca=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x32a7d0),_0x11fa4e=M++,_0x5c1efb=this['_compressOperations'](_0x32a7d0),_0x23e804=await this['_service']['sendOperations'](_0x5c1efb,_0x5c1efb['baseVersion'],_0x2c08ca);try{return await this['_handleServerResponse'](_0x32a7d0,_0x23e804,_0x11fa4e);}catch(_0x376076){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x376076);}}async['_handleServerResponse'](_0x4b8271,_0xbc6fcf,_0xd4c4ab){if('error'in _0xbc6fcf)throw _0xbc6fcf['error'];let _0x28668f=!0x1;if(_0xbc6fcf['wereChangesApplied']){_0xbc6fcf['lastOperationId']&&(this['_lastSyncedOperationId']=_0xbc6fcf['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x130ab3=>!_0x4b8271['includes'](_0x130ab3));for(const _0x1b9341 of _0x4b8271)_0x1b9341['createdAt']='lastOperationAcceptedAt'in _0xbc6fcf&&_0xbc6fcf['lastOperationAcceptedAt']||void 0x0;H(_0x4b8271,_0xbc6fcf['version']-_0x4b8271['length']),this['_updateServerHistory'](_0x4b8271);const _0x12cbb4=_0x4b8271['filter'](_0x2052bb=>{if(!_0x2052bb['_isInit'])return!0x1;const _0x6590d1=this['_getAffectedRoot'](_0x2052bb);return _0x6590d1&&!this['_knownRootNames']['has'](_0x6590d1);});H(_0x12cbb4,this['_document']['version']),this['_applyOperationsSet'](_0x12cbb4),_0x28668f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x49143f=this['_decompressOperations'](_0xbc6fcf['data'],_0xbc6fcf['metadata'])['filter'](_0x2d0497=>_0x2d0497['baseVersion']>=this['_lastServerVersion']);_0x49143f['forEach'](_0x3d9429=>this['_addKnownRoot'](_0x3d9429)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x575987=>!_0x575987['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x575987))),this['_bufferedOperations']['length']&&H(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x49143f),_0x28668f=this['_handleExternalOperations'](_0x49143f,_0xbc6fcf['version'],_0xbc6fcf['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x28668f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x296bb9,_0x59414e,_0x5dbfad){try{const _0x5de1c5={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x1647cf,operationsB:_0x26db04,originalOperations:_0x6ad961}=_0x16fa44(_0x296bb9,this['_bufferedOperations'],_0x5de1c5);H(_0x1647cf,this['_document']['version']),H(_0x26db04,_0x59414e);for(const _0x3903b8 of _0x1647cf){const _0x4161cd=_0x6ad961['get'](_0x3903b8);_0x3903b8['_authorId']=_0x4161cd?_0x4161cd['_authorId']:null;}_0x5dbfad&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x296bb9,_0x5dbfad),this['_lastSyncedOperationId']=_0x5dbfad),this['_bufferedOperations']=[..._0x26db04],this['_applyOperationsSet'](_0x1647cf),this['_updateServerHistory'](_0x296bb9);}catch(_0x32638b){return console['error'](_0x32638b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x568a02,_0x41be34=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x567f42=>{for(const _0x19826a of _0x568a02)this['_knownOperations']['add'](_0x19826a),this['_addKnownRoot'](_0x19826a),_0x567f42['batch']['addOperation'](_0x19826a),this['editor']['model']['applyOperation'](_0x19826a);});}['_addKnownRoot'](_0x3f0e81){const _0x12069f=this['_getAffectedRoot'](_0x3f0e81);_0x12069f&&this['_knownRootNames']['add'](_0x12069f);}['_getAffectedRoot'](_0x243222){let _0x59df0e,_0x183b8d;switch(_0x243222['type']){case'insert':_0x59df0e=_0x243222['position']['root'];break;case'marker':if(_0x183b8d=_0x243222['newRange'],!_0x183b8d)return null;_0x59df0e=_0x183b8d['root'];break;case'addRootAttribute':_0x59df0e=_0x243222['root'];break;case'addRoot':_0x59df0e=_0x243222['affectedSelectable'];break;case'move':_0x59df0e=_0x243222['targetPosition']['root'];break;default:return null;}return _0x59df0e['rootName'];}['_updateServerHistory'](_0x5ad9d6){_0x5ad9d6['forEach'](_0x3f324f=>{const _0x1397b6=_0x3f324f['clone']();_0x1397b6['_authorId']=_0x3f324f['_authorId'],_0x1397b6['_isInit']=!!_0x3f324f['_isInit'],_0x1397b6['createdAt']=_0x3f324f['createdAt'],_0x1397b6['baseVersion']+=this['_offset'],_0x3f324f['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1397b6),this['serverHistory']['addOperation'](_0x1397b6);});}['_handleReconnectionError'](_0x151a5e){const _0x3919b0=this['editor']['plugins']['get']('Notification'),_0x2387dc=this['editor']['locale'];_0x151a5e||(_0x151a5e=N(_0x2387dc,'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.')),_0x3919b0['showWarning'](_0x151a5e,{'title':N(_0x2387dc,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x534c5b)['add'](N(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x534c5b)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x287dd1){const _0x38a50f=_0x287dd1['map'](_0x51d44a=>_0x51d44a['toJSON']());return this['_compressor']['compress'](_0x38a50f);}['_decompressOperations'](_0x1abd94,_0x2cf6cb){return this['_compressor']['decompress'](_0x1abd94)['map']((_0x206847,_0x1a0970)=>{const _0x1be715='init'==_0x2cf6cb[_0x1a0970]['type'];if('InsertOperation'==_0x206847['__className']){const _0x490a63=_0x206847['position']['root'];!this['_document']['getRoot'](_0x490a63)&&(this['_document']['createRoot']('$root',_0x490a63)['_isAttached']=!0x1);}const _0x13f8ab=_0x2fca78['fromJSON'](_0x206847,this['_document']);return _0x13f8ab['wasUndone']=_0x206847['wasUndone'],_0x13f8ab['_isInit']=_0x1be715,_0x13f8ab['_authorId']=_0x1be715?null:_0x2cf6cb[_0x1a0970]['userId'],_0x13f8ab['_isDisconnection']='cs:removeUser'===_0x2cf6cb[_0x1a0970]['type'],_0x13f8ab['createdAt']=_0x2cf6cb[_0x1a0970]['createdAt'],_0x13f8ab;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x246a40=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x246a40&&_0x246a40['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function H(_0x4faa5b,_0x2b2ab3){for(const _0x14c6e9 of _0x4faa5b)_0x14c6e9['baseVersion']=_0x2b2ab3++;}class V{['_ignoredOperations'];['_operationToId'];constructor(_0x2e76e1){this['_ignoredOperations']=_0x2e76e1,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x11ac2e){let _0x46c8b9=_0x11ac2e['length'];for(;_0x46c8b9--;){const _0x2ddc83=_0x11ac2e[_0x46c8b9];if(!this['_ignoredOperations']['has'](_0x2ddc83)){if(!this['_operationToId']['has'](_0x2ddc83)){const _0x5547b5=_0x40943c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2ddc83,_0x5547b5);}return this['_operationToId']['get'](_0x2ddc83);}}}['setIdForTheLastOperation'](_0x43a080,_0x4a4ae0){if(!_0x4a4ae0)return;let _0x3e0f9b=_0x43a080['length'];for(;_0x3e0f9b--;){const _0x382469=_0x43a080[_0x3e0f9b];this['_ignoredOperations']['has'](_0x382469)||this['_operationToId']['set'](_0x382469,_0x4a4ae0);}}}class n extends _0x237a29{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x22bdaa{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x40f4ab)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x427080];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5186d3){super(_0x5186d3),this['_services']=new Map();}async['init'](){const _0x11faf4=this['context'],_0x56ef27=_0x11faf4['plugins']['get']('CommentsRepository');if(_0x11faf4['plugins']['get'](c)['addToReconnectionStack'](this),_0x56ef27['adapter']={'addCommentThread':async({channelId:_0x190392,threadId:_0xbd89d5,comments:_0x2be962,resolvedAt:_0x1055aa,resolvedBy:_0x57703b,context:_0x29e3e9,attributes:_0x37a86c})=>{const _0x4d63a5=await this['_getService'](_0x190392)['addCommentThread']({'commentThreadId':_0xbd89d5,'comments':_0x2be962['map'](_0x14bbcb=>function(_0x12ac85,_0x498ed5,_0x4310ab){return{'commentThreadId':_0x4310ab,'commentId':_0x12ac85['commentId'],'userId':_0x12ac85['authorId'],'content':_0x12ac85['content'],'documentId':_0x498ed5,'createdAt':_0x12ac85['createdAt'],'attributes':_0x12ac85['attributes']||{}};}(_0x14bbcb,_0x190392,_0xbd89d5)),'resolvedAt':_0x1055aa,'resolvedBy':_0x57703b,'context':_0x29e3e9,'attributes':_0x37a86c})['catch'](wt);return{'threadId':_0x4d63a5['commentThreadId'],'comments':_0x4d63a5['comments']};},'getCommentThread':async({channelId:_0x48bdd7,threadId:_0xf526c5})=>{const _0x376f3b=await this['_getService'](_0x48bdd7)['getCommentThread'](_0xf526c5)['catch'](wt);return _0x376f3b['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x376f3b]),{'threadId':_0x376f3b['commentThreadId'],'comments':_0x376f3b['comments']['map'](b),'context':_0x376f3b['context'],'resolvedAt':_0x376f3b['resolvedAt'],'resolvedBy':_0x376f3b['resolvedBy'],'attributes':_0x376f3b['attributes']||{}});},'updateCommentThread':async({channelId:_0x505eed,threadId:_0x305f0f,context:_0x2a2a13,unlinkedAt:_0x4c8436,attributes:_0x5799a6})=>this['_getService'](_0x505eed)['updateCommentThread']({'commentThreadId':_0x305f0f,'context':_0x2a2a13,'attributes':_0x5799a6,'unlinkedAt':_0x4c8436})['catch'](y)['catch'](wt),'resolveCommentThread':async({channelId:_0x76cdc4,threadId:_0x303878})=>{const _0x2c8012=await this['_getService'](_0x76cdc4)['resolveCommentThread'](_0x303878)['catch'](y)['catch'](wt);return{'threadId':_0x2c8012['commentThreadId'],'resolvedAt':_0x2c8012['resolvedAt'],'resolvedBy':_0x2c8012['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1a703d,threadId:_0x4cf113})=>this['_getService'](_0x1a703d)['reopenCommentThread'](_0x4cf113)['catch'](y)['catch'](wt),'removeCommentThread':({channelId:_0x5acd62,threadId:_0x4c9951})=>this['_getService'](_0x5acd62)['removeCommentThread'](_0x4c9951)['catch'](y)['catch'](wt),'addComment':({channelId:_0x30224d,threadId:_0x4c6b87,commentId:_0x3e1ad7,content:_0x5d6515,attributes:_0x2d86c5})=>this['_getService'](_0x30224d)['addComment'](_0x4c6b87,_0x3e1ad7,_0x5d6515,_0x2d86c5)['catch'](wt),'updateComment':({channelId:_0x286012,threadId:_0x59cbf8,commentId:_0xdc4b92,content:_0x152fe9,attributes:_0x5e5715})=>this['_getService'](_0x286012)['updateComment'](_0x59cbf8,_0xdc4b92,_0x152fe9,_0x5e5715)['catch'](y)['catch'](wt),'removeComment':({channelId:_0x33ab4a,threadId:_0x4d066f,commentId:_0x229fa2})=>this['_getService'](_0x33ab4a)['removeComment'](_0x4d066f,_0x229fa2)['catch'](y)['catch'](wt)},_0x11faf4 instanceof _0x18dbca){const _0x2033fb=_0x11faf4['config']['get']('collaboration.channelId'),_0x56d866=_0x11faf4['plugins']['get'](i);await this['_setUpService'](_0x2033fb);const _0x3b90af=await this['_services']['get'](_0x2033fb)['getConnectedSessions']();this['listenTo'](_0x56d866,'sessionAdd:'+_0x2033fb,(_0x2ef5e2,{session:_0x341eff})=>{_0x341eff['id']===_0x56d866['mySessionId']&&(_0x2ef5e2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x341eff['permissions'],_0x2033fb));}),_0x56d866['register'](_0x2033fb,_0x3b90af);}}async['_setUpService'](_0xf94a36){if(this['_services']['has'](_0xf94a36))throw new _0x2d6cb4('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xf94a36});const _0x243f5c=this['context']['plugins']['get']('CommentsRepository'),_0x1398a4=new a['CommentsService'](_0xf94a36);this['_services']['set'](_0xf94a36,_0x1398a4),this['listenTo'](_0x1398a4,'commentThreadAdded',(_0x2bba45,_0x467dc3)=>{const {commentThreadId:_0xf29368,documentId:_0x149e1b,context:_0x3a9d10,attributes:_0x5f4c99,resolvedAt:_0x4f61a1,resolvedBy:_0x129b1c,comments:_0x1f5387}=_0x467dc3;_0x243f5c['getCommentThread'](_0xf29368)||_0x243f5c['addCommentThread']({'threadId':_0xf29368,'channelId':_0x149e1b,'comments':_0x1f5387?_0x1f5387['map'](b):[],'context':_0x3a9d10,'attributes':_0x5f4c99,'resolvedAt':_0x4f61a1,'resolvedBy':_0x129b1c,'isFromAdapter':!0x0});}),this['listenTo'](_0x1398a4,'commentThreadUpdated',(_0x886261,{commentThreadId:_0x2fda1a,documentId:_0x27161d,context:_0x51fd7f,unlinkedAt:_0x3939c2,attributes:_0x34937e})=>{_0x243f5c['getCommentThread'](_0x2fda1a)&&_0x243f5c['updateCommentThread']({'threadId':_0x2fda1a,'channelId':_0x27161d,'context':_0x51fd7f,'unlinkedAt':_0x3939c2,'attributes':_0x34937e,'isFromAdapter':!0x0});}),this['listenTo'](_0x1398a4,'commentThreadResolved',(_0x4e0c54,{commentThreadId:_0x32c8b1,resolvedBy:_0xd5d45d,resolvedAt:_0x9e28af})=>{const _0x23d8e5=_0x243f5c['getCommentThread'](_0x32c8b1);_0x23d8e5&&_0x23d8e5['resolve']({'resolvedBy':_0xd5d45d,'resolvedAt':_0x9e28af,'isFromAdapter':!0x0});}),this['listenTo'](_0x1398a4,'commentThreadReopened',(_0x1ca43d,{commentThreadId:_0x12fc94})=>{const _0xab4fbc=_0x243f5c['getCommentThread'](_0x12fc94);_0xab4fbc&&_0xab4fbc['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1398a4,'commentThreadRemoved',(_0x1bf61d,{commentThreadId:_0x5bf3c6})=>{const _0xf1549a=_0x243f5c['getCommentThread'](_0x5bf3c6);_0xf1549a&&_0xf1549a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1398a4,'commentAdded',(_0x262d60,_0x3a8f55)=>{const _0x2ce81f=_0x3a8f55['commentThreadId'],_0x310a5d=_0x243f5c['getCommentThread'](_0x2ce81f);_0x310a5d&&_0x310a5d['addComment']({...b(_0x3a8f55),'isFromAdapter':!0x0});}),this['listenTo'](_0x1398a4,'commentUpdated',(_0x89ade6,{commentThreadId:_0x160add,commentId:_0x2263b2,content:_0x4554a6,attributes:_0xfc2e9})=>{const _0x619605=_0x243f5c['getCommentThread'](_0x160add);if(_0x619605){const _0x4c1710=_0x619605['getComment'](_0x2263b2);_0x4c1710&&_0x4c1710['update']({'content':_0x4554a6,'attributes':_0xfc2e9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1398a4,'commentRemoved',(_0xa1eb49,{commentThreadId:_0x19452c,commentId:_0x322a73})=>{const _0x15f4e0=_0x243f5c['getCommentThread'](_0x19452c);if(_0x15f4e0){const _0x59fe87=_0x15f4e0['getComment'](_0x322a73);_0x59fe87&&_0x59fe87['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xf94a36);}['destroy'](){if(this['context']instanceof _0x18dbca){const _0x919c21=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x919c21);}}['_terminateService'](_0x2f1002){if(!this['_services']['has'](_0x2f1002))throw new _0x2d6cb4('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2f1002});this['_getService'](_0x2f1002)['disconnect'](),this['_services']['delete'](_0x2f1002);}async['reconnect'](){for(const _0x1c0530 of this['_services']['keys']())await this['_connectService'](_0x1c0530);if(this['context']instanceof _0x18dbca){const _0x56da5f=this['context']['config']['get']('collaboration.channelId'),_0x49da99=this['context']['plugins']['get'](i);_0x49da99['unregister'](_0x56da5f);const _0x52e6b7=await this['_services']['get'](_0x56da5f)['getConnectedSessions']();_0x49da99['register'](_0x56da5f,_0x52e6b7);}}async['_connectService'](_0x439544){const {connection:_0x4e0419}=this['context']['plugins']['get'](c),_0xbbf94c=this['context']['plugins']['get']('CommentsRepository'),_0x1401b6=this['_services']['get'](_0x439544),_0x997bbf=await _0x1401b6['connect'](_0x4e0419);await this['_fetchMissingUsersForThreads'](_0x997bbf);const _0x55e6de=new Set(Array['from'](_0xbbf94c['getCommentThreads']({'channelId':_0x439544}),_0x370656=>_0x370656['id']));for(const _0x4bc603 of _0x997bbf)_0x4bc603['deletedAt']||_0x55e6de['delete'](_0x4bc603['commentThreadId']);for(const _0x27d593 of _0x55e6de)_0xbbf94c['getCommentThread'](_0x27d593)['remove']({'isFromAdapter':!0x0});for(const _0x4619bc of _0x997bbf){let _0x1906a3=_0xbbf94c['getCommentThread'](_0x4619bc['commentThreadId']);const {commentThreadId:_0x51567b,context:_0x189ff8,attributes:_0x5ec16a,resolvedBy:_0x4cd181,resolvedAt:_0x1ecff1,unlinkedAt:_0x12b0cc,deletedAt:_0x2e7844}=_0x4619bc;if(_0x2e7844)continue;_0x1906a3||(_0x1906a3=_0xbbf94c['addCommentThread']({'channelId':_0x439544,'threadId':_0x51567b,'context':_0x189ff8,'attributes':_0x5ec16a||{},'resolvedBy':_0x4cd181,'resolvedAt':_0x1ecff1,'unlinkedAt':_0x12b0cc,'isFromAdapter':!0x0}));const _0x2317b4=new Set(Array['from'](_0x1906a3['comments'],_0x4793ad=>_0x4793ad['id']));for(const _0x5a4dde of _0x4619bc['comments'])_0x2317b4['delete'](_0x5a4dde['commentId']);for(const _0x1f912b of _0x2317b4)_0x1906a3['getComment'](_0x1f912b)['remove']({'isFromAdapter':!0x0});for(const _0x158cda of _0x4619bc['comments']){const _0x2198d8=_0x1906a3['getComment'](_0x158cda['commentId']);_0x2198d8?_0x2198d8['content']!==_0x158cda['content']&&_0x2198d8['update']({'content':_0x158cda['content'],'isFromAdapter':!0x0}):_0x1906a3['addComment'](Object['assign'](b(_0x158cda),{'isFromAdapter':!0x0}));}}}['_getService'](_0x444e3c){if(!this['_services']['has'](_0x444e3c))throw new _0x2d6cb4('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x444e3c});return this['_services']['get'](_0x444e3c);}async['_fetchMissingUsersForThreads'](_0x38df3e){const _0x2758d4=this['context']['plugins']['get'](_0x427080),{connection:_0x3bbcc0}=this['context']['plugins']['get'](c),_0x315669=new Set();for(const {resolvedBy:_0x1bf27e,comments:_0x4ee42a}of _0x38df3e){_0x1bf27e&&!_0x2758d4['getUser'](_0x1bf27e)&&_0x315669['add'](_0x1bf27e);for(const {userId:_0x3dd4eb}of _0x4ee42a)_0x2758d4['getUser'](_0x3dd4eb)||_0x315669['add'](_0x3dd4eb);}if(0x0===_0x315669['size'])return;const _0x5a5194=await gt['getMany'](_0x3bbcc0,Array['from'](_0x315669));for(const _0x5d06c1 of _0x5a5194)_0x2758d4['getUser'](_0x5d06c1['id'])||_0x2758d4['addUser'](_0x5d06c1);}}async function y(_0x4c8da6){if('404'!==_0x4c8da6['code'])throw _0x4c8da6;}function wt(_0x4f1f1f){if((_0x138376=_0x4f1f1f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x138376['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x138376['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x138376;throw _0x4f1f1f;}function b(_0x15e97e){return{'threadId':_0x15e97e['commentThreadId'],'commentId':_0x15e97e['commentId'],'content':_0x15e97e['content'],'createdAt':_0x15e97e['createdAt'],'authorId':_0x15e97e['userId'],'attributes':_0x15e97e['attributes']||{}};}class f extends _0x237a29{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>at)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3dd9f7){super(_0x3dd9f7);const _0x4e0ad9=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x4e0ad9);}['init'](){const _0x12f52b=this['editor']['plugins']['get'](c),_0x46de5d=this['editor']['plugins']['get']('TrackChangesEditing');return _0x46de5d['adapter']={'getSuggestion':async _0x31c3e4=>{await this['_waitForServiceReady']();const _0x57df6b=await this['_trackChangesService']['get'](_0x31c3e4)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x57df6b]),_0x57df6b;},'addSuggestion':async({id:_0x514b69,type:_0x53882f,data:_0x1d48cc,originalSuggestionId:_0x373754,attributes:_0x11fb3d})=>{await this['_waitForServiceReady']();const _0x359eed={'id':_0x514b69,'type':_0x53882f,'data':_0x1d48cc,'originalSuggestionId':_0x373754,'attributes':_0x11fb3d},_0x40f9cc=await this['_trackChangesService']['add'](_0x514b69,_0x53882f,_0x1d48cc,_0x373754,_0x11fb3d)['catch'](_0x33aabb=>{if(vt(_0x33aabb))return new Promise(_0x40eede=>{this['_bufferedRequests']['set'](_0x514b69,{'resolve':_0x40eede,'suggestionData':_0x359eed});});throw _0x33aabb;});return this['_bufferedRequests']['delete'](_0x514b69),_0x40f9cc;},'updateSuggestion':async(_0x28f402,_0x21137f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x21137f['state'])return this['_trackChangesService']['update'](_0x28f402,_0x21137f)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xcefc58,_0x32b2c3)=>{_0x46de5d['hasSuggestion'](_0x32b2c3['id'])&&(_0x46de5d['getSuggestion'](_0x32b2c3['id'])['attributes']=_0x32b2c3['attributes']);}),this['_trackChangesService']['connect'](_0x12f52b['connection'])['then'](_0x569e15=>(_0x12f52b['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x569e15)['then'](()=>{for(const _0x3e3d55 of _0x569e15){_0x46de5d['addSuggestionData'](_0x3e3d55)['_saved']=!0x0;}})));}async['reconnect'](){const _0x10aea2=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x150a56}=this['editor']['plugins']['get'](c),_0x4db997=await this['_trackChangesService']['connect'](_0x150a56);await this['_fetchMissingUsersForThreads'](_0x4db997);for(const {suggestionData:_0x36aa68,resolve:_0x418d60}of this['_bufferedRequests']['values']()){let _0x40ea44=_0x4db997['find'](_0x302988=>_0x302988['id']===_0x36aa68['id']);_0x40ea44||(_0x40ea44=await this['_trackChangesService']['add'](_0x36aa68['id'],_0x36aa68['type'],_0x36aa68['data'],_0x36aa68['originalSuggestionId'])),_0x418d60(_0x40ea44);}for(const _0x526d70 of _0x4db997)_0x10aea2['hasSuggestion'](_0x526d70['id'])||_0x10aea2['addSuggestionData'](_0x526d70);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3208b0=>{this['listenTo'](this['_trackChangesService'],'connected',_0x5c5b3b=>{_0x5c5b3b['off'](),_0x3208b0();});});}async['_fetchMissingUsersForThreads'](_0x9791ec){const _0x447834=this['editor']['plugins']['get'](_0x427080),{connection:_0xb03a4b}=this['editor']['plugins']['get'](c),_0x1e0653=new Set();for(const {authorId:_0x30ae23}of _0x9791ec)_0x447834['getUser'](_0x30ae23)||_0x1e0653['add'](_0x30ae23);if(0x0===_0x1e0653['size'])return;const _0x167cd2=await gt['getMany'](_0xb03a4b,Array['from'](_0x1e0653));for(const _0x3cbc4a of _0x167cd2)_0x447834['getUser'](_0x3cbc4a['id'])||_0x447834['addUser'](_0x3cbc4a);}}function w(_0xbf9b0e){if(vt(_0xbf9b0e))return new Promise(()=>{});throw _0xbf9b0e;}function vt(_0x372fce){return _0x372fce['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x372fce['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x237a29{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x8550b1=this['editor']['plugins']['get'](c),_0x2c9a9f=this['editor']['plugins']['get']('CommentsEditing'),_0x36aca5=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x8550b1,'change:state',(_0x235328,_0x500731,_0x1b3c5a)=>{_0x2c9a9f['isThreadsLoadingPaused']='connected'!==_0x1b3c5a;});}),this['listenTo'](_0x8550b1,'change:state',(_0x84928a,_0x5e050f,_0x2df769)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2df769);}),_0x36aca5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x237a29{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x237a29{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>nt)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x427080];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2601f5){super(_0x2601f5);const _0xd06d5e=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0xd06d5e);}async['init'](){const _0x5a885c=this['editor']['plugins']['get'](l),_0x4cc3ee=_0x5a885c['serverHistory'],_0x321664=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x4cc3ee,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5a885c['sessionId']});const _0x1ea5a3=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0xb5f2d2=await ot['isBundleUploaded'](_0x321664['connection'],_0x1ea5a3);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xd855dc})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xd855dc)),'updateRevisions':async _0xb7671d=>{await this['_waitForServiceReady']();const _0x2f7a52=this['_revisionTracker']['currentRevision'];if(_0xb5f2d2&&0x1===_0xb7671d['length']&&_0xb7671d[0x0]['id']===_0x2f7a52['id'])return _0xb7671d;for(const _0x2a1ac4 of _0xb7671d)_0x2a1ac4['id']===_0x2f7a52['id']&&(_0x2a1ac4['isEmptyCurrent']=_0x2a1ac4['fromVersion']===_0x2a1ac4['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xb7671d,this['_lastRequestId'])['then'](_0x1132c4=>(this['_lastRequestId']=_0x1132c4,_0xb7671d))['catch'](_0xf421fd=>{if(ct(_0xf421fd)||'400'===_0xf421fd['code']&&void 0x0!==_0xf421fd['data']['wrongRequestId']){for(const _0x193960 of _0xb7671d){!this['_revisionTracker']['repository']['getRevision'](_0x193960['id'])||this['_revisionTracker']['_bufferUpdate'](_0x193960['id'],_0x193960,!0x1);}if(ct(_0xf421fd))throw _0xf421fd;return _0xb7671d;}throw _0xf421fd;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x537870,{revisionsData:_0x29e2d2,requestId:_0x459a0d})=>{Math['max'](..._0x29e2d2['map'](_0x2441a0=>_0x2441a0['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x29e2d2,_0x459a0d);}):this['_handleRevisionsUpdate'](_0x29e2d2,_0x459a0d);});const {revisions:_0x39b48f,requestId:_0x3da3e1}=await this['_revisionHistoryService']['connect'](_0x321664['connection']);_0x321664['addToReconnectionStack'](this),this['_lastRequestId']=_0x3da3e1,await this['_fetchMissingUsers'](_0x39b48f);for(const _0x4f4bb6 of _0x39b48f)this['_revisionTracker']['addRevisionData'](_0x4f4bb6);this['listenTo'](_0x5a885c,'change:_isConnected',(_0x6bc66b,_0x2f2e7b,_0x5ae926)=>{_0x5ae926&&(this['_oldOffset']=_0x5a885c['_offset'],_0x6bc66b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x321664,'state',_0xfc1e6e=>_0xfc1e6e===_0x43f41c['CONNECTED']);}async['reconnect'](){const _0x51e016=this['editor']['plugins']['get'](c),_0x385330=this['editor']['plugins']['get'](l),_0x41df93=async()=>{const _0x378734=this['_revisionTracker']['currentRevision'],_0x8b3c74=_0x378734['id'],_0x1284ad=_0x8b3c74!==_0x385330['sessionId'];if(_0x1284ad){const _0x4b9d1b=_0x385330['_offset']-this['_oldOffset'],_0x4778ce=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x378734['toVersion']+_0x4b9d1b!==_0x4778ce){const _0x32d6c8=_0x378734['fromVersion']+_0x4b9d1b,_0x4926a5=this['editor']['plugins']['get'](_0x427080),_0x51b8f9=this['_revisionTracker']['buildRevisionData']({'revision':_0x378734,'from':_0x32d6c8,'to':_0x4778ce});_0x51b8f9['id']=_0x378734['id'];const _0x39de7e=_0x51b8f9['authorsIds']['map'](_0x1cf2e2=>_0x4926a5['getUser'](_0x1cf2e2));_0x378734['_update']({..._0x51b8f9,'authors':_0x39de7e},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x378734['id'],_0x51b8f9,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4778ce,(_0x378734['toVersion']===_0x378734['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x8b3c74)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x8b3c74),this['_revisionTracker']['_createCurrentRevision'](_0x4778ce));}const {revisions:_0x318747,requestId:_0x5ca0b8}=await this['_revisionHistoryService']['reconnect'](_0x51e016['connection'],this['_lastRequestId']);_0x1284ad&&_0x318747['length']>0x0?_0x385330['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x318747),this['_handleRevisionsUpdate'](_0x318747,_0x5ca0b8),this['_revisionTracker']['sendBufferedUpdates']());};return _0x385330['_isConnected']?_0x41df93():new Promise((_0x20670f,_0x397370)=>{_0x385330['once']('change:_isConnected',()=>{_0x41df93()['then'](_0x20670f)['catch'](_0x397370);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xcf49c4=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x32e4e6=>{_0x32e4e6['off'](),_0xcf49c4();});});}['_getLatestVersionFromServerOperations'](){const _0x54baad=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x287a27 of _0x54baad)if('marker'!==_0x287a27['type']||_0x287a27['affectsData'])return _0x287a27['baseVersion']+0x1;}['_getLatestVersion'](){const _0x93684=this['editor']['plugins']['get'](l);return new Promise(_0x145230=>{_0x93684['_isPendingUpdate']?_0x93684['once']('change:_isPendingUpdate',()=>{_0x145230(this['_getLatestVersionFromServerOperations']());}):_0x145230(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5ce816,_0x502589){const _0x2376a7=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x502589;for(const _0x33eb9d of _0x5ce816){const _0x5ebd95=_0x2376a7['getRevision'](_0x33eb9d['id']);if(_0x5ebd95){if((_0x33eb9d['fromVersion']||_0x33eb9d['toVersion'])&&(_0x33eb9d['diffData']=null),_0x5ebd95===this['_revisionTracker']['currentRevision']){const _0x1838bb=Math['max'](_0x5ebd95['toVersion'],_0x33eb9d['toVersion']),_0x4360b0=Math['max'](_0x5ebd95['fromVersion'],_0x33eb9d['fromVersion']);let _0x5a27a5;_0x5ebd95['toVersion']===_0x33eb9d['toVersion']&&_0x5ebd95['fromVersion']===_0x33eb9d['fromVersion']?(_0x5a27a5=!0x0,this['_preventResendingRevisionData'](_0x33eb9d)):_0x33eb9d['toVersion']===_0x1838bb&&_0x33eb9d['fromVersion']===_0x4360b0?_0x5a27a5=!0x1:(_0x5ebd95['toVersion']===_0x1838bb&&_0x5ebd95['fromVersion']===_0x4360b0||this['_fixRevision']({'revision':_0x5ebd95,'from':_0x4360b0,'to':_0x1838bb}),_0x5a27a5=!0x0),_0x5a27a5&&(delete _0x33eb9d['fromVersion'],delete _0x33eb9d['toVersion'],delete _0x33eb9d['diffData'],delete _0x33eb9d['createdAt'],delete _0x33eb9d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x33eb9d),this['_preventResendingRevisionData'](_0x33eb9d);}else this['_revisionTracker']['addRevisionData'](_0x33eb9d);}const _0x40af6f=_0x2376a7['getRevisions']();_0x40af6f['reverse']();for(let _0x5ca3d9=0x0;_0x5ca3d9<_0x40af6f['length']-0x1;_0x5ca3d9++){const _0x4a610a=_0x40af6f[_0x5ca3d9],_0xde1870=_0x40af6f[_0x5ca3d9+0x1];if(_0x4a610a['fromVersion']<_0xde1870['toVersion']){const _0x4b2d8b=_0xde1870['toVersion'],_0x29fb6e=Math['max'](_0x4b2d8b,_0x4a610a['toVersion']);this['_fixRevision']({'revision':_0x4a610a,'from':_0x4b2d8b,'to':_0x29fb6e});}}}['_fixRevision']({revision:_0x169a39,from:_0x2ab917,to:_0x48bcc4}={}){const _0x438bc8=this['editor']['plugins']['get'](_0x427080),_0xbc6e0e=this['_revisionTracker']['buildRevisionData']({'revision':_0x169a39,'from':_0x2ab917,'to':_0x48bcc4});_0xbc6e0e['authors']=_0xbc6e0e['authorsIds']['map'](_0x56158d=>_0x438bc8['getUser'](_0x56158d)),_0x169a39['_update'](_0xbc6e0e);}['_preventResendingRevisionData'](_0x585bc9){const _0x41d08a={};_0x41d08a['id']=_0x585bc9['id'];for(const _0x2d9876 of Object['keys'](_0x585bc9))'id'!==_0x2d9876&&(_0x41d08a[_0x2d9876]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x41d08a['id'],_0x41d08a,!0x0);}async['_fetchMissingUsers'](_0x132b91){const _0x42089a=this['editor']['plugins']['get'](_0x427080),{connection:_0x3c3f46}=this['editor']['plugins']['get'](c),_0x20726d=new Set();for(const _0x5c0ee6 of _0x132b91){for(const _0x59927c of _0x5c0ee6['authorsIds'])_0xd353(_0x59927c);_0x5c0ee6['creatorId']&&_0xd353(_0x5c0ee6['creatorId']);}if(0x0===_0x20726d['size'])return;const _0x1c3736=await gt['getMany'](_0x3c3f46,Array['from'](_0x20726d));for(const _0x4ed179 of _0x1c3736)_0x42089a['getUser'](_0x4ed179['id'])||_0x42089a['addUser'](_0x4ed179);function _0xd353(_0x537fe7){_0x42089a['getUser'](_0x537fe7)||_0x20726d['add'](_0x537fe7);}}}function ct(_0x56346b){return _0x56346b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x56346b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56346b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x237a29{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class tt extends _0x1476c9{['_collapseAt'];constructor(_0xd7cdd8,_0x1b5472=0x6){super(_0xd7cdd8);const _0x28fac0=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1b5472,this['bind']('isHidden')['to'](this,'usersCount',_0x3f9232=>_0x3f9232<_0x1b5472),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x28fac0['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':_0x28fac0['to']('usersCount',_0x52b889=>'+'+(_0x52b889-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x1476c9{['items'];['keystrokes'];constructor(_0x20d695){super(_0x20d695);const _0x409e1e=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2ada26(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x409e1e['if']('hasPopup'),'aria-expanded':_0x409e1e['to']('isExpanded',_0xc5da20=>this['hasPopup']&&String(_0xc5da20)),'aria-label':_0x409e1e['to']('hasPopup',_0x401928=>N(_0x20d695,_0x401928?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x409e1e['to']('hasPopup',_0x950936=>!!_0x950936&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x409e1e['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x409e1e['to'](_0x35a68b=>{const _0x4f6fa8=_0x35a68b,_0x5b8a39=document['querySelector']('.ck-presence-list__dropdown-list'),_0x9689ee=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5b8a39?.['contains'](_0x4f6fa8['relatedTarget'])||_0x9689ee?.['contains'](_0x4f6fa8['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x51bf74,_0xf555e0,_0x4f5a99)=>{this['element']&&(_0x4f5a99?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 Z extends _0x1476c9{['counterView'];['inlineListView'];constructor(_0x2c0dcb,_0x3f22e6=0x6){super(_0x2c0dcb);const _0xec6ad1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new tt(this['locale'],_0x3f22e6),this['inlineListView']=new ts(_0x2c0dcb),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2ab890 of this['inlineListView']['items'])_0x2ab890['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',_0xec6ad1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class st extends _0x1476c9{['listWrapperView'];constructor(_0x3fbb44,_0x536f72){super(_0x3fbb44);const _0x5d77ca=this['bindTemplate'];this['listWrapperView']=new _t(_0x3fbb44,_0x536f72),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':N(_0x3fbb44,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x5d77ca['to'](_0xc540a2=>{const _0x396e62=_0xc540a2,_0x1a29bd=document['querySelector']('.ck-presence-list__list'),_0x3f92d7=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1a29bd?.['contains'](_0x396e62['relatedTarget'])||_0x3f92d7?.['contains'](_0x396e62['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class _t extends _0x3cda06{constructor(_0x12cb1e,_0x567080){super(_0x12cb1e);const _0x19cb87=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x567080?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x19cb87['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x19cb87['to']('role'),'aria-label':_0x19cb87['to']('ariaLabel'),'aria-labelledby':_0x19cb87['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x353d69['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x18ffb8=this['element'];_0x18ffb8&&(this['_isScrollable']=Math['max'](_0x18ffb8['scrollHeight'],_0x18ffb8['clientHeight'])>0.8*window['innerHeight']);}}class it extends lt{['userView'];constructor(_0x3b886b,_0x5aa3e5,_0x5babbd){super(_0x3b886b);const _0x3cb072=this['bindTemplate'];this['userView']=new ut(_0x3b886b,_0x5aa3e5);const _0x3986af={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5aa3e5['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5aa3e5['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5aa3e5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5babbd&&(_0x3986af['tag']='button',_0x3986af['on']={'click':_0x3cb072['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3986af);}['focus'](){this['element']['focus']();}}class et extends _0x1476c9{['userView'];['markerView'];constructor(_0x5947fe,_0x30ef69,_0x2fa5dd){super(_0x5947fe);const _0x883f0b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ut(_0x5947fe,_0x30ef69),this['markerView']=new dt(_0x5947fe,_0x30ef69);const _0x3fd09f=new pt(_0x5947fe);_0x3fd09f['template']['tag']='span',_0x3fd09f['text']=_0x30ef69['name'];const _0x250762={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x883f0b['to']('isFocusable',_0x447846=>!!_0x447846&&0x0),'aria-labelledby':_0x3fd09f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x883f0b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x883f0b['to']('hasTooltip',_0x444d18=>!_0x444d18),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3fd09f]};_0x2fa5dd&&(_0x250762['tag']='button',_0x250762['on']={'click':_0x883f0b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x250762);}}class dt extends _0x1476c9{constructor(_0x3d90c0,_0x58dddf){super(_0x3d90c0),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x58dddf['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const rt={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x22bdaa{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bcd3e){super(_0x2bcd3e),this['context']['config']['define']('presenceList',rt);const _0x352f78=_0x2bcd3e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x352f78)throw new _0x2d6cb4('presencelist-collapseat-invalid-format',this);if(_0x352f78<0x1)throw new _0x2d6cb4('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xfe6551(),this['balloonPanelView']=new _0xe2e1ce(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xd7477b of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd7477b);this['listenTo'](this['_allConnectedUsers'],'add',(_0x3b78f8,_0x55c895)=>{this['_handleUserAdd'](_0x55c895);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4efd58,_0x13bffc)=>{this['_handleUserRemove'](_0x13bffc);});}['_createView'](){const _0x27c9ae=this['context'],_0x3a1cba=new Z(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2ebb4d=this['balloonPanelView'];if(!_0x357b99(_0x27c9ae['config']['get']('presenceList.container')))throw new _0x2d6cb4('presencelist-missing-container',this);return _0x3a1cba['counterView']['bind']('usersCount')['to'](this),_0x3a1cba['bind']('isCollapsed')['to'](this,'usersCount',_0x127d24=>{const {collapseAt:_0x844385}=_0x27c9ae['config']['get']('presenceList'),_0x234d26=_0x127d24>=_0x844385;if(_0x234d26&&!_0x3a1cba['inlineListView']['items']['find'](_0x309425=>_0x309425 instanceof tt)){const _0x39f215=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x39f215&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3a1cba['inlineListView']['items']['add'](_0x3a1cba['counterView']);}return _0x234d26||this['hideDropdown'](),_0x234d26;}),_0x3a1cba['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xdd9310=>{const _0xcbf932=_0x27c9ae['config']['get']('presenceList'),_0x8a270a=new et(_0x27c9ae['locale'],_0xdd9310,!!_0xcbf932['onClick']);return _0x8a270a['bind']('hasTooltip')['to'](_0x3a1cba,'isCollapsed',_0x26ca54=>!_0x26ca54),_0x8a270a['bind']('isFocusable')['to'](_0x3a1cba,'isCollapsed',_0x5077a9=>!_0x5077a9),_0xcbf932['onClick']&&this['listenTo'](_0x8a270a,'execute',()=>{this['view']['isCollapsed']||_0xcbf932['onClick'](_0xdd9310,_0x8a270a['element']);}),_0x8a270a;}),this['listenTo'](_0x3a1cba['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3a1cba['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3a1cba['inlineListView']['keystrokes']['set']('Enter',(_0x4b710c,_0x6547bc)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x6547bc());}),_0x3a1cba['render'](),_0x2ebb4d['render'](),_0x49e510({'emitter':_0x3a1cba,'activator':()=>_0x2ebb4d['isVisible'],'contextElements':[_0x2ebb4d['element'],_0x3a1cba['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x27c9ae['config']['get']('presenceList.container')['appendChild'](_0x3a1cba['element']),this['_bodyCollection']=new _0x3bfa1d(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3a1cba;}['_handleUserAdd'](_0x3bbdc2){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3bbdc2['isMe'])return;const _0x21c192=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x21c192-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x23ef56=_0x3bbdc2['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3bbdc2,_0x23ef56);}['_handleUserRemove'](_0x15d994){this['usersCount']--;const {collapseAt:_0x385c66}=this['context']['config']['get']('presenceList'),_0x42bf11=this['usersCount']>=_0x385c66;if(this['currentDisplayedUsers']['get'](_0x15d994['id']))this['currentDisplayedUsers']['remove'](_0x15d994['id']);else{if(_0x42bf11&&this['currentDisplayedUsers']['length']+0x1===_0x385c66-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x42bf11?0x1:0x0)<this['usersCount']){for(const _0x3f9e1e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3f9e1e['id'])&&(this['currentDisplayedUsers']['add'](_0x3f9e1e,Math['min'](this['currentDisplayedUsers']['length']-(_0x42bf11?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x42bf11?0x1:0x0)===_0x385c66-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x43e027=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new st(this['context']['locale'],!!_0x43e027['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x107281}=this['presenceDropdownView'];_0x107281['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x401ab=>{if(!_0x43e027['displayMe']&&_0x401ab['isMe'])return null;const _0x31204d=new it(this['context']['locale'],_0x401ab,!!_0x43e027['onClick']);return _0x43e027['onClick']&&this['listenTo'](_0x31204d,'execute',()=>{_0x43e027['onClick'](_0x401ab,_0x31204d['element']);}),_0x31204d;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x107281['focus'](),_0x107281['checkIfScrollable']();const _0xea5723=(_0x37c3b2,_0x12d667)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x12d667();};_0x107281['keystrokes']['set']('Esc',_0xea5723),_0x107281['keystrokes']['set']('Shift+Tab',_0xea5723),_0x107281['keystrokes']['set']('Tab',(_0x2ddc30,_0x2e5636)=>{!function(_0x5f4c83){const _0x8b608b=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5cb55c=>_0x5cb55c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x265753=[...document['body']['querySelectorAll'](_0x8b608b)]['filter'](_0x2d3dd0=>_0x2d3dd0===document['activeElement']||_0x2d3dd0['offsetWidth']+_0x2d3dd0['offsetHeight']>0x0)['sort']((_0xec882f,_0x55278d)=>(_0xec882f['tabIndex']||0x0)-(_0x55278d['tabIndex']||0x0)),_0xeee36a=_0x265753['indexOf'](_0x5f4c83),_0x324808=_0x265753[(_0xeee36a+0x1)%_0x265753['length']];_0x324808&&_0x324808['focus']();}(this['view']['element']),this['hideDropdown'](),_0x2e5636();}),_0x107281['focusTracker']['add'](this['view']['element']),_0x107281['focusTracker']['on']('change:isFocused',(_0x48c2ea,_0x3c419b,_0x58a93e)=>{_0x58a93e||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 s extends _0x22bdaa{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x2a8d77,Plugin as _0x4a25e4,PendingActions as _0x368ec2,Context as _0x19610f}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x4cc4ce,CKEditorError as _0x16c987,Collection as _0x1f3b9f,global as _0x1c00e3,version as ut,uid as _0x50742c,KeystrokeHandler as _0x24bdf2}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x340283,View as _0x406a70,ListView as _0x12f9ba,ListItemView as at,LabelView as pt,BalloonPanelView as tt,clickOutsideHandler as _0x38782a,BodyCollection as st}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ft,History as _0x1691f1,NoOperation as _0x27ef1a,InsertOperation as _0xb417a6,MarkerOperation as _0x3bb2cc,RootAttributeOperation as _0x2d5d74,transformSets as _0x5e81eb,OperationFactory as _0x34a530}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as mt,WEB_SOCKET_GATEWAY_STATES as _0x12cc86,CollaborativeEditingService as _0x20f807,User as gt,CommentsService as _0x26d66e,TrackChangesService as _0x5ea951,RevisionHistoryService as _0x5b8615,EditorService as _0x5bf815}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x4e4fb5,UserView as lt}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x4d0115}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as it}from'es-toolkit/compat';class c extends _0x2a8d77{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>mt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x340283];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x40c788){super(_0x40c788),this['set']('state',_0x12cc86['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x4cc4ce);}['init'](){const _0x351673=this['context'],_0x29d296=_0x351673['plugins']['get']('CloudServices'),_0x4088bd=_0x351673['plugins']['get'](_0x340283);if(!_0x29d296['token'])throw new _0x16c987('websocketgateway-missing-token',this);if(!_0x29d296['webSocketUrl'])throw new _0x16c987('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),c['WebSocketGateway']['connect'](_0x29d296['token'],_0x29d296['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x579e3b=>{if(this['connection']=_0x579e3b,this['bind']('state')['to'](_0x579e3b,'state',this,'_isBrowserOffline',(_0x41312c,_0x3af763)=>('connected'!==_0x41312c&&(this['_shouldPluginsReconnect']=!0x0),_0x3af763||_0x41312c!==_0x12cc86['CONNECTED']?_0x12cc86['DISCONNECTED']:this['state']==_0x12cc86['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x12cc86['CONNECTING']):_0x12cc86['CONNECTED'])),this['connection']['on']('error',(_0x2af0d7,_0x4be1f9)=>{if('limitExceeded'!==_0x4be1f9['code'])throw console['error'](_0x4be1f9),new _0x16c987('cloudservices-init',null,{'originalError':_0x4be1f9});_0x4088bd['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'});}),!_0x579e3b['me'])return new Promise(_0x3c7421=>_0x579e3b['on']('change:me',_0x3c7421));})['catch'](_0x5593e1=>{throw console['error'](_0x5593e1),new _0x16c987('cloudservices-init',null,{'originalError':_0x5593e1});});}['addToReconnectionStack'](_0x59e0f9){if('function'!=typeof _0x59e0f9['reconnect'])throw new _0x16c987('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x59e0f9))throw new _0x16c987('websocketgateway-plugin-already-registered',this,{'name':_0x59e0f9['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x59e0f9);}['removeFromReconnectionStack'](_0x40d65e){this['_reconnectionStack']['delete'](_0x40d65e);}['isInReconnectionStack'](_0x20a441){return this['_reconnectionStack']['has'](_0x20a441);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5c8a2c=>_0x5c8a2c['reconnect']())))['then'](()=>this['state']=_0x12cc86['CONNECTED'])['catch'](_0x4f61fe=>{throw console['error'](_0x4f61fe),new _0x16c987('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x12cc86['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2a8d77{['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[c,_0x4e4fb5];}constructor(_0x1bfbe2){super(_0x1bfbe2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x1f3b9f(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x4e4fb5);}['init'](){const _0x5aef13=this['context']['plugins']['get'](c);this['listenTo'](_0x5aef13,'change:state',(_0x38b336,_0x4ebe55,_0x12f94e)=>{if('connected'!==_0x12f94e)this['channelSessions']['forEach'](_0x373d32=>_0x373d32['clear']()),this['channelConnectedUsers']['forEach'](_0x106950=>_0x106950['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xe6ab73,_0x2c6392]of this['_registeredSessions'])for(const _0x2f1bbf of _0x2c6392)this['_handleSessionAdd'](_0xe6ab73,_0x2f1bbf);}}),this['_createUser'](_0x5aef13['connection']['me'],!0x0);}['register'](_0x108cf2,_0x5a9a85){if(this['_registeredSessions']['has'](_0x108cf2))throw new _0x16c987('sessions-register-already-registered',null,{'channelId':_0x108cf2});this['_registeredSessions']['set'](_0x108cf2,_0x5a9a85),this['channelSessions']['set'](_0x108cf2,new _0x1f3b9f()),this['channelConnectedUsers']['set'](_0x108cf2,new _0x1f3b9f()),this['listenTo'](_0x5a9a85,'add',(_0x5a7761,_0x491a4d)=>this['_handleSessionAdd'](_0x108cf2,_0x491a4d)),this['listenTo'](_0x5a9a85,'remove',(_0x4e4477,_0x579201)=>this['_handleSessionRemove'](_0x108cf2,_0x579201));for(const _0xae644d of _0x5a9a85)this['_handleSessionAdd'](_0x108cf2,_0xae644d);}['unregister'](_0x526293){if(!this['_registeredSessions']['has'](_0x526293))throw new _0x16c987('sessions-unregister-not-exist',null,{'channelId':_0x526293});const _0x27aa17=this['_registeredSessions']['get'](_0x526293);this['stopListening'](_0x27aa17);for(const _0xb0523d of _0x27aa17)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x526293,_0xb0523d);this['_registeredSessions']['delete'](_0x526293),this['channelSessions']['delete'](_0x526293),this['channelConnectedUsers']['delete'](_0x526293);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x52ef5f){for(const _0x3c05fd of this['channelSessions']['values']())for(const _0x1051cd of _0x3c05fd)if(_0x1051cd['id']===_0x52ef5f)return _0x1051cd['user'];}['getUserSessions'](_0x4f92e0,_0x3f82b3){const _0x2bd6be=_0x3f82b3?[this['channelSessions']['get'](_0x3f82b3)]:this['channelSessions']['values'](),_0x2aa9e8=new Set();for(const _0x519c36 of _0x2bd6be)for(const _0x45339b of _0x519c36)_0x45339b['user']['id']===_0x4f92e0['id']&&_0x2aa9e8['add'](_0x45339b['id']);return _0x2aa9e8;}['getUserRole'](_0x337418){for(const _0x42dc9e of this['channelSessions']['values']())for(const _0x1dc39a of _0x42dc9e)if(_0x1dc39a['user']===_0x337418)return _0x1dc39a['role'];}['_handleSessionAdd'](_0xae0690,_0x4da8ea){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x307e54=_0x4da8ea['user'],_0x140741=this['_users']['getUser'](_0x307e54['id'])||this['_createUser'](_0x307e54),_0x1fda17=Object['assign']({},_0x4da8ea,{'user':_0x140741});this['channelSessions']['get'](_0xae0690)['add'](_0x1fda17);const _0x47dbbb=this['channelConnectedUsers']['get'](_0xae0690);_0x47dbbb['has'](_0x140741['id'])||_0x47dbbb['add'](_0x140741),this['allConnectedUsers']['has'](_0x140741['id'])||this['allConnectedUsers']['add'](_0x140741,_0x140741['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0xae0690,{'channelId':_0xae0690,'session':_0x1fda17});}['_handleSessionRemove'](_0x443eab,_0x33b5a6){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x50a227=this['channelConnectedUsers']['get'](_0x443eab),_0x54449b=_0x33b5a6['user'];_0x54449b['id']&&(this['channelSessions']['get'](_0x443eab)['remove'](_0x33b5a6['id']),_0x50a227['has'](_0x54449b['id'])&&!this['getUserSessions'](_0x54449b,_0x443eab)['size']&&_0x50a227['remove'](_0x54449b['id']),this['allConnectedUsers']['get'](_0x54449b['id'])&&!this['getUserSessions'](_0x54449b)['size']&&this['allConnectedUsers']['remove'](_0x54449b['id']));}['_createUser'](_0x563b40,_0x45dfda){const _0x1b2912=this['_users']['addUser'](_0x563b40);return _0x45dfda&&this['_users']['defineMe'](_0x563b40['id']),_0x1b2912['orderNumber']=this['_uniqueUsersCount']++,_0x1b2912;}}class E extends _0x4a25e4{['_domEmitter']=new(_0x4cc4ce())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2ec1a7=this['editor'],_0x1fdf31=_0x2ec1a7['plugins']['get'](i);_0x2ec1a7['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x3054fc,{writer:_0x345d31})=>function(_0x28b92c,_0x5f1299,_0x1ca4b9,_0x75d22d){const _0x27cf57=_0x28b92c['markerName']['split'](':')[0x2],_0x4f06af=_0x1ca4b9['getUserBySessionId'](_0x27cf57);if(!_0x4f06af||_0x27cf57===_0x1ca4b9['mySessionId'])return;if(!_0x75d22d['model']['schema']['checkChild'](_0x28b92c['markerRange']['start'],'$text'))return;const _0x4b3156={'class':'ck-user__marker\x20'+_0x4f06af['color']['getMarkerClass'](),'data-name':_0x4f06af['name'],'data-session-id':_0x27cf57},_0x4977c8=_0x75d22d['model']['markers']['get'](_0x28b92c['markerName']),_0x15ae2f=_0x4977c8['getStart'](),_0x51aeda=_0x15ae2f['nodeAfter'],_0x3bb6b4=_0x75d22d['model']['schema'];if(_0x51aeda&&_0x3bb6b4['isObject'](_0x51aeda)&&_0x3bb6b4['isInline'](_0x51aeda)&&!_0x75d22d['model']['markers']['get']('user:range:'+_0x27cf57)['getRange']()['isCollapsed'])return;const _0x57a0b9=_0x15ae2f['parent'];return _0x75d22d['model']['schema']['isLimit'](_0x57a0b9)&&!_0x75d22d['model']['hasContent'](_0x57a0b9)&&(_0x4b3156['contenteditable']=!0x1),function(_0x417309,_0x7327f,_0x2007f8){const _0x35a0f3=_0x417309['createUIElement']('span',_0x7327f);return _0x417309['setCustomProperty']('userPositionMarker',!0x0,_0x35a0f3),_0x35a0f3['render']=function(_0x59635a){const _0x237f42=this['toDomElement'](_0x59635a),_0x1587fc=document['createElement']('span');return _0x1587fc['classList']['add']('ck-user__marker-tooltip'),_0x1587fc['setAttribute']('contenteditable','false'),_0x1587fc['setAttribute']('spellcheck','false'),_0x1587fc['textContent']=_0x2007f8['name'],_0x237f42['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x1587fc['outerHTML']+'⁠',_0x237f42['addEventListener']('mouseenter',()=>{_0x237f42['classList']['add']('ck-user__marker_hovered');}),_0x237f42['addEventListener']('mouseleave',()=>{_0x237f42['classList']['remove']('ck-user__marker_hovered');}),_0x237f42;},_0x35a0f3['isSimilar']=function(_0x2a7f92){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2a7f92['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2a7f92['getAttribute']('data-session-id'));},_0x35a0f3;}(_0x5f1299,_0x4b3156,_0x4f06af);}(_0x3054fc,_0x345d31,_0x1fdf31,_0x2ec1a7)}),_0x2ec1a7['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2d7c21=>function(_0x26ca69,_0x47799e){const _0x5e1f1d=_0x26ca69['markerName']['split'](':')[0x2];if(_0x5e1f1d===_0x47799e['mySessionId'])return null;const _0x465eb4=_0x47799e['getUserBySessionId'](_0x5e1f1d);if(!_0x465eb4)return{'id':_0x5e1f1d,'classes':[]};return{'id':_0x5e1f1d,'classes':['ck-user__selection',_0x465eb4['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5e1f1d},'priority':0x7d0+_0x465eb4['orderNumber']};}(_0x2d7c21,_0x1fdf31)}),function(_0x35de8e){const _0x1f7255=_0x35de8e['model'],_0x5f02bc=new Map(),_0x2e9875=_0x35de8e['plugins']['get'](i);_0x1f7255['markers']['on']('update:user:range',(_0x482dc5,_0x56908e,_0x2a1238,_0x40bfc7)=>{if(!_0x40bfc7&&_0x5f02bc['get'](_0x56908e['name']))return _0x5f02bc['get'](_0x56908e['name'])['detach'](),void _0x5f02bc['delete'](_0x56908e['name']);const _0x3be269=_0x56908e['name']['split'](':')[0x2];if(_0x3be269===_0x2e9875['mySessionId'])return;const _0x1b6a04='user:position:'+_0x3be269;_0x1f7255['markers']['has'](_0x1b6a04)&&_0x35de8e['editing']['reconvertMarker'](_0x1b6a04),_0x56908e['on']('change:range',(_0x1de899,_0x1161eb,_0x485fe9)=>{if('$graveyard'!=_0x1161eb['root']['rootName']&&'$graveyard'==_0x56908e['getRange']()['root']['rootName']&&!_0x5f02bc['has'](_0x56908e['name'])){const _0x4ba3e2=_0x1f7255['schema']['getNearestSelectionRange'](_0x485fe9['deletionPosition']);if(_0x4ba3e2){const _0x4a05bc=ft['fromRange'](_0x4ba3e2);_0x5f02bc['set'](_0x56908e['name'],_0x4a05bc),_0x4a05bc['on']('change:range',(_0x4e53b7,_0x8ea67b,_0x2c7758)=>{if('$graveyard'==_0x4a05bc['root']['rootName']){const _0x5dddb0=_0x1f7255['schema']['getNearestSelectionRange'](_0x2c7758['deletionPosition']);_0x5dddb0?(_0x4a05bc['start']=_0x5dddb0['start'],_0x4a05bc['end']=_0x5dddb0['end']):(_0x5f02bc['delete'](_0x56908e['name']),_0x4a05bc['detach']());}});}}});}),_0x1f7255['document']['on']('change',()=>{_0x5f02bc['size']>0x0&&_0x1f7255['enqueueChange']({'isUndoable':!0x1},_0x465da4=>{for(const [_0x11ebbe,_0x2b70ed]of _0x5f02bc)'$graveyard'==_0x1f7255['markers']['get'](_0x11ebbe)['getRange']()['root']['rootName']&&(G(_0x11ebbe['split'](':')[0x2],_0x2b70ed['toRange'](),_0x1f7255,_0x465da4),_0x2b70ed['detach']());_0x5f02bc['clear']();});});}(_0x2ec1a7),this['_domEmitter']['listenTo'](_0x1c00e3['document'],'keydown',(_0x2d1515,{key:_0x4194a2})=>{'Escape'===_0x4194a2&&function(_0x231415){_0x231415['editing']['view']['change'](_0x567b2c=>{for(const _0x58e214 of _0x231415['model']['markers']){if(!_0x58e214['name']['startsWith']('user:position'))continue;const _0x549c58=_0x231415['editing']['mapper']['markerNameToElements'](_0x58e214['name']);if(_0x549c58){for(const _0x443583 of _0x549c58)_0x567b2c['removeClass']('ck-user__marker_hovered',_0x443583);}}});}(_0x2ec1a7);},{'useCapture':!0x0});}['afterInit'](){const _0x3f9104=this['editor'],_0x164ddf=_0x3f9104['commands']['get']('undo');_0x164ddf&&_0x3f9104['model']['on']('applyOperation',(_0x3aa7bc,_0x34dab1)=>{const _0x322943=_0x34dab1[0x0];if(!_0x322943['isDocumentOperation'])return;if('marker'!=_0x322943['type']||!_0x322943['name']['startsWith']('user:'))return;const _0x4ad231=_0x322943['batch'];_0x164ddf['_createdBatches']['has'](_0x4ad231)&&(_0x322943['newRange']=_0x322943['oldRange']?_0x3f9104['model']['createRange'](_0x322943['oldRange']['start'],_0x322943['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x581f14=this['editor'],_0x21a652=_0x581f14['model']['document'],_0x19da83=_0x581f14['plugins']['get'](i);_0x581f14['model']['enqueueChange']({'isUndoable':!0x1},_0x50ed1b=>{const _0x32a261='user:range:'+_0x19da83['mySessionId'],_0x22315d='user:position:'+_0x19da83['mySessionId'],_0x444d9a=_0x581f14['model']['markers']['has'](_0x32a261);_0x581f14['editing']['view']['hasDomSelection']?G(_0x19da83['mySessionId'],_0x21a652['selection']['getFirstRange'](),_0x581f14['model'],_0x50ed1b):_0x444d9a&&(_0x50ed1b['removeMarker'](_0x32a261),_0x50ed1b['removeMarker'](_0x22315d));});}}function G(_0x234764,_0x5af3f8,_0x488bdf,_0x120335){const _0x1744fd='user:range:'+_0x234764,_0x3fff9b='user:position:'+_0x234764,_0xfa92ae=_0x5af3f8['getContainedElement']();let _0xffc448=_0x5af3f8['start'];_0xfa92ae&&_0xfa92ae['is']('element','tableCell')&&(_0xffc448=function(_0x8fd8a3,_0x53c26e){for(const _0x2e0775 of _0x8fd8a3['getPositions']())if(_0x53c26e['schema']['checkChild'](_0x2e0775,'$text'))return _0x2e0775;}(_0x5af3f8,_0x488bdf),_0x5af3f8=_0x120335['createRange'](_0xffc448));const _0x13e894=_0x120335['createRange'](_0xffc448);_0x488bdf['markers']['has'](_0x1744fd)?(_0x120335['updateMarker'](_0x1744fd,{'range':_0x5af3f8}),_0x120335['updateMarker'](_0x3fff9b,{'range':_0x13e894})):(_0x120335['addMarker'](_0x1744fd,{'range':_0x5af3f8,'usingOperation':!0x0}),_0x120335['addMarker'](_0x3fff9b,{'range':_0x13e894,'usingOperation':!0x0}));}function N(_0x1344af,_0x4f57d7,_0x418eea){const _0x3f2dfd=_0x1344af['t'],t=_0x1344af['t'];switch(_0x4f57d7){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 _0x3f2dfd({'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'},_0x418eea);default:return'';}}let M=0x1;class l extends _0x4a25e4{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x20f807)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,E,_0x368ec2,_0x4e4fb5,_0x340283];}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 _0x5a0802=this['serverHistory']['getOperations']();for(let _0x45596f=_0x5a0802['length']-0x1;_0x45596f>=0x0;_0x45596f--){const _0x29b72f=_0x5a0802[_0x45596f];if(!this['_disconnectionOperations']['has'](_0x29b72f))return _0x29b72f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3c5050){if(super(_0x3c5050),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1691f1(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x16c987('collaboration-missing-channelid',this);const _0x20bbaa=_0x3c5050['config']['get']('cloudServices.bundleVersion')||ut;this['_service']=new l['CollaborativeEditingService'](_0x20bbaa,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x4d0115(),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 V(this['_disconnectionOperations']);}['init'](){const _0x4b45c9=this['editor'],_0x5f24c1=_0x4b45c9['plugins']['get'](_0x4e4fb5),_0x642fc6=_0x4b45c9['plugins']['get'](c);this['listenTo'](_0x5f24c1,'getOperationAuthor',(_0x4118ad,_0x128eed)=>{const _0x162ee9=_0x128eed[0x0];_0x162ee9['_authorId']&&(_0x4118ad['return']=_0x5f24c1['getUser'](_0x162ee9['_authorId']),_0x4118ad['stop']()),null===_0x162ee9['_authorId']&&(_0x4118ad['return']=null,_0x4118ad['stop']());},{'priority':'high'}),this['listenTo'](_0x4b45c9['model']['document']['selection'],'change:range',(_0x5b58b6,_0x654c27)=>{_0x654c27['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4b45c9['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4b45c9['model']['on']('applyOperation',(_0x23cdd2,_0x375da9)=>{const _0xcdd4b0=_0x375da9[0x0];_0xcdd4b0['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xcdd4b0),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x642fc6,'state',this,'_hasSynchronizationProblem',(_0x3f6fec,_0x4ba907)=>'connected'===_0x3f6fec&&!_0x4ba907),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4b45c9['disableReadOnlyMode']('rtc-offline'):_0x4b45c9['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4b45c9['disableReadOnlyMode']('rtc-offline'):_0x4b45c9['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a9277=this['editor']['plugins']['get'](i),_0x360b6c=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x2a9277['unregister'](this['_channelId']);const _0x5f11af=await this['_service']['reconnect'](_0x360b6c['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5f11af)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x570bca=await this['_service']['getConnectedSessions']();_0x2a9277['register'](this['_channelId'],_0x570bca),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x1cd0f9){if(function(_0x35d483){return'404'===_0x35d483['code'];}(_0x1cd0f9)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x21e341){return'409'===_0x21e341['code'];}(_0x1cd0f9)){const _0x1c603d=N(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'](_0x1c603d);}else{if(!(_0x1cd0f9 instanceof z))throw _0x1cd0f9;this['_handleReconnectionError']();}}}}['destroy'](){const _0x5e4fb9=this['editor']['plugins']['get'](c),_0x18d63b=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x18d63b['channelSessions']['has'](this['_channelId'])&&_0x18d63b['unregister'](this['_channelId']),_0x5e4fb9['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x51b76c){if(this['sessionId']!==_0x51b76c['sessionId']&&this['_lastSyncedOperationId']!==_0x51b76c['lastOperationId'])throw new z();return this['sessionId']=_0x51b76c['sessionId'],this['_handleServerResponse']([],{..._0x51b76c,'wereChangesApplied':!0x1,'data':_0x51b76c['data']},'reconnect');}async['_connectService'](_0x493958,_0x5eec8a=!0x1){const {connection:_0x1962e0}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x1962e0,this['_channelId'])['then'](_0x1df387=>this['_initSessionsHandling'](_0x1df387))['catch'](_0x2da618=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2da618);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1f908c,_0x45b6c7)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x45b6c7);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x459259=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x493958);this['_isPendingUpdate']=!0x0;const _0x5d71df=await this['_service']['connect'](_0x1962e0,this['_compressOperations'](_0x493958),_0x459259);if(this['sessionId']=_0x5d71df['sessionId'],_0x5eec8a){if(!_0x5d71df['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5d71df['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x493958,_0x5d71df,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5d71df,_0x493958);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2222ba=this['editor']['plugins']['get'](i),_0x7edc9e=this['editor']['plugins']['get'](E),_0x2e0fff=_0x2222ba['channelSessions']['get'](this['_channelId']);_0x2e0fff&&_0x2e0fff['length']>0x1?_0x7edc9e['createUserMarkerOperations']():this['listenTo'](_0x2222ba,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2222ba['channelSessions']['get'](this['_channelId'])['length']&&_0x7edc9e['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x35db1b,_0x13f55b,_0x372923,_0x20e18f){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x13f55b){const _0x450d68=this['_decompressOperations'](_0x372923,_0x20e18f);await this['_fetchMissingUsers'](_0x450d68),this['_handleExternalOperations'](_0x450d68,_0x13f55b,_0x372923['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xe515}=this['editor'];let _0x42001d;try{_0x42001d=await this['_service']['getDocumentDetails']();}catch(_0x252275){const _0x5df7c8=N(_0xe515,'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'](_0x5df7c8);}const _0x579e7a=_0x42001d['currentDocumentSession']||_0x42001d['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x579e7a['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x5e7d7b=N(_0xe515,'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.');this['_handleReconnectionError'](_0x5e7d7b);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x177ab7){const _0xef0624=this['editor']['plugins']['get'](i);this['listenTo'](_0xef0624,'sessionAdd:'+this['_channelId'],(_0x2bfac2,{session:_0x4cbbcc})=>{if(_0x4cbbcc['id']===_0xef0624['mySessionId']){_0x2bfac2['off']();const _0x571607=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x5a87a1=_0x4cbbcc['permissions'];_0x571607&&_0x571607['isEnabled']&&(_0x5a87a1=_0x5a87a1['filter'](_0x41fac0=>'document:write'!==_0x41fac0)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x5a87a1,this['_channelId']);}}),_0xef0624['register'](this['_channelId'],_0x177ab7);}['_initThrowingOnDataSet'](){const _0x2b0eba=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x113f31)=>{if(!_0x113f31[_0x113f31['length']-0x1]['suppressErrorInCollaboration'])throw new _0x16c987('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2b0eba['apply'](this['editor']['data'],_0x113f31);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x3ed5d5,[_0x2c135c])=>{if(this['_document']['version'])throw new _0x16c987('realtimecollaborationclient-init-document-already-initialized',this);_0x3ed5d5['stop'](),this['_setPendingAction']();const _0x29def1=this['editor']['config']['get']('rootsAttributes'),_0x310cb0=this['_getOperationsFromInitData'](_0x2c135c,_0x29def1);0x0==_0x310cb0['length']&&_0x310cb0['push'](new _0x27ef1a(0x0)),_0x3ed5d5['return']=this['_connectService'](_0x310cb0)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x335073=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x335073))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x126d60,[_0x3612cc,_0x574bb4])=>{_0x126d60['stop']();const _0x23a201=this['editor']['model']['document']['getRoot'](_0x3612cc);if(!this['_knownRootNames']['has'](_0x3612cc)){const _0x5a566a=_0x574bb4&&_0x574bb4['data']?_0x574bb4['data']:'',_0x3c5ed6=_0x574bb4&&_0x574bb4['attributes']?_0x574bb4['attributes']:{};await this['_loadRoot'](_0x3612cc,_0x5a566a,_0x3c5ed6);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x23a201['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x23a201);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5e75ec){const _0x48913d=this['editor']['plugins']['get'](_0x4e4fb5),{connection:_0x2f4d57}=this['editor']['plugins']['get'](c),_0x4a18e5=new Set();for(const _0x48d4cb of _0x5e75ec){const _0x1679ba=_0x48d4cb['_authorId'];_0x1679ba&&!_0x48913d['getUser'](_0x1679ba)&&_0x4a18e5['add'](_0x1679ba);}if(0x0===_0x4a18e5['size'])return;const _0xfa64b0=await gt['getMany'](_0x2f4d57,Array['from'](_0x4a18e5));for(const _0x451a5e of _0xfa64b0)_0x48913d['getUser'](_0x451a5e['id'])||_0x48913d['addUser'](_0x451a5e);}['_getOperationsFromInitData'](_0x5006ee,_0x44d5cc={}){const _0x475e93=this['editor']['model'],_0x553dad=[];let _0x283d21=0x0;const _0x37f156='string'==typeof _0x5006ee?{'main':_0x5006ee}:_0x5006ee;for(const _0x5f124a of Object['keys'](_0x37f156)){if(!this['_document']['roots']['has'](_0x5f124a))throw new _0x16c987('realtimecollaborationclient-init-non-existent-root',this);const _0x448526=this['editor']['data']['parse'](_0x37f156[_0x5f124a]),_0x336779=this['_document']['getRoot'](_0x5f124a),_0x3509ac=new _0xb417a6(_0x475e93['createPositionAt'](_0x336779,0x0),_0x448526,_0x283d21++);_0x553dad['push'](_0x3509ac);for(const [_0x446adc,_0xfd6e48]of _0x448526['markers']){const _0x509c5e=_0x475e93['createRange'](_0x475e93['createPositionFromPath'](_0x336779,_0xfd6e48['start']['path']['slice']()),_0x475e93['createPositionFromPath'](_0x336779,_0xfd6e48['end']['path']['slice']())),_0xaa2a73=new _0x3bb2cc(_0x446adc,null,_0x509c5e,_0x475e93['markers'],!0x0,_0x283d21++);_0x553dad['push'](_0xaa2a73);}}if(_0x44d5cc)for(const [_0x571915,_0x2db661]of Object['entries'](_0x44d5cc)){const _0x2d9ec5=_0x475e93['document']['getRoot'](_0x571915);if(!_0x2d9ec5)throw new _0x16c987('multi-root-editor-root-attributes-no-root',null);for(const [_0x1065c9,_0x3f7b09]of Object['entries'](_0x2db661))if(null!==_0x3f7b09){const _0x26d021=new _0x2d5d74(_0x2d9ec5,_0x1065c9,null,_0x3f7b09,_0x283d21++);_0x553dad['push'](_0x26d021);}}return _0x553dad;}async['_loadRoot'](_0x2818fa,_0x1f237d,_0x185d1a){this['_getOperationsFromInitData']({[_0x2818fa]:_0x1f237d},{[_0x2818fa]:_0x185d1a})['forEach']((_0x4cfc67,_0x5b5dc6)=>{_0x4cfc67['baseVersion']=this['_document']['version']+_0x5b5dc6,_0x4cfc67['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x4cfc67);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x578a80,_0x162118){let _0x1557ff;this['_offset']=_0x578a80['offset'];const _0x46a249=_0x578a80['wereChangesApplied']&&!_0x578a80['initData'],_0x384dfb=_0x46a249?0x0:_0x578a80['data']['baseVersion'];if(_0x162118['forEach'](_0x23f2c4=>{_0x23f2c4['_isInit']=!0x0,_0x23f2c4['createdAt']=_0x578a80['sessionCreatedAt'],_0x23f2c4['_authorId']=null;}),_0x46a249)_0x1557ff=_0x162118,this['_applyOperationsSet'](_0x1557ff,_0x46a249);else{if(_0x578a80['initData']){const _0x253957=this['_getOperationsFromInitData'](_0x578a80['initData']);this['_document']['history']['version']=-_0x253957['length'],_0x253957['forEach'](_0x1f334e=>{_0x1f334e['baseVersion']-=_0x253957['length'],_0x1f334e['createdAt']=_0x578a80['sessionCreatedAt'],_0x1f334e['_isInit']=!0x0,_0x1f334e['_authorId']=null;}),this['_applyOperationsSet'](_0x253957,!0x0),this['serverHistory']['version']=-_0x253957['length']+this['_offset'],this['_updateServerHistory'](_0x253957);}this['_document']['history']['version']=_0x384dfb,_0x1557ff=this['_decompressOperations'](_0x578a80['data'],_0x578a80['metadata']),await this['_fetchMissingUsers'](_0x1557ff),this['_applyOperationsSet'](_0x1557ff,_0x46a249);}_0x578a80['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1557ff,_0x578a80['lastOperationId']),this['_lastSyncedOperationId']=_0x578a80['lastOperationId']),this['serverHistory']['version']=_0x384dfb+this['_offset'],this['_updateServerHistory'](_0x1557ff),_0x162118['filter'](_0x169648=>{const _0xe2f667=this['_getAffectedRoot'](_0x169648);return _0xe2f667&&!this['_knownRootNames']['has'](_0xe2f667);})['forEach']((_0x5d8b0b,_0x179f0f)=>{_0x5d8b0b['baseVersion']=this['_document']['version']+_0x179f0f,this['_saveOperationInBuffer'](_0x5d8b0b);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4e9d16,_0x360301){const _0x2885e9=_0x360301&&_0x360301['message'];if(_0x2885e9&&_0x2885e9['startsWith']('realtimecollaborationclient'))throw _0x360301;const _0x59e8e8=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x59e8e8['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x16c987(_0x4e9d16,this['editor'],_0x2885e9?{'originalError':_0x2885e9}:void 0x0);}['_saveOperationInBuffer'](_0x37dd8c){this['_knownOperations']['has'](_0x37dd8c)||(this['_knownOperations']['add'](_0x37dd8c),this['_bufferedOperations']['push'](_0x37dd8c),this['_pendingAction']||'marker'==_0x37dd8c['type']&&!_0x37dd8c['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xc73530=!0x1){!_0xc73530&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x392c42=>{_0x392c42&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3bf68e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3907f9){return _0x3907f9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3907f9['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3907f9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3bf68e)||this['_crash'](_0x3bf68e['message'],_0x3bf68e);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x44357b=>{this['on']('change:_isPendingUpdate',()=>{_0x44357b();});});}async['_sendBufferedOperations'](){const _0x1e395f=this['editor']['plugins']['get'](E);if(this['_shouldSendSelectionUpdate']()&&(_0x1e395f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x24cb29=[...this['_bufferedOperations']];for(const _0x2bfb21 of _0x24cb29)_0x2bfb21['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2bfb21);const _0x3cd450=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x24cb29),_0x238d08=M++,_0x3a6073=this['_compressOperations'](_0x24cb29),_0x233e02=await this['_service']['sendOperations'](_0x3a6073,_0x3a6073['baseVersion'],_0x3cd450);try{return await this['_handleServerResponse'](_0x24cb29,_0x233e02,_0x238d08);}catch(_0x211585){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x211585);}}async['_handleServerResponse'](_0x48eb25,_0x3e5595,_0x18ff71){if('error'in _0x3e5595)throw _0x3e5595['error'];let _0x20b341=!0x1;if(_0x3e5595['wereChangesApplied']){_0x3e5595['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3e5595['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x18e08a=>!_0x48eb25['includes'](_0x18e08a));for(const _0x15a27c of _0x48eb25)_0x15a27c['createdAt']='lastOperationAcceptedAt'in _0x3e5595&&_0x3e5595['lastOperationAcceptedAt']||void 0x0;H(_0x48eb25,_0x3e5595['version']-_0x48eb25['length']),this['_updateServerHistory'](_0x48eb25);const _0x46f6ac=_0x48eb25['filter'](_0x54ce7e=>{if(!_0x54ce7e['_isInit'])return!0x1;const _0x39ce68=this['_getAffectedRoot'](_0x54ce7e);return _0x39ce68&&!this['_knownRootNames']['has'](_0x39ce68);});H(_0x46f6ac,this['_document']['version']),this['_applyOperationsSet'](_0x46f6ac),_0x20b341=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3463ba=this['_decompressOperations'](_0x3e5595['data'],_0x3e5595['metadata'])['filter'](_0xb847e0=>_0xb847e0['baseVersion']>=this['_lastServerVersion']);_0x3463ba['forEach'](_0x1dabe5=>this['_addKnownRoot'](_0x1dabe5)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x131cc3=>!_0x131cc3['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x131cc3))),this['_bufferedOperations']['length']&&H(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3463ba),_0x20b341=this['_handleExternalOperations'](_0x3463ba,_0x3e5595['version'],_0x3e5595['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x20b341?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x2243a3,_0x2e5a70,_0x2755d1){try{const _0x2ce687={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x49765b,operationsB:_0x250f0b,originalOperations:_0x1ba18f}=_0x5e81eb(_0x2243a3,this['_bufferedOperations'],_0x2ce687);H(_0x49765b,this['_document']['version']),H(_0x250f0b,_0x2e5a70);for(const _0x2dc89a of _0x49765b){const _0x39b74a=_0x1ba18f['get'](_0x2dc89a);_0x2dc89a['_authorId']=_0x39b74a?_0x39b74a['_authorId']:null;}_0x2755d1&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x2243a3,_0x2755d1),this['_lastSyncedOperationId']=_0x2755d1),this['_bufferedOperations']=[..._0x250f0b],this['_applyOperationsSet'](_0x49765b),this['_updateServerHistory'](_0x2243a3);}catch(_0xa7e2e1){return console['error'](_0xa7e2e1),!0x1;}return!0x0;}['_applyOperationsSet'](_0x5d34d1,_0xda6e0f=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x53bc0c=>{for(const _0x1b9631 of _0x5d34d1)this['_knownOperations']['add'](_0x1b9631),this['_addKnownRoot'](_0x1b9631),_0x53bc0c['batch']['addOperation'](_0x1b9631),this['editor']['model']['applyOperation'](_0x1b9631);});}['_addKnownRoot'](_0xa93538){const _0x44bc5b=this['_getAffectedRoot'](_0xa93538);_0x44bc5b&&this['_knownRootNames']['add'](_0x44bc5b);}['_getAffectedRoot'](_0x63a2c8){let _0x4def60,_0x251bb4;switch(_0x63a2c8['type']){case'insert':_0x4def60=_0x63a2c8['position']['root'];break;case'marker':if(_0x251bb4=_0x63a2c8['newRange'],!_0x251bb4)return null;_0x4def60=_0x251bb4['root'];break;case'addRootAttribute':_0x4def60=_0x63a2c8['root'];break;case'addRoot':_0x4def60=_0x63a2c8['affectedSelectable'];break;case'move':_0x4def60=_0x63a2c8['targetPosition']['root'];break;default:return null;}return _0x4def60['rootName'];}['_updateServerHistory'](_0x1f7ebd){_0x1f7ebd['forEach'](_0x2e1164=>{const _0x4a76a5=_0x2e1164['clone']();_0x4a76a5['_authorId']=_0x2e1164['_authorId'],_0x4a76a5['_isInit']=!!_0x2e1164['_isInit'],_0x4a76a5['createdAt']=_0x2e1164['createdAt'],_0x4a76a5['baseVersion']+=this['_offset'],_0x2e1164['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4a76a5),this['serverHistory']['addOperation'](_0x4a76a5);});}['_handleReconnectionError'](_0x2806fe){const _0x3de898=this['editor']['plugins']['get']('Notification'),_0x47b8c7=this['editor']['locale'];_0x2806fe||(_0x2806fe=N(_0x47b8c7,'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.')),_0x3de898['showWarning'](_0x2806fe,{'title':N(_0x47b8c7,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x368ec2)['add'](N(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x368ec2)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5111cf){const _0x3e9ff7=_0x5111cf['map'](_0x4c80b7=>_0x4c80b7['toJSON']());return this['_compressor']['compress'](_0x3e9ff7);}['_decompressOperations'](_0x5b0002,_0x5cae89){return this['_compressor']['decompress'](_0x5b0002)['map']((_0x1435e6,_0x289193)=>{const _0x8a58b3='init'==_0x5cae89[_0x289193]['type'];if('InsertOperation'==_0x1435e6['__className']){const _0x5c1c2e=_0x1435e6['position']['root'];!this['_document']['getRoot'](_0x5c1c2e)&&(this['_document']['createRoot']('$root',_0x5c1c2e)['_isAttached']=!0x1);}const _0x157251=_0x34a530['fromJSON'](_0x1435e6,this['_document']);return _0x157251['wasUndone']=_0x1435e6['wasUndone'],_0x157251['_isInit']=_0x8a58b3,_0x157251['_authorId']=_0x8a58b3?null:_0x5cae89[_0x289193]['userId'],_0x157251['_isDisconnection']='cs:removeUser'===_0x5cae89[_0x289193]['type'],_0x157251['createdAt']=_0x5cae89[_0x289193]['createdAt'],_0x157251;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5060a0=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5060a0&&_0x5060a0['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class z extends Error{}function H(_0x1ad9c4,_0x107cd0){for(const _0x14b7a5 of _0x1ad9c4)_0x14b7a5['baseVersion']=_0x107cd0++;}class V{['_ignoredOperations'];['_operationToId'];constructor(_0x4f8581){this['_ignoredOperations']=_0x4f8581,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xea4798){let _0x48cbc8=_0xea4798['length'];for(;_0x48cbc8--;){const _0x3cc21a=_0xea4798[_0x48cbc8];if(!this['_ignoredOperations']['has'](_0x3cc21a)){if(!this['_operationToId']['has'](_0x3cc21a)){const _0x355fb6=_0x50742c()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3cc21a,_0x355fb6);}return this['_operationToId']['get'](_0x3cc21a);}}}['setIdForTheLastOperation'](_0x25a1b1,_0x17dce5){if(!_0x17dce5)return;let _0x1ffaee=_0x25a1b1['length'];for(;_0x1ffaee--;){const _0x54d06f=_0x25a1b1[_0x1ffaee];this['_ignoredOperations']['has'](_0x54d06f)||this['_operationToId']['set'](_0x54d06f,_0x17dce5);}}}class n extends _0x4a25e4{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x2a8d77{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x26d66e)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x4e4fb5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3f0e09){super(_0x3f0e09),this['_services']=new Map();}async['init'](){const _0x49c755=this['context'],_0x2a5e60=_0x49c755['plugins']['get']('CommentsRepository');if(_0x49c755['plugins']['get'](c)['addToReconnectionStack'](this),_0x2a5e60['adapter']={'addCommentThread':async({channelId:_0x49ea64,threadId:_0x1fcc61,comments:_0x4d03b4,resolvedAt:_0x54d7f8,resolvedBy:_0x23270c,context:_0x422000,attributes:_0x579c8c})=>{const _0x20118f=await this['_getService'](_0x49ea64)['addCommentThread']({'commentThreadId':_0x1fcc61,'comments':_0x4d03b4['map'](_0xc74003=>function(_0x13aff5,_0x4fb7df,_0x329185){return{'commentThreadId':_0x329185,'commentId':_0x13aff5['commentId'],'userId':_0x13aff5['authorId'],'content':_0x13aff5['content'],'documentId':_0x4fb7df,'createdAt':_0x13aff5['createdAt'],'attributes':_0x13aff5['attributes']||{}};}(_0xc74003,_0x49ea64,_0x1fcc61)),'resolvedAt':_0x54d7f8,'resolvedBy':_0x23270c,'context':_0x422000,'attributes':_0x579c8c})['catch'](wt);return{'threadId':_0x20118f['commentThreadId'],'comments':_0x20118f['comments']};},'getCommentThread':async({channelId:_0x638b9d,threadId:_0x3cbfa3})=>{const _0x14d671=await this['_getService'](_0x638b9d)['getCommentThread'](_0x3cbfa3)['catch'](wt);return _0x14d671['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x14d671]),{'threadId':_0x14d671['commentThreadId'],'comments':_0x14d671['comments']['map'](b),'context':_0x14d671['context'],'resolvedAt':_0x14d671['resolvedAt'],'resolvedBy':_0x14d671['resolvedBy'],'attributes':_0x14d671['attributes']||{}});},'updateCommentThread':async({channelId:_0x5bc113,threadId:_0x5afcb9,context:_0x1e462b,unlinkedAt:_0x3903fe,attributes:_0x1e7646})=>this['_getService'](_0x5bc113)['updateCommentThread']({'commentThreadId':_0x5afcb9,'context':_0x1e462b,'attributes':_0x1e7646,'unlinkedAt':_0x3903fe})['catch'](y)['catch'](wt),'resolveCommentThread':async({channelId:_0xece07f,threadId:_0x432dba})=>{const _0x5ee5b3=await this['_getService'](_0xece07f)['resolveCommentThread'](_0x432dba)['catch'](y)['catch'](wt);return{'threadId':_0x5ee5b3['commentThreadId'],'resolvedAt':_0x5ee5b3['resolvedAt'],'resolvedBy':_0x5ee5b3['resolvedBy']};},'reopenCommentThread':async({channelId:_0x600217,threadId:_0x56020b})=>this['_getService'](_0x600217)['reopenCommentThread'](_0x56020b)['catch'](y)['catch'](wt),'removeCommentThread':({channelId:_0x932a11,threadId:_0x2ccb34})=>this['_getService'](_0x932a11)['removeCommentThread'](_0x2ccb34)['catch'](y)['catch'](wt),'addComment':({channelId:_0x5ca2e4,threadId:_0x1747d3,commentId:_0x5361ba,content:_0x30b19b,attributes:_0x45b2cf})=>this['_getService'](_0x5ca2e4)['addComment'](_0x1747d3,_0x5361ba,_0x30b19b,_0x45b2cf)['catch'](wt),'updateComment':({channelId:_0x3795dd,threadId:_0x1818ad,commentId:_0x5e41bc,content:_0x214ad4,attributes:_0x2e2719})=>this['_getService'](_0x3795dd)['updateComment'](_0x1818ad,_0x5e41bc,_0x214ad4,_0x2e2719)['catch'](y)['catch'](wt),'removeComment':({channelId:_0x3dd212,threadId:_0x44817c,commentId:_0x3ee6a7})=>this['_getService'](_0x3dd212)['removeComment'](_0x44817c,_0x3ee6a7)['catch'](y)['catch'](wt)},_0x49c755 instanceof _0x19610f){const _0x435166=_0x49c755['config']['get']('collaboration.channelId'),_0x272726=_0x49c755['plugins']['get'](i);await this['_setUpService'](_0x435166);const _0x4659c7=await this['_services']['get'](_0x435166)['getConnectedSessions']();this['listenTo'](_0x272726,'sessionAdd:'+_0x435166,(_0x53672e,{session:_0x95dc1f})=>{_0x95dc1f['id']===_0x272726['mySessionId']&&(_0x53672e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x95dc1f['permissions'],_0x435166));}),_0x272726['register'](_0x435166,_0x4659c7);}}async['_setUpService'](_0x3eadd5){if(this['_services']['has'](_0x3eadd5))throw new _0x16c987('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3eadd5});const _0x56c8d5=this['context']['plugins']['get']('CommentsRepository'),_0x294471=new a['CommentsService'](_0x3eadd5);this['_services']['set'](_0x3eadd5,_0x294471),this['listenTo'](_0x294471,'commentThreadAdded',(_0xdb3760,_0x58c089)=>{const {commentThreadId:_0x2d89c9,documentId:_0x5688e4,context:_0x22a382,attributes:_0x2a7846,resolvedAt:_0x53b017,resolvedBy:_0x23ecc1,comments:_0x47d5d2}=_0x58c089;_0x56c8d5['getCommentThread'](_0x2d89c9)||_0x56c8d5['addCommentThread']({'threadId':_0x2d89c9,'channelId':_0x5688e4,'comments':_0x47d5d2?_0x47d5d2['map'](b):[],'context':_0x22a382,'attributes':_0x2a7846,'resolvedAt':_0x53b017,'resolvedBy':_0x23ecc1,'isFromAdapter':!0x0});}),this['listenTo'](_0x294471,'commentThreadUpdated',(_0x93953e,{commentThreadId:_0x4fced7,documentId:_0x157680,context:_0x4da321,unlinkedAt:_0x3d5b69,attributes:_0xdd3b0a})=>{_0x56c8d5['getCommentThread'](_0x4fced7)&&_0x56c8d5['updateCommentThread']({'threadId':_0x4fced7,'channelId':_0x157680,'context':_0x4da321,'unlinkedAt':_0x3d5b69,'attributes':_0xdd3b0a,'isFromAdapter':!0x0});}),this['listenTo'](_0x294471,'commentThreadResolved',(_0x58599a,{commentThreadId:_0x3d1190,resolvedBy:_0x5f4a00,resolvedAt:_0x42ffda})=>{const _0x477c7b=_0x56c8d5['getCommentThread'](_0x3d1190);_0x477c7b&&_0x477c7b['resolve']({'resolvedBy':_0x5f4a00,'resolvedAt':_0x42ffda,'isFromAdapter':!0x0});}),this['listenTo'](_0x294471,'commentThreadReopened',(_0x31eb37,{commentThreadId:_0x468b24})=>{const _0xf1cf57=_0x56c8d5['getCommentThread'](_0x468b24);_0xf1cf57&&_0xf1cf57['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x294471,'commentThreadRemoved',(_0xdf7545,{commentThreadId:_0x12c048})=>{const _0x4fd0a1=_0x56c8d5['getCommentThread'](_0x12c048);_0x4fd0a1&&_0x4fd0a1['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x294471,'commentAdded',(_0x1b5489,_0x28b73c)=>{const _0x304afe=_0x28b73c['commentThreadId'],_0x1ce62c=_0x56c8d5['getCommentThread'](_0x304afe);_0x1ce62c&&_0x1ce62c['addComment']({...b(_0x28b73c),'isFromAdapter':!0x0});}),this['listenTo'](_0x294471,'commentUpdated',(_0xc9864f,{commentThreadId:_0x238cb0,commentId:_0x13a9fc,content:_0x45d80a,attributes:_0x5ef615})=>{const _0x434cbd=_0x56c8d5['getCommentThread'](_0x238cb0);if(_0x434cbd){const _0x1ca049=_0x434cbd['getComment'](_0x13a9fc);_0x1ca049&&_0x1ca049['update']({'content':_0x45d80a,'attributes':_0x5ef615,'isFromAdapter':!0x0});}}),this['listenTo'](_0x294471,'commentRemoved',(_0x491e7f,{commentThreadId:_0x2ca68b,commentId:_0x50370b})=>{const _0x5b31ee=_0x56c8d5['getCommentThread'](_0x2ca68b);if(_0x5b31ee){const _0x13eeb8=_0x5b31ee['getComment'](_0x50370b);_0x13eeb8&&_0x13eeb8['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3eadd5);}['destroy'](){if(this['context']instanceof _0x19610f){const _0x5cac91=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x5cac91);}}['_terminateService'](_0xf6d9ac){if(!this['_services']['has'](_0xf6d9ac))throw new _0x16c987('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0xf6d9ac});this['_getService'](_0xf6d9ac)['disconnect'](),this['_services']['delete'](_0xf6d9ac);}async['reconnect'](){for(const _0x414956 of this['_services']['keys']())await this['_connectService'](_0x414956);if(this['context']instanceof _0x19610f){const _0x491912=this['context']['config']['get']('collaboration.channelId'),_0x4ad5a4=this['context']['plugins']['get'](i);_0x4ad5a4['unregister'](_0x491912);const _0x433267=await this['_services']['get'](_0x491912)['getConnectedSessions']();_0x4ad5a4['register'](_0x491912,_0x433267);}}async['_connectService'](_0x105db8){const {connection:_0x2dd60f}=this['context']['plugins']['get'](c),_0x2dfa38=this['context']['plugins']['get']('CommentsRepository'),_0x2e2aae=this['_services']['get'](_0x105db8),_0x5300ec=await _0x2e2aae['connect'](_0x2dd60f);await this['_fetchMissingUsersForThreads'](_0x5300ec);const _0x35a645=new Set(Array['from'](_0x2dfa38['getCommentThreads']({'channelId':_0x105db8}),_0x4ef198=>_0x4ef198['id']));for(const _0xc7d3fe of _0x5300ec)_0xc7d3fe['deletedAt']||_0x35a645['delete'](_0xc7d3fe['commentThreadId']);for(const _0x2dc097 of _0x35a645)_0x2dfa38['getCommentThread'](_0x2dc097)['remove']({'isFromAdapter':!0x0});for(const _0x1e324d of _0x5300ec){let _0x574333=_0x2dfa38['getCommentThread'](_0x1e324d['commentThreadId']);const {commentThreadId:_0x3902cf,context:_0x326a42,attributes:_0x173c30,resolvedBy:_0x2bf9c7,resolvedAt:_0x3296be,unlinkedAt:_0x40bf99,deletedAt:_0x10720f}=_0x1e324d;if(_0x10720f)continue;_0x574333||(_0x574333=_0x2dfa38['addCommentThread']({'channelId':_0x105db8,'threadId':_0x3902cf,'context':_0x326a42,'attributes':_0x173c30||{},'resolvedBy':_0x2bf9c7,'resolvedAt':_0x3296be,'unlinkedAt':_0x40bf99,'isFromAdapter':!0x0}));const _0x45232a=new Set(Array['from'](_0x574333['comments'],_0x185bda=>_0x185bda['id']));for(const _0x43616c of _0x1e324d['comments'])_0x45232a['delete'](_0x43616c['commentId']);for(const _0x261f6a of _0x45232a)_0x574333['getComment'](_0x261f6a)['remove']({'isFromAdapter':!0x0});for(const _0x3e668a of _0x1e324d['comments']){const _0x3ad31c=_0x574333['getComment'](_0x3e668a['commentId']);_0x3ad31c?_0x3ad31c['content']!==_0x3e668a['content']&&_0x3ad31c['update']({'content':_0x3e668a['content'],'isFromAdapter':!0x0}):_0x574333['addComment'](Object['assign'](b(_0x3e668a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x48801e){if(!this['_services']['has'](_0x48801e))throw new _0x16c987('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x48801e});return this['_services']['get'](_0x48801e);}async['_fetchMissingUsersForThreads'](_0x154e48){const _0x571551=this['context']['plugins']['get'](_0x4e4fb5),{connection:_0x32bb71}=this['context']['plugins']['get'](c),_0x20a237=new Set();for(const {resolvedBy:_0x1fc496,comments:_0xbca0af}of _0x154e48){_0x1fc496&&!_0x571551['getUser'](_0x1fc496)&&_0x20a237['add'](_0x1fc496);for(const {userId:_0x346c52}of _0xbca0af)_0x571551['getUser'](_0x346c52)||_0x20a237['add'](_0x346c52);}if(0x0===_0x20a237['size'])return;const _0x38ac40=await gt['getMany'](_0x32bb71,Array['from'](_0x20a237));for(const _0x18a386 of _0x38ac40)_0x571551['getUser'](_0x18a386['id'])||_0x571551['addUser'](_0x18a386);}}async function y(_0x36ed69){if('404'!==_0x36ed69['code'])throw _0x36ed69;}function wt(_0x32c59e){if((_0x3194cb=_0x32c59e)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3194cb['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3194cb['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3194cb;throw _0x32c59e;}function b(_0x24023c){return{'threadId':_0x24023c['commentThreadId'],'commentId':_0x24023c['commentId'],'content':_0x24023c['content'],'createdAt':_0x24023c['createdAt'],'authorId':_0x24023c['userId'],'attributes':_0x24023c['attributes']||{}};}class f extends _0x4a25e4{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x5ea951)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1efbe1){super(_0x1efbe1);const _0x51697f=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x51697f);}['init'](){const _0x5ca182=this['editor']['plugins']['get'](c),_0x47aebf=this['editor']['plugins']['get']('TrackChangesEditing');return _0x47aebf['adapter']={'getSuggestion':async _0x2ad49a=>{await this['_waitForServiceReady']();const _0x2fba76=await this['_trackChangesService']['get'](_0x2ad49a)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x2fba76]),_0x2fba76;},'addSuggestion':async({id:_0x577483,type:_0x20c450,data:_0x3f8be4,originalSuggestionId:_0x1afcfa,attributes:_0x1d718c})=>{await this['_waitForServiceReady']();const _0x4b98ac={'id':_0x577483,'type':_0x20c450,'data':_0x3f8be4,'originalSuggestionId':_0x1afcfa,'attributes':_0x1d718c},_0x210454=await this['_trackChangesService']['add'](_0x577483,_0x20c450,_0x3f8be4,_0x1afcfa,_0x1d718c)['catch'](_0x3bf2df=>{if(vt(_0x3bf2df))return new Promise(_0x122869=>{this['_bufferedRequests']['set'](_0x577483,{'resolve':_0x122869,'suggestionData':_0x4b98ac});});throw _0x3bf2df;});return this['_bufferedRequests']['delete'](_0x577483),_0x210454;},'updateSuggestion':async(_0x4ec100,_0x1e560f)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1e560f['state'])return this['_trackChangesService']['update'](_0x4ec100,_0x1e560f)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x210701,_0x52cc59)=>{_0x47aebf['hasSuggestion'](_0x52cc59['id'])&&(_0x47aebf['getSuggestion'](_0x52cc59['id'])['attributes']=_0x52cc59['attributes']);}),this['_trackChangesService']['connect'](_0x5ca182['connection'])['then'](_0x837ae6=>(_0x5ca182['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x837ae6)['then'](()=>{for(const _0xbd2ae8 of _0x837ae6){_0x47aebf['addSuggestionData'](_0xbd2ae8)['_saved']=!0x0;}})));}async['reconnect'](){const _0x4860e3=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3269dc}=this['editor']['plugins']['get'](c),_0x3056fc=await this['_trackChangesService']['connect'](_0x3269dc);await this['_fetchMissingUsersForThreads'](_0x3056fc);for(const {suggestionData:_0x62a85c,resolve:_0x1fa2d7}of this['_bufferedRequests']['values']()){let _0x1c869a=_0x3056fc['find'](_0x487a15=>_0x487a15['id']===_0x62a85c['id']);_0x1c869a||(_0x1c869a=await this['_trackChangesService']['add'](_0x62a85c['id'],_0x62a85c['type'],_0x62a85c['data'],_0x62a85c['originalSuggestionId'])),_0x1fa2d7(_0x1c869a);}for(const _0x473c88 of _0x3056fc)_0x4860e3['hasSuggestion'](_0x473c88['id'])||_0x4860e3['addSuggestionData'](_0x473c88);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x41d4b3=>{this['listenTo'](this['_trackChangesService'],'connected',_0x32a4d4=>{_0x32a4d4['off'](),_0x41d4b3();});});}async['_fetchMissingUsersForThreads'](_0xa563eb){const _0x17fb61=this['editor']['plugins']['get'](_0x4e4fb5),{connection:_0x56fab6}=this['editor']['plugins']['get'](c),_0x57afde=new Set();for(const {authorId:_0x3d845b}of _0xa563eb)_0x17fb61['getUser'](_0x3d845b)||_0x57afde['add'](_0x3d845b);if(0x0===_0x57afde['size'])return;const _0x465e1a=await gt['getMany'](_0x56fab6,Array['from'](_0x57afde));for(const _0x3940e5 of _0x465e1a)_0x17fb61['getUser'](_0x3940e5['id'])||_0x17fb61['addUser'](_0x3940e5);}}function w(_0x58a39e){if(vt(_0x58a39e))return new Promise(()=>{});throw _0x58a39e;}function vt(_0x31ae49){return _0x31ae49['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x31ae49['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x4a25e4{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4205b2=this['editor']['plugins']['get'](c),_0x389f02=this['editor']['plugins']['get']('CommentsEditing'),_0x2acacf=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4205b2,'change:state',(_0x1f3b32,_0x3f08bf,_0x4b0559)=>{_0x389f02['isThreadsLoadingPaused']='connected'!==_0x4b0559;});}),this['listenTo'](_0x4205b2,'change:state',(_0x2cd2e3,_0x2ab221,_0x374e6d)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x374e6d);}),_0x2acacf['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x4a25e4{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x4a25e4{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x5b8615)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x4e4fb5];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2620f5){super(_0x2620f5);const _0x4f2231=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x4f2231);}async['init'](){const _0x3b6734=this['editor']['plugins']['get'](l),_0x3b8182=_0x3b6734['serverHistory'],_0x1acbba=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x3b8182,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x3b6734['sessionId']});const _0x5dc16c=this['editor']['config']['get']('cloudServices.bundleVersion')||ut,_0x53c1b5=await _0x5bf815['isBundleUploaded'](_0x1acbba['connection'],_0x5dc16c);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1d9ffd})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1d9ffd)),'updateRevisions':async _0x48d238=>{await this['_waitForServiceReady']();const _0x5cf57d=this['_revisionTracker']['currentRevision'];if(_0x53c1b5&&0x1===_0x48d238['length']&&_0x48d238[0x0]['id']===_0x5cf57d['id'])return _0x48d238;for(const _0x1498c0 of _0x48d238)_0x1498c0['id']===_0x5cf57d['id']&&(_0x1498c0['isEmptyCurrent']=_0x1498c0['fromVersion']===_0x1498c0['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x48d238,this['_lastRequestId'])['then'](_0x1b6b19=>(this['_lastRequestId']=_0x1b6b19,_0x48d238))['catch'](_0x4c74b9=>{if(Q(_0x4c74b9)||'400'===_0x4c74b9['code']&&void 0x0!==_0x4c74b9['data']['wrongRequestId']){for(const _0x58f821 of _0x48d238){!this['_revisionTracker']['repository']['getRevision'](_0x58f821['id'])||this['_revisionTracker']['_bufferUpdate'](_0x58f821['id'],_0x58f821,!0x1);}if(Q(_0x4c74b9))throw _0x4c74b9;return _0x48d238;}throw _0x4c74b9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d881f,{revisionsData:_0x449d5,requestId:_0x14a624})=>{Math['max'](..._0x449d5['map'](_0x1894d8=>_0x1894d8['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x449d5,_0x14a624);}):this['_handleRevisionsUpdate'](_0x449d5,_0x14a624);});const {revisions:_0x1cb8db,requestId:_0x5c444e}=await this['_revisionHistoryService']['connect'](_0x1acbba['connection']);_0x1acbba['addToReconnectionStack'](this),this['_lastRequestId']=_0x5c444e,await this['_fetchMissingUsers'](_0x1cb8db);for(const _0x5ac7fa of _0x1cb8db)this['_revisionTracker']['addRevisionData'](_0x5ac7fa);this['listenTo'](_0x3b6734,'change:_isConnected',(_0x7b05ae,_0x37896d,_0x5eb3f3)=>{_0x5eb3f3&&(this['_oldOffset']=_0x3b6734['_offset'],_0x7b05ae['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1acbba,'state',_0x42c102=>_0x42c102===_0x12cc86['CONNECTED']);}async['reconnect'](){const _0x15727e=this['editor']['plugins']['get'](c),_0x1f13a7=this['editor']['plugins']['get'](l),_0x3c92c0=async()=>{const _0x25676b=this['_revisionTracker']['currentRevision'],_0x506d39=_0x25676b['id'],_0x344163=_0x506d39!==_0x1f13a7['sessionId'];if(_0x344163){const _0x553bac=_0x1f13a7['_offset']-this['_oldOffset'],_0x2870db=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x25676b['toVersion']+_0x553bac!==_0x2870db){const _0x365d61=_0x25676b['fromVersion']+_0x553bac,_0x5bc0ca=this['editor']['plugins']['get'](_0x4e4fb5),_0x2f1663=this['_revisionTracker']['buildRevisionData']({'revision':_0x25676b,'from':_0x365d61,'to':_0x2870db});_0x2f1663['id']=_0x25676b['id'];const _0x1c9337=_0x2f1663['authorsIds']['map'](_0x426be1=>_0x5bc0ca['getUser'](_0x426be1));_0x25676b['_update']({..._0x2f1663,'authors':_0x1c9337},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x25676b['id'],_0x2f1663,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2870db,(_0x25676b['toVersion']===_0x25676b['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x506d39)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x506d39),this['_revisionTracker']['_createCurrentRevision'](_0x2870db));}const {revisions:_0x13f754,requestId:_0x6df774}=await this['_revisionHistoryService']['reconnect'](_0x15727e['connection'],this['_lastRequestId']);_0x344163&&_0x13f754['length']>0x0?_0x1f13a7['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x13f754),this['_handleRevisionsUpdate'](_0x13f754,_0x6df774),this['_revisionTracker']['sendBufferedUpdates']());};return _0x1f13a7['_isConnected']?_0x3c92c0():new Promise((_0x336be4,_0x5432e9)=>{_0x1f13a7['once']('change:_isConnected',()=>{_0x3c92c0()['then'](_0x336be4)['catch'](_0x5432e9);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x15ac50=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2fffd2=>{_0x2fffd2['off'](),_0x15ac50();});});}['_getLatestVersionFromServerOperations'](){const _0x46b140=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x479562 of _0x46b140)if('marker'!==_0x479562['type']||_0x479562['affectsData'])return _0x479562['baseVersion']+0x1;}['_getLatestVersion'](){const _0xa134b3=this['editor']['plugins']['get'](l);return new Promise(_0x23afbf=>{_0xa134b3['_isPendingUpdate']?_0xa134b3['once']('change:_isPendingUpdate',()=>{_0x23afbf(this['_getLatestVersionFromServerOperations']());}):_0x23afbf(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x40991f,_0x46cd87){const _0xf91022=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x46cd87;for(const _0x520776 of _0x40991f){const _0x1691c6=_0xf91022['getRevision'](_0x520776['id']);if(_0x1691c6){if((_0x520776['fromVersion']||_0x520776['toVersion'])&&(_0x520776['diffData']=null),_0x1691c6===this['_revisionTracker']['currentRevision']){const _0x56b9a1=Math['max'](_0x1691c6['toVersion'],_0x520776['toVersion']),_0x58630c=Math['max'](_0x1691c6['fromVersion'],_0x520776['fromVersion']);let _0x18f812;_0x1691c6['toVersion']===_0x520776['toVersion']&&_0x1691c6['fromVersion']===_0x520776['fromVersion']?(_0x18f812=!0x0,this['_preventResendingRevisionData'](_0x520776)):_0x520776['toVersion']===_0x56b9a1&&_0x520776['fromVersion']===_0x58630c?_0x18f812=!0x1:(_0x1691c6['toVersion']===_0x56b9a1&&_0x1691c6['fromVersion']===_0x58630c||this['_fixRevision']({'revision':_0x1691c6,'from':_0x58630c,'to':_0x56b9a1}),_0x18f812=!0x0),_0x18f812&&(delete _0x520776['fromVersion'],delete _0x520776['toVersion'],delete _0x520776['diffData'],delete _0x520776['createdAt'],delete _0x520776['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x520776),this['_preventResendingRevisionData'](_0x520776);}else this['_revisionTracker']['addRevisionData'](_0x520776);}const _0x177933=_0xf91022['getRevisions']();_0x177933['reverse']();for(let _0x5b24b8=0x0;_0x5b24b8<_0x177933['length']-0x1;_0x5b24b8++){const _0x3aed31=_0x177933[_0x5b24b8],_0x1ef857=_0x177933[_0x5b24b8+0x1];if(_0x3aed31['fromVersion']<_0x1ef857['toVersion']){const _0x92a77f=_0x1ef857['toVersion'],_0x65d726=Math['max'](_0x92a77f,_0x3aed31['toVersion']);this['_fixRevision']({'revision':_0x3aed31,'from':_0x92a77f,'to':_0x65d726});}}}['_fixRevision']({revision:_0x295192,from:_0x395a2b,to:_0x505f1e}={}){const _0x448d83=this['editor']['plugins']['get'](_0x4e4fb5),_0x176028=this['_revisionTracker']['buildRevisionData']({'revision':_0x295192,'from':_0x395a2b,'to':_0x505f1e});_0x176028['authors']=_0x176028['authorsIds']['map'](_0x48eddb=>_0x448d83['getUser'](_0x48eddb)),_0x295192['_update'](_0x176028);}['_preventResendingRevisionData'](_0x52abda){const _0x230120={};_0x230120['id']=_0x52abda['id'];for(const _0x4e44e5 of Object['keys'](_0x52abda))'id'!==_0x4e44e5&&(_0x230120[_0x4e44e5]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x230120['id'],_0x230120,!0x0);}async['_fetchMissingUsers'](_0xdb9369){const _0x41b3be=this['editor']['plugins']['get'](_0x4e4fb5),{connection:_0x464a1b}=this['editor']['plugins']['get'](c),_0x3bc1cf=new Set();for(const _0x128f5a of _0xdb9369){for(const _0x8fb7a9 of _0x128f5a['authorsIds'])_0x4dbf3b(_0x8fb7a9);_0x128f5a['creatorId']&&_0x4dbf3b(_0x128f5a['creatorId']);}if(0x0===_0x3bc1cf['size'])return;const _0x132c6d=await gt['getMany'](_0x464a1b,Array['from'](_0x3bc1cf));for(const _0x58ba88 of _0x132c6d)_0x41b3be['getUser'](_0x58ba88['id'])||_0x41b3be['addUser'](_0x58ba88);function _0x4dbf3b(_0x362974){_0x41b3be['getUser'](_0x362974)||_0x3bc1cf['add'](_0x362974);}}}function Q(_0x1820b1){return _0x1820b1['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1820b1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1820b1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4a25e4{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class rt extends _0x406a70{['_collapseAt'];constructor(_0x1fd0bc,_0x593780=0x6){super(_0x1fd0bc);const _0x1fe275=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x593780,this['bind']('isHidden')['to'](this,'usersCount',_0x125a96=>_0x125a96<_0x593780),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1fe275['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':_0x1fe275['to']('usersCount',_0x490923=>'+'+(_0x490923-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x406a70{['items'];['keystrokes'];constructor(_0x789c17){super(_0x789c17);const _0x5be7e7=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x24bdf2(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x5be7e7['if']('hasPopup'),'aria-expanded':_0x5be7e7['to']('isExpanded',_0x35c392=>this['hasPopup']&&String(_0x35c392)),'aria-label':_0x5be7e7['to']('hasPopup',_0x18aa72=>N(_0x789c17,_0x18aa72?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x5be7e7['to']('hasPopup',_0x242c23=>!!_0x242c23&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x5be7e7['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x5be7e7['to'](_0x430b5f=>{const _0x2048c0=_0x430b5f,_0x522604=document['querySelector']('.ck-presence-list__dropdown-list'),_0x45268a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x522604?.['contains'](_0x2048c0['relatedTarget'])||_0x45268a?.['contains'](_0x2048c0['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2e428f,_0x17f238,_0x2c956c)=>{this['element']&&(_0x2c956c?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 et extends _0x406a70{['counterView'];['inlineListView'];constructor(_0x480985,_0x41fb7b=0x6){super(_0x480985);const _0x4ba16b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new rt(this['locale'],_0x41fb7b),this['inlineListView']=new ts(_0x480985),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x15615f of this['inlineListView']['items'])_0x15615f['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',_0x4ba16b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class ht extends _0x406a70{['listWrapperView'];constructor(_0x2fe74d,_0x56a06e){super(_0x2fe74d);const _0x49f7f6=this['bindTemplate'];this['listWrapperView']=new _t(_0x2fe74d,_0x56a06e),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':N(_0x2fe74d,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x49f7f6['to'](_0x205a7d=>{const _0x59e64d=_0x205a7d,_0xd8110f=document['querySelector']('.ck-presence-list__list'),_0x165ad5=document['querySelector']('.ck-balloon-panel_with-arrow');_0xd8110f?.['contains'](_0x59e64d['relatedTarget'])||_0x165ad5?.['contains'](_0x59e64d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class _t extends _0x12f9ba{constructor(_0x5872e9,_0x35b36a){super(_0x5872e9);const _0x5b032=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x35b36a?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5b032['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5b032['to']('role'),'aria-label':_0x5b032['to']('ariaLabel'),'aria-labelledby':_0x5b032['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x1c00e3['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1ee622=this['element'];_0x1ee622&&(this['_isScrollable']=Math['max'](_0x1ee622['scrollHeight'],_0x1ee622['clientHeight'])>0.8*window['innerHeight']);}}class nt extends at{['userView'];constructor(_0x3bc33e,_0xaf24c4,_0x2132e8){super(_0x3bc33e);const _0x1944e9=this['bindTemplate'];this['userView']=new lt(_0x3bc33e,_0xaf24c4);const _0x164eb2={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xaf24c4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xaf24c4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xaf24c4['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2132e8&&(_0x164eb2['tag']='button',_0x164eb2['on']={'click':_0x1944e9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x164eb2);}['focus'](){this['element']['focus']();}}class ot extends _0x406a70{['userView'];['markerView'];constructor(_0x39faee,_0x4fc245,_0x1d1492){super(_0x39faee);const _0x1a051c=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new lt(_0x39faee,_0x4fc245),this['markerView']=new dt(_0x39faee,_0x4fc245);const _0x15fd5f=new pt(_0x39faee);_0x15fd5f['template']['tag']='span',_0x15fd5f['text']=_0x4fc245['name'];const _0xc979cc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1a051c['to']('isFocusable',_0x5b133a=>!!_0x5b133a&&0x0),'aria-labelledby':_0x15fd5f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1a051c['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1a051c['to']('hasTooltip',_0x3d50f7=>!_0x3d50f7),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x15fd5f]};_0x1d1492&&(_0xc979cc['tag']='button',_0xc979cc['on']={'click':_0x1a051c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xc979cc);}}class dt extends _0x406a70{constructor(_0x16c68e,_0x1ef567){super(_0x16c68e),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1ef567['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ct={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2a8d77{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x31e7fc){super(_0x31e7fc),this['context']['config']['define']('presenceList',ct);const _0x598658=_0x31e7fc['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x598658)throw new _0x16c987('presencelist-collapseat-invalid-format',this);if(_0x598658<0x1)throw new _0x16c987('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x1f3b9f(),this['balloonPanelView']=new tt(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x68adea of this['_allConnectedUsers'])this['_handleUserAdd'](_0x68adea);this['listenTo'](this['_allConnectedUsers'],'add',(_0x174cb3,_0x17b662)=>{this['_handleUserAdd'](_0x17b662);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x3b65de,_0x5da2a8)=>{this['_handleUserRemove'](_0x5da2a8);});}['_createView'](){const _0x14a409=this['context'],_0xb49c0a=new et(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x77137=this['balloonPanelView'];if(!it(_0x14a409['config']['get']('presenceList.container')))throw new _0x16c987('presencelist-missing-container',this);return _0xb49c0a['counterView']['bind']('usersCount')['to'](this),_0xb49c0a['bind']('isCollapsed')['to'](this,'usersCount',_0x2f3493=>{const {collapseAt:_0x1ce4e7}=_0x14a409['config']['get']('presenceList'),_0x57762f=_0x2f3493>=_0x1ce4e7;if(_0x57762f&&!_0xb49c0a['inlineListView']['items']['find'](_0x1f4162=>_0x1f4162 instanceof rt)){const _0x1d3503=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1d3503&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xb49c0a['inlineListView']['items']['add'](_0xb49c0a['counterView']);}return _0x57762f||this['hideDropdown'](),_0x57762f;}),_0xb49c0a['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3179a7=>{const _0x1ea71a=_0x14a409['config']['get']('presenceList'),_0x2b48cf=new ot(_0x14a409['locale'],_0x3179a7,!!_0x1ea71a['onClick']);return _0x2b48cf['bind']('hasTooltip')['to'](_0xb49c0a,'isCollapsed',_0x11376e=>!_0x11376e),_0x2b48cf['bind']('isFocusable')['to'](_0xb49c0a,'isCollapsed',_0x15e7c2=>!_0x15e7c2),_0x1ea71a['onClick']&&this['listenTo'](_0x2b48cf,'execute',()=>{this['view']['isCollapsed']||_0x1ea71a['onClick'](_0x3179a7,_0x2b48cf['element']);}),_0x2b48cf;}),this['listenTo'](_0xb49c0a['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xb49c0a['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xb49c0a['inlineListView']['keystrokes']['set']('Enter',(_0x1ecaae,_0x460eef)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x460eef());}),_0xb49c0a['render'](),_0x77137['render'](),_0x38782a({'emitter':_0xb49c0a,'activator':()=>_0x77137['isVisible'],'contextElements':[_0x77137['element'],_0xb49c0a['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x14a409['config']['get']('presenceList.container')['appendChild'](_0xb49c0a['element']),this['_bodyCollection']=new st(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xb49c0a;}['_handleUserAdd'](_0x5df8e1){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5df8e1['isMe'])return;const _0x4a8509=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4a8509-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x541f55=_0x5df8e1['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5df8e1,_0x541f55);}['_handleUserRemove'](_0x80e071){this['usersCount']--;const {collapseAt:_0x478a0c}=this['context']['config']['get']('presenceList'),_0xd2670a=this['usersCount']>=_0x478a0c;if(this['currentDisplayedUsers']['get'](_0x80e071['id']))this['currentDisplayedUsers']['remove'](_0x80e071['id']);else{if(_0xd2670a&&this['currentDisplayedUsers']['length']+0x1===_0x478a0c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xd2670a?0x1:0x0)<this['usersCount']){for(const _0xbcf90e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0xbcf90e['id'])&&(this['currentDisplayedUsers']['add'](_0xbcf90e,Math['min'](this['currentDisplayedUsers']['length']-(_0xd2670a?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xd2670a?0x1:0x0)===_0x478a0c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x205fea=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new ht(this['context']['locale'],!!_0x205fea['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5a6ac2}=this['presenceDropdownView'];_0x5a6ac2['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x441246=>{if(!_0x205fea['displayMe']&&_0x441246['isMe'])return null;const _0x30c100=new nt(this['context']['locale'],_0x441246,!!_0x205fea['onClick']);return _0x205fea['onClick']&&this['listenTo'](_0x30c100,'execute',()=>{_0x205fea['onClick'](_0x441246,_0x30c100['element']);}),_0x30c100;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5a6ac2['focus'](),_0x5a6ac2['checkIfScrollable']();const _0x493e8d=(_0x208da9,_0x572ab6)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x572ab6();};_0x5a6ac2['keystrokes']['set']('Esc',_0x493e8d),_0x5a6ac2['keystrokes']['set']('Shift+Tab',_0x493e8d),_0x5a6ac2['keystrokes']['set']('Tab',(_0x32df7f,_0x3b7df1)=>{!function(_0x3cacaf){const _0x577129=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5c43ad=>_0x5c43ad+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5b8c91=[...document['body']['querySelectorAll'](_0x577129)]['filter'](_0x28afcd=>_0x28afcd===document['activeElement']||_0x28afcd['offsetWidth']+_0x28afcd['offsetHeight']>0x0)['sort']((_0x412d37,_0x197512)=>(_0x412d37['tabIndex']||0x0)-(_0x197512['tabIndex']||0x0)),_0x137c9f=_0x5b8c91['indexOf'](_0x3cacaf),_0x35802e=_0x5b8c91[(_0x137c9f+0x1)%_0x5b8c91['length']];_0x35802e&&_0x35802e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3b7df1();}),_0x5a6ac2['focusTracker']['add'](this['view']['element']),_0x5a6ac2['focusTracker']['on']('change:isFocused',(_0x2b8d7e,_0x1228d2,_0x38c7a9)=>{_0x38c7a9||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 s extends _0x2a8d77{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};