@ckeditor/ckeditor5-real-time-collaboration 48.5.0 → 48.5.1

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.
Files changed (76) hide show
  1. package/LICENSE.md +1 -1
  2. package/dist/index.js +6 -6
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.umd.js +1 -1
  5. package/dist/translations/ast.umd.js +1 -1
  6. package/dist/translations/az.umd.js +1 -1
  7. package/dist/translations/be.umd.js +1 -1
  8. package/dist/translations/bg.umd.js +1 -1
  9. package/dist/translations/bn.umd.js +1 -1
  10. package/dist/translations/bs.umd.js +1 -1
  11. package/dist/translations/ca.umd.js +1 -1
  12. package/dist/translations/cs.umd.js +1 -1
  13. package/dist/translations/da.umd.js +1 -1
  14. package/dist/translations/de-ch.umd.js +1 -1
  15. package/dist/translations/de.umd.js +1 -1
  16. package/dist/translations/el.umd.js +1 -1
  17. package/dist/translations/en-au.umd.js +1 -1
  18. package/dist/translations/en-gb.umd.js +1 -1
  19. package/dist/translations/en.umd.js +1 -1
  20. package/dist/translations/eo.umd.js +1 -1
  21. package/dist/translations/es-co.umd.js +1 -1
  22. package/dist/translations/es.umd.js +1 -1
  23. package/dist/translations/et.umd.js +1 -1
  24. package/dist/translations/eu.umd.js +1 -1
  25. package/dist/translations/fa.umd.js +1 -1
  26. package/dist/translations/fi.umd.js +1 -1
  27. package/dist/translations/fr.umd.js +1 -1
  28. package/dist/translations/gl.umd.js +1 -1
  29. package/dist/translations/gu.umd.js +1 -1
  30. package/dist/translations/he.umd.js +1 -1
  31. package/dist/translations/hi.umd.js +1 -1
  32. package/dist/translations/hr.umd.js +1 -1
  33. package/dist/translations/hu.umd.js +1 -1
  34. package/dist/translations/hy.umd.js +1 -1
  35. package/dist/translations/id.umd.js +1 -1
  36. package/dist/translations/it.umd.js +1 -1
  37. package/dist/translations/ja.umd.js +1 -1
  38. package/dist/translations/jv.umd.js +1 -1
  39. package/dist/translations/kk.umd.js +1 -1
  40. package/dist/translations/km.umd.js +1 -1
  41. package/dist/translations/kn.umd.js +1 -1
  42. package/dist/translations/ko.umd.js +1 -1
  43. package/dist/translations/ku.umd.js +1 -1
  44. package/dist/translations/lt.umd.js +1 -1
  45. package/dist/translations/lv.umd.js +1 -1
  46. package/dist/translations/ms.umd.js +1 -1
  47. package/dist/translations/nb.umd.js +1 -1
  48. package/dist/translations/ne.umd.js +1 -1
  49. package/dist/translations/nl.umd.js +1 -1
  50. package/dist/translations/no.umd.js +1 -1
  51. package/dist/translations/oc.umd.js +1 -1
  52. package/dist/translations/pl.umd.js +1 -1
  53. package/dist/translations/pt-br.umd.js +1 -1
  54. package/dist/translations/pt.umd.js +1 -1
  55. package/dist/translations/ro.umd.js +1 -1
  56. package/dist/translations/ru.umd.js +1 -1
  57. package/dist/translations/si.umd.js +1 -1
  58. package/dist/translations/sk.umd.js +1 -1
  59. package/dist/translations/sl.umd.js +1 -1
  60. package/dist/translations/sq.umd.js +1 -1
  61. package/dist/translations/sr-latn.umd.js +1 -1
  62. package/dist/translations/sr.umd.js +1 -1
  63. package/dist/translations/sv.umd.js +1 -1
  64. package/dist/translations/th.umd.js +1 -1
  65. package/dist/translations/ti.umd.js +1 -1
  66. package/dist/translations/tk.umd.js +1 -1
  67. package/dist/translations/tr.umd.js +1 -1
  68. package/dist/translations/tt.umd.js +1 -1
  69. package/dist/translations/ug.umd.js +1 -1
  70. package/dist/translations/uk.umd.js +1 -1
  71. package/dist/translations/ur.umd.js +1 -1
  72. package/dist/translations/uz.umd.js +1 -1
  73. package/dist/translations/vi.umd.js +1 -1
  74. package/dist/translations/zh-cn.umd.js +1 -1
  75. package/dist/translations/zh.umd.js +1 -1
  76. package/package.json +13 -13
package/LICENSE.md CHANGED
@@ -14,7 +14,7 @@ Where not otherwise indicated, all CKEditor 5 content is authored by CKSour
14
14
 
