@ckeditor/ckeditor5-real-time-collaboration 47.3.0-alpha.7 → 47.3.0

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 _0xef721,Plugin as _0x4ae7a2,PendingActions as _0x3efdf4,Context as _0x389e35}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x16de9c,CKEditorError as _0x27f4c7,Collection as _0x5037c6,global as _0x3e222a,version as nt,uid as _0x3f5d81,KeystrokeHandler as _0x2c9840}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x273eec,View as _0x4e98ce,ListView as _0x1aff0d,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x3c94f3,clickOutsideHandler as _0x8c51e2,BodyCollection as _0x349d35}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x3bd0a3,History as _0x2d2544,NoOperation as _0x4513c4,InsertOperation as _0x4bc593,MarkerOperation as _0x21c1c7,RootAttributeOperation as _0x565082,transformOperationSets as _0xa00475,OperationFactory as _0x52dd2d}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x281953,User as lt,CommentsService as _0x9f6ed1,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x466bcc,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x2e2d61}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x56d934}from'es-toolkit/compat';class n extends _0xef721{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x273eec];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x40c940){super(_0x40c940),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x16de9c())();}['init'](){const _0x5542b4=this['context'],_0x109f9a=_0x5542b4['plugins']['get']('CloudServices'),_0x3d1c32=_0x5542b4['plugins']['get'](_0x273eec);if(!_0x109f9a['token'])throw new _0x27f4c7('websocketgateway-missing-token',this);if(!_0x109f9a['webSocketUrl'])throw new _0x27f4c7('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x109f9a['token'],_0x109f9a['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x446edd=>{if(this['connection']=_0x446edd,this['bind']('state')['to'](_0x446edd,'state',this,'_isBrowserOffline',(_0x482840,_0x349bfd)=>('connected'!==_0x482840&&(this['_shouldPluginsReconnect']=!0x0),_0x349bfd||_0x482840!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x548d2f,_0x309a18)=>{if('limitExceeded'!==_0x309a18['code'])throw console['error'](_0x309a18),new _0x27f4c7('cloudservices-init',null,{'originalError':_0x309a18});_0x3d1c32['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'});}),!_0x446edd['me'])return new Promise(_0x299453=>_0x446edd['on']('change:me',_0x299453));})['catch'](_0x2a5f49=>{throw console['error'](_0x2a5f49),new _0x27f4c7('cloudservices-init',null,{'originalError':_0x2a5f49});});}['addToReconnectionStack'](_0x3135fb){if('function'!=typeof _0x3135fb['reconnect'])throw new _0x27f4c7('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x3135fb))throw new _0x27f4c7('websocketgateway-plugin-already-registered',this,{'name':_0x3135fb['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x3135fb);}['removeFromReconnectionStack'](_0x36b335){this['_reconnectionStack']['delete'](_0x36b335);}['isInReconnectionStack'](_0x5373b7){return this['_reconnectionStack']['has'](_0x5373b7);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x54c5ce=>_0x54c5ce['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x3c0e97=>{throw console['error'](_0x3c0e97),new _0x27f4c7('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0xef721{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x466bcc];}constructor(_0x329c18){super(_0x329c18),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5037c6(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x466bcc);}['init'](){const _0x32d522=this['context']['plugins']['get'](n);this['listenTo'](_0x32d522,'change:state',(_0x453f71,_0x4d6846,_0x52d168)=>{if('connected'!==_0x52d168)this['channelSessions']['forEach'](_0x45d07c=>_0x45d07c['clear']()),this['channelConnectedUsers']['forEach'](_0x58be67=>_0x58be67['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x216f79,_0x48160c]of this['_registeredSessions'])for(const _0x5b392b of _0x48160c)this['_handleSessionAdd'](_0x216f79,_0x5b392b);}}),this['_createUser'](_0x32d522['connection']['me'],!0x0);}['register'](_0x11ee44,_0x198f97){if(this['_registeredSessions']['has'](_0x11ee44))throw new _0x27f4c7('sessions-register-already-registered',null,{'channelId':_0x11ee44});this['_registeredSessions']['set'](_0x11ee44,_0x198f97),this['channelSessions']['set'](_0x11ee44,new _0x5037c6()),this['channelConnectedUsers']['set'](_0x11ee44,new _0x5037c6()),this['listenTo'](_0x198f97,'add',(_0x4918b7,_0x5e95f6)=>this['_handleSessionAdd'](_0x11ee44,_0x5e95f6)),this['listenTo'](_0x198f97,'remove',(_0x299845,_0x2ad6c8)=>this['_handleSessionRemove'](_0x11ee44,_0x2ad6c8));for(const _0x118ff8 of _0x198f97)this['_handleSessionAdd'](_0x11ee44,_0x118ff8);}['unregister'](_0x388c04){if(!this['_registeredSessions']['has'](_0x388c04))throw new _0x27f4c7('sessions-unregister-not-exist',null,{'channelId':_0x388c04});const _0x57c346=this['_registeredSessions']['get'](_0x388c04);this['stopListening'](_0x57c346);for(const _0x378d03 of _0x57c346)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x388c04,_0x378d03);this['_registeredSessions']['delete'](_0x388c04),this['channelSessions']['delete'](_0x388c04),this['channelConnectedUsers']['delete'](_0x388c04);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x1cdb4f){for(const _0x3f4ad6 of this['channelSessions']['values']())for(const _0x424a3c of _0x3f4ad6)if(_0x424a3c['id']===_0x1cdb4f)return _0x424a3c['user'];}['getUserSessions'](_0x588c88,_0xfcc6c9){const _0x3a9170=_0xfcc6c9?[this['channelSessions']['get'](_0xfcc6c9)]:this['channelSessions']['values'](),_0x46aa47=new Set();for(const _0x28013d of _0x3a9170)for(const _0x3008d7 of _0x28013d)_0x3008d7['user']['id']===_0x588c88['id']&&_0x46aa47['add'](_0x3008d7['id']);return _0x46aa47;}['getUserRole'](_0x1f3850){for(const _0x2341e7 of this['channelSessions']['values']())for(const _0x43aff3 of _0x2341e7)if(_0x43aff3['user']===_0x1f3850)return _0x43aff3['role'];}['_handleSessionAdd'](_0x369ff0,_0x379fe3){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x348aa2=_0x379fe3['user'],_0x4265e1=this['_users']['getUser'](_0x348aa2['id'])||this['_createUser'](_0x348aa2),_0x4afb24=Object['assign']({},_0x379fe3,{'user':_0x4265e1});if(this['channelSessions']['get'](_0x369ff0)['add'](_0x4afb24),!_0x348aa2['hiddenInPresenceList']){const _0x153185=this['channelConnectedUsers']['get'](_0x369ff0);_0x153185['has'](_0x4265e1['id'])||_0x153185['add'](_0x4265e1),this['allConnectedUsers']['has'](_0x4265e1['id'])||_0x348aa2['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x4265e1,_0x4265e1['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x369ff0,{'channelId':_0x369ff0,'session':_0x4afb24});}['_handleSessionRemove'](_0x2da983,_0x3e02f7){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x20f9f8=this['channelConnectedUsers']['get'](_0x2da983),_0x593c06=_0x3e02f7['user'];_0x593c06['id']&&(this['channelSessions']['get'](_0x2da983)['remove'](_0x3e02f7['id']),_0x20f9f8['has'](_0x593c06['id'])&&!this['getUserSessions'](_0x593c06,_0x2da983)['size']&&_0x20f9f8['remove'](_0x593c06['id']),this['allConnectedUsers']['get'](_0x593c06['id'])&&!this['getUserSessions'](_0x593c06)['size']&&this['allConnectedUsers']['remove'](_0x593c06['id']));}['_createUser'](_0x28c0ba,_0x16d40c){const _0x28c7ec=this['_users']['addUser'](_0x28c0ba);return _0x16d40c&&this['_users']['defineMe'](_0x28c0ba['id']),_0x28c7ec['orderNumber']=this['_uniqueUsersCount']++,_0x28c7ec;}}class H extends _0x4ae7a2{['_domEmitter']=new(_0x16de9c())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x3f9b24=this['editor'],_0x3245da=_0x3f9b24['plugins']['get'](i);_0x3f9b24['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0xbd1fea,{writer:_0x52856e})=>function(_0xdef7fd,_0x139f61,_0x2b1673,_0x15534c){const _0x278334=_0xdef7fd['markerName']['split'](':')[0x2],_0x1e3479=_0x2b1673['getUserBySessionId'](_0x278334);if(!_0x1e3479||_0x278334===_0x2b1673['mySessionId'])return;if(!_0x15534c['model']['schema']['checkChild'](_0xdef7fd['markerRange']['start'],'$text'))return;const _0x222b7f={'class':'ck-user__marker\x20'+_0x1e3479['color']['getMarkerClass'](),'data-name':_0x1e3479['name'],'data-session-id':_0x278334},_0x266e6e=_0x15534c['model']['markers']['get'](_0xdef7fd['markerName']),_0x43364b=_0x266e6e['getStart'](),_0x33d4a0=_0x43364b['nodeAfter'],_0x512c53=_0x15534c['model']['schema'];if(_0x33d4a0&&_0x512c53['isObject'](_0x33d4a0)&&_0x512c53['isInline'](_0x33d4a0)&&!_0x15534c['model']['markers']['get']('user:range:'+_0x278334)['getRange']()['isCollapsed'])return;const _0x422411=_0x43364b['parent'];return _0x15534c['model']['schema']['isLimit'](_0x422411)&&!_0x15534c['model']['hasContent'](_0x422411)&&(_0x222b7f['contenteditable']=!0x1),function(_0x428afa,_0x2a6eec,_0x48285f){const _0x5d4e2e=_0x428afa['createUIElement']('span',_0x2a6eec);return _0x428afa['setCustomProperty']('userPositionMarker',!0x0,_0x5d4e2e),_0x5d4e2e['render']=function(_0x4db685){const _0x322f3c=this['toDomElement'](_0x4db685),_0x459646=document['createElement']('span');return _0x459646['classList']['add']('ck-user__marker-tooltip'),_0x459646['setAttribute']('contenteditable','false'),_0x459646['setAttribute']('spellcheck','false'),_0x459646['textContent']=_0x48285f['name'],_0x322f3c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x459646['outerHTML']+'⁠',_0x322f3c['addEventListener']('mouseenter',()=>{_0x322f3c['classList']['add']('ck-user__marker_hovered');}),_0x322f3c['addEventListener']('mouseleave',()=>{_0x322f3c['classList']['remove']('ck-user__marker_hovered');}),_0x322f3c;},_0x5d4e2e['isSimilar']=function(_0x12731c){return!(!this['getCustomProperty']('userPositionMarker')||!_0x12731c['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x12731c['getAttribute']('data-session-id'));},_0x5d4e2e;}(_0x139f61,_0x222b7f,_0x1e3479);}(_0xbd1fea,_0x52856e,_0x3245da,_0x3f9b24)}),_0x3f9b24['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x5203b7=>function(_0x4f29b3,_0x448d46){const _0x132d93=_0x4f29b3['markerName']['split'](':')[0x2];if(_0x132d93===_0x448d46['mySessionId'])return null;const _0x24f10d=_0x448d46['getUserBySessionId'](_0x132d93);if(!_0x24f10d)return{'id':_0x132d93,'classes':[]};return{'id':_0x132d93,'classes':['ck-user__selection',_0x24f10d['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x132d93},'priority':0x7d0+_0x24f10d['orderNumber']};}(_0x5203b7,_0x3245da)}),function(_0x1e4073){const _0x4d1b7b=_0x1e4073['model'],_0x1aa5cc=new Map(),_0x357d46=_0x1e4073['plugins']['get'](i);_0x4d1b7b['markers']['on']('update:user:range',(_0x26f28e,_0x203272,_0x5c21e9,_0x5a658b)=>{if(!_0x5a658b&&_0x1aa5cc['get'](_0x203272['name']))return _0x1aa5cc['get'](_0x203272['name'])['detach'](),void _0x1aa5cc['delete'](_0x203272['name']);const _0x3e4c66=_0x203272['name']['split'](':')[0x2];if(_0x3e4c66===_0x357d46['mySessionId'])return;const _0x5ab5ad='user:position:'+_0x3e4c66;_0x4d1b7b['markers']['has'](_0x5ab5ad)&&_0x1e4073['editing']['reconvertMarker'](_0x5ab5ad),_0x203272['on']('change:range',(_0x1aa722,_0x49f135,_0x1adff2)=>{if('$graveyard'!=_0x49f135['root']['rootName']&&'$graveyard'==_0x203272['getRange']()['root']['rootName']&&!_0x1aa5cc['has'](_0x203272['name'])){const _0x1f0779=_0x4d1b7b['schema']['getNearestSelectionRange'](_0x1adff2['deletionPosition']);if(_0x1f0779){const _0x54fa22=_0x3bd0a3['fromRange'](_0x1f0779);_0x1aa5cc['set'](_0x203272['name'],_0x54fa22),_0x54fa22['on']('change:range',(_0x5961d9,_0x566926,_0x81385d)=>{if('$graveyard'==_0x54fa22['root']['rootName']){const _0x1b176a=_0x4d1b7b['schema']['getNearestSelectionRange'](_0x81385d['deletionPosition']);_0x1b176a?(_0x54fa22['start']=_0x1b176a['start'],_0x54fa22['end']=_0x1b176a['end']):(_0x1aa5cc['delete'](_0x203272['name']),_0x54fa22['detach']());}});}}});}),_0x4d1b7b['document']['on']('change',()=>{_0x1aa5cc['size']>0x0&&_0x4d1b7b['enqueueChange']({'isUndoable':!0x1},_0x25aa21=>{for(const [_0x2852e8,_0x53de72]of _0x1aa5cc)'$graveyard'==_0x4d1b7b['markers']['get'](_0x2852e8)['getRange']()['root']['rootName']&&(Z(_0x2852e8['split'](':')[0x2],_0x53de72['toRange'](),_0x4d1b7b,_0x25aa21),_0x53de72['detach']());_0x1aa5cc['clear']();});});}(_0x3f9b24),this['_domEmitter']['listenTo'](_0x3e222a['document'],'keydown',(_0x5c38c5,{key:_0x2a46ab})=>{'Escape'===_0x2a46ab&&function(_0x2fde7a){_0x2fde7a['editing']['view']['change'](_0x4587fb=>{for(const _0x491851 of _0x2fde7a['model']['markers']){if(!_0x491851['name']['startsWith']('user:position'))continue;const _0x5b16a6=_0x2fde7a['editing']['mapper']['markerNameToElements'](_0x491851['name']);if(_0x5b16a6){for(const _0xcae6bb of _0x5b16a6)_0x4587fb['removeClass']('ck-user__marker_hovered',_0xcae6bb);}}});}(_0x3f9b24);},{'useCapture':!0x0});}['afterInit'](){const _0xc05d44=this['editor'],_0x7eacdf=_0xc05d44['commands']['get']('undo');_0x7eacdf&&_0xc05d44['model']['on']('applyOperation',(_0x537452,_0xff31b1)=>{const _0xc60b54=_0xff31b1[0x0];if(!_0xc60b54['isDocumentOperation'])return;if('marker'!=_0xc60b54['type']||!_0xc60b54['name']['startsWith']('user:'))return;const _0x58680c=_0xc60b54['batch'];_0x7eacdf['_createdBatches']['has'](_0x58680c)&&(_0xc60b54['newRange']=_0xc60b54['oldRange']?_0xc05d44['model']['createRange'](_0xc60b54['oldRange']['start'],_0xc60b54['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x43bfca=this['editor'],_0x536a03=_0x43bfca['model']['document'],_0x5c93e0=_0x43bfca['plugins']['get'](i);_0x43bfca['model']['enqueueChange']({'isUndoable':!0x1},_0x2b0f68=>{const _0x465b9e='user:range:'+_0x5c93e0['mySessionId'],_0xec1a73='user:position:'+_0x5c93e0['mySessionId'],_0x5e58e8=_0x43bfca['model']['markers']['has'](_0x465b9e);_0x43bfca['editing']['view']['hasDomSelection']?Z(_0x5c93e0['mySessionId'],_0x536a03['selection']['getFirstRange'](),_0x43bfca['model'],_0x2b0f68):_0x5e58e8&&(_0x2b0f68['removeMarker'](_0x465b9e),_0x2b0f68['removeMarker'](_0xec1a73));});}}function Z(_0x5b78b3,_0x34310c,_0xb4929b,_0x5f0b0f){const _0x13684e='user:range:'+_0x5b78b3,_0x18f26b='user:position:'+_0x5b78b3,_0x5b99ce=_0x34310c['getContainedElement']();let _0x1fc409=_0x34310c['start'];if(_0x5b99ce&&_0x5b99ce['is']('element','tableCell')){const _0x1646d8=function(_0x5e4f60,_0x10a9b5){for(const _0x37be00 of _0x5e4f60['getPositions']())if(_0x10a9b5['schema']['checkChild'](_0x37be00,'$text'))return _0x37be00;}(_0x34310c,_0xb4929b);_0x1646d8&&(_0x1fc409=_0x1646d8,_0x34310c=_0x5f0b0f['createRange'](_0x1fc409));}const _0x3e5942=_0x5f0b0f['createRange'](_0x1fc409);_0xb4929b['markers']['has'](_0x13684e)?(_0x5f0b0f['updateMarker'](_0x13684e,{'range':_0x34310c}),_0x5f0b0f['updateMarker'](_0x18f26b,{'range':_0x3e5942})):(_0x5f0b0f['addMarker'](_0x13684e,{'range':_0x34310c,'usingOperation':!0x0}),_0x5f0b0f['addMarker'](_0x18f26b,{'range':_0x3e5942,'usingOperation':!0x0}));}function V(_0x4b48c1,_0x37fcac,_0x4dbe60){const _0x4d0cab=_0x4b48c1['t'],t=_0x4b48c1['t'];switch(_0x37fcac){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 _0x4d0cab({'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'},_0x4dbe60);default:return'';}}let G=0x1;class l extends _0x4ae7a2{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x281953)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x3efdf4,_0x466bcc,_0x273eec];}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 _0x5dbf9b=this['serverHistory']['getOperations']();for(let _0x29c5d2=_0x5dbf9b['length']-0x1;_0x29c5d2>=0x0;_0x29c5d2--){const _0x50cc8d=_0x5dbf9b[_0x29c5d2];if(!this['_disconnectionOperations']['has'](_0x50cc8d))return _0x50cc8d['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5d1cc8){if(super(_0x5d1cc8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d2544(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x27f4c7('collaboration-missing-channelid',this);const _0x21a2a0=_0x5d1cc8['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x21a2a0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x2e2d61(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x481b60=this['editor'],_0x5e6fc7=_0x481b60['plugins']['get'](_0x466bcc),_0x376112=_0x481b60['plugins']['get'](n);this['listenTo'](_0x5e6fc7,'getOperationAuthor',(_0x2595f0,_0x21ba21)=>{const _0x4545c8=_0x21ba21[0x0];_0x4545c8['_authorId']&&(_0x2595f0['return']=_0x5e6fc7['getUser'](_0x4545c8['_authorId']),_0x2595f0['stop']()),null===_0x4545c8['_authorId']&&(_0x2595f0['return']=null,_0x2595f0['stop']());},{'priority':'high'}),this['listenTo'](_0x481b60['model']['document']['selection'],'change:range',(_0x4ebee3,_0xe21c94)=>{_0xe21c94['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x481b60['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x481b60['model']['on']('applyOperation',(_0xa45f5d,_0x422272)=>{const _0x23cefe=_0x422272[0x0];_0x23cefe['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x23cefe),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x376112,'state',this,'_hasSynchronizationProblem',(_0x4a9881,_0x231128)=>'connected'===_0x4a9881&&!_0x231128),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x481b60['disableReadOnlyMode']('rtc-offline'):_0x481b60['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x481b60['disableReadOnlyMode']('rtc-offline'):_0x481b60['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x3bf871=this['editor']['plugins']['get'](i),_0xc4c88=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x3bf871['unregister'](this['_channelId']);const _0xd20e2d=await this['_service']['reconnect'](_0xc4c88['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xd20e2d)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x22ec8f=await this['_service']['getConnectedSessions']();_0x3bf871['register'](this['_channelId'],_0x22ec8f),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x54ad24){if(function(_0x20c52c){return'404'===_0x20c52c['code'];}(_0x54ad24)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x40fd2f){return'409'===_0x40fd2f['code'];}(_0x54ad24)){const _0x301f9d=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x301f9d);}else{if(!(_0x54ad24 instanceof $))throw _0x54ad24;this['_handleReconnectionError']();}}}}['destroy'](){const _0x47c965=this['editor']['plugins']['get'](n),_0x25e5eb=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x25e5eb['channelSessions']['has'](this['_channelId'])&&_0x25e5eb['unregister'](this['_channelId']),_0x47c965['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xab7c49){if(this['sessionId']!==_0xab7c49['sessionId']&&this['_lastSyncedOperationId']!==_0xab7c49['lastOperationId'])throw new $();return this['sessionId']=_0xab7c49['sessionId'],this['_handleServerResponse']([],{..._0xab7c49,'wereChangesApplied':!0x1,'data':_0xab7c49['data']},'reconnect');}async['_connectService'](_0x4cc884,_0x367279=!0x1){const {connection:_0x36c244}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x36c244,this['_channelId'])['then'](_0x72da94=>this['_initSessionsHandling'](_0x72da94))['catch'](_0x5a3cbd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a3cbd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5e360a,_0x41a480)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x41a480);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x36c982=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4cc884);this['_isPendingUpdate']=!0x0;const _0x3ffcee=await this['_service']['connect'](_0x36c244,this['_compressOperations'](_0x4cc884),_0x36c982);if(this['sessionId']=_0x3ffcee['sessionId'],_0x367279){if(!_0x3ffcee['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3ffcee['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x4cc884,_0x3ffcee,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3ffcee,_0x4cc884);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x473b60=this['editor']['plugins']['get'](i),_0x15e33a=this['editor']['plugins']['get'](H),_0x59009f=_0x473b60['channelSessions']['get'](this['_channelId']);_0x59009f&&_0x59009f['length']>0x1?_0x15e33a['createUserMarkerOperations']():this['listenTo'](_0x473b60,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x473b60['channelSessions']['get'](this['_channelId'])['length']&&_0x15e33a['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x5186c9,_0x53504d,_0x550159,_0x28e406){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x53504d){const _0x1e65e0=this['_decompressOperations'](_0x550159,_0x28e406);await this['_fetchMissingUsers'](_0x1e65e0),this['_handleExternalOperations'](_0x1e65e0,_0x53504d,_0x550159['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xa58fd5}=this['editor'];let _0x49d817;try{_0x49d817=await this['_service']['getDocumentDetails']();}catch{const _0x32b486=V(_0xa58fd5,'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'](_0x32b486);}const _0x41793b=_0x49d817['currentDocumentSession']||_0x49d817['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x41793b['lastOperationId']){const _0x51bf7a=V(_0xa58fd5,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x51bf7a);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x8102fd){const _0x3b12a9=this['editor']['plugins']['get'](i);this['listenTo'](_0x3b12a9,'sessionAdd:'+this['_channelId'],(_0x5ce256,{session:_0x43393e})=>{if(_0x43393e['id']===_0x3b12a9['mySessionId']){_0x5ce256['off']();const _0xa60278=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x43f53f=_0x43393e['permissions'];_0xa60278&&_0xa60278['isEnabled']&&(_0x43f53f=_0x43f53f['filter'](_0x407a59=>'document:write'!==_0x407a59)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x43f53f,this['_channelId']);}}),_0x3b12a9['register'](this['_channelId'],_0x8102fd);}['_initThrowingOnDataSet'](){const _0x5dc3fc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3a41b4)=>{if(!_0x3a41b4[_0x3a41b4['length']-0x1]['suppressErrorInCollaboration'])throw new _0x27f4c7('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5dc3fc['apply'](this['editor']['data'],_0x3a41b4);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x30f3e7,[_0x43d54f])=>{if(this['_document']['version'])throw new _0x27f4c7('realtimecollaborationclient-init-document-already-initialized',this);_0x30f3e7['stop'](),this['_setPendingAction']();const _0x398c14=this['editor']['config']['get']('rootsAttributes'),_0xcec5bf=this['_getOperationsFromInitData'](_0x43d54f,_0x398c14);0x0==_0xcec5bf['length']&&_0xcec5bf['push'](new _0x4513c4(0x0)),_0x30f3e7['return']=this['_connectService'](_0xcec5bf)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x520ae8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x520ae8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x100b70,[_0x1cff05,_0x5d2a3f])=>{_0x100b70['stop']();const _0x308aa9=this['editor']['model']['document']['getRoot'](_0x1cff05);if(!this['_knownRootNames']['has'](_0x1cff05)){const _0x1d1f24=_0x5d2a3f&&_0x5d2a3f['data']?_0x5d2a3f['data']:'',_0x1d4b10=_0x5d2a3f&&_0x5d2a3f['attributes']?_0x5d2a3f['attributes']:{};await this['_loadRoot'](_0x1cff05,_0x1d1f24,_0x1d4b10);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x308aa9['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x308aa9);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3cd0c1){const _0x40112b=this['editor']['plugins']['get'](_0x466bcc),{connection:_0x5c1e77}=this['editor']['plugins']['get'](n),_0x3ea634=new Set();for(const _0x3079be of _0x3cd0c1){const _0x4a40ad=_0x3079be['_authorId'];_0x4a40ad&&!_0x40112b['getUser'](_0x4a40ad)&&_0x3ea634['add'](_0x4a40ad);}if(0x0===_0x3ea634['size'])return;const _0x3f93c4=await lt['getMany'](_0x5c1e77,Array['from'](_0x3ea634));for(const _0x415ac4 of _0x3f93c4)_0x40112b['getUser'](_0x415ac4['id'])||_0x40112b['addUser'](_0x415ac4);}['_getOperationsFromInitData'](_0x412033,_0x16a3bd={}){const _0x4a7b58=this['editor']['model'],_0x5bc68e=[];let _0x93283=0x0;const _0x305ee4='string'==typeof _0x412033?{'main':_0x412033}:_0x412033;for(const _0x103eac of Object['keys'](_0x305ee4)){if(!this['_document']['roots']['has'](_0x103eac))throw new _0x27f4c7('realtimecollaborationclient-init-non-existent-root',this);const _0x23c9da=this['editor']['data']['parse'](_0x305ee4[_0x103eac]),_0x1cc5a4=this['_document']['getRoot'](_0x103eac),_0x3db9fd=new _0x4bc593(_0x4a7b58['createPositionAt'](_0x1cc5a4,0x0),_0x23c9da,_0x93283++);_0x5bc68e['push'](_0x3db9fd);for(const [_0x128f50,_0x938413]of _0x23c9da['markers']){const _0xddc674=_0x4a7b58['createRange'](_0x4a7b58['createPositionFromPath'](_0x1cc5a4,_0x938413['start']['path']['slice']()),_0x4a7b58['createPositionFromPath'](_0x1cc5a4,_0x938413['end']['path']['slice']())),_0x431de3=new _0x21c1c7(_0x128f50,null,_0xddc674,_0x4a7b58['markers'],!0x0,_0x93283++);_0x5bc68e['push'](_0x431de3);}}if(_0x16a3bd)for(const [_0x1af320,_0x14f86d]of Object['entries'](_0x16a3bd)){const _0xfa712f=_0x4a7b58['document']['getRoot'](_0x1af320);if(!_0xfa712f)throw new _0x27f4c7('multi-root-editor-root-attributes-no-root',null);for(const [_0x5e6c31,_0x571673]of Object['entries'](_0x14f86d))if(null!==_0x571673){const _0x1bacab=new _0x565082(_0xfa712f,_0x5e6c31,null,_0x571673,_0x93283++);_0x5bc68e['push'](_0x1bacab);}}return _0x5bc68e;}async['_loadRoot'](_0xb36e2e,_0x1add9b,_0x5bb8dc){this['_getOperationsFromInitData']({[_0xb36e2e]:_0x1add9b},{[_0xb36e2e]:_0x5bb8dc})['forEach']((_0x384e19,_0x41f8bb)=>{_0x384e19['baseVersion']=this['_document']['version']+_0x41f8bb,_0x384e19['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x384e19);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x5b8025,_0x5ce845){let _0x5a7679;this['_offset']=_0x5b8025['offset'];const _0x24557f=_0x5b8025['wereChangesApplied']&&!_0x5b8025['initData'],_0x594f44=_0x24557f?0x0:_0x5b8025['data']['baseVersion'];if(_0x5ce845['forEach'](_0x577c73=>{_0x577c73['_isInit']=!0x0,_0x577c73['createdAt']=_0x5b8025['sessionCreatedAt'],_0x577c73['_authorId']=null;}),_0x24557f)_0x5a7679=_0x5ce845,this['_applyOperationsSet'](_0x5a7679,_0x24557f);else{if(_0x5b8025['initData']){const _0xfb1889=this['_getOperationsFromInitData'](_0x5b8025['initData']);this['_document']['history']['version']=-_0xfb1889['length'],_0xfb1889['forEach'](_0x49ee50=>{_0x49ee50['baseVersion']-=_0xfb1889['length'],_0x49ee50['createdAt']=_0x5b8025['sessionCreatedAt'],_0x49ee50['_isInit']=!0x0,_0x49ee50['_authorId']=null;}),this['_applyOperationsSet'](_0xfb1889,!0x0),this['serverHistory']['version']=-_0xfb1889['length']+this['_offset'],this['_updateServerHistory'](_0xfb1889);}this['_document']['history']['version']=_0x594f44,_0x5a7679=this['_decompressOperations'](_0x5b8025['data'],_0x5b8025['metadata']),await this['_fetchMissingUsers'](_0x5a7679),this['_applyOperationsSet'](_0x5a7679,_0x24557f);}_0x5b8025['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5a7679,_0x5b8025['lastOperationId']),this['_lastSyncedOperationId']=_0x5b8025['lastOperationId']),this['serverHistory']['version']=_0x594f44+this['_offset'],this['_updateServerHistory'](_0x5a7679),_0x5ce845['filter'](_0x14475c=>{const _0x1ff795=this['_getAffectedRoot'](_0x14475c);return _0x1ff795&&!this['_knownRootNames']['has'](_0x1ff795);})['forEach']((_0x5ce507,_0x2d7087)=>{_0x5ce507['baseVersion']=this['_document']['version']+_0x2d7087,this['_saveOperationInBuffer'](_0x5ce507);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x28ddb0,_0x5190fc){const _0x1edc94=_0x5190fc&&_0x5190fc['message'];if(_0x1edc94&&_0x1edc94['startsWith']('realtimecollaborationclient'))throw _0x5190fc;const _0x51261f=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x51261f['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x27f4c7(_0x28ddb0,this['editor'],_0x1edc94?{'originalError':_0x1edc94}:void 0x0);}['_saveOperationInBuffer'](_0x5686c0){this['_knownOperations']['has'](_0x5686c0)||(this['_knownOperations']['add'](_0x5686c0),this['_bufferedOperations']['push'](_0x5686c0),this['_pendingAction']||'marker'==_0x5686c0['type']&&!_0x5686c0['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x10a53d=!0x1){!_0x10a53d&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x43bbff=>{_0x43bbff&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x240c03=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xaa9172){return _0xaa9172['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xaa9172['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xaa9172['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x240c03)||this['_crash'](_0x240c03['message'],_0x240c03);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x6e2f02=>{this['on']('change:_isPendingUpdate',()=>{_0x6e2f02();});});}async['_sendBufferedOperations'](){const _0x2c2b8a=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x2c2b8a['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x95140e=[...this['_bufferedOperations']];for(const _0x2a331a of _0x95140e)_0x2a331a['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2a331a);const _0xeb3a9e=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x95140e),_0x1a07b7=G++,_0x188ec3=this['_compressOperations'](_0x95140e),_0x106105=await this['_service']['sendOperations'](_0x188ec3,_0x188ec3['baseVersion'],_0xeb3a9e);try{return await this['_handleServerResponse'](_0x95140e,_0x106105,_0x1a07b7);}catch(_0x17f5f0){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x17f5f0);}}async['_handleServerResponse'](_0x5c0d53,_0x4ea679,_0x34da69){if('error'in _0x4ea679)throw _0x4ea679['error'];let _0x363f3d=!0x1;if(_0x4ea679['wereChangesApplied']){_0x4ea679['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4ea679['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x292f2a=>!_0x5c0d53['includes'](_0x292f2a));for(const _0x1ab8dc of _0x5c0d53)_0x1ab8dc['createdAt']='lastOperationAcceptedAt'in _0x4ea679&&_0x4ea679['lastOperationAcceptedAt']||void 0x0;K(_0x5c0d53,_0x4ea679['version']-_0x5c0d53['length']),this['_updateServerHistory'](_0x5c0d53);const _0x2deeed=_0x5c0d53['filter'](_0x4a27ca=>{if(!_0x4a27ca['_isInit'])return!0x1;const _0x5cd7b1=this['_getAffectedRoot'](_0x4a27ca);return _0x5cd7b1&&!this['_knownRootNames']['has'](_0x5cd7b1);});K(_0x2deeed,this['_document']['version']),this['_applyOperationsSet'](_0x2deeed),_0x363f3d=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x25c22f=this['_decompressOperations'](_0x4ea679['data'],_0x4ea679['metadata'])['filter'](_0x151bbc=>_0x151bbc['baseVersion']>=this['_lastServerVersion']);_0x25c22f['forEach'](_0x4ffd19=>this['_addKnownRoot'](_0x4ffd19)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4a1987=>!_0x4a1987['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4a1987))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x25c22f),_0x363f3d=this['_handleExternalOperations'](_0x25c22f,_0x4ea679['version'],_0x4ea679['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x363f3d?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x45ebdf,_0x47cf7,_0x5e48af){try{const _0x227bc2={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x49f004,operationsB:_0x3008e1,originalOperations:_0x3658b6}=_0xa00475(_0x45ebdf,this['_bufferedOperations'],_0x227bc2);K(_0x49f004,this['_document']['version']),K(_0x3008e1,_0x47cf7);for(const _0x48e527 of _0x49f004){const _0x4a949e=_0x3658b6['get'](_0x48e527);_0x48e527['_authorId']=_0x4a949e?_0x4a949e['_authorId']:null;}_0x5e48af&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x45ebdf,_0x5e48af),this['_lastSyncedOperationId']=_0x5e48af),this['_bufferedOperations']=[..._0x3008e1],this['_applyOperationsSet'](_0x49f004),this['_updateServerHistory'](_0x45ebdf);}catch(_0x193a57){return console['error'](_0x193a57),!0x1;}return!0x0;}['_applyOperationsSet'](_0x53da28,_0x363270=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3bcdf0=>{for(const _0x221572 of _0x53da28)this['_knownOperations']['add'](_0x221572),this['_addKnownRoot'](_0x221572),_0x3bcdf0['batch']['addOperation'](_0x221572),this['editor']['model']['applyOperation'](_0x221572);});}['_addKnownRoot'](_0x1d4f14){const _0x1255fd=this['_getAffectedRoot'](_0x1d4f14);_0x1255fd&&this['_knownRootNames']['add'](_0x1255fd);}['_getAffectedRoot'](_0x170699){let _0xb7397f,_0x36bb80;switch(_0x170699['type']){case'insert':_0xb7397f=_0x170699['position']['root'];break;case'marker':if(_0x36bb80=_0x170699['newRange'],!_0x36bb80)return null;_0xb7397f=_0x36bb80['root'];break;case'addRootAttribute':_0xb7397f=_0x170699['root'];break;case'addRoot':_0xb7397f=_0x170699['affectedSelectable'];break;case'move':_0xb7397f=_0x170699['targetPosition']['root'];break;default:return null;}return _0xb7397f['rootName'];}['_updateServerHistory'](_0x5d214f){_0x5d214f['forEach'](_0xf9b9c9=>{const _0x41a3c6=_0xf9b9c9['clone']();_0x41a3c6['_authorId']=_0xf9b9c9['_authorId'],_0x41a3c6['_isInit']=!!_0xf9b9c9['_isInit'],_0x41a3c6['createdAt']=_0xf9b9c9['createdAt'],_0x41a3c6['baseVersion']+=this['_offset'],_0xf9b9c9['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x41a3c6),this['serverHistory']['addOperation'](_0x41a3c6);});}['_handleReconnectionError'](_0x6872ad){const _0x5dfa50=this['editor']['plugins']['get']('Notification'),_0x51a1b8=this['editor']['locale'];_0x6872ad||(_0x6872ad=V(_0x51a1b8,'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.')),_0x5dfa50['showWarning'](_0x6872ad,{'title':V(_0x51a1b8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x3efdf4)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3efdf4)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x57bf18){const _0x2f0fbb=_0x57bf18['map'](_0x173e90=>_0x173e90['toJSON']());return this['_compressor']['compress'](_0x2f0fbb);}['_decompressOperations'](_0x3f4ff6,_0x474c2e){return this['_compressor']['decompress'](_0x3f4ff6)['map']((_0x350d0c,_0x2cf0c9)=>{const _0x129cf6='init'==_0x474c2e[_0x2cf0c9]['type'];if('InsertOperation'==_0x350d0c['__className']){const _0x533778=_0x350d0c['position']['root'];!this['_document']['getRoot'](_0x533778)&&(this['_document']['createRoot']('$root',_0x533778)['_isAttached']=!0x1);}const _0x4a26a5=_0x52dd2d['fromJSON'](_0x350d0c,this['_document']);return _0x4a26a5['wasUndone']=_0x350d0c['wasUndone'],_0x4a26a5['_isInit']=_0x129cf6,_0x4a26a5['_authorId']=_0x129cf6?null:_0x474c2e[_0x2cf0c9]['userId'],_0x4a26a5['_isDisconnection']='cs:removeUser'===_0x474c2e[_0x2cf0c9]['type'],_0x4a26a5['createdAt']=_0x474c2e[_0x2cf0c9]['createdAt'],_0x4a26a5;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4442a9=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4442a9&&_0x4442a9['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x191d2d,_0xa42d8d){for(const _0x5d274a of _0x191d2d)_0x5d274a['baseVersion']=_0xa42d8d++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x335829){this['_ignoredOperations']=_0x335829,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x31b2dc){let _0x3a7357=_0x31b2dc['length'];for(;_0x3a7357--;){const _0x23fc37=_0x31b2dc[_0x3a7357];if(!this['_ignoredOperations']['has'](_0x23fc37)){if(!this['_operationToId']['has'](_0x23fc37)){const _0x5180a9=_0x3f5d81()['slice'](0x1,0x12);this['_operationToId']['set'](_0x23fc37,_0x5180a9);}return this['_operationToId']['get'](_0x23fc37);}}}['setIdForTheLastOperation'](_0x8979a6,_0xf49d9d){if(!_0xf49d9d)return;let _0x5310f5=_0x8979a6['length'];for(;_0x5310f5--;){const _0x2c8f51=_0x8979a6[_0x5310f5];this['_ignoredOperations']['has'](_0x2c8f51)||this['_operationToId']['set'](_0x2c8f51,_0xf49d9d);}}}class a extends _0x4ae7a2{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0xef721{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x9f6ed1)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x466bcc];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x45a6e9){super(_0x45a6e9),this['_services']=new Map();}async['init'](){const _0x12b7f7=this['context'],_0x2d2aa8=_0x12b7f7['plugins']['get']('CommentsRepository');if(_0x12b7f7['plugins']['get'](n)['addToReconnectionStack'](this),_0x2d2aa8['adapter']={'addCommentThread':async({channelId:_0x3b1c7b,threadId:_0x334dba,comments:_0x5d3068,resolvedAt:_0x40cb36,resolvedBy:_0xae638c,context:_0x3c8c58,attributes:_0x3e8ce3})=>{const _0x493412=await this['_getService'](_0x3b1c7b)['addCommentThread']({'commentThreadId':_0x334dba,'comments':_0x5d3068['map'](_0x8d1af7=>function(_0x5d1192,_0x12635e,_0x406d4f){return{'commentThreadId':_0x406d4f,'commentId':_0x5d1192['commentId'],'userId':_0x5d1192['authorId'],'content':_0x5d1192['content'],'documentId':_0x12635e,'createdAt':_0x5d1192['createdAt'],'attributes':_0x5d1192['attributes']||{}};}(_0x8d1af7,_0x3b1c7b,_0x334dba)),'resolvedAt':_0x40cb36,'resolvedBy':_0xae638c,'context':_0x3c8c58,'attributes':_0x3e8ce3})['catch'](dt);return{'threadId':_0x493412['commentThreadId'],'comments':_0x493412['comments']};},'getCommentThread':async({channelId:_0x5d9e8a,threadId:_0x1f2449})=>{const _0xd1d8a1=await this['_getService'](_0x5d9e8a)['getCommentThread'](_0x1f2449)['catch'](F)['catch'](dt);return _0xd1d8a1?_0xd1d8a1['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xd1d8a1]),{'threadId':_0xd1d8a1['commentThreadId'],'comments':_0xd1d8a1['comments']['map'](S),'context':_0xd1d8a1['context'],'resolvedAt':_0xd1d8a1['resolvedAt'],'resolvedBy':_0xd1d8a1['resolvedBy'],'attributes':_0xd1d8a1['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x508aff,threadId:_0x4fab24,context:_0x48645d,unlinkedAt:_0x457c1b,attributes:_0x2c1d1e})=>this['_getService'](_0x508aff)['updateCommentThread']({'commentThreadId':_0x4fab24,'context':_0x48645d,'attributes':_0x2c1d1e,'unlinkedAt':_0x457c1b})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x4a31a9,threadId:_0x55474b})=>{const _0x54703b=await this['_getService'](_0x4a31a9)['resolveCommentThread'](_0x55474b)['catch'](F)['catch'](dt);return{'threadId':_0x54703b['commentThreadId'],'resolvedAt':_0x54703b['resolvedAt'],'resolvedBy':_0x54703b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x470e0a,threadId:_0x5723b7})=>this['_getService'](_0x470e0a)['reopenCommentThread'](_0x5723b7)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x519726,threadId:_0x55af76})=>this['_getService'](_0x519726)['removeCommentThread'](_0x55af76)['catch'](F)['catch'](dt),'addComment':({channelId:_0xcf3a42,threadId:_0x5cf6c9,commentId:_0x27f86a,content:_0x5e79f4,attributes:_0x1d1f0c})=>this['_getService'](_0xcf3a42)['addComment'](_0x5cf6c9,_0x27f86a,_0x5e79f4,_0x1d1f0c)['catch'](dt),'updateComment':({channelId:_0x2e85d9,threadId:_0x14de3e,commentId:_0x2644e8,content:_0x29a878,attributes:_0xa8bc73})=>this['_getService'](_0x2e85d9)['updateComment'](_0x14de3e,_0x2644e8,_0x29a878,_0xa8bc73)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x5a3df1,threadId:_0x50d30f,commentId:_0x4e0ec0})=>this['_getService'](_0x5a3df1)['removeComment'](_0x50d30f,_0x4e0ec0)['catch'](F)['catch'](dt)},_0x12b7f7 instanceof _0x389e35){const _0x167174=_0x12b7f7['config']['get']('collaboration.channelId'),_0x50a160=_0x12b7f7['plugins']['get'](i);await this['_setUpService'](_0x167174);const _0x1ea065=await this['_services']['get'](_0x167174)['getConnectedSessions']();this['listenTo'](_0x50a160,'sessionAdd:'+_0x167174,(_0x24a375,{session:_0x5c7fa2})=>{_0x5c7fa2['id']===_0x50a160['mySessionId']&&(_0x24a375['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5c7fa2['permissions'],_0x167174));}),_0x50a160['register'](_0x167174,_0x1ea065);}}async['_setUpService'](_0x4b6d7c){if(this['_services']['has'](_0x4b6d7c))throw new _0x27f4c7('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x4b6d7c});const _0x23ca9e=this['context']['plugins']['get']('CommentsRepository'),_0xc5de6f=new s['CommentsService'](_0x4b6d7c);this['_services']['set'](_0x4b6d7c,_0xc5de6f),this['listenTo'](_0xc5de6f,'commentThreadAdded',(_0x375d83,_0x15aad8)=>{const {commentThreadId:_0x28e4f6,documentId:_0x2124c9,context:_0x310ed7,attributes:_0xd49698,resolvedAt:_0x132ae7,resolvedBy:_0x32e721,comments:_0x4c6ea8}=_0x15aad8;_0x23ca9e['getCommentThread'](_0x28e4f6)||_0x23ca9e['addCommentThread']({'threadId':_0x28e4f6,'channelId':_0x2124c9,'comments':_0x4c6ea8?_0x4c6ea8['map'](S):[],'context':_0x310ed7,'attributes':_0xd49698,'resolvedAt':_0x132ae7,'resolvedBy':_0x32e721,'isFromAdapter':!0x0});}),this['listenTo'](_0xc5de6f,'commentThreadUpdated',(_0x403259,{commentThreadId:_0x420818,documentId:_0x2045f1,context:_0x5a120d,unlinkedAt:_0x4e8172,attributes:_0xbc3fff})=>{_0x23ca9e['getCommentThread'](_0x420818)&&_0x23ca9e['updateCommentThread']({'threadId':_0x420818,'channelId':_0x2045f1,'context':_0x5a120d,'unlinkedAt':_0x4e8172,'attributes':_0xbc3fff,'isFromAdapter':!0x0});}),this['listenTo'](_0xc5de6f,'commentThreadResolved',(_0x22d10d,{commentThreadId:_0x42e08c,resolvedBy:_0x21699d,resolvedAt:_0x330449})=>{const _0x58dcad=_0x23ca9e['getCommentThread'](_0x42e08c);_0x58dcad&&_0x58dcad['resolve']({'resolvedBy':_0x21699d,'resolvedAt':_0x330449,'isFromAdapter':!0x0});}),this['listenTo'](_0xc5de6f,'commentThreadReopened',(_0x571995,{commentThreadId:_0x1c972e})=>{const _0x2d0e39=_0x23ca9e['getCommentThread'](_0x1c972e);_0x2d0e39&&_0x2d0e39['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0xc5de6f,'commentThreadRemoved',(_0x306f5f,{commentThreadId:_0x1faa82})=>{const _0x21bdab=_0x23ca9e['getCommentThread'](_0x1faa82);_0x21bdab&&_0x21bdab['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0xc5de6f,'commentAdded',(_0x983a49,_0x29058b)=>{const _0x1b3172=_0x29058b['commentThreadId'],_0x1d7eb7=_0x23ca9e['getCommentThread'](_0x1b3172);_0x1d7eb7&&_0x1d7eb7['addComment']({...S(_0x29058b),'isFromAdapter':!0x0});}),this['listenTo'](_0xc5de6f,'commentUpdated',(_0x2d6405,{commentThreadId:_0x3da735,commentId:_0x1e8159,content:_0x2ae715,attributes:_0x55b6fa})=>{const _0x1c138d=_0x23ca9e['getCommentThread'](_0x3da735);if(_0x1c138d){const _0x549e0d=_0x1c138d['getComment'](_0x1e8159);_0x549e0d&&_0x549e0d['update']({'content':_0x2ae715,'attributes':_0x55b6fa,'isFromAdapter':!0x0});}}),this['listenTo'](_0xc5de6f,'commentRemoved',(_0x28e195,{commentThreadId:_0x30d729,commentId:_0x452f74})=>{const _0x48808e=_0x23ca9e['getCommentThread'](_0x30d729);if(_0x48808e){const _0x43a567=_0x48808e['getComment'](_0x452f74);_0x43a567&&_0x43a567['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x4b6d7c);}['destroy'](){if(this['context']instanceof _0x389e35){const _0x247e92=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x247e92);}}['_terminateService'](_0x511017){if(!this['_services']['has'](_0x511017))throw new _0x27f4c7('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x511017});this['_getService'](_0x511017)['disconnect'](),this['_services']['delete'](_0x511017);}async['reconnect'](){for(const _0x52f067 of this['_services']['keys']())await this['_connectService'](_0x52f067);if(this['context']instanceof _0x389e35){const _0x2db184=this['context']['config']['get']('collaboration.channelId'),_0x1d8c56=this['context']['plugins']['get'](i);_0x1d8c56['unregister'](_0x2db184);const _0x45f2a4=await this['_services']['get'](_0x2db184)['getConnectedSessions']();_0x1d8c56['register'](_0x2db184,_0x45f2a4);}}async['_connectService'](_0x4b5e22){const {connection:_0x3caf38}=this['context']['plugins']['get'](n),_0x1daf2d=this['context']['plugins']['get']('CommentsRepository'),_0x3fd529=this['_services']['get'](_0x4b5e22),_0x2f8d5d=await _0x3fd529['connect'](_0x3caf38);await this['_fetchMissingUsersForThreads'](_0x2f8d5d);const _0x354de7=new Set(Array['from'](_0x1daf2d['getCommentThreads']({'channelId':_0x4b5e22}),_0x1c5be9=>_0x1c5be9['id']));for(const _0x27c8b0 of _0x2f8d5d)_0x27c8b0['deletedAt']||_0x354de7['delete'](_0x27c8b0['commentThreadId']);for(const _0x566225 of _0x354de7)_0x1daf2d['getCommentThread'](_0x566225)['remove']({'isFromAdapter':!0x0});for(const _0x28ec09 of _0x2f8d5d){let _0xe16887=_0x1daf2d['getCommentThread'](_0x28ec09['commentThreadId']);const {commentThreadId:_0x235b0d,context:_0x1bd71e,attributes:_0x3b4093,resolvedBy:_0x19bc6e,resolvedAt:_0x258598,unlinkedAt:_0x14fa1d,deletedAt:_0x48b850}=_0x28ec09;if(_0x48b850)continue;_0xe16887||(_0xe16887=_0x1daf2d['addCommentThread']({'channelId':_0x4b5e22,'threadId':_0x235b0d,'context':_0x1bd71e,'attributes':_0x3b4093||{},'resolvedBy':_0x19bc6e,'resolvedAt':_0x258598,'unlinkedAt':_0x14fa1d,'isFromAdapter':!0x0}));const _0x3eceda=new Set(Array['from'](_0xe16887['comments'],_0x1de601=>_0x1de601['id']));for(const _0x26820e of _0x28ec09['comments'])_0x3eceda['delete'](_0x26820e['commentId']);for(const _0x513de0 of _0x3eceda)_0xe16887['getComment'](_0x513de0)['remove']({'isFromAdapter':!0x0});for(const _0x2442e6 of _0x28ec09['comments']){const _0x59d2a4=_0xe16887['getComment'](_0x2442e6['commentId']);_0x59d2a4?_0x59d2a4['content']!==_0x2442e6['content']&&_0x59d2a4['update']({'content':_0x2442e6['content'],'isFromAdapter':!0x0}):_0xe16887['addComment'](Object['assign'](S(_0x2442e6),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2a1e20){if(!this['_services']['has'](_0x2a1e20))throw new _0x27f4c7('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2a1e20});return this['_services']['get'](_0x2a1e20);}async['_fetchMissingUsersForThreads'](_0x5c8ac5){const _0x52cf8d=this['context']['plugins']['get'](_0x466bcc),{connection:_0x50bba0}=this['context']['plugins']['get'](n),_0x207d8b=new Set();for(const {resolvedBy:_0x4102b1,comments:_0x298a50}of _0x5c8ac5){_0x4102b1&&!_0x52cf8d['getUser'](_0x4102b1)&&_0x207d8b['add'](_0x4102b1);for(const {userId:_0xe7ef2a}of _0x298a50)_0x52cf8d['getUser'](_0xe7ef2a)||_0x207d8b['add'](_0xe7ef2a);}if(0x0===_0x207d8b['size'])return;const _0x2859ad=await lt['getMany'](_0x50bba0,Array['from'](_0x207d8b));for(const _0x4adb0b of _0x2859ad)_0x52cf8d['getUser'](_0x4adb0b['id'])||_0x52cf8d['addUser'](_0x4adb0b);}}async function F(_0x4200e7){if('404'!==_0x4200e7['code'])throw _0x4200e7;}function dt(_0x5b8d4f){if((_0x449d9d=_0x5b8d4f)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x449d9d['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x449d9d['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x449d9d;throw _0x5b8d4f;}function S(_0x36b59e){return{'threadId':_0x36b59e['commentThreadId'],'commentId':_0x36b59e['commentId'],'content':_0x36b59e['content'],'createdAt':_0x36b59e['createdAt'],'authorId':_0x36b59e['userId'],'attributes':_0x36b59e['attributes']||{}};}class m extends _0x4ae7a2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29cdcb){super(_0x29cdcb);const _0x284dac=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x284dac);}['init'](){const _0xd051f8=this['editor']['plugins']['get'](n),_0x4ebc5f=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4ebc5f['adapter']={'getSuggestion':async _0x5aa5c6=>{await this['_waitForServiceReady']();const _0x5bf5a6=await this['_trackChangesService']['get'](_0x5aa5c6)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x5bf5a6]),_0x5bf5a6;},'addSuggestion':async({id:_0x2ef705,type:_0x3c0e42,data:_0x222195,originalSuggestionId:_0x3f4749,attributes:_0x58577f})=>{await this['_waitForServiceReady']();const _0x37af29={'id':_0x2ef705,'type':_0x3c0e42,'data':_0x222195,'originalSuggestionId':_0x3f4749,'attributes':_0x58577f},_0x2c69f4=await this['_trackChangesService']['add'](_0x2ef705,_0x3c0e42,_0x222195,_0x3f4749,_0x58577f)['catch'](_0x3c6716=>{if(ut(_0x3c6716))return new Promise(_0xb12336=>{this['_bufferedRequests']['set'](_0x2ef705,{'resolve':_0xb12336,'suggestionData':_0x37af29});});throw _0x3c6716;});return this['_bufferedRequests']['delete'](_0x2ef705),_0x2c69f4;},'updateSuggestion':async(_0x27f5,_0x189fe8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x189fe8['state'])return this['_trackChangesService']['update'](_0x27f5,_0x189fe8)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1a3422,_0x513202)=>{_0x4ebc5f['hasSuggestion'](_0x513202['id'])&&(_0x4ebc5f['getSuggestion'](_0x513202['id'])['attributes']=_0x513202['attributes']);}),this['_trackChangesService']['connect'](_0xd051f8['connection'])['then'](_0x44a1cb=>(_0xd051f8['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x44a1cb)['then'](()=>{for(const _0x352491 of _0x44a1cb){_0x4ebc5f['addSuggestionData'](_0x352491)['_saved']=!0x0;}})));}async['reconnect'](){const _0x103ed3=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2d7915}=this['editor']['plugins']['get'](n),_0x159eb8=await this['_trackChangesService']['connect'](_0x2d7915);await this['_fetchMissingUsersForThreads'](_0x159eb8);for(const {suggestionData:_0x317383,resolve:_0x32b959}of this['_bufferedRequests']['values']()){let _0x2b5388=_0x159eb8['find'](_0x389142=>_0x389142['id']===_0x317383['id']);_0x2b5388||(_0x2b5388=await this['_trackChangesService']['add'](_0x317383['id'],_0x317383['type'],_0x317383['data'],_0x317383['originalSuggestionId'])),_0x32b959(_0x2b5388);}for(const _0x4e9b9a of _0x159eb8)_0x103ed3['hasSuggestion'](_0x4e9b9a['id'])||_0x103ed3['addSuggestionData'](_0x4e9b9a);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x526984=>{this['listenTo'](this['_trackChangesService'],'connected',_0x38a1e4=>{_0x38a1e4['off'](),_0x526984();});});}async['_fetchMissingUsersForThreads'](_0x1bf4d1){const _0x197cf2=this['editor']['plugins']['get'](_0x466bcc),{connection:_0xa87bd6}=this['editor']['plugins']['get'](n),_0x28970f=new Set();for(const {authorId:_0x6270fe}of _0x1bf4d1)_0x197cf2['getUser'](_0x6270fe)||_0x28970f['add'](_0x6270fe);if(0x0===_0x28970f['size'])return;const _0x105e15=await lt['getMany'](_0xa87bd6,Array['from'](_0x28970f));for(const _0x351e05 of _0x105e15)_0x197cf2['getUser'](_0x351e05['id'])||_0x197cf2['addUser'](_0x351e05);}}function k(_0x52bc34){if(ut(_0x52bc34))return new Promise(()=>{});throw _0x52bc34;}function ut(_0x8f29d9){return _0x8f29d9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x8f29d9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x4ae7a2{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4fdea4=this['editor']['plugins']['get'](n),_0x28adff=this['editor']['plugins']['get']('CommentsEditing'),_0x2b8161=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x4fdea4,'change:state',(_0x168a97,_0x38c872,_0x452554)=>{_0x28adff['isThreadsLoadingPaused']='connected'!==_0x452554;});}),this['listenTo'](_0x4fdea4,'change:state',(_0x13f57d,_0x270197,_0x2d1fff)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2d1fff);}),_0x2b8161['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x4ae7a2{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x4ae7a2{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x466bcc];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xa6f95f){super(_0xa6f95f);const _0x29003f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x29003f);}async['init'](){const _0x505427=this['editor']['plugins']['get'](l),_0x303ef5=_0x505427['serverHistory'],_0x4c42fe=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x303ef5,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x505427['sessionId']});const _0x1ed70f=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x4a8d94=await tt['isBundleUploaded'](_0x4c42fe['connection'],_0x1ed70f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xe6282a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xe6282a)),'updateRevisions':async _0x34a6d8=>{await this['_waitForServiceReady']();const _0xa85d7a=this['_revisionTracker']['currentRevision'];if(_0x4a8d94&&0x1===_0x34a6d8['length']&&_0x34a6d8[0x0]['id']===_0xa85d7a['id'])return _0x34a6d8;for(const _0x57d0eb of _0x34a6d8)_0x57d0eb['id']===_0xa85d7a['id']&&(_0x57d0eb['isEmptyCurrent']=_0x57d0eb['fromVersion']===_0x57d0eb['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x34a6d8,this['_lastRequestId'])['then'](_0x30c478=>(this['_lastRequestId']=_0x30c478,_0x34a6d8))['catch'](_0x737410=>{if(st(_0x737410)||'400'===_0x737410['code']&&void 0x0!==_0x737410['data']['wrongRequestId']){for(const _0x28195f of _0x34a6d8){!this['_revisionTracker']['repository']['getRevision'](_0x28195f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x28195f['id'],_0x28195f,!0x1);}if(st(_0x737410))throw _0x737410;return _0x34a6d8;}throw _0x737410;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x257093,{revisionsData:_0x11ed44,requestId:_0x172fb7})=>{Math['max'](..._0x11ed44['map'](_0xb7ce30=>_0xb7ce30['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x11ed44,_0x172fb7);}):this['_handleRevisionsUpdate'](_0x11ed44,_0x172fb7);});const {revisions:_0x53515f,requestId:_0x19df26}=await this['_revisionHistoryService']['connect'](_0x4c42fe['connection']);_0x4c42fe['addToReconnectionStack'](this),this['_lastRequestId']=_0x19df26,await this['_fetchMissingUsers'](_0x53515f);for(const _0x386d9b of _0x53515f)this['_revisionTracker']['addRevisionData'](_0x386d9b);this['listenTo'](_0x505427,'change:_isConnected',(_0x1077f1,_0xd1f3e3,_0x55530f)=>{_0x55530f&&(this['_oldOffset']=_0x505427['_offset'],_0x1077f1['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4c42fe,'state',_0x130741=>_0x130741===te['CONNECTED']);}async['reconnect'](){const _0x5d1b17=this['editor']['plugins']['get'](n),_0x26d877=this['editor']['plugins']['get'](l),_0x4fdb27=async()=>{const _0x5610c4=this['_revisionTracker']['currentRevision'],_0x2bdc9c=_0x5610c4['id'],_0x35e0b0=_0x2bdc9c!==_0x26d877['sessionId'];if(_0x35e0b0){const _0x58ee25=_0x26d877['_offset']-this['_oldOffset'],_0x184096=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x5610c4['toVersion']+_0x58ee25!==_0x184096){const _0x3fd4fb=_0x5610c4['fromVersion']+_0x58ee25,_0x18aa0b=this['editor']['plugins']['get'](_0x466bcc),_0x4c328b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5610c4,'from':_0x3fd4fb,'to':_0x184096});_0x4c328b['id']=_0x5610c4['id'];const _0x96b984=_0x4c328b['authorsIds']['map'](_0x36d147=>_0x18aa0b['getUser'](_0x36d147));_0x5610c4['_update']({..._0x4c328b,'authors':_0x96b984},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5610c4['id'],_0x4c328b,!0x0);}this['_revisionTracker']['_startingVersion']=_0x184096,(_0x5610c4['toVersion']===_0x5610c4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x2bdc9c)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x2bdc9c),this['_revisionTracker']['_createCurrentRevision'](_0x184096));}const {revisions:_0x5ca236,requestId:_0x8f7a5c}=await this['_revisionHistoryService']['reconnect'](_0x5d1b17['connection'],this['_lastRequestId']);_0x35e0b0&&_0x5ca236['length']>0x0?_0x26d877['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5ca236),this['_handleRevisionsUpdate'](_0x5ca236,_0x8f7a5c),this['_revisionTracker']['sendBufferedUpdates']());};return _0x26d877['_isConnected']?_0x4fdb27():new Promise((_0x37699b,_0x34ddea)=>{_0x26d877['once']('change:_isConnected',()=>{_0x4fdb27()['then'](_0x37699b)['catch'](_0x34ddea);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x3b8014=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x54e822=>{_0x54e822['off'](),_0x3b8014();});});}['_getLatestVersionFromServerOperations'](){const _0x13d36e=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2c59d9 of _0x13d36e)if('marker'!==_0x2c59d9['type']||_0x2c59d9['affectsData'])return _0x2c59d9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2c141b=this['editor']['plugins']['get'](l);return new Promise(_0x12b298=>{_0x2c141b['_isPendingUpdate']?_0x2c141b['once']('change:_isPendingUpdate',()=>{_0x12b298(this['_getLatestVersionFromServerOperations']());}):_0x12b298(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xf83487,_0x46c42e){const _0x38f7ce=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x46c42e;for(const _0x5ea003 of _0xf83487){const _0x4fef43=_0x38f7ce['getRevision'](_0x5ea003['id']);if(_0x4fef43){if((_0x5ea003['fromVersion']||_0x5ea003['toVersion'])&&(_0x5ea003['diffData']=null),_0x4fef43===this['_revisionTracker']['currentRevision']){const _0x590a72=Math['max'](_0x4fef43['toVersion'],_0x5ea003['toVersion']),_0x19b5b9=Math['max'](_0x4fef43['fromVersion'],_0x5ea003['fromVersion']);let _0x467977;_0x4fef43['toVersion']===_0x5ea003['toVersion']&&_0x4fef43['fromVersion']===_0x5ea003['fromVersion']?(_0x467977=!0x0,this['_preventResendingRevisionData'](_0x5ea003)):_0x5ea003['toVersion']===_0x590a72&&_0x5ea003['fromVersion']===_0x19b5b9?_0x467977=!0x1:(_0x4fef43['toVersion']===_0x590a72&&_0x4fef43['fromVersion']===_0x19b5b9||this['_fixRevision']({'revision':_0x4fef43,'from':_0x19b5b9,'to':_0x590a72}),_0x467977=!0x0),_0x467977&&(delete _0x5ea003['fromVersion'],delete _0x5ea003['toVersion'],delete _0x5ea003['diffData'],delete _0x5ea003['createdAt'],delete _0x5ea003['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5ea003),this['_preventResendingRevisionData'](_0x5ea003);}else this['_revisionTracker']['addRevisionData'](_0x5ea003);}const _0x4be9aa=_0x38f7ce['getRevisions']();_0x4be9aa['reverse']();for(let _0x295690=0x0;_0x295690<_0x4be9aa['length']-0x1;_0x295690++){const _0x58e181=_0x4be9aa[_0x295690],_0x4f69cc=_0x4be9aa[_0x295690+0x1];if(_0x58e181['fromVersion']<_0x4f69cc['toVersion']){const _0x3075fa=_0x4f69cc['toVersion'],_0x5ceacb=Math['max'](_0x3075fa,_0x58e181['toVersion']);this['_fixRevision']({'revision':_0x58e181,'from':_0x3075fa,'to':_0x5ceacb});}}}['_fixRevision']({revision:_0x485e72,from:_0x5caa90,to:_0x547321}={}){const _0x2d532f=this['editor']['plugins']['get'](_0x466bcc),_0x307c2e=this['_revisionTracker']['buildRevisionData']({'revision':_0x485e72,'from':_0x5caa90,'to':_0x547321});_0x307c2e['authors']=_0x307c2e['authorsIds']['map'](_0x24e907=>_0x2d532f['getUser'](_0x24e907)),_0x485e72['_update'](_0x307c2e);}['_preventResendingRevisionData'](_0x387fd0){const _0x1b7c9a={};_0x1b7c9a['id']=_0x387fd0['id'];for(const _0x148c95 of Object['keys'](_0x387fd0))'id'!==_0x148c95&&(_0x1b7c9a[_0x148c95]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x1b7c9a['id'],_0x1b7c9a,!0x0);}async['_fetchMissingUsers'](_0x36a981){const _0x1c4cbe=this['editor']['plugins']['get'](_0x466bcc),{connection:_0x484926}=this['editor']['plugins']['get'](n),_0x1501ec=new Set();for(const _0xf26eb7 of _0x36a981){for(const _0x1fe0b9 of _0xf26eb7['authorsIds'])_0x2f57f9(_0x1fe0b9);_0xf26eb7['creatorId']&&_0x2f57f9(_0xf26eb7['creatorId']);}if(0x0===_0x1501ec['size'])return;const _0x150b1f=await lt['getMany'](_0x484926,Array['from'](_0x1501ec));for(const _0xf45c92 of _0x150b1f)_0x1c4cbe['getUser'](_0xf45c92['id'])||_0x1c4cbe['addUser'](_0xf45c92);function _0x2f57f9(_0x190888){_0x1c4cbe['getUser'](_0x190888)||_0x1501ec['add'](_0x190888);}}}function st(_0x3e2a91){return _0x3e2a91['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x3e2a91['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3e2a91['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x4ae7a2{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x4e98ce{['_collapseAt'];constructor(_0x4a0ee1,_0x3aaa6c=0x6){super(_0x4a0ee1);const _0x8b4e23=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3aaa6c,this['bind']('isHidden')['to'](this,'usersCount',_0x458d1c=>_0x458d1c<_0x3aaa6c),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x8b4e23['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':_0x8b4e23['to']('usersCount',_0x1d4abc=>'+'+(_0x1d4abc-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4e98ce{['items'];['keystrokes'];constructor(_0x1a5fd6){super(_0x1a5fd6);const _0x2ccb51=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2c9840(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2ccb51['if']('hasPopup'),'aria-expanded':_0x2ccb51['to']('isExpanded',_0x1b9d57=>this['hasPopup']&&String(_0x1b9d57)),'aria-label':_0x2ccb51['to']('hasPopup',_0x453ef4=>V(_0x1a5fd6,_0x453ef4?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2ccb51['to']('hasPopup',_0x5ad057=>!!_0x5ad057&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2ccb51['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2ccb51['to'](_0x335fe3=>{const _0x48bfeb=_0x335fe3,_0x40b1f8=document['querySelector']('.ck-presence-list__dropdown-list'),_0x365f3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x40b1f8?.['contains'](_0x48bfeb['relatedTarget'])||_0x365f3?.['contains'](_0x48bfeb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x339066,_0x2a4ac4,_0x17a78f)=>{this['element']&&(_0x17a78f?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x4e98ce{['counterView'];['inlineListView'];constructor(_0x40c3ad,_0x5d49f9=0x6){super(_0x40c3ad);const _0x58f4ba=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x5d49f9),this['inlineListView']=new is(_0x40c3ad),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1f105c of this['inlineListView']['items'])_0x1f105c['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',_0x58f4ba['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x4e98ce{['listWrapperView'];constructor(_0x25a31a,_0x48a49a){super(_0x25a31a);const _0x1bf58d=this['bindTemplate'];this['listWrapperView']=new pt(_0x25a31a,_0x48a49a),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0x25a31a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1bf58d['to'](_0x4ac527=>{const _0x42648d=_0x4ac527,_0x31f89b=document['querySelector']('.ck-presence-list__list'),_0x6dbaca=document['querySelector']('.ck-balloon-panel_with-arrow');_0x31f89b?.['contains'](_0x42648d['relatedTarget'])||_0x6dbaca?.['contains'](_0x42648d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x1aff0d{constructor(_0xea2ad6,_0x3cecb9){super(_0xea2ad6);const _0x4107e2=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x3cecb9?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4107e2['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4107e2['to']('role'),'aria-label':_0x4107e2['to']('ariaLabel'),'aria-labelledby':_0x4107e2['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3e222a['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3a9e26=this['element'];_0x3a9e26&&(this['_isScrollable']=Math['max'](_0x3a9e26['scrollHeight'],_0x3a9e26['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x13a257,_0x188d14,_0x3bd214){super(_0x13a257);const _0x188914=this['bindTemplate'];this['userView']=new ct(_0x13a257,_0x188d14);const _0x104dc0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x188d14['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x188d14['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x188d14['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x3bd214&&(_0x104dc0['tag']='button',_0x104dc0['on']={'click':_0x188914['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x104dc0);}['focus'](){this['element']['focus']();}}class A extends _0x4e98ce{['userView'];['markerView'];constructor(_0x300446,_0x798952,_0x3a6632){super(_0x300446);const _0xa12ae7=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x300446,_0x798952),this['markerView']=new at(_0x300446,_0x798952);const _0x413fb5=new ot(_0x300446);_0x413fb5['template']['tag']='span',_0x413fb5['text']=_0x798952['name'];const _0x265ae9={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xa12ae7['to']('isFocusable',_0x1b19c1=>!!_0x1b19c1&&0x0),'aria-labelledby':_0x413fb5['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xa12ae7['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xa12ae7['to']('hasTooltip',_0x129ba8=>!_0x129ba8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x413fb5]};_0x3a6632&&(_0x265ae9['tag']='button',_0x265ae9['on']={'click':_0xa12ae7['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x265ae9);}}class at extends _0x4e98ce{constructor(_0x1b249b,_0xf0639b){super(_0x1b249b),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xf0639b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0xef721{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b5bdb){super(_0x5b5bdb),this['context']['config']['define']('presenceList',x);const _0x273158=_0x5b5bdb['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x273158)throw new _0x27f4c7('presencelist-collapseat-invalid-format',this);if(_0x273158<0x1)throw new _0x27f4c7('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5037c6(),this['balloonPanelView']=new _0x3c94f3(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x59c026 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x59c026);this['listenTo'](this['_allConnectedUsers'],'add',(_0x339870,_0x5ed3e1)=>{this['_handleUserAdd'](_0x5ed3e1);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x2f0420,_0x40a28e)=>{this['_handleUserRemove'](_0x40a28e);});}['_createView'](){const _0x50f6d8=this['context'],_0x3ae648=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1ac63b=this['balloonPanelView'];if(!_0x56d934(_0x50f6d8['config']['get']('presenceList.container')))throw new _0x27f4c7('presencelist-missing-container',this);return _0x3ae648['counterView']['bind']('usersCount')['to'](this),_0x3ae648['bind']('isCollapsed')['to'](this,'usersCount',_0x415d4c=>{const {collapseAt:_0x2bff4c}=_0x50f6d8['config']['get']('presenceList'),_0x38a921=_0x415d4c>=_0x2bff4c;if(_0x38a921&&!_0x3ae648['inlineListView']['items']['find'](_0x42f9ab=>_0x42f9ab instanceof b)){const _0x4fb946=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4fb946&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3ae648['inlineListView']['items']['add'](_0x3ae648['counterView']);}return _0x38a921||this['hideDropdown'](),_0x38a921;}),_0x3ae648['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5e71df=>{const _0x479cb7=_0x50f6d8['config']['get']('presenceList'),_0x50b0b1=new A(_0x50f6d8['locale'],_0x5e71df,!!_0x479cb7['onClick']);return _0x50b0b1['bind']('hasTooltip')['to'](_0x3ae648,'isCollapsed',_0x281cb0=>!_0x281cb0),_0x50b0b1['bind']('isFocusable')['to'](_0x3ae648,'isCollapsed',_0x167300=>!_0x167300),_0x479cb7['onClick']&&this['listenTo'](_0x50b0b1,'execute',()=>{this['view']['isCollapsed']||_0x479cb7['onClick'](_0x5e71df,_0x50b0b1['element']);}),_0x50b0b1;}),this['listenTo'](_0x3ae648['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3ae648['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3ae648['inlineListView']['keystrokes']['set']('Enter',(_0x5a7e16,_0x4b0abd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4b0abd());}),_0x3ae648['render'](),_0x1ac63b['render'](),_0x8c51e2({'emitter':_0x3ae648,'activator':()=>_0x1ac63b['isVisible'],'contextElements':[_0x1ac63b['element'],_0x3ae648['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x50f6d8['config']['get']('presenceList.container')['appendChild'](_0x3ae648['element']),this['_bodyCollection']=new _0x349d35(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3ae648;}['_handleUserAdd'](_0x562a3d){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x562a3d['isMe'])return;const _0x4e0a60=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x4e0a60-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3faf76=_0x562a3d['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x562a3d,_0x3faf76);}['_handleUserRemove'](_0x50b7d9){this['usersCount']--;const {collapseAt:_0xdd1802}=this['context']['config']['get']('presenceList'),_0x1d14fa=this['usersCount']>=_0xdd1802;if(this['currentDisplayedUsers']['get'](_0x50b7d9['id']))this['currentDisplayedUsers']['remove'](_0x50b7d9['id']);else{if(_0x1d14fa&&this['currentDisplayedUsers']['length']+0x1===_0xdd1802-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1d14fa?0x1:0x0)<this['usersCount']){for(const _0x4e6ceb of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x4e6ceb['id'])&&(this['currentDisplayedUsers']['add'](_0x4e6ceb,Math['min'](this['currentDisplayedUsers']['length']-(_0x1d14fa?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1d14fa?0x1:0x0)===_0xdd1802-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4f8f64=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x4f8f64['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x107332}=this['presenceDropdownView'];_0x107332['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x1389a5=>{if(!_0x4f8f64['displayMe']&&_0x1389a5['isMe'])return null;const _0x314ae7=new j(this['context']['locale'],_0x1389a5,!!_0x4f8f64['onClick']);return _0x4f8f64['onClick']&&this['listenTo'](_0x314ae7,'execute',()=>{_0x4f8f64['onClick'](_0x1389a5,_0x314ae7['element']);}),_0x314ae7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x107332['focus'](),_0x107332['checkIfScrollable']();const _0x43f96d=(_0x36522d,_0x3a4584)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3a4584();};_0x107332['keystrokes']['set']('Esc',_0x43f96d),_0x107332['keystrokes']['set']('Shift+Tab',_0x43f96d),_0x107332['keystrokes']['set']('Tab',(_0x3fd519,_0x15ef41)=>{!function(_0xd134ff){const _0x3d36ec=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xe1a847=>_0xe1a847+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x311a56=[...document['body']['querySelectorAll'](_0x3d36ec)]['filter'](_0x58e5a5=>_0x58e5a5===document['activeElement']||_0x58e5a5['offsetWidth']+_0x58e5a5['offsetHeight']>0x0)['sort']((_0x43a761,_0x56ed5f)=>(_0x43a761['tabIndex']||0x0)-(_0x56ed5f['tabIndex']||0x0)),_0x5d5496=_0x311a56['indexOf'](_0xd134ff),_0xf4907e=_0x311a56[(_0x5d5496+0x1)%_0x311a56['length']];_0xf4907e&&_0xf4907e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x15ef41();}),_0x107332['focusTracker']['add'](this['view']['element']),_0x107332['focusTracker']['on']('change:isFocused',(_0xe73ac3,_0x32a131,_0xd9e877)=>{_0xd9e877||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0xef721{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x373179,Plugin as _0x1b88e7,PendingActions as _0x45dc74,Context as _0x56d2e6}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x49ba8a,CKEditorError as _0x5f3c76,Collection as _0x2b6088,global as _0x5d7312,version as nt,uid as _0x3f44af,KeystrokeHandler as _0x4eccc8}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x1155f0,View as _0x3a03f8,ListView as _0x5b209c,ListItemView as et,LabelView as ot,BalloonPanelView as _0x1fd67d,clickOutsideHandler as _0x3b5a70,BodyCollection as _0x2db1f5}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x49cbb2,History as _0x1ef85f,NoOperation as _0x113dde,InsertOperation as _0x42735d,MarkerOperation as _0x1e107f,RootAttributeOperation as _0x43f2c0,transformOperationSets as _0x424768,OperationFactory as _0x55eb3b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x29578b,CollaborativeEditingService as _0x1d3e11,User as at,CommentsService as _0x464c89,TrackChangesService as _0x649362,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5ad930,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x20d78f}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x267cb3}from'es-toolkit/compat';class n extends _0x373179{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x1155f0];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x484574){super(_0x484574),this['set']('state',_0x29578b['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x49ba8a())();}['init'](){const _0x3389a8=this['context'],_0x2b2e23=_0x3389a8['plugins']['get']('CloudServices'),_0x4cc383=_0x3389a8['plugins']['get'](_0x1155f0);if(!_0x2b2e23['token'])throw new _0x5f3c76('websocketgateway-missing-token',this);if(!_0x2b2e23['webSocketUrl'])throw new _0x5f3c76('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),n['WebSocketGateway']['connect'](_0x2b2e23['token'],_0x2b2e23['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x6d1de2=>{if(this['connection']=_0x6d1de2,this['bind']('state')['to'](_0x6d1de2,'state',this,'_isBrowserOffline',(_0x275f8d,_0x5190c6)=>('connected'!==_0x275f8d&&(this['_shouldPluginsReconnect']=!0x0),_0x5190c6||_0x275f8d!==_0x29578b['CONNECTED']?_0x29578b['DISCONNECTED']:this['state']==_0x29578b['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x29578b['CONNECTING']):_0x29578b['CONNECTED'])),this['connection']['on']('error',(_0x4eb3a9,_0x3cd00c)=>{if('limitExceeded'!==_0x3cd00c['code'])throw console['error'](_0x3cd00c),new _0x5f3c76('cloudservices-init',null,{'originalError':_0x3cd00c});_0x4cc383['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'});}),!_0x6d1de2['me'])return new Promise(_0x3e88b7=>_0x6d1de2['on']('change:me',_0x3e88b7));})['catch'](_0x5a0d42=>{throw console['error'](_0x5a0d42),new _0x5f3c76('cloudservices-init',null,{'originalError':_0x5a0d42});});}['addToReconnectionStack'](_0xf0802f){if('function'!=typeof _0xf0802f['reconnect'])throw new _0x5f3c76('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0xf0802f))throw new _0x5f3c76('websocketgateway-plugin-already-registered',this,{'name':_0xf0802f['constructor']['pluginName']});this['_reconnectionStack']['add'](_0xf0802f);}['removeFromReconnectionStack'](_0x2745ed){this['_reconnectionStack']['delete'](_0x2745ed);}['isInReconnectionStack'](_0x174c24){return this['_reconnectionStack']['has'](_0x174c24);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2c1da7=>_0x2c1da7['reconnect']())))['then'](()=>this['state']=_0x29578b['CONNECTED'])['catch'](_0x8b3b17=>{throw console['error'](_0x8b3b17),new _0x5f3c76('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x29578b['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x373179{['channelSessions'];['channelConnectedUsers'];['allConnectedUsers'];['_registeredSessions'];['_uniqueUsersCount'];['_users'];static get['pluginName'](){return'Sessions';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}static get['requires'](){return[n,_0x5ad930];}constructor(_0x10365b){super(_0x10365b),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2b6088(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5ad930);}['init'](){const _0x29453b=this['context']['plugins']['get'](n);this['listenTo'](_0x29453b,'change:state',(_0x4ee13d,_0x5b3463,_0x5a76ac)=>{if('connected'!==_0x5a76ac)this['channelSessions']['forEach'](_0x60cf45=>_0x60cf45['clear']()),this['channelConnectedUsers']['forEach'](_0x295c2b=>_0x295c2b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x41fb18,_0x811873]of this['_registeredSessions'])for(const _0x8dbb2c of _0x811873)this['_handleSessionAdd'](_0x41fb18,_0x8dbb2c);}}),this['_createUser'](_0x29453b['connection']['me'],!0x0);}['register'](_0x540385,_0x39bf06){if(this['_registeredSessions']['has'](_0x540385))throw new _0x5f3c76('sessions-register-already-registered',null,{'channelId':_0x540385});this['_registeredSessions']['set'](_0x540385,_0x39bf06),this['channelSessions']['set'](_0x540385,new _0x2b6088()),this['channelConnectedUsers']['set'](_0x540385,new _0x2b6088()),this['listenTo'](_0x39bf06,'add',(_0x10c14a,_0x3a429f)=>this['_handleSessionAdd'](_0x540385,_0x3a429f)),this['listenTo'](_0x39bf06,'remove',(_0x5cf051,_0x6c3738)=>this['_handleSessionRemove'](_0x540385,_0x6c3738));for(const _0x2e9094 of _0x39bf06)this['_handleSessionAdd'](_0x540385,_0x2e9094);}['unregister'](_0xfff59b){if(!this['_registeredSessions']['has'](_0xfff59b))throw new _0x5f3c76('sessions-unregister-not-exist',null,{'channelId':_0xfff59b});const _0x3f5f6e=this['_registeredSessions']['get'](_0xfff59b);this['stopListening'](_0x3f5f6e);for(const _0x1f8c98 of _0x3f5f6e)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xfff59b,_0x1f8c98);this['_registeredSessions']['delete'](_0xfff59b),this['channelSessions']['delete'](_0xfff59b),this['channelConnectedUsers']['delete'](_0xfff59b);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x5f3e18){for(const _0x354398 of this['channelSessions']['values']())for(const _0x9243bc of _0x354398)if(_0x9243bc['id']===_0x5f3e18)return _0x9243bc['user'];}['getUserSessions'](_0xc0f39d,_0x376b6a){const _0x47a323=_0x376b6a?[this['channelSessions']['get'](_0x376b6a)]:this['channelSessions']['values'](),_0x2b0f87=new Set();for(const _0x17e2cc of _0x47a323)for(const _0x2bee1d of _0x17e2cc)_0x2bee1d['user']['id']===_0xc0f39d['id']&&_0x2b0f87['add'](_0x2bee1d['id']);return _0x2b0f87;}['getUserRole'](_0x1af990){for(const _0x1e1527 of this['channelSessions']['values']())for(const _0x4a46c3 of _0x1e1527)if(_0x4a46c3['user']===_0x1af990)return _0x4a46c3['role'];}['_handleSessionAdd'](_0x533c5a,_0x88f9f7){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4dce99=_0x88f9f7['user'],_0x2e1474=this['_users']['getUser'](_0x4dce99['id'])||this['_createUser'](_0x4dce99),_0x3c07ad=Object['assign']({},_0x88f9f7,{'user':_0x2e1474});if(this['channelSessions']['get'](_0x533c5a)['add'](_0x3c07ad),!_0x4dce99['hiddenInPresenceList']){const _0x17efd9=this['channelConnectedUsers']['get'](_0x533c5a);_0x17efd9['has'](_0x2e1474['id'])||_0x17efd9['add'](_0x2e1474),this['allConnectedUsers']['has'](_0x2e1474['id'])||_0x4dce99['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2e1474,_0x2e1474['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x533c5a,{'channelId':_0x533c5a,'session':_0x3c07ad});}['_handleSessionRemove'](_0x124262,_0x4a7640){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xf42e0c=this['channelConnectedUsers']['get'](_0x124262),_0x52db2a=_0x4a7640['user'];_0x52db2a['id']&&(this['channelSessions']['get'](_0x124262)['remove'](_0x4a7640['id']),_0xf42e0c['has'](_0x52db2a['id'])&&!this['getUserSessions'](_0x52db2a,_0x124262)['size']&&_0xf42e0c['remove'](_0x52db2a['id']),this['allConnectedUsers']['get'](_0x52db2a['id'])&&!this['getUserSessions'](_0x52db2a)['size']&&this['allConnectedUsers']['remove'](_0x52db2a['id']));}['_createUser'](_0x7945e3,_0x431d9c){const _0x168031=this['_users']['addUser'](_0x7945e3);return _0x431d9c&&this['_users']['defineMe'](_0x7945e3['id']),_0x168031['orderNumber']=this['_uniqueUsersCount']++,_0x168031;}}class W extends _0x1b88e7{['_domEmitter']=new(_0x49ba8a())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x30a67c=this['editor'],_0x53ea3a=_0x30a67c['plugins']['get'](i);_0x30a67c['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x426c48,{writer:_0x53a17c})=>function(_0xf22c2f,_0x378746,_0x41d697,_0x2cc11a){const _0x1962fd=_0xf22c2f['markerName']['split'](':')[0x2],_0x157bc3=_0x41d697['getUserBySessionId'](_0x1962fd);if(!_0x157bc3||_0x1962fd===_0x41d697['mySessionId'])return;if(!_0x2cc11a['model']['schema']['checkChild'](_0xf22c2f['markerRange']['start'],'$text'))return;const _0x1dc0f5={'class':'ck-user__marker\x20'+_0x157bc3['color']['getMarkerClass'](),'data-name':_0x157bc3['name'],'data-session-id':_0x1962fd},_0xe110af=_0x2cc11a['model']['markers']['get'](_0xf22c2f['markerName']),_0x41c0ff=_0xe110af['getStart'](),_0x5519fb=_0x41c0ff['nodeAfter'],_0x3ec4f7=_0x2cc11a['model']['schema'];if(_0x5519fb&&_0x3ec4f7['isObject'](_0x5519fb)&&_0x3ec4f7['isInline'](_0x5519fb)&&!_0x2cc11a['model']['markers']['get']('user:range:'+_0x1962fd)['getRange']()['isCollapsed'])return;const _0x4cdf8f=_0x41c0ff['parent'];return _0x2cc11a['model']['schema']['isLimit'](_0x4cdf8f)&&!_0x2cc11a['model']['hasContent'](_0x4cdf8f)&&(_0x1dc0f5['contenteditable']=!0x1),function(_0x21ab82,_0x4111f2,_0x3f9db0){const _0x1e02da=_0x21ab82['createUIElement']('span',_0x4111f2);return _0x21ab82['setCustomProperty']('userPositionMarker',!0x0,_0x1e02da),_0x1e02da['render']=function(_0x13072f){const _0x23501c=this['toDomElement'](_0x13072f),_0x3684eb=document['createElement']('span');return _0x3684eb['classList']['add']('ck-user__marker-tooltip'),_0x3684eb['setAttribute']('contenteditable','false'),_0x3684eb['setAttribute']('spellcheck','false'),_0x3684eb['textContent']=_0x3f9db0['name'],_0x23501c['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3684eb['outerHTML']+'⁠',_0x23501c['addEventListener']('mouseenter',()=>{_0x23501c['classList']['add']('ck-user__marker_hovered');}),_0x23501c['addEventListener']('mouseleave',()=>{_0x23501c['classList']['remove']('ck-user__marker_hovered');}),_0x23501c;},_0x1e02da['isSimilar']=function(_0x97c000){return!(!this['getCustomProperty']('userPositionMarker')||!_0x97c000['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x97c000['getAttribute']('data-session-id'));},_0x1e02da;}(_0x378746,_0x1dc0f5,_0x157bc3);}(_0x426c48,_0x53a17c,_0x53ea3a,_0x30a67c)}),_0x30a67c['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x27cae7=>function(_0x58d35c,_0x55eed9){const _0x5460da=_0x58d35c['markerName']['split'](':')[0x2];if(_0x5460da===_0x55eed9['mySessionId'])return null;const _0x373282=_0x55eed9['getUserBySessionId'](_0x5460da);if(!_0x373282)return{'id':_0x5460da,'classes':[]};return{'id':_0x5460da,'classes':['ck-user__selection',_0x373282['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5460da},'priority':0x7d0+_0x373282['orderNumber']};}(_0x27cae7,_0x53ea3a)}),function(_0x2c7afa){const _0x34e4ac=_0x2c7afa['model'],_0x3ddfe0=new Map(),_0x4d961c=_0x2c7afa['plugins']['get'](i);_0x34e4ac['markers']['on']('update:user:range',(_0x57d3f1,_0x177286,_0x25f527,_0x58ba2a)=>{if(!_0x58ba2a&&_0x3ddfe0['get'](_0x177286['name']))return _0x3ddfe0['get'](_0x177286['name'])['detach'](),void _0x3ddfe0['delete'](_0x177286['name']);const _0x434bb8=_0x177286['name']['split'](':')[0x2];if(_0x434bb8===_0x4d961c['mySessionId'])return;const _0x58dde6='user:position:'+_0x434bb8;_0x34e4ac['markers']['has'](_0x58dde6)&&_0x2c7afa['editing']['reconvertMarker'](_0x58dde6),_0x177286['on']('change:range',(_0x58acd5,_0x4a0005,_0x5f4565)=>{if('$graveyard'!=_0x4a0005['root']['rootName']&&'$graveyard'==_0x177286['getRange']()['root']['rootName']&&!_0x3ddfe0['has'](_0x177286['name'])){const _0x5b1406=_0x34e4ac['schema']['getNearestSelectionRange'](_0x5f4565['deletionPosition']);if(_0x5b1406){const _0x41cc9d=_0x49cbb2['fromRange'](_0x5b1406);_0x3ddfe0['set'](_0x177286['name'],_0x41cc9d),_0x41cc9d['on']('change:range',(_0x4efb1d,_0x58fc7b,_0x43dbd1)=>{if('$graveyard'==_0x41cc9d['root']['rootName']){const _0x49b066=_0x34e4ac['schema']['getNearestSelectionRange'](_0x43dbd1['deletionPosition']);_0x49b066?(_0x41cc9d['start']=_0x49b066['start'],_0x41cc9d['end']=_0x49b066['end']):(_0x3ddfe0['delete'](_0x177286['name']),_0x41cc9d['detach']());}});}}});}),_0x34e4ac['document']['on']('change',()=>{_0x3ddfe0['size']>0x0&&_0x34e4ac['enqueueChange']({'isUndoable':!0x1},_0x145d54=>{for(const [_0x305b60,_0xa6badf]of _0x3ddfe0)'$graveyard'==_0x34e4ac['markers']['get'](_0x305b60)['getRange']()['root']['rootName']&&(re(_0x305b60['split'](':')[0x2],_0xa6badf['toRange'](),_0x34e4ac,_0x145d54),_0xa6badf['detach']());_0x3ddfe0['clear']();});});}(_0x30a67c),this['_domEmitter']['listenTo'](_0x5d7312['document'],'keydown',(_0x1ec766,{key:_0x2d2c7e})=>{'Escape'===_0x2d2c7e&&function(_0x5e46c1){_0x5e46c1['editing']['view']['change'](_0x235567=>{for(const _0x2d4745 of _0x5e46c1['model']['markers']){if(!_0x2d4745['name']['startsWith']('user:position'))continue;const _0x18e2ac=_0x5e46c1['editing']['mapper']['markerNameToElements'](_0x2d4745['name']);if(_0x18e2ac){for(const _0x30da82 of _0x18e2ac)_0x235567['removeClass']('ck-user__marker_hovered',_0x30da82);}}});}(_0x30a67c);},{'useCapture':!0x0});}['afterInit'](){const _0x22ac19=this['editor'],_0x415145=_0x22ac19['commands']['get']('undo');_0x415145&&_0x22ac19['model']['on']('applyOperation',(_0x1eb0c7,_0x53da81)=>{const _0x683354=_0x53da81[0x0];if(!_0x683354['isDocumentOperation'])return;if('marker'!=_0x683354['type']||!_0x683354['name']['startsWith']('user:'))return;const _0x51d40e=_0x683354['batch'];_0x415145['_createdBatches']['has'](_0x51d40e)&&(_0x683354['newRange']=_0x683354['oldRange']?_0x22ac19['model']['createRange'](_0x683354['oldRange']['start'],_0x683354['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1d1d3e=this['editor'],_0x42b93b=_0x1d1d3e['model']['document'],_0xbcc08b=_0x1d1d3e['plugins']['get'](i);_0x1d1d3e['model']['enqueueChange']({'isUndoable':!0x1},_0x1979b9=>{const _0x50f9b2='user:range:'+_0xbcc08b['mySessionId'],_0x28d6ec='user:position:'+_0xbcc08b['mySessionId'],_0x2bd9ab=_0x1d1d3e['model']['markers']['has'](_0x50f9b2);_0x1d1d3e['editing']['view']['hasDomSelection']?re(_0xbcc08b['mySessionId'],_0x42b93b['selection']['getFirstRange'](),_0x1d1d3e['model'],_0x1979b9):_0x2bd9ab&&(_0x1979b9['removeMarker'](_0x50f9b2),_0x1979b9['removeMarker'](_0x28d6ec));});}}function re(_0x48366e,_0x2f1be1,_0x40c50c,_0x6cb287){const _0x1367c0='user:range:'+_0x48366e,_0x5b1471='user:position:'+_0x48366e,_0x2ec41e=_0x2f1be1['getContainedElement']();let _0x349d3c=_0x2f1be1['start'];if(_0x2ec41e&&_0x2ec41e['is']('element','tableCell')){const _0x3ba424=function(_0x18bf45,_0x55e3c8){for(const _0x43ab03 of _0x18bf45['getPositions']())if(_0x55e3c8['schema']['checkChild'](_0x43ab03,'$text'))return _0x43ab03;}(_0x2f1be1,_0x40c50c);_0x3ba424&&(_0x349d3c=_0x3ba424,_0x2f1be1=_0x6cb287['createRange'](_0x349d3c));}const _0x5cea13=_0x6cb287['createRange'](_0x349d3c);_0x40c50c['markers']['has'](_0x1367c0)?(_0x6cb287['updateMarker'](_0x1367c0,{'range':_0x2f1be1}),_0x6cb287['updateMarker'](_0x5b1471,{'range':_0x5cea13})):(_0x6cb287['addMarker'](_0x1367c0,{'range':_0x2f1be1,'usingOperation':!0x0}),_0x6cb287['addMarker'](_0x5b1471,{'range':_0x5cea13,'usingOperation':!0x0}));}function q(_0x225cb4,_0x579500,_0x22308a){const _0xe16502=_0x225cb4['t'],t=_0x225cb4['t'];switch(_0x579500){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 _0xe16502({'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'},_0x22308a);default:return'';}}let K=0x1;class l extends _0x1b88e7{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x1d3e11)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,W,_0x45dc74,_0x5ad930,_0x1155f0];}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 _0x581db0=this['serverHistory']['getOperations']();for(let _0x5826b5=_0x581db0['length']-0x1;_0x5826b5>=0x0;_0x5826b5--){const _0x38e983=_0x581db0[_0x5826b5];if(!this['_disconnectionOperations']['has'](_0x38e983))return _0x38e983['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x11d74c){if(super(_0x11d74c),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1ef85f(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5f3c76('collaboration-missing-channelid',this);const _0x1c4eca=_0x11d74c['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x1c4eca,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x20d78f(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new X(this['_disconnectionOperations']);}['init'](){const _0x431479=this['editor'],_0x1680e6=_0x431479['plugins']['get'](_0x5ad930),_0x4180e1=_0x431479['plugins']['get'](n);this['listenTo'](_0x1680e6,'getOperationAuthor',(_0x51cc49,_0x2c6a32)=>{const _0x53a993=_0x2c6a32[0x0];_0x53a993['_authorId']&&(_0x51cc49['return']=_0x1680e6['getUser'](_0x53a993['_authorId']),_0x51cc49['stop']()),null===_0x53a993['_authorId']&&(_0x51cc49['return']=null,_0x51cc49['stop']());},{'priority':'high'}),this['listenTo'](_0x431479['model']['document']['selection'],'change:range',(_0x73a31f,_0x5e6634)=>{_0x5e6634['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x431479['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x431479['model']['on']('applyOperation',(_0x1f6210,_0x32d606)=>{const _0x487c7d=_0x32d606[0x0];_0x487c7d['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x487c7d),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x4180e1,'state',this,'_hasSynchronizationProblem',(_0xa78545,_0x9dfd24)=>'connected'===_0xa78545&&!_0x9dfd24),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x431479['disableReadOnlyMode']('rtc-offline'):_0x431479['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x431479['disableReadOnlyMode']('rtc-offline'):_0x431479['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x44fb3e=this['editor']['plugins']['get'](i),_0x5dcfee=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x44fb3e['unregister'](this['_channelId']);const _0x5abbad=await this['_service']['reconnect'](_0x5dcfee['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x5abbad)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x44ab4b=await this['_service']['getConnectedSessions']();_0x44fb3e['register'](this['_channelId'],_0x44ab4b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x203153){if(function(_0x1ae0e5){return'404'===_0x1ae0e5['code'];}(_0x203153)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x172e87){return'409'===_0x172e87['code'];}(_0x203153)){const _0x505b92=q(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x505b92);}else{if(!(_0x203153 instanceof J))throw _0x203153;this['_handleReconnectionError']();}}}}['destroy'](){const _0x1ba94f=this['editor']['plugins']['get'](n),_0x128245=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x128245['channelSessions']['has'](this['_channelId'])&&_0x128245['unregister'](this['_channelId']),_0x1ba94f['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x180df8){if(this['sessionId']!==_0x180df8['sessionId']&&this['_lastSyncedOperationId']!==_0x180df8['lastOperationId'])throw new J();return this['sessionId']=_0x180df8['sessionId'],this['_handleServerResponse']([],{..._0x180df8,'wereChangesApplied':!0x1,'data':_0x180df8['data']},'reconnect');}async['_connectService'](_0x57fbfb,_0x37c047=!0x1){const {connection:_0x1515bf}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1515bf,this['_channelId'])['then'](_0x2ed2c6=>this['_initSessionsHandling'](_0x2ed2c6))['catch'](_0x3e3ebf=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3e3ebf);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2ffede,_0x2f10fd)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2f10fd);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x559495=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x57fbfb);this['_isPendingUpdate']=!0x0;const _0x5aea52=await this['_service']['connect'](_0x1515bf,this['_compressOperations'](_0x57fbfb),_0x559495);if(this['sessionId']=_0x5aea52['sessionId'],_0x37c047){if(!_0x5aea52['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5aea52['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x57fbfb,_0x5aea52,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5aea52,_0x57fbfb);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3d1227=this['editor']['plugins']['get'](i),_0x3421ef=this['editor']['plugins']['get'](W),_0x2cc565=_0x3d1227['channelSessions']['get'](this['_channelId']);_0x2cc565&&_0x2cc565['length']>0x1?_0x3421ef['createUserMarkerOperations']():this['listenTo'](_0x3d1227,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3d1227['channelSessions']['get'](this['_channelId'])['length']&&_0x3421ef['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2ff70e,_0x50a4e3,_0x5c1254,_0x468ce3){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x50a4e3){const _0x372917=this['_decompressOperations'](_0x5c1254,_0x468ce3);await this['_fetchMissingUsers'](_0x372917),this['_handleExternalOperations'](_0x372917,_0x50a4e3,_0x5c1254['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x5db825}=this['editor'];let _0x3a38c7;try{_0x3a38c7=await this['_service']['getDocumentDetails']();}catch{const _0x5cc09d=q(_0x5db825,'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'](_0x5cc09d);}const _0x1ec6cf=_0x3a38c7['currentDocumentSession']||_0x3a38c7['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x1ec6cf['lastOperationId']){const _0x2e9d64=q(_0x5db825,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x2e9d64);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3c9a6b){const _0x5256e5=this['editor']['plugins']['get'](i);this['listenTo'](_0x5256e5,'sessionAdd:'+this['_channelId'],(_0x30b2bb,{session:_0x3713ce})=>{if(_0x3713ce['id']===_0x5256e5['mySessionId']){_0x30b2bb['off']();const _0x462b67=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1a0925=_0x3713ce['permissions'];_0x462b67&&_0x462b67['isEnabled']&&(_0x1a0925=_0x1a0925['filter'](_0x3fc6e1=>'document:write'!==_0x3fc6e1)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1a0925,this['_channelId']);}}),_0x5256e5['register'](this['_channelId'],_0x3c9a6b);}['_initThrowingOnDataSet'](){const _0x95fb39=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x20dcf5)=>{if(!_0x20dcf5[_0x20dcf5['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5f3c76('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x95fb39['apply'](this['editor']['data'],_0x20dcf5);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x268f35,[_0x4b6fc5])=>{if(this['_document']['version'])throw new _0x5f3c76('realtimecollaborationclient-init-document-already-initialized',this);_0x268f35['stop'](),this['_setPendingAction']();const _0x76c97d=this['editor']['config']['get']('rootsAttributes'),_0x255497=this['_getOperationsFromInitData'](_0x4b6fc5,_0x76c97d);0x0==_0x255497['length']&&_0x255497['push'](new _0x113dde(0x0)),_0x268f35['return']=this['_connectService'](_0x255497)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1e7641=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1e7641))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x5c9470,[_0x58dcc9,_0x5eabc3])=>{_0x5c9470['stop']();const _0x5eb840=this['editor']['model']['document']['getRoot'](_0x58dcc9);if(!this['_knownRootNames']['has'](_0x58dcc9)){const _0x4fa63b=_0x5eabc3&&_0x5eabc3['data']?_0x5eabc3['data']:'',_0x519e59=_0x5eabc3&&_0x5eabc3['attributes']?_0x5eabc3['attributes']:{};await this['_loadRoot'](_0x58dcc9,_0x4fa63b,_0x519e59);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5eb840['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5eb840);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x235cd0){const _0x39bed3=this['editor']['plugins']['get'](_0x5ad930),{connection:_0x383158}=this['editor']['plugins']['get'](n),_0x321051=new Set();for(const _0x32d3ec of _0x235cd0){const _0x442fab=_0x32d3ec['_authorId'];_0x442fab&&!_0x39bed3['getUser'](_0x442fab)&&_0x321051['add'](_0x442fab);}if(0x0===_0x321051['size'])return;const _0x3ad198=await at['getMany'](_0x383158,Array['from'](_0x321051));for(const _0xccc2e9 of _0x3ad198)_0x39bed3['getUser'](_0xccc2e9['id'])||_0x39bed3['addUser'](_0xccc2e9);}['_getOperationsFromInitData'](_0x5580a7,_0xec78c4={}){const _0x3328b2=this['editor']['model'],_0xb33a3e=[];let _0x507ff9=0x0;const _0x15f3e2='string'==typeof _0x5580a7?{'main':_0x5580a7}:_0x5580a7;for(const _0x12da38 of Object['keys'](_0x15f3e2)){if(!this['_document']['roots']['has'](_0x12da38))throw new _0x5f3c76('realtimecollaborationclient-init-non-existent-root',this);const _0x444349=this['editor']['data']['parse'](_0x15f3e2[_0x12da38]),_0xb0b3b7=this['_document']['getRoot'](_0x12da38),_0x13e4d9=new _0x42735d(_0x3328b2['createPositionAt'](_0xb0b3b7,0x0),_0x444349,_0x507ff9++);_0xb33a3e['push'](_0x13e4d9);for(const [_0x5da82d,_0x3a2a73]of _0x444349['markers']){const _0x5f0080=_0x3328b2['createRange'](_0x3328b2['createPositionFromPath'](_0xb0b3b7,_0x3a2a73['start']['path']['slice']()),_0x3328b2['createPositionFromPath'](_0xb0b3b7,_0x3a2a73['end']['path']['slice']())),_0x418e24=new _0x1e107f(_0x5da82d,null,_0x5f0080,_0x3328b2['markers'],!0x0,_0x507ff9++);_0xb33a3e['push'](_0x418e24);}}if(_0xec78c4)for(const [_0x9b30c6,_0x413fc4]of Object['entries'](_0xec78c4)){const _0x25e9b6=_0x3328b2['document']['getRoot'](_0x9b30c6);if(!_0x25e9b6)throw new _0x5f3c76('multi-root-editor-root-attributes-no-root',null);for(const [_0x4216af,_0x369695]of Object['entries'](_0x413fc4))if(null!==_0x369695){const _0x720e86=new _0x43f2c0(_0x25e9b6,_0x4216af,null,_0x369695,_0x507ff9++);_0xb33a3e['push'](_0x720e86);}}return _0xb33a3e;}async['_loadRoot'](_0x27f6ca,_0x24fcae,_0xb84da2){this['_getOperationsFromInitData']({[_0x27f6ca]:_0x24fcae},{[_0x27f6ca]:_0xb84da2})['forEach']((_0xf6bac4,_0x228bb4)=>{_0xf6bac4['baseVersion']=this['_document']['version']+_0x228bb4,_0xf6bac4['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xf6bac4);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x332c2b,_0x4e3766){let _0x1ce08b;this['_offset']=_0x332c2b['offset'];const _0x3a6276=_0x332c2b['wereChangesApplied']&&!_0x332c2b['initData'],_0x16a660=_0x3a6276?0x0:_0x332c2b['data']['baseVersion'];if(_0x4e3766['forEach'](_0x429385=>{_0x429385['_isInit']=!0x0,_0x429385['createdAt']=_0x332c2b['sessionCreatedAt'],_0x429385['_authorId']=null;}),_0x3a6276)_0x1ce08b=_0x4e3766,this['_applyOperationsSet'](_0x1ce08b,_0x3a6276);else{if(_0x332c2b['initData']){const _0x4e583d=this['_getOperationsFromInitData'](_0x332c2b['initData']);this['_document']['history']['version']=-_0x4e583d['length'],_0x4e583d['forEach'](_0x1faec7=>{_0x1faec7['baseVersion']-=_0x4e583d['length'],_0x1faec7['createdAt']=_0x332c2b['sessionCreatedAt'],_0x1faec7['_isInit']=!0x0,_0x1faec7['_authorId']=null;}),this['_applyOperationsSet'](_0x4e583d,!0x0),this['serverHistory']['version']=-_0x4e583d['length']+this['_offset'],this['_updateServerHistory'](_0x4e583d);}this['_document']['history']['version']=_0x16a660,_0x1ce08b=this['_decompressOperations'](_0x332c2b['data'],_0x332c2b['metadata']),await this['_fetchMissingUsers'](_0x1ce08b),this['_applyOperationsSet'](_0x1ce08b,_0x3a6276);}_0x332c2b['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1ce08b,_0x332c2b['lastOperationId']),this['_lastSyncedOperationId']=_0x332c2b['lastOperationId']),this['serverHistory']['version']=_0x16a660+this['_offset'],this['_updateServerHistory'](_0x1ce08b),_0x4e3766['filter'](_0x38e591=>{const _0x57c0c2=this['_getAffectedRoot'](_0x38e591);return _0x57c0c2&&!this['_knownRootNames']['has'](_0x57c0c2);})['forEach']((_0x3f1990,_0x575e8c)=>{_0x3f1990['baseVersion']=this['_document']['version']+_0x575e8c,this['_saveOperationInBuffer'](_0x3f1990);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x42517d,_0x1334ef){const _0x33a395=_0x1334ef&&_0x1334ef['message'];if(_0x33a395&&_0x33a395['startsWith']('realtimecollaborationclient'))throw _0x1334ef;const _0x5a208d=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x5a208d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5f3c76(_0x42517d,this['editor'],_0x33a395?{'originalError':_0x33a395}:void 0x0);}['_saveOperationInBuffer'](_0x258ea3){this['_knownOperations']['has'](_0x258ea3)||(this['_knownOperations']['add'](_0x258ea3),this['_bufferedOperations']['push'](_0x258ea3),this['_pendingAction']||'marker'==_0x258ea3['type']&&!_0x258ea3['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x33ead7=!0x1){!_0x33ead7&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x2ec31f=>{_0x2ec31f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x22cc06=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x2f936e){return _0x2f936e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2f936e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x2f936e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x22cc06)||this['_crash'](_0x22cc06['message'],_0x22cc06);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x254771=>{this['on']('change:_isPendingUpdate',()=>{_0x254771();});});}async['_sendBufferedOperations'](){const _0x4c63a9=this['editor']['plugins']['get'](W);if(this['_shouldSendSelectionUpdate']()&&(_0x4c63a9['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x16ab59=[...this['_bufferedOperations']];for(const _0x882d60 of _0x16ab59)_0x882d60['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x882d60);const _0x3068f1=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x16ab59),_0x2400d7=K++,_0x42df20=this['_compressOperations'](_0x16ab59),_0x40408c=await this['_service']['sendOperations'](_0x42df20,_0x42df20['baseVersion'],_0x3068f1);try{return await this['_handleServerResponse'](_0x16ab59,_0x40408c,_0x2400d7);}catch(_0x436446){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x436446);}}async['_handleServerResponse'](_0x4e0a8f,_0x59c364,_0x2b2ebb){if('error'in _0x59c364)throw _0x59c364['error'];let _0x1f65fe=!0x1;if(_0x59c364['wereChangesApplied']){_0x59c364['lastOperationId']&&(this['_lastSyncedOperationId']=_0x59c364['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x30add7=>!_0x4e0a8f['includes'](_0x30add7));for(const _0x5a5e2e of _0x4e0a8f)_0x5a5e2e['createdAt']='lastOperationAcceptedAt'in _0x59c364&&_0x59c364['lastOperationAcceptedAt']||void 0x0;Q(_0x4e0a8f,_0x59c364['version']-_0x4e0a8f['length']),this['_updateServerHistory'](_0x4e0a8f);const _0x5258b4=_0x4e0a8f['filter'](_0x4ea1ae=>{if(!_0x4ea1ae['_isInit'])return!0x1;const _0x482de1=this['_getAffectedRoot'](_0x4ea1ae);return _0x482de1&&!this['_knownRootNames']['has'](_0x482de1);});Q(_0x5258b4,this['_document']['version']),this['_applyOperationsSet'](_0x5258b4),_0x1f65fe=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x266397=this['_decompressOperations'](_0x59c364['data'],_0x59c364['metadata'])['filter'](_0x39c1a5=>_0x39c1a5['baseVersion']>=this['_lastServerVersion']);_0x266397['forEach'](_0x294f8e=>this['_addKnownRoot'](_0x294f8e)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x303c85=>!_0x303c85['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x303c85))),this['_bufferedOperations']['length']&&Q(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x266397),_0x1f65fe=this['_handleExternalOperations'](_0x266397,_0x59c364['version'],_0x59c364['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1f65fe?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3cd4fe,_0x56f722,_0x280b8b){try{const _0x5963ee={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x80f300,operationsB:_0x17db68,originalOperations:_0x274c30}=_0x424768(_0x3cd4fe,this['_bufferedOperations'],_0x5963ee);Q(_0x80f300,this['_document']['version']),Q(_0x17db68,_0x56f722);for(const _0x41d169 of _0x80f300){const _0x5bef88=_0x274c30['get'](_0x41d169);_0x41d169['_authorId']=_0x5bef88?_0x5bef88['_authorId']:null;}_0x280b8b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3cd4fe,_0x280b8b),this['_lastSyncedOperationId']=_0x280b8b),this['_bufferedOperations']=[..._0x17db68],this['_applyOperationsSet'](_0x80f300),this['_updateServerHistory'](_0x3cd4fe);}catch(_0x4b7289){return console['error'](_0x4b7289),!0x1;}return!0x0;}['_applyOperationsSet'](_0x49a134,_0x1f93d8=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1995c4=>{for(const _0x286381 of _0x49a134)this['_knownOperations']['add'](_0x286381),this['_addKnownRoot'](_0x286381),_0x1995c4['batch']['addOperation'](_0x286381),this['editor']['model']['applyOperation'](_0x286381);});}['_addKnownRoot'](_0x39c4b1){const _0x33cf9=this['_getAffectedRoot'](_0x39c4b1);_0x33cf9&&this['_knownRootNames']['add'](_0x33cf9);}['_getAffectedRoot'](_0x4fcebd){let _0x4b8383,_0x12db6f;switch(_0x4fcebd['type']){case'insert':_0x4b8383=_0x4fcebd['position']['root'];break;case'marker':if(_0x12db6f=_0x4fcebd['newRange'],!_0x12db6f)return null;_0x4b8383=_0x12db6f['root'];break;case'addRootAttribute':_0x4b8383=_0x4fcebd['root'];break;case'addRoot':_0x4b8383=_0x4fcebd['affectedSelectable'];break;case'move':_0x4b8383=_0x4fcebd['targetPosition']['root'];break;default:return null;}return _0x4b8383['rootName'];}['_updateServerHistory'](_0x9681fe){_0x9681fe['forEach'](_0xcd87a9=>{const _0x45f87e=_0xcd87a9['clone']();_0x45f87e['_authorId']=_0xcd87a9['_authorId'],_0x45f87e['_isInit']=!!_0xcd87a9['_isInit'],_0x45f87e['createdAt']=_0xcd87a9['createdAt'],_0x45f87e['baseVersion']+=this['_offset'],_0xcd87a9['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x45f87e),this['serverHistory']['addOperation'](_0x45f87e);});}['_handleReconnectionError'](_0x15dfe5){const _0x278834=this['editor']['plugins']['get']('Notification'),_0x4b273f=this['editor']['locale'];_0x15dfe5||(_0x15dfe5=q(_0x4b273f,'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.')),_0x278834['showWarning'](_0x15dfe5,{'title':q(_0x4b273f,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](n)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x45dc74)['add'](q(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x45dc74)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4614ee){const _0x16db99=_0x4614ee['map'](_0x4bce14=>_0x4bce14['toJSON']());return this['_compressor']['compress'](_0x16db99);}['_decompressOperations'](_0x1c6396,_0xa575a4){return this['_compressor']['decompress'](_0x1c6396)['map']((_0x111a80,_0xae2a68)=>{const _0x379eb0='init'==_0xa575a4[_0xae2a68]['type'];if('InsertOperation'==_0x111a80['__className']){const _0x4b8c9a=_0x111a80['position']['root'];!this['_document']['getRoot'](_0x4b8c9a)&&(this['_document']['createRoot']('$root',_0x4b8c9a)['_isAttached']=!0x1);}const _0x2f1d4a=_0x55eb3b['fromJSON'](_0x111a80,this['_document']);return _0x2f1d4a['wasUndone']=_0x111a80['wasUndone'],_0x2f1d4a['_isInit']=_0x379eb0,_0x2f1d4a['_authorId']=_0x379eb0?null:_0xa575a4[_0xae2a68]['userId'],_0x2f1d4a['_isDisconnection']='cs:removeUser'===_0xa575a4[_0xae2a68]['type'],_0x2f1d4a['createdAt']=_0xa575a4[_0xae2a68]['createdAt'],_0x2f1d4a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x466e2e=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x466e2e&&_0x466e2e['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class J extends Error{}function Q(_0xb005ba,_0x24a413){for(const _0x1e4356 of _0xb005ba)_0x1e4356['baseVersion']=_0x24a413++;}class X{['_ignoredOperations'];['_operationToId'];constructor(_0x543b72){this['_ignoredOperations']=_0x543b72,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x996cec){let _0xc79997=_0x996cec['length'];for(;_0xc79997--;){const _0x1e557f=_0x996cec[_0xc79997];if(!this['_ignoredOperations']['has'](_0x1e557f)){if(!this['_operationToId']['has'](_0x1e557f)){const _0x490afb=_0x3f44af()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1e557f,_0x490afb);}return this['_operationToId']['get'](_0x1e557f);}}}['setIdForTheLastOperation'](_0x271ccd,_0x3bf4e3){if(!_0x3bf4e3)return;let _0x5cd444=_0x271ccd['length'];for(;_0x5cd444--;){const _0x5f223e=_0x271ccd[_0x5cd444];this['_ignoredOperations']['has'](_0x5f223e)||this['_operationToId']['set'](_0x5f223e,_0x3bf4e3);}}}class a extends _0x1b88e7{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x373179{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x464c89)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5ad930];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x43f6a8){super(_0x43f6a8),this['_services']=new Map();}async['init'](){const _0x36b3cb=this['context'],_0x56ca6d=_0x36b3cb['plugins']['get']('CommentsRepository');if(_0x36b3cb['plugins']['get'](n)['addToReconnectionStack'](this),_0x56ca6d['adapter']={'addCommentThread':async({channelId:_0x1ae53b,threadId:_0x9840e,comments:_0x2a5168,resolvedAt:_0x2f01a0,resolvedBy:_0x2ff69c,context:_0x4c174a,attributes:_0x2982d9})=>{const _0x29d06d=await this['_getService'](_0x1ae53b)['addCommentThread']({'commentThreadId':_0x9840e,'comments':_0x2a5168['map'](_0x396de9=>function(_0x1ebabc,_0x5e6c85,_0x503b9d){return{'commentThreadId':_0x503b9d,'commentId':_0x1ebabc['commentId'],'userId':_0x1ebabc['authorId'],'content':_0x1ebabc['content'],'documentId':_0x5e6c85,'createdAt':_0x1ebabc['createdAt'],'attributes':_0x1ebabc['attributes']||{}};}(_0x396de9,_0x1ae53b,_0x9840e)),'resolvedAt':_0x2f01a0,'resolvedBy':_0x2ff69c,'context':_0x4c174a,'attributes':_0x2982d9})['catch'](ht);return{'threadId':_0x29d06d['commentThreadId'],'comments':_0x29d06d['comments']};},'getCommentThread':async({channelId:_0x26b3b1,threadId:_0xec9a04})=>{const _0x240fab=await this['_getService'](_0x26b3b1)['getCommentThread'](_0xec9a04)['catch'](F)['catch'](ht);return _0x240fab?_0x240fab['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x240fab]),{'threadId':_0x240fab['commentThreadId'],'comments':_0x240fab['comments']['map'](S),'context':_0x240fab['context'],'resolvedAt':_0x240fab['resolvedAt'],'resolvedBy':_0x240fab['resolvedBy'],'attributes':_0x240fab['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x15c6d4,threadId:_0x2932dd,context:_0x5ae67f,unlinkedAt:_0x5e543a,attributes:_0x9124e9})=>this['_getService'](_0x15c6d4)['updateCommentThread']({'commentThreadId':_0x2932dd,'context':_0x5ae67f,'attributes':_0x9124e9,'unlinkedAt':_0x5e543a})['catch'](F)['catch'](ht),'resolveCommentThread':async({channelId:_0x5826b6,threadId:_0x49c1ba})=>{const _0x3c6e86=await this['_getService'](_0x5826b6)['resolveCommentThread'](_0x49c1ba)['catch'](F)['catch'](ht);return{'threadId':_0x3c6e86['commentThreadId'],'resolvedAt':_0x3c6e86['resolvedAt'],'resolvedBy':_0x3c6e86['resolvedBy']};},'reopenCommentThread':async({channelId:_0x40f133,threadId:_0x2242ec})=>this['_getService'](_0x40f133)['reopenCommentThread'](_0x2242ec)['catch'](F)['catch'](ht),'removeCommentThread':({channelId:_0xdc71ee,threadId:_0x27c294})=>this['_getService'](_0xdc71ee)['removeCommentThread'](_0x27c294)['catch'](F)['catch'](ht),'addComment':({channelId:_0x321d2b,threadId:_0x23393c,commentId:_0x4b44af,content:_0x1249b4,attributes:_0x4c08da})=>this['_getService'](_0x321d2b)['addComment'](_0x23393c,_0x4b44af,_0x1249b4,_0x4c08da)['catch'](ht),'updateComment':({channelId:_0x2b64a3,threadId:_0x2d2399,commentId:_0x53ecfb,content:_0x3178e8,attributes:_0x145538})=>this['_getService'](_0x2b64a3)['updateComment'](_0x2d2399,_0x53ecfb,_0x3178e8,_0x145538)['catch'](F)['catch'](ht),'removeComment':({channelId:_0x4ab1b8,threadId:_0x795dbe,commentId:_0xcd6950})=>this['_getService'](_0x4ab1b8)['removeComment'](_0x795dbe,_0xcd6950)['catch'](F)['catch'](ht)},_0x36b3cb instanceof _0x56d2e6){const _0x490c7e=_0x36b3cb['config']['get']('collaboration.channelId'),_0x20ecf9=_0x36b3cb['plugins']['get'](i);await this['_setUpService'](_0x490c7e);const _0x146bb4=await this['_services']['get'](_0x490c7e)['getConnectedSessions']();this['listenTo'](_0x20ecf9,'sessionAdd:'+_0x490c7e,(_0x21873e,{session:_0x3d6de5})=>{_0x3d6de5['id']===_0x20ecf9['mySessionId']&&(_0x21873e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3d6de5['permissions'],_0x490c7e));}),_0x20ecf9['register'](_0x490c7e,_0x146bb4);}}async['_setUpService'](_0x228d00){if(this['_services']['has'](_0x228d00))throw new _0x5f3c76('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x228d00});const _0x38b88d=this['context']['plugins']['get']('CommentsRepository'),_0x1a0baa=new s['CommentsService'](_0x228d00);this['_services']['set'](_0x228d00,_0x1a0baa),this['listenTo'](_0x1a0baa,'commentThreadAdded',(_0x25e32f,_0x11adf6)=>{const {commentThreadId:_0x4c1401,documentId:_0x56cb7a,context:_0x26d522,attributes:_0x2dd15f,resolvedAt:_0x436e12,resolvedBy:_0x2dda80,comments:_0x55a406}=_0x11adf6;_0x38b88d['getCommentThread'](_0x4c1401)||_0x38b88d['addCommentThread']({'threadId':_0x4c1401,'channelId':_0x56cb7a,'comments':_0x55a406?_0x55a406['map'](S):[],'context':_0x26d522,'attributes':_0x2dd15f,'resolvedAt':_0x436e12,'resolvedBy':_0x2dda80,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a0baa,'commentThreadUpdated',(_0x39c3fb,{commentThreadId:_0x107cc8,documentId:_0xad7da5,context:_0x5455cc,unlinkedAt:_0x140ac1,attributes:_0x225d0f})=>{_0x38b88d['getCommentThread'](_0x107cc8)&&_0x38b88d['updateCommentThread']({'threadId':_0x107cc8,'channelId':_0xad7da5,'context':_0x5455cc,'unlinkedAt':_0x140ac1,'attributes':_0x225d0f,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a0baa,'commentThreadResolved',(_0x39f517,{commentThreadId:_0x1d996a,resolvedBy:_0x5e4f01,resolvedAt:_0x2a667c})=>{const _0x4e0135=_0x38b88d['getCommentThread'](_0x1d996a);_0x4e0135&&_0x4e0135['resolve']({'resolvedBy':_0x5e4f01,'resolvedAt':_0x2a667c,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a0baa,'commentThreadReopened',(_0x360d5f,{commentThreadId:_0x5a961b})=>{const _0x284c2a=_0x38b88d['getCommentThread'](_0x5a961b);_0x284c2a&&_0x284c2a['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1a0baa,'commentThreadRemoved',(_0x566a0b,{commentThreadId:_0x13e1ef})=>{const _0xf92122=_0x38b88d['getCommentThread'](_0x13e1ef);_0xf92122&&_0xf92122['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1a0baa,'commentAdded',(_0x1825bf,_0x2cbe65)=>{const _0x5abb9d=_0x2cbe65['commentThreadId'],_0x129056=_0x38b88d['getCommentThread'](_0x5abb9d);_0x129056&&_0x129056['addComment']({...S(_0x2cbe65),'isFromAdapter':!0x0});}),this['listenTo'](_0x1a0baa,'commentUpdated',(_0x1943ac,{commentThreadId:_0x4c0fc5,commentId:_0x92536a,content:_0x5bf3a1,attributes:_0x518661})=>{const _0x422b48=_0x38b88d['getCommentThread'](_0x4c0fc5);if(_0x422b48){const _0x21de28=_0x422b48['getComment'](_0x92536a);_0x21de28&&_0x21de28['update']({'content':_0x5bf3a1,'attributes':_0x518661,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1a0baa,'commentRemoved',(_0x29d4a1,{commentThreadId:_0x52858e,commentId:_0x439b5d})=>{const _0x2da244=_0x38b88d['getCommentThread'](_0x52858e);if(_0x2da244){const _0x13d91f=_0x2da244['getComment'](_0x439b5d);_0x13d91f&&_0x13d91f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x228d00);}['destroy'](){if(this['context']instanceof _0x56d2e6){const _0x328867=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x328867);}}['_terminateService'](_0x2a0d50){if(!this['_services']['has'](_0x2a0d50))throw new _0x5f3c76('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2a0d50});this['_getService'](_0x2a0d50)['disconnect'](),this['_services']['delete'](_0x2a0d50);}async['reconnect'](){for(const _0x4b5b34 of this['_services']['keys']())await this['_connectService'](_0x4b5b34);if(this['context']instanceof _0x56d2e6){const _0x103502=this['context']['config']['get']('collaboration.channelId'),_0x46f9f3=this['context']['plugins']['get'](i);_0x46f9f3['unregister'](_0x103502);const _0x4072b0=await this['_services']['get'](_0x103502)['getConnectedSessions']();_0x46f9f3['register'](_0x103502,_0x4072b0);}}async['_connectService'](_0x51961f){const {connection:_0x5d7cb6}=this['context']['plugins']['get'](n),_0x1acc38=this['context']['plugins']['get']('CommentsRepository'),_0x234657=this['_services']['get'](_0x51961f),_0x789932=await _0x234657['connect'](_0x5d7cb6);await this['_fetchMissingUsersForThreads'](_0x789932);const _0x378576=new Set(Array['from'](_0x1acc38['getCommentThreads']({'channelId':_0x51961f}),_0x2fc16a=>_0x2fc16a['id']));for(const _0xe5f70f of _0x789932)_0xe5f70f['deletedAt']||_0x378576['delete'](_0xe5f70f['commentThreadId']);for(const _0x48560b of _0x378576)_0x1acc38['getCommentThread'](_0x48560b)['remove']({'isFromAdapter':!0x0});for(const _0x15e2f3 of _0x789932){let _0x3704f5=_0x1acc38['getCommentThread'](_0x15e2f3['commentThreadId']);const {commentThreadId:_0x2969a9,context:_0x114669,attributes:_0x31933e,resolvedBy:_0x3952f0,resolvedAt:_0xadf044,unlinkedAt:_0x37258a,deletedAt:_0x56ee7d}=_0x15e2f3;if(_0x56ee7d)continue;_0x3704f5||(_0x3704f5=_0x1acc38['addCommentThread']({'channelId':_0x51961f,'threadId':_0x2969a9,'context':_0x114669,'attributes':_0x31933e||{},'resolvedBy':_0x3952f0,'resolvedAt':_0xadf044,'unlinkedAt':_0x37258a,'isFromAdapter':!0x0}));const _0x43717a=new Set(Array['from'](_0x3704f5['comments'],_0x3b3791=>_0x3b3791['id']));for(const _0x3d121d of _0x15e2f3['comments'])_0x43717a['delete'](_0x3d121d['commentId']);for(const _0x5012b6 of _0x43717a)_0x3704f5['getComment'](_0x5012b6)['remove']({'isFromAdapter':!0x0});for(const _0x59ff98 of _0x15e2f3['comments']){const _0x3be3fe=_0x3704f5['getComment'](_0x59ff98['commentId']);_0x3be3fe?_0x3be3fe['content']!==_0x59ff98['content']&&_0x3be3fe['update']({'content':_0x59ff98['content'],'isFromAdapter':!0x0}):_0x3704f5['addComment'](Object['assign'](S(_0x59ff98),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1058d4){if(!this['_services']['has'](_0x1058d4))throw new _0x5f3c76('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1058d4});return this['_services']['get'](_0x1058d4);}async['_fetchMissingUsersForThreads'](_0x128987){const _0x4c71dc=this['context']['plugins']['get'](_0x5ad930),{connection:_0x21b722}=this['context']['plugins']['get'](n),_0x28b9c7=new Set();for(const {resolvedBy:_0x3ae26f,comments:_0xc05380}of _0x128987){_0x3ae26f&&!_0x4c71dc['getUser'](_0x3ae26f)&&_0x28b9c7['add'](_0x3ae26f);for(const {userId:_0x108825}of _0xc05380)_0x4c71dc['getUser'](_0x108825)||_0x28b9c7['add'](_0x108825);}if(0x0===_0x28b9c7['size'])return;const _0x4bc1a2=await at['getMany'](_0x21b722,Array['from'](_0x28b9c7));for(const _0x4650b of _0x4bc1a2)_0x4c71dc['getUser'](_0x4650b['id'])||_0x4c71dc['addUser'](_0x4650b);}}async function F(_0xb622ae){if('404'!==_0xb622ae['code'])throw _0xb622ae;}function ht(_0x1312bf){if((_0x39566c=_0x1312bf)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x39566c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39566c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x39566c;throw _0x1312bf;}function S(_0x5070ed){return{'threadId':_0x5070ed['commentThreadId'],'commentId':_0x5070ed['commentId'],'content':_0x5070ed['content'],'createdAt':_0x5070ed['createdAt'],'authorId':_0x5070ed['userId'],'attributes':_0x5070ed['attributes']||{}};}class m extends _0x1b88e7{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x649362)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x204ce9){super(_0x204ce9);const _0x166df4=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x166df4);}['init'](){const _0x1ebfa8=this['editor']['plugins']['get'](n),_0x47e374=this['editor']['plugins']['get']('TrackChangesEditing');return _0x47e374['adapter']={'getSuggestion':async _0x30740a=>{await this['_waitForServiceReady']();const _0x1e9300=await this['_trackChangesService']['get'](_0x30740a)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x1e9300]),_0x1e9300;},'addSuggestion':async({id:_0x525838,type:_0x5d4985,data:_0x58c724,originalSuggestionId:_0x43f339,attributes:_0x149f1a})=>{await this['_waitForServiceReady']();const _0x531308={'id':_0x525838,'type':_0x5d4985,'data':_0x58c724,'originalSuggestionId':_0x43f339,'attributes':_0x149f1a},_0xca03a=await this['_trackChangesService']['add'](_0x525838,_0x5d4985,_0x58c724,_0x43f339,_0x149f1a)['catch'](_0x2592ea=>{if(lt(_0x2592ea))return new Promise(_0x4b284e=>{this['_bufferedRequests']['set'](_0x525838,{'resolve':_0x4b284e,'suggestionData':_0x531308});});throw _0x2592ea;});return this['_bufferedRequests']['delete'](_0x525838),_0xca03a;},'updateSuggestion':async(_0x206e29,_0x3fff1d)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3fff1d['state'])return this['_trackChangesService']['update'](_0x206e29,_0x3fff1d)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x39c3e6,_0x49a6dc)=>{_0x47e374['hasSuggestion'](_0x49a6dc['id'])&&(_0x47e374['getSuggestion'](_0x49a6dc['id'])['attributes']=_0x49a6dc['attributes']);}),this['_trackChangesService']['connect'](_0x1ebfa8['connection'])['then'](_0x266140=>(_0x1ebfa8['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x266140)['then'](()=>{for(const _0x36a739 of _0x266140){_0x47e374['addSuggestionData'](_0x36a739)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2a1cfd=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x564c83}=this['editor']['plugins']['get'](n),_0x4f1d51=await this['_trackChangesService']['connect'](_0x564c83);await this['_fetchMissingUsersForThreads'](_0x4f1d51);for(const {suggestionData:_0x50d2ca,resolve:_0x290db5}of this['_bufferedRequests']['values']()){let _0x3a22b1=_0x4f1d51['find'](_0x47d6fc=>_0x47d6fc['id']===_0x50d2ca['id']);_0x3a22b1||(_0x3a22b1=await this['_trackChangesService']['add'](_0x50d2ca['id'],_0x50d2ca['type'],_0x50d2ca['data'],_0x50d2ca['originalSuggestionId'])),_0x290db5(_0x3a22b1);}for(const _0x2adf92 of _0x4f1d51)_0x2a1cfd['hasSuggestion'](_0x2adf92['id'])||_0x2a1cfd['addSuggestionData'](_0x2adf92);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x179d7d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x37e55a=>{_0x37e55a['off'](),_0x179d7d();});});}async['_fetchMissingUsersForThreads'](_0x19003b){const _0x35de1e=this['editor']['plugins']['get'](_0x5ad930),{connection:_0x2a2a01}=this['editor']['plugins']['get'](n),_0x592ecb=new Set();for(const {authorId:_0x199e3a}of _0x19003b)_0x35de1e['getUser'](_0x199e3a)||_0x592ecb['add'](_0x199e3a);if(0x0===_0x592ecb['size'])return;const _0x6a0ade=await at['getMany'](_0x2a2a01,Array['from'](_0x592ecb));for(const _0x8c14cf of _0x6a0ade)_0x35de1e['getUser'](_0x8c14cf['id'])||_0x35de1e['addUser'](_0x8c14cf);}}function k(_0x237831){if(lt(_0x237831))return new Promise(()=>{});throw _0x237831;}function lt(_0x31c5f8){return _0x31c5f8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x31c5f8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x1b88e7{static get['requires'](){return['Comments',s,a,n];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5898d1=this['editor']['plugins']['get'](n),_0x128082=this['editor']['plugins']['get']('CommentsEditing'),_0x204d3c=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x5898d1,'change:state',(_0x1159b5,_0x6cb20,_0x3f9bfb)=>{_0x128082['isThreadsLoadingPaused']='connected'!==_0x3f9bfb;});}),this['listenTo'](_0x5898d1,'change:state',(_0x1cc8ad,_0x5b270d,_0x5d614c)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x5d614c);}),_0x204d3c['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class dt extends _0x1b88e7{static get['requires'](){return[g,m,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class c extends _0x1b88e7{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5ad930];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x13eb24){super(_0x13eb24);const _0x76e5d1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x76e5d1);}async['init'](){const _0x51f665=this['editor']['plugins']['get'](l),_0x3c60f0=_0x51f665['serverHistory'],_0x1633e6=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3c60f0,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x51f665['sessionId']});const _0x539eb4=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x3588d4=await tt['isBundleUploaded'](_0x1633e6['connection'],_0x539eb4);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1aecff})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1aecff)),'updateRevisions':async _0xd5e8c2=>{await this['_waitForServiceReady']();const _0x48e093=this['_revisionTracker']['currentRevision'];if(_0x3588d4&&0x1===_0xd5e8c2['length']&&_0xd5e8c2[0x0]['id']===_0x48e093['id'])return _0xd5e8c2;for(const _0x26c8b3 of _0xd5e8c2)_0x26c8b3['id']===_0x48e093['id']&&(_0x26c8b3['isEmptyCurrent']=_0x26c8b3['fromVersion']===_0x26c8b3['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xd5e8c2,this['_lastRequestId'])['then'](_0x1ef4c2=>(this['_lastRequestId']=_0x1ef4c2,_0xd5e8c2))['catch'](_0x5dd04c=>{if(_(_0x5dd04c)||'400'===_0x5dd04c['code']&&void 0x0!==_0x5dd04c['data']['wrongRequestId']){for(const _0x2374a9 of _0xd5e8c2){!this['_revisionTracker']['repository']['getRevision'](_0x2374a9['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2374a9['id'],_0x2374a9,!0x1);}if(_(_0x5dd04c))throw _0x5dd04c;return _0xd5e8c2;}throw _0x5dd04c;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x31bf6a,{revisionsData:_0x2aa662,requestId:_0x559862})=>{Math['max'](..._0x2aa662['map'](_0x5d724c=>_0x5d724c['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2aa662,_0x559862);}):this['_handleRevisionsUpdate'](_0x2aa662,_0x559862);});const {revisions:_0x59fdda,requestId:_0x3496e6}=await this['_revisionHistoryService']['connect'](_0x1633e6['connection']);_0x1633e6['addToReconnectionStack'](this),this['_lastRequestId']=_0x3496e6,await this['_fetchMissingUsers'](_0x59fdda);for(const _0x4022c4 of _0x59fdda)this['_revisionTracker']['addRevisionData'](_0x4022c4);this['listenTo'](_0x51f665,'change:_isConnected',(_0x1e6e7f,_0x29310f,_0x5af650)=>{_0x5af650&&(this['_oldOffset']=_0x51f665['_offset'],_0x1e6e7f['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1633e6,'state',_0xcdcddb=>_0xcdcddb===_0x29578b['CONNECTED']);}async['reconnect'](){const _0x126567=this['editor']['plugins']['get'](n),_0x2264a7=this['editor']['plugins']['get'](l),_0xf03c4=async()=>{const _0x3ed20e=this['_revisionTracker']['currentRevision'],_0x492dcb=_0x3ed20e['id'],_0x1b1d23=_0x492dcb!==_0x2264a7['sessionId'];if(_0x1b1d23){const _0x751112=_0x2264a7['_offset']-this['_oldOffset'],_0x4818a6=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3ed20e['toVersion']+_0x751112!==_0x4818a6){const _0x1340d5=_0x3ed20e['fromVersion']+_0x751112,_0x3002a6=this['editor']['plugins']['get'](_0x5ad930),_0x542678=this['_revisionTracker']['buildRevisionData']({'revision':_0x3ed20e,'from':_0x1340d5,'to':_0x4818a6});_0x542678['id']=_0x3ed20e['id'];const _0xae7e1c=_0x542678['authorsIds']['map'](_0x3e9d03=>_0x3002a6['getUser'](_0x3e9d03));_0x3ed20e['_update']({..._0x542678,'authors':_0xae7e1c},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3ed20e['id'],_0x542678,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4818a6,(_0x3ed20e['toVersion']===_0x3ed20e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x492dcb)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x492dcb),this['_revisionTracker']['_createCurrentRevision'](_0x4818a6));}const {revisions:_0x72ed84,requestId:_0x224bd1}=await this['_revisionHistoryService']['reconnect'](_0x126567['connection'],this['_lastRequestId']);_0x1b1d23&&_0x72ed84['length']>0x0?_0x2264a7['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x72ed84),this['_handleRevisionsUpdate'](_0x72ed84,_0x224bd1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2264a7['_isConnected']?_0xf03c4():new Promise((_0x3394d8,_0x5f04c8)=>{_0x2264a7['once']('change:_isConnected',()=>{_0xf03c4()['then'](_0x3394d8)['catch'](_0x5f04c8);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x14995f=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3b5abf=>{_0x3b5abf['off'](),_0x14995f();});});}['_getLatestVersionFromServerOperations'](){const _0x46ff8c=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x5a7f1d of _0x46ff8c)if('marker'!==_0x5a7f1d['type']||_0x5a7f1d['affectsData'])return _0x5a7f1d['baseVersion']+0x1;}['_getLatestVersion'](){const _0x40453d=this['editor']['plugins']['get'](l);return new Promise(_0x1879c5=>{_0x40453d['_isPendingUpdate']?_0x40453d['once']('change:_isPendingUpdate',()=>{_0x1879c5(this['_getLatestVersionFromServerOperations']());}):_0x1879c5(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3f646f,_0x22cc30){const _0x108e32=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x22cc30;for(const _0x59c9f5 of _0x3f646f){const _0x11b12c=_0x108e32['getRevision'](_0x59c9f5['id']);if(_0x11b12c){if((_0x59c9f5['fromVersion']||_0x59c9f5['toVersion'])&&(_0x59c9f5['diffData']=null),_0x11b12c===this['_revisionTracker']['currentRevision']){const _0x2a003f=Math['max'](_0x11b12c['toVersion'],_0x59c9f5['toVersion']),_0x3d7dbb=Math['max'](_0x11b12c['fromVersion'],_0x59c9f5['fromVersion']);let _0x1b889f;_0x11b12c['toVersion']===_0x59c9f5['toVersion']&&_0x11b12c['fromVersion']===_0x59c9f5['fromVersion']?(_0x1b889f=!0x0,this['_preventResendingRevisionData'](_0x59c9f5)):_0x59c9f5['toVersion']===_0x2a003f&&_0x59c9f5['fromVersion']===_0x3d7dbb?_0x1b889f=!0x1:(_0x11b12c['toVersion']===_0x2a003f&&_0x11b12c['fromVersion']===_0x3d7dbb||this['_fixRevision']({'revision':_0x11b12c,'from':_0x3d7dbb,'to':_0x2a003f}),_0x1b889f=!0x0),_0x1b889f&&(delete _0x59c9f5['fromVersion'],delete _0x59c9f5['toVersion'],delete _0x59c9f5['diffData'],delete _0x59c9f5['createdAt'],delete _0x59c9f5['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x59c9f5),this['_preventResendingRevisionData'](_0x59c9f5);}else this['_revisionTracker']['addRevisionData'](_0x59c9f5);}const _0x451b46=_0x108e32['getRevisions']();_0x451b46['reverse']();for(let _0x571ed3=0x0;_0x571ed3<_0x451b46['length']-0x1;_0x571ed3++){const _0x4a3c78=_0x451b46[_0x571ed3],_0x3650d0=_0x451b46[_0x571ed3+0x1];if(_0x4a3c78['fromVersion']<_0x3650d0['toVersion']){const _0x186ed6=_0x3650d0['toVersion'],_0x1a03fd=Math['max'](_0x186ed6,_0x4a3c78['toVersion']);this['_fixRevision']({'revision':_0x4a3c78,'from':_0x186ed6,'to':_0x1a03fd});}}}['_fixRevision']({revision:_0x22f990,from:_0x488242,to:_0x4451e3}={}){const _0x36a0b3=this['editor']['plugins']['get'](_0x5ad930),_0x4cb22e=this['_revisionTracker']['buildRevisionData']({'revision':_0x22f990,'from':_0x488242,'to':_0x4451e3});_0x4cb22e['authors']=_0x4cb22e['authorsIds']['map'](_0x271e67=>_0x36a0b3['getUser'](_0x271e67)),_0x22f990['_update'](_0x4cb22e);}['_preventResendingRevisionData'](_0x1ab2b8){const _0x4b6c07={};_0x4b6c07['id']=_0x1ab2b8['id'];for(const _0xaf7c75 of Object['keys'](_0x1ab2b8))'id'!==_0xaf7c75&&(_0x4b6c07[_0xaf7c75]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4b6c07['id'],_0x4b6c07,!0x0);}async['_fetchMissingUsers'](_0x1d6c4c){const _0x2757c5=this['editor']['plugins']['get'](_0x5ad930),{connection:_0x183209}=this['editor']['plugins']['get'](n),_0x34dc40=new Set();for(const _0x1a97f8 of _0x1d6c4c){for(const _0x277553 of _0x1a97f8['authorsIds'])_0xed184a(_0x277553);_0x1a97f8['creatorId']&&_0xed184a(_0x1a97f8['creatorId']);}if(0x0===_0x34dc40['size'])return;const _0x6c2aa6=await at['getMany'](_0x183209,Array['from'](_0x34dc40));for(const _0x494d7c of _0x6c2aa6)_0x2757c5['getUser'](_0x494d7c['id'])||_0x2757c5['addUser'](_0x494d7c);function _0xed184a(_0x263766){_0x2757c5['getUser'](_0x263766)||_0x34dc40['add'](_0x263766);}}}function _(_0x1adf82){return _0x1adf82['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x1adf82['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1adf82['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x1b88e7{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x3a03f8{['_collapseAt'];constructor(_0x139fbd,_0x64f07c=0x6){super(_0x139fbd);const _0x1e4da4=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x64f07c,this['bind']('isHidden')['to'](this,'usersCount',_0x49487e=>_0x49487e<_0x64f07c),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1e4da4['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':_0x1e4da4['to']('usersCount',_0x240cb6=>'+'+(_0x240cb6-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x3a03f8{['items'];['keystrokes'];constructor(_0xacad88){super(_0xacad88);const _0x4ad088=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4eccc8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4ad088['if']('hasPopup'),'aria-expanded':_0x4ad088['to']('isExpanded',_0x1e17bd=>this['hasPopup']&&String(_0x1e17bd)),'aria-label':_0x4ad088['to']('hasPopup',_0x31c098=>q(_0xacad88,_0x31c098?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4ad088['to']('hasPopup',_0x2b0484=>!!_0x2b0484&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4ad088['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4ad088['to'](_0x5d8edd=>{const _0xf21247=_0x5d8edd,_0x3129f8=document['querySelector']('.ck-presence-list__dropdown-list'),_0x39c27b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3129f8?.['contains'](_0xf21247['relatedTarget'])||_0x39c27b?.['contains'](_0xf21247['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5392d0,_0x5d38ff,_0x199c19)=>{this['element']&&(_0x199c19?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x3a03f8{['counterView'];['inlineListView'];constructor(_0x3c4507,_0x2930d3=0x6){super(_0x3c4507);const _0x111bdd=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x2930d3),this['inlineListView']=new is(_0x3c4507),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x30ad97 of this['inlineListView']['items'])_0x30ad97['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',_0x111bdd['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x3a03f8{['listWrapperView'];constructor(_0x1e9f1f,_0x304621){super(_0x1e9f1f);const _0x26f32f=this['bindTemplate'];this['listWrapperView']=new ft(_0x1e9f1f,_0x304621),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':q(_0x1e9f1f,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x26f32f['to'](_0x231f82=>{const _0x1aee46=_0x231f82,_0x2cfd0d=document['querySelector']('.ck-presence-list__list'),_0x26a2ff=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2cfd0d?.['contains'](_0x1aee46['relatedTarget'])||_0x26a2ff?.['contains'](_0x1aee46['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ft extends _0x5b209c{constructor(_0xbd5b3d,_0x39cb13){super(_0xbd5b3d);const _0x3e8570=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x39cb13?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x3e8570['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x3e8570['to']('role'),'aria-label':_0x3e8570['to']('ariaLabel'),'aria-labelledby':_0x3e8570['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5d7312['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x652093=this['element'];_0x652093&&(this['_isScrollable']=Math['max'](_0x652093['scrollHeight'],_0x652093['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x33ac10,_0xb9cc01,_0x2c9c93){super(_0x33ac10);const _0x2d2186=this['bindTemplate'];this['userView']=new st(_0x33ac10,_0xb9cc01);const _0x160514={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0xb9cc01['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0xb9cc01['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xb9cc01['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x2c9c93&&(_0x160514['tag']='button',_0x160514['on']={'click':_0x2d2186['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x160514);}['focus'](){this['element']['focus']();}}class A extends _0x3a03f8{['userView'];['markerView'];constructor(_0x2e86ec,_0x4fe9e2,_0xa5d880){super(_0x2e86ec);const _0x54ccb6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x2e86ec,_0x4fe9e2),this['markerView']=new ct(_0x2e86ec,_0x4fe9e2);const _0x26a6b7=new ot(_0x2e86ec);_0x26a6b7['template']['tag']='span',_0x26a6b7['text']=_0x4fe9e2['name'];const _0x3d4d5c={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x54ccb6['to']('isFocusable',_0x404548=>!!_0x404548&&0x0),'aria-labelledby':_0x26a6b7['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x54ccb6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x54ccb6['to']('hasTooltip',_0x4bbaa7=>!_0x4bbaa7),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x26a6b7]};_0xa5d880&&(_0x3d4d5c['tag']='button',_0x3d4d5c['on']={'click':_0x54ccb6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d4d5c);}}class ct extends _0x3a03f8{constructor(_0x4131c6,_0x3b8259){super(_0x4131c6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3b8259['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x373179{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3b8d00){super(_0x3b8d00),this['context']['config']['define']('presenceList',x);const _0x5ce064=_0x3b8d00['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x5ce064)throw new _0x5f3c76('presencelist-collapseat-invalid-format',this);if(_0x5ce064<0x1)throw new _0x5f3c76('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2b6088(),this['balloonPanelView']=new _0x1fd67d(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x38b87a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x38b87a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x29b53d,_0x4fab56)=>{this['_handleUserAdd'](_0x4fab56);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x30c43e,_0x19f456)=>{this['_handleUserRemove'](_0x19f456);});}['_createView'](){const _0x37ec82=this['context'],_0x538280=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49f4c1=this['balloonPanelView'];if(!_0x267cb3(_0x37ec82['config']['get']('presenceList.container')))throw new _0x5f3c76('presencelist-missing-container',this);return _0x538280['counterView']['bind']('usersCount')['to'](this),_0x538280['bind']('isCollapsed')['to'](this,'usersCount',_0x504821=>{const {collapseAt:_0x443db4}=_0x37ec82['config']['get']('presenceList'),_0x10a3e7=_0x504821>=_0x443db4;if(_0x10a3e7&&!_0x538280['inlineListView']['items']['find'](_0x4b59ee=>_0x4b59ee instanceof b)){const _0x1ea797=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1ea797&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x538280['inlineListView']['items']['add'](_0x538280['counterView']);}return _0x10a3e7||this['hideDropdown'](),_0x10a3e7;}),_0x538280['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xc31666=>{const _0x1a54bd=_0x37ec82['config']['get']('presenceList'),_0xd8a504=new A(_0x37ec82['locale'],_0xc31666,!!_0x1a54bd['onClick']);return _0xd8a504['bind']('hasTooltip')['to'](_0x538280,'isCollapsed',_0x33c909=>!_0x33c909),_0xd8a504['bind']('isFocusable')['to'](_0x538280,'isCollapsed',_0x1e379f=>!_0x1e379f),_0x1a54bd['onClick']&&this['listenTo'](_0xd8a504,'execute',()=>{this['view']['isCollapsed']||_0x1a54bd['onClick'](_0xc31666,_0xd8a504['element']);}),_0xd8a504;}),this['listenTo'](_0x538280['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x538280['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x538280['inlineListView']['keystrokes']['set']('Enter',(_0x1a1fa8,_0x1cc9af)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1cc9af());}),_0x538280['render'](),_0x49f4c1['render'](),_0x3b5a70({'emitter':_0x538280,'activator':()=>_0x49f4c1['isVisible'],'contextElements':[_0x49f4c1['element'],_0x538280['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x37ec82['config']['get']('presenceList.container')['appendChild'](_0x538280['element']),this['_bodyCollection']=new _0x2db1f5(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x538280;}['_handleUserAdd'](_0x40fa43){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x40fa43['isMe'])return;const _0xcb8c1b=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xcb8c1b-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2ce065=_0x40fa43['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x40fa43,_0x2ce065);}['_handleUserRemove'](_0x51a6ab){this['usersCount']--;const {collapseAt:_0x4bba06}=this['context']['config']['get']('presenceList'),_0x15cada=this['usersCount']>=_0x4bba06;if(this['currentDisplayedUsers']['get'](_0x51a6ab['id']))this['currentDisplayedUsers']['remove'](_0x51a6ab['id']);else{if(_0x15cada&&this['currentDisplayedUsers']['length']+0x1===_0x4bba06-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x15cada?0x1:0x0)<this['usersCount']){for(const _0x20c39b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x20c39b['id'])&&(this['currentDisplayedUsers']['add'](_0x20c39b,Math['min'](this['currentDisplayedUsers']['length']-(_0x15cada?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x15cada?0x1:0x0)===_0x4bba06-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5606d2=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x5606d2['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x369d7d}=this['presenceDropdownView'];_0x369d7d['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3fa1c2=>{if(!_0x5606d2['displayMe']&&_0x3fa1c2['isMe'])return null;const _0x42600a=new j(this['context']['locale'],_0x3fa1c2,!!_0x5606d2['onClick']);return _0x5606d2['onClick']&&this['listenTo'](_0x42600a,'execute',()=>{_0x5606d2['onClick'](_0x3fa1c2,_0x42600a['element']);}),_0x42600a;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x369d7d['focus'](),_0x369d7d['checkIfScrollable']();const _0x20803b=(_0x52eb21,_0x424f86)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x424f86();};_0x369d7d['keystrokes']['set']('Esc',_0x20803b),_0x369d7d['keystrokes']['set']('Shift+Tab',_0x20803b),_0x369d7d['keystrokes']['set']('Tab',(_0x323500,_0x42e4ac)=>{!function(_0x4d93ec){const _0x323b3e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x12bbff=>_0x12bbff+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x57b1de=[...document['body']['querySelectorAll'](_0x323b3e)]['filter'](_0xaf214f=>_0xaf214f===document['activeElement']||_0xaf214f['offsetWidth']+_0xaf214f['offsetHeight']>0x0)['sort']((_0x74bc10,_0x9d650e)=>(_0x74bc10['tabIndex']||0x0)-(_0x9d650e['tabIndex']||0x0)),_0x4e2e05=_0x57b1de['indexOf'](_0x4d93ec),_0xc42d0d=_0x57b1de[(_0x4e2e05+0x1)%_0x57b1de['length']];_0xc42d0d&&_0xc42d0d['focus']();}(this['view']['element']),this['hideDropdown'](),_0x42e4ac();}),_0x369d7d['focusTracker']['add'](this['view']['element']),_0x369d7d['focusTracker']['on']('change:isFocused',(_0x3e1b79,_0x4ba24f,_0x3d0315)=>{_0x3d0315||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class mt extends _0x373179{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,mt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,ut as RealTimeCollaborativeRevisionHistory,dt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};