@ckeditor/ckeditor5-real-time-collaboration 47.4.0-alpha.3 → 47.4.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 _0x1a80af,Plugin as _0x232b47,PendingActions as _0x442e85,Context as _0x385ab6}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x15cddd,CKEditorError as _0x529824,Collection as _0x462cb9,global as _0x201d53,version as nt,uid as _0x4bb96a,KeystrokeHandler as _0x2494c}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3a6344,View as _0x210562,ListView as _0x4fbea9,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x581a51,clickOutsideHandler as _0x4762a9,BodyCollection as _0x2f368f}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x1ce98f,History as _0x2afaa7,NoOperation as _0x54fab5,InsertOperation as _0x52a187,MarkerOperation as _0x2cd4a0,RootAttributeOperation as _0x5ed840,transformOperationSets as _0x498326,OperationFactory as _0x406a32}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x2c56b6,User as lt,CommentsService as _0x229c97,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x1ff91e,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x26a909}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3d9807}from'es-toolkit/compat';class n extends _0x1a80af{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3a6344];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5873c7){super(_0x5873c7),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x15cddd())();}['init'](){const _0x5beb12=this['context'],_0x137873=_0x5beb12['plugins']['get']('CloudServices'),_0x486337=_0x5beb12['plugins']['get'](_0x3a6344);if(!_0x137873['token'])throw new _0x529824('websocketgateway-missing-token',this);if(!_0x137873['webSocketUrl'])throw new _0x529824('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'](_0x137873['token'],_0x137873['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x8dc9f7=>{if(this['connection']=_0x8dc9f7,this['bind']('state')['to'](_0x8dc9f7,'state',this,'_isBrowserOffline',(_0x43510f,_0x5c95c9)=>('connected'!==_0x43510f&&(this['_shouldPluginsReconnect']=!0x0),_0x5c95c9||_0x43510f!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0xe76ffb,_0x3d754c)=>{if('limitExceeded'!==_0x3d754c['code'])throw console['error'](_0x3d754c),new _0x529824('cloudservices-init',null,{'originalError':_0x3d754c});_0x486337['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'});}),!_0x8dc9f7['me'])return new Promise(_0x33d9f3=>_0x8dc9f7['on']('change:me',_0x33d9f3));})['catch'](_0x376926=>{throw console['error'](_0x376926),new _0x529824('cloudservices-init',null,{'originalError':_0x376926});});}['addToReconnectionStack'](_0x56d45a){if('function'!=typeof _0x56d45a['reconnect'])throw new _0x529824('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x56d45a))throw new _0x529824('websocketgateway-plugin-already-registered',this,{'name':_0x56d45a['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x56d45a);}['removeFromReconnectionStack'](_0x1eb6e5){this['_reconnectionStack']['delete'](_0x1eb6e5);}['isInReconnectionStack'](_0xce74aa){return this['_reconnectionStack']['has'](_0xce74aa);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x296369=>_0x296369['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x2b8199=>{throw console['error'](_0x2b8199),new _0x529824('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x1a80af{['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,_0x1ff91e];}constructor(_0x46d716){super(_0x46d716),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x462cb9(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x1ff91e);}['init'](){const _0x5e9679=this['context']['plugins']['get'](n);this['listenTo'](_0x5e9679,'change:state',(_0x2afe8c,_0x2dfc84,_0xa4fdab)=>{if('connected'!==_0xa4fdab)this['channelSessions']['forEach'](_0x506a7c=>_0x506a7c['clear']()),this['channelConnectedUsers']['forEach'](_0x206185=>_0x206185['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x17250d,_0xcc91a0]of this['_registeredSessions'])for(const _0x55b402 of _0xcc91a0)this['_handleSessionAdd'](_0x17250d,_0x55b402);}}),this['_createUser'](_0x5e9679['connection']['me'],!0x0);}['register'](_0x4d873e,_0x560e07){if(this['_registeredSessions']['has'](_0x4d873e))throw new _0x529824('sessions-register-already-registered',null,{'channelId':_0x4d873e});this['_registeredSessions']['set'](_0x4d873e,_0x560e07),this['channelSessions']['set'](_0x4d873e,new _0x462cb9()),this['channelConnectedUsers']['set'](_0x4d873e,new _0x462cb9()),this['listenTo'](_0x560e07,'add',(_0x3387f0,_0x3b58ec)=>this['_handleSessionAdd'](_0x4d873e,_0x3b58ec)),this['listenTo'](_0x560e07,'remove',(_0x217fa7,_0x8a9531)=>this['_handleSessionRemove'](_0x4d873e,_0x8a9531));for(const _0x2397ff of _0x560e07)this['_handleSessionAdd'](_0x4d873e,_0x2397ff);}['unregister'](_0x1b48aa){if(!this['_registeredSessions']['has'](_0x1b48aa))throw new _0x529824('sessions-unregister-not-exist',null,{'channelId':_0x1b48aa});const _0x28ce2b=this['_registeredSessions']['get'](_0x1b48aa);this['stopListening'](_0x28ce2b);for(const _0x4b45d7 of _0x28ce2b)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x1b48aa,_0x4b45d7);this['_registeredSessions']['delete'](_0x1b48aa),this['channelSessions']['delete'](_0x1b48aa),this['channelConnectedUsers']['delete'](_0x1b48aa);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x55029e){for(const _0x115ca9 of this['channelSessions']['values']())for(const _0x2bac61 of _0x115ca9)if(_0x2bac61['id']===_0x55029e)return _0x2bac61['user'];}['getUserSessions'](_0x5f3767,_0xc711c5){const _0x1a3f46=_0xc711c5?[this['channelSessions']['get'](_0xc711c5)]:this['channelSessions']['values'](),_0x24862b=new Set();for(const _0x2ab880 of _0x1a3f46)for(const _0x344a93 of _0x2ab880)_0x344a93['user']['id']===_0x5f3767['id']&&_0x24862b['add'](_0x344a93['id']);return _0x24862b;}['getUserRole'](_0x2329c0){for(const _0x6f947e of this['channelSessions']['values']())for(const _0x439a31 of _0x6f947e)if(_0x439a31['user']===_0x2329c0)return _0x439a31['role'];}['_handleSessionAdd'](_0x1b1a59,_0x53a955){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x1c72e8=_0x53a955['user'],_0x305ce7=this['_users']['getUser'](_0x1c72e8['id'])||this['_createUser'](_0x1c72e8),_0x10e502=Object['assign']({},_0x53a955,{'user':_0x305ce7});if(this['channelSessions']['get'](_0x1b1a59)['add'](_0x10e502),!_0x1c72e8['hiddenInPresenceList']){const _0x179990=this['channelConnectedUsers']['get'](_0x1b1a59);_0x179990['has'](_0x305ce7['id'])||_0x179990['add'](_0x305ce7),this['allConnectedUsers']['has'](_0x305ce7['id'])||_0x1c72e8['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x305ce7,_0x305ce7['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1b1a59,{'channelId':_0x1b1a59,'session':_0x10e502});}['_handleSessionRemove'](_0x4f9979,_0x2d97e4){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x4d497c=this['channelConnectedUsers']['get'](_0x4f9979),_0x3bea35=_0x2d97e4['user'];_0x3bea35['id']&&(this['channelSessions']['get'](_0x4f9979)['remove'](_0x2d97e4['id']),_0x4d497c['has'](_0x3bea35['id'])&&!this['getUserSessions'](_0x3bea35,_0x4f9979)['size']&&_0x4d497c['remove'](_0x3bea35['id']),this['allConnectedUsers']['get'](_0x3bea35['id'])&&!this['getUserSessions'](_0x3bea35)['size']&&this['allConnectedUsers']['remove'](_0x3bea35['id']));}['_createUser'](_0x4c6e17,_0x3d9703){const _0x4df4f7=this['_users']['addUser'](_0x4c6e17);return _0x3d9703&&this['_users']['defineMe'](_0x4c6e17['id']),_0x4df4f7['orderNumber']=this['_uniqueUsersCount']++,_0x4df4f7;}}class H extends _0x232b47{['_domEmitter']=new(_0x15cddd())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x4df3d0=this['editor'],_0x529e3d=_0x4df3d0['plugins']['get'](i);_0x4df3d0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x40224e,{writer:_0x5caaed})=>function(_0x2058db,_0x5be00d,_0xe14b1d,_0x50ef97){const _0x574907=_0x2058db['markerName']['split'](':')[0x2],_0x4a9e41=_0xe14b1d['getUserBySessionId'](_0x574907);if(!_0x4a9e41||_0x574907===_0xe14b1d['mySessionId'])return;if(!_0x50ef97['model']['schema']['checkChild'](_0x2058db['markerRange']['start'],'$text'))return;const _0xc68de2={'class':'ck-user__marker\x20'+_0x4a9e41['color']['getMarkerClass'](),'data-name':_0x4a9e41['name'],'data-session-id':_0x574907},_0x1ed0fc=_0x50ef97['model']['markers']['get'](_0x2058db['markerName']),_0x2ed067=_0x1ed0fc['getStart'](),_0x17ba23=_0x2ed067['nodeAfter'],_0x220277=_0x50ef97['model']['schema'];if(_0x17ba23&&_0x220277['isObject'](_0x17ba23)&&_0x220277['isInline'](_0x17ba23)&&!_0x50ef97['model']['markers']['get']('user:range:'+_0x574907)['getRange']()['isCollapsed'])return;const _0x17f087=_0x2ed067['parent'];return _0x50ef97['model']['schema']['isLimit'](_0x17f087)&&!_0x50ef97['model']['hasContent'](_0x17f087)&&(_0xc68de2['contenteditable']=!0x1),function(_0x36bc32,_0x8e7b1c,_0x3422ab){const _0x10fbbc=_0x36bc32['createUIElement']('span',_0x8e7b1c);return _0x36bc32['setCustomProperty']('userPositionMarker',!0x0,_0x10fbbc),_0x10fbbc['render']=function(_0x2374e6){const _0x680e19=this['toDomElement'](_0x2374e6),_0x3d2361=document['createElement']('span');return _0x3d2361['classList']['add']('ck-user__marker-tooltip'),_0x3d2361['setAttribute']('contenteditable','false'),_0x3d2361['setAttribute']('spellcheck','false'),_0x3d2361['textContent']=_0x3422ab['name'],_0x680e19['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3d2361['outerHTML']+'⁠',_0x680e19['addEventListener']('mouseenter',()=>{_0x680e19['classList']['add']('ck-user__marker_hovered');}),_0x680e19['addEventListener']('mouseleave',()=>{_0x680e19['classList']['remove']('ck-user__marker_hovered');}),_0x680e19;},_0x10fbbc['isSimilar']=function(_0x59947b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x59947b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x59947b['getAttribute']('data-session-id'));},_0x10fbbc;}(_0x5be00d,_0xc68de2,_0x4a9e41);}(_0x40224e,_0x5caaed,_0x529e3d,_0x4df3d0)}),_0x4df3d0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x64e31c=>function(_0x1ba58f,_0x5b4162){const _0x410d8d=_0x1ba58f['markerName']['split'](':')[0x2];if(_0x410d8d===_0x5b4162['mySessionId'])return null;const _0x3f332b=_0x5b4162['getUserBySessionId'](_0x410d8d);if(!_0x3f332b)return{'id':_0x410d8d,'classes':[]};return{'id':_0x410d8d,'classes':['ck-user__selection',_0x3f332b['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x410d8d},'priority':0x7d0+_0x3f332b['orderNumber']};}(_0x64e31c,_0x529e3d)}),function(_0xb4f225){const _0x25f9a0=_0xb4f225['model'],_0x200fc9=new Map(),_0x4371f9=_0xb4f225['plugins']['get'](i);_0x25f9a0['markers']['on']('update:user:range',(_0x39e7d1,_0x6b6818,_0x592763,_0x5317fe)=>{if(!_0x5317fe&&_0x200fc9['get'](_0x6b6818['name']))return _0x200fc9['get'](_0x6b6818['name'])['detach'](),void _0x200fc9['delete'](_0x6b6818['name']);const _0xd86dac=_0x6b6818['name']['split'](':')[0x2];if(_0xd86dac===_0x4371f9['mySessionId'])return;const _0x22c775='user:position:'+_0xd86dac;_0x25f9a0['markers']['has'](_0x22c775)&&_0xb4f225['editing']['reconvertMarker'](_0x22c775),_0x6b6818['on']('change:range',(_0xb3067a,_0x5eea26,_0x41d5b2)=>{if('$graveyard'!=_0x5eea26['root']['rootName']&&'$graveyard'==_0x6b6818['getRange']()['root']['rootName']&&!_0x200fc9['has'](_0x6b6818['name'])){const _0x1e1415=_0x25f9a0['schema']['getNearestSelectionRange'](_0x41d5b2['deletionPosition']);if(_0x1e1415){const _0x284255=_0x1ce98f['fromRange'](_0x1e1415);_0x200fc9['set'](_0x6b6818['name'],_0x284255),_0x284255['on']('change:range',(_0x4df1a3,_0x5e18d7,_0x440192)=>{if('$graveyard'==_0x284255['root']['rootName']){const _0x1426b4=_0x25f9a0['schema']['getNearestSelectionRange'](_0x440192['deletionPosition']);_0x1426b4?(_0x284255['start']=_0x1426b4['start'],_0x284255['end']=_0x1426b4['end']):(_0x200fc9['delete'](_0x6b6818['name']),_0x284255['detach']());}});}}});}),_0x25f9a0['document']['on']('change',()=>{_0x200fc9['size']>0x0&&_0x25f9a0['enqueueChange']({'isUndoable':!0x1},_0x10a646=>{for(const [_0x2272d6,_0x1c0db1]of _0x200fc9)'$graveyard'==_0x25f9a0['markers']['get'](_0x2272d6)['getRange']()['root']['rootName']&&(Z(_0x2272d6['split'](':')[0x2],_0x1c0db1['toRange'](),_0x25f9a0,_0x10a646),_0x1c0db1['detach']());_0x200fc9['clear']();});});}(_0x4df3d0),this['_domEmitter']['listenTo'](_0x201d53['document'],'keydown',(_0x83b34d,{key:_0x40d032})=>{'Escape'===_0x40d032&&function(_0x304d6c){_0x304d6c['editing']['view']['change'](_0x441e55=>{for(const _0x56d06c of _0x304d6c['model']['markers']){if(!_0x56d06c['name']['startsWith']('user:position'))continue;const _0xb3b7bb=_0x304d6c['editing']['mapper']['markerNameToElements'](_0x56d06c['name']);if(_0xb3b7bb){for(const _0x2098f2 of _0xb3b7bb)_0x441e55['removeClass']('ck-user__marker_hovered',_0x2098f2);}}});}(_0x4df3d0);},{'useCapture':!0x0});}['afterInit'](){const _0x194bda=this['editor'],_0x2b00eb=_0x194bda['commands']['get']('undo');_0x2b00eb&&_0x194bda['model']['on']('applyOperation',(_0x5da204,_0x20ff8f)=>{const _0x51034a=_0x20ff8f[0x0];if(!_0x51034a['isDocumentOperation'])return;if('marker'!=_0x51034a['type']||!_0x51034a['name']['startsWith']('user:'))return;const _0x3fe4cd=_0x51034a['batch'];_0x2b00eb['_createdBatches']['has'](_0x3fe4cd)&&(_0x51034a['newRange']=_0x51034a['oldRange']?_0x194bda['model']['createRange'](_0x51034a['oldRange']['start'],_0x51034a['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3dbff4=this['editor'],_0x297b9e=_0x3dbff4['model']['document'],_0xc59916=_0x3dbff4['plugins']['get'](i);_0x3dbff4['model']['enqueueChange']({'isUndoable':!0x1},_0x31cb0e=>{const _0x397914='user:range:'+_0xc59916['mySessionId'],_0xa962f9='user:position:'+_0xc59916['mySessionId'],_0x2b2cb5=_0x3dbff4['model']['markers']['has'](_0x397914);_0x3dbff4['editing']['view']['hasDomSelection']?Z(_0xc59916['mySessionId'],_0x297b9e['selection']['getFirstRange'](),_0x3dbff4['model'],_0x31cb0e):_0x2b2cb5&&(_0x31cb0e['removeMarker'](_0x397914),_0x31cb0e['removeMarker'](_0xa962f9));});}}function Z(_0x586be5,_0x34c006,_0x537c6b,_0x1e7654){const _0x17a0ef='user:range:'+_0x586be5,_0x2a13a3='user:position:'+_0x586be5,_0x1576d5=_0x34c006['getContainedElement']();let _0x101d9f=_0x34c006['start'];if(_0x1576d5&&_0x1576d5['is']('element','tableCell')){const _0x24238c=function(_0x3c6aa5,_0x489611){for(const _0x393b55 of _0x3c6aa5['getPositions']())if(_0x489611['schema']['checkChild'](_0x393b55,'$text'))return _0x393b55;}(_0x34c006,_0x537c6b);_0x24238c&&(_0x101d9f=_0x24238c,_0x34c006=_0x1e7654['createRange'](_0x101d9f));}const _0x4ea3d9=_0x1e7654['createRange'](_0x101d9f);_0x537c6b['markers']['has'](_0x17a0ef)?(_0x1e7654['updateMarker'](_0x17a0ef,{'range':_0x34c006}),_0x1e7654['updateMarker'](_0x2a13a3,{'range':_0x4ea3d9})):(_0x1e7654['addMarker'](_0x17a0ef,{'range':_0x34c006,'usingOperation':!0x0}),_0x1e7654['addMarker'](_0x2a13a3,{'range':_0x4ea3d9,'usingOperation':!0x0}));}function V(_0x3473c5,_0x26877b,_0x40797e){const _0x48e2eb=_0x3473c5['t'],t=_0x3473c5['t'];switch(_0x26877b){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 _0x48e2eb({'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'},_0x40797e);default:return'';}}let G=0x1;class l extends _0x232b47{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x2c56b6)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,H,_0x442e85,_0x1ff91e,_0x3a6344];}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 _0x49f4c3=this['serverHistory']['getOperations']();for(let _0x5d3afb=_0x49f4c3['length']-0x1;_0x5d3afb>=0x0;_0x5d3afb--){const _0x3b01ba=_0x49f4c3[_0x5d3afb];if(!this['_disconnectionOperations']['has'](_0x3b01ba))return _0x3b01ba['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x255403){if(super(_0x255403),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2afaa7(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x529824('collaboration-missing-channelid',this);const _0x39aa00=_0x255403['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x39aa00,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x26a909(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x59453f=this['editor'],_0x5e60d3=_0x59453f['plugins']['get'](_0x1ff91e),_0x44e24a=_0x59453f['plugins']['get'](n);this['listenTo'](_0x5e60d3,'getOperationAuthor',(_0x2ef997,_0x517b55)=>{const _0x5e7cc7=_0x517b55[0x0];_0x5e7cc7['_authorId']&&(_0x2ef997['return']=_0x5e60d3['getUser'](_0x5e7cc7['_authorId']),_0x2ef997['stop']()),null===_0x5e7cc7['_authorId']&&(_0x2ef997['return']=null,_0x2ef997['stop']());},{'priority':'high'}),this['listenTo'](_0x59453f['model']['document']['selection'],'change:range',(_0x7cfa06,_0x3cb7ee)=>{_0x3cb7ee['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x59453f['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x59453f['model']['on']('applyOperation',(_0x365d9f,_0x1f2f9e)=>{const _0x482cf8=_0x1f2f9e[0x0];_0x482cf8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x482cf8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x44e24a,'state',this,'_hasSynchronizationProblem',(_0x3f6857,_0x149c5b)=>'connected'===_0x3f6857&&!_0x149c5b),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x59453f['disableReadOnlyMode']('rtc-offline'):_0x59453f['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x59453f['disableReadOnlyMode']('rtc-offline'):_0x59453f['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x53848c=this['editor']['plugins']['get'](i),_0x2198fe=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x53848c['unregister'](this['_channelId']);const _0x30c3e2=await this['_service']['reconnect'](_0x2198fe['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30c3e2)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4684df=await this['_service']['getConnectedSessions']();_0x53848c['register'](this['_channelId'],_0x4684df),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2e8e8a){if(function(_0x1f280a){return'404'===_0x1f280a['code'];}(_0x2e8e8a)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4ce34b){return'409'===_0x4ce34b['code'];}(_0x2e8e8a)){const _0x53190d=V(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x53190d);}else{if(!(_0x2e8e8a instanceof $))throw _0x2e8e8a;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4ee0b1=this['editor']['plugins']['get'](n),_0x380811=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x380811['channelSessions']['has'](this['_channelId'])&&_0x380811['unregister'](this['_channelId']),_0x4ee0b1['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x8ac3a){if(this['sessionId']!==_0x8ac3a['sessionId']&&this['_lastSyncedOperationId']!==_0x8ac3a['lastOperationId'])throw new $();return this['sessionId']=_0x8ac3a['sessionId'],this['_handleServerResponse']([],{..._0x8ac3a,'wereChangesApplied':!0x1,'data':_0x8ac3a['data']},'reconnect');}async['_connectService'](_0x20773b,_0xa6f675=!0x1){const {connection:_0x5e74a4}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x5e74a4,this['_channelId'])['then'](_0x429fb6=>this['_initSessionsHandling'](_0x429fb6))['catch'](_0x383674=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x383674);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x23e743,_0x42e0f6)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x42e0f6);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x2af59d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x20773b);this['_isPendingUpdate']=!0x0;const _0x2e7a93=await this['_service']['connect'](_0x5e74a4,this['_compressOperations'](_0x20773b),_0x2af59d);if(this['sessionId']=_0x2e7a93['sessionId'],_0xa6f675){if(!_0x2e7a93['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2e7a93['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x20773b,_0x2e7a93,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2e7a93,_0x20773b);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x2dbdfc=this['editor']['plugins']['get'](i),_0x4298b7=this['editor']['plugins']['get'](H),_0x2a7d47=_0x2dbdfc['channelSessions']['get'](this['_channelId']);_0x2a7d47&&_0x2a7d47['length']>0x1?_0x4298b7['createUserMarkerOperations']():this['listenTo'](_0x2dbdfc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x2dbdfc['channelSessions']['get'](this['_channelId'])['length']&&_0x4298b7['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x2919d0,_0x7e9f8c,_0x50895e,_0x284276){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x7e9f8c){const _0x3f3f03=this['_decompressOperations'](_0x50895e,_0x284276);await this['_fetchMissingUsers'](_0x3f3f03),this['_handleExternalOperations'](_0x3f3f03,_0x7e9f8c,_0x50895e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x102d9e}=this['editor'];let _0x140abc;try{_0x140abc=await this['_service']['getDocumentDetails']();}catch{const _0x287872=V(_0x102d9e,'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'](_0x287872);}const _0x307207=_0x140abc['currentDocumentSession']||_0x140abc['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x307207['lastOperationId']){const _0x454ce9=V(_0x102d9e,'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'](_0x454ce9);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x386986){const _0x4c102e=this['editor']['plugins']['get'](i);this['listenTo'](_0x4c102e,'sessionAdd:'+this['_channelId'],(_0x72b883,{session:_0x1e29cf})=>{if(_0x1e29cf['id']===_0x4c102e['mySessionId']){_0x72b883['off']();const _0x32cd4d=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2a9231=_0x1e29cf['permissions'];_0x32cd4d&&_0x32cd4d['isEnabled']&&(_0x2a9231=_0x2a9231['filter'](_0x268629=>'document:write'!==_0x268629)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2a9231,this['_channelId']);}}),_0x4c102e['register'](this['_channelId'],_0x386986);}['_initThrowingOnDataSet'](){const _0xed6ecb=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x58fd7f)=>{if(!_0x58fd7f[_0x58fd7f['length']-0x1]['suppressErrorInCollaboration'])throw new _0x529824('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0xed6ecb['apply'](this['editor']['data'],_0x58fd7f);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x365f39,[_0x11b56d])=>{if(this['_document']['version'])throw new _0x529824('realtimecollaborationclient-init-document-already-initialized',this);_0x365f39['stop'](),this['_setPendingAction']();const _0x118122=this['editor']['config']['get']('rootsAttributes'),_0x40ae16=this['_getOperationsFromInitData'](_0x11b56d,_0x118122);0x0==_0x40ae16['length']&&_0x40ae16['push'](new _0x54fab5(0x0)),_0x365f39['return']=this['_connectService'](_0x40ae16)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x28d9b6=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x28d9b6))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x428cf7,[_0x434d41,_0x5832bf])=>{_0x428cf7['stop']();const _0x5337dc=this['editor']['model']['document']['getRoot'](_0x434d41);if(!this['_knownRootNames']['has'](_0x434d41)){const _0x48c4b8=_0x5832bf&&_0x5832bf['data']?_0x5832bf['data']:'',_0x2150e3=_0x5832bf&&_0x5832bf['attributes']?_0x5832bf['attributes']:{};await this['_loadRoot'](_0x434d41,_0x48c4b8,_0x2150e3);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5337dc['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5337dc);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x110b37){const _0x407142=this['editor']['plugins']['get'](_0x1ff91e),{connection:_0x3536a4}=this['editor']['plugins']['get'](n),_0x4c7daf=new Set();for(const _0x3f2eb4 of _0x110b37){const _0x274c44=_0x3f2eb4['_authorId'];_0x274c44&&!_0x407142['getUser'](_0x274c44)&&_0x4c7daf['add'](_0x274c44);}if(0x0===_0x4c7daf['size'])return;const _0x423ff0=await lt['getMany'](_0x3536a4,Array['from'](_0x4c7daf));for(const _0x41e486 of _0x423ff0)_0x407142['getUser'](_0x41e486['id'])||_0x407142['addUser'](_0x41e486);}['_getOperationsFromInitData'](_0x4ad04a,_0x3f7b09={}){const _0x22c936=this['editor']['model'],_0x2baeae=[];let _0x114102=0x0;const _0x318172='string'==typeof _0x4ad04a?{'main':_0x4ad04a}:_0x4ad04a;for(const _0xc24be5 of Object['keys'](_0x318172)){if(!this['_document']['roots']['has'](_0xc24be5))throw new _0x529824('realtimecollaborationclient-init-non-existent-root',this);const _0x3e90fe=this['editor']['data']['parse'](_0x318172[_0xc24be5]),_0x343112=this['_document']['getRoot'](_0xc24be5),_0xbcc5a0=new _0x52a187(_0x22c936['createPositionAt'](_0x343112,0x0),_0x3e90fe,_0x114102++);_0x2baeae['push'](_0xbcc5a0);for(const [_0x351733,_0x28a94b]of _0x3e90fe['markers']){const _0xf0aef2=_0x22c936['createRange'](_0x22c936['createPositionFromPath'](_0x343112,_0x28a94b['start']['path']['slice']()),_0x22c936['createPositionFromPath'](_0x343112,_0x28a94b['end']['path']['slice']())),_0x227756=new _0x2cd4a0(_0x351733,null,_0xf0aef2,_0x22c936['markers'],!0x0,_0x114102++);_0x2baeae['push'](_0x227756);}}if(_0x3f7b09)for(const [_0x3b0a82,_0x5674da]of Object['entries'](_0x3f7b09)){const _0xde224b=_0x22c936['document']['getRoot'](_0x3b0a82);if(!_0xde224b)throw new _0x529824('multi-root-editor-root-attributes-no-root',null);for(const [_0x2ea23c,_0x42174e]of Object['entries'](_0x5674da))if(null!==_0x42174e){const _0x541e94=new _0x5ed840(_0xde224b,_0x2ea23c,null,_0x42174e,_0x114102++);_0x2baeae['push'](_0x541e94);}}return _0x2baeae;}async['_loadRoot'](_0x9f8c79,_0x1c800f,_0x316cbc){this['_getOperationsFromInitData']({[_0x9f8c79]:_0x1c800f},{[_0x9f8c79]:_0x316cbc})['forEach']((_0x317199,_0x3d330d)=>{_0x317199['baseVersion']=this['_document']['version']+_0x3d330d,_0x317199['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x317199);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0xd1af44,_0x16acce){let _0xeca17d;this['_offset']=_0xd1af44['offset'];const _0x228d83=_0xd1af44['wereChangesApplied']&&!_0xd1af44['initData'],_0x3f25b5=_0x228d83?0x0:_0xd1af44['data']['baseVersion'];if(_0x16acce['forEach'](_0x48e857=>{_0x48e857['_isInit']=!0x0,_0x48e857['createdAt']=_0xd1af44['sessionCreatedAt'],_0x48e857['_authorId']=null;}),_0x228d83)_0xeca17d=_0x16acce,this['_applyOperationsSet'](_0xeca17d,_0x228d83);else{if(_0xd1af44['initData']){const _0x5d9e9e=this['_getOperationsFromInitData'](_0xd1af44['initData']);this['_document']['history']['version']=-_0x5d9e9e['length'],_0x5d9e9e['forEach'](_0x570e3a=>{_0x570e3a['baseVersion']-=_0x5d9e9e['length'],_0x570e3a['createdAt']=_0xd1af44['sessionCreatedAt'],_0x570e3a['_isInit']=!0x0,_0x570e3a['_authorId']=null;}),this['_applyOperationsSet'](_0x5d9e9e,!0x0),this['serverHistory']['version']=-_0x5d9e9e['length']+this['_offset'],this['_updateServerHistory'](_0x5d9e9e);}this['_document']['history']['version']=_0x3f25b5,_0xeca17d=this['_decompressOperations'](_0xd1af44['data'],_0xd1af44['metadata']),await this['_fetchMissingUsers'](_0xeca17d),this['_applyOperationsSet'](_0xeca17d,_0x228d83);}_0xd1af44['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xeca17d,_0xd1af44['lastOperationId']),this['_lastSyncedOperationId']=_0xd1af44['lastOperationId']),this['serverHistory']['version']=_0x3f25b5+this['_offset'],this['_updateServerHistory'](_0xeca17d),_0x16acce['filter'](_0x2104a0=>{const _0x456ee4=this['_getAffectedRoot'](_0x2104a0);return _0x456ee4&&!this['_knownRootNames']['has'](_0x456ee4);})['forEach']((_0x895dc8,_0x1a2bfc)=>{_0x895dc8['baseVersion']=this['_document']['version']+_0x1a2bfc,this['_saveOperationInBuffer'](_0x895dc8);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x14c524,_0x58781c){const _0x9d31aa=_0x58781c&&_0x58781c['message'];if(_0x9d31aa&&_0x9d31aa['startsWith']('realtimecollaborationclient'))throw _0x58781c;const _0x5693ad=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x5693ad['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x529824(_0x14c524,this['editor'],_0x9d31aa?{'originalError':_0x9d31aa}:void 0x0);}['_saveOperationInBuffer'](_0x45bee2){this['_knownOperations']['has'](_0x45bee2)||(this['_knownOperations']['add'](_0x45bee2),this['_bufferedOperations']['push'](_0x45bee2),this['_pendingAction']||'marker'==_0x45bee2['type']&&!_0x45bee2['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x95cfe8=!0x1){!_0x95cfe8&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x586032=>{_0x586032&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x351c63=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x5d4f5f){return _0x5d4f5f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x5d4f5f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x5d4f5f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x351c63)||this['_crash'](_0x351c63['message'],_0x351c63);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x32af9f=>{this['on']('change:_isPendingUpdate',()=>{_0x32af9f();});});}async['_sendBufferedOperations'](){const _0x48cc35=this['editor']['plugins']['get'](H);if(this['_shouldSendSelectionUpdate']()&&(_0x48cc35['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f5185=[...this['_bufferedOperations']];for(const _0x2912a1 of _0x1f5185)_0x2912a1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2912a1);const _0x5adb26=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f5185),_0x75f16b=G++,_0x1c892b=this['_compressOperations'](_0x1f5185),_0x52afa9=await this['_service']['sendOperations'](_0x1c892b,_0x1c892b['baseVersion'],_0x5adb26);try{return await this['_handleServerResponse'](_0x1f5185,_0x52afa9,_0x75f16b);}catch(_0x1b622b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1b622b);}}async['_handleServerResponse'](_0x587052,_0x4af676,_0x31003d){if('error'in _0x4af676)throw _0x4af676['error'];let _0x2535d6=!0x1;if(_0x4af676['wereChangesApplied']){_0x4af676['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4af676['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x35875c=>!_0x587052['includes'](_0x35875c));for(const _0x44b932 of _0x587052)_0x44b932['createdAt']='lastOperationAcceptedAt'in _0x4af676&&_0x4af676['lastOperationAcceptedAt']||void 0x0;K(_0x587052,_0x4af676['version']-_0x587052['length']),this['_updateServerHistory'](_0x587052);const _0x33e46e=_0x587052['filter'](_0x329b40=>{if(!_0x329b40['_isInit'])return!0x1;const _0x345846=this['_getAffectedRoot'](_0x329b40);return _0x345846&&!this['_knownRootNames']['has'](_0x345846);});K(_0x33e46e,this['_document']['version']),this['_applyOperationsSet'](_0x33e46e),_0x2535d6=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x5f1fcb=this['_decompressOperations'](_0x4af676['data'],_0x4af676['metadata'])['filter'](_0x277488=>_0x277488['baseVersion']>=this['_lastServerVersion']);_0x5f1fcb['forEach'](_0x3b596d=>this['_addKnownRoot'](_0x3b596d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xac9fff=>!_0xac9fff['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0xac9fff))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x5f1fcb),_0x2535d6=this['_handleExternalOperations'](_0x5f1fcb,_0x4af676['version'],_0x4af676['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2535d6?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1cd7c6,_0xd31acd,_0x581f60){try{const _0x4f06e0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x34b545,operationsB:_0x145efb,originalOperations:_0x3330ac}=_0x498326(_0x1cd7c6,this['_bufferedOperations'],_0x4f06e0);K(_0x34b545,this['_document']['version']),K(_0x145efb,_0xd31acd);for(const _0x26df58 of _0x34b545){const _0x28361f=_0x3330ac['get'](_0x26df58);_0x26df58['_authorId']=_0x28361f?_0x28361f['_authorId']:null;}_0x581f60&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1cd7c6,_0x581f60),this['_lastSyncedOperationId']=_0x581f60),this['_bufferedOperations']=[..._0x145efb],this['_applyOperationsSet'](_0x34b545),this['_updateServerHistory'](_0x1cd7c6);}catch(_0x44558b){return console['error'](_0x44558b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x250d3f,_0x537680=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4bfbc5=>{for(const _0x30d84d of _0x250d3f)this['_knownOperations']['add'](_0x30d84d),this['_addKnownRoot'](_0x30d84d),_0x4bfbc5['batch']['addOperation'](_0x30d84d),this['editor']['model']['applyOperation'](_0x30d84d);});}['_addKnownRoot'](_0x496656){const _0x33547c=this['_getAffectedRoot'](_0x496656);_0x33547c&&this['_knownRootNames']['add'](_0x33547c);}['_getAffectedRoot'](_0x16bc00){let _0x4b2d50,_0x2d5a85;switch(_0x16bc00['type']){case'insert':_0x4b2d50=_0x16bc00['position']['root'];break;case'marker':if(_0x2d5a85=_0x16bc00['newRange'],!_0x2d5a85)return null;_0x4b2d50=_0x2d5a85['root'];break;case'addRootAttribute':_0x4b2d50=_0x16bc00['root'];break;case'addRoot':_0x4b2d50=_0x16bc00['affectedSelectable'];break;case'move':_0x4b2d50=_0x16bc00['targetPosition']['root'];break;default:return null;}return _0x4b2d50['rootName'];}['_updateServerHistory'](_0x2c43ed){_0x2c43ed['forEach'](_0x42ae4e=>{const _0x55cbf3=_0x42ae4e['clone']();_0x55cbf3['_authorId']=_0x42ae4e['_authorId'],_0x55cbf3['_isInit']=!!_0x42ae4e['_isInit'],_0x55cbf3['createdAt']=_0x42ae4e['createdAt'],_0x55cbf3['baseVersion']+=this['_offset'],_0x42ae4e['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x55cbf3),this['serverHistory']['addOperation'](_0x55cbf3);});}['_handleReconnectionError'](_0x158aff){const _0x2495d1=this['editor']['plugins']['get']('Notification'),_0x2ec934=this['editor']['locale'];_0x158aff||(_0x158aff=V(_0x2ec934,'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.')),_0x2495d1['showWarning'](_0x158aff,{'title':V(_0x2ec934,'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'](_0x442e85)['add'](V(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442e85)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3a5d9a){const _0x873e2e=_0x3a5d9a['map'](_0x2a004c=>_0x2a004c['toJSON']());return this['_compressor']['compress'](_0x873e2e);}['_decompressOperations'](_0x3ca4f0,_0x59d16a){return this['_compressor']['decompress'](_0x3ca4f0)['map']((_0x4cfec7,_0x430f78)=>{const _0x4cea65='init'==_0x59d16a[_0x430f78]['type'];if('InsertOperation'==_0x4cfec7['__className']){const _0x3ce2f0=_0x4cfec7['position']['root'];!this['_document']['getRoot'](_0x3ce2f0)&&(this['_document']['createRoot']('$root',_0x3ce2f0)['_isAttached']=!0x1);}const _0x4f6c33=_0x406a32['fromJSON'](_0x4cfec7,this['_document']);return _0x4f6c33['wasUndone']=_0x4cfec7['wasUndone'],_0x4f6c33['_isInit']=_0x4cea65,_0x4f6c33['_authorId']=_0x4cea65?null:_0x59d16a[_0x430f78]['userId'],_0x4f6c33['_isDisconnection']='cs:removeUser'===_0x59d16a[_0x430f78]['type'],_0x4f6c33['createdAt']=_0x59d16a[_0x430f78]['createdAt'],_0x4f6c33;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x578ec3=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x578ec3&&_0x578ec3['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x29f4e4,_0x16478d){for(const _0x12bdd2 of _0x29f4e4)_0x12bdd2['baseVersion']=_0x16478d++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x27c256){this['_ignoredOperations']=_0x27c256,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x41f887){let _0x16cbb8=_0x41f887['length'];for(;_0x16cbb8--;){const _0x46ca6d=_0x41f887[_0x16cbb8];if(!this['_ignoredOperations']['has'](_0x46ca6d)){if(!this['_operationToId']['has'](_0x46ca6d)){const _0x362e01=_0x4bb96a()['slice'](0x1,0x12);this['_operationToId']['set'](_0x46ca6d,_0x362e01);}return this['_operationToId']['get'](_0x46ca6d);}}}['setIdForTheLastOperation'](_0x333c22,_0x49dd8e){if(!_0x49dd8e)return;let _0x1f9cb4=_0x333c22['length'];for(;_0x1f9cb4--;){const _0x3a4dd1=_0x333c22[_0x1f9cb4];this['_ignoredOperations']['has'](_0x3a4dd1)||this['_operationToId']['set'](_0x3a4dd1,_0x49dd8e);}}}class a extends _0x232b47{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x1a80af{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x229c97)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x1ff91e];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2a118f){super(_0x2a118f),this['_services']=new Map();}async['init'](){const _0x3ca20e=this['context'],_0x26cc98=_0x3ca20e['plugins']['get']('CommentsRepository');if(_0x3ca20e['plugins']['get'](n)['addToReconnectionStack'](this),_0x26cc98['adapter']={'addCommentThread':async({channelId:_0x25eea5,threadId:_0x55de0e,comments:_0x254728,resolvedAt:_0x512fda,resolvedBy:_0x39db07,context:_0x1fba5f,attributes:_0x3fc76d})=>{const _0x3440e3=await this['_getService'](_0x25eea5)['addCommentThread']({'commentThreadId':_0x55de0e,'comments':_0x254728['map'](_0x15203b=>function(_0x2114f3,_0x3594e1,_0x428fb0){return{'commentThreadId':_0x428fb0,'commentId':_0x2114f3['commentId'],'userId':_0x2114f3['authorId'],'content':_0x2114f3['content'],'documentId':_0x3594e1,'createdAt':_0x2114f3['createdAt'],'attributes':_0x2114f3['attributes']||{}};}(_0x15203b,_0x25eea5,_0x55de0e)),'resolvedAt':_0x512fda,'resolvedBy':_0x39db07,'context':_0x1fba5f,'attributes':_0x3fc76d})['catch'](dt);return{'threadId':_0x3440e3['commentThreadId'],'comments':_0x3440e3['comments']};},'getCommentThread':async({channelId:_0x54e456,threadId:_0x15fd51})=>{const _0x4c6841=await this['_getService'](_0x54e456)['getCommentThread'](_0x15fd51)['catch'](F)['catch'](dt);return _0x4c6841?_0x4c6841['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x4c6841]),{'threadId':_0x4c6841['commentThreadId'],'comments':_0x4c6841['comments']['map'](S),'context':_0x4c6841['context'],'resolvedAt':_0x4c6841['resolvedAt'],'resolvedBy':_0x4c6841['resolvedBy'],'attributes':_0x4c6841['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x49aa79,threadId:_0xd6aa7c,context:_0x26d2e7,unlinkedAt:_0x1e2b81,attributes:_0x5b9199})=>this['_getService'](_0x49aa79)['updateCommentThread']({'commentThreadId':_0xd6aa7c,'context':_0x26d2e7,'attributes':_0x5b9199,'unlinkedAt':_0x1e2b81})['catch'](F)['catch'](dt),'resolveCommentThread':async({channelId:_0x5598aa,threadId:_0x37f401})=>{const _0x3f997b=await this['_getService'](_0x5598aa)['resolveCommentThread'](_0x37f401)['catch'](F)['catch'](dt);return{'threadId':_0x3f997b['commentThreadId'],'resolvedAt':_0x3f997b['resolvedAt'],'resolvedBy':_0x3f997b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4ef15d,threadId:_0x4f8de6})=>this['_getService'](_0x4ef15d)['reopenCommentThread'](_0x4f8de6)['catch'](F)['catch'](dt),'removeCommentThread':({channelId:_0x47f909,threadId:_0x3216e8})=>this['_getService'](_0x47f909)['removeCommentThread'](_0x3216e8)['catch'](F)['catch'](dt),'addComment':({channelId:_0x41eee6,threadId:_0x35cd76,commentId:_0x1c46dc,content:_0x197012,attributes:_0x2cf239})=>this['_getService'](_0x41eee6)['addComment'](_0x35cd76,_0x1c46dc,_0x197012,_0x2cf239)['catch'](dt),'updateComment':({channelId:_0x25dcbc,threadId:_0x1535ec,commentId:_0x1d0bb1,content:_0x5f5aab,attributes:_0x45f507})=>this['_getService'](_0x25dcbc)['updateComment'](_0x1535ec,_0x1d0bb1,_0x5f5aab,_0x45f507)['catch'](F)['catch'](dt),'removeComment':({channelId:_0x2f44a3,threadId:_0x4dfb0c,commentId:_0x6ccc6b})=>this['_getService'](_0x2f44a3)['removeComment'](_0x4dfb0c,_0x6ccc6b)['catch'](F)['catch'](dt)},_0x3ca20e instanceof _0x385ab6){const _0x167629=_0x3ca20e['config']['get']('collaboration.channelId'),_0x35f38a=_0x3ca20e['plugins']['get'](i);await this['_setUpService'](_0x167629);const _0x43075c=await this['_services']['get'](_0x167629)['getConnectedSessions']();this['listenTo'](_0x35f38a,'sessionAdd:'+_0x167629,(_0x3f06d8,{session:_0x5cd357})=>{_0x5cd357['id']===_0x35f38a['mySessionId']&&(_0x3f06d8['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cd357['permissions'],_0x167629));}),_0x35f38a['register'](_0x167629,_0x43075c);}}async['_setUpService'](_0x2ab0ea){if(this['_services']['has'](_0x2ab0ea))throw new _0x529824('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2ab0ea});const _0x366852=this['context']['plugins']['get']('CommentsRepository'),_0x5e72d2=new s['CommentsService'](_0x2ab0ea);this['_services']['set'](_0x2ab0ea,_0x5e72d2),this['listenTo'](_0x5e72d2,'commentThreadAdded',(_0x57eb9d,_0x509af9)=>{const {commentThreadId:_0x3720cf,documentId:_0x3dc5b7,context:_0x14c84a,attributes:_0xb6dc56,resolvedAt:_0x1460c1,resolvedBy:_0x43254d,comments:_0x1d96fc}=_0x509af9;_0x366852['getCommentThread'](_0x3720cf)||_0x366852['addCommentThread']({'threadId':_0x3720cf,'channelId':_0x3dc5b7,'comments':_0x1d96fc?_0x1d96fc['map'](S):[],'context':_0x14c84a,'attributes':_0xb6dc56,'resolvedAt':_0x1460c1,'resolvedBy':_0x43254d,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadUpdated',(_0x3586a2,{commentThreadId:_0x4340ba,documentId:_0x2a6fce,context:_0x33ca2e,unlinkedAt:_0x3fcdb7,attributes:_0x403bdf})=>{_0x366852['getCommentThread'](_0x4340ba)&&_0x366852['updateCommentThread']({'threadId':_0x4340ba,'channelId':_0x2a6fce,'context':_0x33ca2e,'unlinkedAt':_0x3fcdb7,'attributes':_0x403bdf,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadResolved',(_0x340027,{commentThreadId:_0x9c3c75,resolvedBy:_0x63d7a7,resolvedAt:_0x4b3b4e})=>{const _0x5d06fc=_0x366852['getCommentThread'](_0x9c3c75);_0x5d06fc&&_0x5d06fc['resolve']({'resolvedBy':_0x63d7a7,'resolvedAt':_0x4b3b4e,'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadReopened',(_0xbbe17c,{commentThreadId:_0x4ddb27})=>{const _0x293cf7=_0x366852['getCommentThread'](_0x4ddb27);_0x293cf7&&_0x293cf7['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentThreadRemoved',(_0x1987c9,{commentThreadId:_0x54394b})=>{const _0x59b13f=_0x366852['getCommentThread'](_0x54394b);_0x59b13f&&_0x59b13f['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentAdded',(_0x11bfe0,_0x513e46)=>{const _0x3b7f5b=_0x513e46['commentThreadId'],_0x5684c5=_0x366852['getCommentThread'](_0x3b7f5b);_0x5684c5&&_0x5684c5['addComment']({...S(_0x513e46),'isFromAdapter':!0x0});}),this['listenTo'](_0x5e72d2,'commentUpdated',(_0x5c1d06,{commentThreadId:_0x59a598,commentId:_0x4a4e26,content:_0x49b4c2,attributes:_0x2d6609})=>{const _0x44c854=_0x366852['getCommentThread'](_0x59a598);if(_0x44c854){const _0x56b4bd=_0x44c854['getComment'](_0x4a4e26);_0x56b4bd&&_0x56b4bd['update']({'content':_0x49b4c2,'attributes':_0x2d6609,'isFromAdapter':!0x0});}}),this['listenTo'](_0x5e72d2,'commentRemoved',(_0x290444,{commentThreadId:_0x5dd26f,commentId:_0x3540fe})=>{const _0x110a4a=_0x366852['getCommentThread'](_0x5dd26f);if(_0x110a4a){const _0xc42216=_0x110a4a['getComment'](_0x3540fe);_0xc42216&&_0xc42216['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2ab0ea);}['destroy'](){if(this['context']instanceof _0x385ab6){const _0x16b298=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x16b298);}}['_terminateService'](_0x2d3765){if(!this['_services']['has'](_0x2d3765))throw new _0x529824('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x2d3765});this['_getService'](_0x2d3765)['disconnect'](),this['_services']['delete'](_0x2d3765);}async['reconnect'](){for(const _0x10105d of this['_services']['keys']())await this['_connectService'](_0x10105d);if(this['context']instanceof _0x385ab6){const _0x1f46e5=this['context']['config']['get']('collaboration.channelId'),_0x36e88b=this['context']['plugins']['get'](i);_0x36e88b['unregister'](_0x1f46e5);const _0x3a38e0=await this['_services']['get'](_0x1f46e5)['getConnectedSessions']();_0x36e88b['register'](_0x1f46e5,_0x3a38e0);}}async['_connectService'](_0x593266){const {connection:_0x2cb0be}=this['context']['plugins']['get'](n),_0x23d3cb=this['context']['plugins']['get']('CommentsRepository'),_0x59b8c9=this['_services']['get'](_0x593266),_0x1f445b=await _0x59b8c9['connect'](_0x2cb0be);await this['_fetchMissingUsersForThreads'](_0x1f445b);const _0x2fad8a=new Set(Array['from'](_0x23d3cb['getCommentThreads']({'channelId':_0x593266}),_0x7a77e3=>_0x7a77e3['id']));for(const _0x9ff5c2 of _0x1f445b)_0x9ff5c2['deletedAt']||_0x2fad8a['delete'](_0x9ff5c2['commentThreadId']);for(const _0x9752ac of _0x2fad8a)_0x23d3cb['getCommentThread'](_0x9752ac)['remove']({'isFromAdapter':!0x0});for(const _0x487115 of _0x1f445b){let _0x42f866=_0x23d3cb['getCommentThread'](_0x487115['commentThreadId']);const {commentThreadId:_0x22f998,context:_0x56ddc6,attributes:_0x28ca1a,resolvedBy:_0x1d8589,resolvedAt:_0x2531ea,unlinkedAt:_0x359379,deletedAt:_0x150974}=_0x487115;if(_0x150974)continue;_0x42f866||(_0x42f866=_0x23d3cb['addCommentThread']({'channelId':_0x593266,'threadId':_0x22f998,'context':_0x56ddc6,'attributes':_0x28ca1a||{},'resolvedBy':_0x1d8589,'resolvedAt':_0x2531ea,'unlinkedAt':_0x359379,'isFromAdapter':!0x0}));const _0x3e465f=new Set(Array['from'](_0x42f866['comments'],_0x5a866e=>_0x5a866e['id']));for(const _0xfb3265 of _0x487115['comments'])_0x3e465f['delete'](_0xfb3265['commentId']);for(const _0x1aaa75 of _0x3e465f)_0x42f866['getComment'](_0x1aaa75)['remove']({'isFromAdapter':!0x0});for(const _0x1460a3 of _0x487115['comments']){const _0x3108fc=_0x42f866['getComment'](_0x1460a3['commentId']);_0x3108fc?_0x3108fc['content']!==_0x1460a3['content']&&_0x3108fc['update']({'content':_0x1460a3['content'],'isFromAdapter':!0x0}):_0x42f866['addComment'](Object['assign'](S(_0x1460a3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2f3fc6){if(!this['_services']['has'](_0x2f3fc6))throw new _0x529824('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2f3fc6});return this['_services']['get'](_0x2f3fc6);}async['_fetchMissingUsersForThreads'](_0x3d79b1){const _0x5eded6=this['context']['plugins']['get'](_0x1ff91e),{connection:_0x4a8382}=this['context']['plugins']['get'](n),_0x293238=new Set();for(const {resolvedBy:_0x590f31,comments:_0x5f2469}of _0x3d79b1){_0x590f31&&!_0x5eded6['getUser'](_0x590f31)&&_0x293238['add'](_0x590f31);for(const {userId:_0x4bd5c9}of _0x5f2469)_0x5eded6['getUser'](_0x4bd5c9)||_0x293238['add'](_0x4bd5c9);}if(0x0===_0x293238['size'])return;const _0x4581f5=await lt['getMany'](_0x4a8382,Array['from'](_0x293238));for(const _0x21be3f of _0x4581f5)_0x5eded6['getUser'](_0x21be3f['id'])||_0x5eded6['addUser'](_0x21be3f);}}async function F(_0x3bea14){if('404'!==_0x3bea14['code'])throw _0x3bea14;}function dt(_0x3fa3ca){if((_0x42c160=_0x3fa3ca)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x42c160['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x42c160['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x42c160;throw _0x3fa3ca;}function S(_0x41c4f8){return{'threadId':_0x41c4f8['commentThreadId'],'commentId':_0x41c4f8['commentId'],'content':_0x41c4f8['content'],'createdAt':_0x41c4f8['createdAt'],'authorId':_0x41c4f8['userId'],'attributes':_0x41c4f8['attributes']||{}};}class m extends _0x232b47{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x219091){super(_0x219091);const _0x13dc72=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x13dc72);}['init'](){const _0xdd3193=this['editor']['plugins']['get'](n),_0x2af7ed=this['editor']['plugins']['get']('TrackChangesEditing');return _0x2af7ed['adapter']={'getSuggestion':async _0x5a00b2=>{await this['_waitForServiceReady']();const _0xb4f008=await this['_trackChangesService']['get'](_0x5a00b2)['catch'](k);return await this['_fetchMissingUsersForThreads']([_0xb4f008]),_0xb4f008;},'addSuggestion':async({id:_0x289532,type:_0x39b37f,data:_0x408273,originalSuggestionId:_0x143a5c,attributes:_0x5d4f9f})=>{await this['_waitForServiceReady']();const _0x384496={'id':_0x289532,'type':_0x39b37f,'data':_0x408273,'originalSuggestionId':_0x143a5c,'attributes':_0x5d4f9f},_0x34cb48=await this['_trackChangesService']['add'](_0x289532,_0x39b37f,_0x408273,_0x143a5c,_0x5d4f9f)['catch'](_0x577e7e=>{if(ut(_0x577e7e))return new Promise(_0x2df156=>{this['_bufferedRequests']['set'](_0x289532,{'resolve':_0x2df156,'suggestionData':_0x384496});});throw _0x577e7e;});return this['_bufferedRequests']['delete'](_0x289532),_0x34cb48;},'updateSuggestion':async(_0x4cc0cd,_0x40765b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x40765b['state'])return this['_trackChangesService']['update'](_0x4cc0cd,_0x40765b)['catch'](k);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3b320e,_0x26cb96)=>{_0x2af7ed['hasSuggestion'](_0x26cb96['id'])&&(_0x2af7ed['getSuggestion'](_0x26cb96['id'])['attributes']=_0x26cb96['attributes']);}),this['_trackChangesService']['connect'](_0xdd3193['connection'])['then'](_0x1e94e8=>(_0xdd3193['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1e94e8)['then'](()=>{for(const _0x5896c3 of _0x1e94e8){_0x2af7ed['addSuggestionData'](_0x5896c3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x583a2d=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x210769}=this['editor']['plugins']['get'](n),_0x5ad899=await this['_trackChangesService']['connect'](_0x210769);await this['_fetchMissingUsersForThreads'](_0x5ad899);for(const {suggestionData:_0x7aefc6,resolve:_0x2994c7}of this['_bufferedRequests']['values']()){let _0x314987=_0x5ad899['find'](_0x858f79=>_0x858f79['id']===_0x7aefc6['id']);_0x314987||(_0x314987=await this['_trackChangesService']['add'](_0x7aefc6['id'],_0x7aefc6['type'],_0x7aefc6['data'],_0x7aefc6['originalSuggestionId'])),_0x2994c7(_0x314987);}for(const _0x396825 of _0x5ad899)_0x583a2d['hasSuggestion'](_0x396825['id'])||_0x583a2d['addSuggestionData'](_0x396825);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x323eaf=>{this['listenTo'](this['_trackChangesService'],'connected',_0x1c1d11=>{_0x1c1d11['off'](),_0x323eaf();});});}async['_fetchMissingUsersForThreads'](_0x2a28f5){const _0x2fce76=this['editor']['plugins']['get'](_0x1ff91e),{connection:_0x489073}=this['editor']['plugins']['get'](n),_0x48148c=new Set();for(const {authorId:_0x544439}of _0x2a28f5)_0x2fce76['getUser'](_0x544439)||_0x48148c['add'](_0x544439);if(0x0===_0x48148c['size'])return;const _0x37fa2a=await lt['getMany'](_0x489073,Array['from'](_0x48148c));for(const _0xc5a64e of _0x37fa2a)_0x2fce76['getUser'](_0xc5a64e['id'])||_0x2fce76['addUser'](_0xc5a64e);}}function k(_0xc0a2fe){if(ut(_0xc0a2fe))return new Promise(()=>{});throw _0xc0a2fe;}function ut(_0x144bc5){return _0x144bc5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x144bc5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x232b47{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 _0x454f30=this['editor']['plugins']['get'](n),_0x339d78=this['editor']['plugins']['get']('CommentsEditing'),_0x142b90=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x454f30,'change:state',(_0x2f29ec,_0x4a1056,_0x5f52ce)=>{_0x339d78['isThreadsLoadingPaused']='connected'!==_0x5f52ce;});}),this['listenTo'](_0x454f30,'change:state',(_0x1959af,_0x268ba7,_0x360d03)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x360d03);}),_0x142b90['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x232b47{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 _0x232b47{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x1ff91e];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x46026d){super(_0x46026d);const _0x5c7efa=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5c7efa);}async['init'](){const _0x4fc6d3=this['editor']['plugins']['get'](l),_0x59b769=_0x4fc6d3['serverHistory'],_0x3ba0ac=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x59b769,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4fc6d3['sessionId']});const _0x816755=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0xb04808=await tt['isBundleUploaded'](_0x3ba0ac['connection'],_0x816755);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2f609f})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2f609f)),'updateRevisions':async _0x27c872=>{await this['_waitForServiceReady']();const _0x182a9d=this['_revisionTracker']['currentRevision'];if(_0xb04808&&0x1===_0x27c872['length']&&_0x27c872[0x0]['id']===_0x182a9d['id'])return _0x27c872;for(const _0xf1852c of _0x27c872)_0xf1852c['id']===_0x182a9d['id']&&(_0xf1852c['isEmptyCurrent']=_0xf1852c['fromVersion']===_0xf1852c['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x27c872,this['_lastRequestId'])['then'](_0x48d744=>(this['_lastRequestId']=_0x48d744,_0x27c872))['catch'](_0x10f970=>{if(st(_0x10f970)||'400'===_0x10f970['code']&&void 0x0!==_0x10f970['data']['wrongRequestId']){for(const _0x52e2c2 of _0x27c872){!this['_revisionTracker']['repository']['getRevision'](_0x52e2c2['id'])||this['_revisionTracker']['_bufferUpdate'](_0x52e2c2['id'],_0x52e2c2,!0x1);}if(st(_0x10f970))throw _0x10f970;return _0x27c872;}throw _0x10f970;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x5cff73,{revisionsData:_0x24d3da,requestId:_0x4151da})=>{Math['max'](..._0x24d3da['map'](_0x4d7333=>_0x4d7333['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x24d3da,_0x4151da);}):this['_handleRevisionsUpdate'](_0x24d3da,_0x4151da);});const {revisions:_0x5c6d35,requestId:_0x5290ff}=await this['_revisionHistoryService']['connect'](_0x3ba0ac['connection']);_0x3ba0ac['addToReconnectionStack'](this),this['_lastRequestId']=_0x5290ff,await this['_fetchMissingUsers'](_0x5c6d35);for(const _0xb8cae6 of _0x5c6d35)this['_revisionTracker']['addRevisionData'](_0xb8cae6);this['listenTo'](_0x4fc6d3,'change:_isConnected',(_0xc597b3,_0x38513e,_0x173d1c)=>{_0x173d1c&&(this['_oldOffset']=_0x4fc6d3['_offset'],_0xc597b3['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3ba0ac,'state',_0x7843b8=>_0x7843b8===te['CONNECTED']);}async['reconnect'](){const _0x802541=this['editor']['plugins']['get'](n),_0x277fde=this['editor']['plugins']['get'](l),_0x30bf5c=async()=>{const _0x465aac=this['_revisionTracker']['currentRevision'],_0x4db0a0=_0x465aac['id'],_0x423930=_0x4db0a0!==_0x277fde['sessionId'];if(_0x423930){const _0x3b6a97=_0x277fde['_offset']-this['_oldOffset'],_0x49180b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x465aac['toVersion']+_0x3b6a97!==_0x49180b){const _0x4efc6b=_0x465aac['fromVersion']+_0x3b6a97,_0x52c78a=this['editor']['plugins']['get'](_0x1ff91e),_0x1d0026=this['_revisionTracker']['buildRevisionData']({'revision':_0x465aac,'from':_0x4efc6b,'to':_0x49180b});_0x1d0026['id']=_0x465aac['id'];const _0x5cf189=_0x1d0026['authorsIds']['map'](_0xf8cdbc=>_0x52c78a['getUser'](_0xf8cdbc));_0x465aac['_update']({..._0x1d0026,'authors':_0x5cf189},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x465aac['id'],_0x1d0026,!0x0);}this['_revisionTracker']['_startingVersion']=_0x49180b,(_0x465aac['toVersion']===_0x465aac['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x4db0a0)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x4db0a0),this['_revisionTracker']['_createCurrentRevision'](_0x49180b));}const {revisions:_0x5d80a9,requestId:_0xddbdb9}=await this['_revisionHistoryService']['reconnect'](_0x802541['connection'],this['_lastRequestId']);_0x423930&&_0x5d80a9['length']>0x0?_0x277fde['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x5d80a9),this['_handleRevisionsUpdate'](_0x5d80a9,_0xddbdb9),this['_revisionTracker']['sendBufferedUpdates']());};return _0x277fde['_isConnected']?_0x30bf5c():new Promise((_0x5d9840,_0x57ca63)=>{_0x277fde['once']('change:_isConnected',()=>{_0x30bf5c()['then'](_0x5d9840)['catch'](_0x57ca63);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2ea106=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x2c0603=>{_0x2c0603['off'](),_0x2ea106();});});}['_getLatestVersionFromServerOperations'](){const _0x4d6532=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x885149 of _0x4d6532)if('marker'!==_0x885149['type']||_0x885149['affectsData'])return _0x885149['baseVersion']+0x1;}['_getLatestVersion'](){const _0x45584f=this['editor']['plugins']['get'](l);return new Promise(_0x619e1d=>{_0x45584f['_isPendingUpdate']?_0x45584f['once']('change:_isPendingUpdate',()=>{_0x619e1d(this['_getLatestVersionFromServerOperations']());}):_0x619e1d(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xa8e8d4,_0x5e1efd){const _0x148b4c=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5e1efd;for(const _0x2194e6 of _0xa8e8d4){const _0x5553f8=_0x148b4c['getRevision'](_0x2194e6['id']);if(_0x5553f8){if((_0x2194e6['fromVersion']||_0x2194e6['toVersion'])&&(_0x2194e6['diffData']=null),_0x5553f8===this['_revisionTracker']['currentRevision']){const _0x23f039=Math['max'](_0x5553f8['toVersion'],_0x2194e6['toVersion']),_0xf561af=Math['max'](_0x5553f8['fromVersion'],_0x2194e6['fromVersion']);let _0x394c2a;_0x5553f8['toVersion']===_0x2194e6['toVersion']&&_0x5553f8['fromVersion']===_0x2194e6['fromVersion']?(_0x394c2a=!0x0,this['_preventResendingRevisionData'](_0x2194e6)):_0x2194e6['toVersion']===_0x23f039&&_0x2194e6['fromVersion']===_0xf561af?_0x394c2a=!0x1:(_0x5553f8['toVersion']===_0x23f039&&_0x5553f8['fromVersion']===_0xf561af||this['_fixRevision']({'revision':_0x5553f8,'from':_0xf561af,'to':_0x23f039}),_0x394c2a=!0x0),_0x394c2a&&(delete _0x2194e6['fromVersion'],delete _0x2194e6['toVersion'],delete _0x2194e6['diffData'],delete _0x2194e6['createdAt'],delete _0x2194e6['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2194e6),this['_preventResendingRevisionData'](_0x2194e6);}else this['_revisionTracker']['addRevisionData'](_0x2194e6);}const _0x23ba04=_0x148b4c['getRevisions']();_0x23ba04['reverse']();for(let _0x55265d=0x0;_0x55265d<_0x23ba04['length']-0x1;_0x55265d++){const _0x26a263=_0x23ba04[_0x55265d],_0x5b77fe=_0x23ba04[_0x55265d+0x1];if(_0x26a263['fromVersion']<_0x5b77fe['toVersion']){const _0x140c9a=_0x5b77fe['toVersion'],_0x1798a8=Math['max'](_0x140c9a,_0x26a263['toVersion']);this['_fixRevision']({'revision':_0x26a263,'from':_0x140c9a,'to':_0x1798a8});}}}['_fixRevision']({revision:_0x434cc9,from:_0x13d9dc,to:_0x9f438d}={}){const _0x1c5e96=this['editor']['plugins']['get'](_0x1ff91e),_0x456ce8=this['_revisionTracker']['buildRevisionData']({'revision':_0x434cc9,'from':_0x13d9dc,'to':_0x9f438d});_0x456ce8['authors']=_0x456ce8['authorsIds']['map'](_0x52dbf9=>_0x1c5e96['getUser'](_0x52dbf9)),_0x434cc9['_update'](_0x456ce8);}['_preventResendingRevisionData'](_0x222cdc){const _0x3a743d={};_0x3a743d['id']=_0x222cdc['id'];for(const _0x4ea964 of Object['keys'](_0x222cdc))'id'!==_0x4ea964&&(_0x3a743d[_0x4ea964]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x3a743d['id'],_0x3a743d,!0x0);}async['_fetchMissingUsers'](_0x40de07){const _0x48674b=this['editor']['plugins']['get'](_0x1ff91e),{connection:_0x427b2d}=this['editor']['plugins']['get'](n),_0x467577=new Set();for(const _0x3414ed of _0x40de07){for(const _0x5ae7d7 of _0x3414ed['authorsIds'])_0x35da79(_0x5ae7d7);_0x3414ed['creatorId']&&_0x35da79(_0x3414ed['creatorId']);}if(0x0===_0x467577['size'])return;const _0x3cace2=await lt['getMany'](_0x427b2d,Array['from'](_0x467577));for(const _0x42ea46 of _0x3cace2)_0x48674b['getUser'](_0x42ea46['id'])||_0x48674b['addUser'](_0x42ea46);function _0x35da79(_0x32c3b6){_0x48674b['getUser'](_0x32c3b6)||_0x467577['add'](_0x32c3b6);}}}function st(_0x465d26){return _0x465d26['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x465d26['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x465d26['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x232b47{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 _0x210562{['_collapseAt'];constructor(_0x21e95e,_0x53f5ee=0x6){super(_0x21e95e);const _0x1c9d26=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x53f5ee,this['bind']('isHidden')['to'](this,'usersCount',_0x2e6f9e=>_0x2e6f9e<_0x53f5ee),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x1c9d26['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':_0x1c9d26['to']('usersCount',_0x87a4c=>'+'+(_0x87a4c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x210562{['items'];['keystrokes'];constructor(_0x2d41a0){super(_0x2d41a0);const _0x4d5d2a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2494c(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x4d5d2a['if']('hasPopup'),'aria-expanded':_0x4d5d2a['to']('isExpanded',_0xbc5ab3=>this['hasPopup']&&String(_0xbc5ab3)),'aria-label':_0x4d5d2a['to']('hasPopup',_0x5ba1ff=>V(_0x2d41a0,_0x5ba1ff?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x4d5d2a['to']('hasPopup',_0x5a9d32=>!!_0x5a9d32&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x4d5d2a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x4d5d2a['to'](_0x25d83f=>{const _0x16a22d=_0x25d83f,_0x2988c6=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5816de=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2988c6?.['contains'](_0x16a22d['relatedTarget'])||_0x5816de?.['contains'](_0x16a22d['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x17e795,_0x415b12,_0x192be1)=>{this['element']&&(_0x192be1?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 _0x210562{['counterView'];['inlineListView'];constructor(_0x2d84df,_0x5e2f5f=0x6){super(_0x2d84df);const _0x24b509=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x5e2f5f),this['inlineListView']=new is(_0x2d84df),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2bf175 of this['inlineListView']['items'])_0x2bf175['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',_0x24b509['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x210562{['listWrapperView'];constructor(_0xc4da35,_0x29b771){super(_0xc4da35);const _0x3c9bb2=this['bindTemplate'];this['listWrapperView']=new pt(_0xc4da35,_0x29b771),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':V(_0xc4da35,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3c9bb2['to'](_0x56b5e9=>{const _0x223274=_0x56b5e9,_0x2be711=document['querySelector']('.ck-presence-list__list'),_0x4e48e6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2be711?.['contains'](_0x223274['relatedTarget'])||_0x4e48e6?.['contains'](_0x223274['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x4fbea9{constructor(_0x49e2f7,_0x4731e3){super(_0x49e2f7);const _0x4e95dd=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4731e3?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4e95dd['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4e95dd['to']('role'),'aria-label':_0x4e95dd['to']('ariaLabel'),'aria-labelledby':_0x4e95dd['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x201d53['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x371fea=this['element'];_0x371fea&&(this['_isScrollable']=Math['max'](_0x371fea['scrollHeight'],_0x371fea['clientHeight'])>0.8*window['innerHeight']);}}class j extends rt{['userView'];constructor(_0x12f744,_0x2085d3,_0x247958){super(_0x12f744);const _0x8c81cb=this['bindTemplate'];this['userView']=new ct(_0x12f744,_0x2085d3);const _0xced699={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2085d3['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2085d3['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2085d3['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x247958&&(_0xced699['tag']='button',_0xced699['on']={'click':_0x8c81cb['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xced699);}['focus'](){this['element']['focus']();}}class A extends _0x210562{['userView'];['markerView'];constructor(_0x16c825,_0x47d6d7,_0x142ba6){super(_0x16c825);const _0x136041=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x16c825,_0x47d6d7),this['markerView']=new at(_0x16c825,_0x47d6d7);const _0x1242ea=new ot(_0x16c825);_0x1242ea['template']['tag']='span',_0x1242ea['text']=_0x47d6d7['name'];const _0x31bdb6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x136041['to']('isFocusable',_0xb3c809=>!!_0xb3c809&&0x0),'aria-labelledby':_0x1242ea['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x136041['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x136041['to']('hasTooltip',_0x17a1e5=>!_0x17a1e5),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1242ea]};_0x142ba6&&(_0x31bdb6['tag']='button',_0x31bdb6['on']={'click':_0x136041['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x31bdb6);}}class at extends _0x210562{constructor(_0x420711,_0x2cce7e){super(_0x420711),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cce7e['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x1a80af{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5ae922){super(_0x5ae922),this['context']['config']['define']('presenceList',x);const _0x4b80e8=_0x5ae922['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4b80e8)throw new _0x529824('presencelist-collapseat-invalid-format',this);if(_0x4b80e8<0x1)throw new _0x529824('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x462cb9(),this['balloonPanelView']=new _0x581a51(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xd9daa2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xd9daa2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x51880c,_0x2a7ca3)=>{this['_handleUserAdd'](_0x2a7ca3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x33bb42,_0x1c63f2)=>{this['_handleUserRemove'](_0x1c63f2);});}['_createView'](){const _0x2dcc44=this['context'],_0x567a94=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4a9311=this['balloonPanelView'];if(!_0x3d9807(_0x2dcc44['config']['get']('presenceList.container')))throw new _0x529824('presencelist-missing-container',this);return _0x567a94['counterView']['bind']('usersCount')['to'](this),_0x567a94['bind']('isCollapsed')['to'](this,'usersCount',_0x153e11=>{const {collapseAt:_0x1572f2}=_0x2dcc44['config']['get']('presenceList'),_0x598dd7=_0x153e11>=_0x1572f2;if(_0x598dd7&&!_0x567a94['inlineListView']['items']['find'](_0x55c68e=>_0x55c68e instanceof b)){const _0x2b3c48=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x2b3c48&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x567a94['inlineListView']['items']['add'](_0x567a94['counterView']);}return _0x598dd7||this['hideDropdown'](),_0x598dd7;}),_0x567a94['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5afbd4=>{const _0x4dc6bf=_0x2dcc44['config']['get']('presenceList'),_0x243cb0=new A(_0x2dcc44['locale'],_0x5afbd4,!!_0x4dc6bf['onClick']);return _0x243cb0['bind']('hasTooltip')['to'](_0x567a94,'isCollapsed',_0x734cfe=>!_0x734cfe),_0x243cb0['bind']('isFocusable')['to'](_0x567a94,'isCollapsed',_0x32ff1c=>!_0x32ff1c),_0x4dc6bf['onClick']&&this['listenTo'](_0x243cb0,'execute',()=>{this['view']['isCollapsed']||_0x4dc6bf['onClick'](_0x5afbd4,_0x243cb0['element']);}),_0x243cb0;}),this['listenTo'](_0x567a94['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x567a94['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x567a94['inlineListView']['keystrokes']['set']('Enter',(_0x4b0f00,_0x1795c4)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x1795c4());}),_0x567a94['render'](),_0x4a9311['render'](),_0x4762a9({'emitter':_0x567a94,'activator':()=>_0x4a9311['isVisible'],'contextElements':[_0x4a9311['element'],_0x567a94['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x2dcc44['config']['get']('presenceList.container')['appendChild'](_0x567a94['element']),this['_bodyCollection']=new _0x2f368f(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x567a94;}['_handleUserAdd'](_0x3b5dbd){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3b5dbd['isMe'])return;const _0x2bee4f=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2bee4f-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0xaa9804=_0x3b5dbd['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3b5dbd,_0xaa9804);}['_handleUserRemove'](_0x2da467){this['usersCount']--;const {collapseAt:_0x37b6a9}=this['context']['config']['get']('presenceList'),_0x4da0d4=this['usersCount']>=_0x37b6a9;if(this['currentDisplayedUsers']['get'](_0x2da467['id']))this['currentDisplayedUsers']['remove'](_0x2da467['id']);else{if(_0x4da0d4&&this['currentDisplayedUsers']['length']+0x1===_0x37b6a9-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4da0d4?0x1:0x0)<this['usersCount']){for(const _0x41c029 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x41c029['id'])&&(this['currentDisplayedUsers']['add'](_0x41c029,Math['min'](this['currentDisplayedUsers']['length']-(_0x4da0d4?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4da0d4?0x1:0x0)===_0x37b6a9-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x187a4d=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x187a4d['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x4493c7}=this['presenceDropdownView'];_0x4493c7['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3dc280=>{if(!_0x187a4d['displayMe']&&_0x3dc280['isMe'])return null;const _0xd18bc7=new j(this['context']['locale'],_0x3dc280,!!_0x187a4d['onClick']);return _0x187a4d['onClick']&&this['listenTo'](_0xd18bc7,'execute',()=>{_0x187a4d['onClick'](_0x3dc280,_0xd18bc7['element']);}),_0xd18bc7;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x4493c7['focus'](),_0x4493c7['checkIfScrollable']();const _0x524768=(_0x307300,_0x3f6b7d)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x3f6b7d();};_0x4493c7['keystrokes']['set']('Esc',_0x524768),_0x4493c7['keystrokes']['set']('Shift+Tab',_0x524768),_0x4493c7['keystrokes']['set']('Tab',(_0x25ea89,_0x3e1e1d)=>{!function(_0x24091c){const _0x28ce54=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2e9aa0=>_0x2e9aa0+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x52a12b=[...document['body']['querySelectorAll'](_0x28ce54)]['filter'](_0x14a283=>_0x14a283===document['activeElement']||_0x14a283['offsetWidth']+_0x14a283['offsetHeight']>0x0)['sort']((_0x524b0d,_0x470bac)=>(_0x524b0d['tabIndex']||0x0)-(_0x470bac['tabIndex']||0x0)),_0x4db4f9=_0x52a12b['indexOf'](_0x24091c),_0x5eb0ff=_0x52a12b[(_0x4db4f9+0x1)%_0x52a12b['length']];_0x5eb0ff&&_0x5eb0ff['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3e1e1d();}),_0x4493c7['focusTracker']['add'](this['view']['element']),_0x4493c7['focusTracker']['on']('change:isFocused',(_0x180597,_0x3334f8,_0x15e707)=>{_0x15e707||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x1a80af{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};
23
+ import{ContextPlugin as _0x3737b0,Plugin as _0x3ce7af,PendingActions as _0xc6dcaa,Context as _0x4fab2b}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x492275,CKEditorError as _0x3a7a10,Collection as _0x351db3,global as _0x2a7fa4,version as nt,uid as _0x4446c6,KeystrokeHandler as _0x14cf04}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3530df,View as _0x4cacb3,ListView as _0x3b8368,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x3edbc8,clickOutsideHandler as _0x156eb3,BodyCollection as _0x58a8af}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x342455,History as _0x2f2b95,NoOperation as _0x6d91e5,InsertOperation as _0x1e2352,MarkerOperation as _0xabac46,RootAttributeOperation as _0x12be79,transformOperationSets as _0x5289c3,OperationFactory as _0x4392da}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x10ba10,User as lt,CommentsService as _0x5b4a46,TrackChangesService as tt,RevisionHistoryService as st,EditorService as it}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x39336f,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x1f5bae}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x28c1d}from'es-toolkit/compat';class n extends _0x3737b0{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x3530df];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x31efde){super(_0x31efde),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x492275())();}['init'](){const _0x1a9c81=this['context'],_0x3f9220=_0x1a9c81['plugins']['get']('CloudServices'),_0x4708c2=_0x1a9c81['plugins']['get'](_0x3530df);if(!_0x3f9220['token'])throw new _0x3a7a10('websocketgateway-missing-token',this);if(!_0x3f9220['webSocketUrl'])throw new _0x3a7a10('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'](_0x3f9220['token'],_0x3f9220['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x277131=>{if(this['connection']=_0x277131,this['bind']('state')['to'](_0x277131,'state',this,'_isBrowserOffline',(_0x52fc09,_0x42db27)=>('connected'!==_0x52fc09&&(this['_shouldPluginsReconnect']=!0x0),_0x42db27||_0x52fc09!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0x433b8b,_0x1b4f19)=>{if('limitExceeded'!==_0x1b4f19['code'])throw console['error'](_0x1b4f19),new _0x3a7a10('cloudservices-init',null,{'originalError':_0x1b4f19});_0x4708c2['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'});}),!_0x277131['me'])return new Promise(_0x2c87ba=>_0x277131['on']('change:me',_0x2c87ba));})['catch'](_0x2eb880=>{throw console['error'](_0x2eb880),new _0x3a7a10('cloudservices-init',null,{'originalError':_0x2eb880});});}['addToReconnectionStack'](_0x47bb4e){if('function'!=typeof _0x47bb4e['reconnect'])throw new _0x3a7a10('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47bb4e))throw new _0x3a7a10('websocketgateway-plugin-already-registered',this,{'name':_0x47bb4e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47bb4e);}['removeFromReconnectionStack'](_0x12889c){this['_reconnectionStack']['delete'](_0x12889c);}['isInReconnectionStack'](_0xe2c2c9){return this['_reconnectionStack']['has'](_0xe2c2c9);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1dd3a4=>_0x1dd3a4['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x1fda2e=>{throw console['error'](_0x1fda2e),new _0x3a7a10('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=te['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x3737b0{['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,_0x39336f];}constructor(_0x3f85f7){super(_0x3f85f7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x351db3(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x39336f);}['init'](){const _0x261143=this['context']['plugins']['get'](n);this['listenTo'](_0x261143,'change:state',(_0x4bea15,_0x5f3818,_0x52b544)=>{if('connected'!==_0x52b544)this['channelSessions']['forEach'](_0x1c673a=>_0x1c673a['clear']()),this['channelConnectedUsers']['forEach'](_0x220c1c=>_0x220c1c['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x1d328c,_0x57c37d]of this['_registeredSessions'])for(const _0x3a81e5 of _0x57c37d)this['_handleSessionAdd'](_0x1d328c,_0x3a81e5);}}),this['_createUser'](_0x261143['connection']['me'],!0x0);}['register'](_0x51a37d,_0x3ec840){if(this['_registeredSessions']['has'](_0x51a37d))throw new _0x3a7a10('sessions-register-already-registered',null,{'channelId':_0x51a37d});this['_registeredSessions']['set'](_0x51a37d,_0x3ec840),this['channelSessions']['set'](_0x51a37d,new _0x351db3()),this['channelConnectedUsers']['set'](_0x51a37d,new _0x351db3()),this['listenTo'](_0x3ec840,'add',(_0x45c22d,_0x1a14d6)=>this['_handleSessionAdd'](_0x51a37d,_0x1a14d6)),this['listenTo'](_0x3ec840,'remove',(_0x1b9ebd,_0x32e68f)=>this['_handleSessionRemove'](_0x51a37d,_0x32e68f));for(const _0x42b8ef of _0x3ec840)this['_handleSessionAdd'](_0x51a37d,_0x42b8ef);}['unregister'](_0x5f43b2){if(!this['_registeredSessions']['has'](_0x5f43b2))throw new _0x3a7a10('sessions-unregister-not-exist',null,{'channelId':_0x5f43b2});const _0x1e4377=this['_registeredSessions']['get'](_0x5f43b2);this['stopListening'](_0x1e4377);for(const _0x2a330f of _0x1e4377)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x5f43b2,_0x2a330f);this['_registeredSessions']['delete'](_0x5f43b2),this['channelSessions']['delete'](_0x5f43b2),this['channelConnectedUsers']['delete'](_0x5f43b2);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x591512){for(const _0x25b549 of this['channelSessions']['values']())for(const _0x35caa6 of _0x25b549)if(_0x35caa6['id']===_0x591512)return _0x35caa6['user'];}['getUserSessions'](_0x303dfa,_0x4023c8){const _0x14970f=_0x4023c8?[this['channelSessions']['get'](_0x4023c8)]:this['channelSessions']['values'](),_0x3ac368=new Set();for(const _0x3a9df8 of _0x14970f)for(const _0x16b98c of _0x3a9df8)_0x16b98c['user']['id']===_0x303dfa['id']&&_0x3ac368['add'](_0x16b98c['id']);return _0x3ac368;}['getUserRole'](_0x25ad1d){for(const _0x388759 of this['channelSessions']['values']())for(const _0x1d7d40 of _0x388759)if(_0x1d7d40['user']===_0x25ad1d)return _0x1d7d40['role'];}['_handleSessionAdd'](_0x1c6cfa,_0x33469c){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x54346d=_0x33469c['user'],_0x19c8e6=this['_users']['getUser'](_0x54346d['id'])||this['_createUser'](_0x54346d),_0x205db5=Object['assign']({},_0x33469c,{'user':_0x19c8e6});if(this['channelSessions']['get'](_0x1c6cfa)['add'](_0x205db5),!_0x54346d['hiddenInPresenceList']){const _0x11e988=this['channelConnectedUsers']['get'](_0x1c6cfa);_0x11e988['has'](_0x19c8e6['id'])||_0x11e988['add'](_0x19c8e6),this['allConnectedUsers']['has'](_0x19c8e6['id'])||_0x54346d['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x19c8e6,_0x19c8e6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x1c6cfa,{'channelId':_0x1c6cfa,'session':_0x205db5});}['_handleSessionRemove'](_0x351580,_0x24e707){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x30e86f=this['channelConnectedUsers']['get'](_0x351580),_0x5e72df=_0x24e707['user'];_0x5e72df['id']&&(this['channelSessions']['get'](_0x351580)['remove'](_0x24e707['id']),_0x30e86f['has'](_0x5e72df['id'])&&!this['getUserSessions'](_0x5e72df,_0x351580)['size']&&_0x30e86f['remove'](_0x5e72df['id']),this['allConnectedUsers']['get'](_0x5e72df['id'])&&!this['getUserSessions'](_0x5e72df)['size']&&this['allConnectedUsers']['remove'](_0x5e72df['id']));}['_createUser'](_0x559711,_0x3eb2c2){const _0x72f74d=this['_users']['addUser'](_0x559711);return _0x3eb2c2&&this['_users']['defineMe'](_0x559711['id']),_0x72f74d['orderNumber']=this['_uniqueUsersCount']++,_0x72f74d;}}class V extends _0x3ce7af{['_domEmitter']=new(_0x492275())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46920e=this['editor'],_0x55cd98=_0x46920e['plugins']['get'](i);_0x46920e['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x545d8a,{writer:_0x4a002e})=>function(_0x2aa137,_0x3e41b9,_0x4aef4b,_0x25583d){const _0x5ab4f3=_0x2aa137['markerName']['split'](':')[0x2],_0x56117a=_0x4aef4b['getUserBySessionId'](_0x5ab4f3);if(!_0x56117a||_0x5ab4f3===_0x4aef4b['mySessionId'])return;if(!_0x25583d['model']['schema']['checkChild'](_0x2aa137['markerRange']['start'],'$text'))return;const _0x5c1a61={'class':'ck-user__marker\x20'+_0x56117a['color']['getMarkerClass'](),'data-name':_0x56117a['name'],'data-session-id':_0x5ab4f3},_0x5a68a0=_0x25583d['model']['markers']['get'](_0x2aa137['markerName']),_0x4e8d8e=_0x5a68a0['getStart'](),_0x51c815=_0x4e8d8e['nodeAfter'],_0x5188d1=_0x25583d['model']['schema'];if(_0x51c815&&_0x5188d1['isObject'](_0x51c815)&&_0x5188d1['isInline'](_0x51c815)&&!_0x25583d['model']['markers']['get']('user:range:'+_0x5ab4f3)['getRange']()['isCollapsed'])return;const _0x1d45c9=_0x4e8d8e['parent'];return _0x25583d['model']['schema']['isLimit'](_0x1d45c9)&&!_0x25583d['model']['hasContent'](_0x1d45c9)&&(_0x5c1a61['contenteditable']=!0x1),function(_0x40456d,_0x4d9355,_0x258460){const _0x46ce8e=_0x40456d['createUIElement']('span',_0x4d9355);return _0x40456d['setCustomProperty']('userPositionMarker',!0x0,_0x46ce8e),_0x46ce8e['render']=function(_0x3012fa){const _0x57ac8a=this['toDomElement'](_0x3012fa),_0x31c564=document['createElement']('span');return _0x31c564['classList']['add']('ck-user__marker-tooltip'),_0x31c564['setAttribute']('contenteditable','false'),_0x31c564['setAttribute']('spellcheck','false'),_0x31c564['textContent']=_0x258460['name'],_0x57ac8a['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x31c564['outerHTML']+'⁠',_0x57ac8a['addEventListener']('mouseenter',()=>{_0x57ac8a['classList']['add']('ck-user__marker_hovered');}),_0x57ac8a['addEventListener']('mouseleave',()=>{_0x57ac8a['classList']['remove']('ck-user__marker_hovered');}),_0x57ac8a;},_0x46ce8e['isSimilar']=function(_0x278664){return!(!this['getCustomProperty']('userPositionMarker')||!_0x278664['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x278664['getAttribute']('data-session-id'));},_0x46ce8e;}(_0x3e41b9,_0x5c1a61,_0x56117a);}(_0x545d8a,_0x4a002e,_0x55cd98,_0x46920e)}),_0x46920e['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2df5a6=>function(_0x58a458,_0x3323c2){const _0x5c24e2=_0x58a458['markerName']['split'](':')[0x2];if(_0x5c24e2===_0x3323c2['mySessionId'])return null;const _0x359887=_0x3323c2['getUserBySessionId'](_0x5c24e2);if(!_0x359887)return{'id':_0x5c24e2,'classes':[]};return{'id':_0x5c24e2,'classes':['ck-user__selection',_0x359887['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5c24e2},'priority':0x7d0+_0x359887['orderNumber']};}(_0x2df5a6,_0x55cd98)}),function(_0x4e5a64){const _0xb4fb97=_0x4e5a64['model'],_0x408bdc=new Map(),_0x199139=_0x4e5a64['plugins']['get'](i);_0xb4fb97['markers']['on']('update:user:range',(_0x1561f0,_0x9a3dfd,_0x448387,_0x8d74b6)=>{if(!_0x8d74b6&&_0x408bdc['get'](_0x9a3dfd['name']))return _0x408bdc['get'](_0x9a3dfd['name'])['detach'](),void _0x408bdc['delete'](_0x9a3dfd['name']);const _0x227fec=_0x9a3dfd['name']['split'](':')[0x2];if(_0x227fec===_0x199139['mySessionId'])return;const _0x30b8ca='user:position:'+_0x227fec;_0xb4fb97['markers']['has'](_0x30b8ca)&&_0x4e5a64['editing']['reconvertMarker'](_0x30b8ca),_0x9a3dfd['on']('change:range',(_0x4811cc,_0x4455f4,_0x560e6b)=>{if('$graveyard'!=_0x4455f4['root']['rootName']&&'$graveyard'==_0x9a3dfd['getRange']()['root']['rootName']&&!_0x408bdc['has'](_0x9a3dfd['name'])){const _0x545855=_0xb4fb97['schema']['getNearestSelectionRange'](_0x560e6b['deletionPosition']);if(_0x545855){const _0x45d337=_0x342455['fromRange'](_0x545855);_0x408bdc['set'](_0x9a3dfd['name'],_0x45d337),_0x45d337['on']('change:range',(_0x8b1688,_0x5b2245,_0xa44437)=>{if('$graveyard'==_0x45d337['root']['rootName']){const _0x4ab9f0=_0xb4fb97['schema']['getNearestSelectionRange'](_0xa44437['deletionPosition']);_0x4ab9f0?(_0x45d337['start']=_0x4ab9f0['start'],_0x45d337['end']=_0x4ab9f0['end']):(_0x408bdc['delete'](_0x9a3dfd['name']),_0x45d337['detach']());}});}}});}),_0xb4fb97['document']['on']('change',()=>{_0x408bdc['size']>0x0&&_0xb4fb97['enqueueChange']({'isUndoable':!0x1},_0x161800=>{for(const [_0x45f45f,_0x4c7173]of _0x408bdc)'$graveyard'==_0xb4fb97['markers']['get'](_0x45f45f)['getRange']()['root']['rootName']&&(Z(_0x45f45f['split'](':')[0x2],_0x4c7173['toRange'](),_0xb4fb97,_0x161800),_0x4c7173['detach']());_0x408bdc['clear']();});});}(_0x46920e),this['_domEmitter']['listenTo'](_0x2a7fa4['document'],'keydown',(_0x5cf9d0,{key:_0x3e4354})=>{'Escape'===_0x3e4354&&function(_0xb5bd8d){_0xb5bd8d['editing']['view']['change'](_0x25d04c=>{for(const _0x387515 of _0xb5bd8d['model']['markers']){if(!_0x387515['name']['startsWith']('user:position'))continue;const _0xcb29ff=_0xb5bd8d['editing']['mapper']['markerNameToElements'](_0x387515['name']);if(_0xcb29ff){for(const _0x1fb45d of _0xcb29ff)_0x25d04c['removeClass']('ck-user__marker_hovered',_0x1fb45d);}}});}(_0x46920e);},{'useCapture':!0x0});}['afterInit'](){const _0x272fcf=this['editor'],_0x14cbb=_0x272fcf['commands']['get']('undo');_0x14cbb&&_0x272fcf['model']['on']('applyOperation',(_0x2dd39b,_0x12a293)=>{const _0x5397e2=_0x12a293[0x0];if(!_0x5397e2['isDocumentOperation'])return;if('marker'!=_0x5397e2['type']||!_0x5397e2['name']['startsWith']('user:'))return;const _0x55b95f=_0x5397e2['batch'];_0x14cbb['_createdBatches']['has'](_0x55b95f)&&(_0x5397e2['newRange']=_0x5397e2['oldRange']?_0x272fcf['model']['createRange'](_0x5397e2['oldRange']['start'],_0x5397e2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x447a0b=this['editor'],_0x308162=_0x447a0b['model']['document'],_0x28571c=_0x447a0b['plugins']['get'](i);_0x447a0b['model']['enqueueChange']({'isUndoable':!0x1},_0x9297ee=>{const _0x138f93='user:range:'+_0x28571c['mySessionId'],_0x3eb391='user:position:'+_0x28571c['mySessionId'],_0x2d15bd=_0x447a0b['model']['markers']['has'](_0x138f93);_0x447a0b['editing']['view']['hasDomSelection']?Z(_0x28571c['mySessionId'],_0x308162['selection']['getFirstRange'](),_0x447a0b['model'],_0x9297ee):_0x2d15bd&&(_0x9297ee['removeMarker'](_0x138f93),_0x9297ee['removeMarker'](_0x3eb391));});}}function Z(_0x46669c,_0x5f62e6,_0x48427d,_0x49a002){const _0x2eddef='user:range:'+_0x46669c,_0x202de9='user:position:'+_0x46669c,_0x49690c=_0x5f62e6['getContainedElement']();let _0x21700c=_0x5f62e6['start'];if(_0x49690c&&_0x49690c['is']('element','tableCell')){const _0x54f0df=function(_0x37d0c3,_0x4d3c59){for(const _0x348201 of _0x37d0c3['getPositions']())if(_0x4d3c59['schema']['checkChild'](_0x348201,'$text'))return _0x348201;}(_0x5f62e6,_0x48427d);_0x54f0df&&(_0x21700c=_0x54f0df,_0x5f62e6=_0x49a002['createRange'](_0x21700c));}const _0x2e1eeb=_0x49a002['createRange'](_0x21700c);_0x48427d['markers']['has'](_0x2eddef)?(_0x49a002['updateMarker'](_0x2eddef,{'range':_0x5f62e6}),_0x49a002['updateMarker'](_0x202de9,{'range':_0x2e1eeb})):(_0x49a002['addMarker'](_0x2eddef,{'range':_0x5f62e6,'usingOperation':!0x0}),_0x49a002['addMarker'](_0x202de9,{'range':_0x2e1eeb,'usingOperation':!0x0}));}function W(_0x43791b,_0x6d6771,_0x1f8ddf){const _0x37df80=_0x43791b['t'],t=_0x43791b['t'];switch(_0x6d6771){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 _0x37df80({'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'},_0x1f8ddf);default:return'';}}let G=0x1;class l extends _0x3ce7af{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x10ba10)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,V,_0xc6dcaa,_0x39336f,_0x3530df];}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 _0x2e6269=this['serverHistory']['getOperations']();for(let _0x27623e=_0x2e6269['length']-0x1;_0x27623e>=0x0;_0x27623e--){const _0x319414=_0x2e6269[_0x27623e];if(!this['_disconnectionOperations']['has'](_0x319414))return _0x319414['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x5479ea){if(super(_0x5479ea),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2f2b95(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3a7a10('collaboration-missing-channelid',this);const _0x5e804f=_0x5479ea['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x5e804f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x1f5bae(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new J(this['_disconnectionOperations']);}['init'](){const _0x1cee61=this['editor'],_0x5ece66=_0x1cee61['plugins']['get'](_0x39336f),_0x3ed21c=_0x1cee61['plugins']['get'](n);this['listenTo'](_0x5ece66,'getOperationAuthor',(_0x41c18d,_0x4a870f)=>{const _0xc61358=_0x4a870f[0x0];_0xc61358['_authorId']&&(_0x41c18d['return']=_0x5ece66['getUser'](_0xc61358['_authorId']),_0x41c18d['stop']()),null===_0xc61358['_authorId']&&(_0x41c18d['return']=null,_0x41c18d['stop']());},{'priority':'high'}),this['listenTo'](_0x1cee61['model']['document']['selection'],'change:range',(_0x1de55b,_0x38782f)=>{_0x38782f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x1cee61['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x1cee61['model']['on']('applyOperation',(_0x234b5e,_0x568564)=>{const _0x324f78=_0x568564[0x0];_0x324f78['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x324f78),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3ed21c,'state',this,'_hasSynchronizationProblem',(_0x1c7704,_0x34a8f7)=>'connected'===_0x1c7704&&!_0x34a8f7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x1cee61['disableReadOnlyMode']('rtc-offline'):_0x1cee61['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x1cee61['disableReadOnlyMode']('rtc-offline'):_0x1cee61['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2ae681=this['editor']['plugins']['get'](i),_0x28d59a=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2ae681['unregister'](this['_channelId']);const _0x48005e=await this['_service']['reconnect'](_0x28d59a['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x48005e)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5dddc3=await this['_service']['getConnectedSessions']();_0x2ae681['register'](this['_channelId'],_0x5dddc3),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3140ef){if(function(_0x1472e7){return'404'===_0x1472e7['code'];}(_0x3140ef)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x567b3d){return'409'===_0x567b3d['code'];}(_0x3140ef)){const _0x17c116=W(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x17c116);}else{if(!(_0x3140ef instanceof $))throw _0x3140ef;this['_handleReconnectionError']();}}}}['destroy'](){const _0x138370=this['editor']['plugins']['get'](n),_0x2ef310=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x2ef310['channelSessions']['has'](this['_channelId'])&&_0x2ef310['unregister'](this['_channelId']),_0x138370['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2fdd00){if(this['sessionId']!==_0x2fdd00['sessionId']&&this['_lastSyncedOperationId']!==_0x2fdd00['lastOperationId'])throw new $();return this['sessionId']=_0x2fdd00['sessionId'],this['_handleServerResponse']([],{..._0x2fdd00,'wereChangesApplied':!0x1,'data':_0x2fdd00['data']},'reconnect');}async['_connectService'](_0x488093,_0xd2909e=!0x1){const {connection:_0x533fa6}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x533fa6,this['_channelId'])['then'](_0x51e5c2=>this['_initSessionsHandling'](_0x51e5c2))['catch'](_0xd686cd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0xd686cd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x103ef5,_0x38b22e)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x38b22e);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0xcc645a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x488093);this['_isPendingUpdate']=!0x0;const _0x1055ce=await this['_service']['connect'](_0x533fa6,this['_compressOperations'](_0x488093),_0xcc645a);if(this['sessionId']=_0x1055ce['sessionId'],_0xd2909e){if(!_0x1055ce['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1055ce['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x488093,_0x1055ce,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1055ce,_0x488093);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x534324=this['editor']['plugins']['get'](i),_0x51785c=this['editor']['plugins']['get'](V),_0x151c6f=_0x534324['channelSessions']['get'](this['_channelId']);_0x151c6f&&_0x151c6f['length']>0x1?_0x51785c['createUserMarkerOperations']():this['listenTo'](_0x534324,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x534324['channelSessions']['get'](this['_channelId'])['length']&&_0x51785c['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x278f33,_0x214cd7,_0x1e907e,_0x56d060){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x214cd7){const _0x3fd5aa=this['_decompressOperations'](_0x1e907e,_0x56d060);await this['_fetchMissingUsers'](_0x3fd5aa),this['_handleExternalOperations'](_0x3fd5aa,_0x214cd7,_0x1e907e['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x527d34}=this['editor'];let _0x5c88f2;try{_0x5c88f2=await this['_service']['getDocumentDetails']();}catch{const _0x449c49=W(_0x527d34,'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'](_0x449c49);}const _0x5abcac=_0x5c88f2['currentDocumentSession']||_0x5c88f2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5abcac['lastOperationId']){const _0x4d544d=W(_0x527d34,'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'](_0x4d544d);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x3fa0bf){const _0x1d0f22=this['editor']['plugins']['get'](i);this['listenTo'](_0x1d0f22,'sessionAdd:'+this['_channelId'],(_0x607848,{session:_0xa138dc})=>{if(_0xa138dc['id']===_0x1d0f22['mySessionId']){_0x607848['off']();const _0x500373=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2391e3=_0xa138dc['permissions'];_0x500373&&_0x500373['isEnabled']&&(_0x2391e3=_0x2391e3['filter'](_0x3846ba=>'document:write'!==_0x3846ba)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2391e3,this['_channelId']);}}),_0x1d0f22['register'](this['_channelId'],_0x3fa0bf);}['_initThrowingOnDataSet'](){const _0x33a36c=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x526211)=>{if(!_0x526211[_0x526211['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3a7a10('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x33a36c['apply'](this['editor']['data'],_0x526211);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x32e7aa,[_0x503bc0])=>{if(this['_document']['version'])throw new _0x3a7a10('realtimecollaborationclient-init-document-already-initialized',this);_0x32e7aa['stop'](),this['_setPendingAction']();const _0x5a6c1f=this['editor']['config']['get']('rootsAttributes'),_0x4b64b3=this['_getOperationsFromInitData'](_0x503bc0,_0x5a6c1f);0x0==_0x4b64b3['length']&&_0x4b64b3['push'](new _0x6d91e5(0x0)),_0x32e7aa['return']=this['_connectService'](_0x4b64b3)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x101579=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x101579))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x15519d,[_0x5c7ee5,_0x3736a0])=>{_0x15519d['stop']();const _0x130110=this['editor']['model']['document']['getRoot'](_0x5c7ee5);if(!this['_knownRootNames']['has'](_0x5c7ee5)){const _0x1a41f3=_0x3736a0&&_0x3736a0['data']?_0x3736a0['data']:'',_0x884b29=_0x3736a0&&_0x3736a0['attributes']?_0x3736a0['attributes']:{};await this['_loadRoot'](_0x5c7ee5,_0x1a41f3,_0x884b29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x130110['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x130110);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2b2184){const _0x328307=this['editor']['plugins']['get'](_0x39336f),{connection:_0x352971}=this['editor']['plugins']['get'](n),_0x1b5428=new Set();for(const _0x4ebb41 of _0x2b2184){const _0x1c98a4=_0x4ebb41['_authorId'];_0x1c98a4&&!_0x328307['getUser'](_0x1c98a4)&&_0x1b5428['add'](_0x1c98a4);}if(0x0===_0x1b5428['size'])return;const _0xcf6b4d=await lt['getMany'](_0x352971,Array['from'](_0x1b5428));for(const _0x33e041 of _0xcf6b4d)_0x328307['getUser'](_0x33e041['id'])||_0x328307['addUser'](_0x33e041);}['_getOperationsFromInitData'](_0x26814a,_0x55f6c2={}){const _0x422e01=this['editor']['model'],_0x1a4fa6=[];let _0xce1097=0x0;const _0x49fa97='string'==typeof _0x26814a?{'main':_0x26814a}:_0x26814a;for(const _0x5d7dc2 of Object['keys'](_0x49fa97)){if(!this['_document']['roots']['has'](_0x5d7dc2))throw new _0x3a7a10('realtimecollaborationclient-init-non-existent-root',this);const _0x208e09=this['editor']['data']['parse'](_0x49fa97[_0x5d7dc2]),_0x161b36=this['_document']['getRoot'](_0x5d7dc2),_0x1d5f4f=new _0x1e2352(_0x422e01['createPositionAt'](_0x161b36,0x0),_0x208e09,_0xce1097++);_0x1a4fa6['push'](_0x1d5f4f);for(const [_0x17938a,_0x4504e6]of _0x208e09['markers']){const _0x1828c2=_0x422e01['createRange'](_0x422e01['createPositionFromPath'](_0x161b36,_0x4504e6['start']['path']['slice']()),_0x422e01['createPositionFromPath'](_0x161b36,_0x4504e6['end']['path']['slice']())),_0x3c2203=new _0xabac46(_0x17938a,null,_0x1828c2,_0x422e01['markers'],!0x0,_0xce1097++);_0x1a4fa6['push'](_0x3c2203);}}if(_0x55f6c2)for(const [_0x5be9b0,_0x58a621]of Object['entries'](_0x55f6c2)){const _0x280e97=_0x422e01['document']['getRoot'](_0x5be9b0);if(!_0x280e97)throw new _0x3a7a10('multi-root-editor-root-attributes-no-root',null);for(const [_0x3a5c27,_0x5c522d]of Object['entries'](_0x58a621))if(null!==_0x5c522d){const _0x519f38=new _0x12be79(_0x280e97,_0x3a5c27,null,_0x5c522d,_0xce1097++);_0x1a4fa6['push'](_0x519f38);}}return _0x1a4fa6;}async['_loadRoot'](_0x3417f8,_0x3c29db,_0x5ea54a){this['_getOperationsFromInitData']({[_0x3417f8]:_0x3c29db},{[_0x3417f8]:_0x5ea54a})['forEach']((_0x576eb2,_0x267553)=>{_0x576eb2['baseVersion']=this['_document']['version']+_0x267553,_0x576eb2['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x576eb2);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x58d17e,_0x3ea7a8){let _0xcef237;this['_offset']=_0x58d17e['offset'];const _0x2d49c5=_0x58d17e['wereChangesApplied']&&!_0x58d17e['initData'],_0x136ca2=_0x2d49c5?0x0:_0x58d17e['data']['baseVersion'];if(_0x3ea7a8['forEach'](_0x41632d=>{_0x41632d['_isInit']=!0x0,_0x41632d['createdAt']=_0x58d17e['sessionCreatedAt'],_0x41632d['_authorId']=null;}),_0x2d49c5)_0xcef237=_0x3ea7a8,this['_applyOperationsSet'](_0xcef237,_0x2d49c5);else{if(_0x58d17e['initData']){const _0x5ee533=this['_getOperationsFromInitData'](_0x58d17e['initData']);this['_document']['history']['version']=-_0x5ee533['length'],_0x5ee533['forEach'](_0x550ffe=>{_0x550ffe['baseVersion']-=_0x5ee533['length'],_0x550ffe['createdAt']=_0x58d17e['sessionCreatedAt'],_0x550ffe['_isInit']=!0x0,_0x550ffe['_authorId']=null;}),this['_applyOperationsSet'](_0x5ee533,!0x0),this['serverHistory']['version']=-_0x5ee533['length']+this['_offset'],this['_updateServerHistory'](_0x5ee533);}this['_document']['history']['version']=_0x136ca2,_0xcef237=this['_decompressOperations'](_0x58d17e['data'],_0x58d17e['metadata']),await this['_fetchMissingUsers'](_0xcef237),this['_applyOperationsSet'](_0xcef237,_0x2d49c5);}_0x58d17e['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xcef237,_0x58d17e['lastOperationId']),this['_lastSyncedOperationId']=_0x58d17e['lastOperationId']),this['serverHistory']['version']=_0x136ca2+this['_offset'],this['_updateServerHistory'](_0xcef237),_0x3ea7a8['filter'](_0x79d47=>{const _0x744156=this['_getAffectedRoot'](_0x79d47);return _0x744156&&!this['_knownRootNames']['has'](_0x744156);})['forEach']((_0x738f3e,_0x2690ae)=>{_0x738f3e['baseVersion']=this['_document']['version']+_0x2690ae,this['_saveOperationInBuffer'](_0x738f3e);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x2842e3,_0x253701){const _0x53e9c2=_0x253701&&_0x253701['message'];if(_0x53e9c2&&_0x53e9c2['startsWith']('realtimecollaborationclient'))throw _0x253701;const _0x5aa736=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x5aa736['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3a7a10(_0x2842e3,this['editor'],_0x53e9c2?{'originalError':_0x53e9c2}:void 0x0);}['_saveOperationInBuffer'](_0x3068c7){this['_knownOperations']['has'](_0x3068c7)||(this['_knownOperations']['add'](_0x3068c7),this['_bufferedOperations']['push'](_0x3068c7),this['_pendingAction']||'marker'==_0x3068c7['type']&&!_0x3068c7['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x4a9290=!0x1){!_0x4a9290&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3c47a8=>{_0x3c47a8&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x55df53=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4b0af6){return _0x4b0af6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4b0af6['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4b0af6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x55df53)||this['_crash'](_0x55df53['message'],_0x55df53);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x139832=>{this['on']('change:_isPendingUpdate',()=>{_0x139832();});});}async['_sendBufferedOperations'](){const _0x182b09=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x182b09['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x305251=[...this['_bufferedOperations']];for(const _0x2a4cd1 of _0x305251)_0x2a4cd1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2a4cd1);const _0x1a3628=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x305251),_0x45c676=G++,_0x47e595=this['_compressOperations'](_0x305251),_0x2f517a=await this['_service']['sendOperations'](_0x47e595,_0x47e595['baseVersion'],_0x1a3628);try{return await this['_handleServerResponse'](_0x305251,_0x2f517a,_0x45c676);}catch(_0xb9ab5){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xb9ab5);}}async['_handleServerResponse'](_0xb3748a,_0x549959,_0x5cf20e){if('error'in _0x549959)throw _0x549959['error'];let _0x445a25=!0x1;if(_0x549959['wereChangesApplied']){_0x549959['lastOperationId']&&(this['_lastSyncedOperationId']=_0x549959['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4dadd8=>!_0xb3748a['includes'](_0x4dadd8));for(const _0x112deb of _0xb3748a)_0x112deb['createdAt']='lastOperationAcceptedAt'in _0x549959&&_0x549959['lastOperationAcceptedAt']||void 0x0;K(_0xb3748a,_0x549959['version']-_0xb3748a['length']),this['_updateServerHistory'](_0xb3748a);const _0x138664=_0xb3748a['filter'](_0x2f3648=>{if(!_0x2f3648['_isInit'])return!0x1;const _0x509713=this['_getAffectedRoot'](_0x2f3648);return _0x509713&&!this['_knownRootNames']['has'](_0x509713);});K(_0x138664,this['_document']['version']),this['_applyOperationsSet'](_0x138664),_0x445a25=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x19b7f0=this['_decompressOperations'](_0x549959['data'],_0x549959['metadata'])['filter'](_0x379e5a=>_0x379e5a['baseVersion']>=this['_lastServerVersion']);_0x19b7f0['forEach'](_0x4e1b30=>this['_addKnownRoot'](_0x4e1b30)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x37109c=>!_0x37109c['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x37109c))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x19b7f0),_0x445a25=this['_handleExternalOperations'](_0x19b7f0,_0x549959['version'],_0x549959['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x445a25?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x507599,_0x35eefa,_0x1dc1b2){try{const _0x5bc634={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4df2e1,operationsB:_0x3951c8,originalOperations:_0x4b5a93}=_0x5289c3(_0x507599,this['_bufferedOperations'],_0x5bc634);K(_0x4df2e1,this['_document']['version']),K(_0x3951c8,_0x35eefa);for(const _0x1727ef of _0x4df2e1){const _0x56a251=_0x4b5a93['get'](_0x1727ef);_0x1727ef['_authorId']=_0x56a251?_0x56a251['_authorId']:null;}_0x1dc1b2&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x507599,_0x1dc1b2),this['_lastSyncedOperationId']=_0x1dc1b2),this['_bufferedOperations']=[..._0x3951c8],this['_applyOperationsSet'](_0x4df2e1),this['_updateServerHistory'](_0x507599);}catch(_0x1f65ea){return console['error'](_0x1f65ea),!0x1;}return!0x0;}['_applyOperationsSet'](_0x3821fb,_0xe7e3bf=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5a222a=>{for(const _0x49f42a of _0x3821fb)this['_knownOperations']['add'](_0x49f42a),this['_addKnownRoot'](_0x49f42a),_0x5a222a['batch']['addOperation'](_0x49f42a),this['editor']['model']['applyOperation'](_0x49f42a);});}['_addKnownRoot'](_0x5feb37){const _0x2902f1=this['_getAffectedRoot'](_0x5feb37);_0x2902f1&&this['_knownRootNames']['add'](_0x2902f1);}['_getAffectedRoot'](_0x1bbfd5){let _0xde2cdc,_0x5ecb34;switch(_0x1bbfd5['type']){case'insert':_0xde2cdc=_0x1bbfd5['position']['root'];break;case'marker':if(_0x5ecb34=_0x1bbfd5['newRange'],!_0x5ecb34)return null;_0xde2cdc=_0x5ecb34['root'];break;case'addRootAttribute':_0xde2cdc=_0x1bbfd5['root'];break;case'addRoot':_0xde2cdc=_0x1bbfd5['affectedSelectable'];break;case'move':_0xde2cdc=_0x1bbfd5['targetPosition']['root'];break;default:return null;}return _0xde2cdc['rootName'];}['_updateServerHistory'](_0x14bbbb){_0x14bbbb['forEach'](_0x233423=>{const _0x1258e8=_0x233423['clone']();_0x1258e8['_authorId']=_0x233423['_authorId'],_0x1258e8['_isInit']=!!_0x233423['_isInit'],_0x1258e8['createdAt']=_0x233423['createdAt'],_0x1258e8['baseVersion']+=this['_offset'],_0x233423['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1258e8),this['serverHistory']['addOperation'](_0x1258e8);});}['_handleReconnectionError'](_0x5e6869){const _0x750d88=this['editor']['plugins']['get']('Notification'),_0x5f09b8=this['editor']['locale'];_0x5e6869||(_0x5e6869=W(_0x5f09b8,'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.')),_0x750d88['showWarning'](_0x5e6869,{'title':W(_0x5f09b8,'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'](_0xc6dcaa)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xc6dcaa)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2b4543){const _0x3a58fa=_0x2b4543['map'](_0x1d2197=>_0x1d2197['toJSON']());return this['_compressor']['compress'](_0x3a58fa);}['_decompressOperations'](_0x2587bb,_0x490877){return this['_compressor']['decompress'](_0x2587bb)['map']((_0x25c0a3,_0x2f67b7)=>{const _0x43d9e4='init'==_0x490877[_0x2f67b7]['type'];if('InsertOperation'==_0x25c0a3['__className']){const _0x168fa0=_0x25c0a3['position']['root'];!this['_document']['getRoot'](_0x168fa0)&&(this['_document']['createRoot']('$root',_0x168fa0)['_isAttached']=!0x1);}const _0x5c8717=_0x4392da['fromJSON'](_0x25c0a3,this['_document']);return _0x5c8717['wasUndone']=_0x25c0a3['wasUndone'],_0x5c8717['_isInit']=_0x43d9e4,_0x5c8717['_authorId']=_0x43d9e4?null:_0x490877[_0x2f67b7]['userId'],_0x5c8717['_isDisconnection']='cs:removeUser'===_0x490877[_0x2f67b7]['type'],_0x5c8717['createdAt']=_0x490877[_0x2f67b7]['createdAt'],_0x5c8717;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x3011d8=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3011d8&&_0x3011d8['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x329b42,_0x4cf068){for(const _0x3c5bf5 of _0x329b42)_0x3c5bf5['baseVersion']=_0x4cf068++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0x1f6e2b){this['_ignoredOperations']=_0x1f6e2b,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0xc76b19){let _0x2e1587=_0xc76b19['length'];for(;_0x2e1587--;){const _0x1cafdd=_0xc76b19[_0x2e1587];if(!this['_ignoredOperations']['has'](_0x1cafdd)){if(!this['_operationToId']['has'](_0x1cafdd)){const _0x58e8a7=_0x4446c6()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1cafdd,_0x58e8a7);}return this['_operationToId']['get'](_0x1cafdd);}}}['setIdForTheLastOperation'](_0x3261e9,_0x1b3e34){if(!_0x1b3e34)return;let _0x5153d6=_0x3261e9['length'];for(;_0x5153d6--;){const _0x1ebeb7=_0x3261e9[_0x5153d6];this['_ignoredOperations']['has'](_0x1ebeb7)||this['_operationToId']['set'](_0x1ebeb7,_0x1b3e34);}}}class a extends _0x3ce7af{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x3737b0{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x5b4a46)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x39336f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x131128){super(_0x131128),this['_services']=new Map();}async['init'](){const _0x5a54cb=this['context'],_0x82ce8b=_0x5a54cb['plugins']['get']('CommentsRepository');if(_0x5a54cb['plugins']['get'](n)['addToReconnectionStack'](this),_0x82ce8b['adapter']={'addCommentThread':async({channelId:_0x4051c0,threadId:_0x15ea0d,comments:_0x398304,resolvedAt:_0x5d449a,resolvedBy:_0x2751bd,context:_0x55b899,attributes:_0x4d387c})=>{const _0xb13459=await this['_getService'](_0x4051c0)['addCommentThread']({'commentThreadId':_0x15ea0d,'comments':_0x398304['map'](_0x57dd78=>function(_0x593e45,_0x1203e3,_0x50a1bd){return{'commentThreadId':_0x50a1bd,'commentId':_0x593e45['commentId'],'userId':_0x593e45['authorId'],'content':_0x593e45['content'],'documentId':_0x1203e3,'createdAt':_0x593e45['createdAt'],'attributes':_0x593e45['attributes']||{}};}(_0x57dd78,_0x4051c0,_0x15ea0d)),'resolvedAt':_0x5d449a,'resolvedBy':_0x2751bd,'context':_0x55b899,'attributes':_0x4d387c})['catch'](dt);return{'threadId':_0xb13459['commentThreadId'],'comments':_0xb13459['comments']};},'getCommentThread':async({channelId:_0x52c041,threadId:_0x54ba58})=>{const _0x40c1ea=await this['_getService'](_0x52c041)['getCommentThread'](_0x54ba58)['catch'](f)['catch'](dt);return _0x40c1ea?_0x40c1ea['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x40c1ea]),{'threadId':_0x40c1ea['commentThreadId'],'comments':_0x40c1ea['comments']['map'](p),'context':_0x40c1ea['context'],'resolvedAt':_0x40c1ea['resolvedAt'],'resolvedBy':_0x40c1ea['resolvedBy'],'attributes':_0x40c1ea['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x35c858,threadId:_0x18c223,context:_0xf91444,unlinkedAt:_0x58d9f7,attributes:_0xb0048c})=>this['_getService'](_0x35c858)['updateCommentThread']({'commentThreadId':_0x18c223,'context':_0xf91444,'attributes':_0xb0048c,'unlinkedAt':_0x58d9f7})['catch'](f)['catch'](dt),'resolveCommentThread':async({channelId:_0x5760f8,threadId:_0x5293ba})=>{const _0x4c73d5=await this['_getService'](_0x5760f8)['resolveCommentThread'](_0x5293ba)['catch'](f)['catch'](dt);return{'threadId':_0x4c73d5['commentThreadId'],'resolvedAt':_0x4c73d5['resolvedAt'],'resolvedBy':_0x4c73d5['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2ac222,threadId:_0x4f0915})=>this['_getService'](_0x2ac222)['reopenCommentThread'](_0x4f0915)['catch'](f)['catch'](dt),'removeCommentThread':({channelId:_0x2fa779,threadId:_0x2dfb2d})=>this['_getService'](_0x2fa779)['removeCommentThread'](_0x2dfb2d)['catch'](f)['catch'](dt),'addComment':({channelId:_0x503974,threadId:_0x354d20,commentId:_0x35cbc1,content:_0x203df8,attributes:_0x35cf58})=>this['_getService'](_0x503974)['addComment'](_0x354d20,_0x35cbc1,_0x203df8,_0x35cf58)['catch'](dt),'updateComment':({channelId:_0x446806,threadId:_0x25e842,commentId:_0x5f56f5,content:_0x25115d,attributes:_0x48830f})=>this['_getService'](_0x446806)['updateComment'](_0x25e842,_0x5f56f5,_0x25115d,_0x48830f)['catch'](f)['catch'](dt),'removeComment':({channelId:_0x3b9a7f,threadId:_0x4eb14c,commentId:_0x299ae9})=>this['_getService'](_0x3b9a7f)['removeComment'](_0x4eb14c,_0x299ae9)['catch'](f)['catch'](dt)},_0x5a54cb instanceof _0x4fab2b){const _0x1a5409=_0x5a54cb['config']['get']('collaboration.channelId'),_0x161878=_0x5a54cb['plugins']['get'](i);await this['_setUpService'](_0x1a5409);const _0x30b0a4=await this['_services']['get'](_0x1a5409)['getConnectedSessions']();this['listenTo'](_0x161878,'sessionAdd:'+_0x1a5409,(_0x5a6dee,{session:_0x30cbff})=>{_0x30cbff['id']===_0x161878['mySessionId']&&(_0x5a6dee['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x30cbff['permissions'],_0x1a5409));}),_0x161878['register'](_0x1a5409,_0x30b0a4);}}async['_setUpService'](_0x18d733){if(this['_services']['has'](_0x18d733))throw new _0x3a7a10('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x18d733});const _0x442870=this['context']['plugins']['get']('CommentsRepository'),_0x1c632e=new s['CommentsService'](_0x18d733);this['_services']['set'](_0x18d733,_0x1c632e),this['listenTo'](_0x1c632e,'commentThreadAdded',(_0x11ddfe,_0x4c2d62)=>{const {commentThreadId:_0x2bce03,documentId:_0x4fac34,context:_0x2a13ec,attributes:_0x43fef7,resolvedAt:_0x1ce1e4,resolvedBy:_0x19d53d,comments:_0x5e7b62}=_0x4c2d62;_0x442870['getCommentThread'](_0x2bce03)||_0x442870['addCommentThread']({'threadId':_0x2bce03,'channelId':_0x4fac34,'comments':_0x5e7b62?_0x5e7b62['map'](p):[],'context':_0x2a13ec,'attributes':_0x43fef7,'resolvedAt':_0x1ce1e4,'resolvedBy':_0x19d53d,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadUpdated',(_0x2fb8f7,{commentThreadId:_0x7291af,documentId:_0x38c130,context:_0x1fd97d,unlinkedAt:_0x421ab2,attributes:_0x2dde8d})=>{_0x442870['getCommentThread'](_0x7291af)&&_0x442870['updateCommentThread']({'threadId':_0x7291af,'channelId':_0x38c130,'context':_0x1fd97d,'unlinkedAt':_0x421ab2,'attributes':_0x2dde8d,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadResolved',(_0x54d8ea,{commentThreadId:_0x29c0c9,resolvedBy:_0x50d189,resolvedAt:_0x1bd25c})=>{const _0x2d4b04=_0x442870['getCommentThread'](_0x29c0c9);_0x2d4b04&&_0x2d4b04['resolve']({'resolvedBy':_0x50d189,'resolvedAt':_0x1bd25c,'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadReopened',(_0x3cb9e,{commentThreadId:_0x251665})=>{const _0x5f0fa0=_0x442870['getCommentThread'](_0x251665);_0x5f0fa0&&_0x5f0fa0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentThreadRemoved',(_0x506e5f,{commentThreadId:_0x242f5e})=>{const _0x4e4d33=_0x442870['getCommentThread'](_0x242f5e);_0x4e4d33&&_0x4e4d33['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentAdded',(_0x416ac8,_0x133578)=>{const _0x155b7b=_0x133578['commentThreadId'],_0x1eba54=_0x442870['getCommentThread'](_0x155b7b);_0x1eba54&&_0x1eba54['addComment']({...p(_0x133578),'isFromAdapter':!0x0});}),this['listenTo'](_0x1c632e,'commentUpdated',(_0x18d632,{commentThreadId:_0x2a7bea,commentId:_0x4b2293,content:_0xe0bb08,attributes:_0x23e812})=>{const _0x3a82cd=_0x442870['getCommentThread'](_0x2a7bea);if(_0x3a82cd){const _0x1113af=_0x3a82cd['getComment'](_0x4b2293);_0x1113af&&_0x1113af['update']({'content':_0xe0bb08,'attributes':_0x23e812,'isFromAdapter':!0x0});}}),this['listenTo'](_0x1c632e,'commentRemoved',(_0x6df650,{commentThreadId:_0x3c298c,commentId:_0x1a6275})=>{const _0x892016=_0x442870['getCommentThread'](_0x3c298c);if(_0x892016){const _0x42164f=_0x892016['getComment'](_0x1a6275);_0x42164f&&_0x42164f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x18d733);}['destroy'](){if(this['context']instanceof _0x4fab2b){const _0x3df9fa=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x3df9fa);}}['_terminateService'](_0x55f6ad){if(!this['_services']['has'](_0x55f6ad))throw new _0x3a7a10('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x55f6ad});this['_getService'](_0x55f6ad)['disconnect'](),this['_services']['delete'](_0x55f6ad);}async['reconnect'](){for(const _0x90c661 of this['_services']['keys']())await this['_connectService'](_0x90c661);if(this['context']instanceof _0x4fab2b){const _0xa1e91e=this['context']['config']['get']('collaboration.channelId'),_0x53065e=this['context']['plugins']['get'](i);_0x53065e['unregister'](_0xa1e91e);const _0xe52716=await this['_services']['get'](_0xa1e91e)['getConnectedSessions']();_0x53065e['register'](_0xa1e91e,_0xe52716);}}async['_connectService'](_0x542f03){const {connection:_0xac4d0b}=this['context']['plugins']['get'](n),_0x10d120=this['context']['plugins']['get']('CommentsRepository'),_0x352332=this['_services']['get'](_0x542f03),_0x177d69=await _0x352332['connect'](_0xac4d0b);await this['_fetchMissingUsersForThreads'](_0x177d69);const _0x22aefd=new Set(Array['from'](_0x10d120['getCommentThreads']({'channelId':_0x542f03}),_0x1189f0=>_0x1189f0['id']));for(const _0x2192db of _0x177d69)_0x2192db['deletedAt']||_0x22aefd['delete'](_0x2192db['commentThreadId']);for(const _0x4a100a of _0x22aefd)_0x10d120['getCommentThread'](_0x4a100a)['remove']({'isFromAdapter':!0x0});for(const _0x20b0d2 of _0x177d69){let _0x304cfe=_0x10d120['getCommentThread'](_0x20b0d2['commentThreadId']);const {commentThreadId:_0x4f970c,context:_0x52c051,attributes:_0x52adae,resolvedBy:_0x1d2a8b,resolvedAt:_0x102608,unlinkedAt:_0x3812d2,deletedAt:_0x2747e9}=_0x20b0d2;if(_0x2747e9)continue;_0x304cfe||(_0x304cfe=_0x10d120['addCommentThread']({'channelId':_0x542f03,'threadId':_0x4f970c,'context':_0x52c051,'attributes':_0x52adae||{},'resolvedBy':_0x1d2a8b,'resolvedAt':_0x102608,'unlinkedAt':_0x3812d2,'isFromAdapter':!0x0}));const _0x30784c=new Set(Array['from'](_0x304cfe['comments'],_0x5c1df7=>_0x5c1df7['id']));for(const _0x46092d of _0x20b0d2['comments'])_0x30784c['delete'](_0x46092d['commentId']);for(const _0x30cca3 of _0x30784c)_0x304cfe['getComment'](_0x30cca3)['remove']({'isFromAdapter':!0x0});for(const _0x4bdbe3 of _0x20b0d2['comments']){const _0x4143a1=_0x304cfe['getComment'](_0x4bdbe3['commentId']);_0x4143a1?_0x4143a1['content']!==_0x4bdbe3['content']&&_0x4143a1['update']({'content':_0x4bdbe3['content'],'isFromAdapter':!0x0}):_0x304cfe['addComment'](Object['assign'](p(_0x4bdbe3),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1ab112){if(!this['_services']['has'](_0x1ab112))throw new _0x3a7a10('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1ab112});return this['_services']['get'](_0x1ab112);}async['_fetchMissingUsersForThreads'](_0x40097b){const _0x3c3942=this['context']['plugins']['get'](_0x39336f),{connection:_0x4362ae}=this['context']['plugins']['get'](n),_0x5681a0=new Set();for(const {resolvedBy:_0x2ac1e7,comments:_0x381a2a}of _0x40097b){_0x2ac1e7&&!_0x3c3942['getUser'](_0x2ac1e7)&&_0x5681a0['add'](_0x2ac1e7);for(const {userId:_0x2eaba7}of _0x381a2a)_0x3c3942['getUser'](_0x2eaba7)||_0x5681a0['add'](_0x2eaba7);}if(0x0===_0x5681a0['size'])return;const _0x4361e3=await lt['getMany'](_0x4362ae,Array['from'](_0x5681a0));for(const _0x255e59 of _0x4361e3)_0x3c3942['getUser'](_0x255e59['id'])||_0x3c3942['addUser'](_0x255e59);}}async function f(_0x4e35a4){if('404'!==_0x4e35a4['code'])throw _0x4e35a4;}function dt(_0x3c6ce9){if((_0x4efaa4=_0x3c6ce9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4efaa4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4efaa4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4efaa4;throw _0x3c6ce9;}function p(_0xac21a3){return{'threadId':_0xac21a3['commentThreadId'],'commentId':_0xac21a3['commentId'],'content':_0xac21a3['content'],'createdAt':_0xac21a3['createdAt'],'authorId':_0xac21a3['userId'],'attributes':_0xac21a3['attributes']||{}};}class m extends _0x3ce7af{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>tt)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[s,'TrackChangesEditing',n];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x18dfab){super(_0x18dfab);const _0x256215=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x256215);}['init'](){const _0x4972fa=this['editor']['plugins']['get'](n),_0x103d4c=this['editor']['plugins']['get']('TrackChangesEditing');return _0x103d4c['adapter']={'getSuggestion':async _0x3a05df=>{await this['_waitForServiceReady']();const _0x3e9efc=await this['_trackChangesService']['get'](_0x3a05df)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x3e9efc]),_0x3e9efc;},'addSuggestion':async({id:_0x53981f,type:_0x595f63,data:_0x24bfc8,originalSuggestionId:_0x359869,attributes:_0x353256})=>{await this['_waitForServiceReady']();const _0x172536={'id':_0x53981f,'type':_0x595f63,'data':_0x24bfc8,'originalSuggestionId':_0x359869,'attributes':_0x353256},_0x534741=await this['_trackChangesService']['add'](_0x53981f,_0x595f63,_0x24bfc8,_0x359869,_0x353256)['catch'](_0x32282b=>{if(ut(_0x32282b))return new Promise(_0x4ce014=>{this['_bufferedRequests']['set'](_0x53981f,{'resolve':_0x4ce014,'suggestionData':_0x172536});});throw _0x32282b;});return this['_bufferedRequests']['delete'](_0x53981f),_0x534741;},'updateSuggestion':async(_0x2641fa,_0x1e596c)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1e596c['state'])return this['_trackChangesService']['update'](_0x2641fa,_0x1e596c)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5884d9,_0x890795)=>{_0x103d4c['hasSuggestion'](_0x890795['id'])&&(_0x103d4c['getSuggestion'](_0x890795['id'])['attributes']=_0x890795['attributes']);}),this['_trackChangesService']['connect'](_0x4972fa['connection'])['then'](_0x52d1f2=>(_0x4972fa['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x52d1f2)['then'](()=>{for(const _0x382626 of _0x52d1f2){_0x103d4c['addSuggestionData'](_0x382626)['_saved']=!0x0;}})));}async['reconnect'](){const _0x411af1=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xe694a8}=this['editor']['plugins']['get'](n),_0x5318bb=await this['_trackChangesService']['connect'](_0xe694a8);await this['_fetchMissingUsersForThreads'](_0x5318bb);for(const {suggestionData:_0xf2f2a9,resolve:_0x1509df}of this['_bufferedRequests']['values']()){let _0x158973=_0x5318bb['find'](_0x1cfca6=>_0x1cfca6['id']===_0xf2f2a9['id']);_0x158973||(_0x158973=await this['_trackChangesService']['add'](_0xf2f2a9['id'],_0xf2f2a9['type'],_0xf2f2a9['data'],_0xf2f2a9['originalSuggestionId'])),_0x1509df(_0x158973);}for(const _0x556530 of _0x5318bb)_0x411af1['hasSuggestion'](_0x556530['id'])||_0x411af1['addSuggestionData'](_0x556530);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x571159=>{this['listenTo'](this['_trackChangesService'],'connected',_0x361951=>{_0x361951['off'](),_0x571159();});});}async['_fetchMissingUsersForThreads'](_0x5c4363){const _0x2649cb=this['editor']['plugins']['get'](_0x39336f),{connection:_0x3b151d}=this['editor']['plugins']['get'](n),_0x555b88=new Set();for(const {authorId:_0x36c1f8}of _0x5c4363)_0x2649cb['getUser'](_0x36c1f8)||_0x555b88['add'](_0x36c1f8);if(0x0===_0x555b88['size'])return;const _0x3a7fab=await lt['getMany'](_0x3b151d,Array['from'](_0x555b88));for(const _0x1abfa7 of _0x3a7fab)_0x2649cb['getUser'](_0x1abfa7['id'])||_0x2649cb['addUser'](_0x1abfa7);}}function A(_0x1601de){if(ut(_0x1601de))return new Promise(()=>{});throw _0x1601de;}function ut(_0x2b7158){return _0x2b7158['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2b7158['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x3ce7af{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 _0x364ae6=this['editor']['plugins']['get'](n),_0x3d2ccc=this['editor']['plugins']['get']('CommentsEditing'),_0x395cf6=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x364ae6,'change:state',(_0xa82128,_0x5b3d08,_0x97b3b7)=>{_0x3d2ccc['isThreadsLoadingPaused']='connected'!==_0x97b3b7;});}),this['listenTo'](_0x364ae6,'change:state',(_0x2bca04,_0x40c727,_0x17cf50)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x17cf50);}),_0x395cf6['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x3ce7af{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 _0x3ce7af{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>st)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x39336f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b9930){super(_0x2b9930);const _0x3973ff=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x3973ff);}async['init'](){const _0x19d2ea=this['editor']['plugins']['get'](l),_0x69e62f=_0x19d2ea['serverHistory'],_0x3f5f91=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x69e62f,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x19d2ea['sessionId']});const _0x18cfe9=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1356ec=await it['isBundleUploaded'](_0x3f5f91['connection'],_0x18cfe9);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0xa096d4})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0xa096d4)),'updateRevisions':async _0x313627=>{await this['_waitForServiceReady']();const _0x5873f5=this['_revisionTracker']['currentRevision'];if(_0x1356ec&&0x1===_0x313627['length']&&_0x313627[0x0]['id']===_0x5873f5['id'])return _0x313627;for(const _0x539e86 of _0x313627)_0x539e86['id']===_0x5873f5['id']&&(_0x539e86['isEmptyCurrent']=_0x539e86['fromVersion']===_0x539e86['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x313627,this['_lastRequestId'])['then'](_0x659f76=>(this['_lastRequestId']=_0x659f76,_0x313627))['catch'](_0xbf869a=>{if(et(_0xbf869a)||'400'===_0xbf869a['code']&&void 0x0!==_0xbf869a['data']['wrongRequestId']){for(const _0x2b6ef7 of _0x313627){!this['_revisionTracker']['repository']['getRevision'](_0x2b6ef7['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2b6ef7['id'],_0x2b6ef7,!0x1);}if(et(_0xbf869a))throw _0xbf869a;return _0x313627;}throw _0xbf869a;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2e677a,{revisionsData:_0x17cf84,requestId:_0x4b3beb})=>{Math['max'](..._0x17cf84['map'](_0x273c06=>_0x273c06['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x17cf84,_0x4b3beb);}):this['_handleRevisionsUpdate'](_0x17cf84,_0x4b3beb);});const {revisions:_0x12ae04,requestId:_0x35ef1d}=await this['_revisionHistoryService']['connect'](_0x3f5f91['connection']);_0x3f5f91['addToReconnectionStack'](this),this['_lastRequestId']=_0x35ef1d,await this['_fetchMissingUsers'](_0x12ae04);for(const _0x4e710a of _0x12ae04)this['_revisionTracker']['addRevisionData'](_0x4e710a);this['listenTo'](_0x19d2ea,'change:_isConnected',(_0x611df2,_0xc89345,_0x3dd9cc)=>{_0x3dd9cc&&(this['_oldOffset']=_0x19d2ea['_offset'],_0x611df2['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3f5f91,'state',_0x4c7e16=>_0x4c7e16===te['CONNECTED']);}async['reconnect'](){const _0x16826c=this['editor']['plugins']['get'](n),_0x4de728=this['editor']['plugins']['get'](l),_0x199dc1=async()=>{const _0x4b824e=this['_revisionTracker']['currentRevision'],_0x366b80=_0x4b824e['id'],_0x2a4f71=_0x366b80!==_0x4de728['sessionId'];if(_0x2a4f71){const _0x5dd54d=_0x4de728['_offset']-this['_oldOffset'],_0xd48cff=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4b824e['toVersion']+_0x5dd54d!==_0xd48cff){const _0x246a6b=_0x4b824e['fromVersion']+_0x5dd54d,_0x3618f3=this['editor']['plugins']['get'](_0x39336f),_0x593fe0=this['_revisionTracker']['buildRevisionData']({'revision':_0x4b824e,'from':_0x246a6b,'to':_0xd48cff});_0x593fe0['id']=_0x4b824e['id'];const _0x73515=_0x593fe0['authorsIds']['map'](_0x25887e=>_0x3618f3['getUser'](_0x25887e));_0x4b824e['_update']({..._0x593fe0,'authors':_0x73515},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4b824e['id'],_0x593fe0,!0x0);}this['_revisionTracker']['_startingVersion']=_0xd48cff,(_0x4b824e['toVersion']===_0x4b824e['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x366b80)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x366b80),this['_revisionTracker']['_createCurrentRevision'](_0xd48cff));}const {revisions:_0x4c8f64,requestId:_0x4573df}=await this['_revisionHistoryService']['reconnect'](_0x16826c['connection'],this['_lastRequestId']);_0x2a4f71&&_0x4c8f64['length']>0x0?_0x4de728['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x4c8f64),this['_handleRevisionsUpdate'](_0x4c8f64,_0x4573df),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4de728['_isConnected']?_0x199dc1():new Promise((_0x462d20,_0x435f90)=>{_0x4de728['once']('change:_isConnected',()=>{_0x199dc1()['then'](_0x462d20)['catch'](_0x435f90);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x24f703=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x4441f2=>{_0x4441f2['off'](),_0x24f703();});});}['_getLatestVersionFromServerOperations'](){const _0x158a73=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3ee34a of _0x158a73)if('marker'!==_0x3ee34a['type']||_0x3ee34a['affectsData'])return _0x3ee34a['baseVersion']+0x1;}['_getLatestVersion'](){const _0x38a0b1=this['editor']['plugins']['get'](l);return new Promise(_0x2a62ab=>{_0x38a0b1['_isPendingUpdate']?_0x38a0b1['once']('change:_isPendingUpdate',()=>{_0x2a62ab(this['_getLatestVersionFromServerOperations']());}):_0x2a62ab(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x53098b,_0x2e27ce){const _0x24c4b0=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2e27ce;for(const _0x1ffcc9 of _0x53098b){const _0x13e320=_0x24c4b0['getRevision'](_0x1ffcc9['id']);if(_0x13e320){if((_0x1ffcc9['fromVersion']||_0x1ffcc9['toVersion'])&&(_0x1ffcc9['diffData']=null),_0x13e320===this['_revisionTracker']['currentRevision']){const _0xf0b0d3=Math['max'](_0x13e320['toVersion'],_0x1ffcc9['toVersion']),_0x25c167=Math['max'](_0x13e320['fromVersion'],_0x1ffcc9['fromVersion']);let _0x4c3e4e;_0x13e320['toVersion']===_0x1ffcc9['toVersion']&&_0x13e320['fromVersion']===_0x1ffcc9['fromVersion']?(_0x4c3e4e=!0x0,this['_preventResendingRevisionData'](_0x1ffcc9)):_0x1ffcc9['toVersion']===_0xf0b0d3&&_0x1ffcc9['fromVersion']===_0x25c167?_0x4c3e4e=!0x1:(_0x13e320['toVersion']===_0xf0b0d3&&_0x13e320['fromVersion']===_0x25c167||this['_fixRevision']({'revision':_0x13e320,'from':_0x25c167,'to':_0xf0b0d3}),_0x4c3e4e=!0x0),_0x4c3e4e&&(delete _0x1ffcc9['fromVersion'],delete _0x1ffcc9['toVersion'],delete _0x1ffcc9['diffData'],delete _0x1ffcc9['createdAt'],delete _0x1ffcc9['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1ffcc9),this['_preventResendingRevisionData'](_0x1ffcc9);}else this['_revisionTracker']['addRevisionData'](_0x1ffcc9);}const _0x270dd5=_0x24c4b0['getRevisions']();_0x270dd5['reverse']();for(let _0x14f9cb=0x0;_0x14f9cb<_0x270dd5['length']-0x1;_0x14f9cb++){const _0x44b5e8=_0x270dd5[_0x14f9cb],_0x41d12a=_0x270dd5[_0x14f9cb+0x1];if(_0x44b5e8['fromVersion']<_0x41d12a['toVersion']){const _0xa45f19=_0x41d12a['toVersion'],_0x158f5f=Math['max'](_0xa45f19,_0x44b5e8['toVersion']);this['_fixRevision']({'revision':_0x44b5e8,'from':_0xa45f19,'to':_0x158f5f});}}}['_fixRevision']({revision:_0x1d0240,from:_0x572c18,to:_0x12a532}={}){const _0x182cdd=this['editor']['plugins']['get'](_0x39336f),_0x3000d4=this['_revisionTracker']['buildRevisionData']({'revision':_0x1d0240,'from':_0x572c18,'to':_0x12a532});_0x3000d4['authors']=_0x3000d4['authorsIds']['map'](_0x548fcd=>_0x182cdd['getUser'](_0x548fcd)),_0x1d0240['_update'](_0x3000d4);}['_preventResendingRevisionData'](_0x4d611c){const _0x57f9fc={};_0x57f9fc['id']=_0x4d611c['id'];for(const _0x18a59e of Object['keys'](_0x4d611c))'id'!==_0x18a59e&&(_0x57f9fc[_0x18a59e]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x57f9fc['id'],_0x57f9fc,!0x0);}async['_fetchMissingUsers'](_0xbdff4f){const _0x5e0172=this['editor']['plugins']['get'](_0x39336f),{connection:_0x150ff2}=this['editor']['plugins']['get'](n),_0x223bc7=new Set();for(const _0x7b5669 of _0xbdff4f){for(const _0x504880 of _0x7b5669['authorsIds'])_0x33c6c9(_0x504880);_0x7b5669['creatorId']&&_0x33c6c9(_0x7b5669['creatorId']);}if(0x0===_0x223bc7['size'])return;const _0x40bf22=await lt['getMany'](_0x150ff2,Array['from'](_0x223bc7));for(const _0x5d4945 of _0x40bf22)_0x5e0172['getUser'](_0x5d4945['id'])||_0x5e0172['addUser'](_0x5d4945);function _0x33c6c9(_0x2a49e8){_0x5e0172['getUser'](_0x2a49e8)||_0x223bc7['add'](_0x2a49e8);}}}function et(_0x346f34){return _0x346f34['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x346f34['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x346f34['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x3ce7af{static get['requires'](){return['RevisionHistory',c,a];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class y extends _0x4cacb3{['_collapseAt'];constructor(_0x1c2386,_0x2136b6=0x6){super(_0x1c2386);const _0x4961a9=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x2136b6,this['bind']('isHidden')['to'](this,'usersCount',_0x1145f5=>_0x1145f5<_0x2136b6),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4961a9['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':_0x4961a9['to']('usersCount',_0x16ed97=>'+'+(_0x16ed97-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x4cacb3{['items'];['keystrokes'];constructor(_0xadba20){super(_0xadba20);const _0x2926e1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x14cf04(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2926e1['if']('hasPopup'),'aria-expanded':_0x2926e1['to']('isExpanded',_0x169188=>this['hasPopup']&&String(_0x169188)),'aria-label':_0x2926e1['to']('hasPopup',_0x4529bb=>W(_0xadba20,_0x4529bb?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2926e1['to']('hasPopup',_0xf4a265=>!!_0xf4a265&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2926e1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2926e1['to'](_0x2af6f6=>{const _0x5ecc43=_0x2af6f6,_0x637cae=document['querySelector']('.ck-presence-list__dropdown-list'),_0x28fc4a=document['querySelector']('.ck-balloon-panel_with-arrow');_0x637cae?.['contains'](_0x5ecc43['relatedTarget'])||_0x28fc4a?.['contains'](_0x5ecc43['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x148936,_0x1e8cd0,_0x56b4ba)=>{this['element']&&(_0x56b4ba?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class k extends _0x4cacb3{['counterView'];['inlineListView'];constructor(_0x2a2fce,_0x344943=0x6){super(_0x2a2fce);const _0xc13e7e=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x344943),this['inlineListView']=new is(_0x2a2fce),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2733b7 of this['inlineListView']['items'])_0x2733b7['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',_0xc13e7e['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x4cacb3{['listWrapperView'];constructor(_0x64a4b7,_0x20a428){super(_0x64a4b7);const _0x3bc264=this['bindTemplate'];this['listWrapperView']=new pt(_0x64a4b7,_0x20a428),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x64a4b7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3bc264['to'](_0x4f5463=>{const _0xaf9ab7=_0x4f5463,_0x351366=document['querySelector']('.ck-presence-list__list'),_0x9ec4b9=document['querySelector']('.ck-balloon-panel_with-arrow');_0x351366?.['contains'](_0xaf9ab7['relatedTarget'])||_0x9ec4b9?.['contains'](_0xaf9ab7['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x3b8368{constructor(_0x148fbb,_0x148ec5){super(_0x148fbb);const _0x5d6c30=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x148ec5?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5d6c30['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5d6c30['to']('role'),'aria-label':_0x5d6c30['to']('ariaLabel'),'aria-labelledby':_0x5d6c30['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2a7fa4['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4432e0=this['element'];_0x4432e0&&(this['_isScrollable']=Math['max'](_0x4432e0['scrollHeight'],_0x4432e0['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x5f4a7b,_0x6543a5,_0x402534){super(_0x5f4a7b);const _0x3ca7e5=this['bindTemplate'];this['userView']=new ct(_0x5f4a7b,_0x6543a5);const _0x220ca6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x6543a5['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x6543a5['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x6543a5['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x402534&&(_0x220ca6['tag']='button',_0x220ca6['on']={'click':_0x3ca7e5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x220ca6);}['focus'](){this['element']['focus']();}}class _ extends _0x4cacb3{['userView'];['markerView'];constructor(_0x374db4,_0x493614,_0x8b2050){super(_0x374db4);const _0x98c51b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x374db4,_0x493614),this['markerView']=new at(_0x374db4,_0x493614);const _0x20e305=new ot(_0x374db4);_0x20e305['template']['tag']='span',_0x20e305['text']=_0x493614['name'];const _0x39e478={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x98c51b['to']('isFocusable',_0x18e0aa=>!!_0x18e0aa&&0x0),'aria-labelledby':_0x20e305['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x98c51b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x98c51b['to']('hasTooltip',_0x2d8a72=>!_0x2d8a72),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x20e305]};_0x8b2050&&(_0x39e478['tag']='button',_0x39e478['on']={'click':_0x98c51b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x39e478);}}class at extends _0x4cacb3{constructor(_0x5d1e87,_0x1c85d7){super(_0x5d1e87),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1c85d7['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x3737b0{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1e1316){super(_0x1e1316),this['context']['config']['define']('presenceList',U);const _0x10f771=_0x1e1316['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x10f771)throw new _0x3a7a10('presencelist-collapseat-invalid-format',this);if(_0x10f771<0x1)throw new _0x3a7a10('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x351db3(),this['balloonPanelView']=new _0x3edbc8(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x355afd of this['_allConnectedUsers'])this['_handleUserAdd'](_0x355afd);this['listenTo'](this['_allConnectedUsers'],'add',(_0x58fbb8,_0x583306)=>{this['_handleUserAdd'](_0x583306);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x383abb,_0x33a5c1)=>{this['_handleUserRemove'](_0x33a5c1);});}['_createView'](){const _0x313d82=this['context'],_0x5cccc3=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xd59732=this['balloonPanelView'];if(!_0x28c1d(_0x313d82['config']['get']('presenceList.container')))throw new _0x3a7a10('presencelist-missing-container',this);return _0x5cccc3['counterView']['bind']('usersCount')['to'](this),_0x5cccc3['bind']('isCollapsed')['to'](this,'usersCount',_0x4fe7e6=>{const {collapseAt:_0x17682d}=_0x313d82['config']['get']('presenceList'),_0x1cb27d=_0x4fe7e6>=_0x17682d;if(_0x1cb27d&&!_0x5cccc3['inlineListView']['items']['find'](_0x432248=>_0x432248 instanceof y)){const _0x504c07=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x504c07&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5cccc3['inlineListView']['items']['add'](_0x5cccc3['counterView']);}return _0x1cb27d||this['hideDropdown'](),_0x1cb27d;}),_0x5cccc3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2a8c02=>{const _0x4b5ed5=_0x313d82['config']['get']('presenceList'),_0x23937d=new _(_0x313d82['locale'],_0x2a8c02,!!_0x4b5ed5['onClick']);return _0x23937d['bind']('hasTooltip')['to'](_0x5cccc3,'isCollapsed',_0x5aa923=>!_0x5aa923),_0x23937d['bind']('isFocusable')['to'](_0x5cccc3,'isCollapsed',_0x3bbd46=>!_0x3bbd46),_0x4b5ed5['onClick']&&this['listenTo'](_0x23937d,'execute',()=>{this['view']['isCollapsed']||_0x4b5ed5['onClick'](_0x2a8c02,_0x23937d['element']);}),_0x23937d;}),this['listenTo'](_0x5cccc3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5cccc3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5cccc3['inlineListView']['keystrokes']['set']('Enter',(_0x33e04e,_0x29d29b)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x29d29b());}),_0x5cccc3['render'](),_0xd59732['render'](),_0x156eb3({'emitter':_0x5cccc3,'activator':()=>_0xd59732['isVisible'],'contextElements':[_0xd59732['element'],_0x5cccc3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x313d82['config']['get']('presenceList.container')['appendChild'](_0x5cccc3['element']),this['_bodyCollection']=new _0x58a8af(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5cccc3;}['_handleUserAdd'](_0x40d1b2){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x40d1b2['isMe'])return;const _0x3d896b=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3d896b-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4a4559=_0x40d1b2['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x40d1b2,_0x4a4559);}['_handleUserRemove'](_0x32b3b1){this['usersCount']--;const {collapseAt:_0x1fbd00}=this['context']['config']['get']('presenceList'),_0x2808e2=this['usersCount']>=_0x1fbd00;if(this['currentDisplayedUsers']['get'](_0x32b3b1['id']))this['currentDisplayedUsers']['remove'](_0x32b3b1['id']);else{if(_0x2808e2&&this['currentDisplayedUsers']['length']+0x1===_0x1fbd00-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x2808e2?0x1:0x0)<this['usersCount']){for(const _0x2ef999 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2ef999['id'])&&(this['currentDisplayedUsers']['add'](_0x2ef999,Math['min'](this['currentDisplayedUsers']['length']-(_0x2808e2?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x2808e2?0x1:0x0)===_0x1fbd00-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0xf8327e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0xf8327e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x1ae2b9}=this['presenceDropdownView'];_0x1ae2b9['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x189755=>{if(!_0xf8327e['displayMe']&&_0x189755['isMe'])return null;const _0x3c3907=new P(this['context']['locale'],_0x189755,!!_0xf8327e['onClick']);return _0xf8327e['onClick']&&this['listenTo'](_0x3c3907,'execute',()=>{_0xf8327e['onClick'](_0x189755,_0x3c3907['element']);}),_0x3c3907;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x1ae2b9['focus'](),_0x1ae2b9['checkIfScrollable']();const _0x5aa38e=(_0x2b41c0,_0x109d75)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x109d75();};_0x1ae2b9['keystrokes']['set']('Esc',_0x5aa38e),_0x1ae2b9['keystrokes']['set']('Shift+Tab',_0x5aa38e),_0x1ae2b9['keystrokes']['set']('Tab',(_0x28635b,_0x5bf703)=>{!function(_0x1decca){const _0x48b992=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x40f795=>_0x40f795+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1a35b4=[...document['body']['querySelectorAll'](_0x48b992)]['filter'](_0x318e40=>_0x318e40===document['activeElement']||_0x318e40['offsetWidth']+_0x318e40['offsetHeight']>0x0)['sort']((_0x2c4332,_0x456974)=>(_0x2c4332['tabIndex']||0x0)-(_0x456974['tabIndex']||0x0)),_0x3864f8=_0x1a35b4['indexOf'](_0x1decca),_0x577cbf=_0x1a35b4[(_0x3864f8+0x1)%_0x1a35b4['length']];_0x577cbf&&_0x577cbf['focus']();}(this['view']['element']),this['hideDropdown'](),_0x5bf703();}),_0x1ae2b9['focusTracker']['add'](this['view']['element']),_0x1ae2b9['focusTracker']['on']('change:isFocused',(_0x58c18c,_0x4280ee,_0x330e9e)=>{_0x330e9e||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class gt extends _0x3737b0{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,gt as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,mt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};