15
15
  The following libraries are included in CKEditor 5 under the [MIT license](https://opensource.org/licenses/MIT):
16
16
 
17
- * es-toolkit - Copyright (c) 2024 Viva Republica, Inc and Copyright OpenJS Foundation and other contributors.
17
+ * es-toolkit - Copyright (c) 2024 Viva Republica, Inc.
18
18
  * socket.io-client - Copyright (c) 2014-present Guillermo Rauch and Socket.IO contributors.
19
19
  * socket.io-parser - Copyright (c) 2014-present Guillermo Rauch and Socket.IO contributors.
20
20
  * url-parse - Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors.
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{Context as _0x4b9058,ContextPlugin as _0x181a27,PendingActions as _0x36d7c3,Plugin as _0x55ae44}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0xa752d3,Collection as _0x309d10,DomEmitterMixin as _0x1e70a0,KeystrokeHandler as _0x2b4fca,global as _0x59c443,uid as _0x4ad382,version as _0x559256}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x241d1f,BodyCollection as _0x44ac99,LabelView as _0x522fbe,ListItemView as _0x130180,ListView as _0xd7af65,Notification as _0x12e214,View as _0x5e1e61,clickOutsideHandler as _0xc6739}from'@ckeditor/ckeditor5-ui';import{History as _0x3c190d,InsertOperation as _0x5c1955,MarkerOperation as _0x393ac7,ModelLiveRange as _0x446d30,NoOperation as _0xd0c2db,OperationFactory as _0x3f7ebd,RootAttributeOperation as _0x543856,transformOperationSets as _0x3c1840}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x63032a}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0xbf1a21,CommentsService as _0x2d8629,EditorService as _0x214476,RevisionHistoryService as _0x195a98,TrackChangesService as _0x556600,User as _0x326c07,WEB_SOCKET_GATEWAY_STATES as _0x16de04,WebSocketGateway as _0x248db8}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x4b32bb,Users as _0x2e4b5d}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x196fc5}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x2955eb,TrackChangesEditing as _0x18cb04}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x282b1b,CommentsEditing as _0x6108de,CommentsRepository as _0x299e96}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2d2cfb}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x1eb77c}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x181a27{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
- ((()=>_0x248db8)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x63032a,_0x12e214];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x358704){super(_0x358704),this['set']('state',_0x16de04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1e70a0())();}init(){const _0x1b626e=this['context'],_0x4642c0=_0x1b626e['plugins']['get'](_0x63032a),_0x18f95f=_0x1b626e['plugins']['get'](_0x12e214);if(!_0x4642c0['token'])throw new _0xa752d3('websocketgateway-missing-token',this);if(!_0x4642c0['webSocketUrl'])throw new _0xa752d3('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),WebSocketGateway['WebSocketGateway']['connect'](_0x4642c0['token'],_0x4642c0['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x37fbda=>{if(this['connection']=_0x37fbda,this['bind']('state')['to'](_0x37fbda,'state',this,'_isBrowserOffline',(_0x1b5af8,_0x1b6ac6)=>('connected'!==_0x1b5af8&&(this['_shouldPluginsReconnect']=!0x0),_0x1b6ac6||_0x1b5af8!==_0x16de04['CONNECTED']?_0x16de04['DISCONNECTED']:this['state']==_0x16de04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x16de04['CONNECTING']):_0x16de04['CONNECTED'])),this['connection']['on']('error',(_0x5636ce,_0xfc77fc)=>{if('limitExceeded'!==_0xfc77fc['code'])throw console['error'](_0xfc77fc),new _0xa752d3('cloudservices-init',null,{'originalError':_0xfc77fc});_0x18f95f['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'});}),!_0x37fbda['me'])return new Promise(_0x2c012a=>_0x37fbda['on']('change:me',_0x2c012a));})['catch'](_0x599442=>{throw console['error'](_0x599442),new _0xa752d3('cloudservices-init',null,{'originalError':_0x599442});});}addToReconnectionStack(_0x4d1485){if('function'!=typeof _0x4d1485['reconnect'])throw new _0xa752d3('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x4d1485))throw new _0xa752d3('websocketgateway-plugin-already-registered',this,{'name':_0x4d1485['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x4d1485);}removeFromReconnectionStack(_0x50bf64){this['_reconnectionStack']['delete'](_0x50bf64);}isInReconnectionStack(_0x3973ab){return this['_reconnectionStack']['has'](_0x3973ab);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x24f061=>_0x24f061['reconnect']())))['then'](()=>this['state']=_0x16de04['CONNECTED'])['catch'](_0x273ba9=>{throw console['error'](_0x273ba9),new _0xa752d3('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0x16de04['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x181a27{['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[z,_0x2e4b5d];}constructor(_0x52792a){super(_0x52792a),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x309d10(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x2e4b5d);}init(){const _0x1d3a7c=this['context']['plugins']['get'](z);this['listenTo'](_0x1d3a7c,'change:state',(_0x28b797,_0x34e5ef,_0x47e588)=>{if('connected'!==_0x47e588)this['channelSessions']['forEach'](_0x5691dc=>_0x5691dc['clear']()),this['channelConnectedUsers']['forEach'](_0x123f6b=>_0x123f6b['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x52ab85,_0x50a881]of this['_registeredSessions'])for(const _0x26d5ce of _0x50a881)this['_handleSessionAdd'](_0x52ab85,_0x26d5ce);}}),this['_createUser'](_0x1d3a7c['connection']['me'],!0x0);}register(_0x49c194,_0x471725){if(this['_registeredSessions']['has'](_0x49c194))throw new _0xa752d3('sessions-register-already-registered',null,{'channelId':_0x49c194});this['_registeredSessions']['set'](_0x49c194,_0x471725),this['channelSessions']['set'](_0x49c194,new _0x309d10()),this['channelConnectedUsers']['set'](_0x49c194,new _0x309d10()),this['listenTo'](_0x471725,'add',(_0xe1a698,_0x51c064)=>this['_handleSessionAdd'](_0x49c194,_0x51c064)),this['listenTo'](_0x471725,'remove',(_0xb007bd,_0x480795)=>this['_handleSessionRemove'](_0x49c194,_0x480795));for(const _0x21c215 of _0x471725)this['_handleSessionAdd'](_0x49c194,_0x21c215);}unregister(_0x2e09b3){if(!this['_registeredSessions']['has'](_0x2e09b3))throw new _0xa752d3('sessions-unregister-not-exist',null,{'channelId':_0x2e09b3});const _0x2e8625=this['_registeredSessions']['get'](_0x2e09b3);this['stopListening'](_0x2e8625);for(const _0x9a98e4 of _0x2e8625)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x2e09b3,_0x9a98e4);this['_registeredSessions']['delete'](_0x2e09b3),this['channelSessions']['delete'](_0x2e09b3),this['channelConnectedUsers']['delete'](_0x2e09b3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x15c4a3){for(const _0x2140fd of this['channelSessions']['values']())for(const _0x2ef538 of _0x2140fd)if(_0x2ef538['id']===_0x15c4a3)return _0x2ef538['user'];}getUserSessions(_0x4460c6,_0x2c8bb5){const _0x245760=_0x2c8bb5?[this['channelSessions']['get'](_0x2c8bb5)]:this['channelSessions']['values'](),_0x17f730=new Set();for(const _0x237067 of _0x245760)for(const _0x24e323 of _0x237067)_0x24e323['user']['id']===_0x4460c6['id']&&_0x17f730['add'](_0x24e323['id']);return _0x17f730;}getUserRole(_0x3316d3){for(const _0x523ac3 of this['channelSessions']['values']())for(const _0x191d15 of _0x523ac3)if(_0x191d15['user']===_0x3316d3)return _0x191d15['role'];}['_handleSessionAdd'](_0x953d2f,_0x17518c){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x458dae=_0x17518c['user'],_0x42fb27=this['_users']['getUser'](_0x458dae['id'])||this['_createUser'](_0x458dae),_0x20af80=Object['assign']({},_0x17518c,{'user':_0x42fb27});if(this['channelSessions']['get'](_0x953d2f)['add'](_0x20af80),!_0x458dae['hiddenInPresenceList']){const _0x56e9b4=this['channelConnectedUsers']['get'](_0x953d2f);_0x56e9b4['has'](_0x42fb27['id'])||_0x56e9b4['add'](_0x42fb27),this['allConnectedUsers']['has'](_0x42fb27['id'])||_0x458dae['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x42fb27,_0x42fb27['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x953d2f,{'channelId':_0x953d2f,'session':_0x20af80});}['_handleSessionRemove'](_0x59f9bc,_0x2b9002){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1ff207=this['channelConnectedUsers']['get'](_0x59f9bc),_0xcdf87e=_0x2b9002['user'];_0xcdf87e['id']&&(this['channelSessions']['get'](_0x59f9bc)['remove'](_0x2b9002['id']),_0x1ff207['has'](_0xcdf87e['id'])&&!this['getUserSessions'](_0xcdf87e,_0x59f9bc)['size']&&_0x1ff207['remove'](_0xcdf87e['id']),this['allConnectedUsers']['get'](_0xcdf87e['id'])&&!this['getUserSessions'](_0xcdf87e)['size']&&this['allConnectedUsers']['remove'](_0xcdf87e['id']));}_createUser(_0x19beb5,_0x1d3efa){const _0x1ddb2f=this['_users']['addUser'](_0x19beb5);return _0x1d3efa&&this['_users']['defineMe'](_0x19beb5['id']),_0x1ddb2f['orderNumber']=this['_uniqueUsersCount']++,_0x1ddb2f;}},K=class extends _0x55ae44{_domEmitter=new(_0x1e70a0())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x20589d=this['editor'],_0x25ad11=_0x20589d['plugins']['get'](Y);_0x20589d['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x2fd9b3,{writer:_0x2c98d0})=>function(_0x316396,_0xc2ba0a,_0xb6d3ff,_0x451c1b){const _0x24276f=_0x316396['markerName']['split'](':')[0x2],_0x2d8e53=_0xb6d3ff['getUserBySessionId'](_0x24276f);if(!_0x2d8e53||_0x24276f===_0xb6d3ff['mySessionId'])return;if(!_0x451c1b['model']['schema']['checkChild'](_0x316396['markerRange']['start'],'$text'))return;const _0x4f9dbf={'class':'ck-user__marker\x20'+_0x2d8e53['color']['getMarkerClass'](),'style':Q(_0x2d8e53),'data-name':_0x2d8e53['name'],'data-session-id':_0x24276f},_0x1f978b=_0x451c1b['model']['markers']['get'](_0x316396['markerName'])['getStart'](),_0x500e9d=_0x1f978b['nodeAfter'],_0x5947aa=_0x451c1b['model']['schema'];if(_0x500e9d&&_0x5947aa['isObject'](_0x500e9d)&&_0x5947aa['isInline'](_0x500e9d)&&!_0x451c1b['model']['markers']['get']('user:range:'+_0x24276f)['getRange']()['isCollapsed'])return;const _0x370cf1=_0x1f978b['parent'];return _0x451c1b['model']['schema']['isLimit'](_0x370cf1)&&!_0x451c1b['model']['hasContent'](_0x370cf1)&&(_0x4f9dbf['contenteditable']=!0x1),function(_0xb5a8bc,_0x4dd587,_0x3cfa90){const _0xcf208f=_0xb5a8bc['createUIElement']('span',_0x4dd587);return _0xb5a8bc['setCustomProperty']('userPositionMarker',!0x0,_0xcf208f),_0xcf208f['render']=function(_0x14c73e){const _0x351288=this['toDomElement'](_0x14c73e),_0x485e4c=document['createElement']('span');return _0x485e4c['classList']['add']('ck-user__marker-tooltip'),_0x485e4c['setAttribute']('contenteditable','false'),_0x485e4c['setAttribute']('spellcheck','false'),_0x485e4c['textContent']=_0x3cfa90['name'],_0x351288['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x485e4c['outerHTML']+'⁠',_0x351288['addEventListener']('mouseenter',()=>{_0x351288['classList']['add']('ck-user__marker_hovered');}),_0x351288['addEventListener']('mouseleave',()=>{_0x351288['classList']['remove']('ck-user__marker_hovered');}),_0x351288;},_0xcf208f['isSimilar']=function(_0x4a2c7d){return!(!this['getCustomProperty']('userPositionMarker')||!_0x4a2c7d['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x4a2c7d['getAttribute']('data-session-id'));},_0xcf208f;}(_0xc2ba0a,_0x4f9dbf,_0x2d8e53);}(_0x2fd9b3,_0x2c98d0,_0x25ad11,_0x20589d)}),_0x20589d['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x545b2d=>function(_0x58c404,_0x2e6d74){const _0x212a81=_0x58c404['markerName']['split'](':')[0x2];if(_0x212a81===_0x2e6d74['mySessionId'])return null;const _0x2baa73=_0x2e6d74['getUserBySessionId'](_0x212a81);return _0x2baa73?{'id':_0x212a81,'classes':['ck-user__selection',_0x2baa73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2baa73),'data-session-id':_0x212a81},'priority':0x7d0+_0x2baa73['orderNumber']}:{'id':_0x212a81,'classes':[]};}(_0x545b2d,_0x25ad11)}),function(_0x2a5ee6){const _0x40c2d1=_0x2a5ee6['model'],_0x2c688f=new Map(),_0x1c0a4e=_0x2a5ee6['plugins']['get'](Y);_0x40c2d1['markers']['on']('update:user:range',(_0x4946b9,_0x1b00ed,_0x2f1a08,_0xb6d2be)=>{if(!_0xb6d2be&&_0x2c688f['get'](_0x1b00ed['name']))return _0x2c688f['get'](_0x1b00ed['name'])['detach'](),void _0x2c688f['delete'](_0x1b00ed['name']);const _0x2a761b=_0x1b00ed['name']['split'](':')[0x2];if(_0x2a761b===_0x1c0a4e['mySessionId'])return;const _0x489edb='user:position:'+_0x2a761b;_0x40c2d1['markers']['has'](_0x489edb)&&_0x2a5ee6['editing']['reconvertMarker'](_0x489edb),_0x1b00ed['on']('change:range',(_0x2fed9f,_0x5230f8,_0x217174)=>{if('$graveyard'!=_0x5230f8['root']['rootName']&&'$graveyard'==_0x1b00ed['getRange']()['root']['rootName']&&!_0x2c688f['has'](_0x1b00ed['name'])){const _0x23750d=_0x40c2d1['schema']['getNearestSelectionRange'](_0x217174['deletionPosition']);if(_0x23750d){const _0x321207=_0x446d30['fromRange'](_0x23750d);_0x2c688f['set'](_0x1b00ed['name'],_0x321207),_0x321207['on']('change:range',(_0x575856,_0x34eb55,_0x404b37)=>{if('$graveyard'==_0x321207['root']['rootName']){const _0x394e56=_0x40c2d1['schema']['getNearestSelectionRange'](_0x404b37['deletionPosition']);_0x394e56?(_0x321207['start']=_0x394e56['start'],_0x321207['end']=_0x394e56['end']):(_0x2c688f['delete'](_0x1b00ed['name']),_0x321207['detach']());}});}}});}),_0x40c2d1['document']['on']('change',()=>{_0x2c688f['size']>0x0&&_0x40c2d1['enqueueChange']({'isUndoable':!0x1},_0x7eb71e=>{for(const [_0x3c0915,_0x25cdee]of _0x2c688f)'$graveyard'==_0x40c2d1['markers']['get'](_0x3c0915)['getRange']()['root']['rootName']&&(J(_0x3c0915['split'](':')[0x2],_0x25cdee['toRange'](),_0x40c2d1,_0x7eb71e),_0x25cdee['detach']());_0x2c688f['clear']();});});}(_0x20589d),this['_domEmitter']['listenTo'](_0x59c443['document'],'keydown',(_0x5c34ab,{key:_0x1b1844})=>{'Escape'===_0x1b1844&&function(_0x785c6f){_0x785c6f['editing']['view']['change'](_0x316325=>{for(const _0x5b9d7c of _0x785c6f['model']['markers']){if(!_0x5b9d7c['name']['startsWith']('user:position'))continue;const _0x4f74b9=_0x785c6f['editing']['mapper']['markerNameToElements'](_0x5b9d7c['name']);if(_0x4f74b9){for(const _0x1d123e of _0x4f74b9)_0x316325['removeClass']('ck-user__marker_hovered',_0x1d123e);}}});}(_0x20589d);},{'useCapture':!0x0});}afterInit(){const _0x53c77b=this['editor'],_0x400991=_0x53c77b['commands']['get']('undo');_0x400991&&_0x53c77b['model']['on']('applyOperation',(_0xa6a87,_0x5af7e5)=>{const _0x45fe5c=_0x5af7e5[0x0];if(!_0x45fe5c['isDocumentOperation'])return;if('marker'!=_0x45fe5c['type']||!_0x45fe5c['name']['startsWith']('user:'))return;const _0x50bcd7=_0x45fe5c['batch'];_0x400991['_createdBatches']['has'](_0x50bcd7)&&(_0x45fe5c['newRange']=_0x45fe5c['oldRange']?_0x53c77b['model']['createRange'](_0x45fe5c['oldRange']['start'],_0x45fe5c['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x406a68=this['editor'],_0x590ce0=_0x406a68['model']['document'],_0x14e47a=_0x406a68['plugins']['get'](Y);_0x406a68['model']['enqueueChange']({'isUndoable':!0x1},_0x32b234=>{const _0x161f5e='user:range:'+_0x14e47a['mySessionId'],_0x1e9df8='user:position:'+_0x14e47a['mySessionId'],_0x98e946=_0x406a68['model']['markers']['has'](_0x161f5e);_0x406a68['editing']['view']['hasDomSelection']?J(_0x14e47a['mySessionId'],_0x590ce0['selection']['getFirstRange'](),_0x406a68['model'],_0x32b234):_0x98e946&&(_0x32b234['removeMarker'](_0x161f5e),_0x32b234['removeMarker'](_0x1e9df8));});}};function J(_0x4c0ebe,_0x431f53,_0x678152,_0x2cc7a8){const _0x92f34a='user:range:'+_0x4c0ebe,_0xfef42c='user:position:'+_0x4c0ebe,_0x4107cc=_0x431f53['getContainedElement']();let _0x520e3f=_0x431f53['start'];if(_0x4107cc&&_0x4107cc['is']('element','tableCell')){const _0x4fea97=function(_0x3d1765,_0x2a1ee6){for(const _0x1c78b7 of _0x3d1765['getPositions']())if(_0x2a1ee6['schema']['checkChild'](_0x1c78b7,'$text'))return _0x1c78b7;}(_0x431f53,_0x678152);_0x4fea97&&(_0x520e3f=_0x4fea97,_0x431f53=_0x2cc7a8['createRange'](_0x520e3f));}const _0x457619=_0x2cc7a8['createRange'](_0x520e3f);_0x678152['markers']['has'](_0x92f34a)?(_0x2cc7a8['updateMarker'](_0x92f34a,{'range':_0x431f53}),_0x2cc7a8['updateMarker'](_0xfef42c,{'range':_0x457619})):(_0x2cc7a8['addMarker'](_0x92f34a,{'range':_0x431f53,'usingOperation':!0x0}),_0x2cc7a8['addMarker'](_0xfef42c,{'range':_0x457619,'usingOperation':!0x0}));}function Q(_0x339d52){return'--ck-user-color:'+_0x339d52['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x339d52['color']['getColorAlphaVariable']()+';';}function X(_0xbd66c0,_0x335676,_0x253792){const _0x5cd180=_0xbd66c0['t'],t=_0xbd66c0['t'];switch(_0x335676){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 _0x5cd180({'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'},_0x253792);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x55ae44{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
- ((()=>_0xbf1a21)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x36d7c3,_0x2e4b5d,_0x12e214];}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 _0x3d9dd4=this['serverHistory']['getOperations']();for(let _0x32a847=_0x3d9dd4['length']-0x1;_0x32a847>=0x0;_0x32a847--){const _0x25f5cd=_0x3d9dd4[_0x32a847];if(!this['_disconnectionOperations']['has'](_0x25f5cd))return _0x25f5cd['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1d2beb){if(super(_0x1d2beb),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x3c190d(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0xa752d3('collaboration-missing-channelid',this);const _0x4cc958=_0x1d2beb['config']['get']('cloudServices.bundleVersion')||_0x559256;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x4cc958,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x196fc5(),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 it(this['_disconnectionOperations']);}init(){const _0x4cbaf2=this['editor'],_0xad91d9=_0x4cbaf2['plugins']['get'](_0x2e4b5d),_0x8e929a=_0x4cbaf2['plugins']['get'](z);this['listenTo'](_0xad91d9,'getOperationAuthor',(_0x36a1b7,_0xd1edd5)=>{const _0x2e88a3=_0xd1edd5[0x0];_0x2e88a3['_authorId']&&(_0x36a1b7['return']=_0xad91d9['getUser'](_0x2e88a3['_authorId']),_0x36a1b7['stop']()),null===_0x2e88a3['_authorId']&&(_0x36a1b7['return']=null,_0x36a1b7['stop']());},{'priority':'high'}),this['listenTo'](_0x4cbaf2['model']['document']['selection'],'change:range',(_0x2b825,_0x5e635f)=>{_0x5e635f['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4cbaf2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4cbaf2['model']['on']('applyOperation',(_0x5a97dc,_0x2861d4)=>{const _0xd872ed=_0x2861d4[0x0];_0xd872ed['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0xd872ed),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x8e929a,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x201574,_0x3b028a,_0x1749b3)=>'connected'===_0x201574&&!_0x3b028a&&!_0x1749b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4cbaf2['disableReadOnlyMode']('rtc-offline'):_0x4cbaf2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4cbaf2['disableReadOnlyMode']('rtc-offline'):_0x4cbaf2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x542311=this['editor']['plugins']['get'](Y),_0x15d8b2=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x542311['unregister'](this['_channelId']);const _0x4a49a8=await this['_service']['reconnect'](_0x15d8b2['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4a49a8)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x26ade7=await this['_service']['getConnectedSessions']();_0x542311['register'](this['_channelId'],_0x26ade7),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x4f09af){if(function(_0xf9c767){return'404'===_0xf9c767['code'];}(_0x4f09af)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x222a92){return'409'===_0x222a92['code'];}(_0x4f09af)){const _0x48ff4f=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x48ff4f);}else{if(!(_0x4f09af instanceof et))throw _0x4f09af;this['_handleReconnectionError']();}}}}destroy(){const _0x43b8b0=this['editor']['plugins']['get'](z),_0x1e0ada=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x1e0ada['channelSessions']['has'](this['_channelId'])&&_0x1e0ada['unregister'](this['_channelId']),_0x43b8b0['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0x1da7c8){if(this['sessionId']!==_0x1da7c8['sessionId']&&this['_lastSyncedOperationId']!==_0x1da7c8['lastOperationId'])throw new et();return this['sessionId']=_0x1da7c8['sessionId'],this['_handleServerResponse']([],{..._0x1da7c8,'wereChangesApplied':!0x1,'data':_0x1da7c8['data']},'reconnect');}async _connectService(_0xbe8d39,_0x5cad08=!0x1){const {connection:_0x1daeb5}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x1daeb5,this['_channelId'])['then'](_0x446993=>this['_initSessionsHandling'](_0x446993))['catch'](_0x5a8cc6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x5a8cc6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5dfb93,_0x28d7ed)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x28d7ed);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x5a515d=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xbe8d39);this['_isPendingUpdate']=!0x0;const _0x213478=await this['_service']['connect'](_0x1daeb5,this['_compressOperations'](_0xbe8d39),_0x5a515d);if(this['sessionId']=_0x213478['sessionId'],_0x5cad08){if(!_0x213478['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x213478['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0xbe8d39,_0x213478,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x213478,_0xbe8d39);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x357854=this['editor']['plugins']['get'](Y),_0x3c9f0e=this['editor']['plugins']['get'](K),_0x498fe6=_0x357854['channelSessions']['get'](this['_channelId']);_0x498fe6&&_0x498fe6['length']>0x1?_0x3c9f0e['createUserMarkerOperations']():this['listenTo'](_0x357854,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x357854['channelSessions']['get'](this['_channelId'])['length']&&_0x3c9f0e['createUserMarkerOperations']();});}async _handleReceivedOperations(_0xb5c690,_0x5681f2,_0x4efa7c,_0x3703aa){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x5681f2){const _0x32f8be=this['_decompressOperations'](_0x4efa7c,_0x3703aa);await this['_fetchMissingUsers'](_0x32f8be),this['_handleExternalOperations'](_0x32f8be,_0x5681f2,_0x4efa7c['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0x51b0e6}=this['editor'];let _0x31aa86;try{_0x31aa86=await this['_service']['getDocumentDetails']();}catch{const _0x2742c7=X(_0x51b0e6,'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'](_0x2742c7);}const _0x18f30d=_0x31aa86['currentDocumentSession']||_0x31aa86['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x18f30d['lastOperationId']){const _0x3421c3=X(_0x51b0e6,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x3421c3);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x2040c4=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2040c4['connection']||'connected'!==_0x2040c4['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x4bbdb4=this['editor']['plugins']['get'](Y);_0x4bbdb4['channelSessions']['has'](this['_channelId'])&&_0x4bbdb4['unregister'](this['_channelId']),_0x2040c4['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x77ef3){const _0x5b30f6=this['editor']['plugins']['get'](Y);this['listenTo'](_0x5b30f6,'sessionAdd:'+this['_channelId'],(_0x180adf,{session:_0x2d9452})=>{if(_0x2d9452['id']===_0x5b30f6['mySessionId']){_0x180adf['off']();const _0x1e25b9=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x10829a=_0x2d9452['permissions'];_0x1e25b9&&_0x1e25b9['isEnabled']&&(_0x10829a=_0x10829a['filter'](_0x47888e=>'document:write'!==_0x47888e)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x10829a,this['_channelId']);}}),_0x5b30f6['register'](this['_channelId'],_0x77ef3);}_initThrowingOnDataSet(){const _0x539af8=this['editor']['data']['set'];this['editor']['data']['set']=(..._0xf409f)=>{if(!_0xf409f[_0xf409f['length']-0x1]['suppressErrorInCollaboration'])throw new _0xa752d3('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x539af8['apply'](this['editor']['data'],_0xf409f);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x53aa07,[_0xd46b9a])=>{if(this['_document']['version'])throw new _0xa752d3('realtimecollaborationclient-init-document-already-initialized',this);_0x53aa07['stop'](),this['_setPendingAction']();const _0x4391e4=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x5123fa])=>!_0x5123fa['lazyLoad'])['map'](([_0x438cd9,_0x1111b2])=>[_0x438cd9,_0x1111b2['modelAttributes']||{}])),_0x22cfb7=this['_getOperationsFromInitData'](_0xd46b9a,_0x4391e4);0x0==_0x22cfb7['length']&&_0x22cfb7['push'](new _0xd0c2db(0x0)),_0x53aa07['return']=this['_connectService'](_0x22cfb7)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x5cf485=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x5cf485))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x666850,[_0x31c572,_0x276e47])=>{_0x666850['stop']();const _0x5d4c55=this['editor']['model']['document']['getRoot'](_0x31c572);if(!this['_knownRootNames']['has'](_0x31c572)){const _0x54bc3f=_0x276e47&&_0x276e47['data']?_0x276e47['data']:'',_0x22bb33=_0x276e47&&_0x276e47['attributes']?_0x276e47['attributes']:{};await this['_loadRoot'](_0x31c572,_0x54bc3f,_0x22bb33);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x5d4c55['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x5d4c55);});},{'priority':'high'});}async _fetchMissingUsers(_0x509193){const _0xefabd6=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x4ad26f}=this['editor']['plugins']['get'](z),_0x44764c=new Set();for(const _0x5c54ed of _0x509193){const _0x258f34=_0x5c54ed['_authorId'];_0x258f34&&!_0xefabd6['getUser'](_0x258f34)&&_0x44764c['add'](_0x258f34);}if(0x0===_0x44764c['size'])return;const _0x7b41e1=await _0x326c07['getMany'](_0x4ad26f,Array['from'](_0x44764c));for(const _0x162b52 of _0x7b41e1)_0xefabd6['getUser'](_0x162b52['id'])||_0xefabd6['addUser'](_0x162b52);}_getOperationsFromInitData(_0x27abdd,_0x117856={}){const _0x35c791=this['editor']['model'],_0x1c844e=[];let _0x3e76bb=0x0;const _0x321b38='string'==typeof _0x27abdd?{'main':_0x27abdd}:_0x27abdd;for(const _0x317cff of Object['keys'](_0x321b38)){if(!this['_document']['roots']['has'](_0x317cff))throw new _0xa752d3('realtimecollaborationclient-init-non-existent-root',this);const _0x378a41=this['_document']['getRoot'](_0x317cff),_0x39b1d4=this['editor']['data']['parse'](_0x321b38[_0x317cff],_0x378a41),_0xb88d37=new _0x5c1955(_0x35c791['createPositionAt'](_0x378a41,0x0),_0x39b1d4,_0x3e76bb++);_0x1c844e['push'](_0xb88d37);for(const [_0x303090,_0x5a5cb1]of _0x39b1d4['markers']){const _0x3f1104=_0x35c791['createRange'](_0x35c791['createPositionFromPath'](_0x378a41,_0x5a5cb1['start']['path']['slice']()),_0x35c791['createPositionFromPath'](_0x378a41,_0x5a5cb1['end']['path']['slice']())),_0x2ea845=new _0x393ac7(_0x303090,null,_0x3f1104,_0x35c791['markers'],!0x0,_0x3e76bb++);_0x1c844e['push'](_0x2ea845);}}if(_0x117856)for(const [_0x361f01,_0x50dd59]of Object['entries'](_0x117856)){const _0x28e6ef=_0x35c791['document']['getRoot'](_0x361f01);if(!_0x28e6ef)throw new _0xa752d3('multi-root-editor-root-attributes-no-root',null);for(const [_0x2858bb,_0x30fb21]of Object['entries'](_0x50dd59))if(null!==_0x30fb21){const _0x1d5e8d=new _0x543856(_0x28e6ef,_0x2858bb,null,_0x30fb21,_0x3e76bb++);_0x1c844e['push'](_0x1d5e8d);}}return _0x1c844e;}async _loadRoot(_0x4403b2,_0x1d0c08,_0x2bd040){this['_getOperationsFromInitData']({[_0x4403b2]:_0x1d0c08},{[_0x4403b2]:_0x2bd040})['forEach']((_0x45a3da,_0x4aabf6)=>{_0x45a3da['baseVersion']=this['_document']['version']+_0x4aabf6,_0x45a3da['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x45a3da);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x5682e6,_0x5759a0){let _0x3093d1;this['_offset']=_0x5682e6['offset'];const _0x7bc706=_0x5682e6['wereChangesApplied']&&!_0x5682e6['initData'],_0x9f09b=_0x7bc706?0x0:_0x5682e6['data']['baseVersion'];if(_0x5759a0['forEach'](_0x256652=>{_0x256652['_isInit']=!0x0,_0x256652['createdAt']=_0x5682e6['sessionCreatedAt'],_0x256652['_authorId']=null;}),_0x7bc706)_0x3093d1=_0x5759a0,this['_applyOperationsSet'](_0x3093d1,_0x7bc706);else{if(_0x5682e6['initData']){const _0x46e0eb=this['_getOperationsFromInitData'](_0x5682e6['initData']);this['_document']['history']['version']=-_0x46e0eb['length'],_0x46e0eb['forEach'](_0x190e8f=>{_0x190e8f['baseVersion']-=_0x46e0eb['length'],_0x190e8f['createdAt']=_0x5682e6['sessionCreatedAt'],_0x190e8f['_isInit']=!0x0,_0x190e8f['_authorId']=null;}),this['_applyOperationsSet'](_0x46e0eb,!0x0),this['serverHistory']['version']=-_0x46e0eb['length']+this['_offset'],this['_updateServerHistory'](_0x46e0eb);}this['_document']['history']['version']=_0x9f09b,_0x3093d1=this['_decompressOperations'](_0x5682e6['data'],_0x5682e6['metadata']),await this['_fetchMissingUsers'](_0x3093d1),this['_applyOperationsSet'](_0x3093d1,_0x7bc706);}_0x5682e6['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3093d1,_0x5682e6['lastOperationId']),this['_lastSyncedOperationId']=_0x5682e6['lastOperationId']),this['serverHistory']['version']=_0x9f09b+this['_offset'],this['_updateServerHistory'](_0x3093d1),_0x5759a0['filter'](_0x2fdf5a=>{const _0x3f488d=this['_getAffectedRoot'](_0x2fdf5a);return _0x3f488d&&!this['_knownRootNames']['has'](_0x3f488d);})['forEach']((_0x511c85,_0x3c02fb)=>{_0x511c85['baseVersion']=this['_document']['version']+_0x3c02fb,this['_saveOperationInBuffer'](_0x511c85);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x3965c5,_0x1914aa){const _0x1af802=_0x1914aa&&_0x1914aa['message'];if(_0x1af802&&_0x1af802['startsWith']('realtimecollaborationclient'))throw _0x1914aa;const _0x233a9e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x233a9e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0xa752d3(_0x3965c5,this['editor'],_0x1af802?{'originalError':_0x1af802}:void 0x0);}_saveOperationInBuffer(_0x32a97b){this['_knownOperations']['has'](_0x32a97b)||(this['_knownOperations']['add'](_0x32a97b),this['_bufferedOperations']['push'](_0x32a97b),this['_pendingAction']||'marker'==_0x32a97b['type']&&!_0x32a97b['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x2890cc=!0x1){!_0x2890cc&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x34e26e=>{_0x34e26e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x5ba660=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3c7151){return _0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3c7151['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x5ba660)||this['_crash'](_0x5ba660['message'],_0x5ba660);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x3c4c24=>{this['on']('change:_isPendingUpdate',()=>{_0x3c4c24();});});}async _sendBufferedOperations(){const _0xe89bdb=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xe89bdb['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x27f835=[...this['_bufferedOperations']];for(const _0x5edc61 of _0x27f835)_0x5edc61['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x5edc61);const _0xc0d161=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x27f835),_0x25d285=Z++,_0x57e752=this['_compressOperations'](_0x27f835),_0x5d2dfd=await this['_service']['sendOperations'](_0x57e752,_0x57e752['baseVersion'],_0xc0d161);try{return await this['_handleServerResponse'](_0x27f835,_0x5d2dfd,_0x25d285);}catch(_0x265051){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x265051);}}async['_handleServerResponse'](_0x5f463e,_0x5d99dd,_0x26d0a7){if('error'in _0x5d99dd)throw _0x5d99dd['error'];let _0x3a7b3a;if(_0x5d99dd['wereChangesApplied']){_0x5d99dd['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5d99dd['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xfd5884=>!_0x5f463e['includes'](_0xfd5884));for(const _0x1efa1c of _0x5f463e)_0x1efa1c['createdAt']='lastOperationAcceptedAt'in _0x5d99dd&&_0x5d99dd['lastOperationAcceptedAt']||void 0x0;st(_0x5f463e,_0x5d99dd['version']-_0x5f463e['length']),this['_updateServerHistory'](_0x5f463e);const _0x1bebb4=_0x5f463e['filter'](_0x107504=>{if(!_0x107504['_isInit'])return!0x1;const _0x1e4d6d=this['_getAffectedRoot'](_0x107504);return _0x1e4d6d&&!this['_knownRootNames']['has'](_0x1e4d6d);});st(_0x1bebb4,this['_document']['version']),this['_applyOperationsSet'](_0x1bebb4),_0x3a7b3a=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x527fcc=this['_decompressOperations'](_0x5d99dd['data'],_0x5d99dd['metadata'])['filter'](_0x3e53f4=>_0x3e53f4['baseVersion']>=this['_lastServerVersion']);_0x527fcc['forEach'](_0x4e2f8a=>this['_addKnownRoot'](_0x4e2f8a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x5ae444=>!_0x5ae444['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x5ae444))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x527fcc),_0x3a7b3a=this['_handleExternalOperations'](_0x527fcc,_0x5d99dd['version'],_0x5d99dd['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x3a7b3a?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0x18b3ff,_0x39b5eb,_0x2a9765){try{const _0x3a8ed7={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5edb29,operationsB:_0x3759b6,originalOperations:_0x1bbb3c}=_0x3c1840(_0x18b3ff,this['_bufferedOperations'],_0x3a8ed7);st(_0x5edb29,this['_document']['version']),st(_0x3759b6,_0x39b5eb);for(const _0x2603f9 of _0x5edb29){const _0x1393b7=_0x1bbb3c['get'](_0x2603f9);_0x1393b7?(_0x2603f9['_authorId']=_0x1393b7['_authorId'],'noop'!==_0x2603f9['type']&&(_0x2603f9['_aiSource']=_0x1393b7['_aiSource'])):_0x2603f9['_authorId']=null;}for(const _0x2a46a8 of _0x3759b6)'noop'!==_0x2a46a8['type']&&(_0x2a46a8['_aiSource']=_0x1bbb3c['get'](_0x2a46a8)?.['_aiSource']);_0x2a9765&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x18b3ff,_0x2a9765),this['_lastSyncedOperationId']=_0x2a9765),this['_bufferedOperations']=[..._0x3759b6],this['_applyOperationsSet'](_0x5edb29),this['_updateServerHistory'](_0x18b3ff);}catch(_0x58cf77){return console['error'](_0x58cf77),!0x1;}return!0x0;}_applyOperationsSet(_0x39de5b,_0x5afebf=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x1d7604=>{for(const _0x409184 of _0x39de5b)this['_knownOperations']['add'](_0x409184),this['_addKnownRoot'](_0x409184),_0x1d7604['batch']['addOperation'](_0x409184),this['editor']['model']['applyOperation'](_0x409184);});}_addKnownRoot(_0x4e2e5d){const _0x334810=this['_getAffectedRoot'](_0x4e2e5d);_0x334810&&this['_knownRootNames']['add'](_0x334810);}_getAffectedRoot(_0x42ffa6){let _0x21620a,_0x4dd83f;switch(_0x42ffa6['type']){case'insert':_0x21620a=_0x42ffa6['position']['root'];break;case'marker':if(_0x4dd83f=_0x42ffa6['newRange'],!_0x4dd83f)return null;_0x21620a=_0x4dd83f['root'];break;case'addRootAttribute':_0x21620a=_0x42ffa6['root'];break;case'addRoot':_0x21620a=_0x42ffa6['affectedSelectable'];break;case'move':_0x21620a=_0x42ffa6['targetPosition']['root'];break;default:return null;}return _0x21620a['rootName'];}_updateServerHistory(_0x254b44){_0x254b44['forEach'](_0x323ced=>{const _0x57509f=_0x323ced['clone']();_0x57509f['_authorId']=_0x323ced['_authorId'],_0x57509f['_isInit']=!!_0x323ced['_isInit'],_0x57509f['_aiSource']=_0x323ced['_aiSource'],_0x57509f['createdAt']=_0x323ced['createdAt'],_0x57509f['baseVersion']+=this['_offset'],_0x323ced['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x57509f),this['serverHistory']['addOperation'](_0x57509f);});}_handleReconnectionError(_0x7f787b){const _0x5f0403=this['editor']['plugins']['get']('Notification'),_0x47f4c8=this['editor']['locale'];_0x7f787b||(_0x7f787b=X(_0x47f4c8,'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.')),_0x5f0403['showWarning'](_0x7f787b,{'title':X(_0x47f4c8,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x36d7c3)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x36d7c3)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x22b83c){const _0x425c6f=_0x22b83c['map'](_0x4d84b2=>_0x4d84b2['toJSON']());return this['_compressor']['compress'](_0x425c6f);}_decompressOperations(_0x164e8c,_0x27dc6f){return this['_compressor']['decompress'](_0x164e8c)['map']((_0x2e781a,_0x1835dc)=>{const _0x14983d='init'==_0x27dc6f[_0x1835dc]['type'];if('InsertOperation'==_0x2e781a['__className']){const _0x3b698d=_0x2e781a['position']['root'];!this['_document']['getRoot'](_0x3b698d)&&(this['_document']['createRoot']('$unknown',_0x3b698d)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2e781a['__className']){const _0x87fb17=this['_document']['getRoot'](_0x2e781a['rootName']);_0x87fb17&&'$unknown'==_0x87fb17['name']&&_0x2e781a['elementName']!=_0x87fb17['name']&&(_0x87fb17['name']=_0x2e781a['elementName']);}}const _0x26f8b6=_0x3f7ebd['fromJSON'](_0x2e781a,this['_document']);return _0x26f8b6['wasUndone']=_0x2e781a['wasUndone'],_0x26f8b6['_isInit']=_0x14983d,_0x26f8b6['_authorId']=_0x14983d?null:_0x27dc6f[_0x1835dc]['userId'],_0x26f8b6['_isDisconnection']='cs:removeUser'===_0x27dc6f[_0x1835dc]['type'],_0x26f8b6['_aiSource']=_0x2e781a['_aiSource']||void 0x0,_0x26f8b6['createdAt']=_0x27dc6f[_0x1835dc]['createdAt'],_0x26f8b6;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x1f90fb=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1f90fb&&_0x1f90fb['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x19b5dd,_0x1b2d7d){for(const _0x4edf63 of _0x19b5dd)_0x4edf63['baseVersion']=_0x1b2d7d++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x47cd9d){this['_ignoredOperations']=_0x47cd9d,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x437815){let _0x3086b2=_0x437815['length'];for(;_0x3086b2--;){const _0x2b62f2=_0x437815[_0x3086b2];if(!this['_ignoredOperations']['has'](_0x2b62f2)){if(!this['_operationToId']['has'](_0x2b62f2)){const _0x1c7ecd=_0x4ad382()['slice'](0x1,0x12);this['_operationToId']['set'](_0x2b62f2,_0x1c7ecd);}return this['_operationToId']['get'](_0x2b62f2);}}}setIdForTheLastOperation(_0x2b50b0,_0x1b8907){if(!_0x1b8907)return;let _0x3a681d=_0x2b50b0['length'];for(;_0x3a681d--;){const _0x3d9974=_0x2b50b0[_0x3a681d];this['_ignoredOperations']['has'](_0x3d9974)||this['_operationToId']['set'](_0x3d9974,_0x1b8907);}}},nt=class extends _0x55ae44{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x181a27{static CommentsService=/* #__PURE__ -- @preserve */
26
- ((()=>_0x2d8629)());['_services'];static get requires(){return[z,_0x299e96,Y,_0x2e4b5d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x50149f){super(_0x50149f),this['_services']=new Map();}async init(){const _0x1a119b=this['context'],_0x569142=_0x1a119b['plugins']['get'](_0x299e96);if(_0x1a119b['plugins']['get'](z)['addToReconnectionStack'](this),_0x569142['adapter']={'addCommentThread':async({channelId:_0x402eee,threadId:_0x210728,comments:_0x32f185,resolvedAt:_0x318b28,resolvedBy:_0x491fd1,context:_0x178447,attributes:_0x7afa46})=>{const _0x2a7019=await this['_getService'](_0x402eee)['addCommentThread']({'commentThreadId':_0x210728,'comments':_0x32f185['map'](_0x224524=>function(_0x447515,_0x2103ae,_0x5f0066){return{'commentThreadId':_0x5f0066,'commentId':_0x447515['commentId'],'userId':_0x447515['authorId'],'content':_0x447515['content'],'documentId':_0x2103ae,'createdAt':_0x447515['createdAt'],'attributes':_0x447515['attributes']||{}};}(_0x224524,_0x402eee,_0x210728)),'resolvedAt':_0x318b28,'resolvedBy':_0x491fd1,'context':_0x178447,'attributes':_0x7afa46})['catch'](ct);return{'threadId':_0x2a7019['commentThreadId'],'comments':_0x2a7019['comments']};},'getCommentThread':async({channelId:_0x5bb6bd,threadId:_0x33fd5b})=>{const _0x1961de=await this['_getService'](_0x5bb6bd)['getCommentThread'](_0x33fd5b)['catch'](rt)['catch'](ct);return _0x1961de?_0x1961de['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1961de]),{'threadId':_0x1961de['commentThreadId'],'comments':_0x1961de['comments']['map'](at),'context':_0x1961de['context'],'resolvedAt':_0x1961de['resolvedAt'],'resolvedBy':_0x1961de['resolvedBy'],'attributes':_0x1961de['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x2fd83d,threadId:_0x18a5a8,context:_0x2a3526,unlinkedAt:_0x1daed7,attributes:_0x54a4f2})=>this['_getService'](_0x2fd83d)['updateCommentThread']({'commentThreadId':_0x18a5a8,'context':_0x2a3526,'attributes':_0x54a4f2,'unlinkedAt':_0x1daed7})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x29c765,threadId:_0x31257f})=>{const _0x53239b=await this['_getService'](_0x29c765)['resolveCommentThread'](_0x31257f)['catch'](rt)['catch'](ct);return{'threadId':_0x53239b['commentThreadId'],'resolvedAt':_0x53239b['resolvedAt'],'resolvedBy':_0x53239b['resolvedBy']};},'reopenCommentThread':async({channelId:_0x38ba25,threadId:_0x110981})=>this['_getService'](_0x38ba25)['reopenCommentThread'](_0x110981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x255848,threadId:_0x45d26a})=>this['_getService'](_0x255848)['removeCommentThread'](_0x45d26a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x395d7e,threadId:_0x2a1ee3,commentId:_0x42044d,content:_0x46bbb2,attributes:_0x1059bb})=>this['_getService'](_0x395d7e)['addComment'](_0x2a1ee3,_0x42044d,_0x46bbb2,_0x1059bb)['catch'](ct),'updateComment':({channelId:_0x4170c3,threadId:_0x1092b4,commentId:_0x5c8eba,content:_0xcad155,attributes:_0x35d6b0})=>this['_getService'](_0x4170c3)['updateComment'](_0x1092b4,_0x5c8eba,_0xcad155,_0x35d6b0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x275355,threadId:_0x484401,commentId:_0x572457})=>this['_getService'](_0x275355)['removeComment'](_0x484401,_0x572457)['catch'](rt)['catch'](ct)},_0x1a119b instanceof _0x4b9058){const _0x5550bb=_0x1a119b['config']['get']('collaboration.channelId'),_0x539a38=_0x1a119b['plugins']['get'](Y);await this['_setUpService'](_0x5550bb);const _0x5c2673=await this['_services']['get'](_0x5550bb)['getConnectedSessions']();this['listenTo'](_0x539a38,'sessionAdd:'+_0x5550bb,(_0x133baf,{session:_0x353760})=>{_0x353760['id']===_0x539a38['mySessionId']&&(_0x133baf['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x353760['permissions'],_0x5550bb));}),_0x539a38['register'](_0x5550bb,_0x5c2673);}}async _setUpService(_0x140921){if(this['_services']['has'](_0x140921))throw new _0xa752d3('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x140921});const _0x5e2fe8=this['context']['plugins']['get'](_0x299e96),_0x59aca5=new CloudServicesCommentsAdapter['CommentsService'](_0x140921);this['_services']['set'](_0x140921,_0x59aca5),this['listenTo'](_0x59aca5,'commentThreadAdded',(_0x1599f9,_0x51ec1f)=>{const {commentThreadId:_0x4d0890,documentId:_0x50b465,context:_0x12e072,attributes:_0x569920,resolvedAt:_0x71fc59,resolvedBy:_0x248197,comments:_0x768e46}=_0x51ec1f;_0x5e2fe8['getCommentThread'](_0x4d0890)||_0x5e2fe8['addCommentThread']({'threadId':_0x4d0890,'channelId':_0x50b465,'comments':_0x768e46?_0x768e46['map'](at):[],'context':_0x12e072,'attributes':_0x569920,'resolvedAt':_0x71fc59,'resolvedBy':_0x248197,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadUpdated',(_0x16a661,{commentThreadId:_0x5ede16,documentId:_0x1698d4,context:_0x16f3b2,unlinkedAt:_0x3ed646,attributes:_0x254eaa})=>{_0x5e2fe8['getCommentThread'](_0x5ede16)&&_0x5e2fe8['updateCommentThread']({'threadId':_0x5ede16,'channelId':_0x1698d4,'context':_0x16f3b2,'unlinkedAt':_0x3ed646,'attributes':_0x254eaa,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadResolved',(_0x368bb0,{commentThreadId:_0x41afef,resolvedBy:_0x2bfd6b,resolvedAt:_0x3eeab2})=>{const _0x2c0c1e=_0x5e2fe8['getCommentThread'](_0x41afef);_0x2c0c1e&&_0x2c0c1e['resolve']({'resolvedBy':_0x2bfd6b,'resolvedAt':_0x3eeab2,'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadReopened',(_0xcc3f6d,{commentThreadId:_0x572239})=>{const _0x5f1db0=_0x5e2fe8['getCommentThread'](_0x572239);_0x5f1db0&&_0x5f1db0['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentThreadRemoved',(_0x4a27f3,{commentThreadId:_0x2fbb5d})=>{const _0x1dc2cf=_0x5e2fe8['getCommentThread'](_0x2fbb5d);_0x1dc2cf&&_0x1dc2cf['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentAdded',(_0x327d20,_0x258cc3)=>{const _0x6b18d2=_0x258cc3['commentThreadId'],_0x26df1e=_0x5e2fe8['getCommentThread'](_0x6b18d2);_0x26df1e&&_0x26df1e['addComment']({...at(_0x258cc3),'isFromAdapter':!0x0});}),this['listenTo'](_0x59aca5,'commentUpdated',(_0x4ad0d5,{commentThreadId:_0xf946a0,commentId:_0x1ed519,content:_0x47a7c6,attributes:_0x45b18f})=>{const _0x520ce0=_0x5e2fe8['getCommentThread'](_0xf946a0);if(_0x520ce0){const _0x5624f1=_0x520ce0['getComment'](_0x1ed519);_0x5624f1&&_0x5624f1['update']({'content':_0x47a7c6,'attributes':_0x45b18f,'isFromAdapter':!0x0});}}),this['listenTo'](_0x59aca5,'commentRemoved',(_0x4aebc0,{commentThreadId:_0x2d8bba,commentId:_0x38aeca})=>{const _0x4efa3a=_0x5e2fe8['getCommentThread'](_0x2d8bba);if(_0x4efa3a){const _0x911b00=_0x4efa3a['getComment'](_0x38aeca);_0x911b00&&_0x911b00['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x59aca5,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x140921),this['stopListening'](_0x59aca5));}),await this['_connectService'](_0x140921);}destroy(){if(this['context']instanceof _0x4b9058){const _0x612cb4=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x612cb4)&&this['_terminateService'](_0x612cb4);}}_terminateService(_0x40d75a){if(!this['_services']['has'](_0x40d75a))throw new _0xa752d3('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x40d75a});this['_getService'](_0x40d75a)['disconnect'](),this['_services']['delete'](_0x40d75a);}async reconnect(){for(const _0x3bb637 of this['_services']['keys']())await this['_connectService'](_0x3bb637);if(this['context']instanceof _0x4b9058){const _0x4d133e=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x4d133e)){const _0x20089a=this['context']['plugins']['get'](Y);_0x20089a['unregister'](_0x4d133e);const _0x462659=await this['_services']['get'](_0x4d133e)['getConnectedSessions']();_0x20089a['register'](_0x4d133e,_0x462659);}}}async _connectService(_0x4d7fab){const {connection:_0x40b788}=this['context']['plugins']['get'](z),_0x5177f1=this['context']['plugins']['get'](_0x299e96),_0x2ee9fa=await this['_services']['get'](_0x4d7fab)['connect'](_0x40b788);await this['_fetchMissingUsersForThreads'](_0x2ee9fa);const _0x52069b=new Set(Array['from'](_0x5177f1['getCommentThreads']({'channelId':_0x4d7fab}),_0x412e29=>_0x412e29['id']));for(const _0x137021 of _0x2ee9fa)_0x137021['deletedAt']||_0x52069b['delete'](_0x137021['commentThreadId']);for(const _0xe5999b of _0x52069b)_0x5177f1['getCommentThread'](_0xe5999b)['remove']({'isFromAdapter':!0x0});for(const _0x40d108 of _0x2ee9fa){let _0x5c1fdd=_0x5177f1['getCommentThread'](_0x40d108['commentThreadId']);const {commentThreadId:_0x43416e,context:_0x1cd80a,attributes:_0x453e5c,resolvedBy:_0x378911,resolvedAt:_0x3f9b1a,unlinkedAt:_0x408377,deletedAt:_0x48b05a}=_0x40d108;if(_0x48b05a)continue;_0x5c1fdd||(_0x5c1fdd=_0x5177f1['addCommentThread']({'channelId':_0x4d7fab,'threadId':_0x43416e,'context':_0x1cd80a,'attributes':_0x453e5c||{},'resolvedBy':_0x378911,'resolvedAt':_0x3f9b1a,'unlinkedAt':_0x408377,'isFromAdapter':!0x0}));const _0x2f8fd9=new Set(Array['from'](_0x5c1fdd['comments'],_0x2e8ecb=>_0x2e8ecb['id']));for(const _0x3b7db3 of _0x40d108['comments'])_0x2f8fd9['delete'](_0x3b7db3['commentId']);for(const _0x1e9c6a of _0x2f8fd9)_0x5c1fdd['getComment'](_0x1e9c6a)['remove']({'isFromAdapter':!0x0});for(const _0x27fc15 of _0x40d108['comments']){const _0x35c16e=_0x5c1fdd['getComment'](_0x27fc15['commentId']);_0x35c16e?_0x35c16e['content']!==_0x27fc15['content']&&_0x35c16e['update']({'content':_0x27fc15['content'],'isFromAdapter':!0x0}):_0x5c1fdd['addComment'](Object['assign'](at(_0x27fc15),{'isFromAdapter':!0x0}));}}}_getService(_0xa2d483){if(!this['_services']['has'](_0xa2d483))throw new _0xa752d3('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0xa2d483});return this['_services']['get'](_0xa2d483);}async _fetchMissingUsersForThreads(_0x573326){const _0x12d094=this['context']['plugins']['get'](_0x2e4b5d),{connection:_0x265b82}=this['context']['plugins']['get'](z),_0xa63bb4=new Set();for(const {resolvedBy:_0x3502a8,comments:_0x3d0d8e}of _0x573326){_0x3502a8&&!_0x12d094['getUser'](_0x3502a8)&&_0xa63bb4['add'](_0x3502a8);for(const {userId:_0x100f95}of _0x3d0d8e)_0x12d094['getUser'](_0x100f95)||_0xa63bb4['add'](_0x100f95);}if(0x0===_0xa63bb4['size'])return;const _0x34de3c=await _0x326c07['getMany'](_0x265b82,Array['from'](_0xa63bb4));for(const _0x580d54 of _0x34de3c)_0x12d094['getUser'](_0x580d54['id'])||_0x12d094['addUser'](_0x580d54);}};async function rt(_0x371526){if('404'!==_0x371526['code'])throw _0x371526;}function ct(_0x255a5a){if((_0x19e980=_0x255a5a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x19e980['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x19e980['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x19e980;throw _0x255a5a;}function at(_0x3f003a){return{'threadId':_0x3f003a['commentThreadId'],'commentId':_0x3f003a['commentId'],'content':_0x3f003a['content'],'createdAt':_0x3f003a['createdAt'],'authorId':_0x3f003a['userId'],'attributes':_0x3f003a['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x55ae44{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x556600)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x18cb04,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4deb72){super(_0x4deb72);const _0x2a924e=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x2a924e);}init(){const _0x178400=this['editor']['plugins']['get'](z),_0xccc286=this['editor']['plugins']['get'](_0x18cb04);return _0xccc286['adapter']={'getSuggestion':async _0x5cdc6c=>{await this['_waitForServiceReady']();const _0x3a7f83=await this['_trackChangesService']['get'](_0x5cdc6c)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3a7f83]),_0x3a7f83;},'addSuggestion':async({id:_0x2d232c,type:_0x18806c,data:_0x41ee75,originalSuggestionId:_0x42fbb1,attributes:_0x12eeca})=>{await this['_waitForServiceReady']();const _0x1e696a={'id':_0x2d232c,'type':_0x18806c,'data':_0x41ee75,'originalSuggestionId':_0x42fbb1,'attributes':_0x12eeca},_0x20ca66=await this['_trackChangesService']['add'](_0x2d232c,_0x18806c,_0x41ee75,_0x42fbb1,_0x12eeca)['catch'](_0x269f89=>{if(dt(_0x269f89))return new Promise(_0x57de85=>{this['_bufferedRequests']['set'](_0x2d232c,{'resolve':_0x57de85,'suggestionData':_0x1e696a});});throw _0x269f89;});return this['_bufferedRequests']['delete'](_0x2d232c),_0x20ca66;},'updateSuggestion':async(_0x384df1,_0xaf007b)=>{if(await this['_waitForServiceReady'](),'open'!==_0xaf007b['state'])return this['_trackChangesService']['update'](_0x384df1,_0xaf007b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x16f6e0,_0x56acf4)=>{_0xccc286['hasSuggestion'](_0x56acf4['id'])&&(_0xccc286['getSuggestion'](_0x56acf4['id'])['attributes']=_0x56acf4['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x178400['connection']?.['state']&&(_0x178400['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x178400['connection'])['then'](_0x3ffc44=>(_0x178400['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x3ffc44)['then'](()=>{for(const _0x1eeb06 of _0x3ffc44){_0xccc286['addSuggestionData'](_0x1eeb06)['_saved']=!0x0;}})));}async reconnect(){const _0x572d82=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0xff8024}=this['editor']['plugins']['get'](z),_0x4b9e70=await this['_trackChangesService']['connect'](_0xff8024);await this['_fetchMissingUsersForThreads'](_0x4b9e70);for(const {suggestionData:_0x4a3a41,resolve:_0x1df044}of this['_bufferedRequests']['values']()){let _0x1c15af=_0x4b9e70['find'](_0x1cbd59=>_0x1cbd59['id']===_0x4a3a41['id']);_0x1c15af||(_0x1c15af=await this['_trackChangesService']['add'](_0x4a3a41['id'],_0x4a3a41['type'],_0x4a3a41['data'],_0x4a3a41['originalSuggestionId'])),_0x1df044(_0x1c15af);}for(const _0x24a66f of _0x4b9e70)_0x572d82['hasSuggestion'](_0x24a66f['id'])||_0x572d82['addSuggestionData'](_0x24a66f);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0xaf4037=>{this['listenTo'](this['_trackChangesService'],'connected',_0x397f17=>{_0x397f17['off'](),_0xaf4037();});});}async _fetchMissingUsersForThreads(_0x4ed935){const _0x10c599=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x1d766b}=this['editor']['plugins']['get'](z),_0x1a7746=new Set();for(const {authorId:_0x2a8954}of _0x4ed935)_0x10c599['getUser'](_0x2a8954)||_0x1a7746['add'](_0x2a8954);if(0x0===_0x1a7746['size'])return;const _0xbdbedb=await _0x326c07['getMany'](_0x1d766b,Array['from'](_0x1a7746));for(const _0x2a5d51 of _0xbdbedb)_0x10c599['getUser'](_0x2a5d51['id'])||_0x10c599['addUser'](_0x2a5d51);}};function lt(_0x52fda5){if(dt(_0x52fda5))return new Promise(()=>{});throw _0x52fda5;}function dt(_0x2a8724){return _0x2a8724['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2a8724['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x55ae44{static get requires(){return[_0x282b1b,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x756e91=this['editor']['plugins']['get'](z),_0x55f5fa=this['editor']['plugins']['get'](_0x6108de),_0x3cc403=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x756e91,'change:state',(_0x326674,_0x3fe890,_0x534856)=>{_0x55f5fa['isThreadsLoadingPaused']='connected'!==_0x534856;});}),this['listenTo'](_0x756e91,'change:state',(_0x38bc81,_0x5552fb,_0x25253d)=>{this['editor']['plugins']['get'](_0x299e96)['switchReadOnly']('connected'!==_0x25253d);}),_0x3cc403['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x452bc0=this['editor']['plugins']['get'](ot),_0x2a0b81=this['editor']['config']['get']('collaboration.channelId');_0x452bc0['_services']['has'](_0x2a0b81)&&_0x452bc0['_terminateService'](_0x2a0b81),super['destroy']();}},ft=class extends _0x55ae44{static get requires(){return[ut,ht,_0x2955eb];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x55ae44{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
- ((()=>_0x195a98)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x2d2cfb,Y,_0x2e4b5d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x43f96a){super(_0x43f96a);const _0x17f00f=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x17f00f);}async init(){const _0x1046a3=this['editor']['plugins']['get'](tt),_0x1d4c32=_0x1046a3['serverHistory'],_0x220237=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x1d4c32,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x1046a3['sessionId']});const _0x5ce659=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x559256,_0x18fad3=await _0x214476['isBundleUploaded'](_0x220237['connection'],_0x5ce659);this['editor']['plugins']['get'](_0x2d2cfb)['adapter']={'getRevision':async({revisionId:_0x435b9a})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x435b9a)),'updateRevisions':async _0x91194e=>{await this['_waitForServiceReady']();const _0x42f21e=this['_revisionTracker']['currentRevision'];if(_0x18fad3&&0x1===_0x91194e['length']&&_0x91194e[0x0]['id']===_0x42f21e['id'])return _0x91194e;for(const _0x236585 of _0x91194e)_0x236585['id']===_0x42f21e['id']&&(_0x236585['isEmptyCurrent']=_0x236585['fromVersion']===_0x236585['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x91194e,this['_lastRequestId'])['then'](_0xec1564=>(this['_lastRequestId']=_0xec1564,_0x91194e))['catch'](_0x24b655=>{if(pt(_0x24b655)||'400'===_0x24b655['code']&&void 0x0!==_0x24b655['data']['wrongRequestId']){for(const _0xda8528 of _0x91194e)this['_revisionTracker']['repository']['getRevision'](_0xda8528['id'])&&this['_revisionTracker']['_bufferUpdate'](_0xda8528['id'],_0xda8528,!0x1);if(pt(_0x24b655)&&'destroyed'!==this['editor']['state'])throw _0x24b655;return _0x91194e;}throw _0x24b655;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x101aa2,{revisionsData:_0x4af1b4,requestId:_0x58e759})=>{Math['max'](..._0x4af1b4['map'](_0x3e9f5e=>_0x3e9f5e['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4af1b4,_0x58e759);}):this['_handleRevisionsUpdate'](_0x4af1b4,_0x58e759);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x220237['connection']?.['state']&&(_0x220237['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x78e15d,requestId:_0x27afcb}=await this['_revisionHistoryService']['connect'](_0x220237['connection']);_0x220237['addToReconnectionStack'](this),this['_lastRequestId']=_0x27afcb,await this['_fetchMissingUsers'](_0x78e15d);for(const _0x2e0155 of _0x78e15d)this['_revisionTracker']['addRevisionData'](_0x2e0155);this['listenTo'](_0x1046a3,'change:_isConnected',(_0x196455,_0x82d996,_0x13fbb5)=>{_0x13fbb5&&(this['_oldOffset']=_0x1046a3['_offset'],_0x196455['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0x2d5b62=this['editor']['plugins']['get'](z),_0x34b524=this['editor']['plugins']['get'](tt),_0x311412=async()=>{const _0x5483de=this['_revisionTracker']['currentRevision'],_0x55d419=_0x5483de['id'],_0x2f8427=_0x55d419!==_0x34b524['sessionId'];if(_0x2f8427){const _0x501053=_0x34b524['_offset']-this['_oldOffset'],_0x42c0be=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x5483de['toVersion']+_0x501053!==_0x42c0be){const _0x5c689c=_0x5483de['fromVersion']+_0x501053,_0x16ac93=this['editor']['plugins']['get'](_0x2e4b5d),_0x2c2017=this['_revisionTracker']['buildRevisionData']({'revision':_0x5483de,'from':_0x5c689c,'to':_0x42c0be});_0x2c2017['id']=_0x5483de['id'];const _0x38e2c2=_0x2c2017['authorsIds']['map'](_0x3b7956=>_0x16ac93['getUser'](_0x3b7956));_0x5483de['_update']({..._0x2c2017,'authors':_0x38e2c2},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x5483de['id'],_0x2c2017,!0x0);}this['_revisionTracker']['_startingVersion']=_0x42c0be,_0x5483de['toVersion']!==_0x5483de['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x55d419)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x55d419),this['_revisionTracker']['_createCurrentRevision'](_0x42c0be);}const {revisions:_0x367f81,requestId:_0x287bf1}=await this['_revisionHistoryService']['reconnect'](_0x2d5b62['connection'],this['_lastRequestId']);_0x2f8427&&_0x367f81['length']>0x0?_0x34b524['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x367f81),this['_handleRevisionsUpdate'](_0x367f81,_0x287bf1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x34b524['_isConnected']?_0x311412():new Promise((_0x3d58f8,_0x25e291)=>{_0x34b524['once']('change:_isConnected',()=>{_0x311412()['then'](_0x3d58f8)['catch'](_0x25e291);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x47ecec=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x5aaf84=>{_0x5aaf84['off'](),_0x47ecec();});});}_getLatestVersionFromServerOperations(){const _0x4731e8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x42cde9 of _0x4731e8)if('marker'!==_0x42cde9['type']||_0x42cde9['affectsData'])return _0x42cde9['baseVersion']+0x1;}_getLatestVersion(){const _0x31723a=this['editor']['plugins']['get'](tt);return new Promise(_0x31aa11=>{_0x31723a['_isPendingUpdate']?_0x31723a['once']('change:_isPendingUpdate',()=>{_0x31aa11(this['_getLatestVersionFromServerOperations']());}):_0x31aa11(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x38a4d6,_0x41a050){const _0x50d18d=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x41a050;for(const _0x88c385 of _0x38a4d6){const _0x2e82e=_0x50d18d['getRevision'](_0x88c385['id']);if(_0x2e82e){if((_0x88c385['fromVersion']||_0x88c385['toVersion'])&&(_0x88c385['diffData']=null),_0x2e82e===this['_revisionTracker']['currentRevision']){const _0x269bc9=Math['max'](_0x2e82e['toVersion'],_0x88c385['toVersion']),_0x2afbd0=Math['max'](_0x2e82e['fromVersion'],_0x88c385['fromVersion']);let _0x28ab95;_0x2e82e['toVersion']===_0x88c385['toVersion']&&_0x2e82e['fromVersion']===_0x88c385['fromVersion']?(_0x28ab95=!0x0,this['_preventResendingRevisionData'](_0x88c385)):_0x88c385['toVersion']===_0x269bc9&&_0x88c385['fromVersion']===_0x2afbd0?_0x28ab95=!0x1:(_0x2e82e['toVersion']===_0x269bc9&&_0x2e82e['fromVersion']===_0x2afbd0||this['_fixRevision']({'revision':_0x2e82e,'from':_0x2afbd0,'to':_0x269bc9}),_0x28ab95=!0x0),_0x28ab95&&(delete _0x88c385['fromVersion'],delete _0x88c385['toVersion'],delete _0x88c385['diffData'],delete _0x88c385['createdAt'],delete _0x88c385['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x88c385),this['_preventResendingRevisionData'](_0x88c385);}else this['_revisionTracker']['addRevisionData'](_0x88c385);}const _0x172c83=_0x50d18d['getRevisions']();_0x172c83['reverse']();for(let _0x4595d9=0x0;_0x4595d9<_0x172c83['length']-0x1;_0x4595d9++){const _0x1da82f=_0x172c83[_0x4595d9],_0x13b862=_0x172c83[_0x4595d9+0x1];if(_0x1da82f['fromVersion']<_0x13b862['toVersion']){const _0x46d2e1=_0x13b862['toVersion'],_0x31a711=Math['max'](_0x46d2e1,_0x1da82f['toVersion']);this['_fixRevision']({'revision':_0x1da82f,'from':_0x46d2e1,'to':_0x31a711});}}}['_fixRevision']({revision:_0xa90801,from:_0x1b93bf,to:_0x40b230}={}){const _0x3244b2=this['editor']['plugins']['get'](_0x2e4b5d),_0x514580=this['_revisionTracker']['buildRevisionData']({'revision':_0xa90801,'from':_0x1b93bf,'to':_0x40b230});_0x514580['authors']=_0x514580['authorsIds']['map'](_0x2a0ef0=>_0x3244b2['getUser'](_0x2a0ef0)),_0xa90801['_update'](_0x514580);}_preventResendingRevisionData(_0x52b705){const _0x582692={};_0x582692['id']=_0x52b705['id'];for(const _0x1e435a of Object['keys'](_0x52b705))'id'!==_0x1e435a&&(_0x582692[_0x1e435a]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x582692['id'],_0x582692,!0x0);}async _fetchMissingUsers(_0xea1430){const _0x29028b=this['editor']['plugins']['get'](_0x2e4b5d),{connection:_0x3a7e70}=this['editor']['plugins']['get'](z),_0x1032d6=new Set();for(const _0x4a65c6 of _0xea1430){for(const _0x5adb4b of _0x4a65c6['authorsIds'])_0x4d0e7e(_0x5adb4b);_0x4a65c6['creatorId']&&_0x4d0e7e(_0x4a65c6['creatorId']);}if(0x0===_0x1032d6['size'])return;const _0x412d30=await _0x326c07['getMany'](_0x3a7e70,Array['from'](_0x1032d6));for(const _0x572209 of _0x412d30)_0x29028b['getUser'](_0x572209['id'])||_0x29028b['addUser'](_0x572209);function _0x4d0e7e(_0x33c98d){_0x29028b['getUser'](_0x33c98d)||_0x1032d6['add'](_0x33c98d);}}};function pt(_0x4f43ed){return _0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4f43ed['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x55ae44{static get requires(){return[_0x2d2cfb,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x5e1e61{_collapseAt;constructor(_0x4384c4,_0x117ad4=0x6){super(_0x4384c4);const _0x39a315=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x117ad4,this['bind']('isHidden')['to'](this,'usersCount',_0x3e74bd=>_0x3e74bd<_0x117ad4),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x39a315['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':_0x39a315['to']('usersCount',_0x23550b=>'+'+(_0x23550b-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x5e1e61{items;keystrokes;constructor(_0x474ab1){super(_0x474ab1);const _0x3694dc=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x2b4fca(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3694dc['if']('hasPopup'),'aria-expanded':_0x3694dc['to']('isExpanded',_0x4130d6=>this['hasPopup']&&String(_0x4130d6)),'aria-label':_0x3694dc['to']('hasPopup',_0x5bbccb=>X(_0x474ab1,_0x5bbccb?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3694dc['to']('hasPopup',_0x4a8016=>!!_0x4a8016&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3694dc['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3694dc['to'](_0x117507=>{const _0x25bacb=_0x117507,_0x3010d3=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1902e6=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3010d3?.['contains'](_0x25bacb['relatedTarget'])||_0x1902e6?.['contains'](_0x25bacb['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x26df09,_0x5186be,_0x381f1f)=>{this['element']&&(_0x381f1f?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']);}},_t=class extends _0x5e1e61{counterView;inlineListView;constructor(_0x5517c9,_0x2edae1=0x6){super(_0x5517c9);const _0x410ad1=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x2edae1),this['inlineListView']=new vt(_0x5517c9),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x1948f1 of this['inlineListView']['items'])_0x1948f1['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',_0x410ad1['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x5e1e61{listWrapperView;constructor(_0x2ee717,_0x4994e1){super(_0x2ee717);const _0x34d06b=this['bindTemplate'];this['listWrapperView']=new bt(_0x2ee717,_0x4994e1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x2ee717,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x34d06b['to'](_0x1558f2=>{const _0x32d013=_0x1558f2,_0x593f1d=document['querySelector']('.ck-presence-list__list'),_0x334bc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x593f1d?.['contains'](_0x32d013['relatedTarget'])||_0x334bc2?.['contains'](_0x32d013['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0xd7af65{constructor(_0x382465,_0x2c9ae2){super(_0x382465);const _0x230b7a=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2c9ae2?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x230b7a['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x230b7a['to']('role'),'aria-label':_0x230b7a['to']('ariaLabel'),'aria-labelledby':_0x230b7a['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x59c443['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x4fb8c3=this['element'];_0x4fb8c3&&(this['_isScrollable']=Math['max'](_0x4fb8c3['scrollHeight'],_0x4fb8c3['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x130180{['userView'];constructor(_0x329032,_0x4bddb8,_0x4cb329){super(_0x329032);const _0x19126b=this['bindTemplate'];this['userView']=new _0x4b32bb(_0x329032,_0x4bddb8);const _0x38d1e3={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x4bddb8['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x4bddb8['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x4bddb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x4bddb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x4bddb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4cb329&&(_0x38d1e3['tag']='button',_0x38d1e3['on']={'click':_0x19126b['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x38d1e3);}['focus'](){this['element']['focus']();}},It=class extends _0x5e1e61{['userView'];['markerView'];constructor(_0x381489,_0x5758a2,_0x3e4bf2){super(_0x381489);const _0x365dde=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x4b32bb(_0x381489,_0x5758a2),this['markerView']=new St(_0x381489,_0x5758a2);const _0x5f24a2=new _0x522fbe(_0x381489);_0x5f24a2['template']['tag']='span',_0x5f24a2['text']=_0x5758a2['name'];const _0x5ef242={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x365dde['to']('isFocusable',_0x1c7629=>!!_0x1c7629&&0x0),'aria-labelledby':_0x5f24a2['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x365dde['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x365dde['to']('hasTooltip',_0x87c0cc=>!_0x87c0cc),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5f24a2]};_0x3e4bf2&&(_0x5ef242['tag']='button',_0x5ef242['on']={'click':_0x365dde['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5ef242);}},St=class extends _0x5e1e61{constructor(_0x2ac7d9,_0x2db649){super(_0x2ac7d9),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2db649['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2db649['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2db649['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x181a27{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4266c8){super(_0x4266c8),this['context']['config']['define']('presenceList',Tt);const _0x3b4612=_0x4266c8['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x3b4612)throw new _0xa752d3('presencelist-collapseat-invalid-format',this);if(_0x3b4612<0x1)throw new _0xa752d3('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x309d10(),this['balloonPanelView']=new _0x241d1f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x242a9f of this['_allConnectedUsers'])this['_handleUserAdd'](_0x242a9f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x235dd5,_0x5e2308)=>{this['_handleUserAdd'](_0x5e2308);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4ec41c,_0x49c4c1)=>{this['_handleUserRemove'](_0x49c4c1);});}_createView(){const _0x26879d=this['context'],_0x41491f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x3af0de=this['balloonPanelView'];if(!_0x1eb77c(_0x26879d['config']['get']('presenceList.container')))throw new _0xa752d3('presencelist-missing-container',this);return _0x41491f['counterView']['bind']('usersCount')['to'](this),_0x41491f['bind']('isCollapsed')['to'](this,'usersCount',_0x1ca3c2=>{const {collapseAt:_0x172d2e}=_0x26879d['config']['get']('presenceList'),_0x189bdb=_0x1ca3c2>=_0x172d2e;if(_0x189bdb&&!_0x41491f['inlineListView']['items']['find'](_0x274e1c=>_0x274e1c instanceof wt)){const _0x411c36=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x411c36&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x41491f['inlineListView']['items']['add'](_0x41491f['counterView']);}return _0x189bdb||this['hideDropdown'](),_0x189bdb;}),_0x41491f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x367931=>{const _0x34ac97=_0x26879d['config']['get']('presenceList'),_0x2741c5=new It(_0x26879d['locale'],_0x367931,!!_0x34ac97['onClick']);return _0x2741c5['bind']('hasTooltip')['to'](_0x41491f,'isCollapsed',_0x10c479=>!_0x10c479),_0x2741c5['bind']('isFocusable')['to'](_0x41491f,'isCollapsed',_0x4f7db1=>!_0x4f7db1),_0x34ac97['onClick']&&this['listenTo'](_0x2741c5,'execute',()=>{this['view']['isCollapsed']||_0x34ac97['onClick'](_0x367931,_0x2741c5['element']);}),_0x2741c5;}),this['listenTo'](_0x41491f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x41491f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x41491f['inlineListView']['keystrokes']['set']('Enter',(_0x37fb50,_0x4a333c)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x4a333c());}),_0x41491f['render'](),_0x3af0de['render'](),_0xc6739({'emitter':_0x41491f,'activator':()=>_0x3af0de['isVisible'],'contextElements':[_0x3af0de['element'],_0x41491f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x26879d['config']['get']('presenceList.container')['appendChild'](_0x41491f['element']),this['_bodyCollection']=new _0x44ac99(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x41491f;}['_handleUserAdd'](_0x1c8c06){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x1c8c06['isMe'])return;const _0x118e56=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x118e56-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5cf54b=_0x1c8c06['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x1c8c06,_0x5cf54b);}['_handleUserRemove'](_0x1c3171){this['usersCount']--;const {collapseAt:_0x1c71b8}=this['context']['config']['get']('presenceList'),_0x4e29d0=this['usersCount']>=_0x1c71b8;if(this['currentDisplayedUsers']['get'](_0x1c3171['id']))this['currentDisplayedUsers']['remove'](_0x1c3171['id']);else{if(_0x4e29d0&&this['currentDisplayedUsers']['length']+0x1===_0x1c71b8-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x4e29d0?0x1:0x0)<this['usersCount']){for(const _0x2485e6 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x2485e6['id'])&&(this['currentDisplayedUsers']['add'](_0x2485e6,Math['min'](this['currentDisplayedUsers']['length']-(_0x4e29d0?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x4e29d0?0x1:0x0)===_0x1c71b8-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4d42ab=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4d42ab['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x31267c}=this['presenceDropdownView'];_0x31267c['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x15a1d1=>{if(!_0x4d42ab['displayMe']&&_0x15a1d1['isMe'])return null;const _0x47d489=new kt(this['context']['locale'],_0x15a1d1,!!_0x4d42ab['onClick']);return _0x4d42ab['onClick']&&this['listenTo'](_0x47d489,'execute',()=>{_0x4d42ab['onClick'](_0x15a1d1,_0x47d489['element']);}),_0x47d489;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x31267c['focus'](),_0x31267c['checkIfScrollable']();const _0x1fe849=(_0x1cae0c,_0x54a0b4)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x54a0b4();};_0x31267c['keystrokes']['set']('Esc',_0x1fe849),_0x31267c['keystrokes']['set']('Shift+Tab',_0x1fe849),_0x31267c['keystrokes']['set']('Tab',(_0x3900f3,_0x163181)=>{!function(_0x4cce26){const _0x1d8a5e=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x5348c1=>_0x5348c1+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4d1cf1=[...document['body']['querySelectorAll'](_0x1d8a5e)]['filter'](_0x4675f2=>_0x4675f2===document['activeElement']||_0x4675f2['offsetWidth']+_0x4675f2['offsetHeight']>0x0)['sort']((_0x11a5ff,_0x6d1a0a)=>(_0x11a5ff['tabIndex']||0x0)-(_0x6d1a0a['tabIndex']||0x0)),_0x3f6fba=_0x4d1cf1[(_0x4d1cf1['indexOf'](_0x4cce26)+0x1)%_0x4d1cf1['length']];_0x3f6fba&&_0x3f6fba['focus']();}(this['view']['element']),this['hideDropdown'](),_0x163181();}),_0x31267c['focusTracker']['add'](this['view']['element']),_0x31267c['focusTracker']['on']('change:isFocused',(_0x3a8fab,_0x4974a6,_0x37d5b5)=>{_0x37d5b5||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);}},At=class extends _0x181a27{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{Context as _0x5c518d,ContextPlugin as _0x1d7b68,PendingActions as _0x812481,Plugin as _0x141bb2}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x3f94b6,Collection as _0x5ee725,DomEmitterMixin as _0x4aa40b,KeystrokeHandler as _0x4b3894,global as _0x406852,uid as _0x331763,version as _0x1fa917}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x416845,BodyCollection as _0x18622a,LabelView as _0x7bf2a7,ListItemView as _0x494a95,ListView as _0x29ae41,Notification as _0x170bc1,View as _0x1242ab,clickOutsideHandler as _0x23500a}from'@ckeditor/ckeditor5-ui';import{History as _0x2c01e4,InsertOperation as _0x5de342,MarkerOperation as _0x5e9c27,ModelLiveRange as _0xd8180f,NoOperation as _0x5dc8c0,OperationFactory as _0x52750c,RootAttributeOperation as _0x1f81d5,transformOperationSets as _0x40586c}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x85f36a}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x7541ac,CommentsService as _0x225edb,EditorService as _0x3ae9fb,RevisionHistoryService as _0x1bf697,TrackChangesService as _0x258056,User as _0x44e3f4,WEB_SOCKET_GATEWAY_STATES as _0xaeb607,WebSocketGateway as _0x3ba5ab}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x268aa5,Users as _0x41a606}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x18258f}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x5e340b,TrackChangesEditing as _0x160671}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x518e44,CommentsEditing as _0x3f6980,CommentsRepository as _0x8a119d}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x186c36}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x3b247a}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x1d7b68{static WebSocketGateway=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x3ba5ab)());static initialReconnectionInterval=0x3e8;connection;_reconnectionStack;_shouldPluginsReconnect;_domEmitter;static get requires(){return[_0x85f36a,_0x170bc1];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b175d){super(_0x5b175d),this['set']('state',_0xaeb607['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x4aa40b())();}init(){const _0x420b16=this['context'],_0x2cf12e=_0x420b16['plugins']['get'](_0x85f36a),_0x56767c=_0x420b16['plugins']['get'](_0x170bc1);if(!_0x2cf12e['token'])throw new _0x3f94b6('websocketgateway-missing-token',this);if(!_0x2cf12e['webSocketUrl'])throw new _0x3f94b6('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),WebSocketGateway['WebSocketGateway']['connect'](_0x2cf12e['token'],_0x2cf12e['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0xaf22a5=>{if(this['connection']=_0xaf22a5,this['bind']('state')['to'](_0xaf22a5,'state',this,'_isBrowserOffline',(_0x40c28e,_0x44ec29)=>('connected'!==_0x40c28e&&(this['_shouldPluginsReconnect']=!0x0),_0x44ec29||_0x40c28e!==_0xaeb607['CONNECTED']?_0xaeb607['DISCONNECTED']:this['state']==_0xaeb607['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xaeb607['CONNECTING']):_0xaeb607['CONNECTED'])),this['connection']['on']('error',(_0x14937c,_0x37e14f)=>{if('limitExceeded'!==_0x37e14f['code'])throw console['error'](_0x37e14f),new _0x3f94b6('cloudservices-init',null,{'originalError':_0x37e14f});_0x56767c['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'});}),!_0xaf22a5['me'])return new Promise(_0x126c4c=>_0xaf22a5['on']('change:me',_0x126c4c));})['catch'](_0x477d3f=>{throw console['error'](_0x477d3f),new _0x3f94b6('cloudservices-init',null,{'originalError':_0x477d3f});});}addToReconnectionStack(_0x2ad329){if('function'!=typeof _0x2ad329['reconnect'])throw new _0x3f94b6('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x2ad329))throw new _0x3f94b6('websocketgateway-plugin-already-registered',this,{'name':_0x2ad329['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x2ad329);}removeFromReconnectionStack(_0x3991db){this['_reconnectionStack']['delete'](_0x3991db);}isInReconnectionStack(_0x517bf6){return this['_reconnectionStack']['has'](_0x517bf6);}_reconnect(){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x3a099a=>_0x3a099a['reconnect']())))['then'](()=>this['state']=_0xaeb607['CONNECTED'])['catch'](_0x256c27=>{throw console['error'](_0x256c27),new _0x3f94b6('cloudservices-reconnection-error',this['context']);});}disconnect(){this['connection']&&this['connection']['disconnect'](),this['state']=_0xaeb607['DISCONNECTED'],this['_domEmitter']['stopListening']();}destroy(){this['disconnect'](),super['destroy']();}},Y=class extends _0x1d7b68{['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[z,_0x41a606];}constructor(_0x2b1527){super(_0x2b1527),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x5ee725(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x41a606);}init(){const _0x1646b3=this['context']['plugins']['get'](z);this['listenTo'](_0x1646b3,'change:state',(_0x538112,_0xd8cd11,_0x3e3ba0)=>{if('connected'!==_0x3e3ba0)this['channelSessions']['forEach'](_0x581b81=>_0x581b81['clear']()),this['channelConnectedUsers']['forEach'](_0x380176=>_0x380176['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x4d5aa5,_0x46ad79]of this['_registeredSessions'])for(const _0x1c3e43 of _0x46ad79)this['_handleSessionAdd'](_0x4d5aa5,_0x1c3e43);}}),this['_createUser'](_0x1646b3['connection']['me'],!0x0);}register(_0x411858,_0x1a1cc2){if(this['_registeredSessions']['has'](_0x411858))throw new _0x3f94b6('sessions-register-already-registered',null,{'channelId':_0x411858});this['_registeredSessions']['set'](_0x411858,_0x1a1cc2),this['channelSessions']['set'](_0x411858,new _0x5ee725()),this['channelConnectedUsers']['set'](_0x411858,new _0x5ee725()),this['listenTo'](_0x1a1cc2,'add',(_0x471e4c,_0x2b6e1a)=>this['_handleSessionAdd'](_0x411858,_0x2b6e1a)),this['listenTo'](_0x1a1cc2,'remove',(_0x546825,_0x5a282c)=>this['_handleSessionRemove'](_0x411858,_0x5a282c));for(const _0xe820d8 of _0x1a1cc2)this['_handleSessionAdd'](_0x411858,_0xe820d8);}unregister(_0x817f00){if(!this['_registeredSessions']['has'](_0x817f00))throw new _0x3f94b6('sessions-unregister-not-exist',null,{'channelId':_0x817f00});const _0x2bc27a=this['_registeredSessions']['get'](_0x817f00);this['stopListening'](_0x2bc27a);for(const _0x30c20b of _0x2bc27a)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x817f00,_0x30c20b);this['_registeredSessions']['delete'](_0x817f00),this['channelSessions']['delete'](_0x817f00),this['channelConnectedUsers']['delete'](_0x817f00);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}getUserBySessionId(_0x29e7f7){for(const _0x36b08c of this['channelSessions']['values']())for(const _0x496fd4 of _0x36b08c)if(_0x496fd4['id']===_0x29e7f7)return _0x496fd4['user'];}getUserSessions(_0x480b98,_0x3b8811){const _0x209215=_0x3b8811?[this['channelSessions']['get'](_0x3b8811)]:this['channelSessions']['values'](),_0x30ebd9=new Set();for(const _0x5bfc72 of _0x209215)for(const _0x19f60b of _0x5bfc72)_0x19f60b['user']['id']===_0x480b98['id']&&_0x30ebd9['add'](_0x19f60b['id']);return _0x30ebd9;}getUserRole(_0x2b63d0){for(const _0x449480 of this['channelSessions']['values']())for(const _0x22ee9a of _0x449480)if(_0x22ee9a['user']===_0x2b63d0)return _0x22ee9a['role'];}['_handleSessionAdd'](_0x3468d0,_0x43a549){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0xdae64a=_0x43a549['user'],_0x2129a5=this['_users']['getUser'](_0xdae64a['id'])||this['_createUser'](_0xdae64a),_0x29ded2=Object['assign']({},_0x43a549,{'user':_0x2129a5});if(this['channelSessions']['get'](_0x3468d0)['add'](_0x29ded2),!_0xdae64a['hiddenInPresenceList']){const _0x9afb51=this['channelConnectedUsers']['get'](_0x3468d0);_0x9afb51['has'](_0x2129a5['id'])||_0x9afb51['add'](_0x2129a5),this['allConnectedUsers']['has'](_0x2129a5['id'])||_0xdae64a['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x2129a5,_0x2129a5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3468d0,{'channelId':_0x3468d0,'session':_0x29ded2});}['_handleSessionRemove'](_0x193e68,_0x38724b){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1b7ab5=this['channelConnectedUsers']['get'](_0x193e68),_0x2d2efc=_0x38724b['user'];_0x2d2efc['id']&&(this['channelSessions']['get'](_0x193e68)['remove'](_0x38724b['id']),_0x1b7ab5['has'](_0x2d2efc['id'])&&!this['getUserSessions'](_0x2d2efc,_0x193e68)['size']&&_0x1b7ab5['remove'](_0x2d2efc['id']),this['allConnectedUsers']['get'](_0x2d2efc['id'])&&!this['getUserSessions'](_0x2d2efc)['size']&&this['allConnectedUsers']['remove'](_0x2d2efc['id']));}_createUser(_0x442de8,_0x11ab30){const _0x2ac101=this['_users']['addUser'](_0x442de8);return _0x11ab30&&this['_users']['defineMe'](_0x442de8['id']),_0x2ac101['orderNumber']=this['_uniqueUsersCount']++,_0x2ac101;}},K=class extends _0x141bb2{_domEmitter=new(_0x4aa40b())();static get requires(){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0x5b31cb=this['editor'],_0x5d1323=_0x5b31cb['plugins']['get'](Y);_0x5b31cb['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x4c72ba,{writer:_0x433d9c})=>function(_0x24ce36,_0x1d49b6,_0x50984b,_0x7fe360){const _0x1fcd3a=_0x24ce36['markerName']['split'](':')[0x2],_0x59ef0f=_0x50984b['getUserBySessionId'](_0x1fcd3a);if(!_0x59ef0f||_0x1fcd3a===_0x50984b['mySessionId'])return;if(!_0x7fe360['model']['schema']['checkChild'](_0x24ce36['markerRange']['start'],'$text'))return;const _0x14d48d={'class':'ck-user__marker\x20'+_0x59ef0f['color']['getMarkerClass'](),'style':Q(_0x59ef0f),'data-name':_0x59ef0f['name'],'data-session-id':_0x1fcd3a},_0x2444ce=_0x7fe360['model']['markers']['get'](_0x24ce36['markerName'])['getStart'](),_0x1e6df8=_0x2444ce['nodeAfter'],_0x12358a=_0x7fe360['model']['schema'];if(_0x1e6df8&&_0x12358a['isObject'](_0x1e6df8)&&_0x12358a['isInline'](_0x1e6df8)&&!_0x7fe360['model']['markers']['get']('user:range:'+_0x1fcd3a)['getRange']()['isCollapsed'])return;const _0x597b69=_0x2444ce['parent'];return _0x7fe360['model']['schema']['isLimit'](_0x597b69)&&!_0x7fe360['model']['hasContent'](_0x597b69)&&(_0x14d48d['contenteditable']=!0x1),function(_0x579cc0,_0x39ad04,_0x2143bb){const _0x129a88=_0x579cc0['createUIElement']('span',_0x39ad04);return _0x579cc0['setCustomProperty']('userPositionMarker',!0x0,_0x129a88),_0x129a88['render']=function(_0x46a67d){const _0xa8ae10=this['toDomElement'](_0x46a67d),_0x466a32=document['createElement']('span');return _0x466a32['classList']['add']('ck-user__marker-tooltip'),_0x466a32['setAttribute']('contenteditable','false'),_0x466a32['setAttribute']('spellcheck','false'),_0x466a32['textContent']=_0x2143bb['name'],_0xa8ae10['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x466a32['outerHTML']+'⁠',_0xa8ae10['addEventListener']('mouseenter',()=>{_0xa8ae10['classList']['add']('ck-user__marker_hovered');}),_0xa8ae10['addEventListener']('mouseleave',()=>{_0xa8ae10['classList']['remove']('ck-user__marker_hovered');}),_0xa8ae10;},_0x129a88['isSimilar']=function(_0x2ed2b3){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2ed2b3['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2ed2b3['getAttribute']('data-session-id'));},_0x129a88;}(_0x1d49b6,_0x14d48d,_0x59ef0f);}(_0x4c72ba,_0x433d9c,_0x5d1323,_0x5b31cb)}),_0x5b31cb['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x4bdab8=>function(_0x4c66f0,_0x58ba03){const _0x3a01c6=_0x4c66f0['markerName']['split'](':')[0x2];if(_0x3a01c6===_0x58ba03['mySessionId'])return null;const _0x1d5489=_0x58ba03['getUserBySessionId'](_0x3a01c6);return _0x1d5489?{'id':_0x3a01c6,'classes':['ck-user__selection',_0x1d5489['color']['getSelectionClass']()],'attributes':{'style':Q(_0x1d5489),'data-session-id':_0x3a01c6},'priority':0x7d0+_0x1d5489['orderNumber']}:{'id':_0x3a01c6,'classes':[]};}(_0x4bdab8,_0x5d1323)}),function(_0x126719){const _0x38f79c=_0x126719['model'],_0x570b12=new Map(),_0x14bfc8=_0x126719['plugins']['get'](Y);_0x38f79c['markers']['on']('update:user:range',(_0x3799d2,_0x59698b,_0x567daf,_0x137d01)=>{if(!_0x137d01&&_0x570b12['get'](_0x59698b['name']))return _0x570b12['get'](_0x59698b['name'])['detach'](),void _0x570b12['delete'](_0x59698b['name']);const _0x350f45=_0x59698b['name']['split'](':')[0x2];if(_0x350f45===_0x14bfc8['mySessionId'])return;const _0x3bf073='user:position:'+_0x350f45;_0x38f79c['markers']['has'](_0x3bf073)&&_0x126719['editing']['reconvertMarker'](_0x3bf073),_0x59698b['on']('change:range',(_0x1e46f4,_0x2cde4c,_0x3aa97d)=>{if('$graveyard'!=_0x2cde4c['root']['rootName']&&'$graveyard'==_0x59698b['getRange']()['root']['rootName']&&!_0x570b12['has'](_0x59698b['name'])){const _0x42e55f=_0x38f79c['schema']['getNearestSelectionRange'](_0x3aa97d['deletionPosition']);if(_0x42e55f){const _0x58dc42=_0xd8180f['fromRange'](_0x42e55f);_0x570b12['set'](_0x59698b['name'],_0x58dc42),_0x58dc42['on']('change:range',(_0x2b4dba,_0x31798c,_0x2d319c)=>{if('$graveyard'==_0x58dc42['root']['rootName']){const _0x4acc1c=_0x38f79c['schema']['getNearestSelectionRange'](_0x2d319c['deletionPosition']);_0x4acc1c?(_0x58dc42['start']=_0x4acc1c['start'],_0x58dc42['end']=_0x4acc1c['end']):(_0x570b12['delete'](_0x59698b['name']),_0x58dc42['detach']());}});}}});}),_0x38f79c['document']['on']('change',()=>{_0x570b12['size']>0x0&&_0x38f79c['enqueueChange']({'isUndoable':!0x1},_0x42548c=>{for(const [_0x169c44,_0x1d72eb]of _0x570b12)'$graveyard'==_0x38f79c['markers']['get'](_0x169c44)['getRange']()['root']['rootName']&&(J(_0x169c44['split'](':')[0x2],_0x1d72eb['toRange'](),_0x38f79c,_0x42548c),_0x1d72eb['detach']());_0x570b12['clear']();});});}(_0x5b31cb),this['_domEmitter']['listenTo'](_0x406852['document'],'keydown',(_0x111877,{key:_0x4f8445})=>{'Escape'===_0x4f8445&&function(_0x154c6c){_0x154c6c['editing']['view']['change'](_0x1e1f4e=>{for(const _0x1233a3 of _0x154c6c['model']['markers']){if(!_0x1233a3['name']['startsWith']('user:position'))continue;const _0x558cb6=_0x154c6c['editing']['mapper']['markerNameToElements'](_0x1233a3['name']);if(_0x558cb6){for(const _0x2caf71 of _0x558cb6)_0x1e1f4e['removeClass']('ck-user__marker_hovered',_0x2caf71);}}});}(_0x5b31cb);},{'useCapture':!0x0});}afterInit(){const _0x4cc28d=this['editor'],_0x260377=_0x4cc28d['commands']['get']('undo');_0x260377&&_0x4cc28d['model']['on']('applyOperation',(_0x5112f9,_0x3d9330)=>{const _0x22d4b4=_0x3d9330[0x0];if(!_0x22d4b4['isDocumentOperation'])return;if('marker'!=_0x22d4b4['type']||!_0x22d4b4['name']['startsWith']('user:'))return;const _0x3f64fe=_0x22d4b4['batch'];_0x260377['_createdBatches']['has'](_0x3f64fe)&&(_0x22d4b4['newRange']=_0x22d4b4['oldRange']?_0x4cc28d['model']['createRange'](_0x22d4b4['oldRange']['start'],_0x22d4b4['oldRange']['end']):null);},{'priority':'highest'});}destroy(){return this['_domEmitter']['stopListening'](),super['destroy']();}createUserMarkerOperations(){const _0x1a0288=this['editor'],_0x23ac39=_0x1a0288['model']['document'],_0x3d8c2f=_0x1a0288['plugins']['get'](Y);_0x1a0288['model']['enqueueChange']({'isUndoable':!0x1},_0xc60576=>{const _0xc4c4a='user:range:'+_0x3d8c2f['mySessionId'],_0x1ea1b2='user:position:'+_0x3d8c2f['mySessionId'],_0x14de7e=_0x1a0288['model']['markers']['has'](_0xc4c4a);_0x1a0288['editing']['view']['hasDomSelection']?J(_0x3d8c2f['mySessionId'],_0x23ac39['selection']['getFirstRange'](),_0x1a0288['model'],_0xc60576):_0x14de7e&&(_0xc60576['removeMarker'](_0xc4c4a),_0xc60576['removeMarker'](_0x1ea1b2));});}};function J(_0x14a499,_0x3c0b85,_0x4304f3,_0x5cf20d){const _0x10da26='user:range:'+_0x14a499,_0x1a9f59='user:position:'+_0x14a499,_0x1aacdb=_0x3c0b85['getContainedElement']();let _0x5baaa0=_0x3c0b85['start'];if(_0x1aacdb&&_0x1aacdb['is']('element','tableCell')){const _0x453fec=function(_0x18e27b,_0x4dc674){for(const _0x4af6d5 of _0x18e27b['getPositions']())if(_0x4dc674['schema']['checkChild'](_0x4af6d5,'$text'))return _0x4af6d5;}(_0x3c0b85,_0x4304f3);_0x453fec&&(_0x5baaa0=_0x453fec,_0x3c0b85=_0x5cf20d['createRange'](_0x5baaa0));}const _0x1143f9=_0x5cf20d['createRange'](_0x5baaa0);_0x4304f3['markers']['has'](_0x10da26)?(_0x5cf20d['updateMarker'](_0x10da26,{'range':_0x3c0b85}),_0x5cf20d['updateMarker'](_0x1a9f59,{'range':_0x1143f9})):(_0x5cf20d['addMarker'](_0x10da26,{'range':_0x3c0b85,'usingOperation':!0x0}),_0x5cf20d['addMarker'](_0x1a9f59,{'range':_0x1143f9,'usingOperation':!0x0}));}function Q(_0x3aa903){return'--ck-user-color:'+_0x3aa903['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3aa903['color']['getColorAlphaVariable']()+';';}function X(_0x19cb86,_0x501edf,_0x9679c9){const _0x1168f2=_0x19cb86['t'],t=_0x19cb86['t'];switch(_0x501edf){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 _0x1168f2({'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'},_0x9679c9);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x141bb2{static CollaborativeEditingService=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x7541ac)());_offset;['sessionId'];serverHistory;['_channelId'];['_service'];_document;['_compressor'];_bufferedOperations;_knownOperations;_knownRootNames;_pendingAction;_hasSelectionChanged;_sendBufferedOperationsDelayId;['_baseBufferDelay'];_currentBufferDelay;_lastSyncedOperationId;_disconnectionOperations;_operationIdentifier;static get requires(){return[z,Y,K,_0x812481,_0x41a606,_0x170bc1];}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 _0x2bbf03=this['serverHistory']['getOperations']();for(let _0x495aa4=_0x2bbf03['length']-0x1;_0x495aa4>=0x0;_0x495aa4--){const _0x37a458=_0x2bbf03[_0x495aa4];if(!this['_disconnectionOperations']['has'](_0x37a458))return _0x37a458['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x10e217){if(super(_0x10e217),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2c01e4(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x3f94b6('collaboration-missing-channelid',this);const _0x3c556f=_0x10e217['config']['get']('cloudServices.bundleVersion')||_0x1fa917;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3c556f,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x18258f(),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 it(this['_disconnectionOperations']);}init(){const _0x444038=this['editor'],_0x5e8678=_0x444038['plugins']['get'](_0x41a606),_0x64a756=_0x444038['plugins']['get'](z);this['listenTo'](_0x5e8678,'getOperationAuthor',(_0x34f8ea,_0x2199ce)=>{const _0xe155fb=_0x2199ce[0x0];_0xe155fb['_authorId']&&(_0x34f8ea['return']=_0x5e8678['getUser'](_0xe155fb['_authorId']),_0x34f8ea['stop']()),null===_0xe155fb['_authorId']&&(_0x34f8ea['return']=null,_0x34f8ea['stop']());},{'priority':'high'}),this['listenTo'](_0x444038['model']['document']['selection'],'change:range',(_0x2fb9bb,_0x1ab3b7)=>{_0x1ab3b7['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x444038['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x444038['model']['on']('applyOperation',(_0x57fad3,_0x386144)=>{const _0x2f78a5=_0x386144[0x0];_0x2f78a5['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x2f78a5),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x64a756,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3bbc64,_0x4822ac,_0x28f4c7)=>'connected'===_0x3bbc64&&!_0x4822ac&&!_0x28f4c7),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x444038['disableReadOnlyMode']('rtc-offline'):_0x444038['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x444038['disableReadOnlyMode']('rtc-offline'):_0x444038['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async reconnect(){const _0x1c276d=this['editor']['plugins']['get'](Y),_0x45ce19=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1c276d['unregister'](this['_channelId']);const _0xf11c93=await this['_service']['reconnect'](_0x45ce19['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0xf11c93)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x43aea8=await this['_service']['getConnectedSessions']();_0x1c276d['register'](this['_channelId'],_0x43aea8),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x351769){if(function(_0x45e654){return'404'===_0x45e654['code'];}(_0x351769)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x5f1270){return'409'===_0x5f1270['code'];}(_0x351769)){const _0x4f2485=X(this['editor']['locale'],'The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');this['_handleReconnectionError'](_0x4f2485);}else{if(!(_0x351769 instanceof et))throw _0x351769;this['_handleReconnectionError']();}}}}destroy(){const _0x439b5a=this['editor']['plugins']['get'](z),_0xafa313=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0xafa313['channelSessions']['has'](this['_channelId'])&&_0xafa313['unregister'](this['_channelId']),_0x439b5a['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async _handleReconnectionResponse(_0xb971e0){if(this['sessionId']!==_0xb971e0['sessionId']&&this['_lastSyncedOperationId']!==_0xb971e0['lastOperationId'])throw new et();return this['sessionId']=_0xb971e0['sessionId'],this['_handleServerResponse']([],{..._0xb971e0,'wereChangesApplied':!0x1,'data':_0xb971e0['data']},'reconnect');}async _connectService(_0x1a747e,_0x4f4099=!0x1){const {connection:_0x47cab1}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x47cab1,this['_channelId'])['then'](_0x5c5dfe=>this['_initSessionsHandling'](_0x5c5dfe))['catch'](_0x2a26a1=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x2a26a1);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1b7c6d,_0x50caa9)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x50caa9);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x58d864=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1a747e);this['_isPendingUpdate']=!0x0;const _0xb72c57=await this['_service']['connect'](_0x47cab1,this['_compressOperations'](_0x1a747e),_0x58d864);if(this['sessionId']=_0xb72c57['sessionId'],_0x4f4099){if(!_0xb72c57['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xb72c57['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1a747e,_0xb72c57,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xb72c57,_0x1a747e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}_handleSendingSelectionMarkers(){const _0x708672=this['editor']['plugins']['get'](Y),_0x766897=this['editor']['plugins']['get'](K),_0x22955e=_0x708672['channelSessions']['get'](this['_channelId']);_0x22955e&&_0x22955e['length']>0x1?_0x766897['createUserMarkerOperations']():this['listenTo'](_0x708672,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x708672['channelSessions']['get'](this['_channelId'])['length']&&_0x766897['createUserMarkerOperations']();});}async _handleReceivedOperations(_0x47759f,_0x396614,_0x4e8a33,_0xf38bcc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x396614){const _0x4cfde0=this['_decompressOperations'](_0x4e8a33,_0xf38bcc);await this['_fetchMissingUsers'](_0x4cfde0),this['_handleExternalOperations'](_0x4cfde0,_0x396614,_0x4e8a33['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async _connectAfterSessionHasBeenFlushed(){this['_disconnectService']();const {locale:_0xe25ac9}=this['editor'];let _0x16eaf2;try{_0x16eaf2=await this['_service']['getDocumentDetails']();}catch{const _0x529256=X(_0xe25ac9,'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'](_0x529256);}const _0x5366f6=_0x16eaf2['currentDocumentSession']||_0x16eaf2['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x5366f6['lastOperationId']){const _0x1cb7b5=X(_0xe25ac9,'The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.');return void this['_handleReconnectionError'](_0x1cb7b5);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}_handleChannelDisconnected(){const _0x4d67c8=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x4d67c8['connection']||'connected'!==_0x4d67c8['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0xe8f940=this['editor']['plugins']['get'](Y);_0xe8f940['channelSessions']['has'](this['_channelId'])&&_0xe8f940['unregister'](this['_channelId']),_0x4d67c8['removeFromReconnectionStack'](this),this['_disconnectService']();}_disconnectService(){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}_initSessionsHandling(_0x5b9b4f){const _0x3b5476=this['editor']['plugins']['get'](Y);this['listenTo'](_0x3b5476,'sessionAdd:'+this['_channelId'],(_0x1f7f26,{session:_0xfaf4c6})=>{if(_0xfaf4c6['id']===_0x3b5476['mySessionId']){_0x1f7f26['off']();const _0x211ba6=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x3e9845=_0xfaf4c6['permissions'];_0x211ba6&&_0x211ba6['isEnabled']&&(_0x3e9845=_0x3e9845['filter'](_0x4a9216=>'document:write'!==_0x4a9216)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x3e9845,this['_channelId']);}}),_0x3b5476['register'](this['_channelId'],_0x5b9b4f);}_initThrowingOnDataSet(){const _0x55c824=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x5aef98)=>{if(!_0x5aef98[_0x5aef98['length']-0x1]['suppressErrorInCollaboration'])throw new _0x3f94b6('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x55c824['apply'](this['editor']['data'],_0x5aef98);};}_setUpDataInit(){this['editor']['data']['on']('init',(_0x235e56,[_0x1365f5])=>{if(this['_document']['version'])throw new _0x3f94b6('realtimecollaborationclient-init-document-already-initialized',this);_0x235e56['stop'](),this['_setPendingAction']();const _0x41a72b=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x4f84a9])=>!_0x4f84a9['lazyLoad'])['map'](([_0x4f33a6,_0x37b536])=>[_0x4f33a6,_0x37b536['modelAttributes']||{}])),_0x3f8a34=this['_getOperationsFromInitData'](_0x1365f5,_0x41a72b);0x0==_0x3f8a34['length']&&_0x3f8a34['push'](new _0x5dc8c0(0x0)),_0x235e56['return']=this['_connectService'](_0x3f8a34)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x52b1ef=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x52b1ef))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x4b4453,[_0x543337,_0x404abf])=>{_0x4b4453['stop']();const _0x17685f=this['editor']['model']['document']['getRoot'](_0x543337);if(!this['_knownRootNames']['has'](_0x543337)){const _0x44b551=_0x404abf&&_0x404abf['data']?_0x404abf['data']:'',_0x4a9878=_0x404abf&&_0x404abf['attributes']?_0x404abf['attributes']:{};await this['_loadRoot'](_0x543337,_0x44b551,_0x4a9878);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x17685f['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x17685f);});},{'priority':'high'});}async _fetchMissingUsers(_0x2e0f48){const _0xe2cb26=this['editor']['plugins']['get'](_0x41a606),{connection:_0x13fe5d}=this['editor']['plugins']['get'](z),_0x24601b=new Set();for(const _0x25060f of _0x2e0f48){const _0x46057d=_0x25060f['_authorId'];_0x46057d&&!_0xe2cb26['getUser'](_0x46057d)&&_0x24601b['add'](_0x46057d);}if(0x0===_0x24601b['size'])return;const _0x5d2632=await _0x44e3f4['getMany'](_0x13fe5d,Array['from'](_0x24601b));for(const _0x4a3d0d of _0x5d2632)_0xe2cb26['getUser'](_0x4a3d0d['id'])||_0xe2cb26['addUser'](_0x4a3d0d);}_getOperationsFromInitData(_0x4596d6,_0x455462={}){const _0x3e0c2f=this['editor']['model'],_0x596473=[];let _0x118af2=0x0;const _0x6e962='string'==typeof _0x4596d6?{'main':_0x4596d6}:_0x4596d6;for(const _0x4800c4 of Object['keys'](_0x6e962)){if(!this['_document']['roots']['has'](_0x4800c4))throw new _0x3f94b6('realtimecollaborationclient-init-non-existent-root',this);const _0x57a8df=this['_document']['getRoot'](_0x4800c4),_0xeee8b6=this['editor']['data']['parse'](_0x6e962[_0x4800c4],_0x57a8df),_0x174e6a=new _0x5de342(_0x3e0c2f['createPositionAt'](_0x57a8df,0x0),_0xeee8b6,_0x118af2++);_0x596473['push'](_0x174e6a);for(const [_0x4871f3,_0x3af02a]of _0xeee8b6['markers']){const _0x1ef130=_0x3e0c2f['createRange'](_0x3e0c2f['createPositionFromPath'](_0x57a8df,_0x3af02a['start']['path']['slice']()),_0x3e0c2f['createPositionFromPath'](_0x57a8df,_0x3af02a['end']['path']['slice']())),_0x5a4b3b=new _0x5e9c27(_0x4871f3,null,_0x1ef130,_0x3e0c2f['markers'],!0x0,_0x118af2++);_0x596473['push'](_0x5a4b3b);}}if(_0x455462)for(const [_0x480572,_0xde1e53]of Object['entries'](_0x455462)){const _0x1a84c5=_0x3e0c2f['document']['getRoot'](_0x480572);if(!_0x1a84c5)throw new _0x3f94b6('multi-root-editor-root-attributes-no-root',null);for(const [_0x3e6ecf,_0x2ba38f]of Object['entries'](_0xde1e53))if(null!==_0x2ba38f){const _0x4484c0=new _0x1f81d5(_0x1a84c5,_0x3e6ecf,null,_0x2ba38f,_0x118af2++);_0x596473['push'](_0x4484c0);}}return _0x596473;}async _loadRoot(_0x57bbb0,_0x5dcee8,_0x5c5157){this['_getOperationsFromInitData']({[_0x57bbb0]:_0x5dcee8},{[_0x57bbb0]:_0x5c5157})['forEach']((_0x2d3e80,_0x1f629e)=>{_0x2d3e80['baseVersion']=this['_document']['version']+_0x1f629e,_0x2d3e80['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x2d3e80);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async _handleInitialConnectionData(_0x3a3326,_0x53fd1e){let _0x5394c6;this['_offset']=_0x3a3326['offset'];const _0x2cc68b=_0x3a3326['wereChangesApplied']&&!_0x3a3326['initData'],_0x4a5839=_0x2cc68b?0x0:_0x3a3326['data']['baseVersion'];if(_0x53fd1e['forEach'](_0x54ac04=>{_0x54ac04['_isInit']=!0x0,_0x54ac04['createdAt']=_0x3a3326['sessionCreatedAt'],_0x54ac04['_authorId']=null;}),_0x2cc68b)_0x5394c6=_0x53fd1e,this['_applyOperationsSet'](_0x5394c6,_0x2cc68b);else{if(_0x3a3326['initData']){const _0x5d49e3=this['_getOperationsFromInitData'](_0x3a3326['initData']);this['_document']['history']['version']=-_0x5d49e3['length'],_0x5d49e3['forEach'](_0x5edac3=>{_0x5edac3['baseVersion']-=_0x5d49e3['length'],_0x5edac3['createdAt']=_0x3a3326['sessionCreatedAt'],_0x5edac3['_isInit']=!0x0,_0x5edac3['_authorId']=null;}),this['_applyOperationsSet'](_0x5d49e3,!0x0),this['serverHistory']['version']=-_0x5d49e3['length']+this['_offset'],this['_updateServerHistory'](_0x5d49e3);}this['_document']['history']['version']=_0x4a5839,_0x5394c6=this['_decompressOperations'](_0x3a3326['data'],_0x3a3326['metadata']),await this['_fetchMissingUsers'](_0x5394c6),this['_applyOperationsSet'](_0x5394c6,_0x2cc68b);}_0x3a3326['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x5394c6,_0x3a3326['lastOperationId']),this['_lastSyncedOperationId']=_0x3a3326['lastOperationId']),this['serverHistory']['version']=_0x4a5839+this['_offset'],this['_updateServerHistory'](_0x5394c6),_0x53fd1e['filter'](_0x442fd8=>{const _0x1cbbd7=this['_getAffectedRoot'](_0x442fd8);return _0x1cbbd7&&!this['_knownRootNames']['has'](_0x1cbbd7);})['forEach']((_0x4d81a0,_0x470d24)=>{_0x4d81a0['baseVersion']=this['_document']['version']+_0x470d24,this['_saveOperationInBuffer'](_0x4d81a0);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x4eb41a,_0x404c3e){const _0x5a6069=_0x404c3e&&_0x404c3e['message'];if(_0x5a6069&&_0x5a6069['startsWith']('realtimecollaborationclient'))throw _0x404c3e;const _0x19a972=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x19a972['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x3f94b6(_0x4eb41a,this['editor'],_0x5a6069?{'originalError':_0x5a6069}:void 0x0);}_saveOperationInBuffer(_0x31c740){this['_knownOperations']['has'](_0x31c740)||(this['_knownOperations']['add'](_0x31c740),this['_bufferedOperations']['push'](_0x31c740),this['_pendingAction']||'marker'==_0x31c740['type']&&!_0x31c740['affectsData']||this['_setPendingAction']());}_sendBufferedOperationsDelayed(_0x51d574=!0x1){!_0x51d574&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1e24e7=>{_0x1e24e7&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x150dc4=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x4feb07){return _0x4feb07['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4feb07['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x4feb07['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x150dc4)||this['_crash'](_0x150dc4['message'],_0x150dc4);});},this['_currentBufferDelay']));}_waitUntilSynced(){return new Promise(_0x1dc321=>{this['on']('change:_isPendingUpdate',()=>{_0x1dc321();});});}async _sendBufferedOperations(){const _0x346290=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x346290['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x4459ab=[...this['_bufferedOperations']];for(const _0x2b6673 of _0x4459ab)_0x2b6673['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2b6673);const _0x43e461=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x4459ab),_0x4520b7=Z++,_0x3cfb1f=this['_compressOperations'](_0x4459ab),_0x1f8a12=await this['_service']['sendOperations'](_0x3cfb1f,_0x3cfb1f['baseVersion'],_0x43e461);try{return await this['_handleServerResponse'](_0x4459ab,_0x1f8a12,_0x4520b7);}catch(_0xf813b2){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xf813b2);}}async['_handleServerResponse'](_0x39a31b,_0x574dd1,_0x2db6de){if('error'in _0x574dd1)throw _0x574dd1['error'];let _0x4af9c4;if(_0x574dd1['wereChangesApplied']){_0x574dd1['lastOperationId']&&(this['_lastSyncedOperationId']=_0x574dd1['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x45f0a6=>!_0x39a31b['includes'](_0x45f0a6));for(const _0x4a4fe4 of _0x39a31b)_0x4a4fe4['createdAt']='lastOperationAcceptedAt'in _0x574dd1&&_0x574dd1['lastOperationAcceptedAt']||void 0x0;st(_0x39a31b,_0x574dd1['version']-_0x39a31b['length']),this['_updateServerHistory'](_0x39a31b);const _0x2cbc23=_0x39a31b['filter'](_0x20a19b=>{if(!_0x20a19b['_isInit'])return!0x1;const _0x550010=this['_getAffectedRoot'](_0x20a19b);return _0x550010&&!this['_knownRootNames']['has'](_0x550010);});st(_0x2cbc23,this['_document']['version']),this['_applyOperationsSet'](_0x2cbc23),_0x4af9c4=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x2fbe29=this['_decompressOperations'](_0x574dd1['data'],_0x574dd1['metadata'])['filter'](_0xeb2ada=>_0xeb2ada['baseVersion']>=this['_lastServerVersion']);_0x2fbe29['forEach'](_0x30f20d=>this['_addKnownRoot'](_0x30f20d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x33d86e=>!_0x33d86e['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x33d86e))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x2fbe29),_0x4af9c4=this['_handleExternalOperations'](_0x2fbe29,_0x574dd1['version'],_0x574dd1['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x4af9c4?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}_handleExternalOperations(_0xa76d50,_0x17ff71,_0x1aae9d){try{const _0x168e0a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x36e92b,operationsB:_0x58eb07,originalOperations:_0x534e14}=_0x40586c(_0xa76d50,this['_bufferedOperations'],_0x168e0a);st(_0x36e92b,this['_document']['version']),st(_0x58eb07,_0x17ff71);for(const _0x2d9307 of _0x36e92b){const _0x395ea5=_0x534e14['get'](_0x2d9307);_0x395ea5?(_0x2d9307['_authorId']=_0x395ea5['_authorId'],'noop'!==_0x2d9307['type']&&(_0x2d9307['_aiSource']=_0x395ea5['_aiSource'])):_0x2d9307['_authorId']=null;}for(const _0x2ad0e5 of _0x58eb07)'noop'!==_0x2ad0e5['type']&&(_0x2ad0e5['_aiSource']=_0x534e14['get'](_0x2ad0e5)?.['_aiSource']);_0x1aae9d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xa76d50,_0x1aae9d),this['_lastSyncedOperationId']=_0x1aae9d),this['_bufferedOperations']=[..._0x58eb07],this['_applyOperationsSet'](_0x36e92b),this['_updateServerHistory'](_0xa76d50);}catch(_0x432470){return console['error'](_0x432470),!0x1;}return!0x0;}_applyOperationsSet(_0x2dbdfc,_0x33c6c9=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x17240d=>{for(const _0x388eb9 of _0x2dbdfc)this['_knownOperations']['add'](_0x388eb9),this['_addKnownRoot'](_0x388eb9),_0x17240d['batch']['addOperation'](_0x388eb9),this['editor']['model']['applyOperation'](_0x388eb9);});}_addKnownRoot(_0x36c92a){const _0x45d36d=this['_getAffectedRoot'](_0x36c92a);_0x45d36d&&this['_knownRootNames']['add'](_0x45d36d);}_getAffectedRoot(_0x1eaf74){let _0xbfb7ff,_0x6081f6;switch(_0x1eaf74['type']){case'insert':_0xbfb7ff=_0x1eaf74['position']['root'];break;case'marker':if(_0x6081f6=_0x1eaf74['newRange'],!_0x6081f6)return null;_0xbfb7ff=_0x6081f6['root'];break;case'addRootAttribute':_0xbfb7ff=_0x1eaf74['root'];break;case'addRoot':_0xbfb7ff=_0x1eaf74['affectedSelectable'];break;case'move':_0xbfb7ff=_0x1eaf74['targetPosition']['root'];break;default:return null;}return _0xbfb7ff['rootName'];}_updateServerHistory(_0x5d27b9){_0x5d27b9['forEach'](_0x4ed876=>{const _0x5aa8e8=_0x4ed876['clone']();_0x5aa8e8['_authorId']=_0x4ed876['_authorId'],_0x5aa8e8['_isInit']=!!_0x4ed876['_isInit'],_0x5aa8e8['_aiSource']=_0x4ed876['_aiSource'],_0x5aa8e8['createdAt']=_0x4ed876['createdAt'],_0x5aa8e8['baseVersion']+=this['_offset'],_0x4ed876['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5aa8e8),this['serverHistory']['addOperation'](_0x5aa8e8);});}_handleReconnectionError(_0x8c1453){const _0x586b97=this['editor']['plugins']['get']('Notification'),_0x11608d=this['editor']['locale'];_0x8c1453||(_0x8c1453=X(_0x11608d,'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.')),_0x586b97['showWarning'](_0x8c1453,{'title':X(_0x11608d,'Synchronization\x20issue'),'namespace':'real-time-collaboration'}),this['_hasSynchronizationProblem']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_bufferedOperations']=[],this['editor']['plugins']['get'](z)['disconnect']();}_setPendingAction(){this['_pendingAction']||(this['_pendingAction']=this['editor']['plugins']['get'](_0x812481)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}_clearPendingAction(){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x812481)['remove'](this['_pendingAction']),this['_pendingAction']=null);}_compressOperations(_0x295e94){const _0x2a6ef7=_0x295e94['map'](_0x260691=>_0x260691['toJSON']());return this['_compressor']['compress'](_0x2a6ef7);}_decompressOperations(_0x217c4e,_0x4b93e0){return this['_compressor']['decompress'](_0x217c4e)['map']((_0x15eba9,_0x4a07d2)=>{const _0x498739='init'==_0x4b93e0[_0x4a07d2]['type'];if('InsertOperation'==_0x15eba9['__className']){const _0x432704=_0x15eba9['position']['root'];!this['_document']['getRoot'](_0x432704)&&(this['_document']['createRoot']('$unknown',_0x432704)['_isAttached']=!0x1);}else{if('RootOperation'==_0x15eba9['__className']){const _0x4ac4c3=this['_document']['getRoot'](_0x15eba9['rootName']);_0x4ac4c3&&'$unknown'==_0x4ac4c3['name']&&_0x15eba9['elementName']!=_0x4ac4c3['name']&&(_0x4ac4c3['name']=_0x15eba9['elementName']);}}const _0x59befd=_0x52750c['fromJSON'](_0x15eba9,this['_document']);return _0x59befd['wasUndone']=_0x15eba9['wasUndone'],_0x59befd['_isInit']=_0x498739,_0x59befd['_authorId']=_0x498739?null:_0x4b93e0[_0x4a07d2]['userId'],_0x59befd['_isDisconnection']='cs:removeUser'===_0x4b93e0[_0x4a07d2]['type'],_0x59befd['_aiSource']=_0x15eba9['_aiSource']||void 0x0,_0x59befd['createdAt']=_0x4b93e0[_0x4a07d2]['createdAt'],_0x59befd;});}_refreshUserSelectionMarkers(){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}_shouldSendSelectionUpdate(){const _0x3f3b51=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x3f3b51&&_0x3f3b51['length']>0x1&&this['_hasSelectionChanged'];}_shouldSendUpdate(){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x542b79,_0x209ab4){for(const _0x42a463 of _0x542b79)_0x42a463['baseVersion']=_0x209ab4++;}var it=class{_ignoredOperations;_operationToId;constructor(_0x166250){this['_ignoredOperations']=_0x166250,this['_operationToId']=new WeakMap();}getIdOfTheLastOperation(_0x324958){let _0xb3f0e=_0x324958['length'];for(;_0xb3f0e--;){const _0x19b578=_0x324958[_0xb3f0e];if(!this['_ignoredOperations']['has'](_0x19b578)){if(!this['_operationToId']['has'](_0x19b578)){const _0x1e9615=_0x331763()['slice'](0x1,0x12);this['_operationToId']['set'](_0x19b578,_0x1e9615);}return this['_operationToId']['get'](_0x19b578);}}}setIdForTheLastOperation(_0x277630,_0x2a805d){if(!_0x2a805d)return;let _0x4f3a0c=_0x277630['length'];for(;_0x4f3a0c--;){const _0x3d7be4=_0x277630[_0x4f3a0c];this['_ignoredOperations']['has'](_0x3d7be4)||this['_operationToId']['set'](_0x3d7be4,_0x2a805d);}}},nt=class extends _0x141bb2{static get requires(){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x1d7b68{static CommentsService=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x225edb)());['_services'];static get requires(){return[z,_0x8a119d,Y,_0x41a606];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5213ce){super(_0x5213ce),this['_services']=new Map();}async init(){const _0x41527c=this['context'],_0x10b7cc=_0x41527c['plugins']['get'](_0x8a119d);if(_0x41527c['plugins']['get'](z)['addToReconnectionStack'](this),_0x10b7cc['adapter']={'addCommentThread':async({channelId:_0x55c990,threadId:_0x553fc4,comments:_0x67ec94,resolvedAt:_0x1ee4ae,resolvedBy:_0x451c36,context:_0x22a8fe,attributes:_0x29d0de})=>{const _0x4a504d=await this['_getService'](_0x55c990)['addCommentThread']({'commentThreadId':_0x553fc4,'comments':_0x67ec94['map'](_0x38976b=>function(_0x303864,_0x4e8aaa,_0x44cd18){return{'commentThreadId':_0x44cd18,'commentId':_0x303864['commentId'],'userId':_0x303864['authorId'],'content':_0x303864['content'],'documentId':_0x4e8aaa,'createdAt':_0x303864['createdAt'],'attributes':_0x303864['attributes']||{}};}(_0x38976b,_0x55c990,_0x553fc4)),'resolvedAt':_0x1ee4ae,'resolvedBy':_0x451c36,'context':_0x22a8fe,'attributes':_0x29d0de})['catch'](ct);return{'threadId':_0x4a504d['commentThreadId'],'comments':_0x4a504d['comments']};},'getCommentThread':async({channelId:_0x3d6d8a,threadId:_0x5b6388})=>{const _0x3b2c1d=await this['_getService'](_0x3d6d8a)['getCommentThread'](_0x5b6388)['catch'](rt)['catch'](ct);return _0x3b2c1d?_0x3b2c1d['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x3b2c1d]),{'threadId':_0x3b2c1d['commentThreadId'],'comments':_0x3b2c1d['comments']['map'](at),'context':_0x3b2c1d['context'],'resolvedAt':_0x3b2c1d['resolvedAt'],'resolvedBy':_0x3b2c1d['resolvedBy'],'attributes':_0x3b2c1d['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5def8a,threadId:_0x420cda,context:_0x156980,unlinkedAt:_0x377aed,attributes:_0x49eecb})=>this['_getService'](_0x5def8a)['updateCommentThread']({'commentThreadId':_0x420cda,'context':_0x156980,'attributes':_0x49eecb,'unlinkedAt':_0x377aed})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x123d63,threadId:_0x4f75aa})=>{const _0x234a29=await this['_getService'](_0x123d63)['resolveCommentThread'](_0x4f75aa)['catch'](rt)['catch'](ct);return{'threadId':_0x234a29['commentThreadId'],'resolvedAt':_0x234a29['resolvedAt'],'resolvedBy':_0x234a29['resolvedBy']};},'reopenCommentThread':async({channelId:_0x44409c,threadId:_0x1548e2})=>this['_getService'](_0x44409c)['reopenCommentThread'](_0x1548e2)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5e87c2,threadId:_0x363fd6})=>this['_getService'](_0x5e87c2)['removeCommentThread'](_0x363fd6)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xe77915,threadId:_0x2a1077,commentId:_0x51d9bf,content:_0x18db07,attributes:_0x193396})=>this['_getService'](_0xe77915)['addComment'](_0x2a1077,_0x51d9bf,_0x18db07,_0x193396)['catch'](ct),'updateComment':({channelId:_0x23bbec,threadId:_0x11cd0d,commentId:_0x3a4619,content:_0x5f10bc,attributes:_0x6dd6a9})=>this['_getService'](_0x23bbec)['updateComment'](_0x11cd0d,_0x3a4619,_0x5f10bc,_0x6dd6a9)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x4d4043,threadId:_0x58dcee,commentId:_0x287251})=>this['_getService'](_0x4d4043)['removeComment'](_0x58dcee,_0x287251)['catch'](rt)['catch'](ct)},_0x41527c instanceof _0x5c518d){const _0x33b6ab=_0x41527c['config']['get']('collaboration.channelId'),_0x53f90d=_0x41527c['plugins']['get'](Y);await this['_setUpService'](_0x33b6ab);const _0xf85c49=await this['_services']['get'](_0x33b6ab)['getConnectedSessions']();this['listenTo'](_0x53f90d,'sessionAdd:'+_0x33b6ab,(_0x3ed41e,{session:_0x209744})=>{_0x209744['id']===_0x53f90d['mySessionId']&&(_0x3ed41e['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x209744['permissions'],_0x33b6ab));}),_0x53f90d['register'](_0x33b6ab,_0xf85c49);}}async _setUpService(_0x21951e){if(this['_services']['has'](_0x21951e))throw new _0x3f94b6('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x21951e});const _0x5929fa=this['context']['plugins']['get'](_0x8a119d),_0x24f498=new CloudServicesCommentsAdapter['CommentsService'](_0x21951e);this['_services']['set'](_0x21951e,_0x24f498),this['listenTo'](_0x24f498,'commentThreadAdded',(_0x563bef,_0x2cd3f0)=>{const {commentThreadId:_0x324d8f,documentId:_0x56efa4,context:_0x53829a,attributes:_0x1ad30a,resolvedAt:_0x3cd5da,resolvedBy:_0x117497,comments:_0x52ab92}=_0x2cd3f0;_0x5929fa['getCommentThread'](_0x324d8f)||_0x5929fa['addCommentThread']({'threadId':_0x324d8f,'channelId':_0x56efa4,'comments':_0x52ab92?_0x52ab92['map'](at):[],'context':_0x53829a,'attributes':_0x1ad30a,'resolvedAt':_0x3cd5da,'resolvedBy':_0x117497,'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadUpdated',(_0x47b95b,{commentThreadId:_0x1224b8,documentId:_0x274a07,context:_0x2d4f8b,unlinkedAt:_0x4227fe,attributes:_0x5c4716})=>{_0x5929fa['getCommentThread'](_0x1224b8)&&_0x5929fa['updateCommentThread']({'threadId':_0x1224b8,'channelId':_0x274a07,'context':_0x2d4f8b,'unlinkedAt':_0x4227fe,'attributes':_0x5c4716,'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadResolved',(_0xe0031b,{commentThreadId:_0x5176ff,resolvedBy:_0x51d88d,resolvedAt:_0x41aea6})=>{const _0x566061=_0x5929fa['getCommentThread'](_0x5176ff);_0x566061&&_0x566061['resolve']({'resolvedBy':_0x51d88d,'resolvedAt':_0x41aea6,'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadReopened',(_0x2ebe1d,{commentThreadId:_0x4c4a21})=>{const _0x194476=_0x5929fa['getCommentThread'](_0x4c4a21);_0x194476&&_0x194476['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentThreadRemoved',(_0x147034,{commentThreadId:_0xfb1b51})=>{const _0x511a5b=_0x5929fa['getCommentThread'](_0xfb1b51);_0x511a5b&&_0x511a5b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentAdded',(_0x19daa9,_0x48b2ce)=>{const _0x3ce602=_0x48b2ce['commentThreadId'],_0x5dcd0e=_0x5929fa['getCommentThread'](_0x3ce602);_0x5dcd0e&&_0x5dcd0e['addComment']({...at(_0x48b2ce),'isFromAdapter':!0x0});}),this['listenTo'](_0x24f498,'commentUpdated',(_0x488f5e,{commentThreadId:_0x6a3638,commentId:_0x27cf42,content:_0x254215,attributes:_0xdf8929})=>{const _0x5b8eaf=_0x5929fa['getCommentThread'](_0x6a3638);if(_0x5b8eaf){const _0x4e598c=_0x5b8eaf['getComment'](_0x27cf42);_0x4e598c&&_0x4e598c['update']({'content':_0x254215,'attributes':_0xdf8929,'isFromAdapter':!0x0});}}),this['listenTo'](_0x24f498,'commentRemoved',(_0x54a4c3,{commentThreadId:_0x1d6303,commentId:_0x4c966d})=>{const _0x5d9ef7=_0x5929fa['getCommentThread'](_0x1d6303);if(_0x5d9ef7){const _0x24ae63=_0x5d9ef7['getComment'](_0x4c966d);_0x24ae63&&_0x24ae63['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x24f498,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x21951e),this['stopListening'](_0x24f498));}),await this['_connectService'](_0x21951e);}destroy(){if(this['context']instanceof _0x5c518d){const _0x3d8d15=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x3d8d15)&&this['_terminateService'](_0x3d8d15);}}_terminateService(_0x568506){if(!this['_services']['has'](_0x568506))throw new _0x3f94b6('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x568506});this['_getService'](_0x568506)['disconnect'](),this['_services']['delete'](_0x568506);}async reconnect(){for(const _0x209a8f of this['_services']['keys']())await this['_connectService'](_0x209a8f);if(this['context']instanceof _0x5c518d){const _0x4d8674=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x4d8674)){const _0x4665dc=this['context']['plugins']['get'](Y);_0x4665dc['unregister'](_0x4d8674);const _0x44aac6=await this['_services']['get'](_0x4d8674)['getConnectedSessions']();_0x4665dc['register'](_0x4d8674,_0x44aac6);}}}async _connectService(_0x59fb97){const {connection:_0x53fe6c}=this['context']['plugins']['get'](z),_0x29d73b=this['context']['plugins']['get'](_0x8a119d),_0x45abb8=await this['_services']['get'](_0x59fb97)['connect'](_0x53fe6c);await this['_fetchMissingUsersForThreads'](_0x45abb8);const _0x4c6c32=new Set(Array['from'](_0x29d73b['getCommentThreads']({'channelId':_0x59fb97}),_0x1a28db=>_0x1a28db['id']));for(const _0x1c87ce of _0x45abb8)_0x1c87ce['deletedAt']||_0x4c6c32['delete'](_0x1c87ce['commentThreadId']);for(const _0x4ac035 of _0x4c6c32)_0x29d73b['getCommentThread'](_0x4ac035)['remove']({'isFromAdapter':!0x0});for(const _0x14b8aa of _0x45abb8){let _0x1c7f7d=_0x29d73b['getCommentThread'](_0x14b8aa['commentThreadId']);const {commentThreadId:_0x399cbe,context:_0x66de7,attributes:_0x547bde,resolvedBy:_0x7a696c,resolvedAt:_0x30e487,unlinkedAt:_0x2edff6,deletedAt:_0x74906}=_0x14b8aa;if(_0x74906)continue;_0x1c7f7d||(_0x1c7f7d=_0x29d73b['addCommentThread']({'channelId':_0x59fb97,'threadId':_0x399cbe,'context':_0x66de7,'attributes':_0x547bde||{},'resolvedBy':_0x7a696c,'resolvedAt':_0x30e487,'unlinkedAt':_0x2edff6,'isFromAdapter':!0x0}));const _0x3bfcc3=new Set(Array['from'](_0x1c7f7d['comments'],_0x3e0918=>_0x3e0918['id']));for(const _0x492fbb of _0x14b8aa['comments'])_0x3bfcc3['delete'](_0x492fbb['commentId']);for(const _0x301397 of _0x3bfcc3)_0x1c7f7d['getComment'](_0x301397)['remove']({'isFromAdapter':!0x0});for(const _0x3b45e7 of _0x14b8aa['comments']){const _0x545864=_0x1c7f7d['getComment'](_0x3b45e7['commentId']);_0x545864?_0x545864['content']!==_0x3b45e7['content']&&_0x545864['update']({'content':_0x3b45e7['content'],'isFromAdapter':!0x0}):_0x1c7f7d['addComment'](Object['assign'](at(_0x3b45e7),{'isFromAdapter':!0x0}));}}}_getService(_0x4ebcdd){if(!this['_services']['has'](_0x4ebcdd))throw new _0x3f94b6('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4ebcdd});return this['_services']['get'](_0x4ebcdd);}async _fetchMissingUsersForThreads(_0x8b6c9a){const _0x40626d=this['context']['plugins']['get'](_0x41a606),{connection:_0x3ac17b}=this['context']['plugins']['get'](z),_0xfd4bf8=new Set();for(const {resolvedBy:_0x4b744d,comments:_0x19f247}of _0x8b6c9a){_0x4b744d&&!_0x40626d['getUser'](_0x4b744d)&&_0xfd4bf8['add'](_0x4b744d);for(const {userId:_0x39df2b}of _0x19f247)_0x40626d['getUser'](_0x39df2b)||_0xfd4bf8['add'](_0x39df2b);}if(0x0===_0xfd4bf8['size'])return;const _0x5870ea=await _0x44e3f4['getMany'](_0x3ac17b,Array['from'](_0xfd4bf8));for(const _0x36463f of _0x5870ea)_0x40626d['getUser'](_0x36463f['id'])||_0x40626d['addUser'](_0x36463f);}};async function rt(_0x2fe79c){if('404'!==_0x2fe79c['code'])throw _0x2fe79c;}function ct(_0x42f08d){if((_0x37ba8e=_0x42f08d)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x37ba8e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x37ba8e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x37ba8e;throw _0x42f08d;}function at(_0x163c46){return{'threadId':_0x163c46['commentThreadId'],'commentId':_0x163c46['commentId'],'content':_0x163c46['content'],'createdAt':_0x163c46['createdAt'],'authorId':_0x163c46['userId'],'attributes':_0x163c46['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x141bb2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x258056)());_bufferedRequests;_trackChangesService;static get requires(){return[ot,_0x160671,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1273cb){super(_0x1273cb);const _0xbfce20=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0xbfce20);}init(){const _0x313d2a=this['editor']['plugins']['get'](z),_0x550254=this['editor']['plugins']['get'](_0x160671);return _0x550254['adapter']={'getSuggestion':async _0x391bca=>{await this['_waitForServiceReady']();const _0x469034=await this['_trackChangesService']['get'](_0x391bca)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x469034]),_0x469034;},'addSuggestion':async({id:_0x29ae90,type:_0x39634b,data:_0x48d82a,originalSuggestionId:_0x2a51bc,attributes:_0x131f66})=>{await this['_waitForServiceReady']();const _0x3c078e={'id':_0x29ae90,'type':_0x39634b,'data':_0x48d82a,'originalSuggestionId':_0x2a51bc,'attributes':_0x131f66},_0x583905=await this['_trackChangesService']['add'](_0x29ae90,_0x39634b,_0x48d82a,_0x2a51bc,_0x131f66)['catch'](_0x37b803=>{if(dt(_0x37b803))return new Promise(_0x49425a=>{this['_bufferedRequests']['set'](_0x29ae90,{'resolve':_0x49425a,'suggestionData':_0x3c078e});});throw _0x37b803;});return this['_bufferedRequests']['delete'](_0x29ae90),_0x583905;},'updateSuggestion':async(_0x3926a6,_0x3fac1b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x3fac1b['state'])return this['_trackChangesService']['update'](_0x3926a6,_0x3fac1b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3a1361,_0xd62f1a)=>{_0x550254['hasSuggestion'](_0xd62f1a['id'])&&(_0x550254['getSuggestion'](_0xd62f1a['id'])['attributes']=_0xd62f1a['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x313d2a['connection']?.['state']&&(_0x313d2a['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x313d2a['connection'])['then'](_0x57e063=>(_0x313d2a['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x57e063)['then'](()=>{for(const _0xdca64f of _0x57e063){_0x550254['addSuggestionData'](_0xdca64f)['_saved']=!0x0;}})));}async reconnect(){const _0x17db3c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3bdac4}=this['editor']['plugins']['get'](z),_0x2e884f=await this['_trackChangesService']['connect'](_0x3bdac4);await this['_fetchMissingUsersForThreads'](_0x2e884f);for(const {suggestionData:_0x362897,resolve:_0x3350ab}of this['_bufferedRequests']['values']()){let _0x2ed80b=_0x2e884f['find'](_0x5cd1d2=>_0x5cd1d2['id']===_0x362897['id']);_0x2ed80b||(_0x2ed80b=await this['_trackChangesService']['add'](_0x362897['id'],_0x362897['type'],_0x362897['data'],_0x362897['originalSuggestionId'])),_0x3350ab(_0x2ed80b);}for(const _0x1ff088 of _0x2e884f)_0x17db3c['hasSuggestion'](_0x1ff088['id'])||_0x17db3c['addSuggestionData'](_0x1ff088);}async _waitForServiceReady(){this['_trackChangesService']['isConnected']||await new Promise(_0x4bc721=>{this['listenTo'](this['_trackChangesService'],'connected',_0xce5760=>{_0xce5760['off'](),_0x4bc721();});});}async _fetchMissingUsersForThreads(_0x2a2272){const _0x56a571=this['editor']['plugins']['get'](_0x41a606),{connection:_0x4fa2a3}=this['editor']['plugins']['get'](z),_0x36eb3a=new Set();for(const {authorId:_0x4035f2}of _0x2a2272)_0x56a571['getUser'](_0x4035f2)||_0x36eb3a['add'](_0x4035f2);if(0x0===_0x36eb3a['size'])return;const _0x1ac1e7=await _0x44e3f4['getMany'](_0x4fa2a3,Array['from'](_0x36eb3a));for(const _0x5ab514 of _0x1ac1e7)_0x56a571['getUser'](_0x5ab514['id'])||_0x56a571['addUser'](_0x5ab514);}};function lt(_0x63e0d2){if(dt(_0x63e0d2))return new Promise(()=>{});throw _0x63e0d2;}function dt(_0x294228){return _0x294228['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x294228['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x141bb2{static get requires(){return[_0x518e44,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}init(){const _0xd7816f=this['editor']['plugins']['get'](z),_0x2f786a=this['editor']['plugins']['get'](_0x3f6980),_0xc073c5=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xd7816f,'change:state',(_0x1116f5,_0xf9c0c5,_0x3c49e0)=>{_0x2f786a['isThreadsLoadingPaused']='connected'!==_0x3c49e0;});}),this['listenTo'](_0xd7816f,'change:state',(_0x46f5b5,_0x397a7e,_0x2e639b)=>{this['editor']['plugins']['get'](_0x8a119d)['switchReadOnly']('connected'!==_0x2e639b);}),_0xc073c5['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}destroy(){const _0x1b9fd3=this['editor']['plugins']['get'](ot),_0x2f77ce=this['editor']['config']['get']('collaboration.channelId');_0x1b9fd3['_services']['has'](_0x2f77ce)&&_0x1b9fd3['_terminateService'](_0x2f77ce),super['destroy']();}},ft=class extends _0x141bb2{static get requires(){return[ut,ht,_0x5e340b];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x141bb2{static RevisionHistoryService=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x1bf697)());_lastRequestId;['_revisionTracker'];_revisionHistoryService;_oldOffset;static get requires(){return[z,tt,_0x186c36,Y,_0x41a606];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ee1fd){super(_0x3ee1fd);const _0x5aab8e=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x5aab8e);}async init(){const _0x51ba36=this['editor']['plugins']['get'](tt),_0x3cb256=_0x51ba36['serverHistory'],_0x28e72b=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x3cb256,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x51ba36['sessionId']});const _0x3e7b1f=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x1fa917,_0x5728fc=await _0x3ae9fb['isBundleUploaded'](_0x28e72b['connection'],_0x3e7b1f);this['editor']['plugins']['get'](_0x186c36)['adapter']={'getRevision':async({revisionId:_0x17cd58})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x17cd58)),'updateRevisions':async _0x237abd=>{await this['_waitForServiceReady']();const _0x3f7137=this['_revisionTracker']['currentRevision'];if(_0x5728fc&&0x1===_0x237abd['length']&&_0x237abd[0x0]['id']===_0x3f7137['id'])return _0x237abd;for(const _0x503e54 of _0x237abd)_0x503e54['id']===_0x3f7137['id']&&(_0x503e54['isEmptyCurrent']=_0x503e54['fromVersion']===_0x503e54['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x237abd,this['_lastRequestId'])['then'](_0x41df41=>(this['_lastRequestId']=_0x41df41,_0x237abd))['catch'](_0x9615e3=>{if(pt(_0x9615e3)||'400'===_0x9615e3['code']&&void 0x0!==_0x9615e3['data']['wrongRequestId']){for(const _0x5eb601 of _0x237abd)this['_revisionTracker']['repository']['getRevision'](_0x5eb601['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x5eb601['id'],_0x5eb601,!0x1);if(pt(_0x9615e3)&&'destroyed'!==this['editor']['state'])throw _0x9615e3;return _0x237abd;}throw _0x9615e3;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x491f31,{revisionsData:_0x4b5eee,requestId:_0x3ce53d})=>{Math['max'](..._0x4b5eee['map'](_0x355ddd=>_0x355ddd['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4b5eee,_0x3ce53d);}):this['_handleRevisionsUpdate'](_0x4b5eee,_0x3ce53d);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x28e72b['connection']?.['state']&&(_0x28e72b['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x7a9cb4,requestId:_0x3e9bf2}=await this['_revisionHistoryService']['connect'](_0x28e72b['connection']);_0x28e72b['addToReconnectionStack'](this),this['_lastRequestId']=_0x3e9bf2,await this['_fetchMissingUsers'](_0x7a9cb4);for(const _0x41b569 of _0x7a9cb4)this['_revisionTracker']['addRevisionData'](_0x41b569);this['listenTo'](_0x51ba36,'change:_isConnected',(_0x29b6f8,_0x3b60bf,_0xed9039)=>{_0xed9039&&(this['_oldOffset']=_0x51ba36['_offset'],_0x29b6f8['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async reconnect(){const _0xa6dca=this['editor']['plugins']['get'](z),_0x3ecf7f=this['editor']['plugins']['get'](tt),_0x2ad7e6=async()=>{const _0x59038a=this['_revisionTracker']['currentRevision'],_0x1b62cb=_0x59038a['id'],_0x25e8c1=_0x1b62cb!==_0x3ecf7f['sessionId'];if(_0x25e8c1){const _0x4f64e3=_0x3ecf7f['_offset']-this['_oldOffset'],_0x3d78da=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x59038a['toVersion']+_0x4f64e3!==_0x3d78da){const _0x8a5733=_0x59038a['fromVersion']+_0x4f64e3,_0x17ea85=this['editor']['plugins']['get'](_0x41a606),_0x3034e4=this['_revisionTracker']['buildRevisionData']({'revision':_0x59038a,'from':_0x8a5733,'to':_0x3d78da});_0x3034e4['id']=_0x59038a['id'];const _0x17ff2b=_0x3034e4['authorsIds']['map'](_0x2b7ca4=>_0x17ea85['getUser'](_0x2b7ca4));_0x59038a['_update']({..._0x3034e4,'authors':_0x17ff2b},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x59038a['id'],_0x3034e4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3d78da,_0x59038a['toVersion']!==_0x59038a['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x1b62cb)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x1b62cb),this['_revisionTracker']['_createCurrentRevision'](_0x3d78da);}const {revisions:_0x2812be,requestId:_0xc3336d}=await this['_revisionHistoryService']['reconnect'](_0xa6dca['connection'],this['_lastRequestId']);_0x25e8c1&&_0x2812be['length']>0x0?_0x3ecf7f['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2812be),this['_handleRevisionsUpdate'](_0x2812be,_0xc3336d),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3ecf7f['_isConnected']?_0x2ad7e6():new Promise((_0x1d39a8,_0xe7ed61)=>{_0x3ecf7f['once']('change:_isConnected',()=>{_0x2ad7e6()['then'](_0x1d39a8)['catch'](_0xe7ed61);});});}destroy(){super['destroy']();}async _waitForServiceReady(){this['_revisionHistoryService']['isConnected']||await new Promise(_0x2956e6=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x9f58d6=>{_0x9f58d6['off'](),_0x2956e6();});});}_getLatestVersionFromServerOperations(){const _0x515598=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x4daa5c of _0x515598)if('marker'!==_0x4daa5c['type']||_0x4daa5c['affectsData'])return _0x4daa5c['baseVersion']+0x1;}_getLatestVersion(){const _0x504717=this['editor']['plugins']['get'](tt);return new Promise(_0x553c79=>{_0x504717['_isPendingUpdate']?_0x504717['once']('change:_isPendingUpdate',()=>{_0x553c79(this['_getLatestVersionFromServerOperations']());}):_0x553c79(this['_getLatestVersionFromServerOperations']());});}_handleRevisionsUpdate(_0x44bdd0,_0x3510ee){const _0x3f9bdf=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3510ee;for(const _0x2a5370 of _0x44bdd0){const _0x49eefe=_0x3f9bdf['getRevision'](_0x2a5370['id']);if(_0x49eefe){if((_0x2a5370['fromVersion']||_0x2a5370['toVersion'])&&(_0x2a5370['diffData']=null),_0x49eefe===this['_revisionTracker']['currentRevision']){const _0x2cacfa=Math['max'](_0x49eefe['toVersion'],_0x2a5370['toVersion']),_0x48e540=Math['max'](_0x49eefe['fromVersion'],_0x2a5370['fromVersion']);let _0xeb5cb3;_0x49eefe['toVersion']===_0x2a5370['toVersion']&&_0x49eefe['fromVersion']===_0x2a5370['fromVersion']?(_0xeb5cb3=!0x0,this['_preventResendingRevisionData'](_0x2a5370)):_0x2a5370['toVersion']===_0x2cacfa&&_0x2a5370['fromVersion']===_0x48e540?_0xeb5cb3=!0x1:(_0x49eefe['toVersion']===_0x2cacfa&&_0x49eefe['fromVersion']===_0x48e540||this['_fixRevision']({'revision':_0x49eefe,'from':_0x48e540,'to':_0x2cacfa}),_0xeb5cb3=!0x0),_0xeb5cb3&&(delete _0x2a5370['fromVersion'],delete _0x2a5370['toVersion'],delete _0x2a5370['diffData'],delete _0x2a5370['createdAt'],delete _0x2a5370['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x2a5370),this['_preventResendingRevisionData'](_0x2a5370);}else this['_revisionTracker']['addRevisionData'](_0x2a5370);}const _0x2ea4b8=_0x3f9bdf['getRevisions']();_0x2ea4b8['reverse']();for(let _0x421ec2=0x0;_0x421ec2<_0x2ea4b8['length']-0x1;_0x421ec2++){const _0x5bbe4=_0x2ea4b8[_0x421ec2],_0x5a9329=_0x2ea4b8[_0x421ec2+0x1];if(_0x5bbe4['fromVersion']<_0x5a9329['toVersion']){const _0x181ef7=_0x5a9329['toVersion'],_0xfb69cc=Math['max'](_0x181ef7,_0x5bbe4['toVersion']);this['_fixRevision']({'revision':_0x5bbe4,'from':_0x181ef7,'to':_0xfb69cc});}}}['_fixRevision']({revision:_0x9ecaf6,from:_0x4fa442,to:_0x1ad0d3}={}){const _0x52c6e5=this['editor']['plugins']['get'](_0x41a606),_0x3117b0=this['_revisionTracker']['buildRevisionData']({'revision':_0x9ecaf6,'from':_0x4fa442,'to':_0x1ad0d3});_0x3117b0['authors']=_0x3117b0['authorsIds']['map'](_0x334f0c=>_0x52c6e5['getUser'](_0x334f0c)),_0x9ecaf6['_update'](_0x3117b0);}_preventResendingRevisionData(_0x1db7fd){const _0x4ad851={};_0x4ad851['id']=_0x1db7fd['id'];for(const _0x2b3bd9 of Object['keys'](_0x1db7fd))'id'!==_0x2b3bd9&&(_0x4ad851[_0x2b3bd9]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x4ad851['id'],_0x4ad851,!0x0);}async _fetchMissingUsers(_0x86e96a){const _0x2acb27=this['editor']['plugins']['get'](_0x41a606),{connection:_0x318c30}=this['editor']['plugins']['get'](z),_0x73554d=new Set();for(const _0x13da72 of _0x86e96a){for(const _0x386ab4 of _0x13da72['authorsIds'])_0x110629(_0x386ab4);_0x13da72['creatorId']&&_0x110629(_0x13da72['creatorId']);}if(0x0===_0x73554d['size'])return;const _0x5078c3=await _0x44e3f4['getMany'](_0x318c30,Array['from'](_0x73554d));for(const _0x43813a of _0x5078c3)_0x2acb27['getUser'](_0x43813a['id'])||_0x2acb27['addUser'](_0x43813a);function _0x110629(_0x55cd88){_0x2acb27['getUser'](_0x55cd88)||_0x73554d['add'](_0x55cd88);}}};function pt(_0x29aa8a){return _0x29aa8a['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x29aa8a['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x29aa8a['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x141bb2{static get requires(){return[_0x186c36,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x1242ab{_collapseAt;constructor(_0x5c11b5,_0x1e67b7=0x6){super(_0x5c11b5);const _0x49ae8a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x1e67b7,this['bind']('isHidden')['to'](this,'usersCount',_0x236df8=>_0x236df8<_0x1e67b7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x49ae8a['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':_0x49ae8a['to']('usersCount',_0x986860=>'+'+(_0x986860-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x1242ab{items;keystrokes;constructor(_0x34b53f){super(_0x34b53f);const _0x117177=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x4b3894(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x117177['if']('hasPopup'),'aria-expanded':_0x117177['to']('isExpanded',_0x16d967=>this['hasPopup']&&String(_0x16d967)),'aria-label':_0x117177['to']('hasPopup',_0x56f303=>X(_0x34b53f,_0x56f303?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x117177['to']('hasPopup',_0x5c2713=>!!_0x5c2713&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x117177['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x117177['to'](_0x7bdbd3=>{const _0x594bf8=_0x7bdbd3,_0x448d9f=document['querySelector']('.ck-presence-list__dropdown-list'),_0x3a908e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x448d9f?.['contains'](_0x594bf8['relatedTarget'])||_0x3a908e?.['contains'](_0x594bf8['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x6e2b23,_0xe8cfaa,_0x1e47d7)=>{this['element']&&(_0x1e47d7?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']);}},_t=class extends _0x1242ab{counterView;inlineListView;constructor(_0x1b01bc,_0x40f9f9=0x6){super(_0x1b01bc);const _0x24a253=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x40f9f9),this['inlineListView']=new vt(_0x1b01bc),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5297f9 of this['inlineListView']['items'])_0x5297f9['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',_0x24a253['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x1242ab{listWrapperView;constructor(_0x17a80c,_0x45acdb){super(_0x17a80c);const _0x20cbde=this['bindTemplate'];this['listWrapperView']=new bt(_0x17a80c,_0x45acdb),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x17a80c,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x20cbde['to'](_0x454315=>{const _0x51ccf7=_0x454315,_0x1ca37d=document['querySelector']('.ck-presence-list__list'),_0x2632d8=document['querySelector']('.ck-balloon-panel_with-arrow');_0x1ca37d?.['contains'](_0x51ccf7['relatedTarget'])||_0x2632d8?.['contains'](_0x51ccf7['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x29ae41{constructor(_0x522e3d,_0x4c56d0){super(_0x522e3d);const _0x4e6082=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4c56d0?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x4e6082['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x4e6082['to']('role'),'aria-label':_0x4e6082['to']('ariaLabel'),'aria-labelledby':_0x4e6082['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x406852['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x23c3eb=this['element'];_0x23c3eb&&(this['_isScrollable']=Math['max'](_0x23c3eb['scrollHeight'],_0x23c3eb['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x494a95{['userView'];constructor(_0x5b9a5b,_0x1b4d5c,_0x36577b){super(_0x5b9a5b);const _0x19467e=this['bindTemplate'];this['userView']=new _0x268aa5(_0x5b9a5b,_0x1b4d5c);const _0x194d7f={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1b4d5c['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1b4d5c['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1b4d5c['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1b4d5c['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1b4d5c['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x36577b&&(_0x194d7f['tag']='button',_0x194d7f['on']={'click':_0x19467e['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x194d7f);}['focus'](){this['element']['focus']();}},It=class extends _0x1242ab{['userView'];['markerView'];constructor(_0x17c8d9,_0x34e021,_0x477739){super(_0x17c8d9);const _0x5273f6=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x268aa5(_0x17c8d9,_0x34e021),this['markerView']=new St(_0x17c8d9,_0x34e021);const _0x256ee2=new _0x7bf2a7(_0x17c8d9);_0x256ee2['template']['tag']='span',_0x256ee2['text']=_0x34e021['name'];const _0x3a93c2={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5273f6['to']('isFocusable',_0x55f5d1=>!!_0x55f5d1&&0x0),'aria-labelledby':_0x256ee2['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5273f6['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5273f6['to']('hasTooltip',_0x62a27d=>!_0x62a27d),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x256ee2]};_0x477739&&(_0x3a93c2['tag']='button',_0x3a93c2['on']={'click':_0x5273f6['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3a93c2);}},St=class extends _0x1242ab{constructor(_0x56226f,_0xbda4d7){super(_0x56226f),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xbda4d7['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xbda4d7['color']['getColorVariable'](),'--ck-user-color-alpha':_0xbda4d7['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x1d7b68{currentDisplayedUsers;['balloonPanelView'];['view'];['presenceDropdownView'];_bodyCollection=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1488f5){super(_0x1488f5),this['context']['config']['define']('presenceList',Tt);const _0x7f8561=_0x1488f5['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x7f8561)throw new _0x3f94b6('presencelist-collapseat-invalid-format',this);if(_0x7f8561<0x1)throw new _0x3f94b6('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x5ee725(),this['balloonPanelView']=new _0x416845(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get requires(){return[Y];}init(){for(const _0x1acf46 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1acf46);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4536ad,_0xd0a467)=>{this['_handleUserAdd'](_0xd0a467);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4450ce,_0x24a069)=>{this['_handleUserRemove'](_0x24a069);});}_createView(){const _0x23ef5d=this['context'],_0x3dea04=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x5029cc=this['balloonPanelView'];if(!_0x3b247a(_0x23ef5d['config']['get']('presenceList.container')))throw new _0x3f94b6('presencelist-missing-container',this);return _0x3dea04['counterView']['bind']('usersCount')['to'](this),_0x3dea04['bind']('isCollapsed')['to'](this,'usersCount',_0x25afd6=>{const {collapseAt:_0xb1ffc5}=_0x23ef5d['config']['get']('presenceList'),_0x4c2898=_0x25afd6>=_0xb1ffc5;if(_0x4c2898&&!_0x3dea04['inlineListView']['items']['find'](_0x567b06=>_0x567b06 instanceof wt)){const _0x74c76e=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x74c76e&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3dea04['inlineListView']['items']['add'](_0x3dea04['counterView']);}return _0x4c2898||this['hideDropdown'](),_0x4c2898;}),_0x3dea04['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x58b814=>{const _0x2f7d8e=_0x23ef5d['config']['get']('presenceList'),_0x1b38d1=new It(_0x23ef5d['locale'],_0x58b814,!!_0x2f7d8e['onClick']);return _0x1b38d1['bind']('hasTooltip')['to'](_0x3dea04,'isCollapsed',_0x1606f=>!_0x1606f),_0x1b38d1['bind']('isFocusable')['to'](_0x3dea04,'isCollapsed',_0x44b19f=>!_0x44b19f),_0x2f7d8e['onClick']&&this['listenTo'](_0x1b38d1,'execute',()=>{this['view']['isCollapsed']||_0x2f7d8e['onClick'](_0x58b814,_0x1b38d1['element']);}),_0x1b38d1;}),this['listenTo'](_0x3dea04['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3dea04['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3dea04['inlineListView']['keystrokes']['set']('Enter',(_0x350da3,_0xef62dd)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0xef62dd());}),_0x3dea04['render'](),_0x5029cc['render'](),_0x23500a({'emitter':_0x3dea04,'activator':()=>_0x5029cc['isVisible'],'contextElements':[_0x5029cc['element'],_0x3dea04['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x23ef5d['config']['get']('presenceList.container')['appendChild'](_0x3dea04['element']),this['_bodyCollection']=new _0x18622a(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3dea04;}['_handleUserAdd'](_0x48873b){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x48873b['isMe'])return;const _0x34e8f4=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x34e8f4-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x30312d=_0x48873b['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x48873b,_0x30312d);}['_handleUserRemove'](_0x17541c){this['usersCount']--;const {collapseAt:_0x47276a}=this['context']['config']['get']('presenceList'),_0xce4203=this['usersCount']>=_0x47276a;if(this['currentDisplayedUsers']['get'](_0x17541c['id']))this['currentDisplayedUsers']['remove'](_0x17541c['id']);else{if(_0xce4203&&this['currentDisplayedUsers']['length']+0x1===_0x47276a-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xce4203?0x1:0x0)<this['usersCount']){for(const _0x57c1e5 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x57c1e5['id'])&&(this['currentDisplayedUsers']['add'](_0x57c1e5,Math['min'](this['currentDisplayedUsers']['length']-(_0xce4203?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xce4203?0x1:0x0)===_0x47276a-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x286f8a=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x286f8a['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x2967e4}=this['presenceDropdownView'];_0x2967e4['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5c582b=>{if(!_0x286f8a['displayMe']&&_0x5c582b['isMe'])return null;const _0x404f63=new kt(this['context']['locale'],_0x5c582b,!!_0x286f8a['onClick']);return _0x286f8a['onClick']&&this['listenTo'](_0x404f63,'execute',()=>{_0x286f8a['onClick'](_0x5c582b,_0x404f63['element']);}),_0x404f63;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x2967e4['focus'](),_0x2967e4['checkIfScrollable']();const _0x5c415c=(_0x3ff6b5,_0x345fad)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x345fad();};_0x2967e4['keystrokes']['set']('Esc',_0x5c415c),_0x2967e4['keystrokes']['set']('Shift+Tab',_0x5c415c),_0x2967e4['keystrokes']['set']('Tab',(_0x1e1826,_0x564bfc)=>{!function(_0x3a5fdb){const _0x2993cc=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x249ff7=>_0x249ff7+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2b5dce=[...document['body']['querySelectorAll'](_0x2993cc)]['filter'](_0x49dc8a=>_0x49dc8a===document['activeElement']||_0x49dc8a['offsetWidth']+_0x49dc8a['offsetHeight']>0x0)['sort']((_0x4e35c2,_0x450b82)=>(_0x4e35c2['tabIndex']||0x0)-(_0x450b82['tabIndex']||0x0)),_0x157b11=_0x2b5dce[(_0x2b5dce['indexOf'](_0x3a5fdb)+0x1)%_0x2b5dce['length']];_0x157b11&&_0x157b11['focus']();}(this['view']['element']),this['hideDropdown'](),_0x564bfc();}),_0x2967e4['focusTracker']['add'](this['view']['element']),_0x2967e4['focusTracker']['on']('change:isFocused',(_0x548920,_0x22ccf7,_0x5f3e35)=>{_0x5f3e35||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);}},At=class extends _0x1d7b68{static get requires(){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};