@ckeditor/ckeditor5-real-time-collaboration 46.1.0-alpha.2 → 46.1.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 _0x14a72f,Plugin as _0x582e6d,PendingActions as _0x215d15,Context as _0x3e4173}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x220b4c,CKEditorError as _0x31eaa2,Collection as _0x5d33df,global as _0x497bba,version as nt,uid as _0xde7275,KeystrokeHandler as _0x3bc9e9}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5a9875,View as _0x5a7e76,ListView as _0x5687c4,ListItemView as rt,LabelView as ot,BalloonPanelView as _0xbdfd38,clickOutsideHandler as _0x377a1f,BodyCollection as _0xda32c4}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x332ae1,History as _0x3f0332,NoOperation as _0x59727a,InsertOperation as _0x1b2e5d,MarkerOperation as _0x41ae6b,RootAttributeOperation as _0x4ab7ff,transformOperationSets as _0x4b4afd,OperationFactory as _0x52243b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x508833,User as lt,CommentsService as _0x4357f9,TrackChangesService as tt,RevisionHistoryService as et,EditorService as st}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x438ac2,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x43f72e}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1f73a5}from'es-toolkit/compat';class n extends _0x14a72f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x5a9875];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25819f){super(_0x25819f),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x220b4c())();}['init'](){const _0x2df340=this['context'],_0x10c64b=_0x2df340['plugins']['get']('CloudServices'),_0xbbf28e=_0x2df340['plugins']['get'](_0x5a9875);if(!_0x10c64b['token'])throw new _0x31eaa2('websocketgateway-missing-token',this);if(!_0x10c64b['webSocketUrl'])throw new _0x31eaa2('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'](_0x10c64b['token'],_0x10c64b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x16f9bd=>{if(this['connection']=_0x16f9bd,this['bind']('state')['to'](_0x16f9bd,'state',this,'_isBrowserOffline',(_0x2d7946,_0x3dc436)=>('connected'!==_0x2d7946&&(this['_shouldPluginsReconnect']=!0x0),_0x3dc436||_0x2d7946!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x33916e,_0xc2bf4c)=>{if('limitExceeded'!==_0xc2bf4c['code'])throw console['error'](_0xc2bf4c),new _0x31eaa2('cloudservices-init',null,{'originalError':_0xc2bf4c});_0xbbf28e['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'});}),!_0x16f9bd['me'])return new Promise(_0x3c84ab=>_0x16f9bd['on']('change:me',_0x3c84ab));})['catch'](_0x5b73aa=>{throw console['error'](_0x5b73aa),new _0x31eaa2('cloudservices-init',null,{'originalError':_0x5b73aa});});}['addToReconnectionStack'](_0x4ae2b0){if('function'!=typeof _0x4ae2b0['reconnect'])throw new _0x31eaa2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4ae2b0))throw new _0x31eaa2('websocketgateway-plugin-already-registered',this,{'name':_0x4ae2b0['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4ae2b0);}['removeFromReconnectionStack'](_0x4cfc37){this['_reconnectionStack']['delete'](_0x4cfc37);}['isInReconnectionStack'](_0x1eb524){return this['_reconnectionStack']['has'](_0x1eb524);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2e8a88=>_0x2e8a88['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x1bc280=>{throw console['error'](_0x1bc280),new _0x31eaa2('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 _0x14a72f{['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,_0x438ac2];}constructor(_0x5ef0f4){super(_0x5ef0f4),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5d33df(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x438ac2);}['init'](){const _0x32fe4d=this['context']['plugins']['get'](n);this['listenTo'](_0x32fe4d,'change:state',(_0x3066b4,_0x55c3f4,_0xf4149e)=>{if('connected'!==_0xf4149e)this['channelSessions']['forEach'](_0x3bfbe8=>_0x3bfbe8['clear']()),this['channelConnectedUsers']['forEach'](_0x1c7234=>_0x1c7234['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5cb830,_0x2ed7d7]of this['_registeredSessions'])for(const _0x595902 of _0x2ed7d7)this['_handleSessionAdd'](_0x5cb830,_0x595902);}}),this['_createUser'](_0x32fe4d['connection']['me'],!0x0);}['register'](_0x269838,_0x9d45ec){if(this['_registeredSessions']['has'](_0x269838))throw new _0x31eaa2('sessions-register-already-registered',null,{'channelId':_0x269838});this['_registeredSessions']['set'](_0x269838,_0x9d45ec),this['channelSessions']['set'](_0x269838,new _0x5d33df()),this['channelConnectedUsers']['set'](_0x269838,new _0x5d33df()),this['listenTo'](_0x9d45ec,'add',(_0x383b8f,_0x1794c8)=>this['_handleSessionAdd'](_0x269838,_0x1794c8)),this['listenTo'](_0x9d45ec,'remove',(_0xdfd2a2,_0x16f884)=>this['_handleSessionRemove'](_0x269838,_0x16f884));for(const _0xafee6a of _0x9d45ec)this['_handleSessionAdd'](_0x269838,_0xafee6a);}['unregister'](_0x1c2791){if(!this['_registeredSessions']['has'](_0x1c2791))throw new _0x31eaa2('sessions-unregister-not-exist',null,{'channelId':_0x1c2791});const _0x296d79=this['_registeredSessions']['get'](_0x1c2791);this['stopListening'](_0x296d79);for(const _0x236bde of _0x296d79)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1c2791,_0x236bde);this['_registeredSessions']['delete'](_0x1c2791),this['channelSessions']['delete'](_0x1c2791),this['channelConnectedUsers']['delete'](_0x1c2791);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x54d434){for(const _0x30793e of this['channelSessions']['values']())for(const _0x1b16b2 of _0x30793e)if(_0x1b16b2['id']===_0x54d434)return _0x1b16b2['user'];}['getUserSessions'](_0xfb2fe4,_0x12c365){const _0x162314=_0x12c365?[this['channelSessions']['get'](_0x12c365)]:this['channelSessions']['values'](),_0x3361d1=new Set();for(const _0x604e3d of _0x162314)for(const _0x31a31a of _0x604e3d)_0x31a31a['user']['id']===_0xfb2fe4['id']&&_0x3361d1['add'](_0x31a31a['id']);return _0x3361d1;}['getUserRole'](_0x36decb){for(const _0xb46bfa of this['channelSessions']['values']())for(const _0xb67d02 of _0xb46bfa)if(_0xb67d02['user']===_0x36decb)return _0xb67d02['role'];}['_handleSessionAdd'](_0x47733b,_0x57dff5){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x25d368=_0x57dff5['user'],_0x31f564=this['_users']['getUser'](_0x25d368['id'])||this['_createUser'](_0x25d368),_0x522f79=Object['assign']({},_0x57dff5,{'user':_0x31f564});if(this['channelSessions']['get'](_0x47733b)['add'](_0x522f79),!_0x25d368['hiddenInPresenceList']){const _0x549234=this['channelConnectedUsers']['get'](_0x47733b);_0x549234['has'](_0x31f564['id'])||_0x549234['add'](_0x31f564),this['allConnectedUsers']['has'](_0x31f564['id'])||_0x25d368['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x31f564,_0x31f564['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x47733b,{'channelId':_0x47733b,'session':_0x522f79});}['_handleSessionRemove'](_0xf3f873,_0x5702de){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x3a43fb=this['channelConnectedUsers']['get'](_0xf3f873),_0x3aa027=_0x5702de['user'];_0x3aa027['id']&&(this['channelSessions']['get'](_0xf3f873)['remove'](_0x5702de['id']),_0x3a43fb['has'](_0x3aa027['id'])&&!this['getUserSessions'](_0x3aa027,_0xf3f873)['size']&&_0x3a43fb['remove'](_0x3aa027['id']),this['allConnectedUsers']['get'](_0x3aa027['id'])&&!this['getUserSessions'](_0x3aa027)['size']&&this['allConnectedUsers']['remove'](_0x3aa027['id']));}['_createUser'](_0x1d849c,_0xc7879f){const _0x235e40=this['_users']['addUser'](_0x1d849c);return _0xc7879f&&this['_users']['defineMe'](_0x1d849c['id']),_0x235e40['orderNumber']=this['_uniqueUsersCount']++,_0x235e40;}}class V extends _0x582e6d{['_domEmitter']=new(_0x220b4c())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x44803f=this['editor'],_0x3622b3=_0x44803f['plugins']['get'](i);_0x44803f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5c968c,{writer:_0x41d56c})=>function(_0x5b94a6,_0x3d394f,_0x393bce,_0x4fba39){const _0x3f441a=_0x5b94a6['markerName']['split'](':')[0x2],_0x15cbc2=_0x393bce['getUserBySessionId'](_0x3f441a);if(!_0x15cbc2||_0x3f441a===_0x393bce['mySessionId'])return;if(!_0x4fba39['model']['schema']['checkChild'](_0x5b94a6['markerRange']['start'],'$text'))return;const _0x1a94c9={'class':'ck-user__marker\x20'+_0x15cbc2['color']['getMarkerClass'](),'data-name':_0x15cbc2['name'],'data-session-id':_0x3f441a},_0x2a1005=_0x4fba39['model']['markers']['get'](_0x5b94a6['markerName']),_0x3b5c2f=_0x2a1005['getStart'](),_0x3b8430=_0x3b5c2f['nodeAfter'],_0x31103c=_0x4fba39['model']['schema'];if(_0x3b8430&&_0x31103c['isObject'](_0x3b8430)&&_0x31103c['isInline'](_0x3b8430)&&!_0x4fba39['model']['markers']['get']('user:range:'+_0x3f441a)['getRange']()['isCollapsed'])return;const _0x4baa23=_0x3b5c2f['parent'];return _0x4fba39['model']['schema']['isLimit'](_0x4baa23)&&!_0x4fba39['model']['hasContent'](_0x4baa23)&&(_0x1a94c9['contenteditable']=!0x1),function(_0x190cbc,_0x468c77,_0x45142c){const _0x3f8b57=_0x190cbc['createUIElement']('span',_0x468c77);return _0x190cbc['setCustomProperty']('userPositionMarker',!0x0,_0x3f8b57),_0x3f8b57['render']=function(_0x4b947b){const _0x25f669=this['toDomElement'](_0x4b947b),_0xfec23f=document['createElement']('span');return _0xfec23f['classList']['add']('ck-user__marker-tooltip'),_0xfec23f['setAttribute']('contenteditable','false'),_0xfec23f['setAttribute']('spellcheck','false'),_0xfec23f['textContent']=_0x45142c['name'],_0x25f669['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0xfec23f['outerHTML']+'⁠',_0x25f669['addEventListener']('mouseenter',()=>{_0x25f669['classList']['add']('ck-user__marker_hovered');}),_0x25f669['addEventListener']('mouseleave',()=>{_0x25f669['classList']['remove']('ck-user__marker_hovered');}),_0x25f669;},_0x3f8b57['isSimilar']=function(_0xca28be){return!(!this['getCustomProperty']('userPositionMarker')||!_0xca28be['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0xca28be['getAttribute']('data-session-id'));},_0x3f8b57;}(_0x3d394f,_0x1a94c9,_0x15cbc2);}(_0x5c968c,_0x41d56c,_0x3622b3,_0x44803f)}),_0x44803f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x42a6cd=>function(_0x247673,_0x169992){const _0x37f8c5=_0x247673['markerName']['split'](':')[0x2];if(_0x37f8c5===_0x169992['mySessionId'])return null;const _0x2e9bbb=_0x169992['getUserBySessionId'](_0x37f8c5);if(!_0x2e9bbb)return{'id':_0x37f8c5,'classes':[]};return{'id':_0x37f8c5,'classes':['ck-user__selection',_0x2e9bbb['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x37f8c5},'priority':0x7d0+_0x2e9bbb['orderNumber']};}(_0x42a6cd,_0x3622b3)}),function(_0x335c27){const _0x1dc04e=_0x335c27['model'],_0x42eb16=new Map(),_0x43e98f=_0x335c27['plugins']['get'](i);_0x1dc04e['markers']['on']('update:user:range',(_0xd7eb10,_0x286d6a,_0x52c87a,_0x16f626)=>{if(!_0x16f626&&_0x42eb16['get'](_0x286d6a['name']))return _0x42eb16['get'](_0x286d6a['name'])['detach'](),void _0x42eb16['delete'](_0x286d6a['name']);const _0x76e01d=_0x286d6a['name']['split'](':')[0x2];if(_0x76e01d===_0x43e98f['mySessionId'])return;const _0x3b7920='user:position:'+_0x76e01d;_0x1dc04e['markers']['has'](_0x3b7920)&&_0x335c27['editing']['reconvertMarker'](_0x3b7920),_0x286d6a['on']('change:range',(_0x4e278a,_0x448e14,_0x5117fb)=>{if('$graveyard'!=_0x448e14['root']['rootName']&&'$graveyard'==_0x286d6a['getRange']()['root']['rootName']&&!_0x42eb16['has'](_0x286d6a['name'])){const _0x18945a=_0x1dc04e['schema']['getNearestSelectionRange'](_0x5117fb['deletionPosition']);if(_0x18945a){const _0x354099=_0x332ae1['fromRange'](_0x18945a);_0x42eb16['set'](_0x286d6a['name'],_0x354099),_0x354099['on']('change:range',(_0x19f2ca,_0x4390ad,_0x58da65)=>{if('$graveyard'==_0x354099['root']['rootName']){const _0x151df5=_0x1dc04e['schema']['getNearestSelectionRange'](_0x58da65['deletionPosition']);_0x151df5?(_0x354099['start']=_0x151df5['start'],_0x354099['end']=_0x151df5['end']):(_0x42eb16['delete'](_0x286d6a['name']),_0x354099['detach']());}});}}});}),_0x1dc04e['document']['on']('change',()=>{_0x42eb16['size']>0x0&&_0x1dc04e['enqueueChange']({'isUndoable':!0x1},_0x4bbf7c=>{for(const [_0x2c729c,_0x37aed0]of _0x42eb16)'$graveyard'==_0x1dc04e['markers']['get'](_0x2c729c)['getRange']()['root']['rootName']&&(Z(_0x2c729c['split'](':')[0x2],_0x37aed0['toRange'](),_0x1dc04e,_0x4bbf7c),_0x37aed0['detach']());_0x42eb16['clear']();});});}(_0x44803f),this['_domEmitter']['listenTo'](_0x497bba['document'],'keydown',(_0x4c8842,{key:_0x3188bc})=>{'Escape'===_0x3188bc&&function(_0xb3d906){_0xb3d906['editing']['view']['change'](_0x594f63=>{for(const _0x2b55f3 of _0xb3d906['model']['markers']){if(!_0x2b55f3['name']['startsWith']('user:position'))continue;const _0xb72533=_0xb3d906['editing']['mapper']['markerNameToElements'](_0x2b55f3['name']);if(_0xb72533){for(const _0x16d777 of _0xb72533)_0x594f63['removeClass']('ck-user__marker_hovered',_0x16d777);}}});}(_0x44803f);},{'useCapture':!0x0});}['afterInit'](){const _0x22dea6=this['editor'],_0x374bbb=_0x22dea6['commands']['get']('undo');_0x374bbb&&_0x22dea6['model']['on']('applyOperation',(_0x11792d,_0x764792)=>{const _0x277932=_0x764792[0x0];if(!_0x277932['isDocumentOperation'])return;if('marker'!=_0x277932['type']||!_0x277932['name']['startsWith']('user:'))return;const _0x209dac=_0x277932['batch'];_0x374bbb['_createdBatches']['has'](_0x209dac)&&(_0x277932['newRange']=_0x277932['oldRange']?_0x22dea6['model']['createRange'](_0x277932['oldRange']['start'],_0x277932['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x330aa5=this['editor'],_0x371758=_0x330aa5['model']['document'],_0x584038=_0x330aa5['plugins']['get'](i);_0x330aa5['model']['enqueueChange']({'isUndoable':!0x1},_0x550171=>{const _0x57ae90='user:range:'+_0x584038['mySessionId'],_0x2f126e='user:position:'+_0x584038['mySessionId'],_0x37f351=_0x330aa5['model']['markers']['has'](_0x57ae90);_0x330aa5['editing']['view']['hasDomSelection']?Z(_0x584038['mySessionId'],_0x371758['selection']['getFirstRange'](),_0x330aa5['model'],_0x550171):_0x37f351&&(_0x550171['removeMarker'](_0x57ae90),_0x550171['removeMarker'](_0x2f126e));});}}function Z(_0x120035,_0x3be68d,_0x14cd30,_0x416e1f){const _0x54ae4c='user:range:'+_0x120035,_0x5dd7ef='user:position:'+_0x120035,_0x33eab6=_0x3be68d['getContainedElement']();let _0x5d07c8=_0x3be68d['start'];if(_0x33eab6&&_0x33eab6['is']('element','tableCell')){const _0x4a91b3=function(_0x5143d9,_0x4e1f11){for(const _0x11d0b0 of _0x5143d9['getPositions']())if(_0x4e1f11['schema']['checkChild'](_0x11d0b0,'$text'))return _0x11d0b0;}(_0x3be68d,_0x14cd30);_0x4a91b3&&(_0x5d07c8=_0x4a91b3,_0x3be68d=_0x416e1f['createRange'](_0x5d07c8));}const _0x2fd7c0=_0x416e1f['createRange'](_0x5d07c8);_0x14cd30['markers']['has'](_0x54ae4c)?(_0x416e1f['updateMarker'](_0x54ae4c,{'range':_0x3be68d}),_0x416e1f['updateMarker'](_0x5dd7ef,{'range':_0x2fd7c0})):(_0x416e1f['addMarker'](_0x54ae4c,{'range':_0x3be68d,'usingOperation':!0x0}),_0x416e1f['addMarker'](_0x5dd7ef,{'range':_0x2fd7c0,'usingOperation':!0x0}));}function W(_0x33651d,_0xf0090,_0x23d289){const _0x581fe1=_0x33651d['t'],t=_0x33651d['t'];switch(_0xf0090){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 _0x581fe1({'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'},_0x23d289);default:return'';}}let G=0x1;class l extends _0x582e6d{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x508833)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0x215d15,_0x438ac2,_0x5a9875];}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 _0x3454f4=this['serverHistory']['getOperations']();for(let _0x25ffbc=_0x3454f4['length']-0x1;_0x25ffbc>=0x0;_0x25ffbc--){const _0x30fe39=_0x3454f4[_0x25ffbc];if(!this['_disconnectionOperations']['has'](_0x30fe39))return _0x30fe39['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5e339f){if(super(_0x5e339f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3f0332(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x31eaa2('collaboration-missing-channelid',this);const _0x553830=_0x5e339f['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x553830,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x43f72e(),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 _0x54fb01=this['editor'],_0x2fcd81=_0x54fb01['plugins']['get'](_0x438ac2),_0x49f151=_0x54fb01['plugins']['get'](n);this['listenTo'](_0x2fcd81,'getOperationAuthor',(_0x46a4ed,_0x2d91e1)=>{const _0x36d30c=_0x2d91e1[0x0];_0x36d30c['_authorId']&&(_0x46a4ed['return']=_0x2fcd81['getUser'](_0x36d30c['_authorId']),_0x46a4ed['stop']()),null===_0x36d30c['_authorId']&&(_0x46a4ed['return']=null,_0x46a4ed['stop']());},{'priority':'high'}),this['listenTo'](_0x54fb01['model']['document']['selection'],'change:range',(_0x147bce,_0x2664df)=>{_0x2664df['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x54fb01['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x54fb01['model']['on']('applyOperation',(_0x290000,_0x2431fb)=>{const _0x1ea2e8=_0x2431fb[0x0];_0x1ea2e8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1ea2e8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x49f151,'state',this,'_hasSynchronizationProblem',(_0x49559c,_0xbf897f)=>'connected'===_0x49559c&&!_0xbf897f),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x54fb01['disableReadOnlyMode']('rtc-offline'):_0x54fb01['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x54fb01['disableReadOnlyMode']('rtc-offline'):_0x54fb01['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x57ca61=this['editor']['plugins']['get'](i),_0x1d0ddb=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x57ca61['unregister'](this['_channelId']);const _0x10eb42=await this['_service']['reconnect'](_0x1d0ddb['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x10eb42)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3b6efe=await this['_service']['getConnectedSessions']();_0x57ca61['register'](this['_channelId'],_0x3b6efe),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x228b82){if(function(_0x302a1d){return'404'===_0x302a1d['code'];}(_0x228b82)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x27c204){return'409'===_0x27c204['code'];}(_0x228b82)){const _0x40b984=W(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x40b984);}else{if(!(_0x228b82 instanceof $))throw _0x228b82;this['_handleReconnectionError']();}}}}['destroy'](){const _0x97839d=this['editor']['plugins']['get'](n),_0x2c5a0f=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2c5a0f['channelSessions']['has'](this['_channelId'])&&_0x2c5a0f['unregister'](this['_channelId']),_0x97839d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x460978){if(this['sessionId']!==_0x460978['sessionId']&&this['_lastSyncedOperationId']!==_0x460978['lastOperationId'])throw new $();return this['sessionId']=_0x460978['sessionId'],this['_handleServerResponse']([],{..._0x460978,'wereChangesApplied':!0x1,'data':_0x460978['data']},'reconnect');}async['_connectService'](_0x1c4ba1,_0x23ef34=!0x1){const {connection:_0x3665d4}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x3665d4,this['_channelId'])['then'](_0x326279=>this['_initSessionsHandling'](_0x326279))['catch'](_0x269f5a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x269f5a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x4f3ad1,_0x46865b)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x46865b);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x8d3450=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1c4ba1);this['_isPendingUpdate']=!0x0;const _0x3951eb=await this['_service']['connect'](_0x3665d4,this['_compressOperations'](_0x1c4ba1),_0x8d3450);if(this['sessionId']=_0x3951eb['sessionId'],_0x23ef34){if(!_0x3951eb['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3951eb['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1c4ba1,_0x3951eb,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3951eb,_0x1c4ba1);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x26d870=this['editor']['plugins']['get'](i),_0xbfa468=this['editor']['plugins']['get'](V),_0x3c1804=_0x26d870['channelSessions']['get'](this['_channelId']);_0x3c1804&&_0x3c1804['length']>0x1?_0xbfa468['createUserMarkerOperations']():this['listenTo'](_0x26d870,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x26d870['channelSessions']['get'](this['_channelId'])['length']&&_0xbfa468['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x40d6de,_0x593564,_0x245a1e,_0x1ae8e4){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x593564){const _0x364f06=this['_decompressOperations'](_0x245a1e,_0x1ae8e4);await this['_fetchMissingUsers'](_0x364f06),this['_handleExternalOperations'](_0x364f06,_0x593564,_0x245a1e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x356e89}=this['editor'];let _0x4c142f;try{_0x4c142f=await this['_service']['getDocumentDetails']();}catch{const _0x4efb68=W(_0x356e89,'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'](_0x4efb68);}const _0x5cdd54=_0x4c142f['currentDocumentSession']||_0x4c142f['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5cdd54['lastOperationId']){const _0x4eb043=W(_0x356e89,'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'](_0x4eb043);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x291908){const _0x4756b0=this['editor']['plugins']['get'](i);this['listenTo'](_0x4756b0,'sessionAdd:'+this['_channelId'],(_0x3eaa0f,{session:_0xd2fcd1})=>{if(_0xd2fcd1['id']===_0x4756b0['mySessionId']){_0x3eaa0f['off']();const _0x2eb4f2=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1f503d=_0xd2fcd1['permissions'];_0x2eb4f2&&_0x2eb4f2['isEnabled']&&(_0x1f503d=_0x1f503d['filter'](_0x3707d2=>'document:write'!==_0x3707d2)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1f503d,this['_channelId']);}}),_0x4756b0['register'](this['_channelId'],_0x291908);}['_initThrowingOnDataSet'](){const _0x313db9=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x4cc8f0)=>{if(!_0x4cc8f0[_0x4cc8f0['length']-0x1]['suppressErrorInCollaboration'])throw new _0x31eaa2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x313db9['apply'](this['editor']['data'],_0x4cc8f0);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0xf4317d,[_0x2ca527])=>{if(this['_document']['version'])throw new _0x31eaa2('realtimecollaborationclient-init-document-already-initialized',this);_0xf4317d['stop'](),this['_setPendingAction']();const _0x1411c5=this['editor']['config']['get']('rootsAttributes'),_0x26384a=this['_getOperationsFromInitData'](_0x2ca527,_0x1411c5);0x0==_0x26384a['length']&&_0x26384a['push'](new _0x59727a(0x0)),_0xf4317d['return']=this['_connectService'](_0x26384a)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x463d7e=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x463d7e))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3c12bd,[_0x2e55db,_0x25b089])=>{_0x3c12bd['stop']();const _0x3864eb=this['editor']['model']['document']['getRoot'](_0x2e55db);if(!this['_knownRootNames']['has'](_0x2e55db)){const _0x11466b=_0x25b089&&_0x25b089['data']?_0x25b089['data']:'',_0x1c3cc0=_0x25b089&&_0x25b089['attributes']?_0x25b089['attributes']:{};await this['_loadRoot'](_0x2e55db,_0x11466b,_0x1c3cc0);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3864eb['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3864eb);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x3bb6d6){const _0x4ad34a=this['editor']['plugins']['get'](_0x438ac2),{connection:_0x32bd80}=this['editor']['plugins']['get'](n),_0x487d40=new Set();for(const _0xeaebee of _0x3bb6d6){const _0x53e038=_0xeaebee['_authorId'];_0x53e038&&!_0x4ad34a['getUser'](_0x53e038)&&_0x487d40['add'](_0x53e038);}if(0x0===_0x487d40['size'])return;const _0x15ce6c=await lt['getMany'](_0x32bd80,Array['from'](_0x487d40));for(const _0x146969 of _0x15ce6c)_0x4ad34a['getUser'](_0x146969['id'])||_0x4ad34a['addUser'](_0x146969);}['_getOperationsFromInitData'](_0x364c04,_0x2716f3={}){const _0x82d1f6=this['editor']['model'],_0x34000c=[];let _0x255d97=0x0;const _0x379fda='string'==typeof _0x364c04?{'main':_0x364c04}:_0x364c04;for(const _0x2aaf61 of Object['keys'](_0x379fda)){if(!this['_document']['roots']['has'](_0x2aaf61))throw new _0x31eaa2('realtimecollaborationclient-init-non-existent-root',this);const _0xfc628f=this['editor']['data']['parse'](_0x379fda[_0x2aaf61]),_0x529c99=this['_document']['getRoot'](_0x2aaf61),_0x1cd314=new _0x1b2e5d(_0x82d1f6['createPositionAt'](_0x529c99,0x0),_0xfc628f,_0x255d97++);_0x34000c['push'](_0x1cd314);for(const [_0x2dc71e,_0x13e505]of _0xfc628f['markers']){const _0x2506a5=_0x82d1f6['createRange'](_0x82d1f6['createPositionFromPath'](_0x529c99,_0x13e505['start']['path']['slice']()),_0x82d1f6['createPositionFromPath'](_0x529c99,_0x13e505['end']['path']['slice']())),_0x46c4c9=new _0x41ae6b(_0x2dc71e,null,_0x2506a5,_0x82d1f6['markers'],!0x0,_0x255d97++);_0x34000c['push'](_0x46c4c9);}}if(_0x2716f3)for(const [_0x15074a,_0x1de248]of Object['entries'](_0x2716f3)){const _0x2d65ed=_0x82d1f6['document']['getRoot'](_0x15074a);if(!_0x2d65ed)throw new _0x31eaa2('multi-root-editor-root-attributes-no-root',null);for(const [_0x1a4f95,_0x1b9dec]of Object['entries'](_0x1de248))if(null!==_0x1b9dec){const _0x4410af=new _0x4ab7ff(_0x2d65ed,_0x1a4f95,null,_0x1b9dec,_0x255d97++);_0x34000c['push'](_0x4410af);}}return _0x34000c;}async['_loadRoot'](_0x56bbab,_0x451a4e,_0x603916){this['_getOperationsFromInitData']({[_0x56bbab]:_0x451a4e},{[_0x56bbab]:_0x603916})['forEach']((_0x2d245c,_0x2eb79a)=>{_0x2d245c['baseVersion']=this['_document']['version']+_0x2eb79a,_0x2d245c['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d245c);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x23a982,_0x37769b){let _0x539dd1;this['_offset']=_0x23a982['offset'];const _0xb0d2fe=_0x23a982['wereChangesApplied']&&!_0x23a982['initData'],_0x474846=_0xb0d2fe?0x0:_0x23a982['data']['baseVersion'];if(_0x37769b['forEach'](_0x584ffc=>{_0x584ffc['_isInit']=!0x0,_0x584ffc['createdAt']=_0x23a982['sessionCreatedAt'],_0x584ffc['_authorId']=null;}),_0xb0d2fe)_0x539dd1=_0x37769b,this['_applyOperationsSet'](_0x539dd1,_0xb0d2fe);else{if(_0x23a982['initData']){const _0x1c1123=this['_getOperationsFromInitData'](_0x23a982['initData']);this['_document']['history']['version']=-_0x1c1123['length'],_0x1c1123['forEach'](_0x5c0545=>{_0x5c0545['baseVersion']-=_0x1c1123['length'],_0x5c0545['createdAt']=_0x23a982['sessionCreatedAt'],_0x5c0545['_isInit']=!0x0,_0x5c0545['_authorId']=null;}),this['_applyOperationsSet'](_0x1c1123,!0x0),this['serverHistory']['version']=-_0x1c1123['length']+this['_offset'],this['_updateServerHistory'](_0x1c1123);}this['_document']['history']['version']=_0x474846,_0x539dd1=this['_decompressOperations'](_0x23a982['data'],_0x23a982['metadata']),await this['_fetchMissingUsers'](_0x539dd1),this['_applyOperationsSet'](_0x539dd1,_0xb0d2fe);}_0x23a982['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x539dd1,_0x23a982['lastOperationId']),this['_lastSyncedOperationId']=_0x23a982['lastOperationId']),this['serverHistory']['version']=_0x474846+this['_offset'],this['_updateServerHistory'](_0x539dd1),_0x37769b['filter'](_0x308d09=>{const _0x4da5e0=this['_getAffectedRoot'](_0x308d09);return _0x4da5e0&&!this['_knownRootNames']['has'](_0x4da5e0);})['forEach']((_0x17f4a1,_0x4a0f5b)=>{_0x17f4a1['baseVersion']=this['_document']['version']+_0x4a0f5b,this['_saveOperationInBuffer'](_0x17f4a1);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x5b69e4,_0x35ba0f){const _0xa7faa1=_0x35ba0f&&_0x35ba0f['message'];if(_0xa7faa1&&_0xa7faa1['startsWith']('realtimecollaborationclient'))throw _0x35ba0f;const _0x520424=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x520424['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x31eaa2(_0x5b69e4,this['editor'],_0xa7faa1?{'originalError':_0xa7faa1}:void 0x0);}['_saveOperationInBuffer'](_0x2ca0e1){this['_knownOperations']['has'](_0x2ca0e1)||(this['_knownOperations']['add'](_0x2ca0e1),this['_bufferedOperations']['push'](_0x2ca0e1),this['_pendingAction']||'marker'==_0x2ca0e1['type']&&!_0x2ca0e1['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5de0c2=!0x1){!_0x5de0c2&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3c9596=>{_0x3c9596&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x31b2d0=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xbb648a){return _0xbb648a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xbb648a['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xbb648a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x31b2d0)||this['_crash'](_0x31b2d0['message'],_0x31b2d0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x42e0a6=>{this['on']('change:_isPendingUpdate',()=>{_0x42e0a6();});});}async['_sendBufferedOperations'](){const _0x2c3a34=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x2c3a34['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3feace=[...this['_bufferedOperations']];for(const _0xb2e5c6 of _0x3feace)_0xb2e5c6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xb2e5c6);const _0x2459b5=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3feace),_0x12c402=G++,_0x56d892=this['_compressOperations'](_0x3feace),_0x28fa25=await this['_service']['sendOperations'](_0x56d892,_0x56d892['baseVersion'],_0x2459b5);try{return await this['_handleServerResponse'](_0x3feace,_0x28fa25,_0x12c402);}catch(_0x879cb3){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x879cb3);}}async['_handleServerResponse'](_0x4ad23a,_0x26c559,_0x56a997){if('error'in _0x26c559)throw _0x26c559['error'];let _0x522076=!0x1;if(_0x26c559['wereChangesApplied']){_0x26c559['lastOperationId']&&(this['_lastSyncedOperationId']=_0x26c559['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4d5391=>!_0x4ad23a['includes'](_0x4d5391));for(const _0x3f2e23 of _0x4ad23a)_0x3f2e23['createdAt']='lastOperationAcceptedAt'in _0x26c559&&_0x26c559['lastOperationAcceptedAt']||void 0x0;K(_0x4ad23a,_0x26c559['version']-_0x4ad23a['length']),this['_updateServerHistory'](_0x4ad23a);const _0x2f05ed=_0x4ad23a['filter'](_0x296577=>{if(!_0x296577['_isInit'])return!0x1;const _0x135071=this['_getAffectedRoot'](_0x296577);return _0x135071&&!this['_knownRootNames']['has'](_0x135071);});K(_0x2f05ed,this['_document']['version']),this['_applyOperationsSet'](_0x2f05ed),_0x522076=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4b7b86=this['_decompressOperations'](_0x26c559['data'],_0x26c559['metadata'])['filter'](_0xac351a=>_0xac351a['baseVersion']>=this['_lastServerVersion']);_0x4b7b86['forEach'](_0x2a3c33=>this['_addKnownRoot'](_0x2a3c33)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x38c7a1=>!_0x38c7a1['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x38c7a1))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4b7b86),_0x522076=this['_handleExternalOperations'](_0x4b7b86,_0x26c559['version'],_0x26c559['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x522076?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x29b135,_0x5e707d,_0x28e859){try{const _0x3b9f8b={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x53ecfb,operationsB:_0x477344,originalOperations:_0x46db68}=_0x4b4afd(_0x29b135,this['_bufferedOperations'],_0x3b9f8b);K(_0x53ecfb,this['_document']['version']),K(_0x477344,_0x5e707d);for(const _0x4fabed of _0x53ecfb){const _0x24e25c=_0x46db68['get'](_0x4fabed);_0x4fabed['_authorId']=_0x24e25c?_0x24e25c['_authorId']:null;}_0x28e859&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x29b135,_0x28e859),this['_lastSyncedOperationId']=_0x28e859),this['_bufferedOperations']=[..._0x477344],this['_applyOperationsSet'](_0x53ecfb),this['_updateServerHistory'](_0x29b135);}catch(_0x18a9f0){return console['error'](_0x18a9f0),!0x1;}return!0x0;}['_applyOperationsSet'](_0x47412f,_0x578231=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x41cd76=>{for(const _0xfb0569 of _0x47412f)this['_knownOperations']['add'](_0xfb0569),this['_addKnownRoot'](_0xfb0569),_0x41cd76['batch']['addOperation'](_0xfb0569),this['editor']['model']['applyOperation'](_0xfb0569);});}['_addKnownRoot'](_0x52234b){const _0x43fc5f=this['_getAffectedRoot'](_0x52234b);_0x43fc5f&&this['_knownRootNames']['add'](_0x43fc5f);}['_getAffectedRoot'](_0x2ea2f6){let _0x1207fe,_0x132d27;switch(_0x2ea2f6['type']){case'insert':_0x1207fe=_0x2ea2f6['position']['root'];break;case'marker':if(_0x132d27=_0x2ea2f6['newRange'],!_0x132d27)return null;_0x1207fe=_0x132d27['root'];break;case'addRootAttribute':_0x1207fe=_0x2ea2f6['root'];break;case'addRoot':_0x1207fe=_0x2ea2f6['affectedSelectable'];break;case'move':_0x1207fe=_0x2ea2f6['targetPosition']['root'];break;default:return null;}return _0x1207fe['rootName'];}['_updateServerHistory'](_0x5637d5){_0x5637d5['forEach'](_0x54f77a=>{const _0x48065b=_0x54f77a['clone']();_0x48065b['_authorId']=_0x54f77a['_authorId'],_0x48065b['_isInit']=!!_0x54f77a['_isInit'],_0x48065b['createdAt']=_0x54f77a['createdAt'],_0x48065b['baseVersion']+=this['_offset'],_0x54f77a['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x48065b),this['serverHistory']['addOperation'](_0x48065b);});}['_handleReconnectionError'](_0x1bbfd0){const _0x336f28=this['editor']['plugins']['get']('Notification'),_0x3effcf=this['editor']['locale'];_0x1bbfd0||(_0x1bbfd0=W(_0x3effcf,'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.')),_0x336f28['showWarning'](_0x1bbfd0,{'title':W(_0x3effcf,'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'](_0x215d15)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x215d15)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5da727){const _0x279f73=_0x5da727['map'](_0xfe8049=>_0xfe8049['toJSON']());return this['_compressor']['compress'](_0x279f73);}['_decompressOperations'](_0x102462,_0x1538f3){return this['_compressor']['decompress'](_0x102462)['map']((_0x42ac0d,_0xc49274)=>{const _0x179643='init'==_0x1538f3[_0xc49274]['type'];if('InsertOperation'==_0x42ac0d['__className']){const _0x12fb52=_0x42ac0d['position']['root'];!this['_document']['getRoot'](_0x12fb52)&&(this['_document']['createRoot']('$root',_0x12fb52)['_isAttached']=!0x1);}const _0xf0625d=_0x52243b['fromJSON'](_0x42ac0d,this['_document']);return _0xf0625d['wasUndone']=_0x42ac0d['wasUndone'],_0xf0625d['_isInit']=_0x179643,_0xf0625d['_authorId']=_0x179643?null:_0x1538f3[_0xc49274]['userId'],_0xf0625d['_isDisconnection']='cs:removeUser'===_0x1538f3[_0xc49274]['type'],_0xf0625d['createdAt']=_0x1538f3[_0xc49274]['createdAt'],_0xf0625d;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x4b6c59=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x4b6c59&&_0x4b6c59['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x20a63f,_0xad21ed){for(const _0x25e8a6 of _0x20a63f)_0x25e8a6['baseVersion']=_0xad21ed++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0xcb0b04){this['_ignoredOperations']=_0xcb0b04,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x46dd38){let _0x256530=_0x46dd38['length'];for(;_0x256530--;){const _0x37cb2e=_0x46dd38[_0x256530];if(!this['_ignoredOperations']['has'](_0x37cb2e)){if(!this['_operationToId']['has'](_0x37cb2e)){const _0x32eb54=_0xde7275()['slice'](0x1,0x12);this['_operationToId']['set'](_0x37cb2e,_0x32eb54);}return this['_operationToId']['get'](_0x37cb2e);}}}['setIdForTheLastOperation'](_0x2639e4,_0x4788b2){if(!_0x4788b2)return;let _0x13e2c8=_0x2639e4['length'];for(;_0x13e2c8--;){const _0x459b12=_0x2639e4[_0x13e2c8];this['_ignoredOperations']['has'](_0x459b12)||this['_operationToId']['set'](_0x459b12,_0x4788b2);}}}class a extends _0x582e6d{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x14a72f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x4357f9)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x438ac2];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x25a5f7){super(_0x25a5f7),this['_services']=new Map();}async['init'](){const _0x25000b=this['context'],_0x2058af=_0x25000b['plugins']['get']('CommentsRepository');if(_0x25000b['plugins']['get'](n)['addToReconnectionStack'](this),_0x2058af['adapter']={'addCommentThread':async({channelId:_0x356012,threadId:_0x1e46a6,comments:_0x1a6b2a,resolvedAt:_0x499551,resolvedBy:_0x5f0a35,context:_0x31722e,attributes:_0x47a89c})=>{const _0x54357a=await this['_getService'](_0x356012)['addCommentThread']({'commentThreadId':_0x1e46a6,'comments':_0x1a6b2a['map'](_0x39d5b9=>function(_0x3dcb83,_0x51564c,_0x48bde3){return{'commentThreadId':_0x48bde3,'commentId':_0x3dcb83['commentId'],'userId':_0x3dcb83['authorId'],'content':_0x3dcb83['content'],'documentId':_0x51564c,'createdAt':_0x3dcb83['createdAt'],'attributes':_0x3dcb83['attributes']||{}};}(_0x39d5b9,_0x356012,_0x1e46a6)),'resolvedAt':_0x499551,'resolvedBy':_0x5f0a35,'context':_0x31722e,'attributes':_0x47a89c})['catch'](dt);return{'threadId':_0x54357a['commentThreadId'],'comments':_0x54357a['comments']};},'getCommentThread':async({channelId:_0x18e8d6,threadId:_0x3de446})=>{const _0x5abc4c=await this['_getService'](_0x18e8d6)['getCommentThread'](_0x3de446)['catch'](v)['catch'](dt);return _0x5abc4c?_0x5abc4c['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5abc4c]),{'threadId':_0x5abc4c['commentThreadId'],'comments':_0x5abc4c['comments']['map'](p),'context':_0x5abc4c['context'],'resolvedAt':_0x5abc4c['resolvedAt'],'resolvedBy':_0x5abc4c['resolvedBy'],'attributes':_0x5abc4c['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5b0295,threadId:_0x327378,context:_0x431b69,unlinkedAt:_0x27da3b,attributes:_0x2d8a6a})=>this['_getService'](_0x5b0295)['updateCommentThread']({'commentThreadId':_0x327378,'context':_0x431b69,'attributes':_0x2d8a6a,'unlinkedAt':_0x27da3b})['catch'](v)['catch'](dt),'resolveCommentThread':async({channelId:_0x4d22a2,threadId:_0x5a9364})=>{const _0x59dbf8=await this['_getService'](_0x4d22a2)['resolveCommentThread'](_0x5a9364)['catch'](v)['catch'](dt);return{'threadId':_0x59dbf8['commentThreadId'],'resolvedAt':_0x59dbf8['resolvedAt'],'resolvedBy':_0x59dbf8['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1efff2,threadId:_0x129368})=>this['_getService'](_0x1efff2)['reopenCommentThread'](_0x129368)['catch'](v)['catch'](dt),'removeCommentThread':({channelId:_0x1f6e5d,threadId:_0x511de2})=>this['_getService'](_0x1f6e5d)['removeCommentThread'](_0x511de2)['catch'](v)['catch'](dt),'addComment':({channelId:_0x310abf,threadId:_0x35b535,commentId:_0x117a3b,content:_0x582c54,attributes:_0x4fac3c})=>this['_getService'](_0x310abf)['addComment'](_0x35b535,_0x117a3b,_0x582c54,_0x4fac3c)['catch'](dt),'updateComment':({channelId:_0x11acc8,threadId:_0x43b3f9,commentId:_0x350b43,content:_0x283da9,attributes:_0x2c6722})=>this['_getService'](_0x11acc8)['updateComment'](_0x43b3f9,_0x350b43,_0x283da9,_0x2c6722)['catch'](v)['catch'](dt),'removeComment':({channelId:_0x35ce87,threadId:_0x412d55,commentId:_0x11f29d})=>this['_getService'](_0x35ce87)['removeComment'](_0x412d55,_0x11f29d)['catch'](v)['catch'](dt)},_0x25000b instanceof _0x3e4173){const _0x1aed8a=_0x25000b['config']['get']('collaboration.channelId'),_0x3da8b7=_0x25000b['plugins']['get'](i);await this['_setUpService'](_0x1aed8a);const _0x1a1063=await this['_services']['get'](_0x1aed8a)['getConnectedSessions']();this['listenTo'](_0x3da8b7,'sessionAdd:'+_0x1aed8a,(_0x39f832,{session:_0x1deb3a})=>{_0x1deb3a['id']===_0x3da8b7['mySessionId']&&(_0x39f832['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1deb3a['permissions'],_0x1aed8a));}),_0x3da8b7['register'](_0x1aed8a,_0x1a1063);}}async['_setUpService'](_0x2c90e0){if(this['_services']['has'](_0x2c90e0))throw new _0x31eaa2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2c90e0});const _0x4d3fd8=this['context']['plugins']['get']('CommentsRepository'),_0x11db01=new s['CommentsService'](_0x2c90e0);this['_services']['set'](_0x2c90e0,_0x11db01),this['listenTo'](_0x11db01,'commentThreadAdded',(_0x5667b7,_0x469b30)=>{const {commentThreadId:_0x3fc744,documentId:_0x4be6cf,context:_0x3f1af5,attributes:_0x5686df,resolvedAt:_0x296473,resolvedBy:_0x2eca57,comments:_0x5a71be}=_0x469b30;_0x4d3fd8['getCommentThread'](_0x3fc744)||_0x4d3fd8['addCommentThread']({'threadId':_0x3fc744,'channelId':_0x4be6cf,'comments':_0x5a71be?_0x5a71be['map'](p):[],'context':_0x3f1af5,'attributes':_0x5686df,'resolvedAt':_0x296473,'resolvedBy':_0x2eca57,'isFromAdapter':!0x0});}),this['listenTo'](_0x11db01,'commentThreadUpdated',(_0x5873a4,{commentThreadId:_0x1e7404,documentId:_0x1681cc,context:_0x10b264,unlinkedAt:_0xaa2a25,attributes:_0x106988})=>{_0x4d3fd8['getCommentThread'](_0x1e7404)&&_0x4d3fd8['updateCommentThread']({'threadId':_0x1e7404,'channelId':_0x1681cc,'context':_0x10b264,'unlinkedAt':_0xaa2a25,'attributes':_0x106988,'isFromAdapter':!0x0});}),this['listenTo'](_0x11db01,'commentThreadResolved',(_0x169336,{commentThreadId:_0x4d60f7,resolvedBy:_0x3a13c0,resolvedAt:_0x12b108})=>{const _0x46cff6=_0x4d3fd8['getCommentThread'](_0x4d60f7);_0x46cff6&&_0x46cff6['resolve']({'resolvedBy':_0x3a13c0,'resolvedAt':_0x12b108,'isFromAdapter':!0x0});}),this['listenTo'](_0x11db01,'commentThreadReopened',(_0x10f4c0,{commentThreadId:_0x1a4602})=>{const _0x52ab82=_0x4d3fd8['getCommentThread'](_0x1a4602);_0x52ab82&&_0x52ab82['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x11db01,'commentThreadRemoved',(_0x15d53b,{commentThreadId:_0x1ee3ee})=>{const _0x10dcdb=_0x4d3fd8['getCommentThread'](_0x1ee3ee);_0x10dcdb&&_0x10dcdb['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x11db01,'commentAdded',(_0x2e5155,_0xf78915)=>{const _0x4dfa04=_0xf78915['commentThreadId'],_0x11432a=_0x4d3fd8['getCommentThread'](_0x4dfa04);_0x11432a&&_0x11432a['addComment']({...p(_0xf78915),'isFromAdapter':!0x0});}),this['listenTo'](_0x11db01,'commentUpdated',(_0x15778a,{commentThreadId:_0x1650a8,commentId:_0x19d1c6,content:_0x595859,attributes:_0x11f9ce})=>{const _0x462111=_0x4d3fd8['getCommentThread'](_0x1650a8);if(_0x462111){const _0x39328f=_0x462111['getComment'](_0x19d1c6);_0x39328f&&_0x39328f['update']({'content':_0x595859,'attributes':_0x11f9ce,'isFromAdapter':!0x0});}}),this['listenTo'](_0x11db01,'commentRemoved',(_0xf23d7e,{commentThreadId:_0x124180,commentId:_0x316600})=>{const _0x2fe6dc=_0x4d3fd8['getCommentThread'](_0x124180);if(_0x2fe6dc){const _0x5bc410=_0x2fe6dc['getComment'](_0x316600);_0x5bc410&&_0x5bc410['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2c90e0);}['destroy'](){if(this['context']instanceof _0x3e4173){const _0x3a2bfb=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3a2bfb);}}['_terminateService'](_0x23e62d){if(!this['_services']['has'](_0x23e62d))throw new _0x31eaa2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x23e62d});this['_getService'](_0x23e62d)['disconnect'](),this['_services']['delete'](_0x23e62d);}async['reconnect'](){for(const _0x362989 of this['_services']['keys']())await this['_connectService'](_0x362989);if(this['context']instanceof _0x3e4173){const _0x3abf77=this['context']['config']['get']('collaboration.channelId'),_0x3a1468=this['context']['plugins']['get'](i);_0x3a1468['unregister'](_0x3abf77);const _0x345649=await this['_services']['get'](_0x3abf77)['getConnectedSessions']();_0x3a1468['register'](_0x3abf77,_0x345649);}}async['_connectService'](_0x5944e6){const {connection:_0x33b1c5}=this['context']['plugins']['get'](n),_0x45ee48=this['context']['plugins']['get']('CommentsRepository'),_0x50a41c=this['_services']['get'](_0x5944e6),_0x3d213c=await _0x50a41c['connect'](_0x33b1c5);await this['_fetchMissingUsersForThreads'](_0x3d213c);const _0x24aaff=new Set(Array['from'](_0x45ee48['getCommentThreads']({'channelId':_0x5944e6}),_0xfcd3c2=>_0xfcd3c2['id']));for(const _0x3537b2 of _0x3d213c)_0x3537b2['deletedAt']||_0x24aaff['delete'](_0x3537b2['commentThreadId']);for(const _0x5d5602 of _0x24aaff)_0x45ee48['getCommentThread'](_0x5d5602)['remove']({'isFromAdapter':!0x0});for(const _0x5d9ed6 of _0x3d213c){let _0x25675d=_0x45ee48['getCommentThread'](_0x5d9ed6['commentThreadId']);const {commentThreadId:_0x54bf0e,context:_0x1e29e3,attributes:_0x2f3399,resolvedBy:_0xb59ac8,resolvedAt:_0x1f3ebe,unlinkedAt:_0x15665c,deletedAt:_0x4ee970}=_0x5d9ed6;if(_0x4ee970)continue;_0x25675d||(_0x25675d=_0x45ee48['addCommentThread']({'channelId':_0x5944e6,'threadId':_0x54bf0e,'context':_0x1e29e3,'attributes':_0x2f3399||{},'resolvedBy':_0xb59ac8,'resolvedAt':_0x1f3ebe,'unlinkedAt':_0x15665c,'isFromAdapter':!0x0}));const _0x55ae83=new Set(Array['from'](_0x25675d['comments'],_0x331550=>_0x331550['id']));for(const _0x1cbde1 of _0x5d9ed6['comments'])_0x55ae83['delete'](_0x1cbde1['commentId']);for(const _0x17eafb of _0x55ae83)_0x25675d['getComment'](_0x17eafb)['remove']({'isFromAdapter':!0x0});for(const _0x2c7a8f of _0x5d9ed6['comments']){const _0x685431=_0x25675d['getComment'](_0x2c7a8f['commentId']);_0x685431?_0x685431['content']!==_0x2c7a8f['content']&&_0x685431['update']({'content':_0x2c7a8f['content'],'isFromAdapter':!0x0}):_0x25675d['addComment'](Object['assign'](p(_0x2c7a8f),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4d9fee){if(!this['_services']['has'](_0x4d9fee))throw new _0x31eaa2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4d9fee});return this['_services']['get'](_0x4d9fee);}async['_fetchMissingUsersForThreads'](_0x17647e){const _0x5b53bb=this['context']['plugins']['get'](_0x438ac2),{connection:_0x22450e}=this['context']['plugins']['get'](n),_0x2bd460=new Set();for(const {resolvedBy:_0x6e235b,comments:_0x323f91}of _0x17647e){_0x6e235b&&!_0x5b53bb['getUser'](_0x6e235b)&&_0x2bd460['add'](_0x6e235b);for(const {userId:_0x9525c2}of _0x323f91)_0x5b53bb['getUser'](_0x9525c2)||_0x2bd460['add'](_0x9525c2);}if(0x0===_0x2bd460['size'])return;const _0x39b63b=await lt['getMany'](_0x22450e,Array['from'](_0x2bd460));for(const _0x3fb693 of _0x39b63b)_0x5b53bb['getUser'](_0x3fb693['id'])||_0x5b53bb['addUser'](_0x3fb693);}}async function v(_0x430b86){if('404'!==_0x430b86['code'])throw _0x430b86;}function dt(_0x396e87){if((_0x580447=_0x396e87)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x580447['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x580447['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x580447;throw _0x396e87;}function p(_0x30029f){return{'threadId':_0x30029f['commentThreadId'],'commentId':_0x30029f['commentId'],'content':_0x30029f['content'],'createdAt':_0x30029f['createdAt'],'authorId':_0x30029f['userId'],'attributes':_0x30029f['attributes']||{}};}class m extends _0x582e6d{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4ffee8){super(_0x4ffee8);const _0x3aa480=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x3aa480);}['init'](){const _0x54f9e4=this['editor']['plugins']['get'](n),_0x1befa1=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1befa1['adapter']={'getSuggestion':async _0xd0bffa=>{await this['_waitForServiceReady']();const _0x572117=await this['_trackChangesService']['get'](_0xd0bffa)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x572117]),_0x572117;},'addSuggestion':async({id:_0x1e35ba,type:_0x3e2dbb,data:_0x42fbbd,originalSuggestionId:_0x30f2e2,attributes:_0x4c30d8})=>{await this['_waitForServiceReady']();const _0x446c9c={'id':_0x1e35ba,'type':_0x3e2dbb,'data':_0x42fbbd,'originalSuggestionId':_0x30f2e2,'attributes':_0x4c30d8},_0x2d6ad3=await this['_trackChangesService']['add'](_0x1e35ba,_0x3e2dbb,_0x42fbbd,_0x30f2e2,_0x4c30d8)['catch'](_0x1f410e=>{if(ut(_0x1f410e))return new Promise(_0x5b7baf=>{this['_bufferedRequests']['set'](_0x1e35ba,{'resolve':_0x5b7baf,'suggestionData':_0x446c9c});});throw _0x1f410e;});return this['_bufferedRequests']['delete'](_0x1e35ba),_0x2d6ad3;},'updateSuggestion':async(_0x1defa9,_0x4fc7bd)=>{if(await this['_waitForServiceReady'](),'open'!==_0x4fc7bd['state'])return this['_trackChangesService']['update'](_0x1defa9,_0x4fc7bd)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2f32f5,_0x259337)=>{_0x1befa1['hasSuggestion'](_0x259337['id'])&&(_0x1befa1['getSuggestion'](_0x259337['id'])['attributes']=_0x259337['attributes']);}),this['_trackChangesService']['connect'](_0x54f9e4['connection'])['then'](_0x38f474=>(_0x54f9e4['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x38f474)['then'](()=>{for(const _0x3f41de of _0x38f474){_0x1befa1['addSuggestionData'](_0x3f41de)['_saved']=!0x0;}})));}async['reconnect'](){const _0x337e87=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x6b5e66}=this['editor']['plugins']['get'](n),_0xe5848c=await this['_trackChangesService']['connect'](_0x6b5e66);await this['_fetchMissingUsersForThreads'](_0xe5848c);for(const {suggestionData:_0x6f9260,resolve:_0x47ef49}of this['_bufferedRequests']['values']()){let _0x10ca48=_0xe5848c['find'](_0x32dba9=>_0x32dba9['id']===_0x6f9260['id']);_0x10ca48||(_0x10ca48=await this['_trackChangesService']['add'](_0x6f9260['id'],_0x6f9260['type'],_0x6f9260['data'],_0x6f9260['originalSuggestionId'])),_0x47ef49(_0x10ca48);}for(const _0x2c73f9 of _0xe5848c)_0x337e87['hasSuggestion'](_0x2c73f9['id'])||_0x337e87['addSuggestionData'](_0x2c73f9);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x55b50c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x553084=>{_0x553084['off'](),_0x55b50c();});});}async['_fetchMissingUsersForThreads'](_0x3e7e6e){const _0x51d32b=this['editor']['plugins']['get'](_0x438ac2),{connection:_0x5721b9}=this['editor']['plugins']['get'](n),_0x2b4382=new Set();for(const {authorId:_0x2ca6af}of _0x3e7e6e)_0x51d32b['getUser'](_0x2ca6af)||_0x2b4382['add'](_0x2ca6af);if(0x0===_0x2b4382['size'])return;const _0x107dcc=await lt['getMany'](_0x5721b9,Array['from'](_0x2b4382));for(const _0x105ea6 of _0x107dcc)_0x51d32b['getUser'](_0x105ea6['id'])||_0x51d32b['addUser'](_0x105ea6);}}function A(_0x8c99ad){if(ut(_0x8c99ad))return new Promise(()=>{});throw _0x8c99ad;}function ut(_0x3861d6){return _0x3861d6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3861d6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x582e6d{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 _0x18d008=this['editor']['plugins']['get'](n),_0x4cb584=this['editor']['plugins']['get']('CommentsEditing'),_0x1486ab=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x18d008,'change:state',(_0x448d46,_0x3b4920,_0x1286cd)=>{_0x4cb584['isThreadsLoadingPaused']='connected'!==_0x1286cd;});}),this['listenTo'](_0x18d008,'change:state',(_0x27fd28,_0x3a349e,_0x2209ec)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2209ec);}),_0x1486ab['_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 _0x582e6d{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 _0x582e6d{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>et)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x438ac2];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3134f8){super(_0x3134f8);const _0x111a7a=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x111a7a);}async['init'](){const _0x472a9f=this['editor']['plugins']['get'](l),_0x27992f=_0x472a9f['serverHistory'],_0x30a8f5=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x27992f,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x472a9f['sessionId']});const _0x348948=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x7e8f84=await st['isBundleUploaded'](_0x30a8f5['connection'],_0x348948);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x769631})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x769631)),'updateRevisions':async _0x2e65e3=>{await this['_waitForServiceReady']();const _0x9d08a4=this['_revisionTracker']['currentRevision'];if(_0x7e8f84&&0x1===_0x2e65e3['length']&&_0x2e65e3[0x0]['id']===_0x9d08a4['id'])return _0x2e65e3;for(const _0x5831e6 of _0x2e65e3)_0x5831e6['id']===_0x9d08a4['id']&&(_0x5831e6['isEmptyCurrent']=_0x5831e6['fromVersion']===_0x5831e6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x2e65e3,this['_lastRequestId'])['then'](_0x5dcefa=>(this['_lastRequestId']=_0x5dcefa,_0x2e65e3))['catch'](_0x9c96f0=>{if(it(_0x9c96f0)||'400'===_0x9c96f0['code']&&void 0x0!==_0x9c96f0['data']['wrongRequestId']){for(const _0xba0a5f of _0x2e65e3){!this['_revisionTracker']['repository']['getRevision'](_0xba0a5f['id'])||this['_revisionTracker']['_bufferUpdate'](_0xba0a5f['id'],_0xba0a5f,!0x1);}if(it(_0x9c96f0))throw _0x9c96f0;return _0x2e65e3;}throw _0x9c96f0;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x329ebe,{revisionsData:_0x519008,requestId:_0x38a9e2})=>{Math['max'](..._0x519008['map'](_0x22398e=>_0x22398e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x519008,_0x38a9e2);}):this['_handleRevisionsUpdate'](_0x519008,_0x38a9e2);});const {revisions:_0x30b875,requestId:_0x4f9668}=await this['_revisionHistoryService']['connect'](_0x30a8f5['connection']);_0x30a8f5['addToReconnectionStack'](this),this['_lastRequestId']=_0x4f9668,await this['_fetchMissingUsers'](_0x30b875);for(const _0x51869f of _0x30b875)this['_revisionTracker']['addRevisionData'](_0x51869f);this['listenTo'](_0x472a9f,'change:_isConnected',(_0x4153b1,_0x2b1b5d,_0x56520e)=>{_0x56520e&&(this['_oldOffset']=_0x472a9f['_offset'],_0x4153b1['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x30a8f5,'state',_0x12f1b4=>_0x12f1b4===te['CONNECTED']);}async['reconnect'](){const _0x2ebd81=this['editor']['plugins']['get'](n),_0x34b170=this['editor']['plugins']['get'](l),_0xd2283e=async()=>{const _0x2f27a3=this['_revisionTracker']['currentRevision'],_0xdecf5a=_0x2f27a3['id'],_0x5e8cfe=_0xdecf5a!==_0x34b170['sessionId'];if(_0x5e8cfe){const _0x5f347c=_0x34b170['_offset']-this['_oldOffset'],_0x5a7458=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x2f27a3['toVersion']+_0x5f347c!==_0x5a7458){const _0x17b78e=_0x2f27a3['fromVersion']+_0x5f347c,_0x4fbb2a=this['editor']['plugins']['get'](_0x438ac2),_0x1b5b9c=this['_revisionTracker']['buildRevisionData']({'revision':_0x2f27a3,'from':_0x17b78e,'to':_0x5a7458});_0x1b5b9c['id']=_0x2f27a3['id'];const _0x4f8b9b=_0x1b5b9c['authorsIds']['map'](_0xc6d0b4=>_0x4fbb2a['getUser'](_0xc6d0b4));_0x2f27a3['_update']({..._0x1b5b9c,'authors':_0x4f8b9b},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x2f27a3['id'],_0x1b5b9c,!0x0);}this['_revisionTracker']['_startingVersion']=_0x5a7458,(_0x2f27a3['toVersion']===_0x2f27a3['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0xdecf5a)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0xdecf5a),this['_revisionTracker']['_createCurrentRevision'](_0x5a7458));}const {revisions:_0x4e8971,requestId:_0x38cad3}=await this['_revisionHistoryService']['reconnect'](_0x2ebd81['connection'],this['_lastRequestId']);_0x5e8cfe&&_0x4e8971['length']>0x0?_0x34b170['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4e8971),this['_handleRevisionsUpdate'](_0x4e8971,_0x38cad3),this['_revisionTracker']['sendBufferedUpdates']());};return _0x34b170['_isConnected']?_0xd2283e():new Promise((_0x3f1b59,_0x5b39af)=>{_0x34b170['once']('change:_isConnected',()=>{_0xd2283e()['then'](_0x3f1b59)['catch'](_0x5b39af);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x1d7ca2=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x554651=>{_0x554651['off'](),_0x1d7ca2();});});}['_getLatestVersionFromServerOperations'](){const _0x549fea=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1fe761 of _0x549fea)if('marker'!==_0x1fe761['type']||_0x1fe761['affectsData'])return _0x1fe761['baseVersion']+0x1;}['_getLatestVersion'](){const _0x3db480=this['editor']['plugins']['get'](l);return new Promise(_0x7daa2e=>{_0x3db480['_isPendingUpdate']?_0x3db480['once']('change:_isPendingUpdate',()=>{_0x7daa2e(this['_getLatestVersionFromServerOperations']());}):_0x7daa2e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x367f61,_0x8c742e){const _0x1df9fd=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x8c742e;for(const _0x11354f of _0x367f61){const _0x3c604b=_0x1df9fd['getRevision'](_0x11354f['id']);if(_0x3c604b){if((_0x11354f['fromVersion']||_0x11354f['toVersion'])&&(_0x11354f['diffData']=null),_0x3c604b===this['_revisionTracker']['currentRevision']){const _0x39a52c=Math['max'](_0x3c604b['toVersion'],_0x11354f['toVersion']),_0x5c3acb=Math['max'](_0x3c604b['fromVersion'],_0x11354f['fromVersion']);let _0x2dee7a;_0x3c604b['toVersion']===_0x11354f['toVersion']&&_0x3c604b['fromVersion']===_0x11354f['fromVersion']?(_0x2dee7a=!0x0,this['_preventResendingRevisionData'](_0x11354f)):_0x11354f['toVersion']===_0x39a52c&&_0x11354f['fromVersion']===_0x5c3acb?_0x2dee7a=!0x1:(_0x3c604b['toVersion']===_0x39a52c&&_0x3c604b['fromVersion']===_0x5c3acb||this['_fixRevision']({'revision':_0x3c604b,'from':_0x5c3acb,'to':_0x39a52c}),_0x2dee7a=!0x0),_0x2dee7a&&(delete _0x11354f['fromVersion'],delete _0x11354f['toVersion'],delete _0x11354f['diffData'],delete _0x11354f['createdAt'],delete _0x11354f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x11354f),this['_preventResendingRevisionData'](_0x11354f);}else this['_revisionTracker']['addRevisionData'](_0x11354f);}const _0x4cd83e=_0x1df9fd['getRevisions']();_0x4cd83e['reverse']();for(let _0x1e5873=0x0;_0x1e5873<_0x4cd83e['length']-0x1;_0x1e5873++){const _0x4f2b24=_0x4cd83e[_0x1e5873],_0x37e8c1=_0x4cd83e[_0x1e5873+0x1];if(_0x4f2b24['fromVersion']<_0x37e8c1['toVersion']){const _0x44b1bf=_0x37e8c1['toVersion'],_0xab8e54=Math['max'](_0x44b1bf,_0x4f2b24['toVersion']);this['_fixRevision']({'revision':_0x4f2b24,'from':_0x44b1bf,'to':_0xab8e54});}}}['_fixRevision']({revision:_0x1451b5,from:_0x3594b,to:_0xe220b2}={}){const _0xca8559=this['editor']['plugins']['get'](_0x438ac2),_0x5bb3fa=this['_revisionTracker']['buildRevisionData']({'revision':_0x1451b5,'from':_0x3594b,'to':_0xe220b2});_0x5bb3fa['authors']=_0x5bb3fa['authorsIds']['map'](_0x32ac98=>_0xca8559['getUser'](_0x32ac98)),_0x1451b5['_update'](_0x5bb3fa);}['_preventResendingRevisionData'](_0x5f4629){const _0x342e3a={};_0x342e3a['id']=_0x5f4629['id'];for(const _0xf68669 of Object['keys'](_0x5f4629))'id'!==_0xf68669&&(_0x342e3a[_0xf68669]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x342e3a['id'],_0x342e3a,!0x0);}async['_fetchMissingUsers'](_0x138fc8){const _0x66f865=this['editor']['plugins']['get'](_0x438ac2),{connection:_0x1fa553}=this['editor']['plugins']['get'](n),_0x32fb38=new Set();for(const _0x95dc53 of _0x138fc8){for(const _0x4f1516 of _0x95dc53['authorsIds'])_0x13ea40(_0x4f1516);_0x95dc53['creatorId']&&_0x13ea40(_0x95dc53['creatorId']);}if(0x0===_0x32fb38['size'])return;const _0x21efb5=await lt['getMany'](_0x1fa553,Array['from'](_0x32fb38));for(const _0x14e55e of _0x21efb5)_0x66f865['getUser'](_0x14e55e['id'])||_0x66f865['addUser'](_0x14e55e);function _0x13ea40(_0x259dd3){_0x66f865['getUser'](_0x259dd3)||_0x32fb38['add'](_0x259dd3);}}}function it(_0x59b49b){return _0x59b49b['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x59b49b['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x59b49b['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x582e6d{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x5a7e76{['_collapseAt'];constructor(_0x1a6f65,_0x3d694a=0x6){super(_0x1a6f65);const _0x16c654=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3d694a,this['bind']('isHidden')['to'](this,'usersCount',_0x1081c4=>_0x1081c4<_0x3d694a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x16c654['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':_0x16c654['to']('usersCount',_0x413c62=>'+'+(_0x413c62-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x5a7e76{['items'];['keystrokes'];constructor(_0x2978ee){super(_0x2978ee);const _0x264cf4=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x3bc9e9(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x264cf4['if']('hasPopup'),'aria-expanded':_0x264cf4['to']('isExpanded',_0x363c51=>this['hasPopup']&&String(_0x363c51)),'aria-label':_0x264cf4['to']('hasPopup',_0x22c0bb=>W(_0x2978ee,_0x22c0bb?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x264cf4['to']('hasPopup',_0x1873e6=>!!_0x1873e6&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x264cf4['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x264cf4['to'](_0x14f1d7=>{const _0x3e9127=_0x14f1d7,_0x4ca1aa=document['querySelector']('.ck-presence-list__dropdown-list'),_0x284a94=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4ca1aa?.['contains'](_0x3e9127['relatedTarget'])||_0x284a94?.['contains'](_0x3e9127['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4a8082,_0x359b40,_0x524ff8)=>{this['element']&&(_0x524ff8?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x5a7e76{['counterView'];['inlineListView'];constructor(_0x3a0970,_0x175581=0x6){super(_0x3a0970);const _0x26827b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x175581),this['inlineListView']=new is(_0x3a0970),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x41acd3 of this['inlineListView']['items'])_0x41acd3['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',_0x26827b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x5a7e76{['listWrapperView'];constructor(_0x3cd6cc,_0x19bc17){super(_0x3cd6cc);const _0x29f10b=this['bindTemplate'];this['listWrapperView']=new pt(_0x3cd6cc,_0x19bc17),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x3cd6cc,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x29f10b['to'](_0x2a1266=>{const _0x17e775=_0x2a1266,_0x49db5b=document['querySelector']('.ck-presence-list__list'),_0x356be4=document['querySelector']('.ck-balloon-panel_with-arrow');_0x49db5b?.['contains'](_0x17e775['relatedTarget'])||_0x356be4?.['contains'](_0x17e775['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x5687c4{constructor(_0x5afc2,_0x5d69c5){super(_0x5afc2);const _0x54f880=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5d69c5?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x54f880['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x54f880['to']('role'),'aria-label':_0x54f880['to']('ariaLabel'),'aria-labelledby':_0x54f880['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x497bba['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x3c6b92=this['element'];_0x3c6b92&&(this['_isScrollable']=Math['max'](_0x3c6b92['scrollHeight'],_0x3c6b92['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x1bb8e9,_0x5c9348,_0x87be60){super(_0x1bb8e9);const _0x5e906f=this['bindTemplate'];this['userView']=new ct(_0x1bb8e9,_0x5c9348);const _0x2b0fd9={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5c9348['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5c9348['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5c9348['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x87be60&&(_0x2b0fd9['tag']='button',_0x2b0fd9['on']={'click':_0x5e906f['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b0fd9);}['focus'](){this['element']['focus']();}}class _ extends _0x5a7e76{['userView'];['markerView'];constructor(_0xd25402,_0x330c84,_0x552be2){super(_0xd25402);const _0x25f280=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0xd25402,_0x330c84),this['markerView']=new at(_0xd25402,_0x330c84);const _0x464ea3=new ot(_0xd25402);_0x464ea3['template']['tag']='span',_0x464ea3['text']=_0x330c84['name'];const _0x148a2f={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x25f280['to']('isFocusable',_0x53d29e=>!!_0x53d29e&&0x0),'aria-labelledby':_0x464ea3['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x25f280['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x25f280['to']('hasTooltip',_0x30cf1a=>!_0x30cf1a),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x464ea3]};_0x552be2&&(_0x148a2f['tag']='button',_0x148a2f['on']={'click':_0x25f280['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x148a2f);}}class at extends _0x5a7e76{constructor(_0xcb3ff0,_0x5b1ed4){super(_0xcb3ff0),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5b1ed4['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x14a72f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x132ac5){super(_0x132ac5),this['context']['config']['define']('presenceList',U);const _0x500039=_0x132ac5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x500039)throw new _0x31eaa2('presencelist-collapseat-invalid-format',this);if(_0x500039<0x1)throw new _0x31eaa2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5d33df(),this['balloonPanelView']=new _0xbdfd38(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x446982 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x446982);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2bb434,_0x3c3829)=>{this['_handleUserAdd'](_0x3c3829);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x24dd80,_0x297103)=>{this['_handleUserRemove'](_0x297103);});}['_createView'](){const _0x1a87c0=this['context'],_0x3f457e=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3f8176=this['balloonPanelView'];if(!_0x1f73a5(_0x1a87c0['config']['get']('presenceList.container')))throw new _0x31eaa2('presencelist-missing-container',this);return _0x3f457e['counterView']['bind']('usersCount')['to'](this),_0x3f457e['bind']('isCollapsed')['to'](this,'usersCount',_0x316850=>{const {collapseAt:_0x4fb535}=_0x1a87c0['config']['get']('presenceList'),_0x4a901a=_0x316850>=_0x4fb535;if(_0x4a901a&&!_0x3f457e['inlineListView']['items']['find'](_0x2d1000=>_0x2d1000 instanceof y)){const _0x24b170=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x24b170&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3f457e['inlineListView']['items']['add'](_0x3f457e['counterView']);}return _0x4a901a||this['hideDropdown'](),_0x4a901a;}),_0x3f457e['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1ab497=>{const _0x297f4d=_0x1a87c0['config']['get']('presenceList'),_0x557b8f=new _(_0x1a87c0['locale'],_0x1ab497,!!_0x297f4d['onClick']);return _0x557b8f['bind']('hasTooltip')['to'](_0x3f457e,'isCollapsed',_0x44a272=>!_0x44a272),_0x557b8f['bind']('isFocusable')['to'](_0x3f457e,'isCollapsed',_0x3c3df3=>!_0x3c3df3),_0x297f4d['onClick']&&this['listenTo'](_0x557b8f,'execute',()=>{this['view']['isCollapsed']||_0x297f4d['onClick'](_0x1ab497,_0x557b8f['element']);}),_0x557b8f;}),this['listenTo'](_0x3f457e['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3f457e['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3f457e['inlineListView']['keystrokes']['set']('Enter',(_0x4ef948,_0x96c1b5)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x96c1b5());}),_0x3f457e['render'](),_0x3f8176['render'](),_0x377a1f({'emitter':_0x3f457e,'activator':()=>_0x3f8176['isVisible'],'contextElements':[_0x3f8176['element'],_0x3f457e['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x1a87c0['config']['get']('presenceList.container')['appendChild'](_0x3f457e['element']),this['_bodyCollection']=new _0xda32c4(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3f457e;}['_handleUserAdd'](_0x2de58c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x2de58c['isMe'])return;const _0x2a01af=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2a01af-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x556f0b=_0x2de58c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x2de58c,_0x556f0b);}['_handleUserRemove'](_0x37cb91){this['usersCount']--;const {collapseAt:_0x592936}=this['context']['config']['get']('presenceList'),_0x1aaece=this['usersCount']>=_0x592936;if(this['currentDisplayedUsers']['get'](_0x37cb91['id']))this['currentDisplayedUsers']['remove'](_0x37cb91['id']);else{if(_0x1aaece&&this['currentDisplayedUsers']['length']+0x1===_0x592936-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1aaece?0x1:0x0)<this['usersCount']){for(const _0x15f46c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x15f46c['id'])&&(this['currentDisplayedUsers']['add'](_0x15f46c,Math['min'](this['currentDisplayedUsers']['length']-(_0x1aaece?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1aaece?0x1:0x0)===_0x592936-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xe784b6=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0xe784b6['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x40e30c}=this['presenceDropdownView'];_0x40e30c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x44d83d=>{if(!_0xe784b6['displayMe']&&_0x44d83d['isMe'])return null;const _0x2b0161=new P(this['context']['locale'],_0x44d83d,!!_0xe784b6['onClick']);return _0xe784b6['onClick']&&this['listenTo'](_0x2b0161,'execute',()=>{_0xe784b6['onClick'](_0x44d83d,_0x2b0161['element']);}),_0x2b0161;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x40e30c['focus'](),_0x40e30c['checkIfScrollable']();const _0x1aba5d=(_0x8711bf,_0x3ad069)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3ad069();};_0x40e30c['keystrokes']['set']('Esc',_0x1aba5d),_0x40e30c['keystrokes']['set']('Shift+Tab',_0x1aba5d),_0x40e30c['keystrokes']['set']('Tab',(_0x2ce0bf,_0x1cf526)=>{!function(_0x1e532f){const _0x3651d4=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x14f6b1=>_0x14f6b1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2a8073=[...document['body']['querySelectorAll'](_0x3651d4)]['filter'](_0x51daa3=>_0x51daa3===document['activeElement']||_0x51daa3['offsetWidth']+_0x51daa3['offsetHeight']>0x0)['sort']((_0x5adc1f,_0x395fac)=>(_0x5adc1f['tabIndex']||0x0)-(_0x395fac['tabIndex']||0x0)),_0x360cde=_0x2a8073['indexOf'](_0x1e532f),_0x33eedc=_0x2a8073[(_0x360cde+0x1)%_0x2a8073['length']];_0x33eedc&&_0x33eedc['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1cf526();}),_0x40e30c['focusTracker']['add'](this['view']['element']),_0x40e30c['focusTracker']['on']('change:isFocused',(_0x5688bd,_0x206084,_0x4f9a64)=>{_0x4f9a64||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 _0x14a72f{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 _0x43cd90,Plugin as _0x36b438,PendingActions as _0x3fc2d4,Context as _0xbec918}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x2c9eaa,CKEditorError as _0x51025b,Collection as _0x25abf6,global as _0x462adf,version as nt,uid as _0x1acdad,KeystrokeHandler as _0x523b68}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x36b4,View as _0x586628,ListView as _0x1477e2,ListItemView as ct,LabelView as at,BalloonPanelView as _0x1686b7,clickOutsideHandler as _0x2171b3,BodyCollection as _0x37e4eb}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x350dc0,History as _0x5b2133,NoOperation as _0xcdcc1c,InsertOperation as _0x3991a5,MarkerOperation as _0x560cbe,RootAttributeOperation as _0x379ae3,transformOperationSets as _0x3e1311,OperationFactory as _0x15c984}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x71fa89,CollaborativeEditingService as _0x94b8a0,User as ut,CommentsService as _0x950533,TrackChangesService as _0x7f9f70,RevisionHistoryService as _0x44c054,EditorService as _0x1d7963}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x170830,UserView as ot}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0xfac916}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x2b1f16}from'es-toolkit/compat';class n extends _0x43cd90{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x36b4];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3bc3f9){super(_0x3bc3f9),this['set']('state',_0x71fa89['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x2c9eaa())();}['init'](){const _0x446b4f=this['context'],_0x517e4c=_0x446b4f['plugins']['get']('CloudServices'),_0x581ee=_0x446b4f['plugins']['get'](_0x36b4);if(!_0x517e4c['token'])throw new _0x51025b('websocketgateway-missing-token',this);if(!_0x517e4c['webSocketUrl'])throw new _0x51025b('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'](_0x517e4c['token'],_0x517e4c['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x18fa43=>{if(this['connection']=_0x18fa43,this['bind']('state')['to'](_0x18fa43,'state',this,'_isBrowserOffline',(_0x8ad42b,_0x550a1f)=>('connected'!==_0x8ad42b&&(this['_shouldPluginsReconnect']=!0x0),_0x550a1f||_0x8ad42b!==_0x71fa89['CONNECTED']?_0x71fa89['DISCONNECTED']:this['state']==_0x71fa89['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x71fa89['CONNECTING']):_0x71fa89['CONNECTED'])),this['connection']['on']('error',(_0x5ee7fd,_0x460ed0)=>{if('limitExceeded'!==_0x460ed0['code'])throw console['error'](_0x460ed0),new _0x51025b('cloudservices-init',null,{'originalError':_0x460ed0});_0x581ee['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'});}),!_0x18fa43['me'])return new Promise(_0xb71dd5=>_0x18fa43['on']('change:me',_0xb71dd5));})['catch'](_0x546160=>{throw console['error'](_0x546160),new _0x51025b('cloudservices-init',null,{'originalError':_0x546160});});}['addToReconnectionStack'](_0x18403d){if('function'!=typeof _0x18403d['reconnect'])throw new _0x51025b('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x18403d))throw new _0x51025b('websocketgateway-plugin-already-registered',this,{'name':_0x18403d['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x18403d);}['removeFromReconnectionStack'](_0x4f7908){this['_reconnectionStack']['delete'](_0x4f7908);}['isInReconnectionStack'](_0x4d7cc5){return this['_reconnectionStack']['has'](_0x4d7cc5);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x23a4a4=>_0x23a4a4['reconnect']())))['then'](()=>this['state']=_0x71fa89['CONNECTED'])['catch'](_0x387e12=>{throw console['error'](_0x387e12),new _0x51025b('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x71fa89['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x43cd90{['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,_0x170830];}constructor(_0x5d4eaf){super(_0x5d4eaf),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x25abf6(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x170830);}['init'](){const _0xb598c3=this['context']['plugins']['get'](n);this['listenTo'](_0xb598c3,'change:state',(_0x79a27e,_0x10344b,_0x33182a)=>{if('connected'!==_0x33182a)this['channelSessions']['forEach'](_0x1c9e13=>_0x1c9e13['clear']()),this['channelConnectedUsers']['forEach'](_0x36677d=>_0x36677d['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5c4748,_0x136e51]of this['_registeredSessions'])for(const _0x55533c of _0x136e51)this['_handleSessionAdd'](_0x5c4748,_0x55533c);}}),this['_createUser'](_0xb598c3['connection']['me'],!0x0);}['register'](_0x57fb1c,_0x538f5e){if(this['_registeredSessions']['has'](_0x57fb1c))throw new _0x51025b('sessions-register-already-registered',null,{'channelId':_0x57fb1c});this['_registeredSessions']['set'](_0x57fb1c,_0x538f5e),this['channelSessions']['set'](_0x57fb1c,new _0x25abf6()),this['channelConnectedUsers']['set'](_0x57fb1c,new _0x25abf6()),this['listenTo'](_0x538f5e,'add',(_0x29695f,_0x365e5f)=>this['_handleSessionAdd'](_0x57fb1c,_0x365e5f)),this['listenTo'](_0x538f5e,'remove',(_0x32edd8,_0x268a41)=>this['_handleSessionRemove'](_0x57fb1c,_0x268a41));for(const _0x5de744 of _0x538f5e)this['_handleSessionAdd'](_0x57fb1c,_0x5de744);}['unregister'](_0x582abe){if(!this['_registeredSessions']['has'](_0x582abe))throw new _0x51025b('sessions-unregister-not-exist',null,{'channelId':_0x582abe});const _0xc5cfb7=this['_registeredSessions']['get'](_0x582abe);this['stopListening'](_0xc5cfb7);for(const _0x25db45 of _0xc5cfb7)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x582abe,_0x25db45);this['_registeredSessions']['delete'](_0x582abe),this['channelSessions']['delete'](_0x582abe),this['channelConnectedUsers']['delete'](_0x582abe);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x2a148a){for(const _0x1618fb of this['channelSessions']['values']())for(const _0x260c78 of _0x1618fb)if(_0x260c78['id']===_0x2a148a)return _0x260c78['user'];}['getUserSessions'](_0x3c8778,_0x2ceb8f){const _0x3092f6=_0x2ceb8f?[this['channelSessions']['get'](_0x2ceb8f)]:this['channelSessions']['values'](),_0x21932f=new Set();for(const _0x784f9f of _0x3092f6)for(const _0x40432c of _0x784f9f)_0x40432c['user']['id']===_0x3c8778['id']&&_0x21932f['add'](_0x40432c['id']);return _0x21932f;}['getUserRole'](_0x2c790e){for(const _0x2fb8a5 of this['channelSessions']['values']())for(const _0x5df11a of _0x2fb8a5)if(_0x5df11a['user']===_0x2c790e)return _0x5df11a['role'];}['_handleSessionAdd'](_0x3e1b47,_0x28fdd6){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x524011=_0x28fdd6['user'],_0x1abfa1=this['_users']['getUser'](_0x524011['id'])||this['_createUser'](_0x524011),_0x34e539=Object['assign']({},_0x28fdd6,{'user':_0x1abfa1});if(this['channelSessions']['get'](_0x3e1b47)['add'](_0x34e539),!_0x524011['hiddenInPresenceList']){const _0x3a102a=this['channelConnectedUsers']['get'](_0x3e1b47);_0x3a102a['has'](_0x1abfa1['id'])||_0x3a102a['add'](_0x1abfa1),this['allConnectedUsers']['has'](_0x1abfa1['id'])||_0x524011['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x1abfa1,_0x1abfa1['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3e1b47,{'channelId':_0x3e1b47,'session':_0x34e539});}['_handleSessionRemove'](_0x1398e1,_0x1ce1a0){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4b9b91=this['channelConnectedUsers']['get'](_0x1398e1),_0x20ed51=_0x1ce1a0['user'];_0x20ed51['id']&&(this['channelSessions']['get'](_0x1398e1)['remove'](_0x1ce1a0['id']),_0x4b9b91['has'](_0x20ed51['id'])&&!this['getUserSessions'](_0x20ed51,_0x1398e1)['size']&&_0x4b9b91['remove'](_0x20ed51['id']),this['allConnectedUsers']['get'](_0x20ed51['id'])&&!this['getUserSessions'](_0x20ed51)['size']&&this['allConnectedUsers']['remove'](_0x20ed51['id']));}['_createUser'](_0x55e1e6,_0x25f10c){const _0x286bcb=this['_users']['addUser'](_0x55e1e6);return _0x25f10c&&this['_users']['defineMe'](_0x55e1e6['id']),_0x286bcb['orderNumber']=this['_uniqueUsersCount']++,_0x286bcb;}}class B extends _0x36b438{['_domEmitter']=new(_0x2c9eaa())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4bc2e8=this['editor'],_0xbf3bf6=_0x4bc2e8['plugins']['get'](i);_0x4bc2e8['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x33bb45,{writer:_0x2948c0})=>function(_0xe3e1c2,_0x1883e7,_0x1a9c20,_0x496e12){const _0x3fc493=_0xe3e1c2['markerName']['split'](':')[0x2],_0x164d8b=_0x1a9c20['getUserBySessionId'](_0x3fc493);if(!_0x164d8b||_0x3fc493===_0x1a9c20['mySessionId'])return;if(!_0x496e12['model']['schema']['checkChild'](_0xe3e1c2['markerRange']['start'],'$text'))return;const _0x5db3ab={'class':'ck-user__marker\x20'+_0x164d8b['color']['getMarkerClass'](),'data-name':_0x164d8b['name'],'data-session-id':_0x3fc493},_0xcec918=_0x496e12['model']['markers']['get'](_0xe3e1c2['markerName']),_0x58722c=_0xcec918['getStart'](),_0x5861b3=_0x58722c['nodeAfter'],_0x313fe6=_0x496e12['model']['schema'];if(_0x5861b3&&_0x313fe6['isObject'](_0x5861b3)&&_0x313fe6['isInline'](_0x5861b3)&&!_0x496e12['model']['markers']['get']('user:range:'+_0x3fc493)['getRange']()['isCollapsed'])return;const _0x5d0dd5=_0x58722c['parent'];return _0x496e12['model']['schema']['isLimit'](_0x5d0dd5)&&!_0x496e12['model']['hasContent'](_0x5d0dd5)&&(_0x5db3ab['contenteditable']=!0x1),function(_0x5897e9,_0x1e7d68,_0x57cbaa){const _0x4b8d7e=_0x5897e9['createUIElement']('span',_0x1e7d68);return _0x5897e9['setCustomProperty']('userPositionMarker',!0x0,_0x4b8d7e),_0x4b8d7e['render']=function(_0x469d7e){const _0x345482=this['toDomElement'](_0x469d7e),_0x3367e5=document['createElement']('span');return _0x3367e5['classList']['add']('ck-user__marker-tooltip'),_0x3367e5['setAttribute']('contenteditable','false'),_0x3367e5['setAttribute']('spellcheck','false'),_0x3367e5['textContent']=_0x57cbaa['name'],_0x345482['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3367e5['outerHTML']+'⁠',_0x345482['addEventListener']('mouseenter',()=>{_0x345482['classList']['add']('ck-user__marker_hovered');}),_0x345482['addEventListener']('mouseleave',()=>{_0x345482['classList']['remove']('ck-user__marker_hovered');}),_0x345482;},_0x4b8d7e['isSimilar']=function(_0x5f341f){return!(!this['getCustomProperty']('userPositionMarker')||!_0x5f341f['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x5f341f['getAttribute']('data-session-id'));},_0x4b8d7e;}(_0x1883e7,_0x5db3ab,_0x164d8b);}(_0x33bb45,_0x2948c0,_0xbf3bf6,_0x4bc2e8)}),_0x4bc2e8['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3be1e4=>function(_0x106ab1,_0x348087){const _0x5e7a01=_0x106ab1['markerName']['split'](':')[0x2];if(_0x5e7a01===_0x348087['mySessionId'])return null;const _0x4dcfb6=_0x348087['getUserBySessionId'](_0x5e7a01);if(!_0x4dcfb6)return{'id':_0x5e7a01,'classes':[]};return{'id':_0x5e7a01,'classes':['ck-user__selection',_0x4dcfb6['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5e7a01},'priority':0x7d0+_0x4dcfb6['orderNumber']};}(_0x3be1e4,_0xbf3bf6)}),function(_0x3fc749){const _0x125c48=_0x3fc749['model'],_0x3e1e87=new Map(),_0x518e9a=_0x3fc749['plugins']['get'](i);_0x125c48['markers']['on']('update:user:range',(_0x3311ed,_0x227b08,_0x1ec1f4,_0x1831cf)=>{if(!_0x1831cf&&_0x3e1e87['get'](_0x227b08['name']))return _0x3e1e87['get'](_0x227b08['name'])['detach'](),void _0x3e1e87['delete'](_0x227b08['name']);const _0x31ef45=_0x227b08['name']['split'](':')[0x2];if(_0x31ef45===_0x518e9a['mySessionId'])return;const _0x4ec68f='user:position:'+_0x31ef45;_0x125c48['markers']['has'](_0x4ec68f)&&_0x3fc749['editing']['reconvertMarker'](_0x4ec68f),_0x227b08['on']('change:range',(_0x3ce21f,_0x476efc,_0x27f0dd)=>{if('$graveyard'!=_0x476efc['root']['rootName']&&'$graveyard'==_0x227b08['getRange']()['root']['rootName']&&!_0x3e1e87['has'](_0x227b08['name'])){const _0x4b2cc2=_0x125c48['schema']['getNearestSelectionRange'](_0x27f0dd['deletionPosition']);if(_0x4b2cc2){const _0x63378d=_0x350dc0['fromRange'](_0x4b2cc2);_0x3e1e87['set'](_0x227b08['name'],_0x63378d),_0x63378d['on']('change:range',(_0x1f8a89,_0x1feecb,_0x4f4a3)=>{if('$graveyard'==_0x63378d['root']['rootName']){const _0x43c9af=_0x125c48['schema']['getNearestSelectionRange'](_0x4f4a3['deletionPosition']);_0x43c9af?(_0x63378d['start']=_0x43c9af['start'],_0x63378d['end']=_0x43c9af['end']):(_0x3e1e87['delete'](_0x227b08['name']),_0x63378d['detach']());}});}}});}),_0x125c48['document']['on']('change',()=>{_0x3e1e87['size']>0x0&&_0x125c48['enqueueChange']({'isUndoable':!0x1},_0x53bb93=>{for(const [_0x291066,_0x420de3]of _0x3e1e87)'$graveyard'==_0x125c48['markers']['get'](_0x291066)['getRange']()['root']['rootName']&&(K(_0x291066['split'](':')[0x2],_0x420de3['toRange'](),_0x125c48,_0x53bb93),_0x420de3['detach']());_0x3e1e87['clear']();});});}(_0x4bc2e8),this['_domEmitter']['listenTo'](_0x462adf['document'],'keydown',(_0xce9dc3,{key:_0x11dead})=>{'Escape'===_0x11dead&&function(_0x1ecb6c){_0x1ecb6c['editing']['view']['change'](_0x375abf=>{for(const _0x2f7831 of _0x1ecb6c['model']['markers']){if(!_0x2f7831['name']['startsWith']('user:position'))continue;const _0x2afa96=_0x1ecb6c['editing']['mapper']['markerNameToElements'](_0x2f7831['name']);if(_0x2afa96){for(const _0x416ea9 of _0x2afa96)_0x375abf['removeClass']('ck-user__marker_hovered',_0x416ea9);}}});}(_0x4bc2e8);},{'useCapture':!0x0});}['afterInit'](){const _0x5798d2=this['editor'],_0x2cf479=_0x5798d2['commands']['get']('undo');_0x2cf479&&_0x5798d2['model']['on']('applyOperation',(_0x336990,_0x5a95b7)=>{const _0x350144=_0x5a95b7[0x0];if(!_0x350144['isDocumentOperation'])return;if('marker'!=_0x350144['type']||!_0x350144['name']['startsWith']('user:'))return;const _0x35e6d8=_0x350144['batch'];_0x2cf479['_createdBatches']['has'](_0x35e6d8)&&(_0x350144['newRange']=_0x350144['oldRange']?_0x5798d2['model']['createRange'](_0x350144['oldRange']['start'],_0x350144['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x14646a=this['editor'],_0x361bc4=_0x14646a['model']['document'],_0x3203c1=_0x14646a['plugins']['get'](i);_0x14646a['model']['enqueueChange']({'isUndoable':!0x1},_0x1bf94d=>{const _0x39ec6a='user:range:'+_0x3203c1['mySessionId'],_0xa3d9ca='user:position:'+_0x3203c1['mySessionId'],_0x4e46bf=_0x14646a['model']['markers']['has'](_0x39ec6a);_0x14646a['editing']['view']['hasDomSelection']?K(_0x3203c1['mySessionId'],_0x361bc4['selection']['getFirstRange'](),_0x14646a['model'],_0x1bf94d):_0x4e46bf&&(_0x1bf94d['removeMarker'](_0x39ec6a),_0x1bf94d['removeMarker'](_0xa3d9ca));});}}function K(_0x3adc83,_0x18bf11,_0x5be1ea,_0x33a08a){const _0x5876e2='user:range:'+_0x3adc83,_0x8524fc='user:position:'+_0x3adc83,_0xc42644=_0x18bf11['getContainedElement']();let _0x1ec888=_0x18bf11['start'];if(_0xc42644&&_0xc42644['is']('element','tableCell')){const _0x4be3d9=function(_0x7aaa0c,_0x5174c3){for(const _0x24d977 of _0x7aaa0c['getPositions']())if(_0x5174c3['schema']['checkChild'](_0x24d977,'$text'))return _0x24d977;}(_0x18bf11,_0x5be1ea);_0x4be3d9&&(_0x1ec888=_0x4be3d9,_0x18bf11=_0x33a08a['createRange'](_0x1ec888));}const _0x13f8be=_0x33a08a['createRange'](_0x1ec888);_0x5be1ea['markers']['has'](_0x5876e2)?(_0x33a08a['updateMarker'](_0x5876e2,{'range':_0x18bf11}),_0x33a08a['updateMarker'](_0x8524fc,{'range':_0x13f8be})):(_0x33a08a['addMarker'](_0x5876e2,{'range':_0x18bf11,'usingOperation':!0x0}),_0x33a08a['addMarker'](_0x8524fc,{'range':_0x13f8be,'usingOperation':!0x0}));}function x(_0x50845f,_0x2ded3e,_0x1d4e36){const _0x3c1638=_0x50845f['t'],t=_0x50845f['t'];switch(_0x2ded3e){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 _0x3c1638({'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'},_0x1d4e36);default:return'';}}let H=0x1;class l extends _0x36b438{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x94b8a0)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,B,_0x3fc2d4,_0x170830,_0x36b4];}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 _0x3a16e4=this['serverHistory']['getOperations']();for(let _0x1130a9=_0x3a16e4['length']-0x1;_0x1130a9>=0x0;_0x1130a9--){const _0x467dff=_0x3a16e4[_0x1130a9];if(!this['_disconnectionOperations']['has'](_0x467dff))return _0x467dff['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x23d291){if(super(_0x23d291),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5b2133(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x51025b('collaboration-missing-channelid',this);const _0xe60650=_0x23d291['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0xe60650,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xfac916(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new F(this['_disconnectionOperations']);}['init'](){const _0x111ece=this['editor'],_0x39e8cd=_0x111ece['plugins']['get'](_0x170830),_0x2902dc=_0x111ece['plugins']['get'](n);this['listenTo'](_0x39e8cd,'getOperationAuthor',(_0x292519,_0x2dedd7)=>{const _0xc5858e=_0x2dedd7[0x0];_0xc5858e['_authorId']&&(_0x292519['return']=_0x39e8cd['getUser'](_0xc5858e['_authorId']),_0x292519['stop']()),null===_0xc5858e['_authorId']&&(_0x292519['return']=null,_0x292519['stop']());},{'priority':'high'}),this['listenTo'](_0x111ece['model']['document']['selection'],'change:range',(_0x169b3a,_0x42944b)=>{_0x42944b['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x111ece['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x111ece['model']['on']('applyOperation',(_0x3cad56,_0x12a6ff)=>{const _0x58bfc9=_0x12a6ff[0x0];_0x58bfc9['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x58bfc9),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2902dc,'state',this,'_hasSynchronizationProblem',(_0x5b7691,_0x393343)=>'connected'===_0x5b7691&&!_0x393343),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x111ece['disableReadOnlyMode']('rtc-offline'):_0x111ece['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x111ece['disableReadOnlyMode']('rtc-offline'):_0x111ece['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4444dd=this['editor']['plugins']['get'](i),_0x593ed4=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x4444dd['unregister'](this['_channelId']);const _0x30913a=await this['_service']['reconnect'](_0x593ed4['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30913a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x182a42=await this['_service']['getConnectedSessions']();_0x4444dd['register'](this['_channelId'],_0x182a42),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x585809){if(function(_0x107b06){return'404'===_0x107b06['code'];}(_0x585809)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4e68bd){return'409'===_0x4e68bd['code'];}(_0x585809)){const _0x388fa8=x(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'](_0x388fa8);}else{if(!(_0x585809 instanceof V))throw _0x585809;this['_handleReconnectionError']();}}}}['destroy'](){const _0x266c7d=this['editor']['plugins']['get'](n),_0x34415b=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x34415b['channelSessions']['has'](this['_channelId'])&&_0x34415b['unregister'](this['_channelId']),_0x266c7d['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x340ce2){if(this['sessionId']!==_0x340ce2['sessionId']&&this['_lastSyncedOperationId']!==_0x340ce2['lastOperationId'])throw new V();return this['sessionId']=_0x340ce2['sessionId'],this['_handleServerResponse']([],{..._0x340ce2,'wereChangesApplied':!0x1,'data':_0x340ce2['data']},'reconnect');}async['_connectService'](_0x3d7af7,_0x2a504c=!0x1){const {connection:_0x3bbbed}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x3bbbed,this['_channelId'])['then'](_0x3996fe=>this['_initSessionsHandling'](_0x3996fe))['catch'](_0x4beca9=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x4beca9);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x28bf6c,_0x131318)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x131318);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x28ceb2=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3d7af7);this['_isPendingUpdate']=!0x0;const _0x5e84f1=await this['_service']['connect'](_0x3bbbed,this['_compressOperations'](_0x3d7af7),_0x28ceb2);if(this['sessionId']=_0x5e84f1['sessionId'],_0x2a504c){if(!_0x5e84f1['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x5e84f1['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x3d7af7,_0x5e84f1,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x5e84f1,_0x3d7af7);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5afde1=this['editor']['plugins']['get'](i),_0x47677b=this['editor']['plugins']['get'](B),_0x49a1f1=_0x5afde1['channelSessions']['get'](this['_channelId']);_0x49a1f1&&_0x49a1f1['length']>0x1?_0x47677b['createUserMarkerOperations']():this['listenTo'](_0x5afde1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5afde1['channelSessions']['get'](this['_channelId'])['length']&&_0x47677b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3b2771,_0xe4d96d,_0x552d6d,_0x16b704){if(!this['_isPendingUpdate']&&this['_document']['version']==_0xe4d96d){const _0x106eea=this['_decompressOperations'](_0x552d6d,_0x16b704);await this['_fetchMissingUsers'](_0x106eea),this['_handleExternalOperations'](_0x106eea,_0xe4d96d,_0x552d6d['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x22c564}=this['editor'];let _0x12ed29;try{_0x12ed29=await this['_service']['getDocumentDetails']();}catch{const _0x3caea4=x(_0x22c564,'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'](_0x3caea4);}const _0x224cb4=_0x12ed29['currentDocumentSession']||_0x12ed29['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x224cb4['lastOperationId']){const _0x42dbfd=x(_0x22c564,'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'](_0x42dbfd);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x15f4d9){const _0x448597=this['editor']['plugins']['get'](i);this['listenTo'](_0x448597,'sessionAdd:'+this['_channelId'],(_0x2aa941,{session:_0x1a4e54})=>{if(_0x1a4e54['id']===_0x448597['mySessionId']){_0x2aa941['off']();const _0x88b804=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x299aed=_0x1a4e54['permissions'];_0x88b804&&_0x88b804['isEnabled']&&(_0x299aed=_0x299aed['filter'](_0x272af3=>'document:write'!==_0x272af3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x299aed,this['_channelId']);}}),_0x448597['register'](this['_channelId'],_0x15f4d9);}['_initThrowingOnDataSet'](){const _0x262bf5=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x49eb5b)=>{if(!_0x49eb5b[_0x49eb5b['length']-0x1]['suppressErrorInCollaboration'])throw new _0x51025b('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x262bf5['apply'](this['editor']['data'],_0x49eb5b);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x9c213c,[_0x1a3389])=>{if(this['_document']['version'])throw new _0x51025b('realtimecollaborationclient-init-document-already-initialized',this);_0x9c213c['stop'](),this['_setPendingAction']();const _0x41849c=this['editor']['config']['get']('rootsAttributes'),_0x5db744=this['_getOperationsFromInitData'](_0x1a3389,_0x41849c);0x0==_0x5db744['length']&&_0x5db744['push'](new _0xcdcc1c(0x0)),_0x9c213c['return']=this['_connectService'](_0x5db744)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x11aa46=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x11aa46))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x52c3ab,[_0x44ddd7,_0x30f8f0])=>{_0x52c3ab['stop']();const _0x4a7d67=this['editor']['model']['document']['getRoot'](_0x44ddd7);if(!this['_knownRootNames']['has'](_0x44ddd7)){const _0x51153f=_0x30f8f0&&_0x30f8f0['data']?_0x30f8f0['data']:'',_0x45a726=_0x30f8f0&&_0x30f8f0['attributes']?_0x30f8f0['attributes']:{};await this['_loadRoot'](_0x44ddd7,_0x51153f,_0x45a726);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x4a7d67['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x4a7d67);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x183a69){const _0x418fb4=this['editor']['plugins']['get'](_0x170830),{connection:_0x54dbeb}=this['editor']['plugins']['get'](n),_0xc0126b=new Set();for(const _0x26980c of _0x183a69){const _0x194d2d=_0x26980c['_authorId'];_0x194d2d&&!_0x418fb4['getUser'](_0x194d2d)&&_0xc0126b['add'](_0x194d2d);}if(0x0===_0xc0126b['size'])return;const _0x414977=await ut['getMany'](_0x54dbeb,Array['from'](_0xc0126b));for(const _0x85fe10 of _0x414977)_0x418fb4['getUser'](_0x85fe10['id'])||_0x418fb4['addUser'](_0x85fe10);}['_getOperationsFromInitData'](_0x1182e7,_0x75d276={}){const _0x5358b6=this['editor']['model'],_0x22937d=[];let _0x1e2b09=0x0;const _0x42edbc='string'==typeof _0x1182e7?{'main':_0x1182e7}:_0x1182e7;for(const _0x4f508c of Object['keys'](_0x42edbc)){if(!this['_document']['roots']['has'](_0x4f508c))throw new _0x51025b('realtimecollaborationclient-init-non-existent-root',this);const _0xe6bd5f=this['editor']['data']['parse'](_0x42edbc[_0x4f508c]),_0x685ec6=this['_document']['getRoot'](_0x4f508c),_0x2955d3=new _0x3991a5(_0x5358b6['createPositionAt'](_0x685ec6,0x0),_0xe6bd5f,_0x1e2b09++);_0x22937d['push'](_0x2955d3);for(const [_0x2568c8,_0x5d7b78]of _0xe6bd5f['markers']){const _0x5c4aae=_0x5358b6['createRange'](_0x5358b6['createPositionFromPath'](_0x685ec6,_0x5d7b78['start']['path']['slice']()),_0x5358b6['createPositionFromPath'](_0x685ec6,_0x5d7b78['end']['path']['slice']())),_0x27549c=new _0x560cbe(_0x2568c8,null,_0x5c4aae,_0x5358b6['markers'],!0x0,_0x1e2b09++);_0x22937d['push'](_0x27549c);}}if(_0x75d276)for(const [_0x502d4a,_0x533605]of Object['entries'](_0x75d276)){const _0x5a11a9=_0x5358b6['document']['getRoot'](_0x502d4a);if(!_0x5a11a9)throw new _0x51025b('multi-root-editor-root-attributes-no-root',null);for(const [_0x410098,_0x1b9855]of Object['entries'](_0x533605))if(null!==_0x1b9855){const _0x3f1c92=new _0x379ae3(_0x5a11a9,_0x410098,null,_0x1b9855,_0x1e2b09++);_0x22937d['push'](_0x3f1c92);}}return _0x22937d;}async['_loadRoot'](_0x2f8a0b,_0x1aa791,_0x5cc496){this['_getOperationsFromInitData']({[_0x2f8a0b]:_0x1aa791},{[_0x2f8a0b]:_0x5cc496})['forEach']((_0xd6bfe1,_0x3faff6)=>{_0xd6bfe1['baseVersion']=this['_document']['version']+_0x3faff6,_0xd6bfe1['_isInit']=!0x0,this['_saveOperationInBuffer'](_0xd6bfe1);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x163a81,_0xbfbca5){let _0xb5ed4c;this['_offset']=_0x163a81['offset'];const _0xc58633=_0x163a81['wereChangesApplied']&&!_0x163a81['initData'],_0x19f91b=_0xc58633?0x0:_0x163a81['data']['baseVersion'];if(_0xbfbca5['forEach'](_0x48e47b=>{_0x48e47b['_isInit']=!0x0,_0x48e47b['createdAt']=_0x163a81['sessionCreatedAt'],_0x48e47b['_authorId']=null;}),_0xc58633)_0xb5ed4c=_0xbfbca5,this['_applyOperationsSet'](_0xb5ed4c,_0xc58633);else{if(_0x163a81['initData']){const _0x5499fb=this['_getOperationsFromInitData'](_0x163a81['initData']);this['_document']['history']['version']=-_0x5499fb['length'],_0x5499fb['forEach'](_0x53c1ee=>{_0x53c1ee['baseVersion']-=_0x5499fb['length'],_0x53c1ee['createdAt']=_0x163a81['sessionCreatedAt'],_0x53c1ee['_isInit']=!0x0,_0x53c1ee['_authorId']=null;}),this['_applyOperationsSet'](_0x5499fb,!0x0),this['serverHistory']['version']=-_0x5499fb['length']+this['_offset'],this['_updateServerHistory'](_0x5499fb);}this['_document']['history']['version']=_0x19f91b,_0xb5ed4c=this['_decompressOperations'](_0x163a81['data'],_0x163a81['metadata']),await this['_fetchMissingUsers'](_0xb5ed4c),this['_applyOperationsSet'](_0xb5ed4c,_0xc58633);}_0x163a81['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xb5ed4c,_0x163a81['lastOperationId']),this['_lastSyncedOperationId']=_0x163a81['lastOperationId']),this['serverHistory']['version']=_0x19f91b+this['_offset'],this['_updateServerHistory'](_0xb5ed4c),_0xbfbca5['filter'](_0x5214c0=>{const _0xdac913=this['_getAffectedRoot'](_0x5214c0);return _0xdac913&&!this['_knownRootNames']['has'](_0xdac913);})['forEach']((_0x3ef683,_0x1f8187)=>{_0x3ef683['baseVersion']=this['_document']['version']+_0x1f8187,this['_saveOperationInBuffer'](_0x3ef683);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x56d670,_0x4d174f){const _0x33db67=_0x4d174f&&_0x4d174f['message'];if(_0x33db67&&_0x33db67['startsWith']('realtimecollaborationclient'))throw _0x4d174f;const _0x25eaf3=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x25eaf3['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x51025b(_0x56d670,this['editor'],_0x33db67?{'originalError':_0x33db67}:void 0x0);}['_saveOperationInBuffer'](_0x17c2c2){this['_knownOperations']['has'](_0x17c2c2)||(this['_knownOperations']['add'](_0x17c2c2),this['_bufferedOperations']['push'](_0x17c2c2),this['_pendingAction']||'marker'==_0x17c2c2['type']&&!_0x17c2c2['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0xac85ce=!0x1){!_0xac85ce&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x26768a=>{_0x26768a&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x50b598=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x22c791){return _0x22c791['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x22c791['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x22c791['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x50b598)||this['_crash'](_0x50b598['message'],_0x50b598);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xe68dd3=>{this['on']('change:_isPendingUpdate',()=>{_0xe68dd3();});});}async['_sendBufferedOperations'](){const _0x53a009=this['editor']['plugins']['get'](B);if(this['_shouldSendSelectionUpdate']()&&(_0x53a009['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1ba846=[...this['_bufferedOperations']];for(const _0x2bd036 of _0x1ba846)_0x2bd036['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2bd036);const _0x345829=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1ba846),_0xed60f7=H++,_0x56705a=this['_compressOperations'](_0x1ba846),_0xfff07f=await this['_service']['sendOperations'](_0x56705a,_0x56705a['baseVersion'],_0x345829);try{return await this['_handleServerResponse'](_0x1ba846,_0xfff07f,_0xed60f7);}catch(_0x5a3ffb){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5a3ffb);}}async['_handleServerResponse'](_0xd85c73,_0x35a797,_0x3ccb24){if('error'in _0x35a797)throw _0x35a797['error'];let _0x1169a1=!0x1;if(_0x35a797['wereChangesApplied']){_0x35a797['lastOperationId']&&(this['_lastSyncedOperationId']=_0x35a797['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5a74c7=>!_0xd85c73['includes'](_0x5a74c7));for(const _0x22fee9 of _0xd85c73)_0x22fee9['createdAt']='lastOperationAcceptedAt'in _0x35a797&&_0x35a797['lastOperationAcceptedAt']||void 0x0;W(_0xd85c73,_0x35a797['version']-_0xd85c73['length']),this['_updateServerHistory'](_0xd85c73);const _0x5b77ec=_0xd85c73['filter'](_0x46734d=>{if(!_0x46734d['_isInit'])return!0x1;const _0x433677=this['_getAffectedRoot'](_0x46734d);return _0x433677&&!this['_knownRootNames']['has'](_0x433677);});W(_0x5b77ec,this['_document']['version']),this['_applyOperationsSet'](_0x5b77ec),_0x1169a1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x3f1aab=this['_decompressOperations'](_0x35a797['data'],_0x35a797['metadata'])['filter'](_0x43f528=>_0x43f528['baseVersion']>=this['_lastServerVersion']);_0x3f1aab['forEach'](_0xae3580=>this['_addKnownRoot'](_0xae3580)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2132a7=>!_0x2132a7['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2132a7))),this['_bufferedOperations']['length']&&W(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x3f1aab),_0x1169a1=this['_handleExternalOperations'](_0x3f1aab,_0x35a797['version'],_0x35a797['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1169a1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5c2c73,_0x2c8b91,_0x3a3d74){try{const _0x42e40f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xb36c16,operationsB:_0x1757f4,originalOperations:_0x403cfb}=_0x3e1311(_0x5c2c73,this['_bufferedOperations'],_0x42e40f);W(_0xb36c16,this['_document']['version']),W(_0x1757f4,_0x2c8b91);for(const _0x3f1fa1 of _0xb36c16){const _0x3047ec=_0x403cfb['get'](_0x3f1fa1);_0x3f1fa1['_authorId']=_0x3047ec?_0x3047ec['_authorId']:null;}_0x3a3d74&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5c2c73,_0x3a3d74),this['_lastSyncedOperationId']=_0x3a3d74),this['_bufferedOperations']=[..._0x1757f4],this['_applyOperationsSet'](_0xb36c16),this['_updateServerHistory'](_0x5c2c73);}catch(_0x398a8e){return console['error'](_0x398a8e),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3c9e4a,_0x47d650=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x20dbfc=>{for(const _0x4ab904 of _0x3c9e4a)this['_knownOperations']['add'](_0x4ab904),this['_addKnownRoot'](_0x4ab904),_0x20dbfc['batch']['addOperation'](_0x4ab904),this['editor']['model']['applyOperation'](_0x4ab904);});}['_addKnownRoot'](_0x1fa64d){const _0x4a8a2f=this['_getAffectedRoot'](_0x1fa64d);_0x4a8a2f&&this['_knownRootNames']['add'](_0x4a8a2f);}['_getAffectedRoot'](_0x148e84){let _0x511ed3,_0x4f8ae1;switch(_0x148e84['type']){case'insert':_0x511ed3=_0x148e84['position']['root'];break;case'marker':if(_0x4f8ae1=_0x148e84['newRange'],!_0x4f8ae1)return null;_0x511ed3=_0x4f8ae1['root'];break;case'addRootAttribute':_0x511ed3=_0x148e84['root'];break;case'addRoot':_0x511ed3=_0x148e84['affectedSelectable'];break;case'move':_0x511ed3=_0x148e84['targetPosition']['root'];break;default:return null;}return _0x511ed3['rootName'];}['_updateServerHistory'](_0x51a825){_0x51a825['forEach'](_0x117498=>{const _0x408098=_0x117498['clone']();_0x408098['_authorId']=_0x117498['_authorId'],_0x408098['_isInit']=!!_0x117498['_isInit'],_0x408098['createdAt']=_0x117498['createdAt'],_0x408098['baseVersion']+=this['_offset'],_0x117498['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x408098),this['serverHistory']['addOperation'](_0x408098);});}['_handleReconnectionError'](_0x2e0a11){const _0x15aa3f=this['editor']['plugins']['get']('Notification'),_0x2c9917=this['editor']['locale'];_0x2e0a11||(_0x2e0a11=x(_0x2c9917,'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.')),_0x15aa3f['showWarning'](_0x2e0a11,{'title':x(_0x2c9917,'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'](_0x3fc2d4)['add'](x(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3fc2d4)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x310be8){const _0x5e755d=_0x310be8['map'](_0x129535=>_0x129535['toJSON']());return this['_compressor']['compress'](_0x5e755d);}['_decompressOperations'](_0x33dfb5,_0xa865bd){return this['_compressor']['decompress'](_0x33dfb5)['map']((_0x9f6040,_0x9d543a)=>{const _0xf3d67e='init'==_0xa865bd[_0x9d543a]['type'];if('InsertOperation'==_0x9f6040['__className']){const _0x1f1d9d=_0x9f6040['position']['root'];!this['_document']['getRoot'](_0x1f1d9d)&&(this['_document']['createRoot']('$root',_0x1f1d9d)['_isAttached']=!0x1);}const _0x44435a=_0x15c984['fromJSON'](_0x9f6040,this['_document']);return _0x44435a['wasUndone']=_0x9f6040['wasUndone'],_0x44435a['_isInit']=_0xf3d67e,_0x44435a['_authorId']=_0xf3d67e?null:_0xa865bd[_0x9d543a]['userId'],_0x44435a['_isDisconnection']='cs:removeUser'===_0xa865bd[_0x9d543a]['type'],_0x44435a['createdAt']=_0xa865bd[_0x9d543a]['createdAt'],_0x44435a;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x24b8ad=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x24b8ad&&_0x24b8ad['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class V extends Error{}function W(_0x1bd5e9,_0x8e9eda){for(const _0x4a2ab1 of _0x1bd5e9)_0x4a2ab1['baseVersion']=_0x8e9eda++;}class F{['_ignoredOperations'];['_operationToId'];constructor(_0xfc5c62){this['_ignoredOperations']=_0xfc5c62,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xe69736){let _0x1a9004=_0xe69736['length'];for(;_0x1a9004--;){const _0x286e8e=_0xe69736[_0x1a9004];if(!this['_ignoredOperations']['has'](_0x286e8e)){if(!this['_operationToId']['has'](_0x286e8e)){const _0x4b8a06=_0x1acdad()['slice'](0x1,0x12);this['_operationToId']['set'](_0x286e8e,_0x4b8a06);}return this['_operationToId']['get'](_0x286e8e);}}}['setIdForTheLastOperation'](_0x2343d4,_0x128ba7){if(!_0x128ba7)return;let _0x3f17a8=_0x2343d4['length'];for(;_0x3f17a8--;){const _0x2b92b2=_0x2343d4[_0x3f17a8];this['_ignoredOperations']['has'](_0x2b92b2)||this['_operationToId']['set'](_0x2b92b2,_0x128ba7);}}}class a extends _0x36b438{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x43cd90{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x950533)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x170830];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x373c84){super(_0x373c84),this['_services']=new Map();}async['init'](){const _0xb798c3=this['context'],_0x2b52a8=_0xb798c3['plugins']['get']('CommentsRepository');if(_0xb798c3['plugins']['get'](n)['addToReconnectionStack'](this),_0x2b52a8['adapter']={'addCommentThread':async({channelId:_0x4a9728,threadId:_0x5d6ea4,comments:_0x3513fa,resolvedAt:_0x597639,resolvedBy:_0x4bc811,context:_0x45848a,attributes:_0x337132})=>{const _0xc28046=await this['_getService'](_0x4a9728)['addCommentThread']({'commentThreadId':_0x5d6ea4,'comments':_0x3513fa['map'](_0x331917=>function(_0x394b48,_0x132d80,_0x3d1e94){return{'commentThreadId':_0x3d1e94,'commentId':_0x394b48['commentId'],'userId':_0x394b48['authorId'],'content':_0x394b48['content'],'documentId':_0x132d80,'createdAt':_0x394b48['createdAt'],'attributes':_0x394b48['attributes']||{}};}(_0x331917,_0x4a9728,_0x5d6ea4)),'resolvedAt':_0x597639,'resolvedBy':_0x4bc811,'context':_0x45848a,'attributes':_0x337132})['catch'](ft);return{'threadId':_0xc28046['commentThreadId'],'comments':_0xc28046['comments']};},'getCommentThread':async({channelId:_0x1cc569,threadId:_0x3ca3c4})=>{const _0x324d67=await this['_getService'](_0x1cc569)['getCommentThread'](_0x3ca3c4)['catch'](v)['catch'](ft);return _0x324d67?_0x324d67['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x324d67]),{'threadId':_0x324d67['commentThreadId'],'comments':_0x324d67['comments']['map'](p),'context':_0x324d67['context'],'resolvedAt':_0x324d67['resolvedAt'],'resolvedBy':_0x324d67['resolvedBy'],'attributes':_0x324d67['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3eecfb,threadId:_0x3fb14e,context:_0xab1e55,unlinkedAt:_0x43addd,attributes:_0x359bae})=>this['_getService'](_0x3eecfb)['updateCommentThread']({'commentThreadId':_0x3fb14e,'context':_0xab1e55,'attributes':_0x359bae,'unlinkedAt':_0x43addd})['catch'](v)['catch'](ft),'resolveCommentThread':async({channelId:_0x44455a,threadId:_0x273a59})=>{const _0x4c823e=await this['_getService'](_0x44455a)['resolveCommentThread'](_0x273a59)['catch'](v)['catch'](ft);return{'threadId':_0x4c823e['commentThreadId'],'resolvedAt':_0x4c823e['resolvedAt'],'resolvedBy':_0x4c823e['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4aebba,threadId:_0xeb4cfe})=>this['_getService'](_0x4aebba)['reopenCommentThread'](_0xeb4cfe)['catch'](v)['catch'](ft),'removeCommentThread':({channelId:_0x41c166,threadId:_0x47d909})=>this['_getService'](_0x41c166)['removeCommentThread'](_0x47d909)['catch'](v)['catch'](ft),'addComment':({channelId:_0x14b354,threadId:_0x2ecea3,commentId:_0x1df97c,content:_0x233268,attributes:_0x364b6e})=>this['_getService'](_0x14b354)['addComment'](_0x2ecea3,_0x1df97c,_0x233268,_0x364b6e)['catch'](ft),'updateComment':({channelId:_0x49ed9a,threadId:_0x26ee6f,commentId:_0x38138f,content:_0x57f69f,attributes:_0x1c0e85})=>this['_getService'](_0x49ed9a)['updateComment'](_0x26ee6f,_0x38138f,_0x57f69f,_0x1c0e85)['catch'](v)['catch'](ft),'removeComment':({channelId:_0x1a1f08,threadId:_0x112711,commentId:_0x3cdc2f})=>this['_getService'](_0x1a1f08)['removeComment'](_0x112711,_0x3cdc2f)['catch'](v)['catch'](ft)},_0xb798c3 instanceof _0xbec918){const _0x399d11=_0xb798c3['config']['get']('collaboration.channelId'),_0x597b65=_0xb798c3['plugins']['get'](i);await this['_setUpService'](_0x399d11);const _0x1911bd=await this['_services']['get'](_0x399d11)['getConnectedSessions']();this['listenTo'](_0x597b65,'sessionAdd:'+_0x399d11,(_0x31bf22,{session:_0x66b30})=>{_0x66b30['id']===_0x597b65['mySessionId']&&(_0x31bf22['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x66b30['permissions'],_0x399d11));}),_0x597b65['register'](_0x399d11,_0x1911bd);}}async['_setUpService'](_0x3d7758){if(this['_services']['has'](_0x3d7758))throw new _0x51025b('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3d7758});const _0x261fda=this['context']['plugins']['get']('CommentsRepository'),_0x1a043a=new s['CommentsService'](_0x3d7758);this['_services']['set'](_0x3d7758,_0x1a043a),this['listenTo'](_0x1a043a,'commentThreadAdded',(_0x5010ea,_0x3b5ad4)=>{const {commentThreadId:_0x212da0,documentId:_0x3c1c05,context:_0x2ad2af,attributes:_0x3783ea,resolvedAt:_0x4fb2d6,resolvedBy:_0x5f73b2,comments:_0x31d69e}=_0x3b5ad4;_0x261fda['getCommentThread'](_0x212da0)||_0x261fda['addCommentThread']({'threadId':_0x212da0,'channelId':_0x3c1c05,'comments':_0x31d69e?_0x31d69e['map'](p):[],'context':_0x2ad2af,'attributes':_0x3783ea,'resolvedAt':_0x4fb2d6,'resolvedBy':_0x5f73b2,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a043a,'commentThreadUpdated',(_0x4e6492,{commentThreadId:_0x137c93,documentId:_0x4c1caf,context:_0x3e1abd,unlinkedAt:_0x298b05,attributes:_0x3a70fc})=>{_0x261fda['getCommentThread'](_0x137c93)&&_0x261fda['updateCommentThread']({'threadId':_0x137c93,'channelId':_0x4c1caf,'context':_0x3e1abd,'unlinkedAt':_0x298b05,'attributes':_0x3a70fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a043a,'commentThreadResolved',(_0x1b30aa,{commentThreadId:_0x1bd3fd,resolvedBy:_0x26fda1,resolvedAt:_0x53838d})=>{const _0xe2f2cd=_0x261fda['getCommentThread'](_0x1bd3fd);_0xe2f2cd&&_0xe2f2cd['resolve']({'resolvedBy':_0x26fda1,'resolvedAt':_0x53838d,'isFromAdapter':!0x0});}),this['listenTo'](_0x1a043a,'commentThreadReopened',(_0x3ec68b,{commentThreadId:_0x11008c})=>{const _0x362050=_0x261fda['getCommentThread'](_0x11008c);_0x362050&&_0x362050['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1a043a,'commentThreadRemoved',(_0x3eada3,{commentThreadId:_0x1de03f})=>{const _0x59a62a=_0x261fda['getCommentThread'](_0x1de03f);_0x59a62a&&_0x59a62a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1a043a,'commentAdded',(_0x5dc631,_0x381e26)=>{const _0x7f5ea6=_0x381e26['commentThreadId'],_0x56d568=_0x261fda['getCommentThread'](_0x7f5ea6);_0x56d568&&_0x56d568['addComment']({...p(_0x381e26),'isFromAdapter':!0x0});}),this['listenTo'](_0x1a043a,'commentUpdated',(_0xa31e72,{commentThreadId:_0x527721,commentId:_0x453df2,content:_0x40966d,attributes:_0x4cec31})=>{const _0x7e4da=_0x261fda['getCommentThread'](_0x527721);if(_0x7e4da){const _0x1aeec8=_0x7e4da['getComment'](_0x453df2);_0x1aeec8&&_0x1aeec8['update']({'content':_0x40966d,'attributes':_0x4cec31,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1a043a,'commentRemoved',(_0x40d4a0,{commentThreadId:_0x5dc6c6,commentId:_0x4bcfd8})=>{const _0x5f0932=_0x261fda['getCommentThread'](_0x5dc6c6);if(_0x5f0932){const _0x43089b=_0x5f0932['getComment'](_0x4bcfd8);_0x43089b&&_0x43089b['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3d7758);}['destroy'](){if(this['context']instanceof _0xbec918){const _0x256cc0=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x256cc0);}}['_terminateService'](_0x7c9fe1){if(!this['_services']['has'](_0x7c9fe1))throw new _0x51025b('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x7c9fe1});this['_getService'](_0x7c9fe1)['disconnect'](),this['_services']['delete'](_0x7c9fe1);}async['reconnect'](){for(const _0x54f987 of this['_services']['keys']())await this['_connectService'](_0x54f987);if(this['context']instanceof _0xbec918){const _0x2f686f=this['context']['config']['get']('collaboration.channelId'),_0x32626e=this['context']['plugins']['get'](i);_0x32626e['unregister'](_0x2f686f);const _0x528b30=await this['_services']['get'](_0x2f686f)['getConnectedSessions']();_0x32626e['register'](_0x2f686f,_0x528b30);}}async['_connectService'](_0x23e431){const {connection:_0x594308}=this['context']['plugins']['get'](n),_0x5038b0=this['context']['plugins']['get']('CommentsRepository'),_0x3db67c=this['_services']['get'](_0x23e431),_0x115aa0=await _0x3db67c['connect'](_0x594308);await this['_fetchMissingUsersForThreads'](_0x115aa0);const _0x53a4a9=new Set(Array['from'](_0x5038b0['getCommentThreads']({'channelId':_0x23e431}),_0x1073db=>_0x1073db['id']));for(const _0xc5f589 of _0x115aa0)_0xc5f589['deletedAt']||_0x53a4a9['delete'](_0xc5f589['commentThreadId']);for(const _0xef06e1 of _0x53a4a9)_0x5038b0['getCommentThread'](_0xef06e1)['remove']({'isFromAdapter':!0x0});for(const _0x484f03 of _0x115aa0){let _0x1dfa51=_0x5038b0['getCommentThread'](_0x484f03['commentThreadId']);const {commentThreadId:_0x5d3312,context:_0x53a297,attributes:_0x24e062,resolvedBy:_0x7e2a35,resolvedAt:_0x5aeb58,unlinkedAt:_0x43d5e0,deletedAt:_0x15af31}=_0x484f03;if(_0x15af31)continue;_0x1dfa51||(_0x1dfa51=_0x5038b0['addCommentThread']({'channelId':_0x23e431,'threadId':_0x5d3312,'context':_0x53a297,'attributes':_0x24e062||{},'resolvedBy':_0x7e2a35,'resolvedAt':_0x5aeb58,'unlinkedAt':_0x43d5e0,'isFromAdapter':!0x0}));const _0x1be3b6=new Set(Array['from'](_0x1dfa51['comments'],_0x1968a6=>_0x1968a6['id']));for(const _0x10e507 of _0x484f03['comments'])_0x1be3b6['delete'](_0x10e507['commentId']);for(const _0x709a76 of _0x1be3b6)_0x1dfa51['getComment'](_0x709a76)['remove']({'isFromAdapter':!0x0});for(const _0x7b50cd of _0x484f03['comments']){const _0x28700e=_0x1dfa51['getComment'](_0x7b50cd['commentId']);_0x28700e?_0x28700e['content']!==_0x7b50cd['content']&&_0x28700e['update']({'content':_0x7b50cd['content'],'isFromAdapter':!0x0}):_0x1dfa51['addComment'](Object['assign'](p(_0x7b50cd),{'isFromAdapter':!0x0}));}}}['_getService'](_0x38a01b){if(!this['_services']['has'](_0x38a01b))throw new _0x51025b('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x38a01b});return this['_services']['get'](_0x38a01b);}async['_fetchMissingUsersForThreads'](_0x428409){const _0x43ae29=this['context']['plugins']['get'](_0x170830),{connection:_0x1591f9}=this['context']['plugins']['get'](n),_0x706be1=new Set();for(const {resolvedBy:_0x4b519f,comments:_0x1dc293}of _0x428409){_0x4b519f&&!_0x43ae29['getUser'](_0x4b519f)&&_0x706be1['add'](_0x4b519f);for(const {userId:_0xe5b8d7}of _0x1dc293)_0x43ae29['getUser'](_0xe5b8d7)||_0x706be1['add'](_0xe5b8d7);}if(0x0===_0x706be1['size'])return;const _0x1eda3e=await ut['getMany'](_0x1591f9,Array['from'](_0x706be1));for(const _0x59e991 of _0x1eda3e)_0x43ae29['getUser'](_0x59e991['id'])||_0x43ae29['addUser'](_0x59e991);}}async function v(_0x4dee09){if('404'!==_0x4dee09['code'])throw _0x4dee09;}function ft(_0x36f676){if((_0x5cf6fa=_0x36f676)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x5cf6fa['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5cf6fa['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x5cf6fa;throw _0x36f676;}function p(_0x44a2ce){return{'threadId':_0x44a2ce['commentThreadId'],'commentId':_0x44a2ce['commentId'],'content':_0x44a2ce['content'],'createdAt':_0x44a2ce['createdAt'],'authorId':_0x44a2ce['userId'],'attributes':_0x44a2ce['attributes']||{}};}class m extends _0x36b438{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x7f9f70)());['_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(_0x65e6ef){super(_0x65e6ef);const _0x69c7a7=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x69c7a7);}['init'](){const _0x4b2f2f=this['editor']['plugins']['get'](n),_0x150ee3=this['editor']['plugins']['get']('TrackChangesEditing');return _0x150ee3['adapter']={'getSuggestion':async _0xa4f8cf=>{await this['_waitForServiceReady']();const _0x1baf00=await this['_trackChangesService']['get'](_0xa4f8cf)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x1baf00]),_0x1baf00;},'addSuggestion':async({id:_0x5cc2fc,type:_0x9c7ff9,data:_0x268d9d,originalSuggestionId:_0x59cd9c,attributes:_0x2a781d})=>{await this['_waitForServiceReady']();const _0x307cbc={'id':_0x5cc2fc,'type':_0x9c7ff9,'data':_0x268d9d,'originalSuggestionId':_0x59cd9c,'attributes':_0x2a781d},_0x4963cf=await this['_trackChangesService']['add'](_0x5cc2fc,_0x9c7ff9,_0x268d9d,_0x59cd9c,_0x2a781d)['catch'](_0x147fca=>{if(mt(_0x147fca))return new Promise(_0x56b182=>{this['_bufferedRequests']['set'](_0x5cc2fc,{'resolve':_0x56b182,'suggestionData':_0x307cbc});});throw _0x147fca;});return this['_bufferedRequests']['delete'](_0x5cc2fc),_0x4963cf;},'updateSuggestion':async(_0x48c1fa,_0x46e714)=>{if(await this['_waitForServiceReady'](),'open'!==_0x46e714['state'])return this['_trackChangesService']['update'](_0x48c1fa,_0x46e714)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x324688,_0x5d5065)=>{_0x150ee3['hasSuggestion'](_0x5d5065['id'])&&(_0x150ee3['getSuggestion'](_0x5d5065['id'])['attributes']=_0x5d5065['attributes']);}),this['_trackChangesService']['connect'](_0x4b2f2f['connection'])['then'](_0x165e1a=>(_0x4b2f2f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x165e1a)['then'](()=>{for(const _0xa7390a of _0x165e1a){_0x150ee3['addSuggestionData'](_0xa7390a)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2262b0=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xc1439a}=this['editor']['plugins']['get'](n),_0x3f24e5=await this['_trackChangesService']['connect'](_0xc1439a);await this['_fetchMissingUsersForThreads'](_0x3f24e5);for(const {suggestionData:_0xd88cc2,resolve:_0x3ac7d1}of this['_bufferedRequests']['values']()){let _0x11b5e6=_0x3f24e5['find'](_0x42f9ee=>_0x42f9ee['id']===_0xd88cc2['id']);_0x11b5e6||(_0x11b5e6=await this['_trackChangesService']['add'](_0xd88cc2['id'],_0xd88cc2['type'],_0xd88cc2['data'],_0xd88cc2['originalSuggestionId'])),_0x3ac7d1(_0x11b5e6);}for(const _0x31919d of _0x3f24e5)_0x2262b0['hasSuggestion'](_0x31919d['id'])||_0x2262b0['addSuggestionData'](_0x31919d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0xa1a9eb=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3e9bdf=>{_0x3e9bdf['off'](),_0xa1a9eb();});});}async['_fetchMissingUsersForThreads'](_0x52bbaf){const _0x24c99e=this['editor']['plugins']['get'](_0x170830),{connection:_0x833525}=this['editor']['plugins']['get'](n),_0x18ed36=new Set();for(const {authorId:_0x402903}of _0x52bbaf)_0x24c99e['getUser'](_0x402903)||_0x18ed36['add'](_0x402903);if(0x0===_0x18ed36['size'])return;const _0x57845a=await ut['getMany'](_0x833525,Array['from'](_0x18ed36));for(const _0x527671 of _0x57845a)_0x24c99e['getUser'](_0x527671['id'])||_0x24c99e['addUser'](_0x527671);}}function A(_0x4131ec){if(mt(_0x4131ec))return new Promise(()=>{});throw _0x4131ec;}function mt(_0xaea23f){return _0xaea23f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xaea23f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x36b438{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 _0x1b217b=this['editor']['plugins']['get'](n),_0x7294e=this['editor']['plugins']['get']('CommentsEditing'),_0x5c9fe4=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x1b217b,'change:state',(_0x88f1bf,_0x226606,_0x17c23d)=>{_0x7294e['isThreadsLoadingPaused']='connected'!==_0x17c23d;});}),this['listenTo'](_0x1b217b,'change:state',(_0x8feb28,_0x39f6a6,_0x2f38f6)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x2f38f6);}),_0x5c9fe4['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class pt extends _0x36b438{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 _0x36b438{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x44c054)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x170830];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x7f63be){super(_0x7f63be);const _0x527512=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x527512);}async['init'](){const _0x219f5f=this['editor']['plugins']['get'](l),_0x5381fa=_0x219f5f['serverHistory'],_0x325182=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x5381fa,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x219f5f['sessionId']});const _0x5b0e04=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x13918e=await _0x1d7963['isBundleUploaded'](_0x325182['connection'],_0x5b0e04);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x40901f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x40901f)),'updateRevisions':async _0xb0bf3e=>{await this['_waitForServiceReady']();const _0x511a00=this['_revisionTracker']['currentRevision'];if(_0x13918e&&0x1===_0xb0bf3e['length']&&_0xb0bf3e[0x0]['id']===_0x511a00['id'])return _0xb0bf3e;for(const _0x6b4046 of _0xb0bf3e)_0x6b4046['id']===_0x511a00['id']&&(_0x6b4046['isEmptyCurrent']=_0x6b4046['fromVersion']===_0x6b4046['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xb0bf3e,this['_lastRequestId'])['then'](_0x526d93=>(this['_lastRequestId']=_0x526d93,_0xb0bf3e))['catch'](_0x1b632a=>{if(b(_0x1b632a)||'400'===_0x1b632a['code']&&void 0x0!==_0x1b632a['data']['wrongRequestId']){for(const _0x5937e2 of _0xb0bf3e){!this['_revisionTracker']['repository']['getRevision'](_0x5937e2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5937e2['id'],_0x5937e2,!0x1);}if(b(_0x1b632a))throw _0x1b632a;return _0xb0bf3e;}throw _0x1b632a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x51e567,{revisionsData:_0x2f48c0,requestId:_0x35f497})=>{Math['max'](..._0x2f48c0['map'](_0x3f2ef8=>_0x3f2ef8['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2f48c0,_0x35f497);}):this['_handleRevisionsUpdate'](_0x2f48c0,_0x35f497);});const {revisions:_0x32f379,requestId:_0x6814e}=await this['_revisionHistoryService']['connect'](_0x325182['connection']);_0x325182['addToReconnectionStack'](this),this['_lastRequestId']=_0x6814e,await this['_fetchMissingUsers'](_0x32f379);for(const _0xaa5ff4 of _0x32f379)this['_revisionTracker']['addRevisionData'](_0xaa5ff4);this['listenTo'](_0x219f5f,'change:_isConnected',(_0x9fc804,_0x22af2a,_0x4c7075)=>{_0x4c7075&&(this['_oldOffset']=_0x219f5f['_offset'],_0x9fc804['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x325182,'state',_0x2e7f35=>_0x2e7f35===_0x71fa89['CONNECTED']);}async['reconnect'](){const _0x215b79=this['editor']['plugins']['get'](n),_0x52bd49=this['editor']['plugins']['get'](l),_0x1612a1=async()=>{const _0x39edc6=this['_revisionTracker']['currentRevision'],_0x280cab=_0x39edc6['id'],_0x22c0e7=_0x280cab!==_0x52bd49['sessionId'];if(_0x22c0e7){const _0x16a845=_0x52bd49['_offset']-this['_oldOffset'],_0x3cc95e=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x39edc6['toVersion']+_0x16a845!==_0x3cc95e){const _0x19ea9a=_0x39edc6['fromVersion']+_0x16a845,_0x39c08d=this['editor']['plugins']['get'](_0x170830),_0x1085f3=this['_revisionTracker']['buildRevisionData']({'revision':_0x39edc6,'from':_0x19ea9a,'to':_0x3cc95e});_0x1085f3['id']=_0x39edc6['id'];const _0x3c00f7=_0x1085f3['authorsIds']['map'](_0x1a0cc2=>_0x39c08d['getUser'](_0x1a0cc2));_0x39edc6['_update']({..._0x1085f3,'authors':_0x3c00f7},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x39edc6['id'],_0x1085f3,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3cc95e,(_0x39edc6['toVersion']===_0x39edc6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x280cab)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x280cab),this['_revisionTracker']['_createCurrentRevision'](_0x3cc95e));}const {revisions:_0x50a806,requestId:_0x2d93fa}=await this['_revisionHistoryService']['reconnect'](_0x215b79['connection'],this['_lastRequestId']);_0x22c0e7&&_0x50a806['length']>0x0?_0x52bd49['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x50a806),this['_handleRevisionsUpdate'](_0x50a806,_0x2d93fa),this['_revisionTracker']['sendBufferedUpdates']());};return _0x52bd49['_isConnected']?_0x1612a1():new Promise((_0x38ba9f,_0x4f681c)=>{_0x52bd49['once']('change:_isConnected',()=>{_0x1612a1()['then'](_0x38ba9f)['catch'](_0x4f681c);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2b4418=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x74626d=>{_0x74626d['off'](),_0x2b4418();});});}['_getLatestVersionFromServerOperations'](){const _0x269a48=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1a403c of _0x269a48)if('marker'!==_0x1a403c['type']||_0x1a403c['affectsData'])return _0x1a403c['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1d9a2b=this['editor']['plugins']['get'](l);return new Promise(_0x54f88d=>{_0x1d9a2b['_isPendingUpdate']?_0x1d9a2b['once']('change:_isPendingUpdate',()=>{_0x54f88d(this['_getLatestVersionFromServerOperations']());}):_0x54f88d(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3a7842,_0x5131b0){const _0x224004=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5131b0;for(const _0x3a448d of _0x3a7842){const _0x217ffe=_0x224004['getRevision'](_0x3a448d['id']);if(_0x217ffe){if((_0x3a448d['fromVersion']||_0x3a448d['toVersion'])&&(_0x3a448d['diffData']=null),_0x217ffe===this['_revisionTracker']['currentRevision']){const _0x2586ce=Math['max'](_0x217ffe['toVersion'],_0x3a448d['toVersion']),_0x29679a=Math['max'](_0x217ffe['fromVersion'],_0x3a448d['fromVersion']);let _0x552a57;_0x217ffe['toVersion']===_0x3a448d['toVersion']&&_0x217ffe['fromVersion']===_0x3a448d['fromVersion']?(_0x552a57=!0x0,this['_preventResendingRevisionData'](_0x3a448d)):_0x3a448d['toVersion']===_0x2586ce&&_0x3a448d['fromVersion']===_0x29679a?_0x552a57=!0x1:(_0x217ffe['toVersion']===_0x2586ce&&_0x217ffe['fromVersion']===_0x29679a||this['_fixRevision']({'revision':_0x217ffe,'from':_0x29679a,'to':_0x2586ce}),_0x552a57=!0x0),_0x552a57&&(delete _0x3a448d['fromVersion'],delete _0x3a448d['toVersion'],delete _0x3a448d['diffData'],delete _0x3a448d['createdAt'],delete _0x3a448d['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x3a448d),this['_preventResendingRevisionData'](_0x3a448d);}else this['_revisionTracker']['addRevisionData'](_0x3a448d);}const _0x14eec9=_0x224004['getRevisions']();_0x14eec9['reverse']();for(let _0x36f858=0x0;_0x36f858<_0x14eec9['length']-0x1;_0x36f858++){const _0x4a219d=_0x14eec9[_0x36f858],_0x459fa6=_0x14eec9[_0x36f858+0x1];if(_0x4a219d['fromVersion']<_0x459fa6['toVersion']){const _0x1ca010=_0x459fa6['toVersion'],_0x1a9898=Math['max'](_0x1ca010,_0x4a219d['toVersion']);this['_fixRevision']({'revision':_0x4a219d,'from':_0x1ca010,'to':_0x1a9898});}}}['_fixRevision']({revision:_0x3dd7fa,from:_0x3878f8,to:_0x20d696}={}){const _0x5a0957=this['editor']['plugins']['get'](_0x170830),_0x1e48c6=this['_revisionTracker']['buildRevisionData']({'revision':_0x3dd7fa,'from':_0x3878f8,'to':_0x20d696});_0x1e48c6['authors']=_0x1e48c6['authorsIds']['map'](_0xcd76f2=>_0x5a0957['getUser'](_0xcd76f2)),_0x3dd7fa['_update'](_0x1e48c6);}['_preventResendingRevisionData'](_0x2a9e10){const _0x34bcae={};_0x34bcae['id']=_0x2a9e10['id'];for(const _0x155ad1 of Object['keys'](_0x2a9e10))'id'!==_0x155ad1&&(_0x34bcae[_0x155ad1]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x34bcae['id'],_0x34bcae,!0x0);}async['_fetchMissingUsers'](_0x21e2e7){const _0x262e37=this['editor']['plugins']['get'](_0x170830),{connection:_0x1e9a83}=this['editor']['plugins']['get'](n),_0x3eadfa=new Set();for(const _0x56c7aa of _0x21e2e7){for(const _0x29ee0a of _0x56c7aa['authorsIds'])_0xc5c774(_0x29ee0a);_0x56c7aa['creatorId']&&_0xc5c774(_0x56c7aa['creatorId']);}if(0x0===_0x3eadfa['size'])return;const _0x56a753=await ut['getMany'](_0x1e9a83,Array['from'](_0x3eadfa));for(const _0x37d169 of _0x56a753)_0x262e37['getUser'](_0x37d169['id'])||_0x262e37['addUser'](_0x37d169);function _0xc5c774(_0x43b93b){_0x262e37['getUser'](_0x43b93b)||_0x3eadfa['add'](_0x43b93b);}}}function b(_0x15a572){return _0x15a572['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x15a572['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x15a572['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x36b438{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class st extends _0x586628{['_collapseAt'];constructor(_0x336549,_0x1020c3=0x6){super(_0x336549);const _0x5093ec=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1020c3,this['bind']('isHidden')['to'](this,'usersCount',_0x530ab2=>_0x530ab2<_0x1020c3),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5093ec['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':_0x5093ec['to']('usersCount',_0x1d1950=>'+'+(_0x1d1950-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x586628{['items'];['keystrokes'];constructor(_0x3a8f4e){super(_0x3a8f4e);const _0x2251f7=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x523b68(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2251f7['if']('hasPopup'),'aria-expanded':_0x2251f7['to']('isExpanded',_0x9c6509=>this['hasPopup']&&String(_0x9c6509)),'aria-label':_0x2251f7['to']('hasPopup',_0x36efda=>x(_0x3a8f4e,_0x36efda?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2251f7['to']('hasPopup',_0x49319d=>!!_0x49319d&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2251f7['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2251f7['to'](_0x130591=>{const _0x1e8145=_0x130591,_0x250d7e=document['querySelector']('.ck-presence-list__dropdown-list'),_0x45b728=document['querySelector']('.ck-balloon-panel_with-arrow');_0x250d7e?.['contains'](_0x1e8145['relatedTarget'])||_0x45b728?.['contains'](_0x1e8145['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x266a5f,_0x5a101e,_0x1dece2)=>{this['element']&&(_0x1dece2?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 tt extends _0x586628{['counterView'];['inlineListView'];constructor(_0x2cec11,_0x1b589d=0x6){super(_0x2cec11);const _0x369612=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new st(this['locale'],_0x1b589d),this['inlineListView']=new is(_0x2cec11),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x27c01b of this['inlineListView']['items'])_0x27c01b['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',_0x369612['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class it extends _0x586628{['listWrapperView'];constructor(_0x43c95d,_0x21a2f1){super(_0x43c95d);const _0x1671f0=this['bindTemplate'];this['listWrapperView']=new wt(_0x43c95d,_0x21a2f1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':x(_0x43c95d,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x1671f0['to'](_0x3ee4be=>{const _0x4a2b21=_0x3ee4be,_0x3a7565=document['querySelector']('.ck-presence-list__list'),_0x58bcd2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3a7565?.['contains'](_0x4a2b21['relatedTarget'])||_0x58bcd2?.['contains'](_0x4a2b21['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x1477e2{constructor(_0x4e6abc,_0x35aa29){super(_0x4e6abc);const _0x375656=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x35aa29?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x375656['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x375656['to']('role'),'aria-label':_0x375656['to']('ariaLabel'),'aria-labelledby':_0x375656['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x462adf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1a7470=this['element'];_0x1a7470&&(this['_isScrollable']=Math['max'](_0x1a7470['scrollHeight'],_0x1a7470['clientHeight'])>0.8*window['innerHeight']);}}class et extends ct{['userView'];constructor(_0xf5fef8,_0x287c86,_0x5c9d93){super(_0xf5fef8);const _0x110994=this['bindTemplate'];this['userView']=new ot(_0xf5fef8,_0x287c86);const _0x539be6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x287c86['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x287c86['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x287c86['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x5c9d93&&(_0x539be6['tag']='button',_0x539be6['on']={'click':_0x110994['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x539be6);}['focus'](){this['element']['focus']();}}class rt extends _0x586628{['userView'];['markerView'];constructor(_0xe808e1,_0x2d275a,_0x4e982f){super(_0xe808e1);const _0x15a8be=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ot(_0xe808e1,_0x2d275a),this['markerView']=new lt(_0xe808e1,_0x2d275a);const _0x59d4fa=new at(_0xe808e1);_0x59d4fa['template']['tag']='span',_0x59d4fa['text']=_0x2d275a['name'];const _0x3fdcd4={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x15a8be['to']('isFocusable',_0x94d596=>!!_0x94d596&&0x0),'aria-labelledby':_0x59d4fa['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x15a8be['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x15a8be['to']('hasTooltip',_0x1a55b6=>!_0x1a55b6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x59d4fa]};_0x4e982f&&(_0x3fdcd4['tag']='button',_0x3fdcd4['on']={'click':_0x15a8be['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3fdcd4);}}class lt extends _0x586628{constructor(_0x4bcbec,_0x4747da){super(_0x4bcbec),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4747da['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const ht={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x43cd90{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2f8fec){super(_0x2f8fec),this['context']['config']['define']('presenceList',ht);const _0x4ec9d4=_0x2f8fec['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4ec9d4)throw new _0x51025b('presencelist-collapseat-invalid-format',this);if(_0x4ec9d4<0x1)throw new _0x51025b('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x25abf6(),this['balloonPanelView']=new _0x1686b7(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x3b95fd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x3b95fd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x214073,_0x370b67)=>{this['_handleUserAdd'](_0x370b67);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x100e04,_0x217bf4)=>{this['_handleUserRemove'](_0x217bf4);});}['_createView'](){const _0x20e616=this['context'],_0x260d26=new tt(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2a66fc=this['balloonPanelView'];if(!_0x2b1f16(_0x20e616['config']['get']('presenceList.container')))throw new _0x51025b('presencelist-missing-container',this);return _0x260d26['counterView']['bind']('usersCount')['to'](this),_0x260d26['bind']('isCollapsed')['to'](this,'usersCount',_0x2211b8=>{const {collapseAt:_0x11aaa7}=_0x20e616['config']['get']('presenceList'),_0x54182f=_0x2211b8>=_0x11aaa7;if(_0x54182f&&!_0x260d26['inlineListView']['items']['find'](_0x5d1e03=>_0x5d1e03 instanceof st)){const _0x266473=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x266473&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x260d26['inlineListView']['items']['add'](_0x260d26['counterView']);}return _0x54182f||this['hideDropdown'](),_0x54182f;}),_0x260d26['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x50423d=>{const _0x3932ab=_0x20e616['config']['get']('presenceList'),_0x12277c=new rt(_0x20e616['locale'],_0x50423d,!!_0x3932ab['onClick']);return _0x12277c['bind']('hasTooltip')['to'](_0x260d26,'isCollapsed',_0x44df4c=>!_0x44df4c),_0x12277c['bind']('isFocusable')['to'](_0x260d26,'isCollapsed',_0x54b860=>!_0x54b860),_0x3932ab['onClick']&&this['listenTo'](_0x12277c,'execute',()=>{this['view']['isCollapsed']||_0x3932ab['onClick'](_0x50423d,_0x12277c['element']);}),_0x12277c;}),this['listenTo'](_0x260d26['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x260d26['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x260d26['inlineListView']['keystrokes']['set']('Enter',(_0x5157d7,_0x1b0873)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1b0873());}),_0x260d26['render'](),_0x2a66fc['render'](),_0x2171b3({'emitter':_0x260d26,'activator':()=>_0x2a66fc['isVisible'],'contextElements':[_0x2a66fc['element'],_0x260d26['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20e616['config']['get']('presenceList.container')['appendChild'](_0x260d26['element']),this['_bodyCollection']=new _0x37e4eb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x260d26;}['_handleUserAdd'](_0x23e406){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x23e406['isMe'])return;const _0x3d1425=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3d1425-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x2f19d2=_0x23e406['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x23e406,_0x2f19d2);}['_handleUserRemove'](_0x4debd7){this['usersCount']--;const {collapseAt:_0x2ca753}=this['context']['config']['get']('presenceList'),_0x1d3949=this['usersCount']>=_0x2ca753;if(this['currentDisplayedUsers']['get'](_0x4debd7['id']))this['currentDisplayedUsers']['remove'](_0x4debd7['id']);else{if(_0x1d3949&&this['currentDisplayedUsers']['length']+0x1===_0x2ca753-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x1d3949?0x1:0x0)<this['usersCount']){for(const _0x58cf9b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x58cf9b['id'])&&(this['currentDisplayedUsers']['add'](_0x58cf9b,Math['min'](this['currentDisplayedUsers']['length']-(_0x1d3949?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x1d3949?0x1:0x0)===_0x2ca753-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x47ebff=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new it(this['context']['locale'],!!_0x47ebff['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1efb3c}=this['presenceDropdownView'];_0x1efb3c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3a691c=>{if(!_0x47ebff['displayMe']&&_0x3a691c['isMe'])return null;const _0x25c4ef=new et(this['context']['locale'],_0x3a691c,!!_0x47ebff['onClick']);return _0x47ebff['onClick']&&this['listenTo'](_0x25c4ef,'execute',()=>{_0x47ebff['onClick'](_0x3a691c,_0x25c4ef['element']);}),_0x25c4ef;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1efb3c['focus'](),_0x1efb3c['checkIfScrollable']();const _0x377c29=(_0x27f60f,_0x3d9e83)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3d9e83();};_0x1efb3c['keystrokes']['set']('Esc',_0x377c29),_0x1efb3c['keystrokes']['set']('Shift+Tab',_0x377c29),_0x1efb3c['keystrokes']['set']('Tab',(_0x353186,_0x489f59)=>{!function(_0x46162f){const _0x1cd3e0=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2a33ce=>_0x2a33ce+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2fd432=[...document['body']['querySelectorAll'](_0x1cd3e0)]['filter'](_0x422287=>_0x422287===document['activeElement']||_0x422287['offsetWidth']+_0x422287['offsetHeight']>0x0)['sort']((_0x591af5,_0x3e33b5)=>(_0x591af5['tabIndex']||0x0)-(_0x3e33b5['tabIndex']||0x0)),_0x7f861=_0x2fd432['indexOf'](_0x46162f),_0x367287=_0x2fd432[(_0x7f861+0x1)%_0x2fd432['length']];_0x367287&&_0x367287['focus']();}(this['view']['element']),this['hideDropdown'](),_0x489f59();}),_0x1efb3c['focusTracker']['add'](this['view']['element']),_0x1efb3c['focusTracker']['on']('change:isFocused',(_0x39a862,_0x6ea085,_0x4b3421)=>{_0x4b3421||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class vt extends _0x43cd90{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,vt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,pt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};