@ckeditor/ckeditor5-real-time-collaboration 45.0.0-alpha.4 → 45.0.0-alpha.5

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 _0x92af73,Plugin as _0x209efd,PendingActions as _0x4440f0,Context as _0x8f62a}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x18b481,CKEditorError as _0x5bf925,Collection as _0xce3908,global as _0x3ae409,version as nt,uid as _0x2891ce,KeystrokeHandler as _0x4fbca3}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x6535bd,View as _0x407c4a,ListView as _0x15aced,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x196f93,clickOutsideHandler as _0x1f3952,BodyCollection as _0x4b9063}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x34ed6b,NoOperation as _0x4283a4,InsertOperation as _0x4719f1,MarkerOperation as _0x1a9f01,RootAttributeOperation as _0x57948c,transformSets as _0x4f6485,OperationFactory as _0x1bf20f}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x462527,CollaborativeEditingService as _0x3f11bb,User as dt,CommentsService as _0x35384d,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x302dba,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x182859}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x3975ce}from'es-toolkit/compat';class c extends _0x92af73{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0x6535bd];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x74b75c){super(_0x74b75c),this['set']('state',_0x462527['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x18b481);}['init'](){const _0x3803fc=this['context'],_0x2ba424=_0x3803fc['plugins']['get']('CloudServices'),_0x21aa76=_0x3803fc['plugins']['get'](_0x6535bd);if(!_0x2ba424['token'])throw new _0x5bf925('websocketgateway-missing-token',this);if(!_0x2ba424['webSocketUrl'])throw new _0x5bf925('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),c['WebSocketGateway']['connect'](_0x2ba424['token'],_0x2ba424['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x4abe5=>{if(this['connection']=_0x4abe5,this['bind']('state')['to'](_0x4abe5,'state',this,'_isBrowserOffline',(_0x318a3c,_0x10314e)=>('connected'!==_0x318a3c&&(this['_shouldPluginsReconnect']=!0x0),_0x10314e||_0x318a3c!==_0x462527['CONNECTED']?_0x462527['DISCONNECTED']:this['state']==_0x462527['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x462527['CONNECTING']):_0x462527['CONNECTED'])),this['connection']['on']('error',(_0x457657,_0x2bc977)=>{if('limitExceeded'!==_0x2bc977['code'])throw console['error'](_0x2bc977),new _0x5bf925('cloudservices-init',null,{'originalError':_0x2bc977});_0x21aa76['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'});}),!_0x4abe5['me'])return new Promise(_0x230ea6=>_0x4abe5['on']('change:me',_0x230ea6));})['catch'](_0x50e2b1=>{throw console['error'](_0x50e2b1),new _0x5bf925('cloudservices-init',null,{'originalError':_0x50e2b1});});}['addToReconnectionStack'](_0x58d6b5){if('function'!=typeof _0x58d6b5['reconnect'])throw new _0x5bf925('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x58d6b5))throw new _0x5bf925('websocketgateway-plugin-already-registered',this,{'name':_0x58d6b5['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x58d6b5);}['removeFromReconnectionStack'](_0x3abb2c){this['_reconnectionStack']['delete'](_0x3abb2c);}['isInReconnectionStack'](_0x26f670){return this['_reconnectionStack']['has'](_0x26f670);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x5d5799=>_0x5d5799['reconnect']())))['then'](()=>this['state']=_0x462527['CONNECTED'])['catch'](_0x38070e=>{throw console['error'](_0x38070e),new _0x5bf925('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x462527['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x92af73{['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[c,_0x302dba];}constructor(_0x411090){super(_0x411090),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0xce3908(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x302dba);}['init'](){const _0x139037=this['context']['plugins']['get'](c);this['listenTo'](_0x139037,'change:state',(_0x132d52,_0x5bff4d,_0x1045e7)=>{if('connected'!==_0x1045e7)this['channelSessions']['forEach'](_0x492762=>_0x492762['clear']()),this['channelConnectedUsers']['forEach'](_0x26a057=>_0x26a057['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x2654c8,_0x4be2a5]of this['_registeredSessions'])for(const _0xd54a05 of _0x4be2a5)this['_handleSessionAdd'](_0x2654c8,_0xd54a05);}}),this['_createUser'](_0x139037['connection']['me'],!0x0);}['register'](_0x29548e,_0x136cb9){if(this['_registeredSessions']['has'](_0x29548e))throw new _0x5bf925('sessions-register-already-registered',null,{'channelId':_0x29548e});this['_registeredSessions']['set'](_0x29548e,_0x136cb9),this['channelSessions']['set'](_0x29548e,new _0xce3908()),this['channelConnectedUsers']['set'](_0x29548e,new _0xce3908()),this['listenTo'](_0x136cb9,'add',(_0x5f045d,_0x2f8414)=>this['_handleSessionAdd'](_0x29548e,_0x2f8414)),this['listenTo'](_0x136cb9,'remove',(_0x1bedef,_0x22ab46)=>this['_handleSessionRemove'](_0x29548e,_0x22ab46));for(const _0x4e3637 of _0x136cb9)this['_handleSessionAdd'](_0x29548e,_0x4e3637);}['unregister'](_0x3225fe){if(!this['_registeredSessions']['has'](_0x3225fe))throw new _0x5bf925('sessions-unregister-not-exist',null,{'channelId':_0x3225fe});const _0x2366e0=this['_registeredSessions']['get'](_0x3225fe);this['stopListening'](_0x2366e0);for(const _0x538a4e of _0x2366e0)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x3225fe,_0x538a4e);this['_registeredSessions']['delete'](_0x3225fe),this['channelSessions']['delete'](_0x3225fe),this['channelConnectedUsers']['delete'](_0x3225fe);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x51ad59){for(const _0x5766ac of this['channelSessions']['values']())for(const _0x4339a8 of _0x5766ac)if(_0x4339a8['id']===_0x51ad59)return _0x4339a8['user'];}['getUserSessions'](_0x237abe,_0xffe443){const _0x3f62b6=_0xffe443?[this['channelSessions']['get'](_0xffe443)]:this['channelSessions']['values'](),_0x5dc416=new Set();for(const _0x1c2f46 of _0x3f62b6)for(const _0x574ac4 of _0x1c2f46)_0x574ac4['user']['id']===_0x237abe['id']&&_0x5dc416['add'](_0x574ac4['id']);return _0x5dc416;}['getUserRole'](_0xaeb67a){for(const _0x1cb89a of this['channelSessions']['values']())for(const _0x5d1770 of _0x1cb89a)if(_0x5d1770['user']===_0xaeb67a)return _0x5d1770['role'];}['_handleSessionAdd'](_0x572591,_0x2f9160){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x61c8d0=_0x2f9160['user'],_0x4774fd=this['_users']['getUser'](_0x61c8d0['id'])||this['_createUser'](_0x61c8d0),_0x254212=Object['assign']({},_0x2f9160,{'user':_0x4774fd});this['channelSessions']['get'](_0x572591)['add'](_0x254212);const _0x50125d=this['channelConnectedUsers']['get'](_0x572591);_0x50125d['has'](_0x4774fd['id'])||_0x50125d['add'](_0x4774fd),this['allConnectedUsers']['has'](_0x4774fd['id'])||this['allConnectedUsers']['add'](_0x4774fd,_0x4774fd['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x572591,{'channelId':_0x572591,'session':_0x254212});}['_handleSessionRemove'](_0x8492aa,_0x29cb1a){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x4a968f=this['channelConnectedUsers']['get'](_0x8492aa),_0x2a7f16=_0x29cb1a['user'];_0x2a7f16['id']&&(this['channelSessions']['get'](_0x8492aa)['remove'](_0x29cb1a['id']),_0x4a968f['has'](_0x2a7f16['id'])&&!this['getUserSessions'](_0x2a7f16,_0x8492aa)['size']&&_0x4a968f['remove'](_0x2a7f16['id']),this['allConnectedUsers']['get'](_0x2a7f16['id'])&&!this['getUserSessions'](_0x2a7f16)['size']&&this['allConnectedUsers']['remove'](_0x2a7f16['id']));}['_createUser'](_0xa1562a,_0x3d6b41){const _0x5665c5=this['_users']['addUser'](_0xa1562a);return _0x3d6b41&&this['_users']['defineMe'](_0xa1562a['id']),_0x5665c5['orderNumber']=this['_uniqueUsersCount']++,_0x5665c5;}}class q extends _0x209efd{['_domEmitter']=new(_0x18b481())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x17005a=this['editor'],_0x22c128=_0x17005a['plugins']['get'](i);_0x17005a['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x11ef81,{writer:_0x527e97})=>function(_0x375f86,_0x3e16e0,_0x25a8e7,_0x5d70b6){const _0x64962a=_0x375f86['markerName']['split'](':')[0x2],_0x1c757c=_0x25a8e7['getUserBySessionId'](_0x64962a);if(!_0x1c757c||_0x64962a===_0x25a8e7['mySessionId'])return;if(!_0x5d70b6['model']['schema']['checkChild'](_0x375f86['markerRange']['start'],'$text'))return;const _0x1afef0={'class':'ck-user__marker\x20'+_0x1c757c['color']['getMarkerClass'](),'data-name':_0x1c757c['name'],'data-session-id':_0x64962a},_0x2ed422=_0x5d70b6['model']['markers']['get'](_0x375f86['markerName']),_0x2a3494=_0x2ed422['getStart'](),_0x1cdd4a=_0x2a3494['nodeAfter'],_0x5c385d=_0x5d70b6['model']['schema'];if(_0x1cdd4a&&_0x5c385d['isObject'](_0x1cdd4a)&&_0x5c385d['isInline'](_0x1cdd4a)&&!_0x5d70b6['model']['markers']['get']('user:range:'+_0x64962a)['getRange']()['isCollapsed'])return;const _0x2ece7e=_0x2a3494['parent'];return _0x5d70b6['model']['schema']['isLimit'](_0x2ece7e)&&!_0x5d70b6['model']['hasContent'](_0x2ece7e)&&(_0x1afef0['contenteditable']=!0x1),function(_0x3ce81d,_0x5c6c83,_0x428a59){const _0xa07c59=_0x3ce81d['createUIElement']('span',_0x5c6c83);return _0x3ce81d['setCustomProperty']('userPositionMarker',!0x0,_0xa07c59),_0xa07c59['render']=function(_0x5ca0e3){const _0x514715=this['toDomElement'](_0x5ca0e3),_0x56b235=document['createElement']('span');return _0x56b235['classList']['add']('ck-user__marker-tooltip'),_0x56b235['setAttribute']('contenteditable','false'),_0x56b235['setAttribute']('spellcheck','false'),_0x56b235['textContent']=_0x428a59['name'],_0x514715['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x56b235['outerHTML']+'⁠',_0x514715['addEventListener']('mouseenter',()=>{_0x514715['classList']['add']('ck-user__marker_hovered');}),_0x514715['addEventListener']('mouseleave',()=>{_0x514715['classList']['remove']('ck-user__marker_hovered');}),_0x514715;},_0xa07c59['isSimilar']=function(_0x2ef8ad){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2ef8ad['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2ef8ad['getAttribute']('data-session-id'));},_0xa07c59;}(_0x3e16e0,_0x1afef0,_0x1c757c);}(_0x11ef81,_0x527e97,_0x22c128,_0x17005a)}),_0x17005a['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x200a4c=>function(_0x45ec74,_0x3e5af6){const _0x386e14=_0x45ec74['markerName']['split'](':')[0x2];if(_0x386e14===_0x3e5af6['mySessionId'])return null;const _0x4981c1=_0x3e5af6['getUserBySessionId'](_0x386e14);if(!_0x4981c1)return{'id':_0x386e14,'classes':[]};return{'id':_0x386e14,'classes':['ck-user__selection',_0x4981c1['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x386e14},'priority':0x7d0+_0x4981c1['orderNumber']};}(_0x200a4c,_0x22c128)}),function(_0x50ff90){const _0x167099=_0x50ff90['model'],_0xa1cbd2=new Map(),_0x8d2d36=_0x50ff90['plugins']['get'](i);_0x167099['markers']['on']('update:user:range',(_0x347710,_0x4162fc,_0x2b5e2f,_0x4d9393)=>{if(!_0x4d9393&&_0xa1cbd2['get'](_0x4162fc['name']))return _0xa1cbd2['get'](_0x4162fc['name'])['detach'](),void _0xa1cbd2['delete'](_0x4162fc['name']);const _0x26b474=_0x4162fc['name']['split'](':')[0x2];if(_0x26b474===_0x8d2d36['mySessionId'])return;const _0x2fd281='user:position:'+_0x26b474;_0x167099['markers']['has'](_0x2fd281)&&_0x50ff90['editing']['reconvertMarker'](_0x2fd281),_0x4162fc['on']('change:range',(_0x4d40fb,_0x3e3854,_0x468481)=>{if('$graveyard'!=_0x3e3854['root']['rootName']&&'$graveyard'==_0x4162fc['getRange']()['root']['rootName']&&!_0xa1cbd2['has'](_0x4162fc['name'])){const _0x389bab=_0x167099['schema']['getNearestSelectionRange'](_0x468481['deletionPosition']);if(_0x389bab){const _0x3ac40a=ht['fromRange'](_0x389bab);_0xa1cbd2['set'](_0x4162fc['name'],_0x3ac40a),_0x3ac40a['on']('change:range',(_0x4d729e,_0x2ab349,_0x40e63f)=>{if('$graveyard'==_0x3ac40a['root']['rootName']){const _0x9fb0e7=_0x167099['schema']['getNearestSelectionRange'](_0x40e63f['deletionPosition']);_0x9fb0e7?(_0x3ac40a['start']=_0x9fb0e7['start'],_0x3ac40a['end']=_0x9fb0e7['end']):(_0xa1cbd2['delete'](_0x4162fc['name']),_0x3ac40a['detach']());}});}}});}),_0x167099['document']['on']('change',()=>{_0xa1cbd2['size']>0x0&&_0x167099['enqueueChange']({'isUndoable':!0x1},_0x4f1c29=>{for(const [_0x4e5e70,_0x5f37b0]of _0xa1cbd2)'$graveyard'==_0x167099['markers']['get'](_0x4e5e70)['getRange']()['root']['rootName']&&(te(_0x4e5e70['split'](':')[0x2],_0x5f37b0['toRange'](),_0x167099,_0x4f1c29),_0x5f37b0['detach']());_0xa1cbd2['clear']();});});}(_0x17005a),this['_domEmitter']['listenTo'](_0x3ae409['document'],'keydown',(_0x1660d9,{key:_0xe5f14d})=>{'Escape'===_0xe5f14d&&function(_0x3f6d6d){_0x3f6d6d['editing']['view']['change'](_0x11f129=>{for(const _0x40e7e8 of _0x3f6d6d['model']['markers']){if(!_0x40e7e8['name']['startsWith']('user:position'))continue;const _0x43da3e=_0x3f6d6d['editing']['mapper']['markerNameToElements'](_0x40e7e8['name']);if(_0x43da3e){for(const _0x1dabc1 of _0x43da3e)_0x11f129['removeClass']('ck-user__marker_hovered',_0x1dabc1);}}});}(_0x17005a);},{'useCapture':!0x0});}['afterInit'](){const _0x2fa4e1=this['editor'],_0x4d6416=_0x2fa4e1['commands']['get']('undo');_0x4d6416&&_0x2fa4e1['model']['on']('applyOperation',(_0x17539f,_0x1db76d)=>{const _0x3497f0=_0x1db76d[0x0];if(!_0x3497f0['isDocumentOperation'])return;if('marker'!=_0x3497f0['type']||!_0x3497f0['name']['startsWith']('user:'))return;const _0x4fe24b=_0x3497f0['batch'];_0x4d6416['_createdBatches']['has'](_0x4fe24b)&&(_0x3497f0['newRange']=_0x3497f0['oldRange']?_0x2fa4e1['model']['createRange'](_0x3497f0['oldRange']['start'],_0x3497f0['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x38ebca=this['editor'],_0x372dde=_0x38ebca['model']['document'],_0x2827ae=_0x38ebca['plugins']['get'](i);_0x38ebca['model']['enqueueChange']({'isUndoable':!0x1},_0x5c03c4=>{const _0x53915f='user:range:'+_0x2827ae['mySessionId'],_0x333e8c='user:position:'+_0x2827ae['mySessionId'],_0x2c5272=_0x38ebca['model']['markers']['has'](_0x53915f);_0x38ebca['editing']['view']['hasDomSelection']?te(_0x2827ae['mySessionId'],_0x372dde['selection']['getFirstRange'](),_0x38ebca['model'],_0x5c03c4):_0x2c5272&&(_0x5c03c4['removeMarker'](_0x53915f),_0x5c03c4['removeMarker'](_0x333e8c));});}}function te(_0x1036a7,_0x9346b7,_0x21fa96,_0x1483d0){const _0x28a0dd='user:range:'+_0x1036a7,_0xbe6db9='user:position:'+_0x1036a7,_0x114029=_0x9346b7['getContainedElement']();let _0x1a9d7f=_0x9346b7['start'];_0x114029&&_0x114029['is']('element','tableCell')&&(_0x1a9d7f=function(_0x4eb18a,_0x5d8565){for(const _0x4b1251 of _0x4eb18a['getPositions']())if(_0x5d8565['schema']['checkChild'](_0x4b1251,'$text'))return _0x4b1251;}(_0x9346b7,_0x21fa96),_0x9346b7=_0x1483d0['createRange'](_0x1a9d7f));const _0x593f5d=_0x1483d0['createRange'](_0x1a9d7f);_0x21fa96['markers']['has'](_0x28a0dd)?(_0x1483d0['updateMarker'](_0x28a0dd,{'range':_0x9346b7}),_0x1483d0['updateMarker'](_0xbe6db9,{'range':_0x593f5d})):(_0x1483d0['addMarker'](_0x28a0dd,{'range':_0x9346b7,'usingOperation':!0x0}),_0x1483d0['addMarker'](_0xbe6db9,{'range':_0x593f5d,'usingOperation':!0x0}));}function G(_0x1cb9f6,_0x28b3c4,_0x312171){const _0x377a49=_0x1cb9f6['t'],t=_0x1cb9f6['t'];switch(_0x28b3c4){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 _0x377a49({'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'},_0x312171);default:return'';}}let J=0x1;class l extends _0x209efd{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x3f11bb)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x4440f0,_0x302dba,_0x6535bd];}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 _0x59eed6=this['serverHistory']['getOperations']();for(let _0x5de3b2=_0x59eed6['length']-0x1;_0x5de3b2>=0x0;_0x5de3b2--){const _0x1c88e3=_0x59eed6[_0x5de3b2];if(!this['_disconnectionOperations']['has'](_0x1c88e3))return _0x1c88e3['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x543f77){if(super(_0x543f77),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x34ed6b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x5bf925('collaboration-missing-channelid',this);const _0x13feb0=_0x543f77['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x13feb0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x182859(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x514b09=this['editor'],_0x4fb62e=_0x514b09['plugins']['get'](_0x302dba),_0x2eb881=_0x514b09['plugins']['get'](c);this['listenTo'](_0x4fb62e,'getOperationAuthor',(_0x295625,_0x3100e0)=>{const _0x35ac60=_0x3100e0[0x0];_0x35ac60['_authorId']&&(_0x295625['return']=_0x4fb62e['getUser'](_0x35ac60['_authorId']),_0x295625['stop']()),null===_0x35ac60['_authorId']&&(_0x295625['return']=null,_0x295625['stop']());},{'priority':'high'}),this['listenTo'](_0x514b09['model']['document']['selection'],'change:range',(_0x52f480,_0xd3e830)=>{_0xd3e830['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x514b09['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x514b09['model']['on']('applyOperation',(_0x3dfd77,_0x47e36a)=>{const _0x411c56=_0x47e36a[0x0];_0x411c56['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x411c56),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2eb881,'state',this,'_hasSynchronizationProblem',(_0x39ede4,_0x215262)=>'connected'===_0x39ede4&&!_0x215262),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x514b09['disableReadOnlyMode']('rtc-offline'):_0x514b09['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x514b09['disableReadOnlyMode']('rtc-offline'):_0x514b09['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x37e955=this['editor']['plugins']['get'](i),_0x3cbf24=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x37e955['unregister'](this['_channelId']);const _0x390161=await this['_service']['reconnect'](_0x3cbf24['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x390161)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x2bc69b=await this['_service']['getConnectedSessions']();_0x37e955['register'](this['_channelId'],_0x2bc69b),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x3aac0e){if(function(_0x16e1da){return'404'===_0x16e1da['code'];}(_0x3aac0e)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x51e1a2){return'409'===_0x51e1a2['code'];}(_0x3aac0e)){const _0x297b72=G(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'](_0x297b72);}else{if(!(_0x3aac0e instanceof Q))throw _0x3aac0e;this['_handleReconnectionError']();}}}}['destroy'](){const _0x3c4e73=this['editor']['plugins']['get'](c),_0x11b374=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x11b374['channelSessions']['has'](this['_channelId'])&&_0x11b374['unregister'](this['_channelId']),_0x3c4e73['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x5ee94a){if(this['sessionId']!==_0x5ee94a['sessionId']&&this['_lastSyncedOperationId']!==_0x5ee94a['lastOperationId'])throw new Q();return this['sessionId']=_0x5ee94a['sessionId'],this['_handleServerResponse']([],{..._0x5ee94a,'wereChangesApplied':!0x1,'data':_0x5ee94a['data']},'reconnect');}async['_connectService'](_0x47f0e2,_0xdc2abe=!0x1){const {connection:_0x4fdfb2}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x4fdfb2,this['_channelId'])['then'](_0x4010ed=>this['_initSessionsHandling'](_0x4010ed))['catch'](_0x486dc3=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x486dc3);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x3a26cc,_0x33c3fa)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x33c3fa);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x3fce54=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x47f0e2);this['_isPendingUpdate']=!0x0;const _0x28723f=await this['_service']['connect'](_0x4fdfb2,this['_compressOperations'](_0x47f0e2),_0x3fce54);if(this['sessionId']=_0x28723f['sessionId'],_0xdc2abe){if(!_0x28723f['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x28723f['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x47f0e2,_0x28723f,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x28723f,_0x47f0e2);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x3bae7b=this['editor']['plugins']['get'](i),_0x4bc89d=this['editor']['plugins']['get'](q),_0x5a84d7=_0x3bae7b['channelSessions']['get'](this['_channelId']);_0x5a84d7&&_0x5a84d7['length']>0x1?_0x4bc89d['createUserMarkerOperations']():this['listenTo'](_0x3bae7b,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x3bae7b['channelSessions']['get'](this['_channelId'])['length']&&_0x4bc89d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0xf5a8cc,_0x5c8c2e,_0x5b3009,_0x21f155){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5c8c2e){const _0x27d234=this['_decompressOperations'](_0x5b3009,_0x21f155);await this['_fetchMissingUsers'](_0x27d234),this['_handleExternalOperations'](_0x27d234,_0x5c8c2e,_0x5b3009['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x200533}=this['editor'];let _0x2c3425;try{_0x2c3425=await this['_service']['getDocumentDetails']();}catch(_0x3c6f49){const _0x3c059b=G(_0x200533,'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'](_0x3c059b);}const _0xa119f7=_0x2c3425['currentDocumentSession']||_0x2c3425['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0xa119f7['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x2d4095=G(_0x200533,'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.');this['_handleReconnectionError'](_0x2d4095);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x556d1f){const _0x337124=this['editor']['plugins']['get'](i);this['listenTo'](_0x337124,'sessionAdd:'+this['_channelId'],(_0x3e424a,{session:_0x5cc424})=>{if(_0x5cc424['id']===_0x337124['mySessionId']){_0x3e424a['off']();const _0x43c67f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x49e3de=_0x5cc424['permissions'];_0x43c67f&&_0x43c67f['isEnabled']&&(_0x49e3de=_0x49e3de['filter'](_0xa47bb9=>'document:write'!==_0xa47bb9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x49e3de,this['_channelId']);}}),_0x337124['register'](this['_channelId'],_0x556d1f);}['_initThrowingOnDataSet'](){const _0x18cd80=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x587943)=>{if(!_0x587943[_0x587943['length']-0x1]['suppressErrorInCollaboration'])throw new _0x5bf925('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x18cd80['apply'](this['editor']['data'],_0x587943);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x487d03,[_0x4f1aa8])=>{if(this['_document']['version'])throw new _0x5bf925('realtimecollaborationclient-init-document-already-initialized',this);_0x487d03['stop'](),this['_setPendingAction']();const _0x3190dc=this['editor']['config']['get']('rootsAttributes'),_0x11a833=this['_getOperationsFromInitData'](_0x4f1aa8,_0x3190dc);0x0==_0x11a833['length']&&_0x11a833['push'](new _0x4283a4(0x0)),_0x487d03['return']=this['_connectService'](_0x11a833)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5067a1=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5067a1))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x269556,[_0x2e60b0,_0x3127c2])=>{_0x269556['stop']();const _0x32b72a=this['editor']['model']['document']['getRoot'](_0x2e60b0);if(!this['_knownRootNames']['has'](_0x2e60b0)){const _0x317069=_0x3127c2&&_0x3127c2['data']?_0x3127c2['data']:'',_0x3290fa=_0x3127c2&&_0x3127c2['attributes']?_0x3127c2['attributes']:{};await this['_loadRoot'](_0x2e60b0,_0x317069,_0x3290fa);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x32b72a['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x32b72a);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x591251){const _0x355125=this['editor']['plugins']['get'](_0x302dba),{connection:_0x38c409}=this['editor']['plugins']['get'](c),_0x578f4d=new Set();for(const _0x1cfaa1 of _0x591251){const _0x59aeb6=_0x1cfaa1['_authorId'];_0x59aeb6&&!_0x355125['getUser'](_0x59aeb6)&&_0x578f4d['add'](_0x59aeb6);}if(0x0===_0x578f4d['size'])return;const _0x335e03=await dt['getMany'](_0x38c409,Array['from'](_0x578f4d));for(const _0x13641c of _0x335e03)_0x355125['getUser'](_0x13641c['id'])||_0x355125['addUser'](_0x13641c);}['_getOperationsFromInitData'](_0x82a153,_0xda4ec8={}){const _0xc88233=this['editor']['model'],_0x13a268=[];let _0x3524f9=0x0;const _0x4d68f5='string'==typeof _0x82a153?{'main':_0x82a153}:_0x82a153;for(const _0x156484 of Object['keys'](_0x4d68f5)){if(!this['_document']['roots']['has'](_0x156484))throw new _0x5bf925('realtimecollaborationclient-init-non-existent-root',this);const _0x412383=this['editor']['data']['parse'](_0x4d68f5[_0x156484]),_0x52042f=this['_document']['getRoot'](_0x156484),_0xeb5f0f=new _0x4719f1(_0xc88233['createPositionAt'](_0x52042f,0x0),_0x412383,_0x3524f9++);_0x13a268['push'](_0xeb5f0f);for(const [_0x5b7acc,_0x4e1ba8]of _0x412383['markers']){const _0x4c127f=_0xc88233['createRange'](_0xc88233['createPositionFromPath'](_0x52042f,_0x4e1ba8['start']['path']['slice']()),_0xc88233['createPositionFromPath'](_0x52042f,_0x4e1ba8['end']['path']['slice']())),_0x1a55c4=new _0x1a9f01(_0x5b7acc,null,_0x4c127f,_0xc88233['markers'],!0x0,_0x3524f9++);_0x13a268['push'](_0x1a55c4);}}if(_0xda4ec8)for(const [_0x3eeb18,_0x24e98a]of Object['entries'](_0xda4ec8)){const _0x55504d=_0xc88233['document']['getRoot'](_0x3eeb18);if(!_0x55504d)throw new _0x5bf925('multi-root-editor-root-attributes-no-root',null);for(const [_0xed810c,_0x132985]of Object['entries'](_0x24e98a))if(null!==_0x132985){const _0x27d6e9=new _0x57948c(_0x55504d,_0xed810c,null,_0x132985,_0x3524f9++);_0x13a268['push'](_0x27d6e9);}}return _0x13a268;}async['_loadRoot'](_0x5582b4,_0x36bfe9,_0x2c65f2){this['_getOperationsFromInitData']({[_0x5582b4]:_0x36bfe9},{[_0x5582b4]:_0x2c65f2})['forEach']((_0x53fbd8,_0x2bb457)=>{_0x53fbd8['baseVersion']=this['_document']['version']+_0x2bb457,_0x53fbd8['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x53fbd8);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x44adec,_0x17edf4){let _0x48fad0;this['_offset']=_0x44adec['offset'];const _0x24efc9=_0x44adec['wereChangesApplied']&&!_0x44adec['initData'],_0x2c08fa=_0x24efc9?0x0:_0x44adec['data']['baseVersion'];if(_0x17edf4['forEach'](_0x1a5eee=>{_0x1a5eee['_isInit']=!0x0,_0x1a5eee['createdAt']=_0x44adec['sessionCreatedAt'],_0x1a5eee['_authorId']=null;}),_0x24efc9)_0x48fad0=_0x17edf4,this['_applyOperationsSet'](_0x48fad0,_0x24efc9);else{if(_0x44adec['initData']){const _0x5158f2=this['_getOperationsFromInitData'](_0x44adec['initData']);this['_document']['history']['version']=-_0x5158f2['length'],_0x5158f2['forEach'](_0x58945b=>{_0x58945b['baseVersion']-=_0x5158f2['length'],_0x58945b['createdAt']=_0x44adec['sessionCreatedAt'],_0x58945b['_isInit']=!0x0,_0x58945b['_authorId']=null;}),this['_applyOperationsSet'](_0x5158f2,!0x0),this['serverHistory']['version']=-_0x5158f2['length']+this['_offset'],this['_updateServerHistory'](_0x5158f2);}this['_document']['history']['version']=_0x2c08fa,_0x48fad0=this['_decompressOperations'](_0x44adec['data'],_0x44adec['metadata']),await this['_fetchMissingUsers'](_0x48fad0),this['_applyOperationsSet'](_0x48fad0,_0x24efc9);}_0x44adec['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x48fad0,_0x44adec['lastOperationId']),this['_lastSyncedOperationId']=_0x44adec['lastOperationId']),this['serverHistory']['version']=_0x2c08fa+this['_offset'],this['_updateServerHistory'](_0x48fad0),_0x17edf4['filter'](_0x65c810=>{const _0x439e66=this['_getAffectedRoot'](_0x65c810);return _0x439e66&&!this['_knownRootNames']['has'](_0x439e66);})['forEach']((_0x33488c,_0x2cf8a3)=>{_0x33488c['baseVersion']=this['_document']['version']+_0x2cf8a3,this['_saveOperationInBuffer'](_0x33488c);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x554e89,_0x57e4fa){const _0x1c19e9=_0x57e4fa&&_0x57e4fa['message'];if(_0x1c19e9&&_0x1c19e9['startsWith']('realtimecollaborationclient'))throw _0x57e4fa;const _0x57d30a=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x57d30a['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x5bf925(_0x554e89,this['editor'],_0x1c19e9?{'originalError':_0x1c19e9}:void 0x0);}['_saveOperationInBuffer'](_0x7bd999){this['_knownOperations']['has'](_0x7bd999)||(this['_knownOperations']['add'](_0x7bd999),this['_bufferedOperations']['push'](_0x7bd999),this['_pendingAction']||'marker'==_0x7bd999['type']&&!_0x7bd999['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x17356e=!0x1){!_0x17356e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x307c3f=>{_0x307c3f&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x129c69=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x319726){return _0x319726['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x319726['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x319726['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x129c69)||this['_crash'](_0x129c69['message'],_0x129c69);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x489ed4=>{this['on']('change:_isPendingUpdate',()=>{_0x489ed4();});});}async['_sendBufferedOperations'](){const _0xbe9af3=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0xbe9af3['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1be4a8=[...this['_bufferedOperations']];for(const _0x23de3b of _0x1be4a8)_0x23de3b['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x23de3b);const _0x592ece=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1be4a8),_0x46a053=J++,_0x2a83a5=this['_compressOperations'](_0x1be4a8),_0x1030ca=await this['_service']['sendOperations'](_0x2a83a5,_0x2a83a5['baseVersion'],_0x592ece);try{return await this['_handleServerResponse'](_0x1be4a8,_0x1030ca,_0x46a053);}catch(_0x66d398){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x66d398);}}async['_handleServerResponse'](_0x4be201,_0xccd236,_0x389638){if('error'in _0xccd236)throw _0xccd236['error'];let _0x10100b=!0x1;if(_0xccd236['wereChangesApplied']){_0xccd236['lastOperationId']&&(this['_lastSyncedOperationId']=_0xccd236['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3f924a=>!_0x4be201['includes'](_0x3f924a));for(const _0x1df9b2 of _0x4be201)_0x1df9b2['createdAt']='lastOperationAcceptedAt'in _0xccd236&&_0xccd236['lastOperationAcceptedAt']||void 0x0;X(_0x4be201,_0xccd236['version']-_0x4be201['length']),this['_updateServerHistory'](_0x4be201);const _0x4e9770=_0x4be201['filter'](_0x5c8e90=>{if(!_0x5c8e90['_isInit'])return!0x1;const _0x15c1ae=this['_getAffectedRoot'](_0x5c8e90);return _0x15c1ae&&!this['_knownRootNames']['has'](_0x15c1ae);});X(_0x4e9770,this['_document']['version']),this['_applyOperationsSet'](_0x4e9770),_0x10100b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x417d42=this['_decompressOperations'](_0xccd236['data'],_0xccd236['metadata'])['filter'](_0x3460fa=>_0x3460fa['baseVersion']>=this['_lastServerVersion']);_0x417d42['forEach'](_0x2d93ef=>this['_addKnownRoot'](_0x2d93ef)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x263c9c=>!_0x263c9c['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x263c9c))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x417d42),_0x10100b=this['_handleExternalOperations'](_0x417d42,_0xccd236['version'],_0xccd236['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x10100b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x4148c8,_0x4d1b51,_0x224c84){try{const _0x435097={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x3ca070,operationsB:_0x388ca8,originalOperations:_0x4cd55b}=_0x4f6485(_0x4148c8,this['_bufferedOperations'],_0x435097);X(_0x3ca070,this['_document']['version']),X(_0x388ca8,_0x4d1b51);for(const _0x56740f of _0x3ca070){const _0x3258e8=_0x4cd55b['get'](_0x56740f);_0x56740f['_authorId']=_0x3258e8?_0x3258e8['_authorId']:null;}_0x224c84&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x4148c8,_0x224c84),this['_lastSyncedOperationId']=_0x224c84),this['_bufferedOperations']=[..._0x388ca8],this['_applyOperationsSet'](_0x3ca070),this['_updateServerHistory'](_0x4148c8);}catch(_0x24a09b){return console['error'](_0x24a09b),!0x1;}return!0x0;}['_applyOperationsSet'](_0x55d0ed,_0x485067=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x153878=>{for(const _0x1b166c of _0x55d0ed)this['_knownOperations']['add'](_0x1b166c),this['_addKnownRoot'](_0x1b166c),_0x153878['batch']['addOperation'](_0x1b166c),this['editor']['model']['applyOperation'](_0x1b166c);});}['_addKnownRoot'](_0x307668){const _0x208030=this['_getAffectedRoot'](_0x307668);_0x208030&&this['_knownRootNames']['add'](_0x208030);}['_getAffectedRoot'](_0x326b7c){let _0x4c0424,_0x5b7252;switch(_0x326b7c['type']){case'insert':_0x4c0424=_0x326b7c['position']['root'];break;case'marker':if(_0x5b7252=_0x326b7c['newRange'],!_0x5b7252)return null;_0x4c0424=_0x5b7252['root'];break;case'addRootAttribute':_0x4c0424=_0x326b7c['root'];break;case'addRoot':_0x4c0424=_0x326b7c['affectedSelectable'];break;case'move':_0x4c0424=_0x326b7c['targetPosition']['root'];break;default:return null;}return _0x4c0424['rootName'];}['_updateServerHistory'](_0x206ef5){_0x206ef5['forEach'](_0x196999=>{const _0x4b254e=_0x196999['clone']();_0x4b254e['_authorId']=_0x196999['_authorId'],_0x4b254e['_isInit']=!!_0x196999['_isInit'],_0x4b254e['createdAt']=_0x196999['createdAt'],_0x4b254e['baseVersion']+=this['_offset'],_0x196999['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x4b254e),this['serverHistory']['addOperation'](_0x4b254e);});}['_handleReconnectionError'](_0x2eefa0){const _0x3c9cfc=this['editor']['plugins']['get']('Notification'),_0x4df70d=this['editor']['locale'];_0x2eefa0||(_0x2eefa0=G(_0x4df70d,'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.')),_0x3c9cfc['showWarning'](_0x2eefa0,{'title':G(_0x4df70d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x4440f0)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x4440f0)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x21b9d3){const _0xeca975=_0x21b9d3['map'](_0x48226e=>_0x48226e['toJSON']());return this['_compressor']['compress'](_0xeca975);}['_decompressOperations'](_0x35eafe,_0x2d6e05){return this['_compressor']['decompress'](_0x35eafe)['map']((_0x4d7f6b,_0x164507)=>{const _0x105621='init'==_0x2d6e05[_0x164507]['type'];if('InsertOperation'==_0x4d7f6b['__className']){const _0x2b6be9=_0x4d7f6b['position']['root'];!this['_document']['getRoot'](_0x2b6be9)&&(this['_document']['createRoot']('$root',_0x2b6be9)['_isAttached']=!0x1);}const _0x14b4d4=_0x1bf20f['fromJSON'](_0x4d7f6b,this['_document']);return _0x14b4d4['wasUndone']=_0x4d7f6b['wasUndone'],_0x14b4d4['_isInit']=_0x105621,_0x14b4d4['_authorId']=_0x105621?null:_0x2d6e05[_0x164507]['userId'],_0x14b4d4['_isDisconnection']='cs:removeUser'===_0x2d6e05[_0x164507]['type'],_0x14b4d4['createdAt']=_0x2d6e05[_0x164507]['createdAt'],_0x14b4d4;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x566e11=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x566e11&&_0x566e11['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x442cfd,_0x2b564c){for(const _0x457885 of _0x442cfd)_0x457885['baseVersion']=_0x2b564c++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x1f9320){this['_ignoredOperations']=_0x1f9320,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x26abfd){let _0x3b61f2=_0x26abfd['length'];for(;_0x3b61f2--;){const _0xbd2474=_0x26abfd[_0x3b61f2];if(!this['_ignoredOperations']['has'](_0xbd2474)){if(!this['_operationToId']['has'](_0xbd2474)){const _0x1285df=_0x2891ce()['slice'](0x1,0x12);this['_operationToId']['set'](_0xbd2474,_0x1285df);}return this['_operationToId']['get'](_0xbd2474);}}}['setIdForTheLastOperation'](_0x4c8b37,_0x3fcd7c){if(!_0x3fcd7c)return;let _0x20dba2=_0x4c8b37['length'];for(;_0x20dba2--;){const _0x780eab=_0x4c8b37[_0x20dba2];this['_ignoredOperations']['has'](_0x780eab)||this['_operationToId']['set'](_0x780eab,_0x3fcd7c);}}}class n extends _0x209efd{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x92af73{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x35384d)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x302dba];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3c8264){super(_0x3c8264),this['_services']=new Map();}async['init'](){const _0x5988b9=this['context'],_0x36afcd=_0x5988b9['plugins']['get']('CommentsRepository');if(_0x5988b9['plugins']['get'](c)['addToReconnectionStack'](this),_0x36afcd['adapter']={'addCommentThread':async({channelId:_0xf33a32,threadId:_0x1c4cdb,comments:_0x294227,resolvedAt:_0x1aaae4,resolvedBy:_0x41552e,context:_0x47aef4,attributes:_0x101f77})=>{const _0x28a4ba=await this['_getService'](_0xf33a32)['addCommentThread']({'commentThreadId':_0x1c4cdb,'comments':_0x294227['map'](_0x32f9ef=>function(_0x3388ae,_0x55b6be,_0x5a9955){return{'commentThreadId':_0x5a9955,'commentId':_0x3388ae['commentId'],'userId':_0x3388ae['authorId'],'content':_0x3388ae['content'],'documentId':_0x55b6be,'createdAt':_0x3388ae['createdAt'],'attributes':_0x3388ae['attributes']||{}};}(_0x32f9ef,_0xf33a32,_0x1c4cdb)),'resolvedAt':_0x1aaae4,'resolvedBy':_0x41552e,'context':_0x47aef4,'attributes':_0x101f77})['catch'](ut);return{'threadId':_0x28a4ba['commentThreadId'],'comments':_0x28a4ba['comments']};},'getCommentThread':async({channelId:_0x414074,threadId:_0x4ef4e4})=>{const _0x17ea08=await this['_getService'](_0x414074)['getCommentThread'](_0x4ef4e4)['catch'](ut);return _0x17ea08['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x17ea08]),{'threadId':_0x17ea08['commentThreadId'],'comments':_0x17ea08['comments']['map'](_),'context':_0x17ea08['context'],'resolvedAt':_0x17ea08['resolvedAt'],'resolvedBy':_0x17ea08['resolvedBy'],'attributes':_0x17ea08['attributes']||{}});},'updateCommentThread':async({channelId:_0x1edc2f,threadId:_0x5dd16c,context:_0x1eab69,unlinkedAt:_0x268fb0,attributes:_0x885743})=>this['_getService'](_0x1edc2f)['updateCommentThread']({'commentThreadId':_0x5dd16c,'context':_0x1eab69,'attributes':_0x885743,'unlinkedAt':_0x268fb0})['catch'](S)['catch'](ut),'resolveCommentThread':async({channelId:_0x872ed0,threadId:_0x212c21})=>{const _0x4ef20c=await this['_getService'](_0x872ed0)['resolveCommentThread'](_0x212c21)['catch'](S)['catch'](ut);return{'threadId':_0x4ef20c['commentThreadId'],'resolvedAt':_0x4ef20c['resolvedAt'],'resolvedBy':_0x4ef20c['resolvedBy']};},'reopenCommentThread':async({channelId:_0x4a4c9c,threadId:_0x186567})=>this['_getService'](_0x4a4c9c)['reopenCommentThread'](_0x186567)['catch'](S)['catch'](ut),'removeCommentThread':({channelId:_0xd0d753,threadId:_0xe4ee4})=>this['_getService'](_0xd0d753)['removeCommentThread'](_0xe4ee4)['catch'](S)['catch'](ut),'addComment':({channelId:_0x420c5c,threadId:_0x2224e5,commentId:_0x3c5076,content:_0x1bd310,attributes:_0x464f97})=>this['_getService'](_0x420c5c)['addComment'](_0x2224e5,_0x3c5076,_0x1bd310,_0x464f97)['catch'](ut),'updateComment':({channelId:_0x343263,threadId:_0x58b103,commentId:_0x927dc2,content:_0x512b28,attributes:_0x11ea55})=>this['_getService'](_0x343263)['updateComment'](_0x58b103,_0x927dc2,_0x512b28,_0x11ea55)['catch'](S)['catch'](ut),'removeComment':({channelId:_0x36a9c3,threadId:_0x438025,commentId:_0x506527})=>this['_getService'](_0x36a9c3)['removeComment'](_0x438025,_0x506527)['catch'](S)['catch'](ut)},_0x5988b9 instanceof _0x8f62a){const _0x457390=_0x5988b9['config']['get']('collaboration.channelId'),_0x4a2510=_0x5988b9['plugins']['get'](i);await this['_setUpService'](_0x457390);const _0x55a43b=await this['_services']['get'](_0x457390)['getConnectedSessions']();this['listenTo'](_0x4a2510,'sessionAdd:'+_0x457390,(_0x51fb74,{session:_0x928054})=>{_0x928054['id']===_0x4a2510['mySessionId']&&(_0x51fb74['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x928054['permissions'],_0x457390));}),_0x4a2510['register'](_0x457390,_0x55a43b);}}async['_setUpService'](_0x351bc8){if(this['_services']['has'](_0x351bc8))throw new _0x5bf925('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x351bc8});const _0x2f66a6=this['context']['plugins']['get']('CommentsRepository'),_0x538cf7=new a['CommentsService'](_0x351bc8);this['_services']['set'](_0x351bc8,_0x538cf7),this['listenTo'](_0x538cf7,'commentThreadAdded',(_0x29e78b,_0x26835d)=>{const {commentThreadId:_0x4abdc9,documentId:_0x322811,context:_0x4cddbb,attributes:_0x5a0996,resolvedAt:_0x112394,resolvedBy:_0x381297,comments:_0x6d7b24}=_0x26835d;_0x2f66a6['getCommentThread'](_0x4abdc9)||_0x2f66a6['addCommentThread']({'threadId':_0x4abdc9,'channelId':_0x322811,'comments':_0x6d7b24?_0x6d7b24['map'](_):[],'context':_0x4cddbb,'attributes':_0x5a0996,'resolvedAt':_0x112394,'resolvedBy':_0x381297,'isFromAdapter':!0x0});}),this['listenTo'](_0x538cf7,'commentThreadUpdated',(_0x4c4204,{commentThreadId:_0xf8ba9e,documentId:_0x10a201,context:_0x4c3128,unlinkedAt:_0x47dbbc,attributes:_0x3eef69})=>{_0x2f66a6['getCommentThread'](_0xf8ba9e)&&_0x2f66a6['updateCommentThread']({'threadId':_0xf8ba9e,'channelId':_0x10a201,'context':_0x4c3128,'unlinkedAt':_0x47dbbc,'attributes':_0x3eef69,'isFromAdapter':!0x0});}),this['listenTo'](_0x538cf7,'commentThreadResolved',(_0x3c3ea6,{commentThreadId:_0x3a1eed,resolvedBy:_0x4d234d,resolvedAt:_0xbcf9f5})=>{const _0x4e1605=_0x2f66a6['getCommentThread'](_0x3a1eed);_0x4e1605&&_0x4e1605['resolve']({'resolvedBy':_0x4d234d,'resolvedAt':_0xbcf9f5,'isFromAdapter':!0x0});}),this['listenTo'](_0x538cf7,'commentThreadReopened',(_0x18e71e,{commentThreadId:_0x5702bf})=>{const _0x4947ba=_0x2f66a6['getCommentThread'](_0x5702bf);_0x4947ba&&_0x4947ba['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x538cf7,'commentThreadRemoved',(_0x35d4c1,{commentThreadId:_0x3d1b99})=>{const _0x39b0a6=_0x2f66a6['getCommentThread'](_0x3d1b99);_0x39b0a6&&_0x39b0a6['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x538cf7,'commentAdded',(_0x1913f4,_0x100d4)=>{const _0x4ea5ce=_0x100d4['commentThreadId'],_0x1db11f=_0x2f66a6['getCommentThread'](_0x4ea5ce);_0x1db11f&&_0x1db11f['addComment']({..._(_0x100d4),'isFromAdapter':!0x0});}),this['listenTo'](_0x538cf7,'commentUpdated',(_0x1d389c,{commentThreadId:_0x282037,commentId:_0xcb788b,content:_0x14873a,attributes:_0x4e91a1})=>{const _0x34cdb2=_0x2f66a6['getCommentThread'](_0x282037);if(_0x34cdb2){const _0x3aab41=_0x34cdb2['getComment'](_0xcb788b);_0x3aab41&&_0x3aab41['update']({'content':_0x14873a,'attributes':_0x4e91a1,'isFromAdapter':!0x0});}}),this['listenTo'](_0x538cf7,'commentRemoved',(_0x261ce8,{commentThreadId:_0xde3bb6,commentId:_0x30d8ca})=>{const _0x483de3=_0x2f66a6['getCommentThread'](_0xde3bb6);if(_0x483de3){const _0xc874c8=_0x483de3['getComment'](_0x30d8ca);_0xc874c8&&_0xc874c8['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x351bc8);}['destroy'](){if(this['context']instanceof _0x8f62a){const _0x33b2c5=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x33b2c5);}}['_terminateService'](_0x50eaee){if(!this['_services']['has'](_0x50eaee))throw new _0x5bf925('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x50eaee});this['_getService'](_0x50eaee)['disconnect'](),this['_services']['delete'](_0x50eaee);}async['reconnect'](){for(const _0x54b4f2 of this['_services']['keys']())await this['_connectService'](_0x54b4f2);if(this['context']instanceof _0x8f62a){const _0x3eb2af=this['context']['config']['get']('collaboration.channelId'),_0x1438a8=this['context']['plugins']['get'](i);_0x1438a8['unregister'](_0x3eb2af);const _0x3013ba=await this['_services']['get'](_0x3eb2af)['getConnectedSessions']();_0x1438a8['register'](_0x3eb2af,_0x3013ba);}}async['_connectService'](_0x26e3a4){const {connection:_0x43457a}=this['context']['plugins']['get'](c),_0x1464f4=this['context']['plugins']['get']('CommentsRepository'),_0xe93736=this['_services']['get'](_0x26e3a4),_0x5aaaac=await _0xe93736['connect'](_0x43457a);await this['_fetchMissingUsersForThreads'](_0x5aaaac);const _0x56f9a8=new Set(Array['from'](_0x1464f4['getCommentThreads']({'channelId':_0x26e3a4}),_0x5c2562=>_0x5c2562['id']));for(const _0x1c99cd of _0x5aaaac)_0x1c99cd['deletedAt']||_0x56f9a8['delete'](_0x1c99cd['commentThreadId']);for(const _0x3df5e2 of _0x56f9a8)_0x1464f4['getCommentThread'](_0x3df5e2)['remove']({'isFromAdapter':!0x0});for(const _0x21dd11 of _0x5aaaac){let _0x20bf36=_0x1464f4['getCommentThread'](_0x21dd11['commentThreadId']);const {commentThreadId:_0x1ef565,context:_0xd2ee3e,attributes:_0xc19c45,resolvedBy:_0x19ba97,resolvedAt:_0x5bb29d,unlinkedAt:_0x475bdf,deletedAt:_0x1bec8b}=_0x21dd11;if(_0x1bec8b)continue;_0x20bf36||(_0x20bf36=_0x1464f4['addCommentThread']({'channelId':_0x26e3a4,'threadId':_0x1ef565,'context':_0xd2ee3e,'attributes':_0xc19c45||{},'resolvedBy':_0x19ba97,'resolvedAt':_0x5bb29d,'unlinkedAt':_0x475bdf,'isFromAdapter':!0x0}));const _0x27984a=new Set(Array['from'](_0x20bf36['comments'],_0x30d6af=>_0x30d6af['id']));for(const _0x40b3b4 of _0x21dd11['comments'])_0x27984a['delete'](_0x40b3b4['commentId']);for(const _0x10ca69 of _0x27984a)_0x20bf36['getComment'](_0x10ca69)['remove']({'isFromAdapter':!0x0});for(const _0xc01cf1 of _0x21dd11['comments']){const _0xef37ca=_0x20bf36['getComment'](_0xc01cf1['commentId']);_0xef37ca?_0xef37ca['content']!==_0xc01cf1['content']&&_0xef37ca['update']({'content':_0xc01cf1['content'],'isFromAdapter':!0x0}):_0x20bf36['addComment'](Object['assign'](_(_0xc01cf1),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1caccf){if(!this['_services']['has'](_0x1caccf))throw new _0x5bf925('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1caccf});return this['_services']['get'](_0x1caccf);}async['_fetchMissingUsersForThreads'](_0x227bc7){const _0x4bbf90=this['context']['plugins']['get'](_0x302dba),{connection:_0x23d259}=this['context']['plugins']['get'](c),_0x2e2689=new Set();for(const {resolvedBy:_0x5983ec,comments:_0x227c77}of _0x227bc7){_0x5983ec&&!_0x4bbf90['getUser'](_0x5983ec)&&_0x2e2689['add'](_0x5983ec);for(const {userId:_0x42944c}of _0x227c77)_0x4bbf90['getUser'](_0x42944c)||_0x2e2689['add'](_0x42944c);}if(0x0===_0x2e2689['size'])return;const _0x5a61bb=await dt['getMany'](_0x23d259,Array['from'](_0x2e2689));for(const _0x3e7840 of _0x5a61bb)_0x4bbf90['getUser'](_0x3e7840['id'])||_0x4bbf90['addUser'](_0x3e7840);}}async function S(_0xdc6e83){if('404'!==_0xdc6e83['code'])throw _0xdc6e83;}function ut(_0x201946){if((_0x44a032=_0x201946)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x44a032['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x44a032['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x44a032;throw _0x201946;}function _(_0x4b9be5){return{'threadId':_0x4b9be5['commentThreadId'],'commentId':_0x4b9be5['commentId'],'content':_0x4b9be5['content'],'createdAt':_0x4b9be5['createdAt'],'authorId':_0x4b9be5['userId'],'attributes':_0x4b9be5['attributes']||{}};}class f extends _0x209efd{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bc166){super(_0x2bc166);const _0x3baa18=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x3baa18);}['init'](){const _0x8122b5=this['editor']['plugins']['get'](c),_0x503235=this['editor']['plugins']['get']('TrackChangesEditing');return _0x503235['adapter']={'getSuggestion':async _0x2ae720=>{await this['_waitForServiceReady']();const _0x234d8f=await this['_trackChangesService']['get'](_0x2ae720)['catch'](R);return await this['_fetchMissingUsersForThreads']([_0x234d8f]),_0x234d8f;},'addSuggestion':async({id:_0x438cf9,type:_0x277f5b,data:_0x47384b,originalSuggestionId:_0x2ba977,attributes:_0x55bdc2})=>{await this['_waitForServiceReady']();const _0x404e02={'id':_0x438cf9,'type':_0x277f5b,'data':_0x47384b,'originalSuggestionId':_0x2ba977,'attributes':_0x55bdc2},_0x1babd5=await this['_trackChangesService']['add'](_0x438cf9,_0x277f5b,_0x47384b,_0x2ba977,_0x55bdc2)['catch'](_0x3a6bdf=>{if(ft(_0x3a6bdf))return new Promise(_0x3e7ce9=>{this['_bufferedRequests']['set'](_0x438cf9,{'resolve':_0x3e7ce9,'suggestionData':_0x404e02});});throw _0x3a6bdf;});return this['_bufferedRequests']['delete'](_0x438cf9),_0x1babd5;},'updateSuggestion':async(_0x3fc576,_0x1e8051)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1e8051['state'])return this['_trackChangesService']['update'](_0x3fc576,_0x1e8051)['catch'](R);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x2b5950,_0x514b8e)=>{_0x503235['hasSuggestion'](_0x514b8e['id'])&&(_0x503235['getSuggestion'](_0x514b8e['id'])['attributes']=_0x514b8e['attributes']);}),this['_trackChangesService']['connect'](_0x8122b5['connection'])['then'](_0x10b216=>(_0x8122b5['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x10b216)['then'](()=>{for(const _0x4bf9df of _0x10b216){_0x503235['addSuggestionData'](_0x4bf9df)['_saved']=!0x0;}})));}async['reconnect'](){const _0x502678=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x2ce64f}=this['editor']['plugins']['get'](c),_0x87b2b6=await this['_trackChangesService']['connect'](_0x2ce64f);await this['_fetchMissingUsersForThreads'](_0x87b2b6);for(const {suggestionData:_0x2fa8a5,resolve:_0x466612}of this['_bufferedRequests']['values']()){let _0x23f3a3=_0x87b2b6['find'](_0x5e950a=>_0x5e950a['id']===_0x2fa8a5['id']);_0x23f3a3||(_0x23f3a3=await this['_trackChangesService']['add'](_0x2fa8a5['id'],_0x2fa8a5['type'],_0x2fa8a5['data'],_0x2fa8a5['originalSuggestionId'])),_0x466612(_0x23f3a3);}for(const _0x17183e of _0x87b2b6)_0x502678['hasSuggestion'](_0x17183e['id'])||_0x502678['addSuggestionData'](_0x17183e);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3979ee=>{this['listenTo'](this['_trackChangesService'],'connected',_0x464e2f=>{_0x464e2f['off'](),_0x3979ee();});});}async['_fetchMissingUsersForThreads'](_0x7aa395){const _0xf3696f=this['editor']['plugins']['get'](_0x302dba),{connection:_0x50e6c5}=this['editor']['plugins']['get'](c),_0x16276a=new Set();for(const {authorId:_0x34fc08}of _0x7aa395)_0xf3696f['getUser'](_0x34fc08)||_0x16276a['add'](_0x34fc08);if(0x0===_0x16276a['size'])return;const _0x13efca=await dt['getMany'](_0x50e6c5,Array['from'](_0x16276a));for(const _0x1fcd8a of _0x13efca)_0xf3696f['getUser'](_0x1fcd8a['id'])||_0xf3696f['addUser'](_0x1fcd8a);}}function R(_0x7aa4d4){if(ft(_0x7aa4d4))return new Promise(()=>{});throw _0x7aa4d4;}function ft(_0x103491){return _0x103491['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x103491['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x209efd{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x560a1d=this['editor']['plugins']['get'](c),_0x3ef8c0=this['editor']['plugins']['get']('CommentsEditing'),_0x5582ad=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x560a1d,'change:state',(_0x5adfe8,_0x9bfc48,_0x227e3f)=>{_0x3ef8c0['isThreadsLoadingPaused']='connected'!==_0x227e3f;});}),this['listenTo'](_0x560a1d,'change:state',(_0x1e739d,_0x1e6960,_0x26c066)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x26c066);}),_0x5582ad['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x209efd{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x209efd{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x302dba];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xe4c698){super(_0xe4c698);const _0x1a3bbc=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x1a3bbc);}async['init'](){const _0x62ec09=this['editor']['plugins']['get'](l),_0x5225a6=_0x62ec09['serverHistory'],_0x5aed3f=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x5225a6,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x62ec09['sessionId']});const _0x26567b=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x7adeba=await tt['isBundleUploaded'](_0x5aed3f['connection'],_0x26567b);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x1fc2f3})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1fc2f3)),'updateRevisions':async _0xde774=>{await this['_waitForServiceReady']();const _0x216a3e=this['_revisionTracker']['currentRevision'];if(_0x7adeba&&0x1===_0xde774['length']&&_0xde774[0x0]['id']===_0x216a3e['id'])return _0xde774;for(const _0x2cb2a4 of _0xde774)_0x2cb2a4['id']===_0x216a3e['id']&&(_0x2cb2a4['isEmptyCurrent']=_0x2cb2a4['fromVersion']===_0x2cb2a4['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xde774,this['_lastRequestId'])['then'](_0x5a4abb=>(this['_lastRequestId']=_0x5a4abb,_0xde774))['catch'](_0x421aba=>{if(st(_0x421aba)||'400'===_0x421aba['code']&&void 0x0!==_0x421aba['data']['wrongRequestId']){for(const _0x5b1cd8 of _0xde774){!this['_revisionTracker']['repository']['getRevision'](_0x5b1cd8['id'])||this['_revisionTracker']['_bufferUpdate'](_0x5b1cd8['id'],_0x5b1cd8,!0x1);}if(st(_0x421aba))throw _0x421aba;return _0xde774;}throw _0x421aba;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x49956b,{revisionsData:_0x5f1d8a,requestId:_0x3e4756})=>{Math['max'](..._0x5f1d8a['map'](_0x2fd131=>_0x2fd131['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x5f1d8a,_0x3e4756);}):this['_handleRevisionsUpdate'](_0x5f1d8a,_0x3e4756);});const {revisions:_0x7956d,requestId:_0xe7e6c0}=await this['_revisionHistoryService']['connect'](_0x5aed3f['connection']);_0x5aed3f['addToReconnectionStack'](this),this['_lastRequestId']=_0xe7e6c0,await this['_fetchMissingUsers'](_0x7956d);for(const _0x4081a2 of _0x7956d)this['_revisionTracker']['addRevisionData'](_0x4081a2);this['listenTo'](_0x62ec09,'change:_isConnected',(_0xfb2986,_0x5c32db,_0x45dd7b)=>{_0x45dd7b&&(this['_oldOffset']=_0x62ec09['_offset'],_0xfb2986['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5aed3f,'state',_0x3a3207=>_0x3a3207===_0x462527['CONNECTED']);}async['reconnect'](){const _0x2dc967=this['editor']['plugins']['get'](c),_0x52918d=this['editor']['plugins']['get'](l),_0x3ad702=async()=>{const _0x1b2cc0=this['_revisionTracker']['currentRevision'],_0x232d96=_0x1b2cc0['id'],_0x560526=_0x232d96!==_0x52918d['sessionId'];if(_0x560526){const _0x5ca83e=_0x52918d['_offset']-this['_oldOffset'],_0x2ea9a0=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1b2cc0['toVersion']+_0x5ca83e!==_0x2ea9a0){const _0xe6bd27=_0x1b2cc0['fromVersion']+_0x5ca83e,_0x487b6e=this['editor']['plugins']['get'](_0x302dba),_0x503f05=this['_revisionTracker']['buildRevisionData']({'revision':_0x1b2cc0,'from':_0xe6bd27,'to':_0x2ea9a0});_0x503f05['id']=_0x1b2cc0['id'];const _0x3ecaa8=_0x503f05['authorsIds']['map'](_0x365248=>_0x487b6e['getUser'](_0x365248));_0x1b2cc0['_update']({..._0x503f05,'authors':_0x3ecaa8},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1b2cc0['id'],_0x503f05,!0x0);}this['_revisionTracker']['_startingVersion']=_0x2ea9a0,(_0x1b2cc0['toVersion']===_0x1b2cc0['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x232d96)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x232d96),this['_revisionTracker']['_createCurrentRevision'](_0x2ea9a0));}const {revisions:_0x442b36,requestId:_0x3ede28}=await this['_revisionHistoryService']['reconnect'](_0x2dc967['connection'],this['_lastRequestId']);_0x560526&&_0x442b36['length']>0x0?_0x52918d['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x442b36),this['_handleRevisionsUpdate'](_0x442b36,_0x3ede28),this['_revisionTracker']['sendBufferedUpdates']());};return _0x52918d['_isConnected']?_0x3ad702():new Promise((_0x4e9e4b,_0x5e3b34)=>{_0x52918d['once']('change:_isConnected',()=>{_0x3ad702()['then'](_0x4e9e4b)['catch'](_0x5e3b34);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x5a63b5=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x59da00=>{_0x59da00['off'](),_0x5a63b5();});});}['_getLatestVersionFromServerOperations'](){const _0x537f62=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x5933a6 of _0x537f62)if('marker'!==_0x5933a6['type']||_0x5933a6['affectsData'])return _0x5933a6['baseVersion']+0x1;}['_getLatestVersion'](){const _0x559503=this['editor']['plugins']['get'](l);return new Promise(_0xd6ef27=>{_0x559503['_isPendingUpdate']?_0x559503['once']('change:_isPendingUpdate',()=>{_0xd6ef27(this['_getLatestVersionFromServerOperations']());}):_0xd6ef27(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x33fa0e,_0x5be896){const _0x12f967=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x5be896;for(const _0x569c6a of _0x33fa0e){const _0x22b84e=_0x12f967['getRevision'](_0x569c6a['id']);if(_0x22b84e){if((_0x569c6a['fromVersion']||_0x569c6a['toVersion'])&&(_0x569c6a['diffData']=null),_0x22b84e===this['_revisionTracker']['currentRevision']){const _0x1db06e=Math['max'](_0x22b84e['toVersion'],_0x569c6a['toVersion']),_0x15a9d3=Math['max'](_0x22b84e['fromVersion'],_0x569c6a['fromVersion']);let _0x4eef47;_0x22b84e['toVersion']===_0x569c6a['toVersion']&&_0x22b84e['fromVersion']===_0x569c6a['fromVersion']?(_0x4eef47=!0x0,this['_preventResendingRevisionData'](_0x569c6a)):_0x569c6a['toVersion']===_0x1db06e&&_0x569c6a['fromVersion']===_0x15a9d3?_0x4eef47=!0x1:(_0x22b84e['toVersion']===_0x1db06e&&_0x22b84e['fromVersion']===_0x15a9d3||this['_fixRevision']({'revision':_0x22b84e,'from':_0x15a9d3,'to':_0x1db06e}),_0x4eef47=!0x0),_0x4eef47&&(delete _0x569c6a['fromVersion'],delete _0x569c6a['toVersion'],delete _0x569c6a['diffData'],delete _0x569c6a['createdAt'],delete _0x569c6a['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x569c6a),this['_preventResendingRevisionData'](_0x569c6a);}else this['_revisionTracker']['addRevisionData'](_0x569c6a);}const _0x3834d6=_0x12f967['getRevisions']();_0x3834d6['reverse']();for(let _0x5826f4=0x0;_0x5826f4<_0x3834d6['length']-0x1;_0x5826f4++){const _0x2b9a27=_0x3834d6[_0x5826f4],_0x51b80e=_0x3834d6[_0x5826f4+0x1];if(_0x2b9a27['fromVersion']<_0x51b80e['toVersion']){const _0x199515=_0x51b80e['toVersion'],_0x2692d3=Math['max'](_0x199515,_0x2b9a27['toVersion']);this['_fixRevision']({'revision':_0x2b9a27,'from':_0x199515,'to':_0x2692d3});}}}['_fixRevision']({revision:_0x25ca5c,from:_0x55c1c0,to:_0x291a25}={}){const _0xbd7a7d=this['editor']['plugins']['get'](_0x302dba),_0x312e1e=this['_revisionTracker']['buildRevisionData']({'revision':_0x25ca5c,'from':_0x55c1c0,'to':_0x291a25});_0x312e1e['authors']=_0x312e1e['authorsIds']['map'](_0x5990de=>_0xbd7a7d['getUser'](_0x5990de)),_0x25ca5c['_update'](_0x312e1e);}['_preventResendingRevisionData'](_0x390ea0){const _0x5e6085={};_0x5e6085['id']=_0x390ea0['id'];for(const _0x4d11f2 of Object['keys'](_0x390ea0))'id'!==_0x4d11f2&&(_0x5e6085[_0x4d11f2]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5e6085['id'],_0x5e6085,!0x0);}async['_fetchMissingUsers'](_0x376f08){const _0x22d64d=this['editor']['plugins']['get'](_0x302dba),{connection:_0x1344b0}=this['editor']['plugins']['get'](c),_0x5dd227=new Set();for(const _0x4630f3 of _0x376f08){for(const _0x496af4 of _0x4630f3['authorsIds'])_0x4e0051(_0x496af4);_0x4630f3['creatorId']&&_0x4e0051(_0x4630f3['creatorId']);}if(0x0===_0x5dd227['size'])return;const _0x6a3e9f=await dt['getMany'](_0x1344b0,Array['from'](_0x5dd227));for(const _0x150f4b of _0x6a3e9f)_0x22d64d['getUser'](_0x150f4b['id'])||_0x22d64d['addUser'](_0x150f4b);function _0x4e0051(_0x1ab82a){_0x22d64d['getUser'](_0x1ab82a)||_0x5dd227['add'](_0x1ab82a);}}}function st(_0x46cff5){return _0x46cff5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x46cff5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x46cff5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x209efd{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class A extends _0x407c4a{['_collapseAt'];constructor(_0x97d138,_0x249726=0x6){super(_0x97d138);const _0x864b70=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x249726,this['bind']('isHidden')['to'](this,'usersCount',_0xf0cd44=>_0xf0cd44<_0x249726),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x864b70['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':_0x864b70['to']('usersCount',_0xd0233c=>'+'+(_0xd0233c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x407c4a{['items'];['keystrokes'];constructor(_0x48e864){super(_0x48e864);const _0xb5fd6a=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4fbca3(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xb5fd6a['if']('hasPopup'),'aria-expanded':_0xb5fd6a['to']('isExpanded',_0x3bb57d=>this['hasPopup']&&String(_0x3bb57d)),'aria-label':_0xb5fd6a['to']('hasPopup',_0x46b045=>G(_0x48e864,_0x46b045?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xb5fd6a['to']('hasPopup',_0xb0ad54=>!!_0xb0ad54&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xb5fd6a['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xb5fd6a['to'](_0x13f85b=>{const _0x1c7095=_0x13f85b,_0x50bb07=document['querySelector']('.ck-presence-list__dropdown-list'),_0x593bb3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x50bb07?.['contains'](_0x1c7095['relatedTarget'])||_0x593bb3?.['contains'](_0x1c7095['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2af752,_0x46057e,_0x16c612)=>{this['element']&&(_0x16c612?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 j extends _0x407c4a{['counterView'];['inlineListView'];constructor(_0x30407a,_0x2d1f56=0x6){super(_0x30407a);const _0x1d5c82=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new A(this['locale'],_0x2d1f56),this['inlineListView']=new ts(_0x30407a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x274d0c of this['inlineListView']['items'])_0x274d0c['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',_0x1d5c82['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class x extends _0x407c4a{['listWrapperView'];constructor(_0x4a1a8e,_0x1950c8){super(_0x4a1a8e);const _0x59177c=this['bindTemplate'];this['listWrapperView']=new mt(_0x4a1a8e,_0x1950c8),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0x4a1a8e,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x59177c['to'](_0x22313b=>{const _0x49965e=_0x22313b,_0x42bc5f=document['querySelector']('.ck-presence-list__list'),_0x172dc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x42bc5f?.['contains'](_0x49965e['relatedTarget'])||_0x172dc2?.['contains'](_0x49965e['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x15aced{constructor(_0x2fb3f5,_0x574ed1){super(_0x2fb3f5);const _0x505645=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x574ed1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x505645['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x505645['to']('role'),'aria-label':_0x505645['to']('ariaLabel'),'aria-labelledby':_0x505645['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3ae409['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xa37338=this['element'];_0xa37338&&(this['_isScrollable']=Math['max'](_0xa37338['scrollHeight'],_0xa37338['clientHeight'])>0.8*window['innerHeight']);}}class k extends rt{['userView'];constructor(_0x3fe901,_0x3768e8,_0x1e7568){super(_0x3fe901);const _0x5e414b=this['bindTemplate'];this['userView']=new ct(_0x3fe901,_0x3768e8);const _0x8ee00b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x3768e8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x3768e8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3768e8['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1e7568&&(_0x8ee00b['tag']='button',_0x8ee00b['on']={'click':_0x5e414b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x8ee00b);}['focus'](){this['element']['focus']();}}class y extends _0x407c4a{['userView'];['markerView'];constructor(_0x36f6fd,_0x398a6d,_0x5a0e81){super(_0x36f6fd);const _0x4442fa=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x36f6fd,_0x398a6d),this['markerView']=new at(_0x36f6fd,_0x398a6d);const _0x51d664=new ot(_0x36f6fd);_0x51d664['template']['tag']='span',_0x51d664['text']=_0x398a6d['name'];const _0x1eee35={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x4442fa['to']('isFocusable',_0x2bd6bc=>!!_0x2bd6bc&&0x0),'aria-labelledby':_0x51d664['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x4442fa['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x4442fa['to']('hasTooltip',_0x3c876a=>!_0x3c876a),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x51d664]};_0x5a0e81&&(_0x1eee35['tag']='button',_0x1eee35['on']={'click':_0x4442fa['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1eee35);}}class at extends _0x407c4a{constructor(_0x29938d,_0x275374){super(_0x29938d),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x275374['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const C={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x92af73{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x376b02){super(_0x376b02),this['context']['config']['define']('presenceList',C);const _0x1ac6d9=_0x376b02['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x1ac6d9)throw new _0x5bf925('presencelist-collapseat-invalid-format',this);if(_0x1ac6d9<0x1)throw new _0x5bf925('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0xce3908(),this['balloonPanelView']=new _0x196f93(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x4e4f4a of this['_allConnectedUsers'])this['_handleUserAdd'](_0x4e4f4a);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b9189,_0x44539d)=>{this['_handleUserAdd'](_0x44539d);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x409553,_0x2f1bde)=>{this['_handleUserRemove'](_0x2f1bde);});}['_createView'](){const _0x232dc1=this['context'],_0x44b2df=new j(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x161632=this['balloonPanelView'];if(!_0x3975ce(_0x232dc1['config']['get']('presenceList.container')))throw new _0x5bf925('presencelist-missing-container',this);return _0x44b2df['counterView']['bind']('usersCount')['to'](this),_0x44b2df['bind']('isCollapsed')['to'](this,'usersCount',_0x17aef7=>{const {collapseAt:_0x570ba5}=_0x232dc1['config']['get']('presenceList'),_0x329b12=_0x17aef7>=_0x570ba5;if(_0x329b12&&!_0x44b2df['inlineListView']['items']['find'](_0x131a6b=>_0x131a6b instanceof A)){const _0x290c41=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x290c41&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x44b2df['inlineListView']['items']['add'](_0x44b2df['counterView']);}return _0x329b12||this['hideDropdown'](),_0x329b12;}),_0x44b2df['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x52f8a=>{const _0x35be0a=_0x232dc1['config']['get']('presenceList'),_0x48607e=new y(_0x232dc1['locale'],_0x52f8a,!!_0x35be0a['onClick']);return _0x48607e['bind']('hasTooltip')['to'](_0x44b2df,'isCollapsed',_0x1a74c9=>!_0x1a74c9),_0x48607e['bind']('isFocusable')['to'](_0x44b2df,'isCollapsed',_0x1411a8=>!_0x1411a8),_0x35be0a['onClick']&&this['listenTo'](_0x48607e,'execute',()=>{this['view']['isCollapsed']||_0x35be0a['onClick'](_0x52f8a,_0x48607e['element']);}),_0x48607e;}),this['listenTo'](_0x44b2df['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x44b2df['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x44b2df['inlineListView']['keystrokes']['set']('Enter',(_0x4fb576,_0x210009)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x210009());}),_0x44b2df['render'](),_0x161632['render'](),_0x1f3952({'emitter':_0x44b2df,'activator':()=>_0x161632['isVisible'],'contextElements':[_0x161632['element'],_0x44b2df['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x232dc1['config']['get']('presenceList.container')['appendChild'](_0x44b2df['element']),this['_bodyCollection']=new _0x4b9063(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x44b2df;}['_handleUserAdd'](_0x549b6e){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x549b6e['isMe'])return;const _0x5974f2=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x5974f2-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x3200fb=_0x549b6e['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x549b6e,_0x3200fb);}['_handleUserRemove'](_0x5385d9){this['usersCount']--;const {collapseAt:_0x28952c}=this['context']['config']['get']('presenceList'),_0x55a673=this['usersCount']>=_0x28952c;if(this['currentDisplayedUsers']['get'](_0x5385d9['id']))this['currentDisplayedUsers']['remove'](_0x5385d9['id']);else{if(_0x55a673&&this['currentDisplayedUsers']['length']+0x1===_0x28952c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x55a673?0x1:0x0)<this['usersCount']){for(const _0x372881 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x372881['id'])&&(this['currentDisplayedUsers']['add'](_0x372881,Math['min'](this['currentDisplayedUsers']['length']-(_0x55a673?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x55a673?0x1:0x0)===_0x28952c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x3e24d5=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new x(this['context']['locale'],!!_0x3e24d5['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x262f5f}=this['presenceDropdownView'];_0x262f5f['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5aa84d=>{if(!_0x3e24d5['displayMe']&&_0x5aa84d['isMe'])return null;const _0x49bffe=new k(this['context']['locale'],_0x5aa84d,!!_0x3e24d5['onClick']);return _0x3e24d5['onClick']&&this['listenTo'](_0x49bffe,'execute',()=>{_0x3e24d5['onClick'](_0x5aa84d,_0x49bffe['element']);}),_0x49bffe;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x262f5f['focus'](),_0x262f5f['checkIfScrollable']();const _0x2c6d15=(_0x2e6411,_0x35f8d1)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x35f8d1();};_0x262f5f['keystrokes']['set']('Esc',_0x2c6d15),_0x262f5f['keystrokes']['set']('Shift+Tab',_0x2c6d15),_0x262f5f['keystrokes']['set']('Tab',(_0x4b5c74,_0x4abf41)=>{!function(_0x3334f4){const _0x59ec7e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5f2ca2=>_0x5f2ca2+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x45f8b4=[...document['body']['querySelectorAll'](_0x59ec7e)]['filter'](_0x124ca3=>_0x124ca3===document['activeElement']||_0x124ca3['offsetWidth']+_0x124ca3['offsetHeight']>0x0)['sort']((_0x2eb6a5,_0x998ccd)=>(_0x2eb6a5['tabIndex']||0x0)-(_0x998ccd['tabIndex']||0x0)),_0x1e3e11=_0x45f8b4['indexOf'](_0x3334f4),_0x1ba877=_0x45f8b4[(_0x1e3e11+0x1)%_0x45f8b4['length']];_0x1ba877&&_0x1ba877['focus']();}(this['view']['element']),this['hideDropdown'](),_0x4abf41();}),_0x262f5f['focusTracker']['add'](this['view']['element']),_0x262f5f['focusTracker']['on']('change:isFocused',(_0x2f658d,_0x516e69,_0xdaf3fe)=>{_0xdaf3fe||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 s extends _0x92af73{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};
23
+ import{ContextPlugin as _0x50d425,Plugin as _0x445119,PendingActions as _0x35b9fe,Context as _0x38b153}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x131f13,CKEditorError as _0x40dad7,Collection as _0x39af79,global as _0x4a36f6,version as nt,uid as _0x18e0d9,KeystrokeHandler as _0x5f46a0}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0xe23653,View as _0x337b85,ListView as _0x5d69bd,ListItemView as rt,LabelView as ot,BalloonPanelView as _0x4d9134,clickOutsideHandler as _0xcc8b17,BodyCollection as _0x2e46db}from'@ckeditor/ckeditor5-ui/dist/index.js';import{LiveRange as ht,History as _0x19f92b,NoOperation as _0x54891a,InsertOperation as _0xe1436f,MarkerOperation as _0x3c7e22,RootAttributeOperation as _0x401de0,transformSets as _0x216b65,OperationFactory as _0x55bd9e}from'@ckeditor/ckeditor5-engine/dist/index.js';import{WebSocketGateway as lt,WEB_SOCKET_GATEWAY_STATES as _0x3c6968,CollaborativeEditingService as _0xf291f8,User as dt,CommentsService as _0x21da9a,TrackChangesService as et,RevisionHistoryService as it,EditorService as tt}from'@ckeditor/ckeditor-cloud-services-collaboration/dist/index.js';import{Users as _0x5380a6,UserView as ct}from'ckeditor5-collaboration/dist/index.js';import{Compressor as _0x5c669b}from'@ckeditor/ckeditor5-operations-compressor/dist/index.js';import{isElement as _0x51f85d}from'es-toolkit/compat';class c extends _0x50d425{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>lt)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return['CloudServices',_0xe23653];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x12c406){super(_0x12c406),this['set']('state',_0x3c6968['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=Object['create'](_0x131f13);}['init'](){const _0x993733=this['context'],_0x13ec11=_0x993733['plugins']['get']('CloudServices'),_0x26c2b1=_0x993733['plugins']['get'](_0xe23653);if(!_0x13ec11['token'])throw new _0x40dad7('websocketgateway-missing-token',this);if(!_0x13ec11['webSocketUrl'])throw new _0x40dad7('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),c['WebSocketGateway']['connect'](_0x13ec11['token'],_0x13ec11['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x2f179e=>{if(this['connection']=_0x2f179e,this['bind']('state')['to'](_0x2f179e,'state',this,'_isBrowserOffline',(_0xdecc05,_0xe05bc5)=>('connected'!==_0xdecc05&&(this['_shouldPluginsReconnect']=!0x0),_0xe05bc5||_0xdecc05!==_0x3c6968['CONNECTED']?_0x3c6968['DISCONNECTED']:this['state']==_0x3c6968['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x3c6968['CONNECTING']):_0x3c6968['CONNECTED'])),this['connection']['on']('error',(_0x5401f9,_0x228d8a)=>{if('limitExceeded'!==_0x228d8a['code'])throw console['error'](_0x228d8a),new _0x40dad7('cloudservices-init',null,{'originalError':_0x228d8a});_0x26c2b1['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'});}),!_0x2f179e['me'])return new Promise(_0x52dc33=>_0x2f179e['on']('change:me',_0x52dc33));})['catch'](_0x57f708=>{throw console['error'](_0x57f708),new _0x40dad7('cloudservices-init',null,{'originalError':_0x57f708});});}['addToReconnectionStack'](_0x4be79e){if('function'!=typeof _0x4be79e['reconnect'])throw new _0x40dad7('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4be79e))throw new _0x40dad7('websocketgateway-plugin-already-registered',this,{'name':_0x4be79e['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4be79e);}['removeFromReconnectionStack'](_0x57a90a){this['_reconnectionStack']['delete'](_0x57a90a);}['isInReconnectionStack'](_0x3724ae){return this['_reconnectionStack']['has'](_0x3724ae);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0xefd511=>_0xefd511['reconnect']())))['then'](()=>this['state']=_0x3c6968['CONNECTED'])['catch'](_0xd9186b=>{throw console['error'](_0xd9186b),new _0x40dad7('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x3c6968['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class i extends _0x50d425{['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[c,_0x5380a6];}constructor(_0x46856e){super(_0x46856e),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x39af79(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x5380a6);}['init'](){const _0x8d7971=this['context']['plugins']['get'](c);this['listenTo'](_0x8d7971,'change:state',(_0x28352c,_0x256035,_0xcdaf5b)=>{if('connected'!==_0xcdaf5b)this['channelSessions']['forEach'](_0x3b4594=>_0x3b4594['clear']()),this['channelConnectedUsers']['forEach'](_0xad1e4b=>_0xad1e4b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x3f2d0c,_0x5b4dd7]of this['_registeredSessions'])for(const _0x582b23 of _0x5b4dd7)this['_handleSessionAdd'](_0x3f2d0c,_0x582b23);}}),this['_createUser'](_0x8d7971['connection']['me'],!0x0);}['register'](_0x9866ce,_0x2f8c62){if(this['_registeredSessions']['has'](_0x9866ce))throw new _0x40dad7('sessions-register-already-registered',null,{'channelId':_0x9866ce});this['_registeredSessions']['set'](_0x9866ce,_0x2f8c62),this['channelSessions']['set'](_0x9866ce,new _0x39af79()),this['channelConnectedUsers']['set'](_0x9866ce,new _0x39af79()),this['listenTo'](_0x2f8c62,'add',(_0xbb77e2,_0x2e3968)=>this['_handleSessionAdd'](_0x9866ce,_0x2e3968)),this['listenTo'](_0x2f8c62,'remove',(_0x49236b,_0x1d478e)=>this['_handleSessionRemove'](_0x9866ce,_0x1d478e));for(const _0x3ff31a of _0x2f8c62)this['_handleSessionAdd'](_0x9866ce,_0x3ff31a);}['unregister'](_0x5c3ef6){if(!this['_registeredSessions']['has'](_0x5c3ef6))throw new _0x40dad7('sessions-unregister-not-exist',null,{'channelId':_0x5c3ef6});const _0x3f0d11=this['_registeredSessions']['get'](_0x5c3ef6);this['stopListening'](_0x3f0d11);for(const _0x3c45e6 of _0x3f0d11)'connected'===this['context']['plugins']['get'](c)['state']&&this['_handleSessionRemove'](_0x5c3ef6,_0x3c45e6);this['_registeredSessions']['delete'](_0x5c3ef6),this['channelSessions']['delete'](_0x5c3ef6),this['channelConnectedUsers']['delete'](_0x5c3ef6);}get['mySessionId'](){return this['context']['plugins']['get'](c)['connection']['sessionId'];}['getUserBySessionId'](_0x1b3f36){for(const _0xacf547 of this['channelSessions']['values']())for(const _0x45284d of _0xacf547)if(_0x45284d['id']===_0x1b3f36)return _0x45284d['user'];}['getUserSessions'](_0x46e2a5,_0xa6817a){const _0x46e970=_0xa6817a?[this['channelSessions']['get'](_0xa6817a)]:this['channelSessions']['values'](),_0x22e910=new Set();for(const _0xabc02 of _0x46e970)for(const _0x457e72 of _0xabc02)_0x457e72['user']['id']===_0x46e2a5['id']&&_0x22e910['add'](_0x457e72['id']);return _0x22e910;}['getUserRole'](_0x76f0f9){for(const _0xde48fe of this['channelSessions']['values']())for(const _0x37447a of _0xde48fe)if(_0x37447a['user']===_0x76f0f9)return _0x37447a['role'];}['_handleSessionAdd'](_0x46f770,_0x573894){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x2b3607=_0x573894['user'],_0x8874e2=this['_users']['getUser'](_0x2b3607['id'])||this['_createUser'](_0x2b3607),_0x34d5a7=Object['assign']({},_0x573894,{'user':_0x8874e2});this['channelSessions']['get'](_0x46f770)['add'](_0x34d5a7);const _0x2b41bc=this['channelConnectedUsers']['get'](_0x46f770);_0x2b41bc['has'](_0x8874e2['id'])||_0x2b41bc['add'](_0x8874e2),this['allConnectedUsers']['has'](_0x8874e2['id'])||this['allConnectedUsers']['add'](_0x8874e2,_0x8874e2['isMe']?0x0:void 0x0),this['fire']('sessionAdd:'+_0x46f770,{'channelId':_0x46f770,'session':_0x34d5a7});}['_handleSessionRemove'](_0x32a15b,_0x2a9b66){if('connected'!==this['context']['plugins']['get'](c)['state'])return;const _0x1c082a=this['channelConnectedUsers']['get'](_0x32a15b),_0x376f15=_0x2a9b66['user'];_0x376f15['id']&&(this['channelSessions']['get'](_0x32a15b)['remove'](_0x2a9b66['id']),_0x1c082a['has'](_0x376f15['id'])&&!this['getUserSessions'](_0x376f15,_0x32a15b)['size']&&_0x1c082a['remove'](_0x376f15['id']),this['allConnectedUsers']['get'](_0x376f15['id'])&&!this['getUserSessions'](_0x376f15)['size']&&this['allConnectedUsers']['remove'](_0x376f15['id']));}['_createUser'](_0x3ed5a9,_0x1bb4c5){const _0x4f4149=this['_users']['addUser'](_0x3ed5a9);return _0x1bb4c5&&this['_users']['defineMe'](_0x3ed5a9['id']),_0x4f4149['orderNumber']=this['_uniqueUsersCount']++,_0x4f4149;}}class q extends _0x445119{['_domEmitter']=new(_0x131f13())();static get['requires'](){return[i];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x5d8dd0=this['editor'],_0x3f7e61=_0x5d8dd0['plugins']['get'](i);_0x5d8dd0['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4159bf,{writer:_0x3f662e})=>function(_0x3651aa,_0x41df2a,_0x4b5253,_0x158e8d){const _0x38632f=_0x3651aa['markerName']['split'](':')[0x2],_0x16d429=_0x4b5253['getUserBySessionId'](_0x38632f);if(!_0x16d429||_0x38632f===_0x4b5253['mySessionId'])return;if(!_0x158e8d['model']['schema']['checkChild'](_0x3651aa['markerRange']['start'],'$text'))return;const _0x2ea128={'class':'ck-user__marker\x20'+_0x16d429['color']['getMarkerClass'](),'data-name':_0x16d429['name'],'data-session-id':_0x38632f},_0x2f4f01=_0x158e8d['model']['markers']['get'](_0x3651aa['markerName']),_0x34e4da=_0x2f4f01['getStart'](),_0xb4c923=_0x34e4da['nodeAfter'],_0x2cb20c=_0x158e8d['model']['schema'];if(_0xb4c923&&_0x2cb20c['isObject'](_0xb4c923)&&_0x2cb20c['isInline'](_0xb4c923)&&!_0x158e8d['model']['markers']['get']('user:range:'+_0x38632f)['getRange']()['isCollapsed'])return;const _0x30f8e2=_0x34e4da['parent'];return _0x158e8d['model']['schema']['isLimit'](_0x30f8e2)&&!_0x158e8d['model']['hasContent'](_0x30f8e2)&&(_0x2ea128['contenteditable']=!0x1),function(_0x4ec5ae,_0x11c958,_0x4c0203){const _0x46369f=_0x4ec5ae['createUIElement']('span',_0x11c958);return _0x4ec5ae['setCustomProperty']('userPositionMarker',!0x0,_0x46369f),_0x46369f['render']=function(_0x24ba18){const _0x1db251=this['toDomElement'](_0x24ba18),_0x206092=document['createElement']('span');return _0x206092['classList']['add']('ck-user__marker-tooltip'),_0x206092['setAttribute']('contenteditable','false'),_0x206092['setAttribute']('spellcheck','false'),_0x206092['textContent']=_0x4c0203['name'],_0x1db251['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x206092['outerHTML']+'⁠',_0x1db251['addEventListener']('mouseenter',()=>{_0x1db251['classList']['add']('ck-user__marker_hovered');}),_0x1db251['addEventListener']('mouseleave',()=>{_0x1db251['classList']['remove']('ck-user__marker_hovered');}),_0x1db251;},_0x46369f['isSimilar']=function(_0x4b3acb){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4b3acb['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4b3acb['getAttribute']('data-session-id'));},_0x46369f;}(_0x41df2a,_0x2ea128,_0x16d429);}(_0x4159bf,_0x3f662e,_0x3f7e61,_0x5d8dd0)}),_0x5d8dd0['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x907c3b=>function(_0x509b48,_0x5a5802){const _0x4e6966=_0x509b48['markerName']['split'](':')[0x2];if(_0x4e6966===_0x5a5802['mySessionId'])return null;const _0x4ec707=_0x5a5802['getUserBySessionId'](_0x4e6966);if(!_0x4ec707)return{'id':_0x4e6966,'classes':[]};return{'id':_0x4e6966,'classes':['ck-user__selection',_0x4ec707['color']['getSelectionClass']()],'attributes':{'data-session-id':_0x4e6966},'priority':0x7d0+_0x4ec707['orderNumber']};}(_0x907c3b,_0x3f7e61)}),function(_0x42784f){const _0xab70f5=_0x42784f['model'],_0xc97657=new Map(),_0x552d39=_0x42784f['plugins']['get'](i);_0xab70f5['markers']['on']('update:user:range',(_0x40730d,_0x2bf229,_0x582258,_0x2b3b65)=>{if(!_0x2b3b65&&_0xc97657['get'](_0x2bf229['name']))return _0xc97657['get'](_0x2bf229['name'])['detach'](),void _0xc97657['delete'](_0x2bf229['name']);const _0x7670bf=_0x2bf229['name']['split'](':')[0x2];if(_0x7670bf===_0x552d39['mySessionId'])return;const _0x195dae='user:position:'+_0x7670bf;_0xab70f5['markers']['has'](_0x195dae)&&_0x42784f['editing']['reconvertMarker'](_0x195dae),_0x2bf229['on']('change:range',(_0x38328a,_0x6166b8,_0x3b893d)=>{if('$graveyard'!=_0x6166b8['root']['rootName']&&'$graveyard'==_0x2bf229['getRange']()['root']['rootName']&&!_0xc97657['has'](_0x2bf229['name'])){const _0x103575=_0xab70f5['schema']['getNearestSelectionRange'](_0x3b893d['deletionPosition']);if(_0x103575){const _0x34555f=ht['fromRange'](_0x103575);_0xc97657['set'](_0x2bf229['name'],_0x34555f),_0x34555f['on']('change:range',(_0x35643c,_0x49ac5a,_0x1608d4)=>{if('$graveyard'==_0x34555f['root']['rootName']){const _0x51c5fe=_0xab70f5['schema']['getNearestSelectionRange'](_0x1608d4['deletionPosition']);_0x51c5fe?(_0x34555f['start']=_0x51c5fe['start'],_0x34555f['end']=_0x51c5fe['end']):(_0xc97657['delete'](_0x2bf229['name']),_0x34555f['detach']());}});}}});}),_0xab70f5['document']['on']('change',()=>{_0xc97657['size']>0x0&&_0xab70f5['enqueueChange']({'isUndoable':!0x1},_0x21b11a=>{for(const [_0x13e4cd,_0x42c842]of _0xc97657)'$graveyard'==_0xab70f5['markers']['get'](_0x13e4cd)['getRange']()['root']['rootName']&&(te(_0x13e4cd['split'](':')[0x2],_0x42c842['toRange'](),_0xab70f5,_0x21b11a),_0x42c842['detach']());_0xc97657['clear']();});});}(_0x5d8dd0),this['_domEmitter']['listenTo'](_0x4a36f6['document'],'keydown',(_0x36062e,{key:_0x3cfd45})=>{'Escape'===_0x3cfd45&&function(_0x20df5b){_0x20df5b['editing']['view']['change'](_0x3f9f85=>{for(const _0x2b5b07 of _0x20df5b['model']['markers']){if(!_0x2b5b07['name']['startsWith']('user:position'))continue;const _0xf9ae1f=_0x20df5b['editing']['mapper']['markerNameToElements'](_0x2b5b07['name']);if(_0xf9ae1f){for(const _0x14a0a4 of _0xf9ae1f)_0x3f9f85['removeClass']('ck-user__marker_hovered',_0x14a0a4);}}});}(_0x5d8dd0);},{'useCapture':!0x0});}['afterInit'](){const _0x2a4acb=this['editor'],_0x1f006e=_0x2a4acb['commands']['get']('undo');_0x1f006e&&_0x2a4acb['model']['on']('applyOperation',(_0x50386e,_0x3ac293)=>{const _0x5b8d3c=_0x3ac293[0x0];if(!_0x5b8d3c['isDocumentOperation'])return;if('marker'!=_0x5b8d3c['type']||!_0x5b8d3c['name']['startsWith']('user:'))return;const _0x2ea80a=_0x5b8d3c['batch'];_0x1f006e['_createdBatches']['has'](_0x2ea80a)&&(_0x5b8d3c['newRange']=_0x5b8d3c['oldRange']?_0x2a4acb['model']['createRange'](_0x5b8d3c['oldRange']['start'],_0x5b8d3c['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x16111a=this['editor'],_0x5d2ee9=_0x16111a['model']['document'],_0x222116=_0x16111a['plugins']['get'](i);_0x16111a['model']['enqueueChange']({'isUndoable':!0x1},_0x46bdcc=>{const _0x439934='user:range:'+_0x222116['mySessionId'],_0xe1ae59='user:position:'+_0x222116['mySessionId'],_0x44bcca=_0x16111a['model']['markers']['has'](_0x439934);_0x16111a['editing']['view']['hasDomSelection']?te(_0x222116['mySessionId'],_0x5d2ee9['selection']['getFirstRange'](),_0x16111a['model'],_0x46bdcc):_0x44bcca&&(_0x46bdcc['removeMarker'](_0x439934),_0x46bdcc['removeMarker'](_0xe1ae59));});}}function te(_0x15daae,_0x3f4366,_0x153e3b,_0x57284b){const _0x3fffa3='user:range:'+_0x15daae,_0xa14c7b='user:position:'+_0x15daae,_0x54e021=_0x3f4366['getContainedElement']();let _0x453401=_0x3f4366['start'];_0x54e021&&_0x54e021['is']('element','tableCell')&&(_0x453401=function(_0x5d11b5,_0x208f60){for(const _0x30d8f3 of _0x5d11b5['getPositions']())if(_0x208f60['schema']['checkChild'](_0x30d8f3,'$text'))return _0x30d8f3;}(_0x3f4366,_0x153e3b),_0x3f4366=_0x57284b['createRange'](_0x453401));const _0x1265c4=_0x57284b['createRange'](_0x453401);_0x153e3b['markers']['has'](_0x3fffa3)?(_0x57284b['updateMarker'](_0x3fffa3,{'range':_0x3f4366}),_0x57284b['updateMarker'](_0xa14c7b,{'range':_0x1265c4})):(_0x57284b['addMarker'](_0x3fffa3,{'range':_0x3f4366,'usingOperation':!0x0}),_0x57284b['addMarker'](_0xa14c7b,{'range':_0x1265c4,'usingOperation':!0x0}));}function G(_0x1aa647,_0x17fee3,_0x22d39e){const _0x524743=_0x1aa647['t'],t=_0x1aa647['t'];switch(_0x17fee3){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 _0x524743({'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'},_0x22d39e);default:return'';}}let J=0x1;class l extends _0x445119{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0xf291f8)());['_offset'];['sessionId'];['serverHistory'];['_channelId'];['_service'];['_document'];['_compressor'];['_bufferedOperations'];['_knownOperations'];['_knownRootNames'];['_pendingAction'];['_hasSelectionChanged'];['_sendBufferedOperationsDelayId'];['_baseBufferDelay'];['_currentBufferDelay'];['_lastSyncedOperationId'];['_disconnectionOperations'];['_operationIdentifier'];static get['requires'](){return[c,i,q,_0x35b9fe,_0x5380a6,_0xe23653];}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 _0x36cacb=this['serverHistory']['getOperations']();for(let _0x57eeed=_0x36cacb['length']-0x1;_0x57eeed>=0x0;_0x57eeed--){const _0x3d2d1c=_0x36cacb[_0x57eeed];if(!this['_disconnectionOperations']['has'](_0x3d2d1c))return _0x3d2d1c['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x7e8e5c){if(super(_0x7e8e5c),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x19f92b(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x40dad7('collaboration-missing-channelid',this);const _0x3c6eb5=_0x7e8e5c['config']['get']('cloudServices.bundleVersion')||nt;this['_service']=new l['CollaborativeEditingService'](_0x3c6eb5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5c669b(),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 Y(this['_disconnectionOperations']);}['init'](){const _0x162ed8=this['editor'],_0x1ca788=_0x162ed8['plugins']['get'](_0x5380a6),_0x487d83=_0x162ed8['plugins']['get'](c);this['listenTo'](_0x1ca788,'getOperationAuthor',(_0x24c499,_0x1c080d)=>{const _0x700145=_0x1c080d[0x0];_0x700145['_authorId']&&(_0x24c499['return']=_0x1ca788['getUser'](_0x700145['_authorId']),_0x24c499['stop']()),null===_0x700145['_authorId']&&(_0x24c499['return']=null,_0x24c499['stop']());},{'priority':'high'}),this['listenTo'](_0x162ed8['model']['document']['selection'],'change:range',(_0x334c0c,_0x25cc47)=>{_0x25cc47['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x162ed8['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x162ed8['model']['on']('applyOperation',(_0x4f9523,_0x5a429b)=>{const _0x54e7f5=_0x5a429b[0x0];_0x54e7f5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x54e7f5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x487d83,'state',this,'_hasSynchronizationProblem',(_0x3a17b6,_0x30dcc8)=>'connected'===_0x3a17b6&&!_0x30dcc8),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x162ed8['disableReadOnlyMode']('rtc-offline'):_0x162ed8['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x162ed8['disableReadOnlyMode']('rtc-offline'):_0x162ed8['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x231977=this['editor']['plugins']['get'](i),_0x224d29=this['editor']['plugins']['get'](c);try{this['_isPendingUpdate']=!0x0,_0x231977['unregister'](this['_channelId']);const _0x10e6fb=await this['_service']['reconnect'](_0x224d29['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x10e6fb)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x38d566=await this['_service']['getConnectedSessions']();_0x231977['register'](this['_channelId'],_0x38d566),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x18e293){if(function(_0x4ee783){return'404'===_0x4ee783['code'];}(_0x18e293)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x1c32da){return'409'===_0x1c32da['code'];}(_0x18e293)){const _0x53a3eb=G(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'](_0x53a3eb);}else{if(!(_0x18e293 instanceof Q))throw _0x18e293;this['_handleReconnectionError']();}}}}['destroy'](){const _0x300734=this['editor']['plugins']['get'](c),_0x1ad0f2=this['editor']['plugins']['get'](i);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1ad0f2['channelSessions']['has'](this['_channelId'])&&_0x1ad0f2['unregister'](this['_channelId']),_0x300734['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x37d568){if(this['sessionId']!==_0x37d568['sessionId']&&this['_lastSyncedOperationId']!==_0x37d568['lastOperationId'])throw new Q();return this['sessionId']=_0x37d568['sessionId'],this['_handleServerResponse']([],{..._0x37d568,'wereChangesApplied':!0x1,'data':_0x37d568['data']},'reconnect');}async['_connectService'](_0x436513,_0x140b96=!0x1){const {connection:_0x1dbf3f}=this['editor']['plugins']['get'](c);l['CollaborativeEditingService']['getConnectedSessions'](_0x1dbf3f,this['_channelId'])['then'](_0x47b4a4=>this['_initSessionsHandling'](_0x47b4a4))['catch'](_0x3d176a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x3d176a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5285b5,_0x54e2c0)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x54e2c0);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5657e7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x436513);this['_isPendingUpdate']=!0x0;const _0x25aa4c=await this['_service']['connect'](_0x1dbf3f,this['_compressOperations'](_0x436513),_0x5657e7);if(this['sessionId']=_0x25aa4c['sessionId'],_0x140b96){if(!_0x25aa4c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x25aa4c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x436513,_0x25aa4c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x25aa4c,_0x436513);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x34ca19=this['editor']['plugins']['get'](i),_0x34695d=this['editor']['plugins']['get'](q),_0x29768f=_0x34ca19['channelSessions']['get'](this['_channelId']);_0x29768f&&_0x29768f['length']>0x1?_0x34695d['createUserMarkerOperations']():this['listenTo'](_0x34ca19,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x34ca19['channelSessions']['get'](this['_channelId'])['length']&&_0x34695d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4a81dc,_0x1f9dbe,_0x3af3a8,_0x14f86a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1f9dbe){const _0x126bb3=this['_decompressOperations'](_0x3af3a8,_0x14f86a);await this['_fetchMissingUsers'](_0x126bb3),this['_handleExternalOperations'](_0x126bb3,_0x1f9dbe,_0x3af3a8['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x450d4b}=this['editor'];let _0x1a50ff;try{_0x1a50ff=await this['_service']['getDocumentDetails']();}catch(_0x5c1a87){const _0x4811ef=G(_0x450d4b,'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'](_0x4811ef);}const _0x5cf90c=_0x1a50ff['currentDocumentSession']||_0x1a50ff['lastDocumentSession'];if(this['_lastSyncedOperationId']===_0x5cf90c['lastOperationId'])await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);else{const _0x459563=G(_0x450d4b,'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.');this['_handleReconnectionError'](_0x459563);}}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x408462){const _0x3120f8=this['editor']['plugins']['get'](i);this['listenTo'](_0x3120f8,'sessionAdd:'+this['_channelId'],(_0x45221e,{session:_0x566eed})=>{if(_0x566eed['id']===_0x3120f8['mySessionId']){_0x45221e['off']();const _0x4a6b50=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x22467c=_0x566eed['permissions'];_0x4a6b50&&_0x4a6b50['isEnabled']&&(_0x22467c=_0x22467c['filter'](_0x3523b4=>'document:write'!==_0x3523b4)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x22467c,this['_channelId']);}}),_0x3120f8['register'](this['_channelId'],_0x408462);}['_initThrowingOnDataSet'](){const _0x362650=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x51de54)=>{if(!_0x51de54[_0x51de54['length']-0x1]['suppressErrorInCollaboration'])throw new _0x40dad7('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x362650['apply'](this['editor']['data'],_0x51de54);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5dc5ad,[_0x228265])=>{if(this['_document']['version'])throw new _0x40dad7('realtimecollaborationclient-init-document-already-initialized',this);_0x5dc5ad['stop'](),this['_setPendingAction']();const _0x680a71=this['editor']['config']['get']('rootsAttributes'),_0x52ff0d=this['_getOperationsFromInitData'](_0x228265,_0x680a71);0x0==_0x52ff0d['length']&&_0x52ff0d['push'](new _0x54891a(0x0)),_0x5dc5ad['return']=this['_connectService'](_0x52ff0d)['then'](()=>{this['editor']['plugins']['get'](c)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xc8c250=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xc8c250))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x2b47e8,[_0x1adbc8,_0x589696])=>{_0x2b47e8['stop']();const _0x5aa1aa=this['editor']['model']['document']['getRoot'](_0x1adbc8);if(!this['_knownRootNames']['has'](_0x1adbc8)){const _0x54848d=_0x589696&&_0x589696['data']?_0x589696['data']:'',_0x5748f8=_0x589696&&_0x589696['attributes']?_0x589696['attributes']:{};await this['_loadRoot'](_0x1adbc8,_0x54848d,_0x5748f8);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5aa1aa['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5aa1aa);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x20a08d){const _0x132c70=this['editor']['plugins']['get'](_0x5380a6),{connection:_0x3ceb34}=this['editor']['plugins']['get'](c),_0x23ec5e=new Set();for(const _0x1b5845 of _0x20a08d){const _0x31d0c3=_0x1b5845['_authorId'];_0x31d0c3&&!_0x132c70['getUser'](_0x31d0c3)&&_0x23ec5e['add'](_0x31d0c3);}if(0x0===_0x23ec5e['size'])return;const _0x5aaa17=await dt['getMany'](_0x3ceb34,Array['from'](_0x23ec5e));for(const _0xdda1d4 of _0x5aaa17)_0x132c70['getUser'](_0xdda1d4['id'])||_0x132c70['addUser'](_0xdda1d4);}['_getOperationsFromInitData'](_0x15c7f3,_0x2883a4={}){const _0x4974bd=this['editor']['model'],_0x3804e3=[];let _0xd4b44c=0x0;const _0x43c03c='string'==typeof _0x15c7f3?{'main':_0x15c7f3}:_0x15c7f3;for(const _0x39b532 of Object['keys'](_0x43c03c)){if(!this['_document']['roots']['has'](_0x39b532))throw new _0x40dad7('realtimecollaborationclient-init-non-existent-root',this);const _0x3870c3=this['editor']['data']['parse'](_0x43c03c[_0x39b532]),_0x266112=this['_document']['getRoot'](_0x39b532),_0x32e509=new _0xe1436f(_0x4974bd['createPositionAt'](_0x266112,0x0),_0x3870c3,_0xd4b44c++);_0x3804e3['push'](_0x32e509);for(const [_0x20fd03,_0x197aa4]of _0x3870c3['markers']){const _0xb4784f=_0x4974bd['createRange'](_0x4974bd['createPositionFromPath'](_0x266112,_0x197aa4['start']['path']['slice']()),_0x4974bd['createPositionFromPath'](_0x266112,_0x197aa4['end']['path']['slice']())),_0x867df1=new _0x3c7e22(_0x20fd03,null,_0xb4784f,_0x4974bd['markers'],!0x0,_0xd4b44c++);_0x3804e3['push'](_0x867df1);}}if(_0x2883a4)for(const [_0x475481,_0x225df9]of Object['entries'](_0x2883a4)){const _0x441ad2=_0x4974bd['document']['getRoot'](_0x475481);if(!_0x441ad2)throw new _0x40dad7('multi-root-editor-root-attributes-no-root',null);for(const [_0x2fd467,_0x796e99]of Object['entries'](_0x225df9))if(null!==_0x796e99){const _0x6b3b19=new _0x401de0(_0x441ad2,_0x2fd467,null,_0x796e99,_0xd4b44c++);_0x3804e3['push'](_0x6b3b19);}}return _0x3804e3;}async['_loadRoot'](_0x3d21cd,_0x511ec6,_0x5c5165){this['_getOperationsFromInitData']({[_0x3d21cd]:_0x511ec6},{[_0x3d21cd]:_0x5c5165})['forEach']((_0x45af00,_0x56cc58)=>{_0x45af00['baseVersion']=this['_document']['version']+_0x56cc58,_0x45af00['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x45af00);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2ca56a,_0x5146c6){let _0x1d7b98;this['_offset']=_0x2ca56a['offset'];const _0x3a2213=_0x2ca56a['wereChangesApplied']&&!_0x2ca56a['initData'],_0xa77d8b=_0x3a2213?0x0:_0x2ca56a['data']['baseVersion'];if(_0x5146c6['forEach'](_0x29f0bd=>{_0x29f0bd['_isInit']=!0x0,_0x29f0bd['createdAt']=_0x2ca56a['sessionCreatedAt'],_0x29f0bd['_authorId']=null;}),_0x3a2213)_0x1d7b98=_0x5146c6,this['_applyOperationsSet'](_0x1d7b98,_0x3a2213);else{if(_0x2ca56a['initData']){const _0x18c724=this['_getOperationsFromInitData'](_0x2ca56a['initData']);this['_document']['history']['version']=-_0x18c724['length'],_0x18c724['forEach'](_0x4f5e01=>{_0x4f5e01['baseVersion']-=_0x18c724['length'],_0x4f5e01['createdAt']=_0x2ca56a['sessionCreatedAt'],_0x4f5e01['_isInit']=!0x0,_0x4f5e01['_authorId']=null;}),this['_applyOperationsSet'](_0x18c724,!0x0),this['serverHistory']['version']=-_0x18c724['length']+this['_offset'],this['_updateServerHistory'](_0x18c724);}this['_document']['history']['version']=_0xa77d8b,_0x1d7b98=this['_decompressOperations'](_0x2ca56a['data'],_0x2ca56a['metadata']),await this['_fetchMissingUsers'](_0x1d7b98),this['_applyOperationsSet'](_0x1d7b98,_0x3a2213);}_0x2ca56a['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1d7b98,_0x2ca56a['lastOperationId']),this['_lastSyncedOperationId']=_0x2ca56a['lastOperationId']),this['serverHistory']['version']=_0xa77d8b+this['_offset'],this['_updateServerHistory'](_0x1d7b98),_0x5146c6['filter'](_0x233b70=>{const _0x2d38aa=this['_getAffectedRoot'](_0x233b70);return _0x2d38aa&&!this['_knownRootNames']['has'](_0x2d38aa);})['forEach']((_0x4662d0,_0x531027)=>{_0x4662d0['baseVersion']=this['_document']['version']+_0x531027,this['_saveOperationInBuffer'](_0x4662d0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x325a92,_0xca9224){const _0x467bcf=_0xca9224&&_0xca9224['message'];if(_0x467bcf&&_0x467bcf['startsWith']('realtimecollaborationclient'))throw _0xca9224;const _0x3e1c06=this['editor']['plugins']['get'](c);throw this['_isPendingUpdate']=!0x0,_0x3e1c06['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x40dad7(_0x325a92,this['editor'],_0x467bcf?{'originalError':_0x467bcf}:void 0x0);}['_saveOperationInBuffer'](_0xf8f504){this['_knownOperations']['has'](_0xf8f504)||(this['_knownOperations']['add'](_0xf8f504),this['_bufferedOperations']['push'](_0xf8f504),this['_pendingAction']||'marker'==_0xf8f504['type']&&!_0xf8f504['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x2b2884=!0x1){!_0x2b2884&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x224226=>{_0x224226&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3a651e=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xc51364){return _0xc51364['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xc51364['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xc51364['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3a651e)||this['_crash'](_0x3a651e['message'],_0x3a651e);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1533aa=>{this['on']('change:_isPendingUpdate',()=>{_0x1533aa();});});}async['_sendBufferedOperations'](){const _0x45835b=this['editor']['plugins']['get'](q);if(this['_shouldSendSelectionUpdate']()&&(_0x45835b['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x2b0951=[...this['_bufferedOperations']];for(const _0x5646a1 of _0x2b0951)_0x5646a1['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5646a1);const _0x5039a7=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x2b0951),_0x1b674d=J++,_0x306295=this['_compressOperations'](_0x2b0951),_0x4d93ad=await this['_service']['sendOperations'](_0x306295,_0x306295['baseVersion'],_0x5039a7);try{return await this['_handleServerResponse'](_0x2b0951,_0x4d93ad,_0x1b674d);}catch(_0x15a770){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x15a770);}}async['_handleServerResponse'](_0xbc2c64,_0x2f7a8d,_0x50d4ec){if('error'in _0x2f7a8d)throw _0x2f7a8d['error'];let _0x181e54=!0x1;if(_0x2f7a8d['wereChangesApplied']){_0x2f7a8d['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2f7a8d['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x369bfb=>!_0xbc2c64['includes'](_0x369bfb));for(const _0x2963fc of _0xbc2c64)_0x2963fc['createdAt']='lastOperationAcceptedAt'in _0x2f7a8d&&_0x2f7a8d['lastOperationAcceptedAt']||void 0x0;X(_0xbc2c64,_0x2f7a8d['version']-_0xbc2c64['length']),this['_updateServerHistory'](_0xbc2c64);const _0x524108=_0xbc2c64['filter'](_0x2e50e6=>{if(!_0x2e50e6['_isInit'])return!0x1;const _0x542c07=this['_getAffectedRoot'](_0x2e50e6);return _0x542c07&&!this['_knownRootNames']['has'](_0x542c07);});X(_0x524108,this['_document']['version']),this['_applyOperationsSet'](_0x524108),_0x181e54=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x452345=this['_decompressOperations'](_0x2f7a8d['data'],_0x2f7a8d['metadata'])['filter'](_0x3414af=>_0x3414af['baseVersion']>=this['_lastServerVersion']);_0x452345['forEach'](_0x1a12c2=>this['_addKnownRoot'](_0x1a12c2)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5099e0=>!_0x5099e0['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5099e0))),this['_bufferedOperations']['length']&&X(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x452345),_0x181e54=this['_handleExternalOperations'](_0x452345,_0x2f7a8d['version'],_0x2f7a8d['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x181e54?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x5a2448,_0x95796,_0x13f3a5){try{const _0x363480={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x47342e,operationsB:_0x2af08f,originalOperations:_0xdb985d}=_0x216b65(_0x5a2448,this['_bufferedOperations'],_0x363480);X(_0x47342e,this['_document']['version']),X(_0x2af08f,_0x95796);for(const _0x46c850 of _0x47342e){const _0x2b533e=_0xdb985d['get'](_0x46c850);_0x46c850['_authorId']=_0x2b533e?_0x2b533e['_authorId']:null;}_0x13f3a5&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5a2448,_0x13f3a5),this['_lastSyncedOperationId']=_0x13f3a5),this['_bufferedOperations']=[..._0x2af08f],this['_applyOperationsSet'](_0x47342e),this['_updateServerHistory'](_0x5a2448);}catch(_0x5f3d11){return console['error'](_0x5f3d11),!0x1;}return!0x0;}['_applyOperationsSet'](_0x526e5f,_0x4e439c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x2dbaa9=>{for(const _0x324626 of _0x526e5f)this['_knownOperations']['add'](_0x324626),this['_addKnownRoot'](_0x324626),_0x2dbaa9['batch']['addOperation'](_0x324626),this['editor']['model']['applyOperation'](_0x324626);});}['_addKnownRoot'](_0x2715b9){const _0xb434db=this['_getAffectedRoot'](_0x2715b9);_0xb434db&&this['_knownRootNames']['add'](_0xb434db);}['_getAffectedRoot'](_0x58c791){let _0x50c4bc,_0x596ff0;switch(_0x58c791['type']){case'insert':_0x50c4bc=_0x58c791['position']['root'];break;case'marker':if(_0x596ff0=_0x58c791['newRange'],!_0x596ff0)return null;_0x50c4bc=_0x596ff0['root'];break;case'addRootAttribute':_0x50c4bc=_0x58c791['root'];break;case'addRoot':_0x50c4bc=_0x58c791['affectedSelectable'];break;case'move':_0x50c4bc=_0x58c791['targetPosition']['root'];break;default:return null;}return _0x50c4bc['rootName'];}['_updateServerHistory'](_0x418dcc){_0x418dcc['forEach'](_0x19ad6d=>{const _0x2696fe=_0x19ad6d['clone']();_0x2696fe['_authorId']=_0x19ad6d['_authorId'],_0x2696fe['_isInit']=!!_0x19ad6d['_isInit'],_0x2696fe['createdAt']=_0x19ad6d['createdAt'],_0x2696fe['baseVersion']+=this['_offset'],_0x19ad6d['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x2696fe),this['serverHistory']['addOperation'](_0x2696fe);});}['_handleReconnectionError'](_0x3f0539){const _0x4744a9=this['editor']['plugins']['get']('Notification'),_0x35fe29=this['editor']['locale'];_0x3f0539||(_0x3f0539=G(_0x35fe29,'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.')),_0x4744a9['showWarning'](_0x3f0539,{'title':G(_0x35fe29,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](c)['disconnect']();}['_setPendingAction'](){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x35b9fe)['add'](G(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x35b9fe)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x2a2546){const _0x44dc91=_0x2a2546['map'](_0x23c9f6=>_0x23c9f6['toJSON']());return this['_compressor']['compress'](_0x44dc91);}['_decompressOperations'](_0x2cb41a,_0x460cd1){return this['_compressor']['decompress'](_0x2cb41a)['map']((_0x325dc9,_0x3c7ee5)=>{const _0xc0a64b='init'==_0x460cd1[_0x3c7ee5]['type'];if('InsertOperation'==_0x325dc9['__className']){const _0x517182=_0x325dc9['position']['root'];!this['_document']['getRoot'](_0x517182)&&(this['_document']['createRoot']('$root',_0x517182)['_isAttached']=!0x1);}const _0x496b88=_0x55bd9e['fromJSON'](_0x325dc9,this['_document']);return _0x496b88['wasUndone']=_0x325dc9['wasUndone'],_0x496b88['_isInit']=_0xc0a64b,_0x496b88['_authorId']=_0xc0a64b?null:_0x460cd1[_0x3c7ee5]['userId'],_0x496b88['_isDisconnection']='cs:removeUser'===_0x460cd1[_0x3c7ee5]['type'],_0x496b88['createdAt']=_0x460cd1[_0x3c7ee5]['createdAt'],_0x496b88;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5aea2d=this['editor']['plugins']['get'](i)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5aea2d&&_0x5aea2d['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class Q extends Error{}function X(_0x5b3c8b,_0x1742e5){for(const _0x1827bd of _0x5b3c8b)_0x1827bd['baseVersion']=_0x1742e5++;}class Y{['_ignoredOperations'];['_operationToId'];constructor(_0x15f6d7){this['_ignoredOperations']=_0x15f6d7,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2566b5){let _0x5e4899=_0x2566b5['length'];for(;_0x5e4899--;){const _0x29578f=_0x2566b5[_0x5e4899];if(!this['_ignoredOperations']['has'](_0x29578f)){if(!this['_operationToId']['has'](_0x29578f)){const _0x38edc8=_0x18e0d9()['slice'](0x1,0x12);this['_operationToId']['set'](_0x29578f,_0x38edc8);}return this['_operationToId']['get'](_0x29578f);}}}['setIdForTheLastOperation'](_0x13b1a0,_0x546618){if(!_0x546618)return;let _0x15dff4=_0x13b1a0['length'];for(;_0x15dff4--;){const _0xfc1a5=_0x13b1a0[_0x15dff4];this['_ignoredOperations']['has'](_0xfc1a5)||this['_operationToId']['set'](_0xfc1a5,_0x546618);}}}class n extends _0x445119{static get['requires'](){return[l];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class a extends _0x50d425{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x21da9a)());['_services'];static get['requires'](){return[c,'CommentsRepository',i,_0x5380a6];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x499af0){super(_0x499af0),this['_services']=new Map();}async['init'](){const _0x4b71f3=this['context'],_0x592112=_0x4b71f3['plugins']['get']('CommentsRepository');if(_0x4b71f3['plugins']['get'](c)['addToReconnectionStack'](this),_0x592112['adapter']={'addCommentThread':async({channelId:_0x30691d,threadId:_0x106667,comments:_0x5b4e2b,resolvedAt:_0xc914b0,resolvedBy:_0x50b69e,context:_0x39388b,attributes:_0x50125e})=>{const _0x3a635f=await this['_getService'](_0x30691d)['addCommentThread']({'commentThreadId':_0x106667,'comments':_0x5b4e2b['map'](_0x51d1cd=>function(_0x1e8b9f,_0x4d3cad,_0x148df0){return{'commentThreadId':_0x148df0,'commentId':_0x1e8b9f['commentId'],'userId':_0x1e8b9f['authorId'],'content':_0x1e8b9f['content'],'documentId':_0x4d3cad,'createdAt':_0x1e8b9f['createdAt'],'attributes':_0x1e8b9f['attributes']||{}};}(_0x51d1cd,_0x30691d,_0x106667)),'resolvedAt':_0xc914b0,'resolvedBy':_0x50b69e,'context':_0x39388b,'attributes':_0x50125e})['catch'](ut);return{'threadId':_0x3a635f['commentThreadId'],'comments':_0x3a635f['comments']};},'getCommentThread':async({channelId:_0xbdc176,threadId:_0x17a50b})=>{const _0x5ebd20=await this['_getService'](_0xbdc176)['getCommentThread'](_0x17a50b)['catch'](ut);return _0x5ebd20['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5ebd20]),{'threadId':_0x5ebd20['commentThreadId'],'comments':_0x5ebd20['comments']['map'](b),'context':_0x5ebd20['context'],'resolvedAt':_0x5ebd20['resolvedAt'],'resolvedBy':_0x5ebd20['resolvedBy'],'attributes':_0x5ebd20['attributes']||{}});},'updateCommentThread':async({channelId:_0x454009,threadId:_0x5e7495,context:_0x27e4d6,unlinkedAt:_0x6c6949,attributes:_0x4355dd})=>this['_getService'](_0x454009)['updateCommentThread']({'commentThreadId':_0x5e7495,'context':_0x27e4d6,'attributes':_0x4355dd,'unlinkedAt':_0x6c6949})['catch'](y)['catch'](ut),'resolveCommentThread':async({channelId:_0x4b3957,threadId:_0x23d111})=>{const _0x7506cd=await this['_getService'](_0x4b3957)['resolveCommentThread'](_0x23d111)['catch'](y)['catch'](ut);return{'threadId':_0x7506cd['commentThreadId'],'resolvedAt':_0x7506cd['resolvedAt'],'resolvedBy':_0x7506cd['resolvedBy']};},'reopenCommentThread':async({channelId:_0x306820,threadId:_0x311864})=>this['_getService'](_0x306820)['reopenCommentThread'](_0x311864)['catch'](y)['catch'](ut),'removeCommentThread':({channelId:_0x50e814,threadId:_0xe0b729})=>this['_getService'](_0x50e814)['removeCommentThread'](_0xe0b729)['catch'](y)['catch'](ut),'addComment':({channelId:_0x448355,threadId:_0x24b29b,commentId:_0x515f55,content:_0x29f938,attributes:_0x93b13b})=>this['_getService'](_0x448355)['addComment'](_0x24b29b,_0x515f55,_0x29f938,_0x93b13b)['catch'](ut),'updateComment':({channelId:_0x3e0c86,threadId:_0x2754be,commentId:_0x5a76c8,content:_0x1ff981,attributes:_0x2f1fa2})=>this['_getService'](_0x3e0c86)['updateComment'](_0x2754be,_0x5a76c8,_0x1ff981,_0x2f1fa2)['catch'](y)['catch'](ut),'removeComment':({channelId:_0x36abf7,threadId:_0x56d243,commentId:_0x4b66c5})=>this['_getService'](_0x36abf7)['removeComment'](_0x56d243,_0x4b66c5)['catch'](y)['catch'](ut)},_0x4b71f3 instanceof _0x38b153){const _0x34a862=_0x4b71f3['config']['get']('collaboration.channelId'),_0x3d7b01=_0x4b71f3['plugins']['get'](i);await this['_setUpService'](_0x34a862);const _0x248ab9=await this['_services']['get'](_0x34a862)['getConnectedSessions']();this['listenTo'](_0x3d7b01,'sessionAdd:'+_0x34a862,(_0x5e55f2,{session:_0x15e39e})=>{_0x15e39e['id']===_0x3d7b01['mySessionId']&&(_0x5e55f2['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x15e39e['permissions'],_0x34a862));}),_0x3d7b01['register'](_0x34a862,_0x248ab9);}}async['_setUpService'](_0x45a627){if(this['_services']['has'](_0x45a627))throw new _0x40dad7('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x45a627});const _0x42873c=this['context']['plugins']['get']('CommentsRepository'),_0x3bcfc1=new a['CommentsService'](_0x45a627);this['_services']['set'](_0x45a627,_0x3bcfc1),this['listenTo'](_0x3bcfc1,'commentThreadAdded',(_0x3c67b6,_0x647764)=>{const {commentThreadId:_0x570ce8,documentId:_0x3ee9b9,context:_0x4ada45,attributes:_0x1371af,resolvedAt:_0x1ed7fc,resolvedBy:_0x47eef9,comments:_0x1943a8}=_0x647764;_0x42873c['getCommentThread'](_0x570ce8)||_0x42873c['addCommentThread']({'threadId':_0x570ce8,'channelId':_0x3ee9b9,'comments':_0x1943a8?_0x1943a8['map'](b):[],'context':_0x4ada45,'attributes':_0x1371af,'resolvedAt':_0x1ed7fc,'resolvedBy':_0x47eef9,'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadUpdated',(_0x8da906,{commentThreadId:_0x44e3e2,documentId:_0x8ca477,context:_0x82d692,unlinkedAt:_0x3d5387,attributes:_0xf6d4a5})=>{_0x42873c['getCommentThread'](_0x44e3e2)&&_0x42873c['updateCommentThread']({'threadId':_0x44e3e2,'channelId':_0x8ca477,'context':_0x82d692,'unlinkedAt':_0x3d5387,'attributes':_0xf6d4a5,'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadResolved',(_0x65a89f,{commentThreadId:_0x428931,resolvedBy:_0xaad117,resolvedAt:_0x471bc9})=>{const _0x5b42de=_0x42873c['getCommentThread'](_0x428931);_0x5b42de&&_0x5b42de['resolve']({'resolvedBy':_0xaad117,'resolvedAt':_0x471bc9,'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadReopened',(_0x37434d,{commentThreadId:_0x2dfd2f})=>{const _0x4a1ed4=_0x42873c['getCommentThread'](_0x2dfd2f);_0x4a1ed4&&_0x4a1ed4['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentThreadRemoved',(_0x3b19ab,{commentThreadId:_0x31a007})=>{const _0x58ef57=_0x42873c['getCommentThread'](_0x31a007);_0x58ef57&&_0x58ef57['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentAdded',(_0x192656,_0x29273d)=>{const _0x2aa1f4=_0x29273d['commentThreadId'],_0xecb0aa=_0x42873c['getCommentThread'](_0x2aa1f4);_0xecb0aa&&_0xecb0aa['addComment']({...b(_0x29273d),'isFromAdapter':!0x0});}),this['listenTo'](_0x3bcfc1,'commentUpdated',(_0x5edc75,{commentThreadId:_0x4f5ea6,commentId:_0x1c2021,content:_0x1ba856,attributes:_0x415bc9})=>{const _0x4898a6=_0x42873c['getCommentThread'](_0x4f5ea6);if(_0x4898a6){const _0xa1e751=_0x4898a6['getComment'](_0x1c2021);_0xa1e751&&_0xa1e751['update']({'content':_0x1ba856,'attributes':_0x415bc9,'isFromAdapter':!0x0});}}),this['listenTo'](_0x3bcfc1,'commentRemoved',(_0x39cc2d,{commentThreadId:_0x476a85,commentId:_0x25eda5})=>{const _0x32672e=_0x42873c['getCommentThread'](_0x476a85);if(_0x32672e){const _0x26677e=_0x32672e['getComment'](_0x25eda5);_0x26677e&&_0x26677e['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x45a627);}['destroy'](){if(this['context']instanceof _0x38b153){const _0x351276=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x351276);}}['_terminateService'](_0x348ec5){if(!this['_services']['has'](_0x348ec5))throw new _0x40dad7('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x348ec5});this['_getService'](_0x348ec5)['disconnect'](),this['_services']['delete'](_0x348ec5);}async['reconnect'](){for(const _0x58e095 of this['_services']['keys']())await this['_connectService'](_0x58e095);if(this['context']instanceof _0x38b153){const _0x15c016=this['context']['config']['get']('collaboration.channelId'),_0x25a5d3=this['context']['plugins']['get'](i);_0x25a5d3['unregister'](_0x15c016);const _0x4a34c7=await this['_services']['get'](_0x15c016)['getConnectedSessions']();_0x25a5d3['register'](_0x15c016,_0x4a34c7);}}async['_connectService'](_0x52ebac){const {connection:_0x1f06f8}=this['context']['plugins']['get'](c),_0x4c4f69=this['context']['plugins']['get']('CommentsRepository'),_0x543395=this['_services']['get'](_0x52ebac),_0x310b11=await _0x543395['connect'](_0x1f06f8);await this['_fetchMissingUsersForThreads'](_0x310b11);const _0x189762=new Set(Array['from'](_0x4c4f69['getCommentThreads']({'channelId':_0x52ebac}),_0x29df47=>_0x29df47['id']));for(const _0x366783 of _0x310b11)_0x366783['deletedAt']||_0x189762['delete'](_0x366783['commentThreadId']);for(const _0x1022e7 of _0x189762)_0x4c4f69['getCommentThread'](_0x1022e7)['remove']({'isFromAdapter':!0x0});for(const _0x19068c of _0x310b11){let _0x5e83ee=_0x4c4f69['getCommentThread'](_0x19068c['commentThreadId']);const {commentThreadId:_0x3f9b45,context:_0x260cc8,attributes:_0x1f590b,resolvedBy:_0x41f228,resolvedAt:_0x2e88f9,unlinkedAt:_0x50332e,deletedAt:_0x2d693b}=_0x19068c;if(_0x2d693b)continue;_0x5e83ee||(_0x5e83ee=_0x4c4f69['addCommentThread']({'channelId':_0x52ebac,'threadId':_0x3f9b45,'context':_0x260cc8,'attributes':_0x1f590b||{},'resolvedBy':_0x41f228,'resolvedAt':_0x2e88f9,'unlinkedAt':_0x50332e,'isFromAdapter':!0x0}));const _0xb1522a=new Set(Array['from'](_0x5e83ee['comments'],_0x378444=>_0x378444['id']));for(const _0x312456 of _0x19068c['comments'])_0xb1522a['delete'](_0x312456['commentId']);for(const _0x1def5b of _0xb1522a)_0x5e83ee['getComment'](_0x1def5b)['remove']({'isFromAdapter':!0x0});for(const _0x11faef of _0x19068c['comments']){const _0x145c98=_0x5e83ee['getComment'](_0x11faef['commentId']);_0x145c98?_0x145c98['content']!==_0x11faef['content']&&_0x145c98['update']({'content':_0x11faef['content'],'isFromAdapter':!0x0}):_0x5e83ee['addComment'](Object['assign'](b(_0x11faef),{'isFromAdapter':!0x0}));}}}['_getService'](_0x152216){if(!this['_services']['has'](_0x152216))throw new _0x40dad7('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x152216});return this['_services']['get'](_0x152216);}async['_fetchMissingUsersForThreads'](_0x56924f){const _0x5a626a=this['context']['plugins']['get'](_0x5380a6),{connection:_0x2ddeba}=this['context']['plugins']['get'](c),_0x4eb3c4=new Set();for(const {resolvedBy:_0x3b0f38,comments:_0x1d8893}of _0x56924f){_0x3b0f38&&!_0x5a626a['getUser'](_0x3b0f38)&&_0x4eb3c4['add'](_0x3b0f38);for(const {userId:_0x3bbbbb}of _0x1d8893)_0x5a626a['getUser'](_0x3bbbbb)||_0x4eb3c4['add'](_0x3bbbbb);}if(0x0===_0x4eb3c4['size'])return;const _0x2b6ebe=await dt['getMany'](_0x2ddeba,Array['from'](_0x4eb3c4));for(const _0x5374cb of _0x2b6ebe)_0x5a626a['getUser'](_0x5374cb['id'])||_0x5a626a['addUser'](_0x5374cb);}}async function y(_0x34745d){if('404'!==_0x34745d['code'])throw _0x34745d;}function ut(_0x2beb32){if((_0xaf7447=_0x2beb32)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0xaf7447['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xaf7447['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0xaf7447;throw _0x2beb32;}function b(_0x58f7f1){return{'threadId':_0x58f7f1['commentThreadId'],'commentId':_0x58f7f1['commentId'],'content':_0x58f7f1['content'],'createdAt':_0x58f7f1['createdAt'],'authorId':_0x58f7f1['userId'],'attributes':_0x58f7f1['attributes']||{}};}class f extends _0x445119{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>et)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[a,'TrackChangesEditing',c];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x55db96){super(_0x55db96);const _0x3709c8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new f['TrackChangesService'](_0x3709c8);}['init'](){const _0x5a6383=this['editor']['plugins']['get'](c),_0x36356a=this['editor']['plugins']['get']('TrackChangesEditing');return _0x36356a['adapter']={'getSuggestion':async _0x15a797=>{await this['_waitForServiceReady']();const _0x1af7e1=await this['_trackChangesService']['get'](_0x15a797)['catch'](w);return await this['_fetchMissingUsersForThreads']([_0x1af7e1]),_0x1af7e1;},'addSuggestion':async({id:_0x14e665,type:_0x532905,data:_0x5b5284,originalSuggestionId:_0xa1d221,attributes:_0x49e614})=>{await this['_waitForServiceReady']();const _0x441832={'id':_0x14e665,'type':_0x532905,'data':_0x5b5284,'originalSuggestionId':_0xa1d221,'attributes':_0x49e614},_0x1c12f3=await this['_trackChangesService']['add'](_0x14e665,_0x532905,_0x5b5284,_0xa1d221,_0x49e614)['catch'](_0x7fce13=>{if(ft(_0x7fce13))return new Promise(_0x3f458b=>{this['_bufferedRequests']['set'](_0x14e665,{'resolve':_0x3f458b,'suggestionData':_0x441832});});throw _0x7fce13;});return this['_bufferedRequests']['delete'](_0x14e665),_0x1c12f3;},'updateSuggestion':async(_0x2145b5,_0x38a0c8)=>{if(await this['_waitForServiceReady'](),'open'!==_0x38a0c8['state'])return this['_trackChangesService']['update'](_0x2145b5,_0x38a0c8)['catch'](w);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x5d2676,_0x14457c)=>{_0x36356a['hasSuggestion'](_0x14457c['id'])&&(_0x36356a['getSuggestion'](_0x14457c['id'])['attributes']=_0x14457c['attributes']);}),this['_trackChangesService']['connect'](_0x5a6383['connection'])['then'](_0x5121c6=>(_0x5a6383['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5121c6)['then'](()=>{for(const _0x2724f7 of _0x5121c6){_0x36356a['addSuggestionData'](_0x2724f7)['_saved']=!0x0;}})));}async['reconnect'](){const _0x47ce02=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x1c608f}=this['editor']['plugins']['get'](c),_0x239f3d=await this['_trackChangesService']['connect'](_0x1c608f);await this['_fetchMissingUsersForThreads'](_0x239f3d);for(const {suggestionData:_0x2447a8,resolve:_0x17d23f}of this['_bufferedRequests']['values']()){let _0x33f62f=_0x239f3d['find'](_0x17d5cf=>_0x17d5cf['id']===_0x2447a8['id']);_0x33f62f||(_0x33f62f=await this['_trackChangesService']['add'](_0x2447a8['id'],_0x2447a8['type'],_0x2447a8['data'],_0x2447a8['originalSuggestionId'])),_0x17d23f(_0x33f62f);}for(const _0x1ad5f3 of _0x239f3d)_0x47ce02['hasSuggestion'](_0x1ad5f3['id'])||_0x47ce02['addSuggestionData'](_0x1ad5f3);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x39be2b=>{this['listenTo'](this['_trackChangesService'],'connected',_0x2230de=>{_0x2230de['off'](),_0x39be2b();});});}async['_fetchMissingUsersForThreads'](_0x17d591){const _0x179334=this['editor']['plugins']['get'](_0x5380a6),{connection:_0x37bc8f}=this['editor']['plugins']['get'](c),_0x563140=new Set();for(const {authorId:_0x35cc7e}of _0x17d591)_0x179334['getUser'](_0x35cc7e)||_0x563140['add'](_0x35cc7e);if(0x0===_0x563140['size'])return;const _0x4f86aa=await dt['getMany'](_0x37bc8f,Array['from'](_0x563140));for(const _0x26035a of _0x4f86aa)_0x179334['getUser'](_0x26035a['id'])||_0x179334['addUser'](_0x26035a);}}function w(_0x5002bb){if(ft(_0x5002bb))return new Promise(()=>{});throw _0x5002bb;}function ft(_0x32975a){return _0x32975a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x32975a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class m extends _0x445119{static get['requires'](){return['Comments',a,n,c];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x47086b=this['editor']['plugins']['get'](c),_0x468dcb=this['editor']['plugins']['get']('CommentsEditing'),_0x4b05fd=this['editor']['plugins']['get'](a);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x47086b,'change:state',(_0x491d0f,_0x2828e7,_0x32b777)=>{_0x468dcb['isThreadsLoadingPaused']='connected'!==_0x32b777;});}),this['listenTo'](_0x47086b,'change:state',(_0x248b23,_0x37db18,_0x248737)=>{this['editor']['plugins']['get']('CommentsRepository')['switchReadOnly']('connected'!==_0x248737);}),_0x4b05fd['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](a)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class p extends _0x445119{static get['requires'](){return[m,f,'TrackChanges'];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class u extends _0x445119{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>it)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[c,l,'RevisionHistory',i,_0x5380a6];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x561832){super(_0x561832);const _0x2a5f49=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new u['RevisionHistoryService'](_0x2a5f49);}async['init'](){const _0x4132e8=this['editor']['plugins']['get'](l),_0x4aacf4=_0x4132e8['serverHistory'],_0x5a350e=this['editor']['plugins']['get'](c);this['_revisionTracker']['setSource']({'history':_0x4aacf4,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4132e8['sessionId']});const _0x49640a=this['editor']['config']['get']('cloudServices.bundleVersion')||nt,_0x1c6cf2=await tt['isBundleUploaded'](_0x5a350e['connection'],_0x49640a);this['editor']['plugins']['get']('RevisionHistory')['adapter']={'getRevision':async({revisionId:_0x9299e})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x9299e)),'updateRevisions':async _0x25bb47=>{await this['_waitForServiceReady']();const _0x5df2b6=this['_revisionTracker']['currentRevision'];if(_0x1c6cf2&&0x1===_0x25bb47['length']&&_0x25bb47[0x0]['id']===_0x5df2b6['id'])return _0x25bb47;for(const _0x322011 of _0x25bb47)_0x322011['id']===_0x5df2b6['id']&&(_0x322011['isEmptyCurrent']=_0x322011['fromVersion']===_0x322011['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x25bb47,this['_lastRequestId'])['then'](_0xfbfa9d=>(this['_lastRequestId']=_0xfbfa9d,_0x25bb47))['catch'](_0x2e4c37=>{if(st(_0x2e4c37)||'400'===_0x2e4c37['code']&&void 0x0!==_0x2e4c37['data']['wrongRequestId']){for(const _0x3de1bb of _0x25bb47){!this['_revisionTracker']['repository']['getRevision'](_0x3de1bb['id'])||this['_revisionTracker']['_bufferUpdate'](_0x3de1bb['id'],_0x3de1bb,!0x1);}if(st(_0x2e4c37))throw _0x2e4c37;return _0x25bb47;}throw _0x2e4c37;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x3d99a9,{revisionsData:_0x1cd6a6,requestId:_0x25c839})=>{Math['max'](..._0x1cd6a6['map'](_0x4bbf07=>_0x4bbf07['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1cd6a6,_0x25c839);}):this['_handleRevisionsUpdate'](_0x1cd6a6,_0x25c839);});const {revisions:_0x38c7cd,requestId:_0x3af5c6}=await this['_revisionHistoryService']['connect'](_0x5a350e['connection']);_0x5a350e['addToReconnectionStack'](this),this['_lastRequestId']=_0x3af5c6,await this['_fetchMissingUsers'](_0x38c7cd);for(const _0xf6a044 of _0x38c7cd)this['_revisionTracker']['addRevisionData'](_0xf6a044);this['listenTo'](_0x4132e8,'change:_isConnected',(_0x31dea5,_0x12c648,_0x28fbf5)=>{_0x28fbf5&&(this['_oldOffset']=_0x4132e8['_offset'],_0x31dea5['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x5a350e,'state',_0x4bb6fd=>_0x4bb6fd===_0x3c6968['CONNECTED']);}async['reconnect'](){const _0x5c5397=this['editor']['plugins']['get'](c),_0x648a6a=this['editor']['plugins']['get'](l),_0x1c6742=async()=>{const _0xc4d17a=this['_revisionTracker']['currentRevision'],_0x3e0af9=_0xc4d17a['id'],_0x3fe0ea=_0x3e0af9!==_0x648a6a['sessionId'];if(_0x3fe0ea){const _0x30163d=_0x648a6a['_offset']-this['_oldOffset'],_0xef58ba=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xc4d17a['toVersion']+_0x30163d!==_0xef58ba){const _0x22c433=_0xc4d17a['fromVersion']+_0x30163d,_0x14564d=this['editor']['plugins']['get'](_0x5380a6),_0x52900f=this['_revisionTracker']['buildRevisionData']({'revision':_0xc4d17a,'from':_0x22c433,'to':_0xef58ba});_0x52900f['id']=_0xc4d17a['id'];const _0x22e4f9=_0x52900f['authorsIds']['map'](_0x27e8bd=>_0x14564d['getUser'](_0x27e8bd));_0xc4d17a['_update']({..._0x52900f,'authors':_0x22e4f9},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xc4d17a['id'],_0x52900f,!0x0);}this['_revisionTracker']['_startingVersion']=_0xef58ba,(_0xc4d17a['toVersion']===_0xc4d17a['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3e0af9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3e0af9),this['_revisionTracker']['_createCurrentRevision'](_0xef58ba));}const {revisions:_0x2a415c,requestId:_0xed5981}=await this['_revisionHistoryService']['reconnect'](_0x5c5397['connection'],this['_lastRequestId']);_0x3fe0ea&&_0x2a415c['length']>0x0?_0x648a6a['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2a415c),this['_handleRevisionsUpdate'](_0x2a415c,_0xed5981),this['_revisionTracker']['sendBufferedUpdates']());};return _0x648a6a['_isConnected']?_0x1c6742():new Promise((_0x1e9502,_0x26bc01)=>{_0x648a6a['once']('change:_isConnected',()=>{_0x1c6742()['then'](_0x1e9502)['catch'](_0x26bc01);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x13957e=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1dca49=>{_0x1dca49['off'](),_0x13957e();});});}['_getLatestVersionFromServerOperations'](){const _0x125a09=this['editor']['plugins']['get'](l)['serverHistory']['getOperations']()['reverse']();for(const _0x1956ce of _0x125a09)if('marker'!==_0x1956ce['type']||_0x1956ce['affectsData'])return _0x1956ce['baseVersion']+0x1;}['_getLatestVersion'](){const _0x2614c5=this['editor']['plugins']['get'](l);return new Promise(_0x14733b=>{_0x2614c5['_isPendingUpdate']?_0x2614c5['once']('change:_isPendingUpdate',()=>{_0x14733b(this['_getLatestVersionFromServerOperations']());}):_0x14733b(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x30f1fb,_0x454bc6){const _0x16a9f7=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x454bc6;for(const _0x1d4863 of _0x30f1fb){const _0x4f9fd7=_0x16a9f7['getRevision'](_0x1d4863['id']);if(_0x4f9fd7){if((_0x1d4863['fromVersion']||_0x1d4863['toVersion'])&&(_0x1d4863['diffData']=null),_0x4f9fd7===this['_revisionTracker']['currentRevision']){const _0x2bf863=Math['max'](_0x4f9fd7['toVersion'],_0x1d4863['toVersion']),_0x47c2eb=Math['max'](_0x4f9fd7['fromVersion'],_0x1d4863['fromVersion']);let _0xafc371;_0x4f9fd7['toVersion']===_0x1d4863['toVersion']&&_0x4f9fd7['fromVersion']===_0x1d4863['fromVersion']?(_0xafc371=!0x0,this['_preventResendingRevisionData'](_0x1d4863)):_0x1d4863['toVersion']===_0x2bf863&&_0x1d4863['fromVersion']===_0x47c2eb?_0xafc371=!0x1:(_0x4f9fd7['toVersion']===_0x2bf863&&_0x4f9fd7['fromVersion']===_0x47c2eb||this['_fixRevision']({'revision':_0x4f9fd7,'from':_0x47c2eb,'to':_0x2bf863}),_0xafc371=!0x0),_0xafc371&&(delete _0x1d4863['fromVersion'],delete _0x1d4863['toVersion'],delete _0x1d4863['diffData'],delete _0x1d4863['createdAt'],delete _0x1d4863['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x1d4863),this['_preventResendingRevisionData'](_0x1d4863);}else this['_revisionTracker']['addRevisionData'](_0x1d4863);}const _0x3b6ec1=_0x16a9f7['getRevisions']();_0x3b6ec1['reverse']();for(let _0x262060=0x0;_0x262060<_0x3b6ec1['length']-0x1;_0x262060++){const _0x2c1ecd=_0x3b6ec1[_0x262060],_0x2e6dc6=_0x3b6ec1[_0x262060+0x1];if(_0x2c1ecd['fromVersion']<_0x2e6dc6['toVersion']){const _0x29267e=_0x2e6dc6['toVersion'],_0x1cd463=Math['max'](_0x29267e,_0x2c1ecd['toVersion']);this['_fixRevision']({'revision':_0x2c1ecd,'from':_0x29267e,'to':_0x1cd463});}}}['_fixRevision']({revision:_0x2a2cc0,from:_0xdf7b15,to:_0x5846a1}={}){const _0x4d0f6a=this['editor']['plugins']['get'](_0x5380a6),_0x27aa64=this['_revisionTracker']['buildRevisionData']({'revision':_0x2a2cc0,'from':_0xdf7b15,'to':_0x5846a1});_0x27aa64['authors']=_0x27aa64['authorsIds']['map'](_0x5c9023=>_0x4d0f6a['getUser'](_0x5c9023)),_0x2a2cc0['_update'](_0x27aa64);}['_preventResendingRevisionData'](_0x25c16b){const _0x7b4216={};_0x7b4216['id']=_0x25c16b['id'];for(const _0x2ac66c of Object['keys'](_0x25c16b))'id'!==_0x2ac66c&&(_0x7b4216[_0x2ac66c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x7b4216['id'],_0x7b4216,!0x0);}async['_fetchMissingUsers'](_0x52c690){const _0x31617d=this['editor']['plugins']['get'](_0x5380a6),{connection:_0x20b358}=this['editor']['plugins']['get'](c),_0x3a0c0c=new Set();for(const _0x16a177 of _0x52c690){for(const _0x58b8c8 of _0x16a177['authorsIds'])_0x24e0c8(_0x58b8c8);_0x16a177['creatorId']&&_0x24e0c8(_0x16a177['creatorId']);}if(0x0===_0x3a0c0c['size'])return;const _0x254bc9=await dt['getMany'](_0x20b358,Array['from'](_0x3a0c0c));for(const _0x303977 of _0x254bc9)_0x31617d['getUser'](_0x303977['id'])||_0x31617d['addUser'](_0x303977);function _0x24e0c8(_0x181c9b){_0x31617d['getUser'](_0x181c9b)||_0x3a0c0c['add'](_0x181c9b);}}}function st(_0x2774b8){return _0x2774b8['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2774b8['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2774b8['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class g extends _0x445119{static get['requires'](){return['RevisionHistory',u,n];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class P extends _0x337b85{['_collapseAt'];constructor(_0x448789,_0x1a86df=0x6){super(_0x448789);const _0x4d4db1=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1a86df,this['bind']('isHidden')['to'](this,'usersCount',_0x312283=>_0x312283<_0x1a86df),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x4d4db1['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':_0x4d4db1['to']('usersCount',_0x663de5=>'+'+(_0x663de5-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class ts extends _0x337b85{['items'];['keystrokes'];constructor(_0x4e17db){super(_0x4e17db);const _0x428886=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x5f46a0(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x428886['if']('hasPopup'),'aria-expanded':_0x428886['to']('isExpanded',_0x21e1f4=>this['hasPopup']&&String(_0x21e1f4)),'aria-label':_0x428886['to']('hasPopup',_0x107faa=>G(_0x4e17db,_0x107faa?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x428886['to']('hasPopup',_0x33742a=>!!_0x33742a&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x428886['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x428886['to'](_0x1e1d64=>{const _0x44e19b=_0x1e1d64,_0x1deae0=document['querySelector']('.ck-presence-list__dropdown-list'),_0x59cd26=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1deae0?.['contains'](_0x44e19b['relatedTarget'])||_0x59cd26?.['contains'](_0x44e19b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x2a77bd,_0xe2c126,_0x413ac4)=>{this['element']&&(_0x413ac4?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 _ extends _0x337b85{['counterView'];['inlineListView'];constructor(_0x4b23c8,_0x2448fd=0x6){super(_0x4b23c8);const _0x1db4ae=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new P(this['locale'],_0x2448fd),this['inlineListView']=new ts(_0x4b23c8),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x280def of this['inlineListView']['items'])_0x280def['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',_0x1db4ae['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class D extends _0x337b85{['listWrapperView'];constructor(_0xbc4021,_0xf6add5){super(_0xbc4021);const _0xb00be6=this['bindTemplate'];this['listWrapperView']=new mt(_0xbc4021,_0xf6add5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':G(_0xbc4021,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xb00be6['to'](_0x2cac95=>{const _0x43c6d0=_0x2cac95,_0x383bc3=document['querySelector']('.ck-presence-list__list'),_0x2a5cb3=document['querySelector']('.ck-balloon-panel_with-arrow');_0x383bc3?.['contains'](_0x43c6d0['relatedTarget'])||_0x2a5cb3?.['contains'](_0x43c6d0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class mt extends _0x5d69bd{constructor(_0x17265a,_0x7f3e46){super(_0x17265a);const _0x46e9ca=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x7f3e46?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x46e9ca['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x46e9ca['to']('role'),'aria-label':_0x46e9ca['to']('ariaLabel'),'aria-labelledby':_0x46e9ca['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4a36f6['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x51df7b=this['element'];_0x51df7b&&(this['_isScrollable']=Math['max'](_0x51df7b['scrollHeight'],_0x51df7b['clientHeight'])>0.8*window['innerHeight']);}}class U extends rt{['userView'];constructor(_0x493db0,_0x39419b,_0x1ff809){super(_0x493db0);const _0x299dc8=this['bindTemplate'];this['userView']=new ct(_0x493db0,_0x39419b);const _0x263656={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x39419b['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x39419b['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x39419b['color']['getBackgroundColorClass']()],'aria-hidden':'true'}}]};_0x1ff809&&(_0x263656['tag']='button',_0x263656['on']={'click':_0x299dc8['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x263656);}['focus'](){this['element']['focus']();}}class V extends _0x337b85{['userView'];['markerView'];constructor(_0x5cd498,_0x3269ea,_0x3e0aa8){super(_0x5cd498);const _0x47b15b=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new ct(_0x5cd498,_0x3269ea),this['markerView']=new at(_0x5cd498,_0x3269ea);const _0x53dafb=new ot(_0x5cd498);_0x53dafb['template']['tag']='span',_0x53dafb['text']=_0x3269ea['name'];const _0x130930={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x47b15b['to']('isFocusable',_0x5d7c8d=>!!_0x5d7c8d&&0x0),'aria-labelledby':_0x53dafb['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x47b15b['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x47b15b['to']('hasTooltip',_0x815d8b=>!_0x815d8b),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x53dafb]};_0x3e0aa8&&(_0x130930['tag']='button',_0x130930['on']={'click':_0x47b15b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x130930);}}class at extends _0x337b85{constructor(_0x43f7a2,_0x266554){super(_0x43f7a2),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x266554['color']['getBackgroundColorClass']()],'aria-hidden':'true'}});}}const E={'collapseAt':0x6,'displayMe':!0x0};class r extends _0x50d425{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b83a1){super(_0x1b83a1),this['context']['config']['define']('presenceList',E);const _0x4f9a5c=_0x1b83a1['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x4f9a5c)throw new _0x40dad7('presencelist-collapseat-invalid-format',this);if(_0x4f9a5c<0x1)throw new _0x40dad7('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](i)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x39af79(),this['balloonPanelView']=new _0x4d9134(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[i];}['init'](){for(const _0x160ed2 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x160ed2);this['listenTo'](this['_allConnectedUsers'],'add',(_0x2bd3f6,_0x1b302e)=>{this['_handleUserAdd'](_0x1b302e);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x498de9,_0xac3611)=>{this['_handleUserRemove'](_0xac3611);});}['_createView'](){const _0x423fac=this['context'],_0x149884=new _(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x115b78=this['balloonPanelView'];if(!_0x51f85d(_0x423fac['config']['get']('presenceList.container')))throw new _0x40dad7('presencelist-missing-container',this);return _0x149884['counterView']['bind']('usersCount')['to'](this),_0x149884['bind']('isCollapsed')['to'](this,'usersCount',_0x536309=>{const {collapseAt:_0x14ac9f}=_0x423fac['config']['get']('presenceList'),_0x497390=_0x536309>=_0x14ac9f;if(_0x497390&&!_0x149884['inlineListView']['items']['find'](_0x77a083=>_0x77a083 instanceof P)){const _0x229dc4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x229dc4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x149884['inlineListView']['items']['add'](_0x149884['counterView']);}return _0x497390||this['hideDropdown'](),_0x497390;}),_0x149884['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x16deae=>{const _0x3d73ea=_0x423fac['config']['get']('presenceList'),_0x2b2cc5=new V(_0x423fac['locale'],_0x16deae,!!_0x3d73ea['onClick']);return _0x2b2cc5['bind']('hasTooltip')['to'](_0x149884,'isCollapsed',_0x1d5aa2=>!_0x1d5aa2),_0x2b2cc5['bind']('isFocusable')['to'](_0x149884,'isCollapsed',_0x16bc29=>!_0x16bc29),_0x3d73ea['onClick']&&this['listenTo'](_0x2b2cc5,'execute',()=>{this['view']['isCollapsed']||_0x3d73ea['onClick'](_0x16deae,_0x2b2cc5['element']);}),_0x2b2cc5;}),this['listenTo'](_0x149884['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x149884['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x149884['inlineListView']['keystrokes']['set']('Enter',(_0x5c4be6,_0x22d9cc)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x22d9cc());}),_0x149884['render'](),_0x115b78['render'](),_0xcc8b17({'emitter':_0x149884,'activator':()=>_0x115b78['isVisible'],'contextElements':[_0x115b78['element'],_0x149884['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x423fac['config']['get']('presenceList.container')['appendChild'](_0x149884['element']),this['_bodyCollection']=new _0x2e46db(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x149884;}['_handleUserAdd'](_0x398fab){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x398fab['isMe'])return;const _0x270c65=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x270c65-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x243cec=_0x398fab['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x398fab,_0x243cec);}['_handleUserRemove'](_0x11293f){this['usersCount']--;const {collapseAt:_0x1d07fc}=this['context']['config']['get']('presenceList'),_0x56bd4e=this['usersCount']>=_0x1d07fc;if(this['currentDisplayedUsers']['get'](_0x11293f['id']))this['currentDisplayedUsers']['remove'](_0x11293f['id']);else{if(_0x56bd4e&&this['currentDisplayedUsers']['length']+0x1===_0x1d07fc-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x56bd4e?0x1:0x0)<this['usersCount']){for(const _0x3a5c0b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x3a5c0b['id'])&&(this['currentDisplayedUsers']['add'](_0x3a5c0b,Math['min'](this['currentDisplayedUsers']['length']-(_0x56bd4e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x56bd4e?0x1:0x0)===_0x1d07fc-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x373189=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new D(this['context']['locale'],!!_0x373189['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x8ac6d4}=this['presenceDropdownView'];_0x8ac6d4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x232b7a=>{if(!_0x373189['displayMe']&&_0x232b7a['isMe'])return null;const _0x57f765=new U(this['context']['locale'],_0x232b7a,!!_0x373189['onClick']);return _0x373189['onClick']&&this['listenTo'](_0x57f765,'execute',()=>{_0x373189['onClick'](_0x232b7a,_0x57f765['element']);}),_0x57f765;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x8ac6d4['focus'](),_0x8ac6d4['checkIfScrollable']();const _0x493663=(_0x578a77,_0x24d615)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x24d615();};_0x8ac6d4['keystrokes']['set']('Esc',_0x493663),_0x8ac6d4['keystrokes']['set']('Shift+Tab',_0x493663),_0x8ac6d4['keystrokes']['set']('Tab',(_0x216d51,_0x482833)=>{!function(_0x3b2a2e){const _0x137540=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x3cec62=>_0x3cec62+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x5b5f0c=[...document['body']['querySelectorAll'](_0x137540)]['filter'](_0x3c984a=>_0x3c984a===document['activeElement']||_0x3c984a['offsetWidth']+_0x3c984a['offsetHeight']>0x0)['sort']((_0x4dccf8,_0x36cbd5)=>(_0x4dccf8['tabIndex']||0x0)-(_0x36cbd5['tabIndex']||0x0)),_0x4acf1c=_0x5b5f0c['indexOf'](_0x3b2a2e),_0x2abf6a=_0x5b5f0c[(_0x4acf1c+0x1)%_0x5b5f0c['length']];_0x2abf6a&&_0x2abf6a['focus']();}(this['view']['element']),this['hideDropdown'](),_0x482833();}),_0x8ac6d4['focusTracker']['add'](this['view']['element']),_0x8ac6d4['focusTracker']['on']('change:isFocused',(_0x2654bf,_0x2fd792,_0x51b04a)=>{_0x51b04a||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 s extends _0x50d425{static get['requires'](){return[i,r];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{a as CloudServicesCommentsAdapter,u as CloudServicesRevisionHistoryAdapter,f as CloudServicesTrackChangesAdapter,s as PresenceList,r as PresenceListUI,l as RealTimeCollaborationClient,m as RealTimeCollaborativeComments,n as RealTimeCollaborativeEditing,g as RealTimeCollaborativeRevisionHistory,p as RealTimeCollaborativeTrackChanges,i as Sessions};