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

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 _0x3622a5,Plugin as _0x147cd0,PendingActions as _0x1a6203,Context as _0x7aab25}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1e5929,CKEditorError as _0xc89e2a,Collection as _0x15e0cd,global as _0x256274,version as nt,uid as _0x53395f,KeystrokeHandler as _0x37c8ef}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xc0661f,View as _0x189f71,ListView as _0x1ecd86,ListItemView as et,LabelView as it,BalloonPanelView as _0x2f4310,clickOutsideHandler as _0x3491fb,BodyCollection as _0x207d27}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x50bb47,History as _0x50693a,NoOperation as _0x583665,InsertOperation as _0x42acf4,MarkerOperation as _0x186c9c,RootAttributeOperation as _0x1caf87,transformOperationSets as _0x148299,OperationFactory as _0x59ded6}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x46af62,CollaborativeEditingService as _0x1cab8d,User as ct,CommentsService as _0x3be316,TrackChangesService as _0x19956f,RevisionHistoryService as _0x4891a6,EditorService as _0x46d6a6}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1fb28d,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x54ccce}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x489d51}from'es-toolkit/compat';class n extends _0x3622a5{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xc0661f];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x36e8c1){super(_0x36e8c1),this['set']('state',_0x46af62['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1e5929())();}['init'](){const _0x120423=this['context'],_0x3a76a0=_0x120423['plugins']['get']('CloudServices'),_0xdef588=_0x120423['plugins']['get'](_0xc0661f);if(!_0x3a76a0['token'])throw new _0xc89e2a('websocketgateway-missing-token',this);if(!_0x3a76a0['webSocketUrl'])throw new _0xc89e2a('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'](_0x3a76a0['token'],_0x3a76a0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x53ea92=>{if(this['connection']=_0x53ea92,this['bind']('state')['to'](_0x53ea92,'state',this,'_isBrowserOffline',(_0x2d8ec0,_0x1ddbb8)=>('connected'!==_0x2d8ec0&&(this['_shouldPluginsReconnect']=!0x0),_0x1ddbb8||_0x2d8ec0!==_0x46af62['CONNECTED']?_0x46af62['DISCONNECTED']:this['state']==_0x46af62['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x46af62['CONNECTING']):_0x46af62['CONNECTED'])),this['connection']['on']('error',(_0xc3717f,_0x220a74)=>{if('limitExceeded'!==_0x220a74['code'])throw console['error'](_0x220a74),new _0xc89e2a('cloudservices-init',null,{'originalError':_0x220a74});_0xdef588['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'});}),!_0x53ea92['me'])return new Promise(_0x54d687=>_0x53ea92['on']('change:me',_0x54d687));})['catch'](_0x3a2364=>{throw console['error'](_0x3a2364),new _0xc89e2a('cloudservices-init',null,{'originalError':_0x3a2364});});}['addToReconnectionStack'](_0x162f33){if('function'!=typeof _0x162f33['reconnect'])throw new _0xc89e2a('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x162f33))throw new _0xc89e2a('websocketgateway-plugin-already-registered',this,{'name':_0x162f33['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x162f33);}['removeFromReconnectionStack'](_0x281096){this['_reconnectionStack']['delete'](_0x281096);}['isInReconnectionStack'](_0x1b3995){return this['_reconnectionStack']['has'](_0x1b3995);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x835dfd=>_0x835dfd['reconnect']())))['then'](()=>this['state']=_0x46af62['CONNECTED'])['catch'](_0x1d53d8=>{throw console['error'](_0x1d53d8),new _0xc89e2a('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x46af62['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3622a5{['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,_0x1fb28d];}constructor(_0x2e70ef){super(_0x2e70ef),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x15e0cd(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1fb28d);}['init'](){const _0x2b4222=this['context']['plugins']['get'](n);this['listenTo'](_0x2b4222,'change:state',(_0x757eac,_0x248d85,_0x3c0cf0)=>{if('connected'!==_0x3c0cf0)this['channelSessions']['forEach'](_0x4ab53a=>_0x4ab53a['clear']()),this['channelConnectedUsers']['forEach'](_0x162ea8=>_0x162ea8['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x141dda,_0x1f51a7]of this['_registeredSessions'])for(const _0x4b5387 of _0x1f51a7)this['_handleSessionAdd'](_0x141dda,_0x4b5387);}}),this['_createUser'](_0x2b4222['connection']['me'],!0x0);}['register'](_0x51ef24,_0x2561f1){if(this['_registeredSessions']['has'](_0x51ef24))throw new _0xc89e2a('sessions-register-already-registered',null,{'channelId':_0x51ef24});this['_registeredSessions']['set'](_0x51ef24,_0x2561f1),this['channelSessions']['set'](_0x51ef24,new _0x15e0cd()),this['channelConnectedUsers']['set'](_0x51ef24,new _0x15e0cd()),this['listenTo'](_0x2561f1,'add',(_0x3eb5d6,_0x3805a5)=>this['_handleSessionAdd'](_0x51ef24,_0x3805a5)),this['listenTo'](_0x2561f1,'remove',(_0x43a456,_0x2aa8da)=>this['_handleSessionRemove'](_0x51ef24,_0x2aa8da));for(const _0x5a88a9 of _0x2561f1)this['_handleSessionAdd'](_0x51ef24,_0x5a88a9);}['unregister'](_0x3ec87a){if(!this['_registeredSessions']['has'](_0x3ec87a))throw new _0xc89e2a('sessions-unregister-not-exist',null,{'channelId':_0x3ec87a});const _0x1fec2f=this['_registeredSessions']['get'](_0x3ec87a);this['stopListening'](_0x1fec2f);for(const _0x34e3fc of _0x1fec2f)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x3ec87a,_0x34e3fc);this['_registeredSessions']['delete'](_0x3ec87a),this['channelSessions']['delete'](_0x3ec87a),this['channelConnectedUsers']['delete'](_0x3ec87a);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x483906){for(const _0x17331d of this['channelSessions']['values']())for(const _0x370e60 of _0x17331d)if(_0x370e60['id']===_0x483906)return _0x370e60['user'];}['getUserSessions'](_0x2913d3,_0x11ed4f){const _0x4bf38b=_0x11ed4f?[this['channelSessions']['get'](_0x11ed4f)]:this['channelSessions']['values'](),_0xc659bb=new Set();for(const _0x477930 of _0x4bf38b)for(const _0x2629dd of _0x477930)_0x2629dd['user']['id']===_0x2913d3['id']&&_0xc659bb['add'](_0x2629dd['id']);return _0xc659bb;}['getUserRole'](_0x35d8b2){for(const _0x1929d6 of this['channelSessions']['values']())for(const _0x2bcb31 of _0x1929d6)if(_0x2bcb31['user']===_0x35d8b2)return _0x2bcb31['role'];}['_handleSessionAdd'](_0x3984eb,_0x1ef0f5){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xcc5074=_0x1ef0f5['user'],_0x51a460=this['_users']['getUser'](_0xcc5074['id'])||this['_createUser'](_0xcc5074),_0x540e60=Object['assign']({},_0x1ef0f5,{'user':_0x51a460});if(this['channelSessions']['get'](_0x3984eb)['add'](_0x540e60),!_0xcc5074['hiddenInPresenceList']){const _0x3ca036=this['channelConnectedUsers']['get'](_0x3984eb);_0x3ca036['has'](_0x51a460['id'])||_0x3ca036['add'](_0x51a460),this['allConnectedUsers']['has'](_0x51a460['id'])||_0xcc5074['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x51a460,_0x51a460['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3984eb,{'channelId':_0x3984eb,'session':_0x540e60});}['_handleSessionRemove'](_0x118f45,_0x2af5b0){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x545670=this['channelConnectedUsers']['get'](_0x118f45),_0xe850d=_0x2af5b0['user'];_0xe850d['id']&&(this['channelSessions']['get'](_0x118f45)['remove'](_0x2af5b0['id']),_0x545670['has'](_0xe850d['id'])&&!this['getUserSessions'](_0xe850d,_0x118f45)['size']&&_0x545670['remove'](_0xe850d['id']),this['allConnectedUsers']['get'](_0xe850d['id'])&&!this['getUserSessions'](_0xe850d)['size']&&this['allConnectedUsers']['remove'](_0xe850d['id']));}['_createUser'](_0x475fe7,_0x686ea3){const _0x5322ec=this['_users']['addUser'](_0x475fe7);return _0x686ea3&&this['_users']['defineMe'](_0x475fe7['id']),_0x5322ec['orderNumber']=this['_uniqueUsersCount']++,_0x5322ec;}}class $ extends _0x147cd0{['_domEmitter']=new(_0x1e5929())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x32de8b=this['editor'],_0x2a8194=_0x32de8b['plugins']['get'](i);_0x32de8b['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x5b4394,{writer:_0x835cad})=>function(_0x5e492d,_0x5bd811,_0x2e6768,_0x2b0dff){const _0x186b2c=_0x5e492d['markerName']['split'](':')[0x2],_0x5dce97=_0x2e6768['getUserBySessionId'](_0x186b2c);if(!_0x5dce97||_0x186b2c===_0x2e6768['mySessionId'])return;if(!_0x2b0dff['model']['schema']['checkChild'](_0x5e492d['markerRange']['start'],'$text'))return;const _0x3970fa={'class':'ck-user__marker\x20'+_0x5dce97['color']['getMarkerClass'](),'data-name':_0x5dce97['name'],'data-session-id':_0x186b2c},_0x728b61=_0x2b0dff['model']['markers']['get'](_0x5e492d['markerName']),_0x599d3f=_0x728b61['getStart'](),_0xf74631=_0x599d3f['nodeAfter'],_0x21d289=_0x2b0dff['model']['schema'];if(_0xf74631&&_0x21d289['isObject'](_0xf74631)&&_0x21d289['isInline'](_0xf74631)&&!_0x2b0dff['model']['markers']['get']('user:range:'+_0x186b2c)['getRange']()['isCollapsed'])return;const _0x324c90=_0x599d3f['parent'];return _0x2b0dff['model']['schema']['isLimit'](_0x324c90)&&!_0x2b0dff['model']['hasContent'](_0x324c90)&&(_0x3970fa['contenteditable']=!0x1),function(_0x40ad6b,_0x5e425d,_0x5c8b2c){const _0x108f39=_0x40ad6b['createUIElement']('span',_0x5e425d);return _0x40ad6b['setCustomProperty']('userPositionMarker',!0x0,_0x108f39),_0x108f39['render']=function(_0x2f3d9f){const _0x36f924=this['toDomElement'](_0x2f3d9f),_0x5bc38f=document['createElement']('span');return _0x5bc38f['classList']['add']('ck-user__marker-tooltip'),_0x5bc38f['setAttribute']('contenteditable','false'),_0x5bc38f['setAttribute']('spellcheck','false'),_0x5bc38f['textContent']=_0x5c8b2c['name'],_0x36f924['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5bc38f['outerHTML']+'⁠',_0x36f924['addEventListener']('mouseenter',()=>{_0x36f924['classList']['add']('ck-user__marker_hovered');}),_0x36f924['addEventListener']('mouseleave',()=>{_0x36f924['classList']['remove']('ck-user__marker_hovered');}),_0x36f924;},_0x108f39['isSimilar']=function(_0x267f22){return!(!this['getCustomProperty']('userPositionMarker')||!_0x267f22['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x267f22['getAttribute']('data-session-id'));},_0x108f39;}(_0x5bd811,_0x3970fa,_0x5dce97);}(_0x5b4394,_0x835cad,_0x2a8194,_0x32de8b)}),_0x32de8b['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x100f2d=>function(_0x5a77fe,_0x2ed0ea){const _0x1e0c8b=_0x5a77fe['markerName']['split'](':')[0x2];if(_0x1e0c8b===_0x2ed0ea['mySessionId'])return null;const _0x17059f=_0x2ed0ea['getUserBySessionId'](_0x1e0c8b);if(!_0x17059f)return{'id':_0x1e0c8b,'classes':[]};return{'id':_0x1e0c8b,'classes':['ck-user__selection',_0x17059f['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x1e0c8b},'priority':0x7d0+_0x17059f['orderNumber']};}(_0x100f2d,_0x2a8194)}),function(_0x142e53){const _0x298cc3=_0x142e53['model'],_0x2919f6=new Map(),_0x4987f2=_0x142e53['plugins']['get'](i);_0x298cc3['markers']['on']('update:user:range',(_0x4f84e0,_0x40abf2,_0x34ee8f,_0x5f0430)=>{if(!_0x5f0430&&_0x2919f6['get'](_0x40abf2['name']))return _0x2919f6['get'](_0x40abf2['name'])['detach'](),void _0x2919f6['delete'](_0x40abf2['name']);const _0x117067=_0x40abf2['name']['split'](':')[0x2];if(_0x117067===_0x4987f2['mySessionId'])return;const _0x3cfec4='user:position:'+_0x117067;_0x298cc3['markers']['has'](_0x3cfec4)&&_0x142e53['editing']['reconvertMarker'](_0x3cfec4),_0x40abf2['on']('change:range',(_0xdd4e5f,_0x42e8a4,_0x265c0b)=>{if('$graveyard'!=_0x42e8a4['root']['rootName']&&'$graveyard'==_0x40abf2['getRange']()['root']['rootName']&&!_0x2919f6['has'](_0x40abf2['name'])){const _0x46426b=_0x298cc3['schema']['getNearestSelectionRange'](_0x265c0b['deletionPosition']);if(_0x46426b){const _0x54f04c=_0x50bb47['fromRange'](_0x46426b);_0x2919f6['set'](_0x40abf2['name'],_0x54f04c),_0x54f04c['on']('change:range',(_0x29d122,_0x4b0c56,_0x4b481b)=>{if('$graveyard'==_0x54f04c['root']['rootName']){const _0x3ac71e=_0x298cc3['schema']['getNearestSelectionRange'](_0x4b481b['deletionPosition']);_0x3ac71e?(_0x54f04c['start']=_0x3ac71e['start'],_0x54f04c['end']=_0x3ac71e['end']):(_0x2919f6['delete'](_0x40abf2['name']),_0x54f04c['detach']());}});}}});}),_0x298cc3['document']['on']('change',()=>{_0x2919f6['size']>0x0&&_0x298cc3['enqueueChange']({'isUndoable':!0x1},_0x1ff703=>{for(const [_0x47f110,_0x239301]of _0x2919f6)'$graveyard'==_0x298cc3['markers']['get'](_0x47f110)['getRange']()['root']['rootName']&&(te(_0x47f110['split'](':')[0x2],_0x239301['toRange'](),_0x298cc3,_0x1ff703),_0x239301['detach']());_0x2919f6['clear']();});});}(_0x32de8b),this['_domEmitter']['listenTo'](_0x256274['document'],'keydown',(_0x1b8dfa,{key:_0x2f625f})=>{'Escape'===_0x2f625f&&function(_0x18e020){_0x18e020['editing']['view']['change'](_0x40539b=>{for(const _0x47ddd8 of _0x18e020['model']['markers']){if(!_0x47ddd8['name']['startsWith']('user:position'))continue;const _0x5cfde9=_0x18e020['editing']['mapper']['markerNameToElements'](_0x47ddd8['name']);if(_0x5cfde9){for(const _0x46a0af of _0x5cfde9)_0x40539b['removeClass']('ck-user__marker_hovered',_0x46a0af);}}});}(_0x32de8b);},{'useCapture':!0x0});}['afterInit'](){const _0x409e48=this['editor'],_0x2cfe2f=_0x409e48['commands']['get']('undo');_0x2cfe2f&&_0x409e48['model']['on']('applyOperation',(_0x33b3c6,_0x1f0116)=>{const _0x9d417a=_0x1f0116[0x0];if(!_0x9d417a['isDocumentOperation'])return;if('marker'!=_0x9d417a['type']||!_0x9d417a['name']['startsWith']('user:'))return;const _0x403d92=_0x9d417a['batch'];_0x2cfe2f['_createdBatches']['has'](_0x403d92)&&(_0x9d417a['newRange']=_0x9d417a['oldRange']?_0x409e48['model']['createRange'](_0x9d417a['oldRange']['start'],_0x9d417a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x44d21a=this['editor'],_0x334782=_0x44d21a['model']['document'],_0x32d661=_0x44d21a['plugins']['get'](i);_0x44d21a['model']['enqueueChange']({'isUndoable':!0x1},_0x10d6e9=>{const _0x329686='user:range:'+_0x32d661['mySessionId'],_0x2e5280='user:position:'+_0x32d661['mySessionId'],_0x3a50d1=_0x44d21a['model']['markers']['has'](_0x329686);_0x44d21a['editing']['view']['hasDomSelection']?te(_0x32d661['mySessionId'],_0x334782['selection']['getFirstRange'](),_0x44d21a['model'],_0x10d6e9):_0x3a50d1&&(_0x10d6e9['removeMarker'](_0x329686),_0x10d6e9['removeMarker'](_0x2e5280));});}}function te(_0x106759,_0x3d03c2,_0x53bf4e,_0x1613cc){const _0x5e37b6='user:range:'+_0x106759,_0x3934a4='user:position:'+_0x106759,_0x3b25ec=_0x3d03c2['getContainedElement']();let _0x123f8b=_0x3d03c2['start'];if(_0x3b25ec&&_0x3b25ec['is']('element','tableCell')){const _0x22d958=function(_0x144838,_0x4e2e80){for(const _0x572b7a of _0x144838['getPositions']())if(_0x4e2e80['schema']['checkChild'](_0x572b7a,'$text'))return _0x572b7a;}(_0x3d03c2,_0x53bf4e);_0x22d958&&(_0x123f8b=_0x22d958,_0x3d03c2=_0x1613cc['createRange'](_0x123f8b));}const _0x535c76=_0x1613cc['createRange'](_0x123f8b);_0x53bf4e['markers']['has'](_0x5e37b6)?(_0x1613cc['updateMarker'](_0x5e37b6,{'range':_0x3d03c2}),_0x1613cc['updateMarker'](_0x3934a4,{'range':_0x535c76})):(_0x1613cc['addMarker'](_0x5e37b6,{'range':_0x3d03c2,'usingOperation':!0x0}),_0x1613cc['addMarker'](_0x3934a4,{'range':_0x535c76,'usingOperation':!0x0}));}function K(_0xb9a30c,_0x4e0f64,_0x4d09f7){const _0x1d5186=_0xb9a30c['t'],t=_0xb9a30c['t'];switch(_0x4e0f64){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 _0x1d5186({'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'},_0x4d09f7);default:return'';}}let X=0x1;class l extends _0x147cd0{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x1cab8d)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x1a6203,_0x1fb28d,_0xc0661f];}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 _0x4eeaf5=this['serverHistory']['getOperations']();for(let _0x1d6408=_0x4eeaf5['length']-0x1;_0x1d6408>=0x0;_0x1d6408--){const _0x587aed=_0x4eeaf5[_0x1d6408];if(!this['_disconnectionOperations']['has'](_0x587aed))return _0x587aed['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x2395ff){if(super(_0x2395ff),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x50693a(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xc89e2a('collaboration-missing-channelid',this);const _0x6b30aa=_0x2395ff['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x6b30aa,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x54ccce(),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 tt(this['_disconnectionOperations']);}['init'](){const _0x2db1ec=this['editor'],_0x3a6bcc=_0x2db1ec['plugins']['get'](_0x1fb28d),_0x264ab2=_0x2db1ec['plugins']['get'](n);this['listenTo'](_0x3a6bcc,'getOperationAuthor',(_0x5b1bc5,_0x2d7f93)=>{const _0x2652f2=_0x2d7f93[0x0];_0x2652f2['_authorId']&&(_0x5b1bc5['return']=_0x3a6bcc['getUser'](_0x2652f2['_authorId']),_0x5b1bc5['stop']()),null===_0x2652f2['_authorId']&&(_0x5b1bc5['return']=null,_0x5b1bc5['stop']());},{'priority':'high'}),this['listenTo'](_0x2db1ec['model']['document']['selection'],'change:range',(_0xd598c4,_0x19262e)=>{_0x19262e['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x2db1ec['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x2db1ec['model']['on']('applyOperation',(_0x56a5f1,_0x25d0d8)=>{const _0x2529e7=_0x25d0d8[0x0];_0x2529e7['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2529e7),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x264ab2,'state',this,'_hasSynchronizationProblem',(_0x3dc449,_0x2afba5)=>'connected'===_0x3dc449&&!_0x2afba5),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x2db1ec['disableReadOnlyMode']('rtc-offline'):_0x2db1ec['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x2db1ec['disableReadOnlyMode']('rtc-offline'):_0x2db1ec['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x129b85=this['editor']['plugins']['get'](i),_0x4bd673=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x129b85['unregister'](this['_channelId']);const _0x24062b=await this['_service']['reconnect'](_0x4bd673['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x24062b)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1b87c4=await this['_service']['getConnectedSessions']();_0x129b85['register'](this['_channelId'],_0x1b87c4),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x45ef51){if(function(_0x4038bc){return'404'===_0x4038bc['code'];}(_0x45ef51)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x375a76){return'409'===_0x375a76['code'];}(_0x45ef51)){const _0x3745f1=K(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'](_0x3745f1);}else{if(!(_0x45ef51 instanceof Y))throw _0x45ef51;this['_handleReconnectionError']();}}}}['destroy'](){const _0x41cac9=this['editor']['plugins']['get'](n),_0x82bff=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x82bff['channelSessions']['has'](this['_channelId'])&&_0x82bff['unregister'](this['_channelId']),_0x41cac9['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x40681a){if(this['sessionId']!==_0x40681a['sessionId']&&this['_lastSyncedOperationId']!==_0x40681a['lastOperationId'])throw new Y();return this['sessionId']=_0x40681a['sessionId'],this['_handleServerResponse']([],{..._0x40681a,'wereChangesApplied':!0x1,'data':_0x40681a['data']},'reconnect');}async['_connectService'](_0x400db2,_0x3ba517=!0x1){const {connection:_0x1a82d4}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x1a82d4,this['_channelId'])['then'](_0x290567=>this['_initSessionsHandling'](_0x290567))['catch'](_0x10fd7d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x10fd7d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x519465,_0x4f4835)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4f4835);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3ec09d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x400db2);this['_isPendingUpdate']=!0x0;const _0x9940a4=await this['_service']['connect'](_0x1a82d4,this['_compressOperations'](_0x400db2),_0x3ec09d);if(this['sessionId']=_0x9940a4['sessionId'],_0x3ba517){if(!_0x9940a4['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x9940a4['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x400db2,_0x9940a4,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x9940a4,_0x400db2);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x36a405=this['editor']['plugins']['get'](i),_0x48d98e=this['editor']['plugins']['get']($),_0x2b96da=_0x36a405['channelSessions']['get'](this['_channelId']);_0x2b96da&&_0x2b96da['length']>0x1?_0x48d98e['createUserMarkerOperations']():this['listenTo'](_0x36a405,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x36a405['channelSessions']['get'](this['_channelId'])['length']&&_0x48d98e['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x44739a,_0x23defe,_0x512c29,_0x5b1926){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23defe){const _0xce306=this['_decompressOperations'](_0x512c29,_0x5b1926);await this['_fetchMissingUsers'](_0xce306),this['_handleExternalOperations'](_0xce306,_0x23defe,_0x512c29['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x4f69bc}=this['editor'];let _0x506f99;try{_0x506f99=await this['_service']['getDocumentDetails']();}catch{const _0x4327b9=K(_0x4f69bc,'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'](_0x4327b9);}const _0x56d878=_0x506f99['currentDocumentSession']||_0x506f99['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x56d878['lastOperationId']){const _0x4ae8c9=K(_0x4f69bc,'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'](_0x4ae8c9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2c9222){const _0x26a5d1=this['editor']['plugins']['get'](i);this['listenTo'](_0x26a5d1,'sessionAdd:'+this['_channelId'],(_0x29737d,{session:_0x45d53d})=>{if(_0x45d53d['id']===_0x26a5d1['mySessionId']){_0x29737d['off']();const _0x593d2e=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2d407e=_0x45d53d['permissions'];_0x593d2e&&_0x593d2e['isEnabled']&&(_0x2d407e=_0x2d407e['filter'](_0x157f73=>'document:write'!==_0x157f73)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2d407e,this['_channelId']);}}),_0x26a5d1['register'](this['_channelId'],_0x2c9222);}['_initThrowingOnDataSet'](){const _0x50ed41=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xf2a3fb)=>{if(!_0xf2a3fb[_0xf2a3fb['length']-0x1]['suppressErrorInCollaboration'])throw new _0xc89e2a('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x50ed41['apply'](this['editor']['data'],_0xf2a3fb);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2241e5,[_0x1443ad])=>{if(this['_document']['version'])throw new _0xc89e2a('realtimecollaborationclient-init-document-already-initialized',this);_0x2241e5['stop'](),this['_setPendingAction']();const _0x30225f=this['editor']['config']['get']('rootsAttributes'),_0x1f698a=this['_getOperationsFromInitData'](_0x1443ad,_0x30225f);0x0==_0x1f698a['length']&&_0x1f698a['push'](new _0x583665(0x0)),_0x2241e5['return']=this['_connectService'](_0x1f698a)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x55d6ff=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x55d6ff))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2aca31,[_0x564492,_0x332726])=>{_0x2aca31['stop']();const _0x9b9d49=this['editor']['model']['document']['getRoot'](_0x564492);if(!this['_knownRootNames']['has'](_0x564492)){const _0x4af5e2=_0x332726&&_0x332726['data']?_0x332726['data']:'',_0x2da7e9=_0x332726&&_0x332726['attributes']?_0x332726['attributes']:{};await this['_loadRoot'](_0x564492,_0x4af5e2,_0x2da7e9);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x9b9d49['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x9b9d49);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5ae70b){const _0x38ef30=this['editor']['plugins']['get'](_0x1fb28d),{connection:_0x1584da}=this['editor']['plugins']['get'](n),_0x41c891=new Set();for(const _0x1614c3 of _0x5ae70b){const _0x3d8763=_0x1614c3['_authorId'];_0x3d8763&&!_0x38ef30['getUser'](_0x3d8763)&&_0x41c891['add'](_0x3d8763);}if(0x0===_0x41c891['size'])return;const _0xf634db=await ct['getMany'](_0x1584da,Array['from'](_0x41c891));for(const _0x57ea50 of _0xf634db)_0x38ef30['getUser'](_0x57ea50['id'])||_0x38ef30['addUser'](_0x57ea50);}['_getOperationsFromInitData'](_0x20e039,_0x1294e3={}){const _0x219703=this['editor']['model'],_0x73ca36=[];let _0x150497=0x0;const _0xec4e2e='string'==typeof _0x20e039?{'main':_0x20e039}:_0x20e039;for(const _0x378ccb of Object['keys'](_0xec4e2e)){if(!this['_document']['roots']['has'](_0x378ccb))throw new _0xc89e2a('realtimecollaborationclient-init-non-existent-root',this);const _0x1a7051=this['editor']['data']['parse'](_0xec4e2e[_0x378ccb]),_0x376aef=this['_document']['getRoot'](_0x378ccb),_0x4494d0=new _0x42acf4(_0x219703['createPositionAt'](_0x376aef,0x0),_0x1a7051,_0x150497++);_0x73ca36['push'](_0x4494d0);for(const [_0x514d9b,_0x5b891f]of _0x1a7051['markers']){const _0x1b10ac=_0x219703['createRange'](_0x219703['createPositionFromPath'](_0x376aef,_0x5b891f['start']['path']['slice']()),_0x219703['createPositionFromPath'](_0x376aef,_0x5b891f['end']['path']['slice']())),_0x2b5a2f=new _0x186c9c(_0x514d9b,null,_0x1b10ac,_0x219703['markers'],!0x0,_0x150497++);_0x73ca36['push'](_0x2b5a2f);}}if(_0x1294e3)for(const [_0x546f63,_0x597699]of Object['entries'](_0x1294e3)){const _0x509299=_0x219703['document']['getRoot'](_0x546f63);if(!_0x509299)throw new _0xc89e2a('multi-root-editor-root-attributes-no-root',null);for(const [_0x25a81e,_0x57093d]of Object['entries'](_0x597699))if(null!==_0x57093d){const _0x24d2e5=new _0x1caf87(_0x509299,_0x25a81e,null,_0x57093d,_0x150497++);_0x73ca36['push'](_0x24d2e5);}}return _0x73ca36;}async['_loadRoot'](_0x6ffb66,_0x30b1ca,_0x5af030){this['_getOperationsFromInitData']({[_0x6ffb66]:_0x30b1ca},{[_0x6ffb66]:_0x5af030})['forEach']((_0x2a526e,_0x51df1)=>{_0x2a526e['baseVersion']=this['_document']['version']+_0x51df1,_0x2a526e['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2a526e);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x57ccdb,_0x25f674){let _0x207cba;this['_offset']=_0x57ccdb['offset'];const _0x1c62d1=_0x57ccdb['wereChangesApplied']&&!_0x57ccdb['initData'],_0x2bd948=_0x1c62d1?0x0:_0x57ccdb['data']['baseVersion'];if(_0x25f674['forEach'](_0x45c4d1=>{_0x45c4d1['_isInit']=!0x0,_0x45c4d1['createdAt']=_0x57ccdb['sessionCreatedAt'],_0x45c4d1['_authorId']=null;}),_0x1c62d1)_0x207cba=_0x25f674,this['_applyOperationsSet'](_0x207cba,_0x1c62d1);else{if(_0x57ccdb['initData']){const _0x1579ef=this['_getOperationsFromInitData'](_0x57ccdb['initData']);this['_document']['history']['version']=-_0x1579ef['length'],_0x1579ef['forEach'](_0xd6d53f=>{_0xd6d53f['baseVersion']-=_0x1579ef['length'],_0xd6d53f['createdAt']=_0x57ccdb['sessionCreatedAt'],_0xd6d53f['_isInit']=!0x0,_0xd6d53f['_authorId']=null;}),this['_applyOperationsSet'](_0x1579ef,!0x0),this['serverHistory']['version']=-_0x1579ef['length']+this['_offset'],this['_updateServerHistory'](_0x1579ef);}this['_document']['history']['version']=_0x2bd948,_0x207cba=this['_decompressOperations'](_0x57ccdb['data'],_0x57ccdb['metadata']),await this['_fetchMissingUsers'](_0x207cba),this['_applyOperationsSet'](_0x207cba,_0x1c62d1);}_0x57ccdb['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x207cba,_0x57ccdb['lastOperationId']),this['_lastSyncedOperationId']=_0x57ccdb['lastOperationId']),this['serverHistory']['version']=_0x2bd948+this['_offset'],this['_updateServerHistory'](_0x207cba),_0x25f674['filter'](_0x512c8d=>{const _0x5acff6=this['_getAffectedRoot'](_0x512c8d);return _0x5acff6&&!this['_knownRootNames']['has'](_0x5acff6);})['forEach']((_0x58e7ef,_0x56e8f2)=>{_0x58e7ef['baseVersion']=this['_document']['version']+_0x56e8f2,this['_saveOperationInBuffer'](_0x58e7ef);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x106704,_0x679994){const _0x4eb290=_0x679994&&_0x679994['message'];if(_0x4eb290&&_0x4eb290['startsWith']('realtimecollaborationclient'))throw _0x679994;const _0x2eae5d=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x2eae5d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xc89e2a(_0x106704,this['editor'],_0x4eb290?{'originalError':_0x4eb290}:void 0x0);}['_saveOperationInBuffer'](_0x3504eb){this['_knownOperations']['has'](_0x3504eb)||(this['_knownOperations']['add'](_0x3504eb),this['_bufferedOperations']['push'](_0x3504eb),this['_pendingAction']||'marker'==_0x3504eb['type']&&!_0x3504eb['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x346953=!0x1){!_0x346953&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x35090d=>{_0x35090d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x525ed0=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x39859e){return _0x39859e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x39859e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x39859e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x525ed0)||this['_crash'](_0x525ed0['message'],_0x525ed0);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x331ca6=>{this['on']('change:_isPendingUpdate',()=>{_0x331ca6();});});}async['_sendBufferedOperations'](){const _0xca09e7=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0xca09e7['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x560249=[...this['_bufferedOperations']];for(const _0x185f6c of _0x560249)_0x185f6c['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x185f6c);const _0x5ee599=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x560249),_0x3560b9=X++,_0x4202c5=this['_compressOperations'](_0x560249),_0x43bb42=await this['_service']['sendOperations'](_0x4202c5,_0x4202c5['baseVersion'],_0x5ee599);try{return await this['_handleServerResponse'](_0x560249,_0x43bb42,_0x3560b9);}catch(_0x56d235){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x56d235);}}async['_handleServerResponse'](_0x2a6c2b,_0x226408,_0x3710eb){if('error'in _0x226408)throw _0x226408['error'];let _0x391a5f=!0x1;if(_0x226408['wereChangesApplied']){_0x226408['lastOperationId']&&(this['_lastSyncedOperationId']=_0x226408['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3d5e4c=>!_0x2a6c2b['includes'](_0x3d5e4c));for(const _0x230b67 of _0x2a6c2b)_0x230b67['createdAt']='lastOperationAcceptedAt'in _0x226408&&_0x226408['lastOperationAcceptedAt']||void 0x0;Z(_0x2a6c2b,_0x226408['version']-_0x2a6c2b['length']),this['_updateServerHistory'](_0x2a6c2b);const _0x72096d=_0x2a6c2b['filter'](_0x5957cc=>{if(!_0x5957cc['_isInit'])return!0x1;const _0x3ad76b=this['_getAffectedRoot'](_0x5957cc);return _0x3ad76b&&!this['_knownRootNames']['has'](_0x3ad76b);});Z(_0x72096d,this['_document']['version']),this['_applyOperationsSet'](_0x72096d),_0x391a5f=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x24ee4b=this['_decompressOperations'](_0x226408['data'],_0x226408['metadata'])['filter'](_0x2c5ed5=>_0x2c5ed5['baseVersion']>=this['_lastServerVersion']);_0x24ee4b['forEach'](_0x4f6938=>this['_addKnownRoot'](_0x4f6938)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x48e0a1=>!_0x48e0a1['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x48e0a1))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x24ee4b),_0x391a5f=this['_handleExternalOperations'](_0x24ee4b,_0x226408['version'],_0x226408['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x391a5f?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xba01e5,_0x382d96,_0x9f278b){try{const _0x11aa8f={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x15f3de,operationsB:_0x11a56c,originalOperations:_0x4b5760}=_0x148299(_0xba01e5,this['_bufferedOperations'],_0x11aa8f);Z(_0x15f3de,this['_document']['version']),Z(_0x11a56c,_0x382d96);for(const _0x164568 of _0x15f3de){const _0xe481a5=_0x4b5760['get'](_0x164568);_0x164568['_authorId']=_0xe481a5?_0xe481a5['_authorId']:null;}_0x9f278b&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xba01e5,_0x9f278b),this['_lastSyncedOperationId']=_0x9f278b),this['_bufferedOperations']=[..._0x11a56c],this['_applyOperationsSet'](_0x15f3de),this['_updateServerHistory'](_0xba01e5);}catch(_0x278332){return console['error'](_0x278332),!0x1;}return!0x0;}['_applyOperationsSet'](_0x34c0ff,_0x2a3b60=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2d5ffc=>{for(const _0x46981e of _0x34c0ff)this['_knownOperations']['add'](_0x46981e),this['_addKnownRoot'](_0x46981e),_0x2d5ffc['batch']['addOperation'](_0x46981e),this['editor']['model']['applyOperation'](_0x46981e);});}['_addKnownRoot'](_0x23ec46){const _0x152e4e=this['_getAffectedRoot'](_0x23ec46);_0x152e4e&&this['_knownRootNames']['add'](_0x152e4e);}['_getAffectedRoot'](_0x4b0626){let _0x5c13d3,_0x37e6af;switch(_0x4b0626['type']){case'insert':_0x5c13d3=_0x4b0626['position']['root'];break;case'marker':if(_0x37e6af=_0x4b0626['newRange'],!_0x37e6af)return null;_0x5c13d3=_0x37e6af['root'];break;case'addRootAttribute':_0x5c13d3=_0x4b0626['root'];break;case'addRoot':_0x5c13d3=_0x4b0626['affectedSelectable'];break;case'move':_0x5c13d3=_0x4b0626['targetPosition']['root'];break;default:return null;}return _0x5c13d3['rootName'];}['_updateServerHistory'](_0x2862ed){_0x2862ed['forEach'](_0x55b8bc=>{const _0x162a1f=_0x55b8bc['clone']();_0x162a1f['_authorId']=_0x55b8bc['_authorId'],_0x162a1f['_isInit']=!!_0x55b8bc['_isInit'],_0x162a1f['createdAt']=_0x55b8bc['createdAt'],_0x162a1f['baseVersion']+=this['_offset'],_0x55b8bc['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x162a1f),this['serverHistory']['addOperation'](_0x162a1f);});}['_handleReconnectionError'](_0x482f97){const _0x483610=this['editor']['plugins']['get']('Notification'),_0x446dad=this['editor']['locale'];_0x482f97||(_0x482f97=K(_0x446dad,'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.')),_0x483610['showWarning'](_0x482f97,{'title':K(_0x446dad,'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'](_0x1a6203)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x1a6203)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x554ffc){const _0x4e79da=_0x554ffc['map'](_0x518c5d=>_0x518c5d['toJSON']());return this['_compressor']['compress'](_0x4e79da);}['_decompressOperations'](_0x29d4a5,_0x4b4d4f){return this['_compressor']['decompress'](_0x29d4a5)['map']((_0x30be0e,_0x2bea2f)=>{const _0x2c4449='init'==_0x4b4d4f[_0x2bea2f]['type'];if('InsertOperation'==_0x30be0e['__className']){const _0x46ddbe=_0x30be0e['position']['root'];!this['_document']['getRoot'](_0x46ddbe)&&(this['_document']['createRoot']('$root',_0x46ddbe)['_isAttached']=!0x1);}const _0x46f9f9=_0x59ded6['fromJSON'](_0x30be0e,this['_document']);return _0x46f9f9['wasUndone']=_0x30be0e['wasUndone'],_0x46f9f9['_isInit']=_0x2c4449,_0x46f9f9['_authorId']=_0x2c4449?null:_0x4b4d4f[_0x2bea2f]['userId'],_0x46f9f9['_isDisconnection']='cs:removeUser'===_0x4b4d4f[_0x2bea2f]['type'],_0x46f9f9['createdAt']=_0x4b4d4f[_0x2bea2f]['createdAt'],_0x46f9f9;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x336451=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x336451&&_0x336451['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x33d463,_0x2c22d2){for(const _0x4aebf2 of _0x33d463)_0x4aebf2['baseVersion']=_0x2c22d2++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x3a313c){this['_ignoredOperations']=_0x3a313c,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x142967){let _0xfd349f=_0x142967['length'];for(;_0xfd349f--;){const _0x57b4fd=_0x142967[_0xfd349f];if(!this['_ignoredOperations']['has'](_0x57b4fd)){if(!this['_operationToId']['has'](_0x57b4fd)){const _0x232747=_0x53395f()['slice'](0x1,0x12);this['_operationToId']['set'](_0x57b4fd,_0x232747);}return this['_operationToId']['get'](_0x57b4fd);}}}['setIdForTheLastOperation'](_0x1ee5fe,_0x4a9136){if(!_0x4a9136)return;let _0x3a466a=_0x1ee5fe['length'];for(;_0x3a466a--;){const _0x3245be=_0x1ee5fe[_0x3a466a];this['_ignoredOperations']['has'](_0x3245be)||this['_operationToId']['set'](_0x3245be,_0x4a9136);}}}class a extends _0x147cd0{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3622a5{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x3be316)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1fb28d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xac6353){super(_0xac6353),this['_services']=new Map();}async['init'](){const _0x57ef40=this['context'],_0x104a65=_0x57ef40['plugins']['get']('CommentsRepository');if(_0x57ef40['plugins']['get'](n)['addToReconnectionStack'](this),_0x104a65['adapter']={'addCommentThread':async({channelId:_0x5cf238,threadId:_0x1d830c,comments:_0x264211,resolvedAt:_0xde554e,resolvedBy:_0x320445,context:_0x55f52e,attributes:_0x20cb4c})=>{const _0x1230f1=await this['_getService'](_0x5cf238)['addCommentThread']({'commentThreadId':_0x1d830c,'comments':_0x264211['map'](_0x3f3786=>function(_0x30c409,_0x512fce,_0x5d6e1a){return{'commentThreadId':_0x5d6e1a,'commentId':_0x30c409['commentId'],'userId':_0x30c409['authorId'],'content':_0x30c409['content'],'documentId':_0x512fce,'createdAt':_0x30c409['createdAt'],'attributes':_0x30c409['attributes']||{}};}(_0x3f3786,_0x5cf238,_0x1d830c)),'resolvedAt':_0xde554e,'resolvedBy':_0x320445,'context':_0x55f52e,'attributes':_0x20cb4c})['catch'](at);return{'threadId':_0x1230f1['commentThreadId'],'comments':_0x1230f1['comments']};},'getCommentThread':async({channelId:_0x490556,threadId:_0x2fae9d})=>{const _0x1f0d03=await this['_getService'](_0x490556)['getCommentThread'](_0x2fae9d)['catch'](F)['catch'](at);return _0x1f0d03?_0x1f0d03['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1f0d03]),{'threadId':_0x1f0d03['commentThreadId'],'comments':_0x1f0d03['comments']['map'](S),'context':_0x1f0d03['context'],'resolvedAt':_0x1f0d03['resolvedAt'],'resolvedBy':_0x1f0d03['resolvedBy'],'attributes':_0x1f0d03['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x486a4d,threadId:_0x3d9f05,context:_0x164bfb,unlinkedAt:_0x4d84b3,attributes:_0x49be25})=>this['_getService'](_0x486a4d)['updateCommentThread']({'commentThreadId':_0x3d9f05,'context':_0x164bfb,'attributes':_0x49be25,'unlinkedAt':_0x4d84b3})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x42cd87,threadId:_0x4b6baa})=>{const _0x3bc1eb=await this['_getService'](_0x42cd87)['resolveCommentThread'](_0x4b6baa)['catch'](F)['catch'](at);return{'threadId':_0x3bc1eb['commentThreadId'],'resolvedAt':_0x3bc1eb['resolvedAt'],'resolvedBy':_0x3bc1eb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x23072b,threadId:_0x3960b1})=>this['_getService'](_0x23072b)['reopenCommentThread'](_0x3960b1)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x93f8bc,threadId:_0x486a57})=>this['_getService'](_0x93f8bc)['removeCommentThread'](_0x486a57)['catch'](F)['catch'](at),'addComment':({channelId:_0x9dad87,threadId:_0xceedc3,commentId:_0x2eae5f,content:_0x44b32d,attributes:_0x162441})=>this['_getService'](_0x9dad87)['addComment'](_0xceedc3,_0x2eae5f,_0x44b32d,_0x162441)['catch'](at),'updateComment':({channelId:_0x439e6f,threadId:_0x54829d,commentId:_0x4d0723,content:_0x59b0cf,attributes:_0x57ecb8})=>this['_getService'](_0x439e6f)['updateComment'](_0x54829d,_0x4d0723,_0x59b0cf,_0x57ecb8)['catch'](F)['catch'](at),'removeComment':({channelId:_0x23b1e3,threadId:_0x40ea87,commentId:_0xde6733})=>this['_getService'](_0x23b1e3)['removeComment'](_0x40ea87,_0xde6733)['catch'](F)['catch'](at)},_0x57ef40 instanceof _0x7aab25){const _0x1a8a61=_0x57ef40['config']['get']('collaboration.channelId'),_0x4f343a=_0x57ef40['plugins']['get'](i);await this['_setUpService'](_0x1a8a61);const _0x387d1f=await this['_services']['get'](_0x1a8a61)['getConnectedSessions']();this['listenTo'](_0x4f343a,'sessionAdd:'+_0x1a8a61,(_0x3cedbf,{session:_0x1fa534})=>{_0x1fa534['id']===_0x4f343a['mySessionId']&&(_0x3cedbf['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x1fa534['permissions'],_0x1a8a61));}),_0x4f343a['register'](_0x1a8a61,_0x387d1f);}}async['_setUpService'](_0x3ce3a3){if(this['_services']['has'](_0x3ce3a3))throw new _0xc89e2a('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3ce3a3});const _0x3759b6=this['context']['plugins']['get']('CommentsRepository'),_0x4e210a=new s['CommentsService'](_0x3ce3a3);this['_services']['set'](_0x3ce3a3,_0x4e210a),this['listenTo'](_0x4e210a,'commentThreadAdded',(_0x5b5c1e,_0x113209)=>{const {commentThreadId:_0x1275ac,documentId:_0x566535,context:_0x5b6e4f,attributes:_0x179477,resolvedAt:_0x2e79a7,resolvedBy:_0x43ea58,comments:_0x1b54fb}=_0x113209;_0x3759b6['getCommentThread'](_0x1275ac)||_0x3759b6['addCommentThread']({'threadId':_0x1275ac,'channelId':_0x566535,'comments':_0x1b54fb?_0x1b54fb['map'](S):[],'context':_0x5b6e4f,'attributes':_0x179477,'resolvedAt':_0x2e79a7,'resolvedBy':_0x43ea58,'isFromAdapter':!0x0});}),this['listenTo'](_0x4e210a,'commentThreadUpdated',(_0x3f164a,{commentThreadId:_0x252aed,documentId:_0x1c8002,context:_0x5149ac,unlinkedAt:_0x5e197c,attributes:_0x677fef})=>{_0x3759b6['getCommentThread'](_0x252aed)&&_0x3759b6['updateCommentThread']({'threadId':_0x252aed,'channelId':_0x1c8002,'context':_0x5149ac,'unlinkedAt':_0x5e197c,'attributes':_0x677fef,'isFromAdapter':!0x0});}),this['listenTo'](_0x4e210a,'commentThreadResolved',(_0x46e22d,{commentThreadId:_0x5e85bd,resolvedBy:_0x2e0f2a,resolvedAt:_0x391460})=>{const _0x1705e3=_0x3759b6['getCommentThread'](_0x5e85bd);_0x1705e3&&_0x1705e3['resolve']({'resolvedBy':_0x2e0f2a,'resolvedAt':_0x391460,'isFromAdapter':!0x0});}),this['listenTo'](_0x4e210a,'commentThreadReopened',(_0x28f91b,{commentThreadId:_0x1ebf71})=>{const _0x1a7dc0=_0x3759b6['getCommentThread'](_0x1ebf71);_0x1a7dc0&&_0x1a7dc0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4e210a,'commentThreadRemoved',(_0x4a9d29,{commentThreadId:_0x1a2017})=>{const _0x2f4025=_0x3759b6['getCommentThread'](_0x1a2017);_0x2f4025&&_0x2f4025['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4e210a,'commentAdded',(_0x1e284f,_0x5349d4)=>{const _0x68f6b5=_0x5349d4['commentThreadId'],_0x16e43b=_0x3759b6['getCommentThread'](_0x68f6b5);_0x16e43b&&_0x16e43b['addComment']({...S(_0x5349d4),'isFromAdapter':!0x0});}),this['listenTo'](_0x4e210a,'commentUpdated',(_0x26c1b6,{commentThreadId:_0x4652a0,commentId:_0x19bd05,content:_0x3f805b,attributes:_0x27f67d})=>{const _0x488907=_0x3759b6['getCommentThread'](_0x4652a0);if(_0x488907){const _0x1de0b6=_0x488907['getComment'](_0x19bd05);_0x1de0b6&&_0x1de0b6['update']({'content':_0x3f805b,'attributes':_0x27f67d,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4e210a,'commentRemoved',(_0x4226a6,{commentThreadId:_0x1eaab4,commentId:_0x414ee2})=>{const _0x245c3d=_0x3759b6['getCommentThread'](_0x1eaab4);if(_0x245c3d){const _0x2e718e=_0x245c3d['getComment'](_0x414ee2);_0x2e718e&&_0x2e718e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3ce3a3);}['destroy'](){if(this['context']instanceof _0x7aab25){const _0x1cc7c8=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x1cc7c8);}}['_terminateService'](_0x46b0f4){if(!this['_services']['has'](_0x46b0f4))throw new _0xc89e2a('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x46b0f4});this['_getService'](_0x46b0f4)['disconnect'](),this['_services']['delete'](_0x46b0f4);}async['reconnect'](){for(const _0x3120c8 of this['_services']['keys']())await this['_connectService'](_0x3120c8);if(this['context']instanceof _0x7aab25){const _0x3c9c8e=this['context']['config']['get']('collaboration.channelId'),_0x5e365b=this['context']['plugins']['get'](i);_0x5e365b['unregister'](_0x3c9c8e);const _0x29a4ff=await this['_services']['get'](_0x3c9c8e)['getConnectedSessions']();_0x5e365b['register'](_0x3c9c8e,_0x29a4ff);}}async['_connectService'](_0x15613a){const {connection:_0x3b6871}=this['context']['plugins']['get'](n),_0x4cbe4c=this['context']['plugins']['get']('CommentsRepository'),_0x515227=this['_services']['get'](_0x15613a),_0x124e0d=await _0x515227['connect'](_0x3b6871);await this['_fetchMissingUsersForThreads'](_0x124e0d);const _0x11a5a2=new Set(Array['from'](_0x4cbe4c['getCommentThreads']({'channelId':_0x15613a}),_0x36030a=>_0x36030a['id']));for(const _0x40f773 of _0x124e0d)_0x40f773['deletedAt']||_0x11a5a2['delete'](_0x40f773['commentThreadId']);for(const _0x332715 of _0x11a5a2)_0x4cbe4c['getCommentThread'](_0x332715)['remove']({'isFromAdapter':!0x0});for(const _0x2e594f of _0x124e0d){let _0x366465=_0x4cbe4c['getCommentThread'](_0x2e594f['commentThreadId']);const {commentThreadId:_0x49fc43,context:_0x2f415b,attributes:_0x37c43a,resolvedBy:_0x43aaf3,resolvedAt:_0x396e96,unlinkedAt:_0xd595cd,deletedAt:_0x2cb014}=_0x2e594f;if(_0x2cb014)continue;_0x366465||(_0x366465=_0x4cbe4c['addCommentThread']({'channelId':_0x15613a,'threadId':_0x49fc43,'context':_0x2f415b,'attributes':_0x37c43a||{},'resolvedBy':_0x43aaf3,'resolvedAt':_0x396e96,'unlinkedAt':_0xd595cd,'isFromAdapter':!0x0}));const _0x1aebd7=new Set(Array['from'](_0x366465['comments'],_0x57916=>_0x57916['id']));for(const _0x210d02 of _0x2e594f['comments'])_0x1aebd7['delete'](_0x210d02['commentId']);for(const _0x121b3e of _0x1aebd7)_0x366465['getComment'](_0x121b3e)['remove']({'isFromAdapter':!0x0});for(const _0x5a739a of _0x2e594f['comments']){const _0x55431a=_0x366465['getComment'](_0x5a739a['commentId']);_0x55431a?_0x55431a['content']!==_0x5a739a['content']&&_0x55431a['update']({'content':_0x5a739a['content'],'isFromAdapter':!0x0}):_0x366465['addComment'](Object['assign'](S(_0x5a739a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x5781f3){if(!this['_services']['has'](_0x5781f3))throw new _0xc89e2a('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x5781f3});return this['_services']['get'](_0x5781f3);}async['_fetchMissingUsersForThreads'](_0x44a2b5){const _0x2b9563=this['context']['plugins']['get'](_0x1fb28d),{connection:_0x4231a4}=this['context']['plugins']['get'](n),_0x565656=new Set();for(const {resolvedBy:_0x37d282,comments:_0x5daa91}of _0x44a2b5){_0x37d282&&!_0x2b9563['getUser'](_0x37d282)&&_0x565656['add'](_0x37d282);for(const {userId:_0x28ba6d}of _0x5daa91)_0x2b9563['getUser'](_0x28ba6d)||_0x565656['add'](_0x28ba6d);}if(0x0===_0x565656['size'])return;const _0x38df45=await ct['getMany'](_0x4231a4,Array['from'](_0x565656));for(const _0x21651e of _0x38df45)_0x2b9563['getUser'](_0x21651e['id'])||_0x2b9563['addUser'](_0x21651e);}}async function F(_0x163dda){if('404'!==_0x163dda['code'])throw _0x163dda;}function at(_0x4365ef){if((_0x3c874c=_0x4365ef)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x3c874c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3c874c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x3c874c;throw _0x4365ef;}function S(_0x17842e){return{'threadId':_0x17842e['commentThreadId'],'commentId':_0x17842e['commentId'],'content':_0x17842e['content'],'createdAt':_0x17842e['createdAt'],'authorId':_0x17842e['userId'],'attributes':_0x17842e['attributes']||{}};}class m extends _0x147cd0{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x19956f)());['_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(_0x415739){super(_0x415739);const _0x33d629=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x33d629);}['init'](){const _0x3f7fe6=this['editor']['plugins']['get'](n),_0x1ac8eb=this['editor']['plugins']['get']('TrackChangesEditing');return _0x1ac8eb['adapter']={'getSuggestion':async _0x820739=>{await this['_waitForServiceReady']();const _0x5dd800=await this['_trackChangesService']['get'](_0x820739)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0x5dd800]),_0x5dd800;},'addSuggestion':async({id:_0x1a9ec4,type:_0x519a9e,data:_0x356a40,originalSuggestionId:_0x4ac3b0,attributes:_0x1bb4c5})=>{await this['_waitForServiceReady']();const _0x599250={'id':_0x1a9ec4,'type':_0x519a9e,'data':_0x356a40,'originalSuggestionId':_0x4ac3b0,'attributes':_0x1bb4c5},_0x17d813=await this['_trackChangesService']['add'](_0x1a9ec4,_0x519a9e,_0x356a40,_0x4ac3b0,_0x1bb4c5)['catch'](_0x2284fc=>{if(ht(_0x2284fc))return new Promise(_0x4a6fa3=>{this['_bufferedRequests']['set'](_0x1a9ec4,{'resolve':_0x4a6fa3,'suggestionData':_0x599250});});throw _0x2284fc;});return this['_bufferedRequests']['delete'](_0x1a9ec4),_0x17d813;},'updateSuggestion':async(_0x1fa4f9,_0x2eb5f2)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2eb5f2['state'])return this['_trackChangesService']['update'](_0x1fa4f9,_0x2eb5f2)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0xe814e0,_0x1e1c58)=>{_0x1ac8eb['hasSuggestion'](_0x1e1c58['id'])&&(_0x1ac8eb['getSuggestion'](_0x1e1c58['id'])['attributes']=_0x1e1c58['attributes']);}),this['_trackChangesService']['connect'](_0x3f7fe6['connection'])['then'](_0x1fae29=>(_0x3f7fe6['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1fae29)['then'](()=>{for(const _0x6591cf of _0x1fae29){_0x1ac8eb['addSuggestionData'](_0x6591cf)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3ab19d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x45fbaa}=this['editor']['plugins']['get'](n),_0x3b1485=await this['_trackChangesService']['connect'](_0x45fbaa);await this['_fetchMissingUsersForThreads'](_0x3b1485);for(const {suggestionData:_0x24a75a,resolve:_0x299df5}of this['_bufferedRequests']['values']()){let _0x3c3fa1=_0x3b1485['find'](_0xed6527=>_0xed6527['id']===_0x24a75a['id']);_0x3c3fa1||(_0x3c3fa1=await this['_trackChangesService']['add'](_0x24a75a['id'],_0x24a75a['type'],_0x24a75a['data'],_0x24a75a['originalSuggestionId'])),_0x299df5(_0x3c3fa1);}for(const _0x41d9db of _0x3b1485)_0x3ab19d['hasSuggestion'](_0x41d9db['id'])||_0x3ab19d['addSuggestionData'](_0x41d9db);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2caaf2=>{this['listenTo'](this['_trackChangesService'],'connected',_0x3e9eef=>{_0x3e9eef['off'](),_0x2caaf2();});});}async['_fetchMissingUsersForThreads'](_0x4d0c5e){const _0x42ce43=this['editor']['plugins']['get'](_0x1fb28d),{connection:_0x241f18}=this['editor']['plugins']['get'](n),_0x5a6448=new Set();for(const {authorId:_0x375988}of _0x4d0c5e)_0x42ce43['getUser'](_0x375988)||_0x5a6448['add'](_0x375988);if(0x0===_0x5a6448['size'])return;const _0x5d5d11=await ct['getMany'](_0x241f18,Array['from'](_0x5a6448));for(const _0xcd9833 of _0x5d5d11)_0x42ce43['getUser'](_0xcd9833['id'])||_0x42ce43['addUser'](_0xcd9833);}}function k(_0x4f952f){if(ht(_0x4f952f))return new Promise(()=>{});throw _0x4f952f;}function ht(_0x1e15f3){return _0x1e15f3['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1e15f3['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x147cd0{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 _0x300e3c=this['editor']['plugins']['get'](n),_0x1207d5=this['editor']['plugins']['get']('CommentsEditing'),_0x5bd4aa=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x300e3c,'change:state',(_0x511b12,_0x7d5f29,_0xe8e906)=>{_0x1207d5['isThreadsLoadingPaused']='connected'!==_0xe8e906;});}),this['listenTo'](_0x300e3c,'change:state',(_0xc66331,_0x5e46e2,_0x32b2de)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x32b2de);}),_0x5bd4aa['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x147cd0{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 _0x147cd0{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x4891a6)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1fb28d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x9ccca4){super(_0x9ccca4);const _0xa52af2=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xa52af2);}async['init'](){const _0x5a5ddb=this['editor']['plugins']['get'](l),_0xfc7195=_0x5a5ddb['serverHistory'],_0x43be81=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0xfc7195,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5a5ddb['sessionId']});const _0x2124be=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x3f4974=await _0x46d6a6['isBundleUploaded'](_0x43be81['connection'],_0x2124be);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x39228a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x39228a)),'updateRevisions':async _0x281c93=>{await this['_waitForServiceReady']();const _0x582031=this['_revisionTracker']['currentRevision'];if(_0x3f4974&&0x1===_0x281c93['length']&&_0x281c93[0x0]['id']===_0x582031['id'])return _0x281c93;for(const _0x5a267a of _0x281c93)_0x5a267a['id']===_0x582031['id']&&(_0x5a267a['isEmptyCurrent']=_0x5a267a['fromVersion']===_0x5a267a['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x281c93,this['_lastRequestId'])['then'](_0x1ef38d=>(this['_lastRequestId']=_0x1ef38d,_0x281c93))['catch'](_0xd0d452=>{if(q(_0xd0d452)||'400'===_0xd0d452['code']&&void 0x0!==_0xd0d452['data']['wrongRequestId']){for(const _0x401401 of _0x281c93){!this['_revisionTracker']['repository']['getRevision'](_0x401401['id'])||this['_revisionTracker']['_bufferUpdate'](_0x401401['id'],_0x401401,!0x1);}if(q(_0xd0d452))throw _0xd0d452;return _0x281c93;}throw _0xd0d452;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3c00d8,{revisionsData:_0x494cf6,requestId:_0x45bca9})=>{Math['max'](..._0x494cf6['map'](_0x1d442e=>_0x1d442e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x494cf6,_0x45bca9);}):this['_handleRevisionsUpdate'](_0x494cf6,_0x45bca9);});const {revisions:_0x2a4ae7,requestId:_0x14cb7f}=await this['_revisionHistoryService']['connect'](_0x43be81['connection']);_0x43be81['addToReconnectionStack'](this),this['_lastRequestId']=_0x14cb7f,await this['_fetchMissingUsers'](_0x2a4ae7);for(const _0x48ae68 of _0x2a4ae7)this['_revisionTracker']['addRevisionData'](_0x48ae68);this['listenTo'](_0x5a5ddb,'change:_isConnected',(_0x3a77f9,_0x54a311,_0x140800)=>{_0x140800&&(this['_oldOffset']=_0x5a5ddb['_offset'],_0x3a77f9['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x43be81,'state',_0x5e7a62=>_0x5e7a62===_0x46af62['CONNECTED']);}async['reconnect'](){const _0x5eee3e=this['editor']['plugins']['get'](n),_0x296e57=this['editor']['plugins']['get'](l),_0x10fb02=async()=>{const _0x27ec26=this['_revisionTracker']['currentRevision'],_0x595696=_0x27ec26['id'],_0x2c4ed2=_0x595696!==_0x296e57['sessionId'];if(_0x2c4ed2){const _0x153fee=_0x296e57['_offset']-this['_oldOffset'],_0x27ca71=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x27ec26['toVersion']+_0x153fee!==_0x27ca71){const _0x49dad7=_0x27ec26['fromVersion']+_0x153fee,_0x1a52a2=this['editor']['plugins']['get'](_0x1fb28d),_0x1c2217=this['_revisionTracker']['buildRevisionData']({'revision':_0x27ec26,'from':_0x49dad7,'to':_0x27ca71});_0x1c2217['id']=_0x27ec26['id'];const _0x506503=_0x1c2217['authorsIds']['map'](_0x5297a3=>_0x1a52a2['getUser'](_0x5297a3));_0x27ec26['_update']({..._0x1c2217,'authors':_0x506503},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x27ec26['id'],_0x1c2217,!0x0);}this['_revisionTracker']['_startingVersion']=_0x27ca71,(_0x27ec26['toVersion']===_0x27ec26['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x595696)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x595696),this['_revisionTracker']['_createCurrentRevision'](_0x27ca71));}const {revisions:_0x5876a7,requestId:_0x24f899}=await this['_revisionHistoryService']['reconnect'](_0x5eee3e['connection'],this['_lastRequestId']);_0x2c4ed2&&_0x5876a7['length']>0x0?_0x296e57['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5876a7),this['_handleRevisionsUpdate'](_0x5876a7,_0x24f899),this['_revisionTracker']['sendBufferedUpdates']());};return _0x296e57['_isConnected']?_0x10fb02():new Promise((_0x11e661,_0x3c5e1b)=>{_0x296e57['once']('change:_isConnected',()=>{_0x10fb02()['then'](_0x11e661)['catch'](_0x3c5e1b);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2b5cbe=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x37d781=>{_0x37d781['off'](),_0x2b5cbe();});});}['_getLatestVersionFromServerOperations'](){const _0x5829f9=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3b49f1 of _0x5829f9)if('marker'!==_0x3b49f1['type']||_0x3b49f1['affectsData'])return _0x3b49f1['baseVersion']+0x1;}['_getLatestVersion'](){const _0x38ad5f=this['editor']['plugins']['get'](l);return new Promise(_0x191983=>{_0x38ad5f['_isPendingUpdate']?_0x38ad5f['once']('change:_isPendingUpdate',()=>{_0x191983(this['_getLatestVersionFromServerOperations']());}):_0x191983(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x5ee868,_0x9a8746){const _0x1ffab1=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x9a8746;for(const _0x49d694 of _0x5ee868){const _0x5c0952=_0x1ffab1['getRevision'](_0x49d694['id']);if(_0x5c0952){if((_0x49d694['fromVersion']||_0x49d694['toVersion'])&&(_0x49d694['diffData']=null),_0x5c0952===this['_revisionTracker']['currentRevision']){const _0x106f24=Math['max'](_0x5c0952['toVersion'],_0x49d694['toVersion']),_0x18a5f4=Math['max'](_0x5c0952['fromVersion'],_0x49d694['fromVersion']);let _0x2c4015;_0x5c0952['toVersion']===_0x49d694['toVersion']&&_0x5c0952['fromVersion']===_0x49d694['fromVersion']?(_0x2c4015=!0x0,this['_preventResendingRevisionData'](_0x49d694)):_0x49d694['toVersion']===_0x106f24&&_0x49d694['fromVersion']===_0x18a5f4?_0x2c4015=!0x1:(_0x5c0952['toVersion']===_0x106f24&&_0x5c0952['fromVersion']===_0x18a5f4||this['_fixRevision']({'revision':_0x5c0952,'from':_0x18a5f4,'to':_0x106f24}),_0x2c4015=!0x0),_0x2c4015&&(delete _0x49d694['fromVersion'],delete _0x49d694['toVersion'],delete _0x49d694['diffData'],delete _0x49d694['createdAt'],delete _0x49d694['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x49d694),this['_preventResendingRevisionData'](_0x49d694);}else this['_revisionTracker']['addRevisionData'](_0x49d694);}const _0x525058=_0x1ffab1['getRevisions']();_0x525058['reverse']();for(let _0x45aef5=0x0;_0x45aef5<_0x525058['length']-0x1;_0x45aef5++){const _0x10a8c6=_0x525058[_0x45aef5],_0x2300f8=_0x525058[_0x45aef5+0x1];if(_0x10a8c6['fromVersion']<_0x2300f8['toVersion']){const _0x4fc637=_0x2300f8['toVersion'],_0x3a5de1=Math['max'](_0x4fc637,_0x10a8c6['toVersion']);this['_fixRevision']({'revision':_0x10a8c6,'from':_0x4fc637,'to':_0x3a5de1});}}}['_fixRevision']({revision:_0x1453d7,from:_0x29526f,to:_0x558e6c}={}){const _0x3967ac=this['editor']['plugins']['get'](_0x1fb28d),_0x2d5157=this['_revisionTracker']['buildRevisionData']({'revision':_0x1453d7,'from':_0x29526f,'to':_0x558e6c});_0x2d5157['authors']=_0x2d5157['authorsIds']['map'](_0x4a27af=>_0x3967ac['getUser'](_0x4a27af)),_0x1453d7['_update'](_0x2d5157);}['_preventResendingRevisionData'](_0x5dec7a){const _0x5dac7c={};_0x5dac7c['id']=_0x5dec7a['id'];for(const _0x453853 of Object['keys'](_0x5dec7a))'id'!==_0x453853&&(_0x5dac7c[_0x453853]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5dac7c['id'],_0x5dac7c,!0x0);}async['_fetchMissingUsers'](_0x2f58bc){const _0x3a257c=this['editor']['plugins']['get'](_0x1fb28d),{connection:_0x14c439}=this['editor']['plugins']['get'](n),_0x8c1640=new Set();for(const _0x348ab8 of _0x2f58bc){for(const _0x4a7c9b of _0x348ab8['authorsIds'])_0xf80f25(_0x4a7c9b);_0x348ab8['creatorId']&&_0xf80f25(_0x348ab8['creatorId']);}if(0x0===_0x8c1640['size'])return;const _0x201420=await ct['getMany'](_0x14c439,Array['from'](_0x8c1640));for(const _0x57d3de of _0x201420)_0x3a257c['getUser'](_0x57d3de['id'])||_0x3a257c['addUser'](_0x57d3de);function _0xf80f25(_0x55f7fd){_0x3a257c['getUser'](_0x55f7fd)||_0x8c1640['add'](_0x55f7fd);}}}function q(_0x2353be){return _0x2353be['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2353be['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2353be['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x147cd0{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class b extends _0x189f71{['_collapseAt'];constructor(_0x24e006,_0x4c4b88=0x6){super(_0x24e006);const _0x1edc18=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4c4b88,this['bind']('isHidden')['to'](this,'usersCount',_0x37e8e6=>_0x37e8e6<_0x4c4b88),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1edc18['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':_0x1edc18['to']('usersCount',_0x50c023=>'+'+(_0x50c023-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x189f71{['items'];['keystrokes'];constructor(_0x46bbd0){super(_0x46bbd0);const _0x4f3d27=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x37c8ef(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4f3d27['if']('hasPopup'),'aria-expanded':_0x4f3d27['to']('isExpanded',_0xeb8a32=>this['hasPopup']&&String(_0xeb8a32)),'aria-label':_0x4f3d27['to']('hasPopup',_0x42ec6e=>K(_0x46bbd0,_0x42ec6e?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4f3d27['to']('hasPopup',_0x44a30b=>!!_0x44a30b&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4f3d27['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4f3d27['to'](_0x2a3563=>{const _0x4be5ad=_0x2a3563,_0x2e718f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3fbc13=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2e718f?.['contains'](_0x4be5ad['relatedTarget'])||_0x3fbc13?.['contains'](_0x4be5ad['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x504508,_0x5798ea,_0x225810)=>{this['element']&&(_0x225810?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class v extends _0x189f71{['counterView'];['inlineListView'];constructor(_0x210661,_0x50b2c6=0x6){super(_0x210661);const _0x57cb10=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x50b2c6),this['inlineListView']=new is(_0x210661),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3d6517 of this['inlineListView']['items'])_0x3d6517['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',_0x57cb10['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x189f71{['listWrapperView'];constructor(_0x45c473,_0x4979b0){super(_0x45c473);const _0x4a81cf=this['bindTemplate'];this['listWrapperView']=new ut(_0x45c473,_0x4979b0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x45c473,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4a81cf['to'](_0x294125=>{const _0x47d5ae=_0x294125,_0x5767ab=document['querySelector']('.ck-presence-list__list'),_0x26f845=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5767ab?.['contains'](_0x47d5ae['relatedTarget'])||_0x26f845?.['contains'](_0x47d5ae['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x1ecd86{constructor(_0x1e519c,_0x387401){super(_0x1e519c);const _0x1ca77f=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x387401?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1ca77f['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1ca77f['to']('role'),'aria-label':_0x1ca77f['to']('ariaLabel'),'aria-labelledby':_0x1ca77f['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x256274['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5a6884=this['element'];_0x5a6884&&(this['_isScrollable']=Math['max'](_0x5a6884['scrollHeight'],_0x5a6884['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x21d002,_0x981294,_0xae81a1){super(_0x21d002);const _0x17439d=this['bindTemplate'];this['userView']=new st(_0x21d002,_0x981294);const _0xac8dca={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x981294['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x981294['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x981294['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0xae81a1&&(_0xac8dca['tag']='button',_0xac8dca['on']={'click':_0x17439d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xac8dca);}['focus'](){this['element']['focus']();}}class A extends _0x189f71{['userView'];['markerView'];constructor(_0x512865,_0x5bc726,_0x5b1f38){super(_0x512865);const _0x5bc929=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x512865,_0x5bc726),this['markerView']=new ot(_0x512865,_0x5bc726);const _0x999f3=new it(_0x512865);_0x999f3['template']['tag']='span',_0x999f3['text']=_0x5bc726['name'];const _0x32ee22={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5bc929['to']('isFocusable',_0x1d185f=>!!_0x1d185f&&0x0),'aria-labelledby':_0x999f3['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5bc929['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5bc929['to']('hasTooltip',_0x55e525=>!_0x55e525),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x999f3]};_0x5b1f38&&(_0x32ee22['tag']='button',_0x32ee22['on']={'click':_0x5bc929['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x32ee22);}}class ot extends _0x189f71{constructor(_0x2608ce,_0xfdde33){super(_0x2608ce),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xfdde33['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3622a5{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x113f5f){super(_0x113f5f),this['context']['config']['define']('presenceList',x);const _0x1b8c31=_0x113f5f['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1b8c31)throw new _0xc89e2a('presencelist-collapseat-invalid-format',this);if(_0x1b8c31<0x1)throw new _0xc89e2a('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x15e0cd(),this['balloonPanelView']=new _0x2f4310(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x2baf67 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2baf67);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2abdb4,_0x14a125)=>{this['_handleUserAdd'](_0x14a125);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x148e37,_0x5abe1d)=>{this['_handleUserRemove'](_0x5abe1d);});}['_createView'](){const _0x286897=this['context'],_0x1d7dc8=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2385c9=this['balloonPanelView'];if(!_0x489d51(_0x286897['config']['get']('presenceList.container')))throw new _0xc89e2a('presencelist-missing-container',this);return _0x1d7dc8['counterView']['bind']('usersCount')['to'](this),_0x1d7dc8['bind']('isCollapsed')['to'](this,'usersCount',_0x4ac010=>{const {collapseAt:_0xa3278d}=_0x286897['config']['get']('presenceList'),_0x34010a=_0x4ac010>=_0xa3278d;if(_0x34010a&&!_0x1d7dc8['inlineListView']['items']['find'](_0x213d6c=>_0x213d6c instanceof b)){const _0x35959b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x35959b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x1d7dc8['inlineListView']['items']['add'](_0x1d7dc8['counterView']);}return _0x34010a||this['hideDropdown'](),_0x34010a;}),_0x1d7dc8['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0xc1f5c5=>{const _0x3af577=_0x286897['config']['get']('presenceList'),_0x578b66=new A(_0x286897['locale'],_0xc1f5c5,!!_0x3af577['onClick']);return _0x578b66['bind']('hasTooltip')['to'](_0x1d7dc8,'isCollapsed',_0x289f6d=>!_0x289f6d),_0x578b66['bind']('isFocusable')['to'](_0x1d7dc8,'isCollapsed',_0xc650a3=>!_0xc650a3),_0x3af577['onClick']&&this['listenTo'](_0x578b66,'execute',()=>{this['view']['isCollapsed']||_0x3af577['onClick'](_0xc1f5c5,_0x578b66['element']);}),_0x578b66;}),this['listenTo'](_0x1d7dc8['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x1d7dc8['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x1d7dc8['inlineListView']['keystrokes']['set']('Enter',(_0x2a2592,_0x5875a5)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5875a5());}),_0x1d7dc8['render'](),_0x2385c9['render'](),_0x3491fb({'emitter':_0x1d7dc8,'activator':()=>_0x2385c9['isVisible'],'contextElements':[_0x2385c9['element'],_0x1d7dc8['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x286897['config']['get']('presenceList.container')['appendChild'](_0x1d7dc8['element']),this['_bodyCollection']=new _0x207d27(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x1d7dc8;}['_handleUserAdd'](_0x21324c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x21324c['isMe'])return;const _0x2f22a4=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2f22a4-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x10a724=_0x21324c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x21324c,_0x10a724);}['_handleUserRemove'](_0x291471){this['usersCount']--;const {collapseAt:_0x3f9d45}=this['context']['config']['get']('presenceList'),_0x218475=this['usersCount']>=_0x3f9d45;if(this['currentDisplayedUsers']['get'](_0x291471['id']))this['currentDisplayedUsers']['remove'](_0x291471['id']);else{if(_0x218475&&this['currentDisplayedUsers']['length']+0x1===_0x3f9d45-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x218475?0x1:0x0)<this['usersCount']){for(const _0x47371b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x47371b['id'])&&(this['currentDisplayedUsers']['add'](_0x47371b,Math['min'](this['currentDisplayedUsers']['length']-(_0x218475?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x218475?0x1:0x0)===_0x3f9d45-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5d7204=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x5d7204['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x50742c}=this['presenceDropdownView'];_0x50742c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x16a946=>{if(!_0x5d7204['displayMe']&&_0x16a946['isMe'])return null;const _0x5de637=new j(this['context']['locale'],_0x16a946,!!_0x5d7204['onClick']);return _0x5d7204['onClick']&&this['listenTo'](_0x5de637,'execute',()=>{_0x5d7204['onClick'](_0x16a946,_0x5de637['element']);}),_0x5de637;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x50742c['focus'](),_0x50742c['checkIfScrollable']();const _0x3acc94=(_0x173925,_0x3af9b3)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3af9b3();};_0x50742c['keystrokes']['set']('Esc',_0x3acc94),_0x50742c['keystrokes']['set']('Shift+Tab',_0x3acc94),_0x50742c['keystrokes']['set']('Tab',(_0x556cf5,_0x59b48a)=>{!function(_0x80f0b){const _0x4ddc0c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x4122b4=>_0x4122b4+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4414be=[...document['body']['querySelectorAll'](_0x4ddc0c)]['filter'](_0xdc13b0=>_0xdc13b0===document['activeElement']||_0xdc13b0['offsetWidth']+_0xdc13b0['offsetHeight']>0x0)['sort']((_0x59e8bd,_0x5de1c0)=>(_0x59e8bd['tabIndex']||0x0)-(_0x5de1c0['tabIndex']||0x0)),_0x1e359a=_0x4414be['indexOf'](_0x80f0b),_0x2d83fe=_0x4414be[(_0x1e359a+0x1)%_0x4414be['length']];_0x2d83fe&&_0x2d83fe['focus']();}(this['view']['element']),this['hideDropdown'](),_0x59b48a();}),_0x50742c['focusTracker']['add'](this['view']['element']),_0x50742c['focusTracker']['on']('change:isFocused',(_0xc587b6,_0x5040a6,_0x28177e)=>{_0x28177e||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 ft extends _0x3622a5{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,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x2e1c2e,Plugin as _0x5b4332,PendingActions as _0x2fc7e3,Context as _0x475de3}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1566af,CKEditorError as _0x2bce97,Collection as _0x2c7c4,global as _0xce7c42,version as ht,uid as _0x566030,KeystrokeHandler as _0x265acb}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x234c84,View as _0x474a7b,ListView as _0x4c8996,ListItemView as ct,LabelView as lt,BalloonPanelView as _0x5b9ec9,clickOutsideHandler as _0x52645d,BodyCollection as _0x51a795}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x58b1f7,History as _0x4a6db3,NoOperation as _0x399b45,InsertOperation as _0x3a5e47,MarkerOperation as _0x4ea834,RootAttributeOperation as _0x5019a7,transformOperationSets as _0x117a9b,OperationFactory as _0x25bca7}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as dt,WEB_SOCKET_GATEWAY_STATES as _0x78d56b,CollaborativeEditingService as _0x317a13,User as ut,CommentsService as _0x86f88e,TrackChangesService as rt,RevisionHistoryService as et,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x564686,UserView as at}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x137f85}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0xef8e80}from'es-toolkit/compat';class n extends _0x2e1c2e{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>dt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x234c84];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b689b){super(_0x5b689b),this['set']('state',_0x78d56b['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1566af())();}['init'](){const _0x17394f=this['context'],_0x44493b=_0x17394f['plugins']['get']('CloudServices'),_0x50d4f1=_0x17394f['plugins']['get'](_0x234c84);if(!_0x44493b['token'])throw new _0x2bce97('websocketgateway-missing-token',this);if(!_0x44493b['webSocketUrl'])throw new _0x2bce97('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'](_0x44493b['token'],_0x44493b['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5a045f=>{if(this['connection']=_0x5a045f,this['bind']('state')['to'](_0x5a045f,'state',this,'_isBrowserOffline',(_0x58cea6,_0x3e258b)=>('connected'!==_0x58cea6&&(this['_shouldPluginsReconnect']=!0x0),_0x3e258b||_0x58cea6!==_0x78d56b['CONNECTED']?_0x78d56b['DISCONNECTED']:this['state']==_0x78d56b['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x78d56b['CONNECTING']):_0x78d56b['CONNECTED'])),this['connection']['on']('error',(_0x35682d,_0x4a24c6)=>{if('limitExceeded'!==_0x4a24c6['code'])throw console['error'](_0x4a24c6),new _0x2bce97('cloudservices-init',null,{'originalError':_0x4a24c6});_0x50d4f1['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'});}),!_0x5a045f['me'])return new Promise(_0x299fae=>_0x5a045f['on']('change:me',_0x299fae));})['catch'](_0x4113be=>{throw console['error'](_0x4113be),new _0x2bce97('cloudservices-init',null,{'originalError':_0x4113be});});}['addToReconnectionStack'](_0x4d5462){if('function'!=typeof _0x4d5462['reconnect'])throw new _0x2bce97('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4d5462))throw new _0x2bce97('websocketgateway-plugin-already-registered',this,{'name':_0x4d5462['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4d5462);}['removeFromReconnectionStack'](_0x4eb85d){this['_reconnectionStack']['delete'](_0x4eb85d);}['isInReconnectionStack'](_0x3292c2){return this['_reconnectionStack']['has'](_0x3292c2);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5bde9b=>_0x5bde9b['reconnect']())))['then'](()=>this['state']=_0x78d56b['CONNECTED'])['catch'](_0x190a90=>{throw console['error'](_0x190a90),new _0x2bce97('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x78d56b['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x2e1c2e{['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,_0x564686];}constructor(_0x19bbe2){super(_0x19bbe2),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2c7c4(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x564686);}['init'](){const _0x2d75de=this['context']['plugins']['get'](n);this['listenTo'](_0x2d75de,'change:state',(_0x319daa,_0x13fce5,_0x4635cb)=>{if('connected'!==_0x4635cb)this['channelSessions']['forEach'](_0x3e97f3=>_0x3e97f3['clear']()),this['channelConnectedUsers']['forEach'](_0x49d034=>_0x49d034['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3f58e8,_0x3e66ec]of this['_registeredSessions'])for(const _0x409398 of _0x3e66ec)this['_handleSessionAdd'](_0x3f58e8,_0x409398);}}),this['_createUser'](_0x2d75de['connection']['me'],!0x0);}['register'](_0x505e05,_0x337691){if(this['_registeredSessions']['has'](_0x505e05))throw new _0x2bce97('sessions-register-already-registered',null,{'channelId':_0x505e05});this['_registeredSessions']['set'](_0x505e05,_0x337691),this['channelSessions']['set'](_0x505e05,new _0x2c7c4()),this['channelConnectedUsers']['set'](_0x505e05,new _0x2c7c4()),this['listenTo'](_0x337691,'add',(_0x38f0f8,_0x4dfd78)=>this['_handleSessionAdd'](_0x505e05,_0x4dfd78)),this['listenTo'](_0x337691,'remove',(_0xf8123c,_0x1c63f3)=>this['_handleSessionRemove'](_0x505e05,_0x1c63f3));for(const _0x1d0452 of _0x337691)this['_handleSessionAdd'](_0x505e05,_0x1d0452);}['unregister'](_0xd5bca4){if(!this['_registeredSessions']['has'](_0xd5bca4))throw new _0x2bce97('sessions-unregister-not-exist',null,{'channelId':_0xd5bca4});const _0x453790=this['_registeredSessions']['get'](_0xd5bca4);this['stopListening'](_0x453790);for(const _0x3ab81b of _0x453790)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0xd5bca4,_0x3ab81b);this['_registeredSessions']['delete'](_0xd5bca4),this['channelSessions']['delete'](_0xd5bca4),this['channelConnectedUsers']['delete'](_0xd5bca4);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x45af93){for(const _0x411fa1 of this['channelSessions']['values']())for(const _0x2545dd of _0x411fa1)if(_0x2545dd['id']===_0x45af93)return _0x2545dd['user'];}['getUserSessions'](_0x13af18,_0x3dbddf){const _0x2424c0=_0x3dbddf?[this['channelSessions']['get'](_0x3dbddf)]:this['channelSessions']['values'](),_0x1d1f6a=new Set();for(const _0x59a0be of _0x2424c0)for(const _0x59656f of _0x59a0be)_0x59656f['user']['id']===_0x13af18['id']&&_0x1d1f6a['add'](_0x59656f['id']);return _0x1d1f6a;}['getUserRole'](_0xa022ea){for(const _0x49ef92 of this['channelSessions']['values']())for(const _0x9d9f49 of _0x49ef92)if(_0x9d9f49['user']===_0xa022ea)return _0x9d9f49['role'];}['_handleSessionAdd'](_0x56a214,_0x493e1f){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x111ede=_0x493e1f['user'],_0x52a354=this['_users']['getUser'](_0x111ede['id'])||this['_createUser'](_0x111ede),_0x11192f=Object['assign']({},_0x493e1f,{'user':_0x52a354});if(this['channelSessions']['get'](_0x56a214)['add'](_0x11192f),!_0x111ede['hiddenInPresenceList']){const _0x528d69=this['channelConnectedUsers']['get'](_0x56a214);_0x528d69['has'](_0x52a354['id'])||_0x528d69['add'](_0x52a354),this['allConnectedUsers']['has'](_0x52a354['id'])||_0x111ede['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x52a354,_0x52a354['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x56a214,{'channelId':_0x56a214,'session':_0x11192f});}['_handleSessionRemove'](_0x434444,_0x2f1276){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0xd0636d=this['channelConnectedUsers']['get'](_0x434444),_0x1eb8d7=_0x2f1276['user'];_0x1eb8d7['id']&&(this['channelSessions']['get'](_0x434444)['remove'](_0x2f1276['id']),_0xd0636d['has'](_0x1eb8d7['id'])&&!this['getUserSessions'](_0x1eb8d7,_0x434444)['size']&&_0xd0636d['remove'](_0x1eb8d7['id']),this['allConnectedUsers']['get'](_0x1eb8d7['id'])&&!this['getUserSessions'](_0x1eb8d7)['size']&&this['allConnectedUsers']['remove'](_0x1eb8d7['id']));}['_createUser'](_0x22cacb,_0x3e06a7){const _0x1c79c2=this['_users']['addUser'](_0x22cacb);return _0x3e06a7&&this['_users']['defineMe'](_0x22cacb['id']),_0x1c79c2['orderNumber']=this['_uniqueUsersCount']++,_0x1c79c2;}}class D extends _0x5b4332{['_domEmitter']=new(_0x1566af())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x588fc2=this['editor'],_0x123ad9=_0x588fc2['plugins']['get'](i);_0x588fc2['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x39bbbb,{writer:_0x338e24})=>function(_0x332f59,_0x53ce14,_0x4435bd,_0x994c1d){const _0x21dfdb=_0x332f59['markerName']['split'](':')[0x2],_0x52b719=_0x4435bd['getUserBySessionId'](_0x21dfdb);if(!_0x52b719||_0x21dfdb===_0x4435bd['mySessionId'])return;if(!_0x994c1d['model']['schema']['checkChild'](_0x332f59['markerRange']['start'],'$text'))return;const _0x1f9f27={'class':'ck-user__marker\x20'+_0x52b719['color']['getMarkerClass'](),'data-name':_0x52b719['name'],'data-session-id':_0x21dfdb},_0x5e8970=_0x994c1d['model']['markers']['get'](_0x332f59['markerName']),_0xf44016=_0x5e8970['getStart'](),_0x5cf762=_0xf44016['nodeAfter'],_0x130d73=_0x994c1d['model']['schema'];if(_0x5cf762&&_0x130d73['isObject'](_0x5cf762)&&_0x130d73['isInline'](_0x5cf762)&&!_0x994c1d['model']['markers']['get']('user:range:'+_0x21dfdb)['getRange']()['isCollapsed'])return;const _0xa514e=_0xf44016['parent'];return _0x994c1d['model']['schema']['isLimit'](_0xa514e)&&!_0x994c1d['model']['hasContent'](_0xa514e)&&(_0x1f9f27['contenteditable']=!0x1),function(_0x2c5fb1,_0x128800,_0x1d8335){const _0x3cfa87=_0x2c5fb1['createUIElement']('span',_0x128800);return _0x2c5fb1['setCustomProperty']('userPositionMarker',!0x0,_0x3cfa87),_0x3cfa87['render']=function(_0x1f15c6){const _0x53ead3=this['toDomElement'](_0x1f15c6),_0x55117a=document['createElement']('span');return _0x55117a['classList']['add']('ck-user__marker-tooltip'),_0x55117a['setAttribute']('contenteditable','false'),_0x55117a['setAttribute']('spellcheck','false'),_0x55117a['textContent']=_0x1d8335['name'],_0x53ead3['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x55117a['outerHTML']+'⁠',_0x53ead3['addEventListener']('mouseenter',()=>{_0x53ead3['classList']['add']('ck-user__marker_hovered');}),_0x53ead3['addEventListener']('mouseleave',()=>{_0x53ead3['classList']['remove']('ck-user__marker_hovered');}),_0x53ead3;},_0x3cfa87['isSimilar']=function(_0x27d310){return!(!this['getCustomProperty']('userPositionMarker')||!_0x27d310['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x27d310['getAttribute']('data-session-id'));},_0x3cfa87;}(_0x53ce14,_0x1f9f27,_0x52b719);}(_0x39bbbb,_0x338e24,_0x123ad9,_0x588fc2)}),_0x588fc2['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3ede0c=>function(_0x1d21da,_0x561c54){const _0x4ddc6e=_0x1d21da['markerName']['split'](':')[0x2];if(_0x4ddc6e===_0x561c54['mySessionId'])return null;const _0x55db41=_0x561c54['getUserBySessionId'](_0x4ddc6e);if(!_0x55db41)return{'id':_0x4ddc6e,'classes':[]};return{'id':_0x4ddc6e,'classes':['ck-user__selection',_0x55db41['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4ddc6e},'priority':0x7d0+_0x55db41['orderNumber']};}(_0x3ede0c,_0x123ad9)}),function(_0x3b7be0){const _0x410675=_0x3b7be0['model'],_0x270494=new Map(),_0x3dde67=_0x3b7be0['plugins']['get'](i);_0x410675['markers']['on']('update:user:range',(_0x543dc6,_0x132566,_0x27b7d5,_0x1965a4)=>{if(!_0x1965a4&&_0x270494['get'](_0x132566['name']))return _0x270494['get'](_0x132566['name'])['detach'](),void _0x270494['delete'](_0x132566['name']);const _0x2228be=_0x132566['name']['split'](':')[0x2];if(_0x2228be===_0x3dde67['mySessionId'])return;const _0x149cf1='user:position:'+_0x2228be;_0x410675['markers']['has'](_0x149cf1)&&_0x3b7be0['editing']['reconvertMarker'](_0x149cf1),_0x132566['on']('change:range',(_0x47d366,_0x38462d,_0x1dcc7e)=>{if('$graveyard'!=_0x38462d['root']['rootName']&&'$graveyard'==_0x132566['getRange']()['root']['rootName']&&!_0x270494['has'](_0x132566['name'])){const _0x162ffd=_0x410675['schema']['getNearestSelectionRange'](_0x1dcc7e['deletionPosition']);if(_0x162ffd){const _0x30e279=_0x58b1f7['fromRange'](_0x162ffd);_0x270494['set'](_0x132566['name'],_0x30e279),_0x30e279['on']('change:range',(_0x5c7604,_0x25d01a,_0x2010e9)=>{if('$graveyard'==_0x30e279['root']['rootName']){const _0x4adcc7=_0x410675['schema']['getNearestSelectionRange'](_0x2010e9['deletionPosition']);_0x4adcc7?(_0x30e279['start']=_0x4adcc7['start'],_0x30e279['end']=_0x4adcc7['end']):(_0x270494['delete'](_0x132566['name']),_0x30e279['detach']());}});}}});}),_0x410675['document']['on']('change',()=>{_0x270494['size']>0x0&&_0x410675['enqueueChange']({'isUndoable':!0x1},_0x2b0cb9=>{for(const [_0x3c8aed,_0x5d0e8e]of _0x270494)'$graveyard'==_0x410675['markers']['get'](_0x3c8aed)['getRange']()['root']['rootName']&&(G(_0x3c8aed['split'](':')[0x2],_0x5d0e8e['toRange'](),_0x410675,_0x2b0cb9),_0x5d0e8e['detach']());_0x270494['clear']();});});}(_0x588fc2),this['_domEmitter']['listenTo'](_0xce7c42['document'],'keydown',(_0x29f220,{key:_0x3ad486})=>{'Escape'===_0x3ad486&&function(_0x57cc3){_0x57cc3['editing']['view']['change'](_0x421de6=>{for(const _0x44aee8 of _0x57cc3['model']['markers']){if(!_0x44aee8['name']['startsWith']('user:position'))continue;const _0x3827a4=_0x57cc3['editing']['mapper']['markerNameToElements'](_0x44aee8['name']);if(_0x3827a4){for(const _0x28c67d of _0x3827a4)_0x421de6['removeClass']('ck-user__marker_hovered',_0x28c67d);}}});}(_0x588fc2);},{'useCapture':!0x0});}['afterInit'](){const _0x1955b2=this['editor'],_0x52440a=_0x1955b2['commands']['get']('undo');_0x52440a&&_0x1955b2['model']['on']('applyOperation',(_0x4c806e,_0x42cbb8)=>{const _0x29d87d=_0x42cbb8[0x0];if(!_0x29d87d['isDocumentOperation'])return;if('marker'!=_0x29d87d['type']||!_0x29d87d['name']['startsWith']('user:'))return;const _0x2a5af0=_0x29d87d['batch'];_0x52440a['_createdBatches']['has'](_0x2a5af0)&&(_0x29d87d['newRange']=_0x29d87d['oldRange']?_0x1955b2['model']['createRange'](_0x29d87d['oldRange']['start'],_0x29d87d['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x32dd23=this['editor'],_0x109fca=_0x32dd23['model']['document'],_0x218c44=_0x32dd23['plugins']['get'](i);_0x32dd23['model']['enqueueChange']({'isUndoable':!0x1},_0xbd2adf=>{const _0x5e917e='user:range:'+_0x218c44['mySessionId'],_0x58666e='user:position:'+_0x218c44['mySessionId'],_0x1b3f6b=_0x32dd23['model']['markers']['has'](_0x5e917e);_0x32dd23['editing']['view']['hasDomSelection']?G(_0x218c44['mySessionId'],_0x109fca['selection']['getFirstRange'](),_0x32dd23['model'],_0xbd2adf):_0x1b3f6b&&(_0xbd2adf['removeMarker'](_0x5e917e),_0xbd2adf['removeMarker'](_0x58666e));});}}function G(_0x25a7f9,_0x388550,_0x13931c,_0x1538fb){const _0x20894e='user:range:'+_0x25a7f9,_0x4ee41c='user:position:'+_0x25a7f9,_0x40df11=_0x388550['getContainedElement']();let _0x32c0d9=_0x388550['start'];if(_0x40df11&&_0x40df11['is']('element','tableCell')){const _0x5a03f6=function(_0x1569ed,_0x5f0b3a){for(const _0x318fe6 of _0x1569ed['getPositions']())if(_0x5f0b3a['schema']['checkChild'](_0x318fe6,'$text'))return _0x318fe6;}(_0x388550,_0x13931c);_0x5a03f6&&(_0x32c0d9=_0x5a03f6,_0x388550=_0x1538fb['createRange'](_0x32c0d9));}const _0x3a5fcb=_0x1538fb['createRange'](_0x32c0d9);_0x13931c['markers']['has'](_0x20894e)?(_0x1538fb['updateMarker'](_0x20894e,{'range':_0x388550}),_0x1538fb['updateMarker'](_0x4ee41c,{'range':_0x3a5fcb})):(_0x1538fb['addMarker'](_0x20894e,{'range':_0x388550,'usingOperation':!0x0}),_0x1538fb['addMarker'](_0x4ee41c,{'range':_0x3a5fcb,'usingOperation':!0x0}));}function P(_0x5b5f03,_0x40ee36,_0x172a7b){const _0x30fc35=_0x5b5f03['t'],t=_0x5b5f03['t'];switch(_0x40ee36){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 _0x30fc35({'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'},_0x172a7b);default:return'';}}let N=0x1;class l extends _0x5b4332{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x317a13)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,D,_0x2fc7e3,_0x564686,_0x234c84];}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 _0x2af376=this['serverHistory']['getOperations']();for(let _0x2de20c=_0x2af376['length']-0x1;_0x2de20c>=0x0;_0x2de20c--){const _0x5e47b3=_0x2af376[_0x2de20c];if(!this['_disconnectionOperations']['has'](_0x5e47b3))return _0x5e47b3['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1b96ed){if(super(_0x1b96ed),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4a6db3(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2bce97('collaboration-missing-channelid',this);const _0x39289f=_0x1b96ed['config']['get']('cloudServices.bundleVersion')||ht;this['_service']=new l['CollaborativeEditingService'](_0x39289f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x137f85(),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 M(this['_disconnectionOperations']);}['init'](){const _0x29661d=this['editor'],_0xc3092e=_0x29661d['plugins']['get'](_0x564686),_0x30e14e=_0x29661d['plugins']['get'](n);this['listenTo'](_0xc3092e,'getOperationAuthor',(_0x4717bd,_0x30d864)=>{const _0x52cd94=_0x30d864[0x0];_0x52cd94['_authorId']&&(_0x4717bd['return']=_0xc3092e['getUser'](_0x52cd94['_authorId']),_0x4717bd['stop']()),null===_0x52cd94['_authorId']&&(_0x4717bd['return']=null,_0x4717bd['stop']());},{'priority':'high'}),this['listenTo'](_0x29661d['model']['document']['selection'],'change:range',(_0x1369b2,_0x14327c)=>{_0x14327c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x29661d['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x29661d['model']['on']('applyOperation',(_0x599846,_0x646af1)=>{const _0x161cbe=_0x646af1[0x0];_0x161cbe['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x161cbe),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x30e14e,'state',this,'_hasSynchronizationProblem',(_0x4571e7,_0x2efb26)=>'connected'===_0x4571e7&&!_0x2efb26),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x29661d['disableReadOnlyMode']('rtc-offline'):_0x29661d['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x29661d['disableReadOnlyMode']('rtc-offline'):_0x29661d['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x12a2c0=this['editor']['plugins']['get'](i),_0x204955=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x12a2c0['unregister'](this['_channelId']);const _0x38d2bf=await this['_service']['reconnect'](_0x204955['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x38d2bf)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x38275b=await this['_service']['getConnectedSessions']();_0x12a2c0['register'](this['_channelId'],_0x38275b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5bf551){if(function(_0x43879f){return'404'===_0x43879f['code'];}(_0x5bf551)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x173355){return'409'===_0x173355['code'];}(_0x5bf551)){const _0x4c48b7=P(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'](_0x4c48b7);}else{if(!(_0x5bf551 instanceof B))throw _0x5bf551;this['_handleReconnectionError']();}}}}['destroy'](){const _0x2e26e8=this['editor']['plugins']['get'](n),_0x47b0bb=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x47b0bb['channelSessions']['has'](this['_channelId'])&&_0x47b0bb['unregister'](this['_channelId']),_0x2e26e8['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0xb38a29){if(this['sessionId']!==_0xb38a29['sessionId']&&this['_lastSyncedOperationId']!==_0xb38a29['lastOperationId'])throw new B();return this['sessionId']=_0xb38a29['sessionId'],this['_handleServerResponse']([],{..._0xb38a29,'wereChangesApplied':!0x1,'data':_0xb38a29['data']},'reconnect');}async['_connectService'](_0x479895,_0x1a4840=!0x1){const {connection:_0x9c213a}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x9c213a,this['_channelId'])['then'](_0x98f900=>this['_initSessionsHandling'](_0x98f900))['catch'](_0x5c929d=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5c929d);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x16b1fd,_0x5bee0a)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5bee0a);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x17c914=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x479895);this['_isPendingUpdate']=!0x0;const _0x4867f4=await this['_service']['connect'](_0x9c213a,this['_compressOperations'](_0x479895),_0x17c914);if(this['sessionId']=_0x4867f4['sessionId'],_0x1a4840){if(!_0x4867f4['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x4867f4['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x479895,_0x4867f4,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x4867f4,_0x479895);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x360ec8=this['editor']['plugins']['get'](i),_0x20df3f=this['editor']['plugins']['get'](D),_0x3e43d9=_0x360ec8['channelSessions']['get'](this['_channelId']);_0x3e43d9&&_0x3e43d9['length']>0x1?_0x20df3f['createUserMarkerOperations']():this['listenTo'](_0x360ec8,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x360ec8['channelSessions']['get'](this['_channelId'])['length']&&_0x20df3f['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x12aa8f,_0x557b5e,_0x2228b5,_0x5f350a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x557b5e){const _0x3e6889=this['_decompressOperations'](_0x2228b5,_0x5f350a);await this['_fetchMissingUsers'](_0x3e6889),this['_handleExternalOperations'](_0x3e6889,_0x557b5e,_0x2228b5['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x30679c}=this['editor'];let _0x17dea0;try{_0x17dea0=await this['_service']['getDocumentDetails']();}catch{const _0x114457=P(_0x30679c,'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'](_0x114457);}const _0x242f19=_0x17dea0['currentDocumentSession']||_0x17dea0['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x242f19['lastOperationId']){const _0xd9693=P(_0x30679c,'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'](_0xd9693);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x6775a5){const _0x1cd234=this['editor']['plugins']['get'](i);this['listenTo'](_0x1cd234,'sessionAdd:'+this['_channelId'],(_0x3a1e60,{session:_0x53108b})=>{if(_0x53108b['id']===_0x1cd234['mySessionId']){_0x3a1e60['off']();const _0x40c805=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x358ebf=_0x53108b['permissions'];_0x40c805&&_0x40c805['isEnabled']&&(_0x358ebf=_0x358ebf['filter'](_0xd68d88=>'document:write'!==_0xd68d88)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x358ebf,this['_channelId']);}}),_0x1cd234['register'](this['_channelId'],_0x6775a5);}['_initThrowingOnDataSet'](){const _0x3868c7=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5f2e96)=>{if(!_0x5f2e96[_0x5f2e96['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2bce97('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x3868c7['apply'](this['editor']['data'],_0x5f2e96);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4966a9,[_0x1d4089])=>{if(this['_document']['version'])throw new _0x2bce97('realtimecollaborationclient-init-document-already-initialized',this);_0x4966a9['stop'](),this['_setPendingAction']();const _0x5688d5=this['editor']['config']['get']('rootsAttributes'),_0x3c1083=this['_getOperationsFromInitData'](_0x1d4089,_0x5688d5);0x0==_0x3c1083['length']&&_0x3c1083['push'](new _0x399b45(0x0)),_0x4966a9['return']=this['_connectService'](_0x3c1083)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x2628fe=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x2628fe))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x1cf258,[_0x567e92,_0x210cf6])=>{_0x1cf258['stop']();const _0x37bed=this['editor']['model']['document']['getRoot'](_0x567e92);if(!this['_knownRootNames']['has'](_0x567e92)){const _0x2dbfb3=_0x210cf6&&_0x210cf6['data']?_0x210cf6['data']:'',_0x3a4b9f=_0x210cf6&&_0x210cf6['attributes']?_0x210cf6['attributes']:{};await this['_loadRoot'](_0x567e92,_0x2dbfb3,_0x3a4b9f);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x37bed['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x37bed);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x58a94b){const _0x4b5018=this['editor']['plugins']['get'](_0x564686),{connection:_0x789e01}=this['editor']['plugins']['get'](n),_0x3954fa=new Set();for(const _0xaeca4f of _0x58a94b){const _0x2a10ea=_0xaeca4f['_authorId'];_0x2a10ea&&!_0x4b5018['getUser'](_0x2a10ea)&&_0x3954fa['add'](_0x2a10ea);}if(0x0===_0x3954fa['size'])return;const _0x218755=await ut['getMany'](_0x789e01,Array['from'](_0x3954fa));for(const _0x19d7c9 of _0x218755)_0x4b5018['getUser'](_0x19d7c9['id'])||_0x4b5018['addUser'](_0x19d7c9);}['_getOperationsFromInitData'](_0x20c16e,_0x2d77d6={}){const _0x185ab7=this['editor']['model'],_0x3fc8e6=[];let _0x65c340=0x0;const _0x16a1c6='string'==typeof _0x20c16e?{'main':_0x20c16e}:_0x20c16e;for(const _0x1097af of Object['keys'](_0x16a1c6)){if(!this['_document']['roots']['has'](_0x1097af))throw new _0x2bce97('realtimecollaborationclient-init-non-existent-root',this);const _0x30786c=this['editor']['data']['parse'](_0x16a1c6[_0x1097af]),_0x5554ba=this['_document']['getRoot'](_0x1097af),_0x36c189=new _0x3a5e47(_0x185ab7['createPositionAt'](_0x5554ba,0x0),_0x30786c,_0x65c340++);_0x3fc8e6['push'](_0x36c189);for(const [_0x43f2fd,_0x15567a]of _0x30786c['markers']){const _0x516db9=_0x185ab7['createRange'](_0x185ab7['createPositionFromPath'](_0x5554ba,_0x15567a['start']['path']['slice']()),_0x185ab7['createPositionFromPath'](_0x5554ba,_0x15567a['end']['path']['slice']())),_0x57a688=new _0x4ea834(_0x43f2fd,null,_0x516db9,_0x185ab7['markers'],!0x0,_0x65c340++);_0x3fc8e6['push'](_0x57a688);}}if(_0x2d77d6)for(const [_0x30126e,_0x2b0c0e]of Object['entries'](_0x2d77d6)){const _0x146076=_0x185ab7['document']['getRoot'](_0x30126e);if(!_0x146076)throw new _0x2bce97('multi-root-editor-root-attributes-no-root',null);for(const [_0x205eaf,_0x3b6851]of Object['entries'](_0x2b0c0e))if(null!==_0x3b6851){const _0x19fbef=new _0x5019a7(_0x146076,_0x205eaf,null,_0x3b6851,_0x65c340++);_0x3fc8e6['push'](_0x19fbef);}}return _0x3fc8e6;}async['_loadRoot'](_0x5f05b9,_0x49bf36,_0x32a8da){this['_getOperationsFromInitData']({[_0x5f05b9]:_0x49bf36},{[_0x5f05b9]:_0x32a8da})['forEach']((_0x172d73,_0x2e3bad)=>{_0x172d73['baseVersion']=this['_document']['version']+_0x2e3bad,_0x172d73['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x172d73);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xfbb68f,_0x2b953a){let _0x1b1d14;this['_offset']=_0xfbb68f['offset'];const _0x1d2d38=_0xfbb68f['wereChangesApplied']&&!_0xfbb68f['initData'],_0x2c7b31=_0x1d2d38?0x0:_0xfbb68f['data']['baseVersion'];if(_0x2b953a['forEach'](_0x3b857e=>{_0x3b857e['_isInit']=!0x0,_0x3b857e['createdAt']=_0xfbb68f['sessionCreatedAt'],_0x3b857e['_authorId']=null;}),_0x1d2d38)_0x1b1d14=_0x2b953a,this['_applyOperationsSet'](_0x1b1d14,_0x1d2d38);else{if(_0xfbb68f['initData']){const _0x524670=this['_getOperationsFromInitData'](_0xfbb68f['initData']);this['_document']['history']['version']=-_0x524670['length'],_0x524670['forEach'](_0x28f5b0=>{_0x28f5b0['baseVersion']-=_0x524670['length'],_0x28f5b0['createdAt']=_0xfbb68f['sessionCreatedAt'],_0x28f5b0['_isInit']=!0x0,_0x28f5b0['_authorId']=null;}),this['_applyOperationsSet'](_0x524670,!0x0),this['serverHistory']['version']=-_0x524670['length']+this['_offset'],this['_updateServerHistory'](_0x524670);}this['_document']['history']['version']=_0x2c7b31,_0x1b1d14=this['_decompressOperations'](_0xfbb68f['data'],_0xfbb68f['metadata']),await this['_fetchMissingUsers'](_0x1b1d14),this['_applyOperationsSet'](_0x1b1d14,_0x1d2d38);}_0xfbb68f['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1b1d14,_0xfbb68f['lastOperationId']),this['_lastSyncedOperationId']=_0xfbb68f['lastOperationId']),this['serverHistory']['version']=_0x2c7b31+this['_offset'],this['_updateServerHistory'](_0x1b1d14),_0x2b953a['filter'](_0x54d850=>{const _0x4f525e=this['_getAffectedRoot'](_0x54d850);return _0x4f525e&&!this['_knownRootNames']['has'](_0x4f525e);})['forEach']((_0x15b97c,_0x1729d2)=>{_0x15b97c['baseVersion']=this['_document']['version']+_0x1729d2,this['_saveOperationInBuffer'](_0x15b97c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x342d41,_0x3a8c74){const _0x2f4dda=_0x3a8c74&&_0x3a8c74['message'];if(_0x2f4dda&&_0x2f4dda['startsWith']('realtimecollaborationclient'))throw _0x3a8c74;const _0x388621=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x388621['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2bce97(_0x342d41,this['editor'],_0x2f4dda?{'originalError':_0x2f4dda}:void 0x0);}['_saveOperationInBuffer'](_0x2cc567){this['_knownOperations']['has'](_0x2cc567)||(this['_knownOperations']['add'](_0x2cc567),this['_bufferedOperations']['push'](_0x2cc567),this['_pendingAction']||'marker'==_0x2cc567['type']&&!_0x2cc567['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x27206f=!0x1){!_0x27206f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x44f15d=>{_0x44f15d&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1a54a4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x575fa9){return _0x575fa9['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x575fa9['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x575fa9['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1a54a4)||this['_crash'](_0x1a54a4['message'],_0x1a54a4);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x35e7c2=>{this['on']('change:_isPendingUpdate',()=>{_0x35e7c2();});});}async['_sendBufferedOperations'](){const _0x2ac621=this['editor']['plugins']['get'](D);if(this['_shouldSendSelectionUpdate']()&&(_0x2ac621['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x3809bc=[...this['_bufferedOperations']];for(const _0x204376 of _0x3809bc)_0x204376['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204376);const _0x96bc8f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x3809bc),_0x503202=N++,_0x1048cc=this['_compressOperations'](_0x3809bc),_0xfb1bc=await this['_service']['sendOperations'](_0x1048cc,_0x1048cc['baseVersion'],_0x96bc8f);try{return await this['_handleServerResponse'](_0x3809bc,_0xfb1bc,_0x503202);}catch(_0x28be0b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x28be0b);}}async['_handleServerResponse'](_0x401bcb,_0x22046b,_0x51a01b){if('error'in _0x22046b)throw _0x22046b['error'];let _0x20b2bf=!0x1;if(_0x22046b['wereChangesApplied']){_0x22046b['lastOperationId']&&(this['_lastSyncedOperationId']=_0x22046b['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x483982=>!_0x401bcb['includes'](_0x483982));for(const _0x370138 of _0x401bcb)_0x370138['createdAt']='lastOperationAcceptedAt'in _0x22046b&&_0x22046b['lastOperationAcceptedAt']||void 0x0;x(_0x401bcb,_0x22046b['version']-_0x401bcb['length']),this['_updateServerHistory'](_0x401bcb);const _0x11719e=_0x401bcb['filter'](_0xa1a536=>{if(!_0xa1a536['_isInit'])return!0x1;const _0x346373=this['_getAffectedRoot'](_0xa1a536);return _0x346373&&!this['_knownRootNames']['has'](_0x346373);});x(_0x11719e,this['_document']['version']),this['_applyOperationsSet'](_0x11719e),_0x20b2bf=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2a9c95=this['_decompressOperations'](_0x22046b['data'],_0x22046b['metadata'])['filter'](_0x211dcc=>_0x211dcc['baseVersion']>=this['_lastServerVersion']);_0x2a9c95['forEach'](_0x3f4468=>this['_addKnownRoot'](_0x3f4468)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x23c591=>!_0x23c591['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x23c591))),this['_bufferedOperations']['length']&&x(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2a9c95),_0x20b2bf=this['_handleExternalOperations'](_0x2a9c95,_0x22046b['version'],_0x22046b['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x20b2bf?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x37ffbd,_0x345261,_0x501940){try{const _0x2c62ae={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3e297b,operationsB:_0x59db9b,originalOperations:_0x488eb5}=_0x117a9b(_0x37ffbd,this['_bufferedOperations'],_0x2c62ae);x(_0x3e297b,this['_document']['version']),x(_0x59db9b,_0x345261);for(const _0x4fc98b of _0x3e297b){const _0x5b1361=_0x488eb5['get'](_0x4fc98b);_0x4fc98b['_authorId']=_0x5b1361?_0x5b1361['_authorId']:null;}_0x501940&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x37ffbd,_0x501940),this['_lastSyncedOperationId']=_0x501940),this['_bufferedOperations']=[..._0x59db9b],this['_applyOperationsSet'](_0x3e297b),this['_updateServerHistory'](_0x37ffbd);}catch(_0x46e214){return console['error'](_0x46e214),!0x1;}return!0x0;}['_applyOperationsSet'](_0x38f232,_0x12e319=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x313aae=>{for(const _0x3bbcfa of _0x38f232)this['_knownOperations']['add'](_0x3bbcfa),this['_addKnownRoot'](_0x3bbcfa),_0x313aae['batch']['addOperation'](_0x3bbcfa),this['editor']['model']['applyOperation'](_0x3bbcfa);});}['_addKnownRoot'](_0xc4ab1d){const _0x14386f=this['_getAffectedRoot'](_0xc4ab1d);_0x14386f&&this['_knownRootNames']['add'](_0x14386f);}['_getAffectedRoot'](_0x1d493b){let _0x18f731,_0x19c8a5;switch(_0x1d493b['type']){case'insert':_0x18f731=_0x1d493b['position']['root'];break;case'marker':if(_0x19c8a5=_0x1d493b['newRange'],!_0x19c8a5)return null;_0x18f731=_0x19c8a5['root'];break;case'addRootAttribute':_0x18f731=_0x1d493b['root'];break;case'addRoot':_0x18f731=_0x1d493b['affectedSelectable'];break;case'move':_0x18f731=_0x1d493b['targetPosition']['root'];break;default:return null;}return _0x18f731['rootName'];}['_updateServerHistory'](_0x3b277c){_0x3b277c['forEach'](_0x38c814=>{const _0x4e48fa=_0x38c814['clone']();_0x4e48fa['_authorId']=_0x38c814['_authorId'],_0x4e48fa['_isInit']=!!_0x38c814['_isInit'],_0x4e48fa['createdAt']=_0x38c814['createdAt'],_0x4e48fa['baseVersion']+=this['_offset'],_0x38c814['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4e48fa),this['serverHistory']['addOperation'](_0x4e48fa);});}['_handleReconnectionError'](_0x148d87){const _0x3fa40a=this['editor']['plugins']['get']('Notification'),_0x1f697c=this['editor']['locale'];_0x148d87||(_0x148d87=P(_0x1f697c,'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.')),_0x3fa40a['showWarning'](_0x148d87,{'title':P(_0x1f697c,'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'](_0x2fc7e3)['add'](P(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fc7e3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5e496a){const _0x279b0b=_0x5e496a['map'](_0x43639f=>_0x43639f['toJSON']());return this['_compressor']['compress'](_0x279b0b);}['_decompressOperations'](_0x38c055,_0x43d0e7){return this['_compressor']['decompress'](_0x38c055)['map']((_0x5920ae,_0x5ce1fa)=>{const _0x1969c8='init'==_0x43d0e7[_0x5ce1fa]['type'];if('InsertOperation'==_0x5920ae['__className']){const _0x243c49=_0x5920ae['position']['root'];!this['_document']['getRoot'](_0x243c49)&&(this['_document']['createRoot']('$root',_0x243c49)['_isAttached']=!0x1);}const _0x171b95=_0x25bca7['fromJSON'](_0x5920ae,this['_document']);return _0x171b95['wasUndone']=_0x5920ae['wasUndone'],_0x171b95['_isInit']=_0x1969c8,_0x171b95['_authorId']=_0x1969c8?null:_0x43d0e7[_0x5ce1fa]['userId'],_0x171b95['_isDisconnection']='cs:removeUser'===_0x43d0e7[_0x5ce1fa]['type'],_0x171b95['createdAt']=_0x43d0e7[_0x5ce1fa]['createdAt'],_0x171b95;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x26c5b8=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x26c5b8&&_0x26c5b8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class B extends Error{}function x(_0x265c73,_0x4e7c19){for(const _0x56a5d3 of _0x265c73)_0x56a5d3['baseVersion']=_0x4e7c19++;}class M{['_ignoredOperations'];['_operationToId'];constructor(_0x5d35d4){this['_ignoredOperations']=_0x5d35d4,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x58fc49){let _0x375a54=_0x58fc49['length'];for(;_0x375a54--;){const _0x3eec71=_0x58fc49[_0x375a54];if(!this['_ignoredOperations']['has'](_0x3eec71)){if(!this['_operationToId']['has'](_0x3eec71)){const _0x4a7541=_0x566030()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3eec71,_0x4a7541);}return this['_operationToId']['get'](_0x3eec71);}}}['setIdForTheLastOperation'](_0x2a6686,_0x882cd2){if(!_0x882cd2)return;let _0xc37b33=_0x2a6686['length'];for(;_0xc37b33--;){const _0x2a0fe1=_0x2a6686[_0xc37b33];this['_ignoredOperations']['has'](_0x2a0fe1)||this['_operationToId']['set'](_0x2a0fe1,_0x882cd2);}}}class a extends _0x5b4332{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x2e1c2e{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x86f88e)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x564686];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x15d5c0){super(_0x15d5c0),this['_services']=new Map();}async['init'](){const _0x38cda3=this['context'],_0x14efc1=_0x38cda3['plugins']['get']('CommentsRepository');if(_0x38cda3['plugins']['get'](n)['addToReconnectionStack'](this),_0x14efc1['adapter']={'addCommentThread':async({channelId:_0x44ae54,threadId:_0x444d92,comments:_0x477fbb,resolvedAt:_0x407a35,resolvedBy:_0x5d6bb0,context:_0x13ce5d,attributes:_0x5dc89f})=>{const _0x411a4d=await this['_getService'](_0x44ae54)['addCommentThread']({'commentThreadId':_0x444d92,'comments':_0x477fbb['map'](_0x5c2000=>function(_0x2e94b6,_0x45528d,_0x48cdbd){return{'commentThreadId':_0x48cdbd,'commentId':_0x2e94b6['commentId'],'userId':_0x2e94b6['authorId'],'content':_0x2e94b6['content'],'documentId':_0x45528d,'createdAt':_0x2e94b6['createdAt'],'attributes':_0x2e94b6['attributes']||{}};}(_0x5c2000,_0x44ae54,_0x444d92)),'resolvedAt':_0x407a35,'resolvedBy':_0x5d6bb0,'context':_0x13ce5d,'attributes':_0x5dc89f})['catch'](ft);return{'threadId':_0x411a4d['commentThreadId'],'comments':_0x411a4d['comments']};},'getCommentThread':async({channelId:_0x263381,threadId:_0x376981})=>{const _0x58e4b4=await this['_getService'](_0x263381)['getCommentThread'](_0x376981)['catch'](f)['catch'](ft);return _0x58e4b4?_0x58e4b4['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x58e4b4]),{'threadId':_0x58e4b4['commentThreadId'],'comments':_0x58e4b4['comments']['map'](p),'context':_0x58e4b4['context'],'resolvedAt':_0x58e4b4['resolvedAt'],'resolvedBy':_0x58e4b4['resolvedBy'],'attributes':_0x58e4b4['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x575987,threadId:_0x3ef10e,context:_0x565680,unlinkedAt:_0x530add,attributes:_0x49b104})=>this['_getService'](_0x575987)['updateCommentThread']({'commentThreadId':_0x3ef10e,'context':_0x565680,'attributes':_0x49b104,'unlinkedAt':_0x530add})['catch'](f)['catch'](ft),'resolveCommentThread':async({channelId:_0x259ada,threadId:_0x34ce8f})=>{const _0x256be7=await this['_getService'](_0x259ada)['resolveCommentThread'](_0x34ce8f)['catch'](f)['catch'](ft);return{'threadId':_0x256be7['commentThreadId'],'resolvedAt':_0x256be7['resolvedAt'],'resolvedBy':_0x256be7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x5319fb,threadId:_0x2879ca})=>this['_getService'](_0x5319fb)['reopenCommentThread'](_0x2879ca)['catch'](f)['catch'](ft),'removeCommentThread':({channelId:_0x4a495b,threadId:_0x20079b})=>this['_getService'](_0x4a495b)['removeCommentThread'](_0x20079b)['catch'](f)['catch'](ft),'addComment':({channelId:_0x3d51fe,threadId:_0x206a40,commentId:_0x57a6e7,content:_0x55c771,attributes:_0x507e26})=>this['_getService'](_0x3d51fe)['addComment'](_0x206a40,_0x57a6e7,_0x55c771,_0x507e26)['catch'](ft),'updateComment':({channelId:_0x1572ca,threadId:_0xee6aed,commentId:_0x32fd9d,content:_0x2f00f4,attributes:_0x4b1cf6})=>this['_getService'](_0x1572ca)['updateComment'](_0xee6aed,_0x32fd9d,_0x2f00f4,_0x4b1cf6)['catch'](f)['catch'](ft),'removeComment':({channelId:_0x4aa10e,threadId:_0x23dac9,commentId:_0x33a7dc})=>this['_getService'](_0x4aa10e)['removeComment'](_0x23dac9,_0x33a7dc)['catch'](f)['catch'](ft)},_0x38cda3 instanceof _0x475de3){const _0x588102=_0x38cda3['config']['get']('collaboration.channelId'),_0x3293bf=_0x38cda3['plugins']['get'](i);await this['_setUpService'](_0x588102);const _0x1034bb=await this['_services']['get'](_0x588102)['getConnectedSessions']();this['listenTo'](_0x3293bf,'sessionAdd:'+_0x588102,(_0x1f3ba3,{session:_0x252204})=>{_0x252204['id']===_0x3293bf['mySessionId']&&(_0x1f3ba3['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x252204['permissions'],_0x588102));}),_0x3293bf['register'](_0x588102,_0x1034bb);}}async['_setUpService'](_0x5da9d0){if(this['_services']['has'](_0x5da9d0))throw new _0x2bce97('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x5da9d0});const _0x929ff8=this['context']['plugins']['get']('CommentsRepository'),_0x2cf170=new s['CommentsService'](_0x5da9d0);this['_services']['set'](_0x5da9d0,_0x2cf170),this['listenTo'](_0x2cf170,'commentThreadAdded',(_0x1ffc8c,_0xe5b65f)=>{const {commentThreadId:_0x19ddd2,documentId:_0x54c1ef,context:_0x5dd511,attributes:_0x39f98d,resolvedAt:_0x50ac4e,resolvedBy:_0x5d744e,comments:_0x3c8251}=_0xe5b65f;_0x929ff8['getCommentThread'](_0x19ddd2)||_0x929ff8['addCommentThread']({'threadId':_0x19ddd2,'channelId':_0x54c1ef,'comments':_0x3c8251?_0x3c8251['map'](p):[],'context':_0x5dd511,'attributes':_0x39f98d,'resolvedAt':_0x50ac4e,'resolvedBy':_0x5d744e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadUpdated',(_0xce902,{commentThreadId:_0x5d4d18,documentId:_0x5a12f9,context:_0x2e9c3c,unlinkedAt:_0x463723,attributes:_0x338493})=>{_0x929ff8['getCommentThread'](_0x5d4d18)&&_0x929ff8['updateCommentThread']({'threadId':_0x5d4d18,'channelId':_0x5a12f9,'context':_0x2e9c3c,'unlinkedAt':_0x463723,'attributes':_0x338493,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadResolved',(_0x5e8151,{commentThreadId:_0x4f2015,resolvedBy:_0x5f1b75,resolvedAt:_0x253e18})=>{const _0x4779d1=_0x929ff8['getCommentThread'](_0x4f2015);_0x4779d1&&_0x4779d1['resolve']({'resolvedBy':_0x5f1b75,'resolvedAt':_0x253e18,'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadReopened',(_0x5f0d5f,{commentThreadId:_0x33969c})=>{const _0x1a89a9=_0x929ff8['getCommentThread'](_0x33969c);_0x1a89a9&&_0x1a89a9['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentThreadRemoved',(_0x3f98bd,{commentThreadId:_0x2035d9})=>{const _0x3e706f=_0x929ff8['getCommentThread'](_0x2035d9);_0x3e706f&&_0x3e706f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentAdded',(_0x576d5f,_0xd28bb6)=>{const _0x4f4bd2=_0xd28bb6['commentThreadId'],_0x5707e7=_0x929ff8['getCommentThread'](_0x4f4bd2);_0x5707e7&&_0x5707e7['addComment']({...p(_0xd28bb6),'isFromAdapter':!0x0});}),this['listenTo'](_0x2cf170,'commentUpdated',(_0x2b8119,{commentThreadId:_0x595e45,commentId:_0x29aa0f,content:_0x1e12c6,attributes:_0x5b3ac8})=>{const _0x5b5a8a=_0x929ff8['getCommentThread'](_0x595e45);if(_0x5b5a8a){const _0x3356d1=_0x5b5a8a['getComment'](_0x29aa0f);_0x3356d1&&_0x3356d1['update']({'content':_0x1e12c6,'attributes':_0x5b3ac8,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2cf170,'commentRemoved',(_0x5d91e5,{commentThreadId:_0x25ff30,commentId:_0x50d4d6})=>{const _0x1dc8f5=_0x929ff8['getCommentThread'](_0x25ff30);if(_0x1dc8f5){const _0x80ed11=_0x1dc8f5['getComment'](_0x50d4d6);_0x80ed11&&_0x80ed11['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x5da9d0);}['destroy'](){if(this['context']instanceof _0x475de3){const _0x2467b1=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2467b1);}}['_terminateService'](_0x1b6007){if(!this['_services']['has'](_0x1b6007))throw new _0x2bce97('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x1b6007});this['_getService'](_0x1b6007)['disconnect'](),this['_services']['delete'](_0x1b6007);}async['reconnect'](){for(const _0x446497 of this['_services']['keys']())await this['_connectService'](_0x446497);if(this['context']instanceof _0x475de3){const _0x340629=this['context']['config']['get']('collaboration.channelId'),_0x26b71d=this['context']['plugins']['get'](i);_0x26b71d['unregister'](_0x340629);const _0x33b2f0=await this['_services']['get'](_0x340629)['getConnectedSessions']();_0x26b71d['register'](_0x340629,_0x33b2f0);}}async['_connectService'](_0x3f252b){const {connection:_0x229200}=this['context']['plugins']['get'](n),_0x1cafd6=this['context']['plugins']['get']('CommentsRepository'),_0x110d47=this['_services']['get'](_0x3f252b),_0x3caa98=await _0x110d47['connect'](_0x229200);await this['_fetchMissingUsersForThreads'](_0x3caa98);const _0x487b50=new Set(Array['from'](_0x1cafd6['getCommentThreads']({'channelId':_0x3f252b}),_0x53390e=>_0x53390e['id']));for(const _0x3c45cb of _0x3caa98)_0x3c45cb['deletedAt']||_0x487b50['delete'](_0x3c45cb['commentThreadId']);for(const _0x591466 of _0x487b50)_0x1cafd6['getCommentThread'](_0x591466)['remove']({'isFromAdapter':!0x0});for(const _0x19df4a of _0x3caa98){let _0x296e1b=_0x1cafd6['getCommentThread'](_0x19df4a['commentThreadId']);const {commentThreadId:_0xbf2861,context:_0x49cf16,attributes:_0x45ecb5,resolvedBy:_0x4fb382,resolvedAt:_0x4334e0,unlinkedAt:_0x2c8c48,deletedAt:_0x1729c0}=_0x19df4a;if(_0x1729c0)continue;_0x296e1b||(_0x296e1b=_0x1cafd6['addCommentThread']({'channelId':_0x3f252b,'threadId':_0xbf2861,'context':_0x49cf16,'attributes':_0x45ecb5||{},'resolvedBy':_0x4fb382,'resolvedAt':_0x4334e0,'unlinkedAt':_0x2c8c48,'isFromAdapter':!0x0}));const _0x3a6420=new Set(Array['from'](_0x296e1b['comments'],_0x1eb77d=>_0x1eb77d['id']));for(const _0x4773a8 of _0x19df4a['comments'])_0x3a6420['delete'](_0x4773a8['commentId']);for(const _0xc23339 of _0x3a6420)_0x296e1b['getComment'](_0xc23339)['remove']({'isFromAdapter':!0x0});for(const _0x7f13d2 of _0x19df4a['comments']){const _0x1485b4=_0x296e1b['getComment'](_0x7f13d2['commentId']);_0x1485b4?_0x1485b4['content']!==_0x7f13d2['content']&&_0x1485b4['update']({'content':_0x7f13d2['content'],'isFromAdapter':!0x0}):_0x296e1b['addComment'](Object['assign'](p(_0x7f13d2),{'isFromAdapter':!0x0}));}}}['_getService'](_0x241855){if(!this['_services']['has'](_0x241855))throw new _0x2bce97('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x241855});return this['_services']['get'](_0x241855);}async['_fetchMissingUsersForThreads'](_0x280b89){const _0x2dc6da=this['context']['plugins']['get'](_0x564686),{connection:_0x3f6233}=this['context']['plugins']['get'](n),_0x5ab6d5=new Set();for(const {resolvedBy:_0x83e614,comments:_0x1627f1}of _0x280b89){_0x83e614&&!_0x2dc6da['getUser'](_0x83e614)&&_0x5ab6d5['add'](_0x83e614);for(const {userId:_0x4c6fd0}of _0x1627f1)_0x2dc6da['getUser'](_0x4c6fd0)||_0x5ab6d5['add'](_0x4c6fd0);}if(0x0===_0x5ab6d5['size'])return;const _0x25e459=await ut['getMany'](_0x3f6233,Array['from'](_0x5ab6d5));for(const _0x3245a7 of _0x25e459)_0x2dc6da['getUser'](_0x3245a7['id'])||_0x2dc6da['addUser'](_0x3245a7);}}async function f(_0x4bb674){if('404'!==_0x4bb674['code'])throw _0x4bb674;}function ft(_0x422905){if((_0x16d274=_0x422905)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x16d274['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x16d274['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x16d274;throw _0x422905;}function p(_0x73e649){return{'threadId':_0x73e649['commentThreadId'],'commentId':_0x73e649['commentId'],'content':_0x73e649['content'],'createdAt':_0x73e649['createdAt'],'authorId':_0x73e649['userId'],'attributes':_0x73e649['attributes']||{}};}class m extends _0x5b4332{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>rt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1c7ab5){super(_0x1c7ab5);const _0x539310=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x539310);}['init'](){const _0x18089f=this['editor']['plugins']['get'](n),_0x5db099=this['editor']['plugins']['get']('TrackChangesEditing');return _0x5db099['adapter']={'getSuggestion':async _0x568390=>{await this['_waitForServiceReady']();const _0x19c341=await this['_trackChangesService']['get'](_0x568390)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x19c341]),_0x19c341;},'addSuggestion':async({id:_0x414f73,type:_0x35bcbd,data:_0x33291c,originalSuggestionId:_0x471baa,attributes:_0x2fe503})=>{await this['_waitForServiceReady']();const _0x51b3a9={'id':_0x414f73,'type':_0x35bcbd,'data':_0x33291c,'originalSuggestionId':_0x471baa,'attributes':_0x2fe503},_0x41236c=await this['_trackChangesService']['add'](_0x414f73,_0x35bcbd,_0x33291c,_0x471baa,_0x2fe503)['catch'](_0x312ae7=>{if(mt(_0x312ae7))return new Promise(_0x4dd5d2=>{this['_bufferedRequests']['set'](_0x414f73,{'resolve':_0x4dd5d2,'suggestionData':_0x51b3a9});});throw _0x312ae7;});return this['_bufferedRequests']['delete'](_0x414f73),_0x41236c;},'updateSuggestion':async(_0x9a0b98,_0x3daa65)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3daa65['state'])return this['_trackChangesService']['update'](_0x9a0b98,_0x3daa65)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5d43d4,_0x3c5ba8)=>{_0x5db099['hasSuggestion'](_0x3c5ba8['id'])&&(_0x5db099['getSuggestion'](_0x3c5ba8['id'])['attributes']=_0x3c5ba8['attributes']);}),this['_trackChangesService']['connect'](_0x18089f['connection'])['then'](_0x11700b=>(_0x18089f['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x11700b)['then'](()=>{for(const _0x269a48 of _0x11700b){_0x5db099['addSuggestionData'](_0x269a48)['_saved']=!0x0;}})));}async['reconnect'](){const _0xa579ba=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x236985}=this['editor']['plugins']['get'](n),_0x350493=await this['_trackChangesService']['connect'](_0x236985);await this['_fetchMissingUsersForThreads'](_0x350493);for(const {suggestionData:_0x2b9864,resolve:_0x15ef2a}of this['_bufferedRequests']['values']()){let _0x8111c1=_0x350493['find'](_0x374584=>_0x374584['id']===_0x2b9864['id']);_0x8111c1||(_0x8111c1=await this['_trackChangesService']['add'](_0x2b9864['id'],_0x2b9864['type'],_0x2b9864['data'],_0x2b9864['originalSuggestionId'])),_0x15ef2a(_0x8111c1);}for(const _0xa32f84 of _0x350493)_0xa579ba['hasSuggestion'](_0xa32f84['id'])||_0xa579ba['addSuggestionData'](_0xa32f84);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x5c784c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x6ea89c=>{_0x6ea89c['off'](),_0x5c784c();});});}async['_fetchMissingUsersForThreads'](_0x3228a3){const _0x52307c=this['editor']['plugins']['get'](_0x564686),{connection:_0x3dbbcc}=this['editor']['plugins']['get'](n),_0x146f31=new Set();for(const {authorId:_0x1a880b}of _0x3228a3)_0x52307c['getUser'](_0x1a880b)||_0x146f31['add'](_0x1a880b);if(0x0===_0x146f31['size'])return;const _0x390041=await ut['getMany'](_0x3dbbcc,Array['from'](_0x146f31));for(const _0x492e0d of _0x390041)_0x52307c['getUser'](_0x492e0d['id'])||_0x52307c['addUser'](_0x492e0d);}}function A(_0x41072a){if(mt(_0x41072a))return new Promise(()=>{});throw _0x41072a;}function mt(_0x3355a8){return _0x3355a8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3355a8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x5b4332{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 _0x3d1453=this['editor']['plugins']['get'](n),_0x1bd0e3=this['editor']['plugins']['get']('CommentsEditing'),_0x11b072=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x3d1453,'change:state',(_0x16cbd6,_0x5dc679,_0x852553)=>{_0x1bd0e3['isThreadsLoadingPaused']='connected'!==_0x852553;});}),this['listenTo'](_0x3d1453,'change:state',(_0x125552,_0x5e45f5,_0x384458)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x384458);}),_0x11b072['_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 _0x5b4332{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 _0x5b4332{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>et)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x564686];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x379331){super(_0x379331);const _0x55030b=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x55030b);}async['init'](){const _0xe4ddce=this['editor']['plugins']['get'](l),_0x4b22ed=_0xe4ddce['serverHistory'],_0x2c8564=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x4b22ed,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0xe4ddce['sessionId']});const _0x55df3f=this['editor']['config']['get']('cloudServices.bundleVersion')||ht,_0x101cae=await it['isBundleUploaded'](_0x2c8564['connection'],_0x55df3f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x5c3833})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5c3833)),'updateRevisions':async _0x12e405=>{await this['_waitForServiceReady']();const _0x5bdfea=this['_revisionTracker']['currentRevision'];if(_0x101cae&&0x1===_0x12e405['length']&&_0x12e405[0x0]['id']===_0x5bdfea['id'])return _0x12e405;for(const _0x4db3aa of _0x12e405)_0x4db3aa['id']===_0x5bdfea['id']&&(_0x4db3aa['isEmptyCurrent']=_0x4db3aa['fromVersion']===_0x4db3aa['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x12e405,this['_lastRequestId'])['then'](_0x43781b=>(this['_lastRequestId']=_0x43781b,_0x12e405))['catch'](_0x134ee6=>{if(ot(_0x134ee6)||'400'===_0x134ee6['code']&&void 0x0!==_0x134ee6['data']['wrongRequestId']){for(const _0x7f4950 of _0x12e405){!this['_revisionTracker']['repository']['getRevision'](_0x7f4950['id'])||this['_revisionTracker']['_bufferUpdate'](_0x7f4950['id'],_0x7f4950,!0x1);}if(ot(_0x134ee6))throw _0x134ee6;return _0x12e405;}throw _0x134ee6;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x276f7e,{revisionsData:_0x2d53dd,requestId:_0x30c6f5})=>{Math['max'](..._0x2d53dd['map'](_0x4e94ae=>_0x4e94ae['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x2d53dd,_0x30c6f5);}):this['_handleRevisionsUpdate'](_0x2d53dd,_0x30c6f5);});const {revisions:_0x372b1f,requestId:_0x52d316}=await this['_revisionHistoryService']['connect'](_0x2c8564['connection']);_0x2c8564['addToReconnectionStack'](this),this['_lastRequestId']=_0x52d316,await this['_fetchMissingUsers'](_0x372b1f);for(const _0x1fb428 of _0x372b1f)this['_revisionTracker']['addRevisionData'](_0x1fb428);this['listenTo'](_0xe4ddce,'change:_isConnected',(_0x229129,_0x2da37d,_0x3d1d8f)=>{_0x3d1d8f&&(this['_oldOffset']=_0xe4ddce['_offset'],_0x229129['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c8564,'state',_0x4049bd=>_0x4049bd===_0x78d56b['CONNECTED']);}async['reconnect'](){const _0x372bde=this['editor']['plugins']['get'](n),_0x5dadf6=this['editor']['plugins']['get'](l),_0x3cdcca=async()=>{const _0x9b9360=this['_revisionTracker']['currentRevision'],_0x191c95=_0x9b9360['id'],_0x438832=_0x191c95!==_0x5dadf6['sessionId'];if(_0x438832){const _0x2fa368=_0x5dadf6['_offset']-this['_oldOffset'],_0x598395=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x9b9360['toVersion']+_0x2fa368!==_0x598395){const _0xb2f233=_0x9b9360['fromVersion']+_0x2fa368,_0x2326a3=this['editor']['plugins']['get'](_0x564686),_0x5a2bb1=this['_revisionTracker']['buildRevisionData']({'revision':_0x9b9360,'from':_0xb2f233,'to':_0x598395});_0x5a2bb1['id']=_0x9b9360['id'];const _0x3d7def=_0x5a2bb1['authorsIds']['map'](_0x3a54eb=>_0x2326a3['getUser'](_0x3a54eb));_0x9b9360['_update']({..._0x5a2bb1,'authors':_0x3d7def},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x9b9360['id'],_0x5a2bb1,!0x0);}this['_revisionTracker']['_startingVersion']=_0x598395,(_0x9b9360['toVersion']===_0x9b9360['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x191c95)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x191c95),this['_revisionTracker']['_createCurrentRevision'](_0x598395));}const {revisions:_0x3bd61a,requestId:_0x208f10}=await this['_revisionHistoryService']['reconnect'](_0x372bde['connection'],this['_lastRequestId']);_0x438832&&_0x3bd61a['length']>0x0?_0x5dadf6['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x3bd61a),this['_handleRevisionsUpdate'](_0x3bd61a,_0x208f10),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5dadf6['_isConnected']?_0x3cdcca():new Promise((_0x1bcc05,_0x49ef62)=>{_0x5dadf6['once']('change:_isConnected',()=>{_0x3cdcca()['then'](_0x1bcc05)['catch'](_0x49ef62);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x19af0d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x31d174=>{_0x31d174['off'](),_0x19af0d();});});}['_getLatestVersionFromServerOperations'](){const _0x278cba=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x2377eb of _0x278cba)if('marker'!==_0x2377eb['type']||_0x2377eb['affectsData'])return _0x2377eb['baseVersion']+0x1;}['_getLatestVersion'](){const _0x1174c7=this['editor']['plugins']['get'](l);return new Promise(_0x2a6990=>{_0x1174c7['_isPendingUpdate']?_0x1174c7['once']('change:_isPendingUpdate',()=>{_0x2a6990(this['_getLatestVersionFromServerOperations']());}):_0x2a6990(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1687eb,_0x1e53cf){const _0x32acf3=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1e53cf;for(const _0x1b1d98 of _0x1687eb){const _0x243b13=_0x32acf3['getRevision'](_0x1b1d98['id']);if(_0x243b13){if((_0x1b1d98['fromVersion']||_0x1b1d98['toVersion'])&&(_0x1b1d98['diffData']=null),_0x243b13===this['_revisionTracker']['currentRevision']){const _0xfcb53=Math['max'](_0x243b13['toVersion'],_0x1b1d98['toVersion']),_0x457774=Math['max'](_0x243b13['fromVersion'],_0x1b1d98['fromVersion']);let _0x3c85bc;_0x243b13['toVersion']===_0x1b1d98['toVersion']&&_0x243b13['fromVersion']===_0x1b1d98['fromVersion']?(_0x3c85bc=!0x0,this['_preventResendingRevisionData'](_0x1b1d98)):_0x1b1d98['toVersion']===_0xfcb53&&_0x1b1d98['fromVersion']===_0x457774?_0x3c85bc=!0x1:(_0x243b13['toVersion']===_0xfcb53&&_0x243b13['fromVersion']===_0x457774||this['_fixRevision']({'revision':_0x243b13,'from':_0x457774,'to':_0xfcb53}),_0x3c85bc=!0x0),_0x3c85bc&&(delete _0x1b1d98['fromVersion'],delete _0x1b1d98['toVersion'],delete _0x1b1d98['diffData'],delete _0x1b1d98['createdAt'],delete _0x1b1d98['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1b1d98),this['_preventResendingRevisionData'](_0x1b1d98);}else this['_revisionTracker']['addRevisionData'](_0x1b1d98);}const _0xf27c9d=_0x32acf3['getRevisions']();_0xf27c9d['reverse']();for(let _0x2ae8a2=0x0;_0x2ae8a2<_0xf27c9d['length']-0x1;_0x2ae8a2++){const _0x21d5f8=_0xf27c9d[_0x2ae8a2],_0x5c27e2=_0xf27c9d[_0x2ae8a2+0x1];if(_0x21d5f8['fromVersion']<_0x5c27e2['toVersion']){const _0x20dba5=_0x5c27e2['toVersion'],_0x50dc8b=Math['max'](_0x20dba5,_0x21d5f8['toVersion']);this['_fixRevision']({'revision':_0x21d5f8,'from':_0x20dba5,'to':_0x50dc8b});}}}['_fixRevision']({revision:_0xf2da92,from:_0x27c090,to:_0x478af2}={}){const _0x5d9289=this['editor']['plugins']['get'](_0x564686),_0x239f54=this['_revisionTracker']['buildRevisionData']({'revision':_0xf2da92,'from':_0x27c090,'to':_0x478af2});_0x239f54['authors']=_0x239f54['authorsIds']['map'](_0x26a30d=>_0x5d9289['getUser'](_0x26a30d)),_0xf2da92['_update'](_0x239f54);}['_preventResendingRevisionData'](_0x44b54a){const _0xf0d0c0={};_0xf0d0c0['id']=_0x44b54a['id'];for(const _0x5dcb02 of Object['keys'](_0x44b54a))'id'!==_0x5dcb02&&(_0xf0d0c0[_0x5dcb02]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0xf0d0c0['id'],_0xf0d0c0,!0x0);}async['_fetchMissingUsers'](_0x4b43ea){const _0x349804=this['editor']['plugins']['get'](_0x564686),{connection:_0x3a54e2}=this['editor']['plugins']['get'](n),_0xb46568=new Set();for(const _0x2d7970 of _0x4b43ea){for(const _0x18fb97 of _0x2d7970['authorsIds'])_0x557a98(_0x18fb97);_0x2d7970['creatorId']&&_0x557a98(_0x2d7970['creatorId']);}if(0x0===_0xb46568['size'])return;const _0x6506f=await ut['getMany'](_0x3a54e2,Array['from'](_0xb46568));for(const _0x4b59d7 of _0x6506f)_0x349804['getUser'](_0x4b59d7['id'])||_0x349804['addUser'](_0x4b59d7);function _0x557a98(_0x52fb34){_0x349804['getUser'](_0x52fb34)||_0xb46568['add'](_0x52fb34);}}}function ot(_0x14ec44){return _0x14ec44['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x14ec44['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x14ec44['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x5b4332{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class X extends _0x474a7b{['_collapseAt'];constructor(_0x92e007,_0x2b1ded=0x6){super(_0x92e007);const _0x1e0c37=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2b1ded,this['bind']('isHidden')['to'](this,'usersCount',_0x219aa5=>_0x219aa5<_0x2b1ded),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1e0c37['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':_0x1e0c37['to']('usersCount',_0x582501=>'+'+(_0x582501-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x474a7b{['items'];['keystrokes'];constructor(_0x87c37a){super(_0x87c37a);const _0x1e6cb6=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x265acb(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x1e6cb6['if']('hasPopup'),'aria-expanded':_0x1e6cb6['to']('isExpanded',_0x132a01=>this['hasPopup']&&String(_0x132a01)),'aria-label':_0x1e6cb6['to']('hasPopup',_0x1a416a=>P(_0x87c37a,_0x1a416a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x1e6cb6['to']('hasPopup',_0x10e0ee=>!!_0x10e0ee&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x1e6cb6['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x1e6cb6['to'](_0x138a36=>{const _0x5e687b=_0x138a36,_0x1b6866=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1236c2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1b6866?.['contains'](_0x5e687b['relatedTarget'])||_0x1236c2?.['contains'](_0x5e687b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x5a5f4b,_0x109b9a,_0x4723f2)=>{this['element']&&(_0x4723f2?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 Q extends _0x474a7b{['counterView'];['inlineListView'];constructor(_0x2d5c59,_0x466778=0x6){super(_0x2d5c59);const _0x29ed11=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new X(this['locale'],_0x466778),this['inlineListView']=new is(_0x2d5c59),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0xf3a99d of this['inlineListView']['items'])_0xf3a99d['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',_0x29ed11['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class Y extends _0x474a7b{['listWrapperView'];constructor(_0x45b4eb,_0x34f949){super(_0x45b4eb);const _0x10f100=this['bindTemplate'];this['listWrapperView']=new wt(_0x45b4eb,_0x34f949),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':P(_0x45b4eb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x10f100['to'](_0x1e8f8a=>{const _0x17b448=_0x1e8f8a,_0x5cff0a=document['querySelector']('.ck-presence-list__list'),_0x4b2b0c=document['querySelector']('.ck-balloon-panel_with-arrow');_0x5cff0a?.['contains'](_0x17b448['relatedTarget'])||_0x4b2b0c?.['contains'](_0x17b448['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class wt extends _0x4c8996{constructor(_0x594980,_0x45dcb8){super(_0x594980);const _0x2cdd1e=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x45dcb8?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2cdd1e['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2cdd1e['to']('role'),'aria-label':_0x2cdd1e['to']('ariaLabel'),'aria-labelledby':_0x2cdd1e['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0xce7c42['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x330475=this['element'];_0x330475&&(this['_isScrollable']=Math['max'](_0x330475['scrollHeight'],_0x330475['clientHeight'])>0.8*window['innerHeight']);}}class Z extends ct{['userView'];constructor(_0x2c0e97,_0x273f86,_0x36b305){super(_0x2c0e97);const _0x57b0f1=this['bindTemplate'];this['userView']=new at(_0x2c0e97,_0x273f86);const _0x2f7885={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x273f86['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x273f86['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x273f86['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x36b305&&(_0x2f7885['tag']='button',_0x2f7885['on']={'click':_0x57b0f1['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2f7885);}['focus'](){this['element']['focus']();}}class tt extends _0x474a7b{['userView'];['markerView'];constructor(_0xcd8c97,_0x236328,_0x38082c){super(_0xcd8c97);const _0x1cf5ed=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new at(_0xcd8c97,_0x236328),this['markerView']=new nt(_0xcd8c97,_0x236328);const _0x2bfa48=new lt(_0xcd8c97);_0x2bfa48['template']['tag']='span',_0x2bfa48['text']=_0x236328['name'];const _0x506468={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1cf5ed['to']('isFocusable',_0x5f461c=>!!_0x5f461c&&0x0),'aria-labelledby':_0x2bfa48['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1cf5ed['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1cf5ed['to']('hasTooltip',_0x42fabd=>!_0x42fabd),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x2bfa48]};_0x38082c&&(_0x506468['tag']='button',_0x506468['on']={'click':_0x1cf5ed['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x506468);}}class nt extends _0x474a7b{constructor(_0x15bbf4,_0x1d6168){super(_0x15bbf4),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1d6168['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const st={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x2e1c2e{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2e929d){super(_0x2e929d),this['context']['config']['define']('presenceList',st);const _0x43c977=_0x2e929d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x43c977)throw new _0x2bce97('presencelist-collapseat-invalid-format',this);if(_0x43c977<0x1)throw new _0x2bce97('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2c7c4(),this['balloonPanelView']=new _0x5b9ec9(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x126125 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x126125);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5992e6,_0x16e8af)=>{this['_handleUserAdd'](_0x16e8af);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x51f878,_0x2895b5)=>{this['_handleUserRemove'](_0x2895b5);});}['_createView'](){const _0x40af8a=this['context'],_0x4fbb0b=new Q(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x2d1949=this['balloonPanelView'];if(!_0xef8e80(_0x40af8a['config']['get']('presenceList.container')))throw new _0x2bce97('presencelist-missing-container',this);return _0x4fbb0b['counterView']['bind']('usersCount')['to'](this),_0x4fbb0b['bind']('isCollapsed')['to'](this,'usersCount',_0x237aec=>{const {collapseAt:_0x418c7a}=_0x40af8a['config']['get']('presenceList'),_0xeac37d=_0x237aec>=_0x418c7a;if(_0xeac37d&&!_0x4fbb0b['inlineListView']['items']['find'](_0x27eb71=>_0x27eb71 instanceof X)){const _0x26e169=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x26e169&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x4fbb0b['inlineListView']['items']['add'](_0x4fbb0b['counterView']);}return _0xeac37d||this['hideDropdown'](),_0xeac37d;}),_0x4fbb0b['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x4d1b2c=>{const _0xc722af=_0x40af8a['config']['get']('presenceList'),_0x172399=new tt(_0x40af8a['locale'],_0x4d1b2c,!!_0xc722af['onClick']);return _0x172399['bind']('hasTooltip')['to'](_0x4fbb0b,'isCollapsed',_0x362514=>!_0x362514),_0x172399['bind']('isFocusable')['to'](_0x4fbb0b,'isCollapsed',_0x19c1f4=>!_0x19c1f4),_0xc722af['onClick']&&this['listenTo'](_0x172399,'execute',()=>{this['view']['isCollapsed']||_0xc722af['onClick'](_0x4d1b2c,_0x172399['element']);}),_0x172399;}),this['listenTo'](_0x4fbb0b['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x4fbb0b['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x4fbb0b['inlineListView']['keystrokes']['set']('Enter',(_0x2fbf44,_0x3688d8)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x3688d8());}),_0x4fbb0b['render'](),_0x2d1949['render'](),_0x52645d({'emitter':_0x4fbb0b,'activator':()=>_0x2d1949['isVisible'],'contextElements':[_0x2d1949['element'],_0x4fbb0b['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x40af8a['config']['get']('presenceList.container')['appendChild'](_0x4fbb0b['element']),this['_bodyCollection']=new _0x51a795(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x4fbb0b;}['_handleUserAdd'](_0x44c49c){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x44c49c['isMe'])return;const _0x3974c5=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3974c5-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x28731f=_0x44c49c['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x44c49c,_0x28731f);}['_handleUserRemove'](_0x1ed04d){this['usersCount']--;const {collapseAt:_0x51e816}=this['context']['config']['get']('presenceList'),_0x2e5142=this['usersCount']>=_0x51e816;if(this['currentDisplayedUsers']['get'](_0x1ed04d['id']))this['currentDisplayedUsers']['remove'](_0x1ed04d['id']);else{if(_0x2e5142&&this['currentDisplayedUsers']['length']+0x1===_0x51e816-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x2e5142?0x1:0x0)<this['usersCount']){for(const _0x5e11f2 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e11f2['id'])&&(this['currentDisplayedUsers']['add'](_0x5e11f2,Math['min'](this['currentDisplayedUsers']['length']-(_0x2e5142?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x2e5142?0x1:0x0)===_0x51e816-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1b590a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new Y(this['context']['locale'],!!_0x1b590a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x3508d7}=this['presenceDropdownView'];_0x3508d7['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x4b28b8=>{if(!_0x1b590a['displayMe']&&_0x4b28b8['isMe'])return null;const _0x16d22f=new Z(this['context']['locale'],_0x4b28b8,!!_0x1b590a['onClick']);return _0x1b590a['onClick']&&this['listenTo'](_0x16d22f,'execute',()=>{_0x1b590a['onClick'](_0x4b28b8,_0x16d22f['element']);}),_0x16d22f;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x3508d7['focus'](),_0x3508d7['checkIfScrollable']();const _0x53aecf=(_0x468b00,_0x3c78d2)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3c78d2();};_0x3508d7['keystrokes']['set']('Esc',_0x53aecf),_0x3508d7['keystrokes']['set']('Shift+Tab',_0x53aecf),_0x3508d7['keystrokes']['set']('Tab',(_0x326aa9,_0x3ba59b)=>{!function(_0x26ab18){const _0x36fc30=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0xb15f84=>_0xb15f84+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x245458=[...document['body']['querySelectorAll'](_0x36fc30)]['filter'](_0x5f8467=>_0x5f8467===document['activeElement']||_0x5f8467['offsetWidth']+_0x5f8467['offsetHeight']>0x0)['sort']((_0x304510,_0xbf845)=>(_0x304510['tabIndex']||0x0)-(_0xbf845['tabIndex']||0x0)),_0xf500c0=_0x245458['indexOf'](_0x26ab18),_0x4d2952=_0x245458[(_0xf500c0+0x1)%_0x245458['length']];_0x4d2952&&_0x4d2952['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3ba59b();}),_0x3508d7['focusTracker']['add'](this['view']['element']),_0x3508d7['focusTracker']['on']('change:isFocused',(_0x6b0cb4,_0x4ae967,_0x3936bf)=>{_0x3936bf||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 _0x2e1c2e{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};