@ckeditor/ckeditor5-real-time-collaboration 46.0.1-alpha.3 → 46.0.1-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 _0x4cc43f,Plugin as _0x396694,PendingActions as _0x2fa5ad,Context as _0x11b344}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x49f975,CKEditorError as _0x1ba148,Collection as _0x21c59b,global as _0x966207,version as nt,uid as _0x5edfd1,KeystrokeHandler as _0x31aa0d}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x37e298,View as _0x110669,ListView as _0x43d313,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x311fc6,clickOutsideHandler as _0x8b85ba,BodyCollection as _0x5d87f6}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x2685d7,History as _0x539356,NoOperation as _0xf2fe98,InsertOperation as _0xed6d9d,MarkerOperation as _0x1b4092,RootAttributeOperation as _0x11272c,transformOperationSets as _0x110201,OperationFactory as _0x36f745}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as ht,WEB_SOCKET_GATEWAY_STATES as te,CollaborativeEditingService as _0x56898a,User as lt,CommentsService as _0x1796b9,TrackChangesService as tt,RevisionHistoryService as et,EditorService as st}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5ae648,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x3ed529}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x349429}from'es-toolkit/compat';class n extends _0x4cc43f{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>ht)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x37e298];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x40fee5){super(_0x40fee5),this['set']('state',te['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x49f975())();}['init'](){const _0x16b94d=this['context'],_0x37494d=_0x16b94d['plugins']['get']('CloudServices'),_0x1d573b=_0x16b94d['plugins']['get'](_0x37e298);if(!_0x37494d['token'])throw new _0x1ba148('websocketgateway-missing-token',this);if(!_0x37494d['webSocketUrl'])throw new _0x1ba148('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'](_0x37494d['token'],_0x37494d['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x3c65c2=>{if(this['connection']=_0x3c65c2,this['bind']('state')['to'](_0x3c65c2,'state',this,'_isBrowserOffline',(_0x4db997,_0x4f60f9)=>('connected'!==_0x4db997&&(this['_shouldPluginsReconnect']=!0x0),_0x4f60f9||_0x4db997!==te['CONNECTED']?te['DISCONNECTED']:this['state']==te['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),te['CONNECTING']):te['CONNECTED'])),this['connection']['on']('error',(_0xc8f6de,_0x3cc846)=>{if('limitExceeded'!==_0x3cc846['code'])throw console['error'](_0x3cc846),new _0x1ba148('cloudservices-init',null,{'originalError':_0x3cc846});_0x1d573b['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'});}),!_0x3c65c2['me'])return new Promise(_0x5f2848=>_0x3c65c2['on']('change:me',_0x5f2848));})['catch'](_0x196f40=>{throw console['error'](_0x196f40),new _0x1ba148('cloudservices-init',null,{'originalError':_0x196f40});});}['addToReconnectionStack'](_0x917d61){if('function'!=typeof _0x917d61['reconnect'])throw new _0x1ba148('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x917d61))throw new _0x1ba148('websocketgateway-plugin-already-registered',this,{'name':_0x917d61['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x917d61);}['removeFromReconnectionStack'](_0x24ff8c){this['_reconnectionStack']['delete'](_0x24ff8c);}['isInReconnectionStack'](_0x1f787c){return this['_reconnectionStack']['has'](_0x1f787c);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x1b20eb=>_0x1b20eb['reconnect']())))['then'](()=>this['state']=te['CONNECTED'])['catch'](_0x36eaf4=>{throw console['error'](_0x36eaf4),new _0x1ba148('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 _0x4cc43f{['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,_0x5ae648];}constructor(_0x5acee7){super(_0x5acee7),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x21c59b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5ae648);}['init'](){const _0x56c25e=this['context']['plugins']['get'](n);this['listenTo'](_0x56c25e,'change:state',(_0x52eb4d,_0x3fe87a,_0x30defe)=>{if('connected'!==_0x30defe)this['channelSessions']['forEach'](_0x12e92d=>_0x12e92d['clear']()),this['channelConnectedUsers']['forEach'](_0x40baf6=>_0x40baf6['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4a99bf,_0x43ffb4]of this['_registeredSessions'])for(const _0x245a7c of _0x43ffb4)this['_handleSessionAdd'](_0x4a99bf,_0x245a7c);}}),this['_createUser'](_0x56c25e['connection']['me'],!0x0);}['register'](_0x2eb19f,_0x2f3f4a){if(this['_registeredSessions']['has'](_0x2eb19f))throw new _0x1ba148('sessions-register-already-registered',null,{'channelId':_0x2eb19f});this['_registeredSessions']['set'](_0x2eb19f,_0x2f3f4a),this['channelSessions']['set'](_0x2eb19f,new _0x21c59b()),this['channelConnectedUsers']['set'](_0x2eb19f,new _0x21c59b()),this['listenTo'](_0x2f3f4a,'add',(_0x5302b8,_0x7da4be)=>this['_handleSessionAdd'](_0x2eb19f,_0x7da4be)),this['listenTo'](_0x2f3f4a,'remove',(_0x38c0d6,_0x55f8fe)=>this['_handleSessionRemove'](_0x2eb19f,_0x55f8fe));for(const _0x564464 of _0x2f3f4a)this['_handleSessionAdd'](_0x2eb19f,_0x564464);}['unregister'](_0x16c5b6){if(!this['_registeredSessions']['has'](_0x16c5b6))throw new _0x1ba148('sessions-unregister-not-exist',null,{'channelId':_0x16c5b6});const _0x410892=this['_registeredSessions']['get'](_0x16c5b6);this['stopListening'](_0x410892);for(const _0x5209f3 of _0x410892)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x16c5b6,_0x5209f3);this['_registeredSessions']['delete'](_0x16c5b6),this['channelSessions']['delete'](_0x16c5b6),this['channelConnectedUsers']['delete'](_0x16c5b6);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x36798c){for(const _0x350787 of this['channelSessions']['values']())for(const _0x1b63b2 of _0x350787)if(_0x1b63b2['id']===_0x36798c)return _0x1b63b2['user'];}['getUserSessions'](_0x14bbbb,_0x9edf42){const _0x49234e=_0x9edf42?[this['channelSessions']['get'](_0x9edf42)]:this['channelSessions']['values'](),_0xcb1887=new Set();for(const _0x1e8593 of _0x49234e)for(const _0x418680 of _0x1e8593)_0x418680['user']['id']===_0x14bbbb['id']&&_0xcb1887['add'](_0x418680['id']);return _0xcb1887;}['getUserRole'](_0x213475){for(const _0x313ae2 of this['channelSessions']['values']())for(const _0x110378 of _0x313ae2)if(_0x110378['user']===_0x213475)return _0x110378['role'];}['_handleSessionAdd'](_0x582501,_0x1a0658){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x46851c=_0x1a0658['user'],_0x5ab4a5=this['_users']['getUser'](_0x46851c['id'])||this['_createUser'](_0x46851c),_0x1e8091=Object['assign']({},_0x1a0658,{'user':_0x5ab4a5});this['channelSessions']['get'](_0x582501)['add'](_0x1e8091);const _0x5345bd=this['channelConnectedUsers']['get'](_0x582501);_0x5345bd['has'](_0x5ab4a5['id'])||_0x5345bd['add'](_0x5ab4a5),this['allConnectedUsers']['has'](_0x5ab4a5['id'])||this['allConnectedUsers']['add'](_0x5ab4a5,_0x5ab4a5['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x582501,{'channelId':_0x582501,'session':_0x1e8091});}['_handleSessionRemove'](_0x526300,_0x2e115b){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x57b65e=this['channelConnectedUsers']['get'](_0x526300),_0x4c7609=_0x2e115b['user'];_0x4c7609['id']&&(this['channelSessions']['get'](_0x526300)['remove'](_0x2e115b['id']),_0x57b65e['has'](_0x4c7609['id'])&&!this['getUserSessions'](_0x4c7609,_0x526300)['size']&&_0x57b65e['remove'](_0x4c7609['id']),this['allConnectedUsers']['get'](_0x4c7609['id'])&&!this['getUserSessions'](_0x4c7609)['size']&&this['allConnectedUsers']['remove'](_0x4c7609['id']));}['_createUser'](_0x1813e1,_0x47b707){const _0x4c9685=this['_users']['addUser'](_0x1813e1);return _0x47b707&&this['_users']['defineMe'](_0x1813e1['id']),_0x4c9685['orderNumber']=this['_uniqueUsersCount']++,_0x4c9685;}}class V extends _0x396694{['_domEmitter']=new(_0x49f975())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x301c58=this['editor'],_0x1cdc90=_0x301c58['plugins']['get'](i);_0x301c58['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x25a74d,{writer:_0x3f4e5c})=>function(_0x336136,_0x557414,_0x20be79,_0x2c92d){const _0x1ec594=_0x336136['markerName']['split'](':')[0x2],_0x3cf75b=_0x20be79['getUserBySessionId'](_0x1ec594);if(!_0x3cf75b||_0x1ec594===_0x20be79['mySessionId'])return;if(!_0x2c92d['model']['schema']['checkChild'](_0x336136['markerRange']['start'],'$text'))return;const _0x5e4849={'class':'ck-user__marker\x20'+_0x3cf75b['color']['getMarkerClass'](),'data-name':_0x3cf75b['name'],'data-session-id':_0x1ec594},_0x517e14=_0x2c92d['model']['markers']['get'](_0x336136['markerName']),_0x99b003=_0x517e14['getStart'](),_0x5f3ee8=_0x99b003['nodeAfter'],_0x48c77e=_0x2c92d['model']['schema'];if(_0x5f3ee8&&_0x48c77e['isObject'](_0x5f3ee8)&&_0x48c77e['isInline'](_0x5f3ee8)&&!_0x2c92d['model']['markers']['get']('user:range:'+_0x1ec594)['getRange']()['isCollapsed'])return;const _0x21c731=_0x99b003['parent'];return _0x2c92d['model']['schema']['isLimit'](_0x21c731)&&!_0x2c92d['model']['hasContent'](_0x21c731)&&(_0x5e4849['contenteditable']=!0x1),function(_0x4373fe,_0x5dbecf,_0x3efc1c){const _0x49e7e9=_0x4373fe['createUIElement']('span',_0x5dbecf);return _0x4373fe['setCustomProperty']('userPositionMarker',!0x0,_0x49e7e9),_0x49e7e9['render']=function(_0x1ea10e){const _0x5cd5a1=this['toDomElement'](_0x1ea10e),_0x10ead1=document['createElement']('span');return _0x10ead1['classList']['add']('ck-user__marker-tooltip'),_0x10ead1['setAttribute']('contenteditable','false'),_0x10ead1['setAttribute']('spellcheck','false'),_0x10ead1['textContent']=_0x3efc1c['name'],_0x5cd5a1['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x10ead1['outerHTML']+'⁠',_0x5cd5a1['addEventListener']('mouseenter',()=>{_0x5cd5a1['classList']['add']('ck-user__marker_hovered');}),_0x5cd5a1['addEventListener']('mouseleave',()=>{_0x5cd5a1['classList']['remove']('ck-user__marker_hovered');}),_0x5cd5a1;},_0x49e7e9['isSimilar']=function(_0x1f8f5b){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1f8f5b['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1f8f5b['getAttribute']('data-session-id'));},_0x49e7e9;}(_0x557414,_0x5e4849,_0x3cf75b);}(_0x25a74d,_0x3f4e5c,_0x1cdc90,_0x301c58)}),_0x301c58['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4d6b18=>function(_0x549784,_0x266225){const _0x58e49f=_0x549784['markerName']['split'](':')[0x2];if(_0x58e49f===_0x266225['mySessionId'])return null;const _0x12cf19=_0x266225['getUserBySessionId'](_0x58e49f);if(!_0x12cf19)return{'id':_0x58e49f,'classes':[]};return{'id':_0x58e49f,'classes':['ck-user__selection',_0x12cf19['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x58e49f},'priority':0x7d0+_0x12cf19['orderNumber']};}(_0x4d6b18,_0x1cdc90)}),function(_0x5af9b2){const _0x49a304=_0x5af9b2['model'],_0x2071a4=new Map(),_0x281fd8=_0x5af9b2['plugins']['get'](i);_0x49a304['markers']['on']('update:user:range',(_0x2299e0,_0x406689,_0x219e7c,_0x529be1)=>{if(!_0x529be1&&_0x2071a4['get'](_0x406689['name']))return _0x2071a4['get'](_0x406689['name'])['detach'](),void _0x2071a4['delete'](_0x406689['name']);const _0x211897=_0x406689['name']['split'](':')[0x2];if(_0x211897===_0x281fd8['mySessionId'])return;const _0x3614c3='user:position:'+_0x211897;_0x49a304['markers']['has'](_0x3614c3)&&_0x5af9b2['editing']['reconvertMarker'](_0x3614c3),_0x406689['on']('change:range',(_0x16a2f7,_0x188e15,_0x47bade)=>{if('$graveyard'!=_0x188e15['root']['rootName']&&'$graveyard'==_0x406689['getRange']()['root']['rootName']&&!_0x2071a4['has'](_0x406689['name'])){const _0x341d70=_0x49a304['schema']['getNearestSelectionRange'](_0x47bade['deletionPosition']);if(_0x341d70){const _0x4d3ac3=_0x2685d7['fromRange'](_0x341d70);_0x2071a4['set'](_0x406689['name'],_0x4d3ac3),_0x4d3ac3['on']('change:range',(_0x24b9a2,_0x5d8b75,_0x34c42e)=>{if('$graveyard'==_0x4d3ac3['root']['rootName']){const _0x3e19a0=_0x49a304['schema']['getNearestSelectionRange'](_0x34c42e['deletionPosition']);_0x3e19a0?(_0x4d3ac3['start']=_0x3e19a0['start'],_0x4d3ac3['end']=_0x3e19a0['end']):(_0x2071a4['delete'](_0x406689['name']),_0x4d3ac3['detach']());}});}}});}),_0x49a304['document']['on']('change',()=>{_0x2071a4['size']>0x0&&_0x49a304['enqueueChange']({'isUndoable':!0x1},_0x1d303f=>{for(const [_0x925271,_0x56f046]of _0x2071a4)'$graveyard'==_0x49a304['markers']['get'](_0x925271)['getRange']()['root']['rootName']&&(Z(_0x925271['split'](':')[0x2],_0x56f046['toRange'](),_0x49a304,_0x1d303f),_0x56f046['detach']());_0x2071a4['clear']();});});}(_0x301c58),this['_domEmitter']['listenTo'](_0x966207['document'],'keydown',(_0x49cead,{key:_0x5aaab0})=>{'Escape'===_0x5aaab0&&function(_0x4e80b9){_0x4e80b9['editing']['view']['change'](_0x35fed8=>{for(const _0x121686 of _0x4e80b9['model']['markers']){if(!_0x121686['name']['startsWith']('user:position'))continue;const _0x1abe5d=_0x4e80b9['editing']['mapper']['markerNameToElements'](_0x121686['name']);if(_0x1abe5d){for(const _0x1582c4 of _0x1abe5d)_0x35fed8['removeClass']('ck-user__marker_hovered',_0x1582c4);}}});}(_0x301c58);},{'useCapture':!0x0});}['afterInit'](){const _0x3313dc=this['editor'],_0x9f6672=_0x3313dc['commands']['get']('undo');_0x9f6672&&_0x3313dc['model']['on']('applyOperation',(_0x5d8eff,_0x123fe4)=>{const _0x17dae2=_0x123fe4[0x0];if(!_0x17dae2['isDocumentOperation'])return;if('marker'!=_0x17dae2['type']||!_0x17dae2['name']['startsWith']('user:'))return;const _0x2a44ea=_0x17dae2['batch'];_0x9f6672['_createdBatches']['has'](_0x2a44ea)&&(_0x17dae2['newRange']=_0x17dae2['oldRange']?_0x3313dc['model']['createRange'](_0x17dae2['oldRange']['start'],_0x17dae2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x4c5a55=this['editor'],_0x342303=_0x4c5a55['model']['document'],_0x4d2384=_0x4c5a55['plugins']['get'](i);_0x4c5a55['model']['enqueueChange']({'isUndoable':!0x1},_0x358aba=>{const _0x32d65e='user:range:'+_0x4d2384['mySessionId'],_0x40bf94='user:position:'+_0x4d2384['mySessionId'],_0x51a09f=_0x4c5a55['model']['markers']['has'](_0x32d65e);_0x4c5a55['editing']['view']['hasDomSelection']?Z(_0x4d2384['mySessionId'],_0x342303['selection']['getFirstRange'](),_0x4c5a55['model'],_0x358aba):_0x51a09f&&(_0x358aba['removeMarker'](_0x32d65e),_0x358aba['removeMarker'](_0x40bf94));});}}function Z(_0x27e686,_0x1bfd46,_0x44c475,_0x3da357){const _0x4b51d5='user:range:'+_0x27e686,_0x42b56e='user:position:'+_0x27e686,_0x4b60cc=_0x1bfd46['getContainedElement']();let _0x4e2eca=_0x1bfd46['start'];if(_0x4b60cc&&_0x4b60cc['is']('element','tableCell')){const _0x139011=function(_0x80dce9,_0x477281){for(const _0x1a63de of _0x80dce9['getPositions']())if(_0x477281['schema']['checkChild'](_0x1a63de,'$text'))return _0x1a63de;}(_0x1bfd46,_0x44c475);_0x139011&&(_0x4e2eca=_0x139011,_0x1bfd46=_0x3da357['createRange'](_0x4e2eca));}const _0x3c2f78=_0x3da357['createRange'](_0x4e2eca);_0x44c475['markers']['has'](_0x4b51d5)?(_0x3da357['updateMarker'](_0x4b51d5,{'range':_0x1bfd46}),_0x3da357['updateMarker'](_0x42b56e,{'range':_0x3c2f78})):(_0x3da357['addMarker'](_0x4b51d5,{'range':_0x1bfd46,'usingOperation':!0x0}),_0x3da357['addMarker'](_0x42b56e,{'range':_0x3c2f78,'usingOperation':!0x0}));}function W(_0x4750e2,_0x4188e6,_0x63341){const _0x4d75af=_0x4750e2['t'],t=_0x4750e2['t'];switch(_0x4188e6){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 _0x4d75af({'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'},_0x63341);default:return'';}}let G=0x1;class l extends _0x396694{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x56898a)());['_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,_0x2fa5ad,_0x5ae648,_0x37e298];}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 _0x238208=this['serverHistory']['getOperations']();for(let _0x4ea206=_0x238208['length']-0x1;_0x4ea206>=0x0;_0x4ea206--){const _0x1be738=_0x238208[_0x4ea206];if(!this['_disconnectionOperations']['has'](_0x1be738))return _0x1be738['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x4de3d0){if(super(_0x4de3d0),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x539356(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x1ba148('collaboration-missing-channelid',this);const _0x3b50d4=_0x4de3d0['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3b50d4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x3ed529(),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 _0x4ae51f=this['editor'],_0x2c07e7=_0x4ae51f['plugins']['get'](_0x5ae648),_0x5432a4=_0x4ae51f['plugins']['get'](n);this['listenTo'](_0x2c07e7,'getOperationAuthor',(_0x7b724a,_0x49d7c7)=>{const _0x44b0ff=_0x49d7c7[0x0];_0x44b0ff['_authorId']&&(_0x7b724a['return']=_0x2c07e7['getUser'](_0x44b0ff['_authorId']),_0x7b724a['stop']()),null===_0x44b0ff['_authorId']&&(_0x7b724a['return']=null,_0x7b724a['stop']());},{'priority':'high'}),this['listenTo'](_0x4ae51f['model']['document']['selection'],'change:range',(_0x5bc5db,_0xe095d0)=>{_0xe095d0['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4ae51f['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4ae51f['model']['on']('applyOperation',(_0x16dbe6,_0x1f8d6e)=>{const _0x33ac27=_0x1f8d6e[0x0];_0x33ac27['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x33ac27),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x5432a4,'state',this,'_hasSynchronizationProblem',(_0x2c3277,_0x5e5ad8)=>'connected'===_0x2c3277&&!_0x5e5ad8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4ae51f['disableReadOnlyMode']('rtc-offline'):_0x4ae51f['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4ae51f['disableReadOnlyMode']('rtc-offline'):_0x4ae51f['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2f2f3f=this['editor']['plugins']['get'](i),_0x37bbe1=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0x2f2f3f['unregister'](this['_channelId']);const _0x967196=await this['_service']['reconnect'](_0x37bbe1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x967196)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x5ed608=await this['_service']['getConnectedSessions']();_0x2f2f3f['register'](this['_channelId'],_0x5ed608),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4cb6d6){if(function(_0x6c4409){return'404'===_0x6c4409['code'];}(_0x4cb6d6)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x178109){return'409'===_0x178109['code'];}(_0x4cb6d6)){const _0x54709f=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'](_0x54709f);}else{if(!(_0x4cb6d6 instanceof $))throw _0x4cb6d6;this['_handleReconnectionError']();}}}}['destroy'](){const _0x4ec185=this['editor']['plugins']['get'](n),_0x54bcd4=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x54bcd4['channelSessions']['has'](this['_channelId'])&&_0x54bcd4['unregister'](this['_channelId']),_0x4ec185['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x3af4b0){if(this['sessionId']!==_0x3af4b0['sessionId']&&this['_lastSyncedOperationId']!==_0x3af4b0['lastOperationId'])throw new $();return this['sessionId']=_0x3af4b0['sessionId'],this['_handleServerResponse']([],{..._0x3af4b0,'wereChangesApplied':!0x1,'data':_0x3af4b0['data']},'reconnect');}async['_connectService'](_0x5e85d8,_0x156b28=!0x1){const {connection:_0x59f3a3}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x59f3a3,this['_channelId'])['then'](_0x125fe5=>this['_initSessionsHandling'](_0x125fe5))['catch'](_0x31774c=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x31774c);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x55be4f,_0x3c4b24)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3c4b24);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4764a9=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e85d8);this['_isPendingUpdate']=!0x0;const _0x2f2503=await this['_service']['connect'](_0x59f3a3,this['_compressOperations'](_0x5e85d8),_0x4764a9);if(this['sessionId']=_0x2f2503['sessionId'],_0x156b28){if(!_0x2f2503['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2f2503['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5e85d8,_0x2f2503,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2f2503,_0x5e85d8);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x231df0=this['editor']['plugins']['get'](i),_0x353a41=this['editor']['plugins']['get'](V),_0x519591=_0x231df0['channelSessions']['get'](this['_channelId']);_0x519591&&_0x519591['length']>0x1?_0x353a41['createUserMarkerOperations']():this['listenTo'](_0x231df0,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x231df0['channelSessions']['get'](this['_channelId'])['length']&&_0x353a41['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3c1eb7,_0x1c46ae,_0xa6da72,_0x5d3acf){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1c46ae){const _0x4b3d90=this['_decompressOperations'](_0xa6da72,_0x5d3acf);await this['_fetchMissingUsers'](_0x4b3d90),this['_handleExternalOperations'](_0x4b3d90,_0x1c46ae,_0xa6da72['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xfd6f27}=this['editor'];let _0x53f449;try{_0x53f449=await this['_service']['getDocumentDetails']();}catch{const _0xc9355b=W(_0xfd6f27,'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'](_0xc9355b);}const _0xb3e9c4=_0x53f449['currentDocumentSession']||_0x53f449['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0xb3e9c4['lastOperationId']){const _0x35d028=W(_0xfd6f27,'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'](_0x35d028);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x29ac7e){const _0x1002a6=this['editor']['plugins']['get'](i);this['listenTo'](_0x1002a6,'sessionAdd:'+this['_channelId'],(_0xf5dc52,{session:_0x33e71c})=>{if(_0x33e71c['id']===_0x1002a6['mySessionId']){_0xf5dc52['off']();const _0x378f81=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3b3fe0=_0x33e71c['permissions'];_0x378f81&&_0x378f81['isEnabled']&&(_0x3b3fe0=_0x3b3fe0['filter'](_0xcc844c=>'document:write'!==_0xcc844c)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3b3fe0,this['_channelId']);}}),_0x1002a6['register'](this['_channelId'],_0x29ac7e);}['_initThrowingOnDataSet'](){const _0x1f21dc=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x53c0af)=>{if(!_0x53c0af[_0x53c0af['length']-0x1]['suppressErrorInCollaboration'])throw new _0x1ba148('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x1f21dc['apply'](this['editor']['data'],_0x53c0af);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x554679,[_0x20ad26])=>{if(this['_document']['version'])throw new _0x1ba148('realtimecollaborationclient-init-document-already-initialized',this);_0x554679['stop'](),this['_setPendingAction']();const _0x11817f=this['editor']['config']['get']('rootsAttributes'),_0x2964ab=this['_getOperationsFromInitData'](_0x20ad26,_0x11817f);0x0==_0x2964ab['length']&&_0x2964ab['push'](new _0xf2fe98(0x0)),_0x554679['return']=this['_connectService'](_0x2964ab)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3da618=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3da618))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x166261,[_0x371c39,_0x4775da])=>{_0x166261['stop']();const _0x5cab9f=this['editor']['model']['document']['getRoot'](_0x371c39);if(!this['_knownRootNames']['has'](_0x371c39)){const _0x1ae07a=_0x4775da&&_0x4775da['data']?_0x4775da['data']:'',_0x536dc4=_0x4775da&&_0x4775da['attributes']?_0x4775da['attributes']:{};await this['_loadRoot'](_0x371c39,_0x1ae07a,_0x536dc4);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5cab9f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5cab9f);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x5f8ba1){const _0x594bff=this['editor']['plugins']['get'](_0x5ae648),{connection:_0x522ff3}=this['editor']['plugins']['get'](n),_0x5e318f=new Set();for(const _0x3e1f3a of _0x5f8ba1){const _0xdfc26d=_0x3e1f3a['_authorId'];_0xdfc26d&&!_0x594bff['getUser'](_0xdfc26d)&&_0x5e318f['add'](_0xdfc26d);}if(0x0===_0x5e318f['size'])return;const _0x429d16=await lt['getMany'](_0x522ff3,Array['from'](_0x5e318f));for(const _0x45eb21 of _0x429d16)_0x594bff['getUser'](_0x45eb21['id'])||_0x594bff['addUser'](_0x45eb21);}['_getOperationsFromInitData'](_0x3f7f11,_0x3e97d1={}){const _0x424d08=this['editor']['model'],_0x5a1cc9=[];let _0x1f2292=0x0;const _0x5e22ce='string'==typeof _0x3f7f11?{'main':_0x3f7f11}:_0x3f7f11;for(const _0x5de59e of Object['keys'](_0x5e22ce)){if(!this['_document']['roots']['has'](_0x5de59e))throw new _0x1ba148('realtimecollaborationclient-init-non-existent-root',this);const _0x447105=this['editor']['data']['parse'](_0x5e22ce[_0x5de59e]),_0xddba2e=this['_document']['getRoot'](_0x5de59e),_0x47ee77=new _0xed6d9d(_0x424d08['createPositionAt'](_0xddba2e,0x0),_0x447105,_0x1f2292++);_0x5a1cc9['push'](_0x47ee77);for(const [_0x3d5c5d,_0x44cd1d]of _0x447105['markers']){const _0x3b6dad=_0x424d08['createRange'](_0x424d08['createPositionFromPath'](_0xddba2e,_0x44cd1d['start']['path']['slice']()),_0x424d08['createPositionFromPath'](_0xddba2e,_0x44cd1d['end']['path']['slice']())),_0x2b5c3c=new _0x1b4092(_0x3d5c5d,null,_0x3b6dad,_0x424d08['markers'],!0x0,_0x1f2292++);_0x5a1cc9['push'](_0x2b5c3c);}}if(_0x3e97d1)for(const [_0x5189ca,_0x37ee69]of Object['entries'](_0x3e97d1)){const _0x5bcaa3=_0x424d08['document']['getRoot'](_0x5189ca);if(!_0x5bcaa3)throw new _0x1ba148('multi-root-editor-root-attributes-no-root',null);for(const [_0x567be5,_0x46632a]of Object['entries'](_0x37ee69))if(null!==_0x46632a){const _0x11cd46=new _0x11272c(_0x5bcaa3,_0x567be5,null,_0x46632a,_0x1f2292++);_0x5a1cc9['push'](_0x11cd46);}}return _0x5a1cc9;}async['_loadRoot'](_0x57cc24,_0xc46481,_0x26edc8){this['_getOperationsFromInitData']({[_0x57cc24]:_0xc46481},{[_0x57cc24]:_0x26edc8})['forEach']((_0x334801,_0x138c88)=>{_0x334801['baseVersion']=this['_document']['version']+_0x138c88,_0x334801['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x334801);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x3399f5,_0x5e1542){let _0x43a0f5;this['_offset']=_0x3399f5['offset'];const _0xc495e0=_0x3399f5['wereChangesApplied']&&!_0x3399f5['initData'],_0x38c4e4=_0xc495e0?0x0:_0x3399f5['data']['baseVersion'];if(_0x5e1542['forEach'](_0x558499=>{_0x558499['_isInit']=!0x0,_0x558499['createdAt']=_0x3399f5['sessionCreatedAt'],_0x558499['_authorId']=null;}),_0xc495e0)_0x43a0f5=_0x5e1542,this['_applyOperationsSet'](_0x43a0f5,_0xc495e0);else{if(_0x3399f5['initData']){const _0x36b492=this['_getOperationsFromInitData'](_0x3399f5['initData']);this['_document']['history']['version']=-_0x36b492['length'],_0x36b492['forEach'](_0x264182=>{_0x264182['baseVersion']-=_0x36b492['length'],_0x264182['createdAt']=_0x3399f5['sessionCreatedAt'],_0x264182['_isInit']=!0x0,_0x264182['_authorId']=null;}),this['_applyOperationsSet'](_0x36b492,!0x0),this['serverHistory']['version']=-_0x36b492['length']+this['_offset'],this['_updateServerHistory'](_0x36b492);}this['_document']['history']['version']=_0x38c4e4,_0x43a0f5=this['_decompressOperations'](_0x3399f5['data'],_0x3399f5['metadata']),await this['_fetchMissingUsers'](_0x43a0f5),this['_applyOperationsSet'](_0x43a0f5,_0xc495e0);}_0x3399f5['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x43a0f5,_0x3399f5['lastOperationId']),this['_lastSyncedOperationId']=_0x3399f5['lastOperationId']),this['serverHistory']['version']=_0x38c4e4+this['_offset'],this['_updateServerHistory'](_0x43a0f5),_0x5e1542['filter'](_0x293ba5=>{const _0xfebbe4=this['_getAffectedRoot'](_0x293ba5);return _0xfebbe4&&!this['_knownRootNames']['has'](_0xfebbe4);})['forEach']((_0x32922a,_0x56f768)=>{_0x32922a['baseVersion']=this['_document']['version']+_0x56f768,this['_saveOperationInBuffer'](_0x32922a);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x535aa2,_0x3ca284){const _0x3a9e59=_0x3ca284&&_0x3ca284['message'];if(_0x3a9e59&&_0x3a9e59['startsWith']('realtimecollaborationclient'))throw _0x3ca284;const _0x4c45b6=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0x4c45b6['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x1ba148(_0x535aa2,this['editor'],_0x3a9e59?{'originalError':_0x3a9e59}:void 0x0);}['_saveOperationInBuffer'](_0x1333a9){this['_knownOperations']['has'](_0x1333a9)||(this['_knownOperations']['add'](_0x1333a9),this['_bufferedOperations']['push'](_0x1333a9),this['_pendingAction']||'marker'==_0x1333a9['type']&&!_0x1333a9['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5da368=!0x1){!_0x5da368&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x317434=>{_0x317434&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x232c27=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x465591){return _0x465591['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x465591['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x465591['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x232c27)||this['_crash'](_0x232c27['message'],_0x232c27);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x311c99=>{this['on']('change:_isPendingUpdate',()=>{_0x311c99();});});}async['_sendBufferedOperations'](){const _0x592e2e=this['editor']['plugins']['get'](V);if(this['_shouldSendSelectionUpdate']()&&(_0x592e2e['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x390ca7=[...this['_bufferedOperations']];for(const _0x19fed8 of _0x390ca7)_0x19fed8['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x19fed8);const _0x2696fd=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x390ca7),_0x43e0dd=G++,_0x24b723=this['_compressOperations'](_0x390ca7),_0x351f67=await this['_service']['sendOperations'](_0x24b723,_0x24b723['baseVersion'],_0x2696fd);try{return await this['_handleServerResponse'](_0x390ca7,_0x351f67,_0x43e0dd);}catch(_0x553cfb){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x553cfb);}}async['_handleServerResponse'](_0x1c0eb4,_0x2115d7,_0x1e6404){if('error'in _0x2115d7)throw _0x2115d7['error'];let _0x32de48=!0x1;if(_0x2115d7['wereChangesApplied']){_0x2115d7['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2115d7['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3a4c79=>!_0x1c0eb4['includes'](_0x3a4c79));for(const _0x23dc7a of _0x1c0eb4)_0x23dc7a['createdAt']='lastOperationAcceptedAt'in _0x2115d7&&_0x2115d7['lastOperationAcceptedAt']||void 0x0;K(_0x1c0eb4,_0x2115d7['version']-_0x1c0eb4['length']),this['_updateServerHistory'](_0x1c0eb4);const _0x5ad6cd=_0x1c0eb4['filter'](_0x2384db=>{if(!_0x2384db['_isInit'])return!0x1;const _0x1c7534=this['_getAffectedRoot'](_0x2384db);return _0x1c7534&&!this['_knownRootNames']['has'](_0x1c7534);});K(_0x5ad6cd,this['_document']['version']),this['_applyOperationsSet'](_0x5ad6cd),_0x32de48=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x12815a=this['_decompressOperations'](_0x2115d7['data'],_0x2115d7['metadata'])['filter'](_0x195852=>_0x195852['baseVersion']>=this['_lastServerVersion']);_0x12815a['forEach'](_0x1201fc=>this['_addKnownRoot'](_0x1201fc)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5d4e9b=>!_0x5d4e9b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5d4e9b))),this['_bufferedOperations']['length']&&K(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x12815a),_0x32de48=this['_handleExternalOperations'](_0x12815a,_0x2115d7['version'],_0x2115d7['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x32de48?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0xbd1af4,_0x637543,_0x343413){try{const _0x3d80ce={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x153b6f,operationsB:_0x268b4a,originalOperations:_0x46ae49}=_0x110201(_0xbd1af4,this['_bufferedOperations'],_0x3d80ce);K(_0x153b6f,this['_document']['version']),K(_0x268b4a,_0x637543);for(const _0x46da68 of _0x153b6f){const _0x232aff=_0x46ae49['get'](_0x46da68);_0x46da68['_authorId']=_0x232aff?_0x232aff['_authorId']:null;}_0x343413&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xbd1af4,_0x343413),this['_lastSyncedOperationId']=_0x343413),this['_bufferedOperations']=[..._0x268b4a],this['_applyOperationsSet'](_0x153b6f),this['_updateServerHistory'](_0xbd1af4);}catch(_0x180050){return console['error'](_0x180050),!0x1;}return!0x0;}['_applyOperationsSet'](_0x536343,_0x16748c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5c6a8c=>{for(const _0xb401e9 of _0x536343)this['_knownOperations']['add'](_0xb401e9),this['_addKnownRoot'](_0xb401e9),_0x5c6a8c['batch']['addOperation'](_0xb401e9),this['editor']['model']['applyOperation'](_0xb401e9);});}['_addKnownRoot'](_0x208c51){const _0x2097ad=this['_getAffectedRoot'](_0x208c51);_0x2097ad&&this['_knownRootNames']['add'](_0x2097ad);}['_getAffectedRoot'](_0x4bcaaf){let _0x3a47f0,_0x50dd4f;switch(_0x4bcaaf['type']){case'insert':_0x3a47f0=_0x4bcaaf['position']['root'];break;case'marker':if(_0x50dd4f=_0x4bcaaf['newRange'],!_0x50dd4f)return null;_0x3a47f0=_0x50dd4f['root'];break;case'addRootAttribute':_0x3a47f0=_0x4bcaaf['root'];break;case'addRoot':_0x3a47f0=_0x4bcaaf['affectedSelectable'];break;case'move':_0x3a47f0=_0x4bcaaf['targetPosition']['root'];break;default:return null;}return _0x3a47f0['rootName'];}['_updateServerHistory'](_0x526398){_0x526398['forEach'](_0x5ce78b=>{const _0x472ca0=_0x5ce78b['clone']();_0x472ca0['_authorId']=_0x5ce78b['_authorId'],_0x472ca0['_isInit']=!!_0x5ce78b['_isInit'],_0x472ca0['createdAt']=_0x5ce78b['createdAt'],_0x472ca0['baseVersion']+=this['_offset'],_0x5ce78b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x472ca0),this['serverHistory']['addOperation'](_0x472ca0);});}['_handleReconnectionError'](_0x5f3f25){const _0x39a7fc=this['editor']['plugins']['get']('Notification'),_0x3e725e=this['editor']['locale'];_0x5f3f25||(_0x5f3f25=W(_0x3e725e,'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.')),_0x39a7fc['showWarning'](_0x5f3f25,{'title':W(_0x3e725e,'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'](_0x2fa5ad)['add'](W(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x2fa5ad)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x196131){const _0x2d7a9b=_0x196131['map'](_0x2675bf=>_0x2675bf['toJSON']());return this['_compressor']['compress'](_0x2d7a9b);}['_decompressOperations'](_0xc35af4,_0x17313c){return this['_compressor']['decompress'](_0xc35af4)['map']((_0x411cb2,_0x55fc37)=>{const _0x2e88f9='init'==_0x17313c[_0x55fc37]['type'];if('InsertOperation'==_0x411cb2['__className']){const _0x1f285b=_0x411cb2['position']['root'];!this['_document']['getRoot'](_0x1f285b)&&(this['_document']['createRoot']('$root',_0x1f285b)['_isAttached']=!0x1);}const _0x433963=_0x36f745['fromJSON'](_0x411cb2,this['_document']);return _0x433963['wasUndone']=_0x411cb2['wasUndone'],_0x433963['_isInit']=_0x2e88f9,_0x433963['_authorId']=_0x2e88f9?null:_0x17313c[_0x55fc37]['userId'],_0x433963['_isDisconnection']='cs:removeUser'===_0x17313c[_0x55fc37]['type'],_0x433963['createdAt']=_0x17313c[_0x55fc37]['createdAt'],_0x433963;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0xd11f2f=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0xd11f2f&&_0xd11f2f['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class $ extends Error{}function K(_0x455174,_0x8b046){for(const _0x1b7c19 of _0x455174)_0x1b7c19['baseVersion']=_0x8b046++;}class J{['_ignoredOperations'];['_operationToId'];constructor(_0xb39c10){this['_ignoredOperations']=_0xb39c10,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x1cf392){let _0x128d1e=_0x1cf392['length'];for(;_0x128d1e--;){const _0x475200=_0x1cf392[_0x128d1e];if(!this['_ignoredOperations']['has'](_0x475200)){if(!this['_operationToId']['has'](_0x475200)){const _0x1ef14f=_0x5edfd1()['slice'](0x1,0x12);this['_operationToId']['set'](_0x475200,_0x1ef14f);}return this['_operationToId']['get'](_0x475200);}}}['setIdForTheLastOperation'](_0x29bd07,_0x193391){if(!_0x193391)return;let _0x5376c0=_0x29bd07['length'];for(;_0x5376c0--;){const _0x33686c=_0x29bd07[_0x5376c0];this['_ignoredOperations']['has'](_0x33686c)||this['_operationToId']['set'](_0x33686c,_0x193391);}}}class a extends _0x396694{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x4cc43f{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x1796b9)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x5ae648];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x23c3a0){super(_0x23c3a0),this['_services']=new Map();}async['init'](){const _0xb736c7=this['context'],_0x307e1b=_0xb736c7['plugins']['get']('CommentsRepository');if(_0xb736c7['plugins']['get'](n)['addToReconnectionStack'](this),_0x307e1b['adapter']={'addCommentThread':async({channelId:_0x1b0525,threadId:_0xdc7174,comments:_0x172da2,resolvedAt:_0x5b6877,resolvedBy:_0x70b5ca,context:_0x4b4f0a,attributes:_0x1d7efd})=>{const _0x3ea812=await this['_getService'](_0x1b0525)['addCommentThread']({'commentThreadId':_0xdc7174,'comments':_0x172da2['map'](_0x3dd4ab=>function(_0x2e0ff0,_0x3ccd6d,_0x3d31ac){return{'commentThreadId':_0x3d31ac,'commentId':_0x2e0ff0['commentId'],'userId':_0x2e0ff0['authorId'],'content':_0x2e0ff0['content'],'documentId':_0x3ccd6d,'createdAt':_0x2e0ff0['createdAt'],'attributes':_0x2e0ff0['attributes']||{}};}(_0x3dd4ab,_0x1b0525,_0xdc7174)),'resolvedAt':_0x5b6877,'resolvedBy':_0x70b5ca,'context':_0x4b4f0a,'attributes':_0x1d7efd})['catch'](dt);return{'threadId':_0x3ea812['commentThreadId'],'comments':_0x3ea812['comments']};},'getCommentThread':async({channelId:_0x5e88f4,threadId:_0x5cba09})=>{const _0xc3429f=await this['_getService'](_0x5e88f4)['getCommentThread'](_0x5cba09)['catch'](dt);return _0xc3429f['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xc3429f]),{'threadId':_0xc3429f['commentThreadId'],'comments':_0xc3429f['comments']['map'](p),'context':_0xc3429f['context'],'resolvedAt':_0xc3429f['resolvedAt'],'resolvedBy':_0xc3429f['resolvedBy'],'attributes':_0xc3429f['attributes']||{}});},'updateCommentThread':async({channelId:_0xcf07e2,threadId:_0x22f356,context:_0x2265dd,unlinkedAt:_0x3953de,attributes:_0xc1e669})=>this['_getService'](_0xcf07e2)['updateCommentThread']({'commentThreadId':_0x22f356,'context':_0x2265dd,'attributes':_0xc1e669,'unlinkedAt':_0x3953de})['catch'](v)['catch'](dt),'resolveCommentThread':async({channelId:_0xd4705b,threadId:_0x51c8b1})=>{const _0x42b730=await this['_getService'](_0xd4705b)['resolveCommentThread'](_0x51c8b1)['catch'](v)['catch'](dt);return{'threadId':_0x42b730['commentThreadId'],'resolvedAt':_0x42b730['resolvedAt'],'resolvedBy':_0x42b730['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4db5aa,threadId:_0x274d08})=>this['_getService'](_0x4db5aa)['reopenCommentThread'](_0x274d08)['catch'](v)['catch'](dt),'removeCommentThread':({channelId:_0x195b4,threadId:_0x58db59})=>this['_getService'](_0x195b4)['removeCommentThread'](_0x58db59)['catch'](v)['catch'](dt),'addComment':({channelId:_0x5ed51b,threadId:_0x2e6f8e,commentId:_0x445157,content:_0x2bcd2e,attributes:_0x2d6b1f})=>this['_getService'](_0x5ed51b)['addComment'](_0x2e6f8e,_0x445157,_0x2bcd2e,_0x2d6b1f)['catch'](dt),'updateComment':({channelId:_0x39099b,threadId:_0x289fd6,commentId:_0x3b4a1b,content:_0xf7db31,attributes:_0x38ce8d})=>this['_getService'](_0x39099b)['updateComment'](_0x289fd6,_0x3b4a1b,_0xf7db31,_0x38ce8d)['catch'](v)['catch'](dt),'removeComment':({channelId:_0x428b23,threadId:_0x151267,commentId:_0x120849})=>this['_getService'](_0x428b23)['removeComment'](_0x151267,_0x120849)['catch'](v)['catch'](dt)},_0xb736c7 instanceof _0x11b344){const _0x142def=_0xb736c7['config']['get']('collaboration.channelId'),_0x3c545e=_0xb736c7['plugins']['get'](i);await this['_setUpService'](_0x142def);const _0x5c6611=await this['_services']['get'](_0x142def)['getConnectedSessions']();this['listenTo'](_0x3c545e,'sessionAdd:'+_0x142def,(_0x963d92,{session:_0x404657})=>{_0x404657['id']===_0x3c545e['mySessionId']&&(_0x963d92['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x404657['permissions'],_0x142def));}),_0x3c545e['register'](_0x142def,_0x5c6611);}}async['_setUpService'](_0xbbc4b7){if(this['_services']['has'](_0xbbc4b7))throw new _0x1ba148('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0xbbc4b7});const _0x39f9fb=this['context']['plugins']['get']('CommentsRepository'),_0x2c1757=new s['CommentsService'](_0xbbc4b7);this['_services']['set'](_0xbbc4b7,_0x2c1757),this['listenTo'](_0x2c1757,'commentThreadAdded',(_0x20f7c8,_0x139c00)=>{const {commentThreadId:_0x48752e,documentId:_0xcf468a,context:_0x97bc2b,attributes:_0x3d7963,resolvedAt:_0x122989,resolvedBy:_0x314a68,comments:_0x3e7df2}=_0x139c00;_0x39f9fb['getCommentThread'](_0x48752e)||_0x39f9fb['addCommentThread']({'threadId':_0x48752e,'channelId':_0xcf468a,'comments':_0x3e7df2?_0x3e7df2['map'](p):[],'context':_0x97bc2b,'attributes':_0x3d7963,'resolvedAt':_0x122989,'resolvedBy':_0x314a68,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadUpdated',(_0x1282c9,{commentThreadId:_0x57fb6f,documentId:_0x247986,context:_0x29a00b,unlinkedAt:_0x3fd67e,attributes:_0x262af6})=>{_0x39f9fb['getCommentThread'](_0x57fb6f)&&_0x39f9fb['updateCommentThread']({'threadId':_0x57fb6f,'channelId':_0x247986,'context':_0x29a00b,'unlinkedAt':_0x3fd67e,'attributes':_0x262af6,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadResolved',(_0x31c2a8,{commentThreadId:_0x59e4c4,resolvedBy:_0x37a637,resolvedAt:_0x38c509})=>{const _0x7ec05a=_0x39f9fb['getCommentThread'](_0x59e4c4);_0x7ec05a&&_0x7ec05a['resolve']({'resolvedBy':_0x37a637,'resolvedAt':_0x38c509,'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadReopened',(_0x40c236,{commentThreadId:_0x209b86})=>{const _0x10c054=_0x39f9fb['getCommentThread'](_0x209b86);_0x10c054&&_0x10c054['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentThreadRemoved',(_0x74622b,{commentThreadId:_0x4ab106})=>{const _0x24a82a=_0x39f9fb['getCommentThread'](_0x4ab106);_0x24a82a&&_0x24a82a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentAdded',(_0x44971c,_0x1eaaaf)=>{const _0x1a7ec3=_0x1eaaaf['commentThreadId'],_0x290ec9=_0x39f9fb['getCommentThread'](_0x1a7ec3);_0x290ec9&&_0x290ec9['addComment']({...p(_0x1eaaaf),'isFromAdapter':!0x0});}),this['listenTo'](_0x2c1757,'commentUpdated',(_0xee0caa,{commentThreadId:_0x43451d,commentId:_0x271fec,content:_0x30cb0c,attributes:_0x4e4dca})=>{const _0x45ee1b=_0x39f9fb['getCommentThread'](_0x43451d);if(_0x45ee1b){const _0x56e0f3=_0x45ee1b['getComment'](_0x271fec);_0x56e0f3&&_0x56e0f3['update']({'content':_0x30cb0c,'attributes':_0x4e4dca,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2c1757,'commentRemoved',(_0x26b439,{commentThreadId:_0x1e3853,commentId:_0x274b01})=>{const _0x2e6b6a=_0x39f9fb['getCommentThread'](_0x1e3853);if(_0x2e6b6a){const _0x1ded0f=_0x2e6b6a['getComment'](_0x274b01);_0x1ded0f&&_0x1ded0f['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0xbbc4b7);}['destroy'](){if(this['context']instanceof _0x11b344){const _0xde5f47=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0xde5f47);}}['_terminateService'](_0x59e441){if(!this['_services']['has'](_0x59e441))throw new _0x1ba148('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x59e441});this['_getService'](_0x59e441)['disconnect'](),this['_services']['delete'](_0x59e441);}async['reconnect'](){for(const _0x4874a0 of this['_services']['keys']())await this['_connectService'](_0x4874a0);if(this['context']instanceof _0x11b344){const _0x221a97=this['context']['config']['get']('collaboration.channelId'),_0x35b63d=this['context']['plugins']['get'](i);_0x35b63d['unregister'](_0x221a97);const _0x363027=await this['_services']['get'](_0x221a97)['getConnectedSessions']();_0x35b63d['register'](_0x221a97,_0x363027);}}async['_connectService'](_0x3a1cfd){const {connection:_0x38c7e4}=this['context']['plugins']['get'](n),_0x172c04=this['context']['plugins']['get']('CommentsRepository'),_0x5b2a56=this['_services']['get'](_0x3a1cfd),_0x39b208=await _0x5b2a56['connect'](_0x38c7e4);await this['_fetchMissingUsersForThreads'](_0x39b208);const _0x51246d=new Set(Array['from'](_0x172c04['getCommentThreads']({'channelId':_0x3a1cfd}),_0x2a090a=>_0x2a090a['id']));for(const _0x2937d4 of _0x39b208)_0x2937d4['deletedAt']||_0x51246d['delete'](_0x2937d4['commentThreadId']);for(const _0xeaae86 of _0x51246d)_0x172c04['getCommentThread'](_0xeaae86)['remove']({'isFromAdapter':!0x0});for(const _0x2908a7 of _0x39b208){let _0x3959c4=_0x172c04['getCommentThread'](_0x2908a7['commentThreadId']);const {commentThreadId:_0x33b38a,context:_0x1facd5,attributes:_0x5a6ef7,resolvedBy:_0x4dd9cb,resolvedAt:_0x42f63e,unlinkedAt:_0x138433,deletedAt:_0x481f42}=_0x2908a7;if(_0x481f42)continue;_0x3959c4||(_0x3959c4=_0x172c04['addCommentThread']({'channelId':_0x3a1cfd,'threadId':_0x33b38a,'context':_0x1facd5,'attributes':_0x5a6ef7||{},'resolvedBy':_0x4dd9cb,'resolvedAt':_0x42f63e,'unlinkedAt':_0x138433,'isFromAdapter':!0x0}));const _0x493517=new Set(Array['from'](_0x3959c4['comments'],_0x4c3f1c=>_0x4c3f1c['id']));for(const _0x144ab4 of _0x2908a7['comments'])_0x493517['delete'](_0x144ab4['commentId']);for(const _0x46edfe of _0x493517)_0x3959c4['getComment'](_0x46edfe)['remove']({'isFromAdapter':!0x0});for(const _0x57afa8 of _0x2908a7['comments']){const _0x40d096=_0x3959c4['getComment'](_0x57afa8['commentId']);_0x40d096?_0x40d096['content']!==_0x57afa8['content']&&_0x40d096['update']({'content':_0x57afa8['content'],'isFromAdapter':!0x0}):_0x3959c4['addComment'](Object['assign'](p(_0x57afa8),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3cb93f){if(!this['_services']['has'](_0x3cb93f))throw new _0x1ba148('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3cb93f});return this['_services']['get'](_0x3cb93f);}async['_fetchMissingUsersForThreads'](_0x2b369f){const _0x2024ad=this['context']['plugins']['get'](_0x5ae648),{connection:_0x5981f8}=this['context']['plugins']['get'](n),_0x7bfeba=new Set();for(const {resolvedBy:_0x20c312,comments:_0x446c4c}of _0x2b369f){_0x20c312&&!_0x2024ad['getUser'](_0x20c312)&&_0x7bfeba['add'](_0x20c312);for(const {userId:_0x974c31}of _0x446c4c)_0x2024ad['getUser'](_0x974c31)||_0x7bfeba['add'](_0x974c31);}if(0x0===_0x7bfeba['size'])return;const _0x171d8f=await lt['getMany'](_0x5981f8,Array['from'](_0x7bfeba));for(const _0x5d94ed of _0x171d8f)_0x2024ad['getUser'](_0x5d94ed['id'])||_0x2024ad['addUser'](_0x5d94ed);}}async function v(_0x3554c1){if('404'!==_0x3554c1['code'])throw _0x3554c1;}function dt(_0x11994a){if((_0x431cd0=_0x11994a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x431cd0['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x431cd0['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x431cd0;throw _0x11994a;}function p(_0x3c9898){return{'threadId':_0x3c9898['commentThreadId'],'commentId':_0x3c9898['commentId'],'content':_0x3c9898['content'],'createdAt':_0x3c9898['createdAt'],'authorId':_0x3c9898['userId'],'attributes':_0x3c9898['attributes']||{}};}class m extends _0x396694{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(_0x2fe9ea){super(_0x2fe9ea);const _0x58024d=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x58024d);}['init'](){const _0x2a15b0=this['editor']['plugins']['get'](n),_0x4293e8=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4293e8['adapter']={'getSuggestion':async _0x507415=>{await this['_waitForServiceReady']();const _0x4e48e8=await this['_trackChangesService']['get'](_0x507415)['catch'](A);return await this['_fetchMissingUsersForThreads']([_0x4e48e8]),_0x4e48e8;},'addSuggestion':async({id:_0x494395,type:_0x404481,data:_0x29d6ad,originalSuggestionId:_0x2e1983,attributes:_0x4c1b31})=>{await this['_waitForServiceReady']();const _0x600df9={'id':_0x494395,'type':_0x404481,'data':_0x29d6ad,'originalSuggestionId':_0x2e1983,'attributes':_0x4c1b31},_0x1e998f=await this['_trackChangesService']['add'](_0x494395,_0x404481,_0x29d6ad,_0x2e1983,_0x4c1b31)['catch'](_0x482c5f=>{if(ut(_0x482c5f))return new Promise(_0x4b324b=>{this['_bufferedRequests']['set'](_0x494395,{'resolve':_0x4b324b,'suggestionData':_0x600df9});});throw _0x482c5f;});return this['_bufferedRequests']['delete'](_0x494395),_0x1e998f;},'updateSuggestion':async(_0x374943,_0x1065b3)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1065b3['state'])return this['_trackChangesService']['update'](_0x374943,_0x1065b3)['catch'](A);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x14901b,_0x32d2dd)=>{_0x4293e8['hasSuggestion'](_0x32d2dd['id'])&&(_0x4293e8['getSuggestion'](_0x32d2dd['id'])['attributes']=_0x32d2dd['attributes']);}),this['_trackChangesService']['connect'](_0x2a15b0['connection'])['then'](_0x1c082d=>(_0x2a15b0['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x1c082d)['then'](()=>{for(const _0x307973 of _0x1c082d){_0x4293e8['addSuggestionData'](_0x307973)['_saved']=!0x0;}})));}async['reconnect'](){const _0x293a25=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3a8213}=this['editor']['plugins']['get'](n),_0x1f8fe0=await this['_trackChangesService']['connect'](_0x3a8213);await this['_fetchMissingUsersForThreads'](_0x1f8fe0);for(const {suggestionData:_0x1504a4,resolve:_0x54f9cd}of this['_bufferedRequests']['values']()){let _0x141ca9=_0x1f8fe0['find'](_0x447dfc=>_0x447dfc['id']===_0x1504a4['id']);_0x141ca9||(_0x141ca9=await this['_trackChangesService']['add'](_0x1504a4['id'],_0x1504a4['type'],_0x1504a4['data'],_0x1504a4['originalSuggestionId'])),_0x54f9cd(_0x141ca9);}for(const _0x2b92eb of _0x1f8fe0)_0x293a25['hasSuggestion'](_0x2b92eb['id'])||_0x293a25['addSuggestionData'](_0x2b92eb);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x370f60=>{this['listenTo'](this['_trackChangesService'],'connected',_0xe323f=>{_0xe323f['off'](),_0x370f60();});});}async['_fetchMissingUsersForThreads'](_0x546d84){const _0x13d259=this['editor']['plugins']['get'](_0x5ae648),{connection:_0x9d4107}=this['editor']['plugins']['get'](n),_0xc1525c=new Set();for(const {authorId:_0x3d2fe5}of _0x546d84)_0x13d259['getUser'](_0x3d2fe5)||_0xc1525c['add'](_0x3d2fe5);if(0x0===_0xc1525c['size'])return;const _0xb1b0a9=await lt['getMany'](_0x9d4107,Array['from'](_0xc1525c));for(const _0x43538e of _0xb1b0a9)_0x13d259['getUser'](_0x43538e['id'])||_0x13d259['addUser'](_0x43538e);}}function A(_0x4868db){if(ut(_0x4868db))return new Promise(()=>{});throw _0x4868db;}function ut(_0x52ce39){return _0x52ce39['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52ce39['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x396694{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 _0x37a4e0=this['editor']['plugins']['get'](n),_0x37adeb=this['editor']['plugins']['get']('CommentsEditing'),_0x684565=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x37a4e0,'change:state',(_0x4a6812,_0x3372f2,_0x11eaca)=>{_0x37adeb['isThreadsLoadingPaused']='connected'!==_0x11eaca;});}),this['listenTo'](_0x37a4e0,'change:state',(_0x13d0b6,_0x487577,_0x26aa7b)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x26aa7b);}),_0x684565['_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 _0x396694{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 _0x396694{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>et)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x5ae648];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x127ae2){super(_0x127ae2);const _0xd14a8d=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0xd14a8d);}async['init'](){const _0x2ad814=this['editor']['plugins']['get'](l),_0x3a64cd=_0x2ad814['serverHistory'],_0x3382ca=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x3a64cd,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2ad814['sessionId']});const _0x5c8e3f=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x328d79=await st['isBundleUploaded'](_0x3382ca['connection'],_0x5c8e3f);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x4618c1})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x4618c1)),'updateRevisions':async _0x5d72e2=>{await this['_waitForServiceReady']();const _0x359c50=this['_revisionTracker']['currentRevision'];if(_0x328d79&&0x1===_0x5d72e2['length']&&_0x5d72e2[0x0]['id']===_0x359c50['id'])return _0x5d72e2;for(const _0x42dfe9 of _0x5d72e2)_0x42dfe9['id']===_0x359c50['id']&&(_0x42dfe9['isEmptyCurrent']=_0x42dfe9['fromVersion']===_0x42dfe9['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5d72e2,this['_lastRequestId'])['then'](_0x282202=>(this['_lastRequestId']=_0x282202,_0x5d72e2))['catch'](_0x49d212=>{if(it(_0x49d212)||'400'===_0x49d212['code']&&void 0x0!==_0x49d212['data']['wrongRequestId']){for(const _0x1ece6f of _0x5d72e2){!this['_revisionTracker']['repository']['getRevision'](_0x1ece6f['id'])||this['_revisionTracker']['_bufferUpdate'](_0x1ece6f['id'],_0x1ece6f,!0x1);}if(it(_0x49d212))throw _0x49d212;return _0x5d72e2;}throw _0x49d212;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x2ef4ad,{revisionsData:_0x28378d,requestId:_0x49094c})=>{Math['max'](..._0x28378d['map'](_0x28c6f6=>_0x28c6f6['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x28378d,_0x49094c);}):this['_handleRevisionsUpdate'](_0x28378d,_0x49094c);});const {revisions:_0x2b9f60,requestId:_0x3157bc}=await this['_revisionHistoryService']['connect'](_0x3382ca['connection']);_0x3382ca['addToReconnectionStack'](this),this['_lastRequestId']=_0x3157bc,await this['_fetchMissingUsers'](_0x2b9f60);for(const _0x44af01 of _0x2b9f60)this['_revisionTracker']['addRevisionData'](_0x44af01);this['listenTo'](_0x2ad814,'change:_isConnected',(_0x1e1d7a,_0x3340a4,_0x1c5006)=>{_0x1c5006&&(this['_oldOffset']=_0x2ad814['_offset'],_0x1e1d7a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3382ca,'state',_0x218a35=>_0x218a35===te['CONNECTED']);}async['reconnect'](){const _0x264e27=this['editor']['plugins']['get'](n),_0x4cbed8=this['editor']['plugins']['get'](l),_0x30fd34=async()=>{const _0x3b919c=this['_revisionTracker']['currentRevision'],_0x147774=_0x3b919c['id'],_0x4cacb5=_0x147774!==_0x4cbed8['sessionId'];if(_0x4cacb5){const _0x7af6b1=_0x4cbed8['_offset']-this['_oldOffset'],_0x37788b=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3b919c['toVersion']+_0x7af6b1!==_0x37788b){const _0x5abe12=_0x3b919c['fromVersion']+_0x7af6b1,_0x2aaa7d=this['editor']['plugins']['get'](_0x5ae648),_0x47b7a8=this['_revisionTracker']['buildRevisionData']({'revision':_0x3b919c,'from':_0x5abe12,'to':_0x37788b});_0x47b7a8['id']=_0x3b919c['id'];const _0x1a4b88=_0x47b7a8['authorsIds']['map'](_0x231156=>_0x2aaa7d['getUser'](_0x231156));_0x3b919c['_update']({..._0x47b7a8,'authors':_0x1a4b88},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3b919c['id'],_0x47b7a8,!0x0);}this['_revisionTracker']['_startingVersion']=_0x37788b,(_0x3b919c['toVersion']===_0x3b919c['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x147774)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x147774),this['_revisionTracker']['_createCurrentRevision'](_0x37788b));}const {revisions:_0x2b2d0e,requestId:_0x257ae3}=await this['_revisionHistoryService']['reconnect'](_0x264e27['connection'],this['_lastRequestId']);_0x4cacb5&&_0x2b2d0e['length']>0x0?_0x4cbed8['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2b2d0e),this['_handleRevisionsUpdate'](_0x2b2d0e,_0x257ae3),this['_revisionTracker']['sendBufferedUpdates']());};return _0x4cbed8['_isConnected']?_0x30fd34():new Promise((_0x42157a,_0x1db8d7)=>{_0x4cbed8['once']('change:_isConnected',()=>{_0x30fd34()['then'](_0x42157a)['catch'](_0x1db8d7);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2df88a=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1c25f5=>{_0x1c25f5['off'](),_0x2df88a();});});}['_getLatestVersionFromServerOperations'](){const _0x334074=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x4ac0be of _0x334074)if('marker'!==_0x4ac0be['type']||_0x4ac0be['affectsData'])return _0x4ac0be['baseVersion']+0x1;}['_getLatestVersion'](){const _0x72767e=this['editor']['plugins']['get'](l);return new Promise(_0x5a2f0e=>{_0x72767e['_isPendingUpdate']?_0x72767e['once']('change:_isPendingUpdate',()=>{_0x5a2f0e(this['_getLatestVersionFromServerOperations']());}):_0x5a2f0e(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x52e713,_0x2cd341){const _0x45d4c6=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x2cd341;for(const _0x10c8dc of _0x52e713){const _0x387c9e=_0x45d4c6['getRevision'](_0x10c8dc['id']);if(_0x387c9e){if((_0x10c8dc['fromVersion']||_0x10c8dc['toVersion'])&&(_0x10c8dc['diffData']=null),_0x387c9e===this['_revisionTracker']['currentRevision']){const _0x1b8835=Math['max'](_0x387c9e['toVersion'],_0x10c8dc['toVersion']),_0x97cf88=Math['max'](_0x387c9e['fromVersion'],_0x10c8dc['fromVersion']);let _0x473b5a;_0x387c9e['toVersion']===_0x10c8dc['toVersion']&&_0x387c9e['fromVersion']===_0x10c8dc['fromVersion']?(_0x473b5a=!0x0,this['_preventResendingRevisionData'](_0x10c8dc)):_0x10c8dc['toVersion']===_0x1b8835&&_0x10c8dc['fromVersion']===_0x97cf88?_0x473b5a=!0x1:(_0x387c9e['toVersion']===_0x1b8835&&_0x387c9e['fromVersion']===_0x97cf88||this['_fixRevision']({'revision':_0x387c9e,'from':_0x97cf88,'to':_0x1b8835}),_0x473b5a=!0x0),_0x473b5a&&(delete _0x10c8dc['fromVersion'],delete _0x10c8dc['toVersion'],delete _0x10c8dc['diffData'],delete _0x10c8dc['createdAt'],delete _0x10c8dc['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x10c8dc),this['_preventResendingRevisionData'](_0x10c8dc);}else this['_revisionTracker']['addRevisionData'](_0x10c8dc);}const _0x170f0c=_0x45d4c6['getRevisions']();_0x170f0c['reverse']();for(let _0x5a5f5f=0x0;_0x5a5f5f<_0x170f0c['length']-0x1;_0x5a5f5f++){const _0x22cf6f=_0x170f0c[_0x5a5f5f],_0x3b3ed8=_0x170f0c[_0x5a5f5f+0x1];if(_0x22cf6f['fromVersion']<_0x3b3ed8['toVersion']){const _0x4a7034=_0x3b3ed8['toVersion'],_0x4ece13=Math['max'](_0x4a7034,_0x22cf6f['toVersion']);this['_fixRevision']({'revision':_0x22cf6f,'from':_0x4a7034,'to':_0x4ece13});}}}['_fixRevision']({revision:_0x4d31b8,from:_0x41c359,to:_0xdcca7f}={}){const _0x31c154=this['editor']['plugins']['get'](_0x5ae648),_0x5036ab=this['_revisionTracker']['buildRevisionData']({'revision':_0x4d31b8,'from':_0x41c359,'to':_0xdcca7f});_0x5036ab['authors']=_0x5036ab['authorsIds']['map'](_0xfbb6ea=>_0x31c154['getUser'](_0xfbb6ea)),_0x4d31b8['_update'](_0x5036ab);}['_preventResendingRevisionData'](_0x3e1781){const _0x2bba77={};_0x2bba77['id']=_0x3e1781['id'];for(const _0x568db2 of Object['keys'](_0x3e1781))'id'!==_0x568db2&&(_0x2bba77[_0x568db2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x2bba77['id'],_0x2bba77,!0x0);}async['_fetchMissingUsers'](_0x430869){const _0x59a51b=this['editor']['plugins']['get'](_0x5ae648),{connection:_0xe36516}=this['editor']['plugins']['get'](n),_0x1e9020=new Set();for(const _0x323fdb of _0x430869){for(const _0xdf0f2c of _0x323fdb['authorsIds'])_0x50fd29(_0xdf0f2c);_0x323fdb['creatorId']&&_0x50fd29(_0x323fdb['creatorId']);}if(0x0===_0x1e9020['size'])return;const _0x2313ed=await lt['getMany'](_0xe36516,Array['from'](_0x1e9020));for(const _0x2f2fb8 of _0x2313ed)_0x59a51b['getUser'](_0x2f2fb8['id'])||_0x59a51b['addUser'](_0x2f2fb8);function _0x50fd29(_0x921a1c){_0x59a51b['getUser'](_0x921a1c)||_0x1e9020['add'](_0x921a1c);}}}function it(_0x373a5c){return _0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x373a5c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class mt extends _0x396694{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 _0x110669{['_collapseAt'];constructor(_0x1ebf04,_0x3c81bc=0x6){super(_0x1ebf04);const _0x522268=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3c81bc,this['bind']('isHidden')['to'](this,'usersCount',_0x422b61=>_0x422b61<_0x3c81bc),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x522268['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':_0x522268['to']('usersCount',_0x5a1b30=>'+'+(_0x5a1b30-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x110669{['items'];['keystrokes'];constructor(_0x1d8925){super(_0x1d8925);const _0x359beb=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x31aa0d(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x359beb['if']('hasPopup'),'aria-expanded':_0x359beb['to']('isExpanded',_0x5cef77=>this['hasPopup']&&String(_0x5cef77)),'aria-label':_0x359beb['to']('hasPopup',_0x560a05=>W(_0x1d8925,_0x560a05?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x359beb['to']('hasPopup',_0x2f80f5=>!!_0x2f80f5&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x359beb['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x359beb['to'](_0x27686f=>{const _0x122919=_0x27686f,_0x2528d5=document['querySelector']('.ck-presence-list__dropdown-list'),_0x2160eb=document['querySelector']('.ck-balloon-panel_with-arrow');_0x2528d5?.['contains'](_0x122919['relatedTarget'])||_0x2160eb?.['contains'](_0x122919['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4a8614,_0x3a39b0,_0x3f4f0b)=>{this['element']&&(_0x3f4f0b?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 _0x110669{['counterView'];['inlineListView'];constructor(_0x309ca7,_0x445ca1=0x6){super(_0x309ca7);const _0x22ee64=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new y(this['locale'],_0x445ca1),this['inlineListView']=new is(_0x309ca7),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1e6b85 of this['inlineListView']['items'])_0x1e6b85['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',_0x22ee64['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class C extends _0x110669{['listWrapperView'];constructor(_0x36a2eb,_0x5ce1c0){super(_0x36a2eb);const _0x45d7e7=this['bindTemplate'];this['listWrapperView']=new pt(_0x36a2eb,_0x5ce1c0),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':W(_0x36a2eb,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x45d7e7['to'](_0xae230b=>{const _0x249a6d=_0xae230b,_0x229c0d=document['querySelector']('.ck-presence-list__list'),_0x567eba=document['querySelector']('.ck-balloon-panel_with-arrow');_0x229c0d?.['contains'](_0x249a6d['relatedTarget'])||_0x567eba?.['contains'](_0x249a6d['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class pt extends _0x43d313{constructor(_0x5b7e73,_0x5c1c4d){super(_0x5b7e73);const _0x4467d8=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x5c1c4d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4467d8['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4467d8['to']('role'),'aria-label':_0x4467d8['to']('ariaLabel'),'aria-labelledby':_0x4467d8['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x966207['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x2ff08b=this['element'];_0x2ff08b&&(this['_isScrollable']=Math['max'](_0x2ff08b['scrollHeight'],_0x2ff08b['clientHeight'])>0.8*window['innerHeight']);}}class P extends rt{['userView'];constructor(_0x2842ab,_0x4a0727,_0x33523c){super(_0x2842ab);const _0x25e56d=this['bindTemplate'];this['userView']=new ct(_0x2842ab,_0x4a0727);const _0x4707a5={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4a0727['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4a0727['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4a0727['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x33523c&&(_0x4707a5['tag']='button',_0x4707a5['on']={'click':_0x25e56d['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x4707a5);}['focus'](){this['element']['focus']();}}class _ extends _0x110669{['userView'];['markerView'];constructor(_0x42178d,_0x572d40,_0x44f5b1){super(_0x42178d);const _0xce27bd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x42178d,_0x572d40),this['markerView']=new at(_0x42178d,_0x572d40);const _0x1dfd7f=new ot(_0x42178d);_0x1dfd7f['template']['tag']='span',_0x1dfd7f['text']=_0x572d40['name'];const _0x2b8ba6={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xce27bd['to']('isFocusable',_0x3a7ec5=>!!_0x3a7ec5&&0x0),'aria-labelledby':_0x1dfd7f['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xce27bd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xce27bd['to']('hasTooltip',_0x1fddb3=>!_0x1fddb3),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x1dfd7f]};_0x44f5b1&&(_0x2b8ba6['tag']='button',_0x2b8ba6['on']={'click':_0xce27bd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2b8ba6);}}class at extends _0x110669{constructor(_0x4b157f,_0x59f3aa){super(_0x4b157f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x59f3aa['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const U={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x4cc43f{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ed964){super(_0x2ed964),this['context']['config']['define']('presenceList',U);const _0x1aab8b=_0x2ed964['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1aab8b)throw new _0x1ba148('presencelist-collapseat-invalid-format',this);if(_0x1aab8b<0x1)throw new _0x1ba148('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x21c59b(),this['balloonPanelView']=new _0x311fc6(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x22e22c of this['_allConnectedUsers'])this['_handleUserAdd'](_0x22e22c);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b496e,_0xda946)=>{this['_handleUserAdd'](_0xda946);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x55a64d,_0x32c906)=>{this['_handleUserRemove'](_0x32c906);});}['_createView'](){const _0x3d2509=this['context'],_0x2478b3=new k(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x47d3f0=this['balloonPanelView'];if(!_0x349429(_0x3d2509['config']['get']('presenceList.container')))throw new _0x1ba148('presencelist-missing-container',this);return _0x2478b3['counterView']['bind']('usersCount')['to'](this),_0x2478b3['bind']('isCollapsed')['to'](this,'usersCount',_0x1dc599=>{const {collapseAt:_0x4fe1b0}=_0x3d2509['config']['get']('presenceList'),_0x3d14b6=_0x1dc599>=_0x4fe1b0;if(_0x3d14b6&&!_0x2478b3['inlineListView']['items']['find'](_0x5f54bc=>_0x5f54bc instanceof y)){const _0x5cf57c=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5cf57c&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x2478b3['inlineListView']['items']['add'](_0x2478b3['counterView']);}return _0x3d14b6||this['hideDropdown'](),_0x3d14b6;}),_0x2478b3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x5207d1=>{const _0x1b9c6d=_0x3d2509['config']['get']('presenceList'),_0x252e4b=new _(_0x3d2509['locale'],_0x5207d1,!!_0x1b9c6d['onClick']);return _0x252e4b['bind']('hasTooltip')['to'](_0x2478b3,'isCollapsed',_0x1d8cc3=>!_0x1d8cc3),_0x252e4b['bind']('isFocusable')['to'](_0x2478b3,'isCollapsed',_0x2e372a=>!_0x2e372a),_0x1b9c6d['onClick']&&this['listenTo'](_0x252e4b,'execute',()=>{this['view']['isCollapsed']||_0x1b9c6d['onClick'](_0x5207d1,_0x252e4b['element']);}),_0x252e4b;}),this['listenTo'](_0x2478b3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x2478b3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x2478b3['inlineListView']['keystrokes']['set']('Enter',(_0x2618e6,_0x32ad90)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x32ad90());}),_0x2478b3['render'](),_0x47d3f0['render'](),_0x8b85ba({'emitter':_0x2478b3,'activator':()=>_0x47d3f0['isVisible'],'contextElements':[_0x47d3f0['element'],_0x2478b3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x3d2509['config']['get']('presenceList.container')['appendChild'](_0x2478b3['element']),this['_bodyCollection']=new _0x5d87f6(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x2478b3;}['_handleUserAdd'](_0x1849b8){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1849b8['isMe'])return;const _0x469bdd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x469bdd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x100c4e=_0x1849b8['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1849b8,_0x100c4e);}['_handleUserRemove'](_0x5736a3){this['usersCount']--;const {collapseAt:_0x3ac6a9}=this['context']['config']['get']('presenceList'),_0x26ef30=this['usersCount']>=_0x3ac6a9;if(this['currentDisplayedUsers']['get'](_0x5736a3['id']))this['currentDisplayedUsers']['remove'](_0x5736a3['id']);else{if(_0x26ef30&&this['currentDisplayedUsers']['length']+0x1===_0x3ac6a9-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x26ef30?0x1:0x0)<this['usersCount']){for(const _0x3a2cbe of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3a2cbe['id'])&&(this['currentDisplayedUsers']['add'](_0x3a2cbe,Math['min'](this['currentDisplayedUsers']['length']-(_0x26ef30?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x26ef30?0x1:0x0)===_0x3ac6a9-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5ab776=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new C(this['context']['locale'],!!_0x5ab776['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5cb4bb}=this['presenceDropdownView'];_0x5cb4bb['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x2096fe=>{if(!_0x5ab776['displayMe']&&_0x2096fe['isMe'])return null;const _0x526018=new P(this['context']['locale'],_0x2096fe,!!_0x5ab776['onClick']);return _0x5ab776['onClick']&&this['listenTo'](_0x526018,'execute',()=>{_0x5ab776['onClick'](_0x2096fe,_0x526018['element']);}),_0x526018;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5cb4bb['focus'](),_0x5cb4bb['checkIfScrollable']();const _0x6bca81=(_0x3727b8,_0x297c6a)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x297c6a();};_0x5cb4bb['keystrokes']['set']('Esc',_0x6bca81),_0x5cb4bb['keystrokes']['set']('Shift+Tab',_0x6bca81),_0x5cb4bb['keystrokes']['set']('Tab',(_0x50ad7c,_0x8f1c11)=>{!function(_0x4e11d7){const _0x4e7620=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x445992=>_0x445992+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x34eb9c=[...document['body']['querySelectorAll'](_0x4e7620)]['filter'](_0x19f276=>_0x19f276===document['activeElement']||_0x19f276['offsetWidth']+_0x19f276['offsetHeight']>0x0)['sort']((_0x497213,_0x1b8d81)=>(_0x497213['tabIndex']||0x0)-(_0x1b8d81['tabIndex']||0x0)),_0x551e91=_0x34eb9c['indexOf'](_0x4e11d7),_0x5b5fef=_0x34eb9c[(_0x551e91+0x1)%_0x34eb9c['length']];_0x5b5fef&&_0x5b5fef['focus']();}(this['view']['element']),this['hideDropdown'](),_0x8f1c11();}),_0x5cb4bb['focusTracker']['add'](this['view']['element']),_0x5cb4bb['focusTracker']['on']('change:isFocused',(_0xdcfd8f,_0x440904,_0x3367ab)=>{_0x3367ab||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 _0x4cc43f{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 _0x24e504,Plugin as _0x23684a,PendingActions as _0x26da0c,Context as _0x1ac0af}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x11d6ab,CKEditorError as _0x189f6f,Collection as _0x26414e,global as _0x2ed649,version as nt,uid as _0x34d92d,KeystrokeHandler as _0x19832b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x554080,View as _0x321d26,ListView as _0x14cb7d,ListItemView as et,LabelView as it,BalloonPanelView as _0x52cb12,clickOutsideHandler as _0x81fb12,BodyCollection as _0x26bdd9}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x519926,History as _0x1dfb7e,NoOperation as _0x372d2b,InsertOperation as _0x1bca00,MarkerOperation as _0x59297b,RootAttributeOperation as _0x5bf9a3,transformOperationSets as _0x29fd05,OperationFactory as _0x35c2fd}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as rt,WEB_SOCKET_GATEWAY_STATES as _0x543ce6,CollaborativeEditingService as _0xd1b7d9,User as ct,CommentsService as _0x430834,TrackChangesService as _0x2700bf,RevisionHistoryService as _0x29efde,EditorService as _0x26c726}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x47e255,UserView as st}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x51dc20}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x1678f1}from'es-toolkit/compat';class n extends _0x24e504{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>rt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x554080];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x47f9f7){super(_0x47f9f7),this['set']('state',_0x543ce6['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x11d6ab())();}['init'](){const _0x22d93e=this['context'],_0x473fb8=_0x22d93e['plugins']['get']('CloudServices'),_0x29011c=_0x22d93e['plugins']['get'](_0x554080);if(!_0x473fb8['token'])throw new _0x189f6f('websocketgateway-missing-token',this);if(!_0x473fb8['webSocketUrl'])throw new _0x189f6f('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'](_0x473fb8['token'],_0x473fb8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x182c3f=>{if(this['connection']=_0x182c3f,this['bind']('state')['to'](_0x182c3f,'state',this,'_isBrowserOffline',(_0x463616,_0x461b5a)=>('connected'!==_0x463616&&(this['_shouldPluginsReconnect']=!0x0),_0x461b5a||_0x463616!==_0x543ce6['CONNECTED']?_0x543ce6['DISCONNECTED']:this['state']==_0x543ce6['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x543ce6['CONNECTING']):_0x543ce6['CONNECTED'])),this['connection']['on']('error',(_0x2f159c,_0x3c6086)=>{if('limitExceeded'!==_0x3c6086['code'])throw console['error'](_0x3c6086),new _0x189f6f('cloudservices-init',null,{'originalError':_0x3c6086});_0x29011c['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'});}),!_0x182c3f['me'])return new Promise(_0x1c53d1=>_0x182c3f['on']('change:me',_0x1c53d1));})['catch'](_0x1b9328=>{throw console['error'](_0x1b9328),new _0x189f6f('cloudservices-init',null,{'originalError':_0x1b9328});});}['addToReconnectionStack'](_0x48c423){if('function'!=typeof _0x48c423['reconnect'])throw new _0x189f6f('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x48c423))throw new _0x189f6f('websocketgateway-plugin-already-registered',this,{'name':_0x48c423['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x48c423);}['removeFromReconnectionStack'](_0x4c7c25){this['_reconnectionStack']['delete'](_0x4c7c25);}['isInReconnectionStack'](_0x1b3094){return this['_reconnectionStack']['has'](_0x1b3094);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xacf6b1=>_0xacf6b1['reconnect']())))['then'](()=>this['state']=_0x543ce6['CONNECTED'])['catch'](_0x3d6b12=>{throw console['error'](_0x3d6b12),new _0x189f6f('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x543ce6['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x24e504{['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,_0x47e255];}constructor(_0x2d9d46){super(_0x2d9d46),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x26414e(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x47e255);}['init'](){const _0x2487bc=this['context']['plugins']['get'](n);this['listenTo'](_0x2487bc,'change:state',(_0x295ece,_0x2f07df,_0x428368)=>{if('connected'!==_0x428368)this['channelSessions']['forEach'](_0x4afd6a=>_0x4afd6a['clear']()),this['channelConnectedUsers']['forEach'](_0x5c9ecb=>_0x5c9ecb['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2a089c,_0x4f8847]of this['_registeredSessions'])for(const _0x2911c3 of _0x4f8847)this['_handleSessionAdd'](_0x2a089c,_0x2911c3);}}),this['_createUser'](_0x2487bc['connection']['me'],!0x0);}['register'](_0x2d866f,_0x52aa0b){if(this['_registeredSessions']['has'](_0x2d866f))throw new _0x189f6f('sessions-register-already-registered',null,{'channelId':_0x2d866f});this['_registeredSessions']['set'](_0x2d866f,_0x52aa0b),this['channelSessions']['set'](_0x2d866f,new _0x26414e()),this['channelConnectedUsers']['set'](_0x2d866f,new _0x26414e()),this['listenTo'](_0x52aa0b,'add',(_0x59fc01,_0x273a9d)=>this['_handleSessionAdd'](_0x2d866f,_0x273a9d)),this['listenTo'](_0x52aa0b,'remove',(_0x30d0e8,_0x396e30)=>this['_handleSessionRemove'](_0x2d866f,_0x396e30));for(const _0x44df0e of _0x52aa0b)this['_handleSessionAdd'](_0x2d866f,_0x44df0e);}['unregister'](_0x142573){if(!this['_registeredSessions']['has'](_0x142573))throw new _0x189f6f('sessions-unregister-not-exist',null,{'channelId':_0x142573});const _0x14b1f4=this['_registeredSessions']['get'](_0x142573);this['stopListening'](_0x14b1f4);for(const _0x2be622 of _0x14b1f4)'connected'===this['context']['plugins']['get'](n)['state']&&this['_handleSessionRemove'](_0x142573,_0x2be622);this['_registeredSessions']['delete'](_0x142573),this['channelSessions']['delete'](_0x142573),this['channelConnectedUsers']['delete'](_0x142573);}get['mySessionId'](){return this['context']['plugins']['get'](n)['connection']['sessionId'];}['getUserBySessionId'](_0x502e46){for(const _0x1aa21b of this['channelSessions']['values']())for(const _0x21ee04 of _0x1aa21b)if(_0x21ee04['id']===_0x502e46)return _0x21ee04['user'];}['getUserSessions'](_0x12caa8,_0x2b70f5){const _0x577eed=_0x2b70f5?[this['channelSessions']['get'](_0x2b70f5)]:this['channelSessions']['values'](),_0x3dca1f=new Set();for(const _0x22e1d2 of _0x577eed)for(const _0x3f00f6 of _0x22e1d2)_0x3f00f6['user']['id']===_0x12caa8['id']&&_0x3dca1f['add'](_0x3f00f6['id']);return _0x3dca1f;}['getUserRole'](_0x39764d){for(const _0x4a56db of this['channelSessions']['values']())for(const _0x4e6d9c of _0x4a56db)if(_0x4e6d9c['user']===_0x39764d)return _0x4e6d9c['role'];}['_handleSessionAdd'](_0x3ad00e,_0x183421){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x5ec579=_0x183421['user'],_0x42b851=this['_users']['getUser'](_0x5ec579['id'])||this['_createUser'](_0x5ec579),_0x43b728=Object['assign']({},_0x183421,{'user':_0x42b851});this['channelSessions']['get'](_0x3ad00e)['add'](_0x43b728);const _0x3c460e=this['channelConnectedUsers']['get'](_0x3ad00e);_0x3c460e['has'](_0x42b851['id'])||_0x3c460e['add'](_0x42b851),this['allConnectedUsers']['has'](_0x42b851['id'])||this['allConnectedUsers']['add'](_0x42b851,_0x42b851['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x3ad00e,{'channelId':_0x3ad00e,'session':_0x43b728});}['_handleSessionRemove'](_0x572641,_0x48158c){if('connected'!==this['context']['plugins']['get'](n)['state'])return;const _0x121e44=this['channelConnectedUsers']['get'](_0x572641),_0x2df636=_0x48158c['user'];_0x2df636['id']&&(this['channelSessions']['get'](_0x572641)['remove'](_0x48158c['id']),_0x121e44['has'](_0x2df636['id'])&&!this['getUserSessions'](_0x2df636,_0x572641)['size']&&_0x121e44['remove'](_0x2df636['id']),this['allConnectedUsers']['get'](_0x2df636['id'])&&!this['getUserSessions'](_0x2df636)['size']&&this['allConnectedUsers']['remove'](_0x2df636['id']));}['_createUser'](_0x80ee98,_0x2e9c80){const _0x3f0fe3=this['_users']['addUser'](_0x80ee98);return _0x2e9c80&&this['_users']['defineMe'](_0x80ee98['id']),_0x3f0fe3['orderNumber']=this['_uniqueUsersCount']++,_0x3f0fe3;}}class $ extends _0x23684a{['_domEmitter']=new(_0x11d6ab())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x59f466=this['editor'],_0x4db363=_0x59f466['plugins']['get'](i);_0x59f466['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x259331,{writer:_0xe5f2af})=>function(_0x51a20e,_0x3f488d,_0x16e08d,_0x4634c1){const _0x2fe52a=_0x51a20e['markerName']['split'](':')[0x2],_0x5cb015=_0x16e08d['getUserBySessionId'](_0x2fe52a);if(!_0x5cb015||_0x2fe52a===_0x16e08d['mySessionId'])return;if(!_0x4634c1['model']['schema']['checkChild'](_0x51a20e['markerRange']['start'],'$text'))return;const _0x2e9169={'class':'ck-user__marker\x20'+_0x5cb015['color']['getMarkerClass'](),'data-name':_0x5cb015['name'],'data-session-id':_0x2fe52a},_0x27567e=_0x4634c1['model']['markers']['get'](_0x51a20e['markerName']),_0x2b5244=_0x27567e['getStart'](),_0x1e4504=_0x2b5244['nodeAfter'],_0x501958=_0x4634c1['model']['schema'];if(_0x1e4504&&_0x501958['isObject'](_0x1e4504)&&_0x501958['isInline'](_0x1e4504)&&!_0x4634c1['model']['markers']['get']('user:range:'+_0x2fe52a)['getRange']()['isCollapsed'])return;const _0x5ba253=_0x2b5244['parent'];return _0x4634c1['model']['schema']['isLimit'](_0x5ba253)&&!_0x4634c1['model']['hasContent'](_0x5ba253)&&(_0x2e9169['contenteditable']=!0x1),function(_0x491ec0,_0x264c84,_0x2b8573){const _0x4d1544=_0x491ec0['createUIElement']('span',_0x264c84);return _0x491ec0['setCustomProperty']('userPositionMarker',!0x0,_0x4d1544),_0x4d1544['render']=function(_0xd82ec5){const _0x124447=this['toDomElement'](_0xd82ec5),_0x2894ad=document['createElement']('span');return _0x2894ad['classList']['add']('ck-user__marker-tooltip'),_0x2894ad['setAttribute']('contenteditable','false'),_0x2894ad['setAttribute']('spellcheck','false'),_0x2894ad['textContent']=_0x2b8573['name'],_0x124447['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2894ad['outerHTML']+'⁠',_0x124447['addEventListener']('mouseenter',()=>{_0x124447['classList']['add']('ck-user__marker_hovered');}),_0x124447['addEventListener']('mouseleave',()=>{_0x124447['classList']['remove']('ck-user__marker_hovered');}),_0x124447;},_0x4d1544['isSimilar']=function(_0x9363f9){return!(!this['getCustomProperty']('userPositionMarker')||!_0x9363f9['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x9363f9['getAttribute']('data-session-id'));},_0x4d1544;}(_0x3f488d,_0x2e9169,_0x5cb015);}(_0x259331,_0xe5f2af,_0x4db363,_0x59f466)}),_0x59f466['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2b9b84=>function(_0x2192bd,_0x4afead){const _0x5a7408=_0x2192bd['markerName']['split'](':')[0x2];if(_0x5a7408===_0x4afead['mySessionId'])return null;const _0x43b0b1=_0x4afead['getUserBySessionId'](_0x5a7408);if(!_0x43b0b1)return{'id':_0x5a7408,'classes':[]};return{'id':_0x5a7408,'classes':['ck-user__selection',_0x43b0b1['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x5a7408},'priority':0x7d0+_0x43b0b1['orderNumber']};}(_0x2b9b84,_0x4db363)}),function(_0x1618cf){const _0x3eca40=_0x1618cf['model'],_0x22dfc2=new Map(),_0x26f242=_0x1618cf['plugins']['get'](i);_0x3eca40['markers']['on']('update:user:range',(_0x592dbf,_0x1a8a9d,_0x3efc9a,_0x32fe3b)=>{if(!_0x32fe3b&&_0x22dfc2['get'](_0x1a8a9d['name']))return _0x22dfc2['get'](_0x1a8a9d['name'])['detach'](),void _0x22dfc2['delete'](_0x1a8a9d['name']);const _0x164e9b=_0x1a8a9d['name']['split'](':')[0x2];if(_0x164e9b===_0x26f242['mySessionId'])return;const _0x47ab98='user:position:'+_0x164e9b;_0x3eca40['markers']['has'](_0x47ab98)&&_0x1618cf['editing']['reconvertMarker'](_0x47ab98),_0x1a8a9d['on']('change:range',(_0x2e2bf5,_0x353d9e,_0x5f1fb2)=>{if('$graveyard'!=_0x353d9e['root']['rootName']&&'$graveyard'==_0x1a8a9d['getRange']()['root']['rootName']&&!_0x22dfc2['has'](_0x1a8a9d['name'])){const _0x2746db=_0x3eca40['schema']['getNearestSelectionRange'](_0x5f1fb2['deletionPosition']);if(_0x2746db){const _0x1286af=_0x519926['fromRange'](_0x2746db);_0x22dfc2['set'](_0x1a8a9d['name'],_0x1286af),_0x1286af['on']('change:range',(_0x40eac2,_0x4dec52,_0x3bbb7b)=>{if('$graveyard'==_0x1286af['root']['rootName']){const _0x5b5fdf=_0x3eca40['schema']['getNearestSelectionRange'](_0x3bbb7b['deletionPosition']);_0x5b5fdf?(_0x1286af['start']=_0x5b5fdf['start'],_0x1286af['end']=_0x5b5fdf['end']):(_0x22dfc2['delete'](_0x1a8a9d['name']),_0x1286af['detach']());}});}}});}),_0x3eca40['document']['on']('change',()=>{_0x22dfc2['size']>0x0&&_0x3eca40['enqueueChange']({'isUndoable':!0x1},_0x1b85fa=>{for(const [_0x11da2e,_0x2f3eed]of _0x22dfc2)'$graveyard'==_0x3eca40['markers']['get'](_0x11da2e)['getRange']()['root']['rootName']&&(te(_0x11da2e['split'](':')[0x2],_0x2f3eed['toRange'](),_0x3eca40,_0x1b85fa),_0x2f3eed['detach']());_0x22dfc2['clear']();});});}(_0x59f466),this['_domEmitter']['listenTo'](_0x2ed649['document'],'keydown',(_0xebf1f4,{key:_0x11ca11})=>{'Escape'===_0x11ca11&&function(_0x46befa){_0x46befa['editing']['view']['change'](_0x29f2f9=>{for(const _0x102df4 of _0x46befa['model']['markers']){if(!_0x102df4['name']['startsWith']('user:position'))continue;const _0x4e3cf2=_0x46befa['editing']['mapper']['markerNameToElements'](_0x102df4['name']);if(_0x4e3cf2){for(const _0x36d9d2 of _0x4e3cf2)_0x29f2f9['removeClass']('ck-user__marker_hovered',_0x36d9d2);}}});}(_0x59f466);},{'useCapture':!0x0});}['afterInit'](){const _0x20cb0b=this['editor'],_0x1d32e0=_0x20cb0b['commands']['get']('undo');_0x1d32e0&&_0x20cb0b['model']['on']('applyOperation',(_0x5b432b,_0x2a9640)=>{const _0x35e863=_0x2a9640[0x0];if(!_0x35e863['isDocumentOperation'])return;if('marker'!=_0x35e863['type']||!_0x35e863['name']['startsWith']('user:'))return;const _0x5d6993=_0x35e863['batch'];_0x1d32e0['_createdBatches']['has'](_0x5d6993)&&(_0x35e863['newRange']=_0x35e863['oldRange']?_0x20cb0b['model']['createRange'](_0x35e863['oldRange']['start'],_0x35e863['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x2daafb=this['editor'],_0x146d4c=_0x2daafb['model']['document'],_0x49f5dc=_0x2daafb['plugins']['get'](i);_0x2daafb['model']['enqueueChange']({'isUndoable':!0x1},_0x26d047=>{const _0x4b6fe6='user:range:'+_0x49f5dc['mySessionId'],_0x137980='user:position:'+_0x49f5dc['mySessionId'],_0x370254=_0x2daafb['model']['markers']['has'](_0x4b6fe6);_0x2daafb['editing']['view']['hasDomSelection']?te(_0x49f5dc['mySessionId'],_0x146d4c['selection']['getFirstRange'](),_0x2daafb['model'],_0x26d047):_0x370254&&(_0x26d047['removeMarker'](_0x4b6fe6),_0x26d047['removeMarker'](_0x137980));});}}function te(_0x5ebf38,_0x4a0684,_0x1e4910,_0x582a12){const _0x2329f8='user:range:'+_0x5ebf38,_0x3b6243='user:position:'+_0x5ebf38,_0x1fda25=_0x4a0684['getContainedElement']();let _0x1b5711=_0x4a0684['start'];if(_0x1fda25&&_0x1fda25['is']('element','tableCell')){const _0xfcb0a=function(_0x39469f,_0x5237e5){for(const _0x327c42 of _0x39469f['getPositions']())if(_0x5237e5['schema']['checkChild'](_0x327c42,'$text'))return _0x327c42;}(_0x4a0684,_0x1e4910);_0xfcb0a&&(_0x1b5711=_0xfcb0a,_0x4a0684=_0x582a12['createRange'](_0x1b5711));}const _0x5e971b=_0x582a12['createRange'](_0x1b5711);_0x1e4910['markers']['has'](_0x2329f8)?(_0x582a12['updateMarker'](_0x2329f8,{'range':_0x4a0684}),_0x582a12['updateMarker'](_0x3b6243,{'range':_0x5e971b})):(_0x582a12['addMarker'](_0x2329f8,{'range':_0x4a0684,'usingOperation':!0x0}),_0x582a12['addMarker'](_0x3b6243,{'range':_0x5e971b,'usingOperation':!0x0}));}function K(_0x29770f,_0x1f7fe7,_0x10b680){const _0x3d38e2=_0x29770f['t'],t=_0x29770f['t'];switch(_0x1f7fe7){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 _0x3d38e2({'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'},_0x10b680);default:return'';}}let X=0x1;class l extends _0x23684a{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xd1b7d9)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[n,i,$,_0x26da0c,_0x47e255,_0x554080];}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 _0x43ebee=this['serverHistory']['getOperations']();for(let _0x3a2365=_0x43ebee['length']-0x1;_0x3a2365>=0x0;_0x3a2365--){const _0x25843c=_0x43ebee[_0x3a2365];if(!this['_disconnectionOperations']['has'](_0x25843c))return _0x25843c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1ce023){if(super(_0x1ce023),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x1dfb7e(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x189f6f('collaboration-missing-channelid',this);const _0x4a8c4b=_0x1ce023['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x4a8c4b,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x51dc20(),this['_bufferedOperations']=[],this['_knownOperations']=new WeakSet(),this['_knownRootNames']=new Set(),this['set']('_isPendingUpdate',!0x1),this['set']('_hasSynchronizationProblem',!0x1),this['_pendingAction']=null,this['_hasSelectionChanged']=!0x1,this['_sendBufferedOperationsDelayId']=null,this['_baseBufferDelay']=0x12c,this['_currentBufferDelay']=this['_baseBufferDelay'],this['_lastSyncedOperationId']=null,this['_disconnectionOperations']=new WeakSet(),this['_operationIdentifier']=new tt(this['_disconnectionOperations']);}['init'](){const _0x4e771a=this['editor'],_0x84c9d3=_0x4e771a['plugins']['get'](_0x47e255),_0x245641=_0x4e771a['plugins']['get'](n);this['listenTo'](_0x84c9d3,'getOperationAuthor',(_0x1dc5b1,_0x411a80)=>{const _0x14017a=_0x411a80[0x0];_0x14017a['_authorId']&&(_0x1dc5b1['return']=_0x84c9d3['getUser'](_0x14017a['_authorId']),_0x1dc5b1['stop']()),null===_0x14017a['_authorId']&&(_0x1dc5b1['return']=null,_0x1dc5b1['stop']());},{'priority':'high'}),this['listenTo'](_0x4e771a['model']['document']['selection'],'change:range',(_0x4463d1,_0x48a4fc)=>{_0x48a4fc['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4e771a['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4e771a['model']['on']('applyOperation',(_0x33d0de,_0x34f3f4)=>{const _0xa4317e=_0x34f3f4[0x0];_0xa4317e['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xa4317e),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x245641,'state',this,'_hasSynchronizationProblem',(_0x1ae8a3,_0x273203)=>'connected'===_0x1ae8a3&&!_0x273203),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4e771a['disableReadOnlyMode']('rtc-offline'):_0x4e771a['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4e771a['disableReadOnlyMode']('rtc-offline'):_0x4e771a['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0xb3589f=this['editor']['plugins']['get'](i),_0x8a8f95=this['editor']['plugins']['get'](n);try{this['_isPendingUpdate']=!0x0,_0xb3589f['unregister'](this['_channelId']);const _0xbb12bb=await this['_service']['reconnect'](_0x8a8f95['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xbb12bb)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x16e25a=await this['_service']['getConnectedSessions']();_0xb3589f['register'](this['_channelId'],_0x16e25a),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x166a9c){if(function(_0x5e3ed4){return'404'===_0x5e3ed4['code'];}(_0x166a9c)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5644e3){return'409'===_0x5644e3['code'];}(_0x166a9c)){const _0x981874=K(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x981874);}else{if(!(_0x166a9c instanceof Y))throw _0x166a9c;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3126fe=this['editor']['plugins']['get'](n),_0x575b5a=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x575b5a['channelSessions']['has'](this['_channelId'])&&_0x575b5a['unregister'](this['_channelId']),_0x3126fe['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2eac6b){if(this['sessionId']!==_0x2eac6b['sessionId']&&this['_lastSyncedOperationId']!==_0x2eac6b['lastOperationId'])throw new Y();return this['sessionId']=_0x2eac6b['sessionId'],this['_handleServerResponse']([],{..._0x2eac6b,'wereChangesApplied':!0x1,'data':_0x2eac6b['data']},'reconnect');}async['_connectService'](_0x28925d,_0x107e63=!0x1){const {connection:_0x4eb5a5}=this['editor']['plugins']['get'](n);l['CollaborativeEditingService']['getConnectedSessions'](_0x4eb5a5,this['_channelId'])['then'](_0x438f9f=>this['_initSessionsHandling'](_0x438f9f))['catch'](_0x41de1a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x41de1a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x19c203,_0x1afc00)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x1afc00);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x55adc6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x28925d);this['_isPendingUpdate']=!0x0;const _0x1a8cca=await this['_service']['connect'](_0x4eb5a5,this['_compressOperations'](_0x28925d),_0x55adc6);if(this['sessionId']=_0x1a8cca['sessionId'],_0x107e63){if(!_0x1a8cca['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x1a8cca['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x28925d,_0x1a8cca,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x1a8cca,_0x28925d);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3a85a1=this['editor']['plugins']['get'](i),_0x5ec4ca=this['editor']['plugins']['get']($),_0x4004b6=_0x3a85a1['channelSessions']['get'](this['_channelId']);_0x4004b6&&_0x4004b6['length']>0x1?_0x5ec4ca['createUserMarkerOperations']():this['listenTo'](_0x3a85a1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3a85a1['channelSessions']['get'](this['_channelId'])['length']&&_0x5ec4ca['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x36944b,_0x1f5da8,_0x3af6be,_0x5b37dd){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1f5da8){const _0x56952d=this['_decompressOperations'](_0x3af6be,_0x5b37dd);await this['_fetchMissingUsers'](_0x56952d),this['_handleExternalOperations'](_0x56952d,_0x1f5da8,_0x3af6be['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0xedad06}=this['editor'];let _0x269d7b;try{_0x269d7b=await this['_service']['getDocumentDetails']();}catch{const _0x5036b6=K(_0xedad06,'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'](_0x5036b6);}const _0x25cd54=_0x269d7b['currentDocumentSession']||_0x269d7b['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x25cd54['lastOperationId']){const _0x3c478e=K(_0xedad06,'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'](_0x3c478e);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x41926c){const _0x19eed0=this['editor']['plugins']['get'](i);this['listenTo'](_0x19eed0,'sessionAdd:'+this['_channelId'],(_0x4fce9a,{session:_0x5325f2})=>{if(_0x5325f2['id']===_0x19eed0['mySessionId']){_0x4fce9a['off']();const _0x5b26f1=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x232bf8=_0x5325f2['permissions'];_0x5b26f1&&_0x5b26f1['isEnabled']&&(_0x232bf8=_0x232bf8['filter'](_0xe02f2a=>'document:write'!==_0xe02f2a)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x232bf8,this['_channelId']);}}),_0x19eed0['register'](this['_channelId'],_0x41926c);}['_initThrowingOnDataSet'](){const _0x43f819=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1cddc6)=>{if(!_0x1cddc6[_0x1cddc6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x189f6f('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x43f819['apply'](this['editor']['data'],_0x1cddc6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x123e7f,[_0x53535c])=>{if(this['_document']['version'])throw new _0x189f6f('realtimecollaborationclient-init-document-already-initialized',this);_0x123e7f['stop'](),this['_setPendingAction']();const _0x30a99f=this['editor']['config']['get']('rootsAttributes'),_0x3fa5f9=this['_getOperationsFromInitData'](_0x53535c,_0x30a99f);0x0==_0x3fa5f9['length']&&_0x3fa5f9['push'](new _0x372d2b(0x0)),_0x123e7f['return']=this['_connectService'](_0x3fa5f9)['then'](()=>{this['editor']['plugins']['get'](n)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x13849b=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x13849b))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x3c346d,[_0x36fbb2,_0x5d1e2c])=>{_0x3c346d['stop']();const _0x2ec9ed=this['editor']['model']['document']['getRoot'](_0x36fbb2);if(!this['_knownRootNames']['has'](_0x36fbb2)){const _0x19bd1=_0x5d1e2c&&_0x5d1e2c['data']?_0x5d1e2c['data']:'',_0x235944=_0x5d1e2c&&_0x5d1e2c['attributes']?_0x5d1e2c['attributes']:{};await this['_loadRoot'](_0x36fbb2,_0x19bd1,_0x235944);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x2ec9ed['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x2ec9ed);});},{'priority':'high'});}async['_fetchMissingUsers'](_0xd83ed){const _0x4d8ce6=this['editor']['plugins']['get'](_0x47e255),{connection:_0x54add0}=this['editor']['plugins']['get'](n),_0x175501=new Set();for(const _0x1422ca of _0xd83ed){const _0x49dbb9=_0x1422ca['_authorId'];_0x49dbb9&&!_0x4d8ce6['getUser'](_0x49dbb9)&&_0x175501['add'](_0x49dbb9);}if(0x0===_0x175501['size'])return;const _0x47140c=await ct['getMany'](_0x54add0,Array['from'](_0x175501));for(const _0x10afe8 of _0x47140c)_0x4d8ce6['getUser'](_0x10afe8['id'])||_0x4d8ce6['addUser'](_0x10afe8);}['_getOperationsFromInitData'](_0x47b13b,_0x15f8ce={}){const _0x59bab8=this['editor']['model'],_0x102b84=[];let _0x584715=0x0;const _0x4bf8c8='string'==typeof _0x47b13b?{'main':_0x47b13b}:_0x47b13b;for(const _0x1cdcfd of Object['keys'](_0x4bf8c8)){if(!this['_document']['roots']['has'](_0x1cdcfd))throw new _0x189f6f('realtimecollaborationclient-init-non-existent-root',this);const _0x323613=this['editor']['data']['parse'](_0x4bf8c8[_0x1cdcfd]),_0x17b8f8=this['_document']['getRoot'](_0x1cdcfd),_0x1aa6d6=new _0x1bca00(_0x59bab8['createPositionAt'](_0x17b8f8,0x0),_0x323613,_0x584715++);_0x102b84['push'](_0x1aa6d6);for(const [_0x46fe0a,_0x45ebbe]of _0x323613['markers']){const _0x2f6701=_0x59bab8['createRange'](_0x59bab8['createPositionFromPath'](_0x17b8f8,_0x45ebbe['start']['path']['slice']()),_0x59bab8['createPositionFromPath'](_0x17b8f8,_0x45ebbe['end']['path']['slice']())),_0x2430dd=new _0x59297b(_0x46fe0a,null,_0x2f6701,_0x59bab8['markers'],!0x0,_0x584715++);_0x102b84['push'](_0x2430dd);}}if(_0x15f8ce)for(const [_0x4b93ea,_0x50a6b7]of Object['entries'](_0x15f8ce)){const _0x513061=_0x59bab8['document']['getRoot'](_0x4b93ea);if(!_0x513061)throw new _0x189f6f('multi-root-editor-root-attributes-no-root',null);for(const [_0x248ab7,_0x58dec5]of Object['entries'](_0x50a6b7))if(null!==_0x58dec5){const _0x57605d=new _0x5bf9a3(_0x513061,_0x248ab7,null,_0x58dec5,_0x584715++);_0x102b84['push'](_0x57605d);}}return _0x102b84;}async['_loadRoot'](_0x154382,_0x48767f,_0x545584){this['_getOperationsFromInitData']({[_0x154382]:_0x48767f},{[_0x154382]:_0x545584})['forEach']((_0x129f98,_0x511732)=>{_0x129f98['baseVersion']=this['_document']['version']+_0x511732,_0x129f98['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x129f98);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x4d68bd,_0x364367){let _0x1aedeb;this['_offset']=_0x4d68bd['offset'];const _0x5dacaa=_0x4d68bd['wereChangesApplied']&&!_0x4d68bd['initData'],_0xcf5d52=_0x5dacaa?0x0:_0x4d68bd['data']['baseVersion'];if(_0x364367['forEach'](_0x37ab09=>{_0x37ab09['_isInit']=!0x0,_0x37ab09['createdAt']=_0x4d68bd['sessionCreatedAt'],_0x37ab09['_authorId']=null;}),_0x5dacaa)_0x1aedeb=_0x364367,this['_applyOperationsSet'](_0x1aedeb,_0x5dacaa);else{if(_0x4d68bd['initData']){const _0x39e539=this['_getOperationsFromInitData'](_0x4d68bd['initData']);this['_document']['history']['version']=-_0x39e539['length'],_0x39e539['forEach'](_0x1fbc83=>{_0x1fbc83['baseVersion']-=_0x39e539['length'],_0x1fbc83['createdAt']=_0x4d68bd['sessionCreatedAt'],_0x1fbc83['_isInit']=!0x0,_0x1fbc83['_authorId']=null;}),this['_applyOperationsSet'](_0x39e539,!0x0),this['serverHistory']['version']=-_0x39e539['length']+this['_offset'],this['_updateServerHistory'](_0x39e539);}this['_document']['history']['version']=_0xcf5d52,_0x1aedeb=this['_decompressOperations'](_0x4d68bd['data'],_0x4d68bd['metadata']),await this['_fetchMissingUsers'](_0x1aedeb),this['_applyOperationsSet'](_0x1aedeb,_0x5dacaa);}_0x4d68bd['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1aedeb,_0x4d68bd['lastOperationId']),this['_lastSyncedOperationId']=_0x4d68bd['lastOperationId']),this['serverHistory']['version']=_0xcf5d52+this['_offset'],this['_updateServerHistory'](_0x1aedeb),_0x364367['filter'](_0x123557=>{const _0x133672=this['_getAffectedRoot'](_0x123557);return _0x133672&&!this['_knownRootNames']['has'](_0x133672);})['forEach']((_0x4110e1,_0x50741e)=>{_0x4110e1['baseVersion']=this['_document']['version']+_0x50741e,this['_saveOperationInBuffer'](_0x4110e1);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x55b6d0,_0x2736f7){const _0x1feefd=_0x2736f7&&_0x2736f7['message'];if(_0x1feefd&&_0x1feefd['startsWith']('realtimecollaborationclient'))throw _0x2736f7;const _0xe9da6c=this['editor']['plugins']['get'](n);throw this['_isPendingUpdate']=!0x0,_0xe9da6c['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x189f6f(_0x55b6d0,this['editor'],_0x1feefd?{'originalError':_0x1feefd}:void 0x0);}['_saveOperationInBuffer'](_0x1dab41){this['_knownOperations']['has'](_0x1dab41)||(this['_knownOperations']['add'](_0x1dab41),this['_bufferedOperations']['push'](_0x1dab41),this['_pendingAction']||'marker'==_0x1dab41['type']&&!_0x1dab41['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x5b408a=!0x1){!_0x5b408a&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x480305=>{_0x480305&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1c3862=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x20c3c4){return _0x20c3c4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x20c3c4['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x20c3c4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1c3862)||this['_crash'](_0x1c3862['message'],_0x1c3862);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x25a8b0=>{this['on']('change:_isPendingUpdate',()=>{_0x25a8b0();});});}async['_sendBufferedOperations'](){const _0x331809=this['editor']['plugins']['get']($);if(this['_shouldSendSelectionUpdate']()&&(_0x331809['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x518bd9=[...this['_bufferedOperations']];for(const _0x568b11 of _0x518bd9)_0x568b11['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x568b11);const _0x1d5186=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x518bd9),_0x54cbd4=X++,_0x275fa8=this['_compressOperations'](_0x518bd9),_0x1814e9=await this['_service']['sendOperations'](_0x275fa8,_0x275fa8['baseVersion'],_0x1d5186);try{return await this['_handleServerResponse'](_0x518bd9,_0x1814e9,_0x54cbd4);}catch(_0x1b153b){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x1b153b);}}async['_handleServerResponse'](_0x20bd0f,_0x3b4a8c,_0x4bdc55){if('error'in _0x3b4a8c)throw _0x3b4a8c['error'];let _0x3dc1e2=!0x1;if(_0x3b4a8c['wereChangesApplied']){_0x3b4a8c['lastOperationId']&&(this['_lastSyncedOperationId']=_0x3b4a8c['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xc37ab0=>!_0x20bd0f['includes'](_0xc37ab0));for(const _0x537bba of _0x20bd0f)_0x537bba['createdAt']='lastOperationAcceptedAt'in _0x3b4a8c&&_0x3b4a8c['lastOperationAcceptedAt']||void 0x0;Z(_0x20bd0f,_0x3b4a8c['version']-_0x20bd0f['length']),this['_updateServerHistory'](_0x20bd0f);const _0x3578da=_0x20bd0f['filter'](_0x191179=>{if(!_0x191179['_isInit'])return!0x1;const _0x4891a1=this['_getAffectedRoot'](_0x191179);return _0x4891a1&&!this['_knownRootNames']['has'](_0x4891a1);});Z(_0x3578da,this['_document']['version']),this['_applyOperationsSet'](_0x3578da),_0x3dc1e2=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4e340c=this['_decompressOperations'](_0x3b4a8c['data'],_0x3b4a8c['metadata'])['filter'](_0x553da0=>_0x553da0['baseVersion']>=this['_lastServerVersion']);_0x4e340c['forEach'](_0x152524=>this['_addKnownRoot'](_0x152524)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x590407=>!_0x590407['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x590407))),this['_bufferedOperations']['length']&&Z(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4e340c),_0x3dc1e2=this['_handleExternalOperations'](_0x4e340c,_0x3b4a8c['version'],_0x3b4a8c['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3dc1e2?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4a4dc8,_0x5498d7,_0x28f3f0){try{const _0x1f0404={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x498d09,operationsB:_0x49ee3a,originalOperations:_0x4c9e59}=_0x29fd05(_0x4a4dc8,this['_bufferedOperations'],_0x1f0404);Z(_0x498d09,this['_document']['version']),Z(_0x49ee3a,_0x5498d7);for(const _0x13829b of _0x498d09){const _0x28813f=_0x4c9e59['get'](_0x13829b);_0x13829b['_authorId']=_0x28813f?_0x28813f['_authorId']:null;}_0x28f3f0&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4a4dc8,_0x28f3f0),this['_lastSyncedOperationId']=_0x28f3f0),this['_bufferedOperations']=[..._0x49ee3a],this['_applyOperationsSet'](_0x498d09),this['_updateServerHistory'](_0x4a4dc8);}catch(_0x4b7c74){return console['error'](_0x4b7c74),!0x1;}return!0x0;}['_applyOperationsSet'](_0x561b56,_0xc6d040=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x249cda=>{for(const _0x3df38f of _0x561b56)this['_knownOperations']['add'](_0x3df38f),this['_addKnownRoot'](_0x3df38f),_0x249cda['batch']['addOperation'](_0x3df38f),this['editor']['model']['applyOperation'](_0x3df38f);});}['_addKnownRoot'](_0x55fc3a){const _0x271e2c=this['_getAffectedRoot'](_0x55fc3a);_0x271e2c&&this['_knownRootNames']['add'](_0x271e2c);}['_getAffectedRoot'](_0x1e3deb){let _0x396df2,_0x1ff7dd;switch(_0x1e3deb['type']){case'insert':_0x396df2=_0x1e3deb['position']['root'];break;case'marker':if(_0x1ff7dd=_0x1e3deb['newRange'],!_0x1ff7dd)return null;_0x396df2=_0x1ff7dd['root'];break;case'addRootAttribute':_0x396df2=_0x1e3deb['root'];break;case'addRoot':_0x396df2=_0x1e3deb['affectedSelectable'];break;case'move':_0x396df2=_0x1e3deb['targetPosition']['root'];break;default:return null;}return _0x396df2['rootName'];}['_updateServerHistory'](_0x2d57a3){_0x2d57a3['forEach'](_0x309e6b=>{const _0x1c3d40=_0x309e6b['clone']();_0x1c3d40['_authorId']=_0x309e6b['_authorId'],_0x1c3d40['_isInit']=!!_0x309e6b['_isInit'],_0x1c3d40['createdAt']=_0x309e6b['createdAt'],_0x1c3d40['baseVersion']+=this['_offset'],_0x309e6b['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1c3d40),this['serverHistory']['addOperation'](_0x1c3d40);});}['_handleReconnectionError'](_0xc67a38){const _0x6a115d=this['editor']['plugins']['get']('Notification'),_0x3c096c=this['editor']['locale'];_0xc67a38||(_0xc67a38=K(_0x3c096c,'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.')),_0x6a115d['showWarning'](_0xc67a38,{'title':K(_0x3c096c,'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'](_0x26da0c)['add'](K(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x26da0c)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x333fc6){const _0x3361da=_0x333fc6['map'](_0x36923b=>_0x36923b['toJSON']());return this['_compressor']['compress'](_0x3361da);}['_decompressOperations'](_0x4388c3,_0xa22c2){return this['_compressor']['decompress'](_0x4388c3)['map']((_0x52deca,_0x93eec7)=>{const _0x46da59='init'==_0xa22c2[_0x93eec7]['type'];if('InsertOperation'==_0x52deca['__className']){const _0x84bf5a=_0x52deca['position']['root'];!this['_document']['getRoot'](_0x84bf5a)&&(this['_document']['createRoot']('$root',_0x84bf5a)['_isAttached']=!0x1);}const _0x168ddb=_0x35c2fd['fromJSON'](_0x52deca,this['_document']);return _0x168ddb['wasUndone']=_0x52deca['wasUndone'],_0x168ddb['_isInit']=_0x46da59,_0x168ddb['_authorId']=_0x46da59?null:_0xa22c2[_0x93eec7]['userId'],_0x168ddb['_isDisconnection']='cs:removeUser'===_0xa22c2[_0x93eec7]['type'],_0x168ddb['createdAt']=_0xa22c2[_0x93eec7]['createdAt'],_0x168ddb;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x243930=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x243930&&_0x243930['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Y extends Error{}function Z(_0x3ced4f,_0x3b31ee){for(const _0x5b349e of _0x3ced4f)_0x5b349e['baseVersion']=_0x3b31ee++;}class tt{['_ignoredOperations'];['_operationToId'];constructor(_0x52f0ba){this['_ignoredOperations']=_0x52f0ba,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x398b49){let _0x40d1a4=_0x398b49['length'];for(;_0x40d1a4--;){const _0x3bed62=_0x398b49[_0x40d1a4];if(!this['_ignoredOperations']['has'](_0x3bed62)){if(!this['_operationToId']['has'](_0x3bed62)){const _0x5e95d9=_0x34d92d()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3bed62,_0x5e95d9);}return this['_operationToId']['get'](_0x3bed62);}}}['setIdForTheLastOperation'](_0x568d77,_0x6f3e58){if(!_0x6f3e58)return;let _0x4e0964=_0x568d77['length'];for(;_0x4e0964--;){const _0x1328f7=_0x568d77[_0x4e0964];this['_ignoredOperations']['has'](_0x1328f7)||this['_operationToId']['set'](_0x1328f7,_0x6f3e58);}}}class a extends _0x23684a{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class s extends _0x24e504{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x430834)());['_services'];static get['requires'](){return[n,'CommentsRepository',i,_0x47e255];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3a6e70){super(_0x3a6e70),this['_services']=new Map();}async['init'](){const _0x12f0be=this['context'],_0x4956b8=_0x12f0be['plugins']['get']('CommentsRepository');if(_0x12f0be['plugins']['get'](n)['addToReconnectionStack'](this),_0x4956b8['adapter']={'addCommentThread':async({channelId:_0x3ff971,threadId:_0x4a7293,comments:_0x415171,resolvedAt:_0x1857e4,resolvedBy:_0x54e048,context:_0x1f14eb,attributes:_0x2fc12c})=>{const _0x6ef519=await this['_getService'](_0x3ff971)['addCommentThread']({'commentThreadId':_0x4a7293,'comments':_0x415171['map'](_0x121327=>function(_0x22c799,_0x533719,_0x32c958){return{'commentThreadId':_0x32c958,'commentId':_0x22c799['commentId'],'userId':_0x22c799['authorId'],'content':_0x22c799['content'],'documentId':_0x533719,'createdAt':_0x22c799['createdAt'],'attributes':_0x22c799['attributes']||{}};}(_0x121327,_0x3ff971,_0x4a7293)),'resolvedAt':_0x1857e4,'resolvedBy':_0x54e048,'context':_0x1f14eb,'attributes':_0x2fc12c})['catch'](at);return{'threadId':_0x6ef519['commentThreadId'],'comments':_0x6ef519['comments']};},'getCommentThread':async({channelId:_0x1a33f4,threadId:_0x17285e})=>{const _0x360738=await this['_getService'](_0x1a33f4)['getCommentThread'](_0x17285e)['catch'](at);return _0x360738['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x360738]),{'threadId':_0x360738['commentThreadId'],'comments':_0x360738['comments']['map'](U),'context':_0x360738['context'],'resolvedAt':_0x360738['resolvedAt'],'resolvedBy':_0x360738['resolvedBy'],'attributes':_0x360738['attributes']||{}});},'updateCommentThread':async({channelId:_0x5b933f,threadId:_0x26764c,context:_0x236e76,unlinkedAt:_0xcfb85a,attributes:_0x372ab6})=>this['_getService'](_0x5b933f)['updateCommentThread']({'commentThreadId':_0x26764c,'context':_0x236e76,'attributes':_0x372ab6,'unlinkedAt':_0xcfb85a})['catch'](F)['catch'](at),'resolveCommentThread':async({channelId:_0x20e146,threadId:_0x31d0fd})=>{const _0x27bf92=await this['_getService'](_0x20e146)['resolveCommentThread'](_0x31d0fd)['catch'](F)['catch'](at);return{'threadId':_0x27bf92['commentThreadId'],'resolvedAt':_0x27bf92['resolvedAt'],'resolvedBy':_0x27bf92['resolvedBy']};},'reopenCommentThread':async({channelId:_0x1ee511,threadId:_0x36daad})=>this['_getService'](_0x1ee511)['reopenCommentThread'](_0x36daad)['catch'](F)['catch'](at),'removeCommentThread':({channelId:_0x4376cf,threadId:_0x401375})=>this['_getService'](_0x4376cf)['removeCommentThread'](_0x401375)['catch'](F)['catch'](at),'addComment':({channelId:_0x2cd899,threadId:_0x1c649e,commentId:_0x23ba0b,content:_0x1d168f,attributes:_0x245f34})=>this['_getService'](_0x2cd899)['addComment'](_0x1c649e,_0x23ba0b,_0x1d168f,_0x245f34)['catch'](at),'updateComment':({channelId:_0x2960b6,threadId:_0x27f906,commentId:_0xad96c,content:_0xceca4e,attributes:_0x2b36ba})=>this['_getService'](_0x2960b6)['updateComment'](_0x27f906,_0xad96c,_0xceca4e,_0x2b36ba)['catch'](F)['catch'](at),'removeComment':({channelId:_0x579d67,threadId:_0x33c70e,commentId:_0x2236e4})=>this['_getService'](_0x579d67)['removeComment'](_0x33c70e,_0x2236e4)['catch'](F)['catch'](at)},_0x12f0be instanceof _0x1ac0af){const _0x2cbd4c=_0x12f0be['config']['get']('collaboration.channelId'),_0x4308ce=_0x12f0be['plugins']['get'](i);await this['_setUpService'](_0x2cbd4c);const _0x5be6ca=await this['_services']['get'](_0x2cbd4c)['getConnectedSessions']();this['listenTo'](_0x4308ce,'sessionAdd:'+_0x2cbd4c,(_0x29a3a2,{session:_0x3c4a1e})=>{_0x3c4a1e['id']===_0x4308ce['mySessionId']&&(_0x29a3a2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x3c4a1e['permissions'],_0x2cbd4c));}),_0x4308ce['register'](_0x2cbd4c,_0x5be6ca);}}async['_setUpService'](_0x16d70a){if(this['_services']['has'](_0x16d70a))throw new _0x189f6f('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x16d70a});const _0x566eba=this['context']['plugins']['get']('CommentsRepository'),_0x15eb78=new s['CommentsService'](_0x16d70a);this['_services']['set'](_0x16d70a,_0x15eb78),this['listenTo'](_0x15eb78,'commentThreadAdded',(_0x2c3a4a,_0x309aeb)=>{const {commentThreadId:_0x272490,documentId:_0x55f4f9,context:_0x15af85,attributes:_0x248128,resolvedAt:_0x3d5a23,resolvedBy:_0x217458,comments:_0x3086e4}=_0x309aeb;_0x566eba['getCommentThread'](_0x272490)||_0x566eba['addCommentThread']({'threadId':_0x272490,'channelId':_0x55f4f9,'comments':_0x3086e4?_0x3086e4['map'](U):[],'context':_0x15af85,'attributes':_0x248128,'resolvedAt':_0x3d5a23,'resolvedBy':_0x217458,'isFromAdapter':!0x0});}),this['listenTo'](_0x15eb78,'commentThreadUpdated',(_0x43a31b,{commentThreadId:_0x5ba4a8,documentId:_0x55ffd6,context:_0x1c0da7,unlinkedAt:_0x3125b5,attributes:_0x28807f})=>{_0x566eba['getCommentThread'](_0x5ba4a8)&&_0x566eba['updateCommentThread']({'threadId':_0x5ba4a8,'channelId':_0x55ffd6,'context':_0x1c0da7,'unlinkedAt':_0x3125b5,'attributes':_0x28807f,'isFromAdapter':!0x0});}),this['listenTo'](_0x15eb78,'commentThreadResolved',(_0x42761b,{commentThreadId:_0xc61763,resolvedBy:_0x5bc64b,resolvedAt:_0x295463})=>{const _0x56ec8e=_0x566eba['getCommentThread'](_0xc61763);_0x56ec8e&&_0x56ec8e['resolve']({'resolvedBy':_0x5bc64b,'resolvedAt':_0x295463,'isFromAdapter':!0x0});}),this['listenTo'](_0x15eb78,'commentThreadReopened',(_0x21134c,{commentThreadId:_0x2c4697})=>{const _0x62a7b3=_0x566eba['getCommentThread'](_0x2c4697);_0x62a7b3&&_0x62a7b3['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x15eb78,'commentThreadRemoved',(_0x34ed6b,{commentThreadId:_0x421af9})=>{const _0x3f3e8a=_0x566eba['getCommentThread'](_0x421af9);_0x3f3e8a&&_0x3f3e8a['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x15eb78,'commentAdded',(_0x7be06b,_0x3e7fdd)=>{const _0x35961e=_0x3e7fdd['commentThreadId'],_0x5b982b=_0x566eba['getCommentThread'](_0x35961e);_0x5b982b&&_0x5b982b['addComment']({...U(_0x3e7fdd),'isFromAdapter':!0x0});}),this['listenTo'](_0x15eb78,'commentUpdated',(_0x404664,{commentThreadId:_0x5b4090,commentId:_0x41cbe1,content:_0x56aa6f,attributes:_0x5c6ed5})=>{const _0xe54462=_0x566eba['getCommentThread'](_0x5b4090);if(_0xe54462){const _0x4128ab=_0xe54462['getComment'](_0x41cbe1);_0x4128ab&&_0x4128ab['update']({'content':_0x56aa6f,'attributes':_0x5c6ed5,'isFromAdapter':!0x0});}}),this['listenTo'](_0x15eb78,'commentRemoved',(_0x596549,{commentThreadId:_0x515b00,commentId:_0x464e19})=>{const _0x1c60b5=_0x566eba['getCommentThread'](_0x515b00);if(_0x1c60b5){const _0x2dec31=_0x1c60b5['getComment'](_0x464e19);_0x2dec31&&_0x2dec31['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x16d70a);}['destroy'](){if(this['context']instanceof _0x1ac0af){const _0x444c3d=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x444c3d);}}['_terminateService'](_0x220d98){if(!this['_services']['has'](_0x220d98))throw new _0x189f6f('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x220d98});this['_getService'](_0x220d98)['disconnect'](),this['_services']['delete'](_0x220d98);}async['reconnect'](){for(const _0x1be548 of this['_services']['keys']())await this['_connectService'](_0x1be548);if(this['context']instanceof _0x1ac0af){const _0x44f45f=this['context']['config']['get']('collaboration.channelId'),_0x21e59f=this['context']['plugins']['get'](i);_0x21e59f['unregister'](_0x44f45f);const _0x1bd10c=await this['_services']['get'](_0x44f45f)['getConnectedSessions']();_0x21e59f['register'](_0x44f45f,_0x1bd10c);}}async['_connectService'](_0x503e3a){const {connection:_0x1cd383}=this['context']['plugins']['get'](n),_0x27e84c=this['context']['plugins']['get']('CommentsRepository'),_0x4fdc93=this['_services']['get'](_0x503e3a),_0x424c53=await _0x4fdc93['connect'](_0x1cd383);await this['_fetchMissingUsersForThreads'](_0x424c53);const _0x3c485b=new Set(Array['from'](_0x27e84c['getCommentThreads']({'channelId':_0x503e3a}),_0x44c22c=>_0x44c22c['id']));for(const _0x819c09 of _0x424c53)_0x819c09['deletedAt']||_0x3c485b['delete'](_0x819c09['commentThreadId']);for(const _0x3eb37d of _0x3c485b)_0x27e84c['getCommentThread'](_0x3eb37d)['remove']({'isFromAdapter':!0x0});for(const _0x4fabc4 of _0x424c53){let _0x28f22c=_0x27e84c['getCommentThread'](_0x4fabc4['commentThreadId']);const {commentThreadId:_0x3e87e1,context:_0x188c30,attributes:_0x5305f2,resolvedBy:_0x1f85e2,resolvedAt:_0x1ea833,unlinkedAt:_0x33eaf4,deletedAt:_0x1c0c6c}=_0x4fabc4;if(_0x1c0c6c)continue;_0x28f22c||(_0x28f22c=_0x27e84c['addCommentThread']({'channelId':_0x503e3a,'threadId':_0x3e87e1,'context':_0x188c30,'attributes':_0x5305f2||{},'resolvedBy':_0x1f85e2,'resolvedAt':_0x1ea833,'unlinkedAt':_0x33eaf4,'isFromAdapter':!0x0}));const _0x340491=new Set(Array['from'](_0x28f22c['comments'],_0x20794c=>_0x20794c['id']));for(const _0x8d4d84 of _0x4fabc4['comments'])_0x340491['delete'](_0x8d4d84['commentId']);for(const _0x121d9d of _0x340491)_0x28f22c['getComment'](_0x121d9d)['remove']({'isFromAdapter':!0x0});for(const _0x358e56 of _0x4fabc4['comments']){const _0x343ca9=_0x28f22c['getComment'](_0x358e56['commentId']);_0x343ca9?_0x343ca9['content']!==_0x358e56['content']&&_0x343ca9['update']({'content':_0x358e56['content'],'isFromAdapter':!0x0}):_0x28f22c['addComment'](Object['assign'](U(_0x358e56),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4b2872){if(!this['_services']['has'](_0x4b2872))throw new _0x189f6f('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4b2872});return this['_services']['get'](_0x4b2872);}async['_fetchMissingUsersForThreads'](_0x16003a){const _0x21d5bf=this['context']['plugins']['get'](_0x47e255),{connection:_0x1b6a30}=this['context']['plugins']['get'](n),_0x3460dc=new Set();for(const {resolvedBy:_0x514f12,comments:_0x49a152}of _0x16003a){_0x514f12&&!_0x21d5bf['getUser'](_0x514f12)&&_0x3460dc['add'](_0x514f12);for(const {userId:_0x10df9f}of _0x49a152)_0x21d5bf['getUser'](_0x10df9f)||_0x3460dc['add'](_0x10df9f);}if(0x0===_0x3460dc['size'])return;const _0x5c5bc0=await ct['getMany'](_0x1b6a30,Array['from'](_0x3460dc));for(const _0x405934 of _0x5c5bc0)_0x21d5bf['getUser'](_0x405934['id'])||_0x21d5bf['addUser'](_0x405934);}}async function F(_0xd7a1ac){if('404'!==_0xd7a1ac['code'])throw _0xd7a1ac;}function at(_0x2cfb20){if((_0x436c06=_0x2cfb20)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x436c06['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x436c06['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x436c06;throw _0x2cfb20;}function U(_0x5599c1){return{'threadId':_0x5599c1['commentThreadId'],'commentId':_0x5599c1['commentId'],'content':_0x5599c1['content'],'createdAt':_0x5599c1['createdAt'],'authorId':_0x5599c1['userId'],'attributes':_0x5599c1['attributes']||{}};}class m extends _0x23684a{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x2700bf)());['_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(_0x38796d){super(_0x38796d);const _0x1334cc=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new m['TrackChangesService'](_0x1334cc);}['init'](){const _0x379901=this['editor']['plugins']['get'](n),_0x4229e5=this['editor']['plugins']['get']('TrackChangesEditing');return _0x4229e5['adapter']={'getSuggestion':async _0x60b185=>{await this['_waitForServiceReady']();const _0x933bc5=await this['_trackChangesService']['get'](_0x60b185)['catch'](B);return await this['_fetchMissingUsersForThreads']([_0x933bc5]),_0x933bc5;},'addSuggestion':async({id:_0x46d11c,type:_0x4f6126,data:_0x392fb8,originalSuggestionId:_0x2750bd,attributes:_0x5c29e9})=>{await this['_waitForServiceReady']();const _0x33f31a={'id':_0x46d11c,'type':_0x4f6126,'data':_0x392fb8,'originalSuggestionId':_0x2750bd,'attributes':_0x5c29e9},_0x2f8544=await this['_trackChangesService']['add'](_0x46d11c,_0x4f6126,_0x392fb8,_0x2750bd,_0x5c29e9)['catch'](_0x5418e5=>{if(ht(_0x5418e5))return new Promise(_0x5dea5f=>{this['_bufferedRequests']['set'](_0x46d11c,{'resolve':_0x5dea5f,'suggestionData':_0x33f31a});});throw _0x5418e5;});return this['_bufferedRequests']['delete'](_0x46d11c),_0x2f8544;},'updateSuggestion':async(_0x1fd55e,_0xf4c480)=>{if(await this['_waitForServiceReady'](),'open'!==_0xf4c480['state'])return this['_trackChangesService']['update'](_0x1fd55e,_0xf4c480)['catch'](B);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x361ecb,_0x466af2)=>{_0x4229e5['hasSuggestion'](_0x466af2['id'])&&(_0x4229e5['getSuggestion'](_0x466af2['id'])['attributes']=_0x466af2['attributes']);}),this['_trackChangesService']['connect'](_0x379901['connection'])['then'](_0x5d935e=>(_0x379901['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5d935e)['then'](()=>{for(const _0x539e9b of _0x5d935e){_0x4229e5['addSuggestionData'](_0x539e9b)['_saved']=!0x0;}})));}async['reconnect'](){const _0x1f6157=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x510e8c}=this['editor']['plugins']['get'](n),_0x354b45=await this['_trackChangesService']['connect'](_0x510e8c);await this['_fetchMissingUsersForThreads'](_0x354b45);for(const {suggestionData:_0x606cb9,resolve:_0x497162}of this['_bufferedRequests']['values']()){let _0x2d9f9d=_0x354b45['find'](_0x4bf33f=>_0x4bf33f['id']===_0x606cb9['id']);_0x2d9f9d||(_0x2d9f9d=await this['_trackChangesService']['add'](_0x606cb9['id'],_0x606cb9['type'],_0x606cb9['data'],_0x606cb9['originalSuggestionId'])),_0x497162(_0x2d9f9d);}for(const _0x59b874 of _0x354b45)_0x1f6157['hasSuggestion'](_0x59b874['id'])||_0x1f6157['addSuggestionData'](_0x59b874);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x6ac908=>{this['listenTo'](this['_trackChangesService'],'connected',_0x192179=>{_0x192179['off'](),_0x6ac908();});});}async['_fetchMissingUsersForThreads'](_0x37dc99){const _0x6aaa2e=this['editor']['plugins']['get'](_0x47e255),{connection:_0x5b33f8}=this['editor']['plugins']['get'](n),_0x41e8a3=new Set();for(const {authorId:_0x4260df}of _0x37dc99)_0x6aaa2e['getUser'](_0x4260df)||_0x41e8a3['add'](_0x4260df);if(0x0===_0x41e8a3['size'])return;const _0x510caf=await ct['getMany'](_0x5b33f8,Array['from'](_0x41e8a3));for(const _0x3c8eb0 of _0x510caf)_0x6aaa2e['getUser'](_0x3c8eb0['id'])||_0x6aaa2e['addUser'](_0x3c8eb0);}}function B(_0x19a7f7){if(ht(_0x19a7f7))return new Promise(()=>{});throw _0x19a7f7;}function ht(_0x279909){return _0x279909['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x279909['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x23684a{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 _0x2099cc=this['editor']['plugins']['get'](n),_0x5359cc=this['editor']['plugins']['get']('CommentsEditing'),_0x5f0f66=this['editor']['plugins']['get'](s);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2099cc,'change:state',(_0x44f575,_0x14b8d3,_0x4d266a)=>{_0x5359cc['isThreadsLoadingPaused']='connected'!==_0x4d266a;});}),this['listenTo'](_0x2099cc,'change:state',(_0x26314e,_0x183fb3,_0xffb6ae)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0xffb6ae);}),_0x5f0f66['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](s)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class lt extends _0x23684a{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 _0x23684a{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x29efde)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[n,l,'RevisionHistory',i,_0x47e255];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4a51ea){super(_0x4a51ea);const _0x5b13a1=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new c['RevisionHistoryService'](_0x5b13a1);}async['init'](){const _0x515389=this['editor']['plugins']['get'](l),_0x1341ad=_0x515389['serverHistory'],_0x4ffba4=this['editor']['plugins']['get'](n);this['_revisionTracker']['setSource']({'history':_0x1341ad,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x515389['sessionId']});const _0x25ccda=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1cc0f9=await _0x26c726['isBundleUploaded'](_0x4ffba4['connection'],_0x25ccda);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x2a6cfb})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2a6cfb)),'updateRevisions':async _0x3d17d7=>{await this['_waitForServiceReady']();const _0x187831=this['_revisionTracker']['currentRevision'];if(_0x1cc0f9&&0x1===_0x3d17d7['length']&&_0x3d17d7[0x0]['id']===_0x187831['id'])return _0x3d17d7;for(const _0x461802 of _0x3d17d7)_0x461802['id']===_0x187831['id']&&(_0x461802['isEmptyCurrent']=_0x461802['fromVersion']===_0x461802['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x3d17d7,this['_lastRequestId'])['then'](_0x5e3e85=>(this['_lastRequestId']=_0x5e3e85,_0x3d17d7))['catch'](_0x10717b=>{if(P(_0x10717b)||'400'===_0x10717b['code']&&void 0x0!==_0x10717b['data']['wrongRequestId']){for(const _0x2c9ea1 of _0x3d17d7){!this['_revisionTracker']['repository']['getRevision'](_0x2c9ea1['id'])||this['_revisionTracker']['_bufferUpdate'](_0x2c9ea1['id'],_0x2c9ea1,!0x1);}if(P(_0x10717b))throw _0x10717b;return _0x3d17d7;}throw _0x10717b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x4b141d,{revisionsData:_0x5b80ac,requestId:_0x371560})=>{Math['max'](..._0x5b80ac['map'](_0x311daf=>_0x311daf['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5b80ac,_0x371560);}):this['_handleRevisionsUpdate'](_0x5b80ac,_0x371560);});const {revisions:_0x24c5c8,requestId:_0x4590aa}=await this['_revisionHistoryService']['connect'](_0x4ffba4['connection']);_0x4ffba4['addToReconnectionStack'](this),this['_lastRequestId']=_0x4590aa,await this['_fetchMissingUsers'](_0x24c5c8);for(const _0x3c3ed7 of _0x24c5c8)this['_revisionTracker']['addRevisionData'](_0x3c3ed7);this['listenTo'](_0x515389,'change:_isConnected',(_0x17255e,_0x351ae3,_0x19c0e2)=>{_0x19c0e2&&(this['_oldOffset']=_0x515389['_offset'],_0x17255e['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x4ffba4,'state',_0x4d81b5=>_0x4d81b5===_0x543ce6['CONNECTED']);}async['reconnect'](){const _0x57e019=this['editor']['plugins']['get'](n),_0x136372=this['editor']['plugins']['get'](l),_0x4406dc=async()=>{const _0x3334f4=this['_revisionTracker']['currentRevision'],_0x1f3615=_0x3334f4['id'],_0x57e8a0=_0x1f3615!==_0x136372['sessionId'];if(_0x57e8a0){const _0x5ca368=_0x136372['_offset']-this['_oldOffset'],_0x4240cb=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x3334f4['toVersion']+_0x5ca368!==_0x4240cb){const _0x18239d=_0x3334f4['fromVersion']+_0x5ca368,_0x14aa85=this['editor']['plugins']['get'](_0x47e255),_0x1fde94=this['_revisionTracker']['buildRevisionData']({'revision':_0x3334f4,'from':_0x18239d,'to':_0x4240cb});_0x1fde94['id']=_0x3334f4['id'];const _0x543366=_0x1fde94['authorsIds']['map'](_0x19ac59=>_0x14aa85['getUser'](_0x19ac59));_0x3334f4['_update']({..._0x1fde94,'authors':_0x543366},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3334f4['id'],_0x1fde94,!0x0);}this['_revisionTracker']['_startingVersion']=_0x4240cb,(_0x3334f4['toVersion']===_0x3334f4['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1f3615)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1f3615),this['_revisionTracker']['_createCurrentRevision'](_0x4240cb));}const {revisions:_0x483383,requestId:_0x28b95e}=await this['_revisionHistoryService']['reconnect'](_0x57e019['connection'],this['_lastRequestId']);_0x57e8a0&&_0x483383['length']>0x0?_0x136372['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x483383),this['_handleRevisionsUpdate'](_0x483383,_0x28b95e),this['_revisionTracker']['sendBufferedUpdates']());};return _0x136372['_isConnected']?_0x4406dc():new Promise((_0x134c70,_0x14351a)=>{_0x136372['once']('change:_isConnected',()=>{_0x4406dc()['then'](_0x134c70)['catch'](_0x14351a);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0xb063ca=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x48511d=>{_0x48511d['off'](),_0xb063ca();});});}['_getLatestVersionFromServerOperations'](){const _0x8fb72=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x3e9cd9 of _0x8fb72)if('marker'!==_0x3e9cd9['type']||_0x3e9cd9['affectsData'])return _0x3e9cd9['baseVersion']+0x1;}['_getLatestVersion'](){const _0x49ac26=this['editor']['plugins']['get'](l);return new Promise(_0x24e11f=>{_0x49ac26['_isPendingUpdate']?_0x49ac26['once']('change:_isPendingUpdate',()=>{_0x24e11f(this['_getLatestVersionFromServerOperations']());}):_0x24e11f(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3bc854,_0x1c1bb7){const _0xffa2f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x1c1bb7;for(const _0x182476 of _0x3bc854){const _0x5b9c7b=_0xffa2f['getRevision'](_0x182476['id']);if(_0x5b9c7b){if((_0x182476['fromVersion']||_0x182476['toVersion'])&&(_0x182476['diffData']=null),_0x5b9c7b===this['_revisionTracker']['currentRevision']){const _0x361163=Math['max'](_0x5b9c7b['toVersion'],_0x182476['toVersion']),_0x11f99a=Math['max'](_0x5b9c7b['fromVersion'],_0x182476['fromVersion']);let _0x145bc3;_0x5b9c7b['toVersion']===_0x182476['toVersion']&&_0x5b9c7b['fromVersion']===_0x182476['fromVersion']?(_0x145bc3=!0x0,this['_preventResendingRevisionData'](_0x182476)):_0x182476['toVersion']===_0x361163&&_0x182476['fromVersion']===_0x11f99a?_0x145bc3=!0x1:(_0x5b9c7b['toVersion']===_0x361163&&_0x5b9c7b['fromVersion']===_0x11f99a||this['_fixRevision']({'revision':_0x5b9c7b,'from':_0x11f99a,'to':_0x361163}),_0x145bc3=!0x0),_0x145bc3&&(delete _0x182476['fromVersion'],delete _0x182476['toVersion'],delete _0x182476['diffData'],delete _0x182476['createdAt'],delete _0x182476['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x182476),this['_preventResendingRevisionData'](_0x182476);}else this['_revisionTracker']['addRevisionData'](_0x182476);}const _0x7c74dd=_0xffa2f['getRevisions']();_0x7c74dd['reverse']();for(let _0xc8115c=0x0;_0xc8115c<_0x7c74dd['length']-0x1;_0xc8115c++){const _0x4435e1=_0x7c74dd[_0xc8115c],_0x345502=_0x7c74dd[_0xc8115c+0x1];if(_0x4435e1['fromVersion']<_0x345502['toVersion']){const _0x1679c3=_0x345502['toVersion'],_0x469856=Math['max'](_0x1679c3,_0x4435e1['toVersion']);this['_fixRevision']({'revision':_0x4435e1,'from':_0x1679c3,'to':_0x469856});}}}['_fixRevision']({revision:_0x422e6e,from:_0x4feac2,to:_0x3563e5}={}){const _0x54c778=this['editor']['plugins']['get'](_0x47e255),_0x517d60=this['_revisionTracker']['buildRevisionData']({'revision':_0x422e6e,'from':_0x4feac2,'to':_0x3563e5});_0x517d60['authors']=_0x517d60['authorsIds']['map'](_0x5f4ed7=>_0x54c778['getUser'](_0x5f4ed7)),_0x422e6e['_update'](_0x517d60);}['_preventResendingRevisionData'](_0x13ecac){const _0x209fbb={};_0x209fbb['id']=_0x13ecac['id'];for(const _0x15bf35 of Object['keys'](_0x13ecac))'id'!==_0x15bf35&&(_0x209fbb[_0x15bf35]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x209fbb['id'],_0x209fbb,!0x0);}async['_fetchMissingUsers'](_0x328b45){const _0x4fb74e=this['editor']['plugins']['get'](_0x47e255),{connection:_0x1efec0}=this['editor']['plugins']['get'](n),_0x54e756=new Set();for(const _0x5d3432 of _0x328b45){for(const _0x455930 of _0x5d3432['authorsIds'])_0x3885eb(_0x455930);_0x5d3432['creatorId']&&_0x3885eb(_0x5d3432['creatorId']);}if(0x0===_0x54e756['size'])return;const _0x3e2b77=await ct['getMany'](_0x1efec0,Array['from'](_0x54e756));for(const _0x5440bb of _0x3e2b77)_0x4fb74e['getUser'](_0x5440bb['id'])||_0x4fb74e['addUser'](_0x5440bb);function _0x3885eb(_0x614572){_0x4fb74e['getUser'](_0x614572)||_0x54e756['add'](_0x614572);}}}function P(_0xa2937a){return _0xa2937a['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa2937a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa2937a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class dt extends _0x23684a{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 _0x321d26{['_collapseAt'];constructor(_0x3d67eb,_0x3de3b4=0x6){super(_0x3d67eb);const _0x5b47d8=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x3de3b4,this['bind']('isHidden')['to'](this,'usersCount',_0x5cd5bc=>_0x5cd5bc<_0x3de3b4),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5b47d8['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':_0x5b47d8['to']('usersCount',_0x1e0486=>'+'+(_0x1e0486-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class is extends _0x321d26{['items'];['keystrokes'];constructor(_0x43e489){super(_0x43e489);const _0x52f1cb=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x19832b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x52f1cb['if']('hasPopup'),'aria-expanded':_0x52f1cb['to']('isExpanded',_0x483e0f=>this['hasPopup']&&String(_0x483e0f)),'aria-label':_0x52f1cb['to']('hasPopup',_0x4c6c47=>K(_0x43e489,_0x4c6c47?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x52f1cb['to']('hasPopup',_0x23b818=>!!_0x23b818&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x52f1cb['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x52f1cb['to'](_0x24ee0c=>{const _0x21b61f=_0x24ee0c,_0x36e48a=document['querySelector']('.ck-presence-list__dropdown-list'),_0x362c66=document['querySelector']('.ck-balloon-panel_with-arrow');_0x36e48a?.['contains'](_0x21b61f['relatedTarget'])||_0x362c66?.['contains'](_0x21b61f['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x223944,_0x2ee1eb,_0x582c50)=>{this['element']&&(_0x582c50?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 _0x321d26{['counterView'];['inlineListView'];constructor(_0x12daef,_0x55e575=0x6){super(_0x12daef);const _0x3ab149=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new b(this['locale'],_0x55e575),this['inlineListView']=new is(_0x12daef),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5c08ac of this['inlineListView']['items'])_0x5c08ac['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',_0x3ab149['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class L extends _0x321d26{['listWrapperView'];constructor(_0x241939,_0x127075){super(_0x241939);const _0x266483=this['bindTemplate'];this['listWrapperView']=new ut(_0x241939,_0x127075),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':K(_0x241939,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x266483['to'](_0x5ccc0d=>{const _0x513760=_0x5ccc0d,_0x47d61d=document['querySelector']('.ck-presence-list__list'),_0x4460ff=document['querySelector']('.ck-balloon-panel_with-arrow');_0x47d61d?.['contains'](_0x513760['relatedTarget'])||_0x4460ff?.['contains'](_0x513760['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class ut extends _0x14cb7d{constructor(_0x3d4905,_0x34464b){super(_0x3d4905);const _0x2c152f=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x34464b?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2c152f['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2c152f['to']('role'),'aria-label':_0x2c152f['to']('ariaLabel'),'aria-labelledby':_0x2c152f['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x2ed649['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x1eb9a0=this['element'];_0x1eb9a0&&(this['_isScrollable']=Math['max'](_0x1eb9a0['scrollHeight'],_0x1eb9a0['clientHeight'])>0.8*window['innerHeight']);}}class j extends et{['userView'];constructor(_0x40bdbb,_0x5e89e6,_0x516dac){super(_0x40bdbb);const _0xd2ae95=this['bindTemplate'];this['userView']=new st(_0x40bdbb,_0x5e89e6);const _0xdc78e0={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5e89e6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5e89e6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5e89e6['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x516dac&&(_0xdc78e0['tag']='button',_0xdc78e0['on']={'click':_0xd2ae95['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xdc78e0);}['focus'](){this['element']['focus']();}}class A extends _0x321d26{['userView'];['markerView'];constructor(_0x285932,_0x243349,_0x4509db){super(_0x285932);const _0x5cf3c4=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new st(_0x285932,_0x243349),this['markerView']=new ot(_0x285932,_0x243349);const _0x4122fe=new it(_0x285932);_0x4122fe['template']['tag']='span',_0x4122fe['text']=_0x243349['name'];const _0x74f7={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5cf3c4['to']('isFocusable',_0x657ee1=>!!_0x657ee1&&0x0),'aria-labelledby':_0x4122fe['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5cf3c4['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5cf3c4['to']('hasTooltip',_0xae4d92=>!_0xae4d92),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x4122fe]};_0x4509db&&(_0x74f7['tag']='button',_0x74f7['on']={'click':_0x5cf3c4['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x74f7);}}class ot extends _0x321d26{constructor(_0x22f50a,_0x33e910){super(_0x22f50a),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x33e910['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const x={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x24e504{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5498a4){super(_0x5498a4),this['context']['config']['define']('presenceList',x);const _0x1ab596=_0x5498a4['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1ab596)throw new _0x189f6f('presencelist-collapseat-invalid-format',this);if(_0x1ab596<0x1)throw new _0x189f6f('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x26414e(),this['balloonPanelView']=new _0x52cb12(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0xe2ec7 of this['_allConnectedUsers'])this['_handleUserAdd'](_0xe2ec7);this['listenTo'](this['_allConnectedUsers'],'add',(_0x385e4f,_0x17cb41)=>{this['_handleUserAdd'](_0x17cb41);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x58d8a6,_0x237e89)=>{this['_handleUserRemove'](_0x237e89);});}['_createView'](){const _0x187462=this['context'],_0x5e4f56=new v(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0xa29933=this['balloonPanelView'];if(!_0x1678f1(_0x187462['config']['get']('presenceList.container')))throw new _0x189f6f('presencelist-missing-container',this);return _0x5e4f56['counterView']['bind']('usersCount')['to'](this),_0x5e4f56['bind']('isCollapsed')['to'](this,'usersCount',_0x2c1596=>{const {collapseAt:_0x441d91}=_0x187462['config']['get']('presenceList'),_0x5dad34=_0x2c1596>=_0x441d91;if(_0x5dad34&&!_0x5e4f56['inlineListView']['items']['find'](_0x398d0f=>_0x398d0f instanceof b)){const _0x29c78e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x29c78e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x5e4f56['inlineListView']['items']['add'](_0x5e4f56['counterView']);}return _0x5dad34||this['hideDropdown'](),_0x5dad34;}),_0x5e4f56['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x1e37a3=>{const _0x11c0c4=_0x187462['config']['get']('presenceList'),_0x6bb27b=new A(_0x187462['locale'],_0x1e37a3,!!_0x11c0c4['onClick']);return _0x6bb27b['bind']('hasTooltip')['to'](_0x5e4f56,'isCollapsed',_0x15dbca=>!_0x15dbca),_0x6bb27b['bind']('isFocusable')['to'](_0x5e4f56,'isCollapsed',_0x581a31=>!_0x581a31),_0x11c0c4['onClick']&&this['listenTo'](_0x6bb27b,'execute',()=>{this['view']['isCollapsed']||_0x11c0c4['onClick'](_0x1e37a3,_0x6bb27b['element']);}),_0x6bb27b;}),this['listenTo'](_0x5e4f56['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x5e4f56['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x5e4f56['inlineListView']['keystrokes']['set']('Enter',(_0x1b756c,_0x9ce4aa)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x9ce4aa());}),_0x5e4f56['render'](),_0xa29933['render'](),_0x81fb12({'emitter':_0x5e4f56,'activator':()=>_0xa29933['isVisible'],'contextElements':[_0xa29933['element'],_0x5e4f56['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x187462['config']['get']('presenceList.container')['appendChild'](_0x5e4f56['element']),this['_bodyCollection']=new _0x26bdd9(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x5e4f56;}['_handleUserAdd'](_0x3996c6){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x3996c6['isMe'])return;const _0x2358fa=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x2358fa-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x1359fa=_0x3996c6['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x3996c6,_0x1359fa);}['_handleUserRemove'](_0x4e6acd){this['usersCount']--;const {collapseAt:_0x5c0b6d}=this['context']['config']['get']('presenceList'),_0x22f4ef=this['usersCount']>=_0x5c0b6d;if(this['currentDisplayedUsers']['get'](_0x4e6acd['id']))this['currentDisplayedUsers']['remove'](_0x4e6acd['id']);else{if(_0x22f4ef&&this['currentDisplayedUsers']['length']+0x1===_0x5c0b6d-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x22f4ef?0x1:0x0)<this['usersCount']){for(const _0x569413 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x569413['id'])&&(this['currentDisplayedUsers']['add'](_0x569413,Math['min'](this['currentDisplayedUsers']['length']-(_0x22f4ef?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x22f4ef?0x1:0x0)===_0x5c0b6d-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x1b4e7e=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new L(this['context']['locale'],!!_0x1b4e7e['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x12d92a}=this['presenceDropdownView'];_0x12d92a['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x567c7a=>{if(!_0x1b4e7e['displayMe']&&_0x567c7a['isMe'])return null;const _0x1d0e32=new j(this['context']['locale'],_0x567c7a,!!_0x1b4e7e['onClick']);return _0x1b4e7e['onClick']&&this['listenTo'](_0x1d0e32,'execute',()=>{_0x1b4e7e['onClick'](_0x567c7a,_0x1d0e32['element']);}),_0x1d0e32;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x12d92a['focus'](),_0x12d92a['checkIfScrollable']();const _0x492904=(_0x5628b8,_0x55da87)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x55da87();};_0x12d92a['keystrokes']['set']('Esc',_0x492904),_0x12d92a['keystrokes']['set']('Shift+Tab',_0x492904),_0x12d92a['keystrokes']['set']('Tab',(_0x204dc8,_0x477cd1)=>{!function(_0x5797c6){const _0x2608c1=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3f2bec=>_0x3f2bec+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2ff70c=[...document['body']['querySelectorAll'](_0x2608c1)]['filter'](_0x328741=>_0x328741===document['activeElement']||_0x328741['offsetWidth']+_0x328741['offsetHeight']>0x0)['sort']((_0x44d561,_0xf92740)=>(_0x44d561['tabIndex']||0x0)-(_0xf92740['tabIndex']||0x0)),_0x18d60b=_0x2ff70c['indexOf'](_0x5797c6),_0x4ba430=_0x2ff70c[(_0x18d60b+0x1)%_0x2ff70c['length']];_0x4ba430&&_0x4ba430['focus']();}(this['view']['element']),this['hideDropdown'](),_0x477cd1();}),_0x12d92a['focusTracker']['add'](this['view']['element']),_0x12d92a['focusTracker']['on']('change:isFocused',(_0x22aa58,_0x4c0529,_0x4cb81d)=>{_0x4cb81d||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class ft extends _0x24e504{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{s as CloudServicesCommentsAdapter,c as CloudServicesRevisionHistoryAdapter,m as CloudServicesTrackChangesAdapter,ft as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,g as RealTimeCollaborativeComments,a as RealTimeCollaborativeEditing,dt as RealTimeCollaborativeRevisionHistory,lt as RealTimeCollaborativeTrackChanges,i as Sessions,n as WebSocketGateway};