@ckeditor/ckeditor5-real-time-collaboration 48.0.0-alpha.1 → 48.0.0-alpha.11

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 (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x3aaa58,Plugin as _0x7e7df2,PendingActions as _0x48f710,Context as _0x36c47e}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x22fd07,CKEditorError as _0x8b1112,Collection as _0x2d2e8c,global as _0x4f4d68,version as _0x409661,uid as _0x257d68,KeystrokeHandler as _0x34ba8b}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x5b2509,View as _0x4a4673,ListView as _0x46846e,ListItemView as _0x1cdd97,LabelView as _0x10d3c8,BalloonPanelView as _0x3a129f,clickOutsideHandler as _0x1085c4,BodyCollection as _0x6427d8}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4e5246,History as _0x4e2a41,NoOperation as _0xcd8f64,InsertOperation as _0xd5bc1f,MarkerOperation as _0x174e27,RootAttributeOperation as _0x488080,transformOperationSets as _0x209e32,OperationFactory as _0x271511}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x1d403e}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x23f04b,WEB_SOCKET_GATEWAY_STATES as _0x14867f,CollaborativeEditingService as _0x28acc3,User as _0x1aae37,CommentsService as _0x123b13,TrackChangesService as _0x133455,RevisionHistoryService as _0x466a80,EditorService as _0x16873e}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x53aae5,UserView as _0x3792ea}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x234ca0}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x32ed3a,TrackChanges as _0x1bc6f1}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x546c19,Comments as _0x3b0de9,CommentsEditing as _0x51aaa4}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0xcc7ce7}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x478f25}from'es-toolkit/compat';class z extends _0x3aaa58{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x23f04b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x1d403e,_0x5b2509];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4f1cbc){super(_0x4f1cbc),this['set']('state',_0x14867f['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x22fd07())();}['init'](){const _0x50065b=this['context'],_0x561517=_0x50065b['plugins']['get'](_0x1d403e),_0x299b16=_0x50065b['plugins']['get'](_0x5b2509);if(!_0x561517['token'])throw new _0x8b1112('websocketgateway-missing-token',this);if(!_0x561517['webSocketUrl'])throw new _0x8b1112('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),z['WebSocketGateway']['connect'](_0x561517['token'],_0x561517['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x20c1a4=>{if(this['connection']=_0x20c1a4,this['bind']('state')['to'](_0x20c1a4,'state',this,'_isBrowserOffline',(_0x54e2ab,_0x533ebe)=>('connected'!==_0x54e2ab&&(this['_shouldPluginsReconnect']=!0x0),_0x533ebe||_0x54e2ab!==_0x14867f['CONNECTED']?_0x14867f['DISCONNECTED']:this['state']==_0x14867f['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x14867f['CONNECTING']):_0x14867f['CONNECTED'])),this['connection']['on']('error',(_0x52bb94,_0x6b0f6)=>{if('limitExceeded'!==_0x6b0f6['code'])throw console['error'](_0x6b0f6),new _0x8b1112('cloudservices-init',null,{'originalError':_0x6b0f6});_0x299b16['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'});}),!_0x20c1a4['me'])return new Promise(_0xde03a8=>_0x20c1a4['on']('change:me',_0xde03a8));})['catch'](_0x1d3987=>{throw console['error'](_0x1d3987),new _0x8b1112('cloudservices-init',null,{'originalError':_0x1d3987});});}['addToReconnectionStack'](_0x59a4ed){if('function'!=typeof _0x59a4ed['reconnect'])throw new _0x8b1112('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x59a4ed))throw new _0x8b1112('websocketgateway-plugin-already-registered',this,{'name':_0x59a4ed['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x59a4ed);}['removeFromReconnectionStack'](_0xa6e3c3){this['_reconnectionStack']['delete'](_0xa6e3c3);}['isInReconnectionStack'](_0x413e07){return this['_reconnectionStack']['has'](_0x413e07);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x478ae8=>_0x478ae8['reconnect']())))['then'](()=>this['state']=_0x14867f['CONNECTED'])['catch'](_0x5e3899=>{throw console['error'](_0x5e3899),new _0x8b1112('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x14867f['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x3aaa58{['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,_0x53aae5];}constructor(_0x51c7d8){super(_0x51c7d8),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2d2e8c(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x53aae5);}['init'](){const _0x3bd1e8=this['context']['plugins']['get'](z);this['listenTo'](_0x3bd1e8,'change:state',(_0x2a8d13,_0x409afb,_0x80da97)=>{if('connected'!==_0x80da97)this['channelSessions']['forEach'](_0x3ca25f=>_0x3ca25f['clear']()),this['channelConnectedUsers']['forEach'](_0x28f645=>_0x28f645['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x31b26f,_0x2d5678]of this['_registeredSessions'])for(const _0x2db2d1 of _0x2d5678)this['_handleSessionAdd'](_0x31b26f,_0x2db2d1);}}),this['_createUser'](_0x3bd1e8['connection']['me'],!0x0);}['register'](_0x375ad5,_0x4c09f5){if(this['_registeredSessions']['has'](_0x375ad5))throw new _0x8b1112('sessions-register-already-registered',null,{'channelId':_0x375ad5});this['_registeredSessions']['set'](_0x375ad5,_0x4c09f5),this['channelSessions']['set'](_0x375ad5,new _0x2d2e8c()),this['channelConnectedUsers']['set'](_0x375ad5,new _0x2d2e8c()),this['listenTo'](_0x4c09f5,'add',(_0x444867,_0x5b4a20)=>this['_handleSessionAdd'](_0x375ad5,_0x5b4a20)),this['listenTo'](_0x4c09f5,'remove',(_0x3b186a,_0x3fe1b2)=>this['_handleSessionRemove'](_0x375ad5,_0x3fe1b2));for(const _0x38a4c5 of _0x4c09f5)this['_handleSessionAdd'](_0x375ad5,_0x38a4c5);}['unregister'](_0x5349d3){if(!this['_registeredSessions']['has'](_0x5349d3))throw new _0x8b1112('sessions-unregister-not-exist',null,{'channelId':_0x5349d3});const _0x1a2ba7=this['_registeredSessions']['get'](_0x5349d3);this['stopListening'](_0x1a2ba7);for(const _0x2970bb of _0x1a2ba7)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x5349d3,_0x2970bb);this['_registeredSessions']['delete'](_0x5349d3),this['channelSessions']['delete'](_0x5349d3),this['channelConnectedUsers']['delete'](_0x5349d3);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x350c3b){for(const _0x10f0e0 of this['channelSessions']['values']())for(const _0x430acb of _0x10f0e0)if(_0x430acb['id']===_0x350c3b)return _0x430acb['user'];}['getUserSessions'](_0x3e3f6c,_0x34a0d7){const _0x31a340=_0x34a0d7?[this['channelSessions']['get'](_0x34a0d7)]:this['channelSessions']['values'](),_0x5b8742=new Set();for(const _0x18039f of _0x31a340)for(const _0x72afe6 of _0x18039f)_0x72afe6['user']['id']===_0x3e3f6c['id']&&_0x5b8742['add'](_0x72afe6['id']);return _0x5b8742;}['getUserRole'](_0x1ba2eb){for(const _0x5210a6 of this['channelSessions']['values']())for(const _0xa7cefd of _0x5210a6)if(_0xa7cefd['user']===_0x1ba2eb)return _0xa7cefd['role'];}['_handleSessionAdd'](_0x49837a,_0x4dd357){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x2a109f=_0x4dd357['user'],_0x499842=this['_users']['getUser'](_0x2a109f['id'])||this['_createUser'](_0x2a109f),_0x563659=Object['assign']({},_0x4dd357,{'user':_0x499842});if(this['channelSessions']['get'](_0x49837a)['add'](_0x563659),!_0x2a109f['hiddenInPresenceList']){const _0x299bc3=this['channelConnectedUsers']['get'](_0x49837a);_0x299bc3['has'](_0x499842['id'])||_0x299bc3['add'](_0x499842),this['allConnectedUsers']['has'](_0x499842['id'])||_0x2a109f['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x499842,_0x499842['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x49837a,{'channelId':_0x49837a,'session':_0x563659});}['_handleSessionRemove'](_0x3b0747,_0x2ea5cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x318467=this['channelConnectedUsers']['get'](_0x3b0747),_0x137b6f=_0x2ea5cf['user'];_0x137b6f['id']&&(this['channelSessions']['get'](_0x3b0747)['remove'](_0x2ea5cf['id']),_0x318467['has'](_0x137b6f['id'])&&!this['getUserSessions'](_0x137b6f,_0x3b0747)['size']&&_0x318467['remove'](_0x137b6f['id']),this['allConnectedUsers']['get'](_0x137b6f['id'])&&!this['getUserSessions'](_0x137b6f)['size']&&this['allConnectedUsers']['remove'](_0x137b6f['id']));}['_createUser'](_0x257f28,_0x842d32){const _0x17e27a=this['_users']['addUser'](_0x257f28);return _0x842d32&&this['_users']['defineMe'](_0x257f28['id']),_0x17e27a['orderNumber']=this['_uniqueUsersCount']++,_0x17e27a;}}class K extends _0x7e7df2{['_domEmitter']=new(_0x22fd07())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x1a126f=this['editor'],_0xcb1241=_0x1a126f['plugins']['get'](Y);_0x1a126f['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x580ce1,{writer:_0xce4b72})=>function(_0x10e492,_0x5128d0,_0xc73f3f,_0x4fac18){const _0x3d8ece=_0x10e492['markerName']['split'](':')[0x2],_0x5874cf=_0xc73f3f['getUserBySessionId'](_0x3d8ece);if(!_0x5874cf||_0x3d8ece===_0xc73f3f['mySessionId'])return;if(!_0x4fac18['model']['schema']['checkChild'](_0x10e492['markerRange']['start'],'$text'))return;const _0x373ced={'class':'ck-user__marker\x20'+_0x5874cf['color']['getMarkerClass'](),'style':Q(_0x5874cf),'data-name':_0x5874cf['name'],'data-session-id':_0x3d8ece},_0xa07946=_0x4fac18['model']['markers']['get'](_0x10e492['markerName']),_0x2b9b5f=_0xa07946['getStart'](),_0x418f1b=_0x2b9b5f['nodeAfter'],_0x2926f7=_0x4fac18['model']['schema'];if(_0x418f1b&&_0x2926f7['isObject'](_0x418f1b)&&_0x2926f7['isInline'](_0x418f1b)&&!_0x4fac18['model']['markers']['get']('user:range:'+_0x3d8ece)['getRange']()['isCollapsed'])return;const _0x590755=_0x2b9b5f['parent'];return _0x4fac18['model']['schema']['isLimit'](_0x590755)&&!_0x4fac18['model']['hasContent'](_0x590755)&&(_0x373ced['contenteditable']=!0x1),function(_0x43eb0b,_0x2d823d,_0x140244){const _0x2855db=_0x43eb0b['createUIElement']('span',_0x2d823d);return _0x43eb0b['setCustomProperty']('userPositionMarker',!0x0,_0x2855db),_0x2855db['render']=function(_0xb82226){const _0x2ccd14=this['toDomElement'](_0xb82226),_0x2b0224=document['createElement']('span');return _0x2b0224['classList']['add']('ck-user__marker-tooltip'),_0x2b0224['setAttribute']('contenteditable','false'),_0x2b0224['setAttribute']('spellcheck','false'),_0x2b0224['textContent']=_0x140244['name'],_0x2ccd14['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x2b0224['outerHTML']+'⁠',_0x2ccd14['addEventListener']('mouseenter',()=>{_0x2ccd14['classList']['add']('ck-user__marker_hovered');}),_0x2ccd14['addEventListener']('mouseleave',()=>{_0x2ccd14['classList']['remove']('ck-user__marker_hovered');}),_0x2ccd14;},_0x2855db['isSimilar']=function(_0x103788){return!(!this['getCustomProperty']('userPositionMarker')||!_0x103788['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x103788['getAttribute']('data-session-id'));},_0x2855db;}(_0x5128d0,_0x373ced,_0x5874cf);}(_0x580ce1,_0xce4b72,_0xcb1241,_0x1a126f)}),_0x1a126f['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x322d8c=>function(_0x4f1dc4,_0x4deb1e){const _0x10a8ae=_0x4f1dc4['markerName']['split'](':')[0x2];if(_0x10a8ae===_0x4deb1e['mySessionId'])return null;const _0x5206da=_0x4deb1e['getUserBySessionId'](_0x10a8ae);if(!_0x5206da)return{'id':_0x10a8ae,'classes':[]};return{'id':_0x10a8ae,'classes':['ck-user__selection',_0x5206da['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5206da),'data-session-id':_0x10a8ae},'priority':0x7d0+_0x5206da['orderNumber']};}(_0x322d8c,_0xcb1241)}),function(_0x4aaaed){const _0x15e595=_0x4aaaed['model'],_0x4f50c4=new Map(),_0x2ef069=_0x4aaaed['plugins']['get'](Y);_0x15e595['markers']['on']('update:user:range',(_0x2d7d9a,_0xa98c48,_0x29e22f,_0x1d71db)=>{if(!_0x1d71db&&_0x4f50c4['get'](_0xa98c48['name']))return _0x4f50c4['get'](_0xa98c48['name'])['detach'](),void _0x4f50c4['delete'](_0xa98c48['name']);const _0x5e3db4=_0xa98c48['name']['split'](':')[0x2];if(_0x5e3db4===_0x2ef069['mySessionId'])return;const _0x194d70='user:position:'+_0x5e3db4;_0x15e595['markers']['has'](_0x194d70)&&_0x4aaaed['editing']['reconvertMarker'](_0x194d70),_0xa98c48['on']('change:range',(_0x21ab32,_0x1e9cdc,_0x3af1fa)=>{if('$graveyard'!=_0x1e9cdc['root']['rootName']&&'$graveyard'==_0xa98c48['getRange']()['root']['rootName']&&!_0x4f50c4['has'](_0xa98c48['name'])){const _0x5291d9=_0x15e595['schema']['getNearestSelectionRange'](_0x3af1fa['deletionPosition']);if(_0x5291d9){const _0x4a44aa=_0x4e5246['fromRange'](_0x5291d9);_0x4f50c4['set'](_0xa98c48['name'],_0x4a44aa),_0x4a44aa['on']('change:range',(_0x53b894,_0x2a491d,_0x1f3cc5)=>{if('$graveyard'==_0x4a44aa['root']['rootName']){const _0x4ae943=_0x15e595['schema']['getNearestSelectionRange'](_0x1f3cc5['deletionPosition']);_0x4ae943?(_0x4a44aa['start']=_0x4ae943['start'],_0x4a44aa['end']=_0x4ae943['end']):(_0x4f50c4['delete'](_0xa98c48['name']),_0x4a44aa['detach']());}});}}});}),_0x15e595['document']['on']('change',()=>{_0x4f50c4['size']>0x0&&_0x15e595['enqueueChange']({'isUndoable':!0x1},_0xed949a=>{for(const [_0x250998,_0x18bf69]of _0x4f50c4)'$graveyard'==_0x15e595['markers']['get'](_0x250998)['getRange']()['root']['rootName']&&(J(_0x250998['split'](':')[0x2],_0x18bf69['toRange'](),_0x15e595,_0xed949a),_0x18bf69['detach']());_0x4f50c4['clear']();});});}(_0x1a126f),this['_domEmitter']['listenTo'](_0x4f4d68['document'],'keydown',(_0x2122b3,{key:_0x487ee6})=>{'Escape'===_0x487ee6&&function(_0x4293c1){_0x4293c1['editing']['view']['change'](_0x48ea42=>{for(const _0x5893b0 of _0x4293c1['model']['markers']){if(!_0x5893b0['name']['startsWith']('user:position'))continue;const _0x4b8b3d=_0x4293c1['editing']['mapper']['markerNameToElements'](_0x5893b0['name']);if(_0x4b8b3d){for(const _0x3e0e97 of _0x4b8b3d)_0x48ea42['removeClass']('ck-user__marker_hovered',_0x3e0e97);}}});}(_0x1a126f);},{'useCapture':!0x0});}['afterInit'](){const _0x10aff6=this['editor'],_0x43658a=_0x10aff6['commands']['get']('undo');_0x43658a&&_0x10aff6['model']['on']('applyOperation',(_0x5869bd,_0x28bf24)=>{const _0x118449=_0x28bf24[0x0];if(!_0x118449['isDocumentOperation'])return;if('marker'!=_0x118449['type']||!_0x118449['name']['startsWith']('user:'))return;const _0x3d575e=_0x118449['batch'];_0x43658a['_createdBatches']['has'](_0x3d575e)&&(_0x118449['newRange']=_0x118449['oldRange']?_0x10aff6['model']['createRange'](_0x118449['oldRange']['start'],_0x118449['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x3060c1=this['editor'],_0x1c965e=_0x3060c1['model']['document'],_0x44ce04=_0x3060c1['plugins']['get'](Y);_0x3060c1['model']['enqueueChange']({'isUndoable':!0x1},_0x1a3797=>{const _0xb06e6d='user:range:'+_0x44ce04['mySessionId'],_0x1630e6='user:position:'+_0x44ce04['mySessionId'],_0x504673=_0x3060c1['model']['markers']['has'](_0xb06e6d);_0x3060c1['editing']['view']['hasDomSelection']?J(_0x44ce04['mySessionId'],_0x1c965e['selection']['getFirstRange'](),_0x3060c1['model'],_0x1a3797):_0x504673&&(_0x1a3797['removeMarker'](_0xb06e6d),_0x1a3797['removeMarker'](_0x1630e6));});}}function J(_0x2b5178,_0xebb4f5,_0x19c6fb,_0x4938b){const _0xff8f8e='user:range:'+_0x2b5178,_0x548999='user:position:'+_0x2b5178,_0x2f8b45=_0xebb4f5['getContainedElement']();let _0x5365cc=_0xebb4f5['start'];if(_0x2f8b45&&_0x2f8b45['is']('element','tableCell')){const _0x3ceeab=function(_0x215bf9,_0x1f1d76){for(const _0x3c3a11 of _0x215bf9['getPositions']())if(_0x1f1d76['schema']['checkChild'](_0x3c3a11,'$text'))return _0x3c3a11;}(_0xebb4f5,_0x19c6fb);_0x3ceeab&&(_0x5365cc=_0x3ceeab,_0xebb4f5=_0x4938b['createRange'](_0x5365cc));}const _0x4ca18a=_0x4938b['createRange'](_0x5365cc);_0x19c6fb['markers']['has'](_0xff8f8e)?(_0x4938b['updateMarker'](_0xff8f8e,{'range':_0xebb4f5}),_0x4938b['updateMarker'](_0x548999,{'range':_0x4ca18a})):(_0x4938b['addMarker'](_0xff8f8e,{'range':_0xebb4f5,'usingOperation':!0x0}),_0x4938b['addMarker'](_0x548999,{'range':_0x4ca18a,'usingOperation':!0x0}));}function Q(_0x4cff62){return'--ck-user-color:'+_0x4cff62['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cff62['color']['getColorAlphaVariable']()+';';}function X(_0xb00654,_0x410779,_0x1eeae1){const _0x2c6af7=_0xb00654['t'],t=_0xb00654['t'];switch(_0x410779){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 _0x2c6af7({'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'},_0x1eeae1);default:return'';}}let Z=0x1;class tt extends _0x7e7df2{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x28acc3)());['_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,_0x48f710,_0x53aae5,_0x5b2509];}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 _0x146750=this['serverHistory']['getOperations']();for(let _0x3f20be=_0x146750['length']-0x1;_0x3f20be>=0x0;_0x3f20be--){const _0x4b6fbb=_0x146750[_0x3f20be];if(!this['_disconnectionOperations']['has'](_0x4b6fbb))return _0x4b6fbb['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x12752f){if(super(_0x12752f),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4e2a41(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x8b1112('collaboration-missing-channelid',this);const _0x42ab8a=_0x12752f['config']['get']('cloudServices.bundleVersion')||_0x409661;this['_service']=new tt['CollaborativeEditingService'](_0x42ab8a,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x234ca0(),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 _0x4f7110=this['editor'],_0x292f42=_0x4f7110['plugins']['get'](_0x53aae5),_0x2160ab=_0x4f7110['plugins']['get'](z);this['listenTo'](_0x292f42,'getOperationAuthor',(_0x4fbea2,_0x6ffae9)=>{const _0x39ac79=_0x6ffae9[0x0];_0x39ac79['_authorId']&&(_0x4fbea2['return']=_0x292f42['getUser'](_0x39ac79['_authorId']),_0x4fbea2['stop']()),null===_0x39ac79['_authorId']&&(_0x4fbea2['return']=null,_0x4fbea2['stop']());},{'priority':'high'}),this['listenTo'](_0x4f7110['model']['document']['selection'],'change:range',(_0x40734d,_0x1d153d)=>{_0x1d153d['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x4f7110['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x4f7110['model']['on']('applyOperation',(_0x19ee1b,_0x31747f)=>{const _0x1af4e1=_0x31747f[0x0];_0x1af4e1['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x1af4e1),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x2160ab,'state',this,'_hasSynchronizationProblem',(_0x419195,_0x562497)=>'connected'===_0x419195&&!_0x562497),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x4f7110['disableReadOnlyMode']('rtc-offline'):_0x4f7110['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x4f7110['disableReadOnlyMode']('rtc-offline'):_0x4f7110['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x5923e0=this['editor']['plugins']['get'](Y),_0x532ae1=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x5923e0['unregister'](this['_channelId']);const _0x30e7d7=await this['_service']['reconnect'](_0x532ae1['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x30e7d7)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x3d5377=await this['_service']['getConnectedSessions']();_0x5923e0['register'](this['_channelId'],_0x3d5377),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x28c1ad){if(function(_0x18cd13){return'404'===_0x18cd13['code'];}(_0x28c1ad)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x40a181){return'409'===_0x40a181['code'];}(_0x28c1ad)){const _0x471e3e=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'](_0x471e3e);}else{if(!(_0x28c1ad instanceof et))throw _0x28c1ad;this['_handleReconnectionError']();}}}}['destroy'](){const _0x55e19e=this['editor']['plugins']['get'](z),_0x457bd9=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x457bd9['channelSessions']['has'](this['_channelId'])&&_0x457bd9['unregister'](this['_channelId']),_0x55e19e['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x1b102d){if(this['sessionId']!==_0x1b102d['sessionId']&&this['_lastSyncedOperationId']!==_0x1b102d['lastOperationId'])throw new et();return this['sessionId']=_0x1b102d['sessionId'],this['_handleServerResponse']([],{..._0x1b102d,'wereChangesApplied':!0x1,'data':_0x1b102d['data']},'reconnect');}async['_connectService'](_0x5e40d3,_0x21a08d=!0x1){const {connection:_0xdd7913}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0xdd7913,this['_channelId'])['then'](_0x238299=>this['_initSessionsHandling'](_0x238299))['catch'](_0x7ae861=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x7ae861);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x7d0f97,_0x467da3)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x467da3);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x889678=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5e40d3);this['_isPendingUpdate']=!0x0;const _0x3d7093=await this['_service']['connect'](_0xdd7913,this['_compressOperations'](_0x5e40d3),_0x889678);if(this['sessionId']=_0x3d7093['sessionId'],_0x21a08d){if(!_0x3d7093['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x3d7093['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5e40d3,_0x3d7093,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x3d7093,_0x5e40d3);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5efabc=this['editor']['plugins']['get'](Y),_0x2c241b=this['editor']['plugins']['get'](K),_0x55bd79=_0x5efabc['channelSessions']['get'](this['_channelId']);_0x55bd79&&_0x55bd79['length']>0x1?_0x2c241b['createUserMarkerOperations']():this['listenTo'](_0x5efabc,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5efabc['channelSessions']['get'](this['_channelId'])['length']&&_0x2c241b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x598819,_0x23ae41,_0x117f42,_0x5c986a){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x23ae41){const _0x4b7254=this['_decompressOperations'](_0x117f42,_0x5c986a);await this['_fetchMissingUsers'](_0x4b7254),this['_handleExternalOperations'](_0x4b7254,_0x23ae41,_0x117f42['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x14ca47}=this['editor'];let _0x578931;try{_0x578931=await this['_service']['getDocumentDetails']();}catch{const _0x281716=X(_0x14ca47,'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'](_0x281716);}const _0x678e50=_0x578931['currentDocumentSession']||_0x578931['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x678e50['lastOperationId']){const _0x4deb0=X(_0x14ca47,'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'](_0x4deb0);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x2a30f8){const _0x13a88d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x13a88d,'sessionAdd:'+this['_channelId'],(_0x2a76f5,{session:_0x4acca3})=>{if(_0x4acca3['id']===_0x13a88d['mySessionId']){_0x2a76f5['off']();const _0x94c083=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x1ced70=_0x4acca3['permissions'];_0x94c083&&_0x94c083['isEnabled']&&(_0x1ced70=_0x1ced70['filter'](_0x274f89=>'document:write'!==_0x274f89)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x1ced70,this['_channelId']);}}),_0x13a88d['register'](this['_channelId'],_0x2a30f8);}['_initThrowingOnDataSet'](){const _0x484523=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x36c3b2)=>{if(!_0x36c3b2[_0x36c3b2['length']-0x1]['suppressErrorInCollaboration'])throw new _0x8b1112('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x484523['apply'](this['editor']['data'],_0x36c3b2);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x4d06a6,[_0x3d9821])=>{if(this['_document']['version'])throw new _0x8b1112('realtimecollaborationclient-init-document-already-initialized',this);_0x4d06a6['stop'](),this['_setPendingAction']();const _0x3aac1f=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x487e9b])=>!_0x487e9b['lazyLoad'])['map'](([_0x141db8,_0x4d2b9c])=>[_0x141db8,_0x4d2b9c['modelAttributes']||{}])),_0x1b7906=this['_getOperationsFromInitData'](_0x3d9821,_0x3aac1f);0x0==_0x1b7906['length']&&_0x1b7906['push'](new _0xcd8f64(0x0)),_0x4d06a6['return']=this['_connectService'](_0x1b7906)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x1d10b7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x1d10b7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x28efb8,[_0x2b911c,_0xbb3293])=>{_0x28efb8['stop']();const _0x31530b=this['editor']['model']['document']['getRoot'](_0x2b911c);if(!this['_knownRootNames']['has'](_0x2b911c)){const _0x1af1e6=_0xbb3293&&_0xbb3293['data']?_0xbb3293['data']:'',_0x3c2714=_0xbb3293&&_0xbb3293['attributes']?_0xbb3293['attributes']:{};await this['_loadRoot'](_0x2b911c,_0x1af1e6,_0x3c2714);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x31530b['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x31530b);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x2f064d){const _0x4a8cbc=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x4adbe9}=this['editor']['plugins']['get'](z),_0x42b7ec=new Set();for(const _0xc8faa1 of _0x2f064d){const _0x21c481=_0xc8faa1['_authorId'];_0x21c481&&!_0x4a8cbc['getUser'](_0x21c481)&&_0x42b7ec['add'](_0x21c481);}if(0x0===_0x42b7ec['size'])return;const _0x5166f0=await _0x1aae37['getMany'](_0x4adbe9,Array['from'](_0x42b7ec));for(const _0x4816e1 of _0x5166f0)_0x4a8cbc['getUser'](_0x4816e1['id'])||_0x4a8cbc['addUser'](_0x4816e1);}['_getOperationsFromInitData'](_0x2986ae,_0x4065dd={}){const _0x3543bb=this['editor']['model'],_0x2e2588=[];let _0x5926f4=0x0;const _0x2ded1c='string'==typeof _0x2986ae?{'main':_0x2986ae}:_0x2986ae;for(const _0xc2266 of Object['keys'](_0x2ded1c)){if(!this['_document']['roots']['has'](_0xc2266))throw new _0x8b1112('realtimecollaborationclient-init-non-existent-root',this);const _0xfb5dba=this['editor']['data']['parse'](_0x2ded1c[_0xc2266]),_0x1b43f3=this['_document']['getRoot'](_0xc2266),_0x166b1d=new _0xd5bc1f(_0x3543bb['createPositionAt'](_0x1b43f3,0x0),_0xfb5dba,_0x5926f4++);_0x2e2588['push'](_0x166b1d);for(const [_0x1e7ea8,_0x5e3d6f]of _0xfb5dba['markers']){const _0x4d0824=_0x3543bb['createRange'](_0x3543bb['createPositionFromPath'](_0x1b43f3,_0x5e3d6f['start']['path']['slice']()),_0x3543bb['createPositionFromPath'](_0x1b43f3,_0x5e3d6f['end']['path']['slice']())),_0x23b56c=new _0x174e27(_0x1e7ea8,null,_0x4d0824,_0x3543bb['markers'],!0x0,_0x5926f4++);_0x2e2588['push'](_0x23b56c);}}if(_0x4065dd)for(const [_0x2f4507,_0x466fd3]of Object['entries'](_0x4065dd)){const _0x3facc9=_0x3543bb['document']['getRoot'](_0x2f4507);if(!_0x3facc9)throw new _0x8b1112('multi-root-editor-root-attributes-no-root',null);for(const [_0xf92e45,_0x222ee3]of Object['entries'](_0x466fd3))if(null!==_0x222ee3){const _0x5945d1=new _0x488080(_0x3facc9,_0xf92e45,null,_0x222ee3,_0x5926f4++);_0x2e2588['push'](_0x5945d1);}}return _0x2e2588;}async['_loadRoot'](_0x52928b,_0x3cfaee,_0x46be9d){this['_getOperationsFromInitData']({[_0x52928b]:_0x3cfaee},{[_0x52928b]:_0x46be9d})['forEach']((_0x221a51,_0x52a69a)=>{_0x221a51['baseVersion']=this['_document']['version']+_0x52a69a,_0x221a51['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x221a51);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x38499c,_0x32c7c1){let _0x40cf5c;this['_offset']=_0x38499c['offset'];const _0x5ba0d8=_0x38499c['wereChangesApplied']&&!_0x38499c['initData'],_0x36eda7=_0x5ba0d8?0x0:_0x38499c['data']['baseVersion'];if(_0x32c7c1['forEach'](_0x3c0bc7=>{_0x3c0bc7['_isInit']=!0x0,_0x3c0bc7['createdAt']=_0x38499c['sessionCreatedAt'],_0x3c0bc7['_authorId']=null;}),_0x5ba0d8)_0x40cf5c=_0x32c7c1,this['_applyOperationsSet'](_0x40cf5c,_0x5ba0d8);else{if(_0x38499c['initData']){const _0x3e538d=this['_getOperationsFromInitData'](_0x38499c['initData']);this['_document']['history']['version']=-_0x3e538d['length'],_0x3e538d['forEach'](_0x10f93e=>{_0x10f93e['baseVersion']-=_0x3e538d['length'],_0x10f93e['createdAt']=_0x38499c['sessionCreatedAt'],_0x10f93e['_isInit']=!0x0,_0x10f93e['_authorId']=null;}),this['_applyOperationsSet'](_0x3e538d,!0x0),this['serverHistory']['version']=-_0x3e538d['length']+this['_offset'],this['_updateServerHistory'](_0x3e538d);}this['_document']['history']['version']=_0x36eda7,_0x40cf5c=this['_decompressOperations'](_0x38499c['data'],_0x38499c['metadata']),await this['_fetchMissingUsers'](_0x40cf5c),this['_applyOperationsSet'](_0x40cf5c,_0x5ba0d8);}_0x38499c['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x40cf5c,_0x38499c['lastOperationId']),this['_lastSyncedOperationId']=_0x38499c['lastOperationId']),this['serverHistory']['version']=_0x36eda7+this['_offset'],this['_updateServerHistory'](_0x40cf5c),_0x32c7c1['filter'](_0x1b8cf8=>{const _0x15c68c=this['_getAffectedRoot'](_0x1b8cf8);return _0x15c68c&&!this['_knownRootNames']['has'](_0x15c68c);})['forEach']((_0x21e4fe,_0x596af3)=>{_0x21e4fe['baseVersion']=this['_document']['version']+_0x596af3,this['_saveOperationInBuffer'](_0x21e4fe);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1defdf,_0x50ce7b){const _0x2918e5=_0x50ce7b&&_0x50ce7b['message'];if(_0x2918e5&&_0x2918e5['startsWith']('realtimecollaborationclient'))throw _0x50ce7b;const _0x57468e=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x57468e['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x8b1112(_0x1defdf,this['editor'],_0x2918e5?{'originalError':_0x2918e5}:void 0x0);}['_saveOperationInBuffer'](_0x1bffdd){this['_knownOperations']['has'](_0x1bffdd)||(this['_knownOperations']['add'](_0x1bffdd),this['_bufferedOperations']['push'](_0x1bffdd),this['_pendingAction']||'marker'==_0x1bffdd['type']&&!_0x1bffdd['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x1c0d65=!0x1){!_0x1c0d65&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1d58cc=>{_0x1d58cc&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x3c9c52=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x369737){return _0x369737['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x369737['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x369737['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x3c9c52)||this['_crash'](_0x3c9c52['message'],_0x3c9c52);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x1a93fa=>{this['on']('change:_isPendingUpdate',()=>{_0x1a93fa();});});}async['_sendBufferedOperations'](){const _0x5f52ec=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x5f52ec['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x454b5f=[...this['_bufferedOperations']];for(const _0x37d5c6 of _0x454b5f)_0x37d5c6['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x37d5c6);const _0x2d22c6=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x454b5f),_0x1ea704=Z++,_0x45dc5d=this['_compressOperations'](_0x454b5f),_0x5bc5d1=await this['_service']['sendOperations'](_0x45dc5d,_0x45dc5d['baseVersion'],_0x2d22c6);try{return await this['_handleServerResponse'](_0x454b5f,_0x5bc5d1,_0x1ea704);}catch(_0x504cc8){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x504cc8);}}async['_handleServerResponse'](_0x2600fd,_0x2308c0,_0x1103e9){if('error'in _0x2308c0)throw _0x2308c0['error'];let _0x1b45fd=!0x1;if(_0x2308c0['wereChangesApplied']){_0x2308c0['lastOperationId']&&(this['_lastSyncedOperationId']=_0x2308c0['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0xe406df=>!_0x2600fd['includes'](_0xe406df));for(const _0x582299 of _0x2600fd)_0x582299['createdAt']='lastOperationAcceptedAt'in _0x2308c0&&_0x2308c0['lastOperationAcceptedAt']||void 0x0;st(_0x2600fd,_0x2308c0['version']-_0x2600fd['length']),this['_updateServerHistory'](_0x2600fd);const _0x4499f1=_0x2600fd['filter'](_0x42fc20=>{if(!_0x42fc20['_isInit'])return!0x1;const _0x51c8c0=this['_getAffectedRoot'](_0x42fc20);return _0x51c8c0&&!this['_knownRootNames']['has'](_0x51c8c0);});st(_0x4499f1,this['_document']['version']),this['_applyOperationsSet'](_0x4499f1),_0x1b45fd=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0xb75334=this['_decompressOperations'](_0x2308c0['data'],_0x2308c0['metadata'])['filter'](_0x3e965f=>_0x3e965f['baseVersion']>=this['_lastServerVersion']);_0xb75334['forEach'](_0x517f49=>this['_addKnownRoot'](_0x517f49)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x12ea2a=>!_0x12ea2a['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x12ea2a))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0xb75334),_0x1b45fd=this['_handleExternalOperations'](_0xb75334,_0x2308c0['version'],_0x2308c0['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1b45fd?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x1651a5,_0x3ae681,_0x23dd11){try{const _0x43ddd0={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x49ae2f,operationsB:_0x2a2e65,originalOperations:_0x37d688}=_0x209e32(_0x1651a5,this['_bufferedOperations'],_0x43ddd0);st(_0x49ae2f,this['_document']['version']),st(_0x2a2e65,_0x3ae681);for(const _0x5e9f11 of _0x49ae2f){const _0x1dfaec=_0x37d688['get'](_0x5e9f11);_0x5e9f11['_authorId']=_0x1dfaec?_0x1dfaec['_authorId']:null;}_0x23dd11&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x1651a5,_0x23dd11),this['_lastSyncedOperationId']=_0x23dd11),this['_bufferedOperations']=[..._0x2a2e65],this['_applyOperationsSet'](_0x49ae2f),this['_updateServerHistory'](_0x1651a5);}catch(_0x47e528){return console['error'](_0x47e528),!0x1;}return!0x0;}['_applyOperationsSet'](_0x266cb8,_0x3c598e=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x5e6288=>{for(const _0x44374a of _0x266cb8)this['_knownOperations']['add'](_0x44374a),this['_addKnownRoot'](_0x44374a),_0x5e6288['batch']['addOperation'](_0x44374a),this['editor']['model']['applyOperation'](_0x44374a);});}['_addKnownRoot'](_0x47af30){const _0x12bc01=this['_getAffectedRoot'](_0x47af30);_0x12bc01&&this['_knownRootNames']['add'](_0x12bc01);}['_getAffectedRoot'](_0x4cfeee){let _0x251d54,_0x5bb304;switch(_0x4cfeee['type']){case'insert':_0x251d54=_0x4cfeee['position']['root'];break;case'marker':if(_0x5bb304=_0x4cfeee['newRange'],!_0x5bb304)return null;_0x251d54=_0x5bb304['root'];break;case'addRootAttribute':_0x251d54=_0x4cfeee['root'];break;case'addRoot':_0x251d54=_0x4cfeee['affectedSelectable'];break;case'move':_0x251d54=_0x4cfeee['targetPosition']['root'];break;default:return null;}return _0x251d54['rootName'];}['_updateServerHistory'](_0x3b3f0e){_0x3b3f0e['forEach'](_0x4f2d66=>{const _0x12f601=_0x4f2d66['clone']();_0x12f601['_authorId']=_0x4f2d66['_authorId'],_0x12f601['_isInit']=!!_0x4f2d66['_isInit'],_0x12f601['createdAt']=_0x4f2d66['createdAt'],_0x12f601['baseVersion']+=this['_offset'],_0x4f2d66['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x12f601),this['serverHistory']['addOperation'](_0x12f601);});}['_handleReconnectionError'](_0x54e1c3){const _0x447644=this['editor']['plugins']['get']('Notification'),_0x31a182=this['editor']['locale'];_0x54e1c3||(_0x54e1c3=X(_0x31a182,'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.')),_0x447644['showWarning'](_0x54e1c3,{'title':X(_0x31a182,'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'](_0x48f710)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x48f710)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x3f9660){const _0x1a3266=_0x3f9660['map'](_0x54b054=>_0x54b054['toJSON']());return this['_compressor']['compress'](_0x1a3266);}['_decompressOperations'](_0x405ebf,_0xf5fe72){return this['_compressor']['decompress'](_0x405ebf)['map']((_0x4c6fd7,_0x17cd99)=>{const _0x1bba23='init'==_0xf5fe72[_0x17cd99]['type'];if('InsertOperation'==_0x4c6fd7['__className']){const _0x3f1f2a=_0x4c6fd7['position']['root'];!this['_document']['getRoot'](_0x3f1f2a)&&(this['_document']['createRoot']('$root',_0x3f1f2a)['_isAttached']=!0x1);}const _0x1a0c52=_0x271511['fromJSON'](_0x4c6fd7,this['_document']);return _0x1a0c52['wasUndone']=_0x4c6fd7['wasUndone'],_0x1a0c52['_isInit']=_0x1bba23,_0x1a0c52['_authorId']=_0x1bba23?null:_0xf5fe72[_0x17cd99]['userId'],_0x1a0c52['_isDisconnection']='cs:removeUser'===_0xf5fe72[_0x17cd99]['type'],_0x1a0c52['createdAt']=_0xf5fe72[_0x17cd99]['createdAt'],_0x1a0c52;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x1e9206=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x1e9206&&_0x1e9206['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x9ada79,_0x10892c){for(const _0x3fee3e of _0x9ada79)_0x3fee3e['baseVersion']=_0x10892c++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x2b8879){this['_ignoredOperations']=_0x2b8879,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x52be96){let _0x298672=_0x52be96['length'];for(;_0x298672--;){const _0x1d5542=_0x52be96[_0x298672];if(!this['_ignoredOperations']['has'](_0x1d5542)){if(!this['_operationToId']['has'](_0x1d5542)){const _0x5e42c6=_0x257d68()['slice'](0x1,0x12);this['_operationToId']['set'](_0x1d5542,_0x5e42c6);}return this['_operationToId']['get'](_0x1d5542);}}}['setIdForTheLastOperation'](_0x1b62a0,_0x39cb90){if(!_0x39cb90)return;let _0x218fe7=_0x1b62a0['length'];for(;_0x218fe7--;){const _0x24aa34=_0x1b62a0[_0x218fe7];this['_ignoredOperations']['has'](_0x24aa34)||this['_operationToId']['set'](_0x24aa34,_0x39cb90);}}}class nt extends _0x7e7df2{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x3aaa58{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x123b13)());['_services'];static get['requires'](){return[z,_0x546c19,Y,_0x53aae5];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1a04bc){super(_0x1a04bc),this['_services']=new Map();}async['init'](){const _0x2fd5d3=this['context'],_0x55410c=_0x2fd5d3['plugins']['get'](_0x546c19);if(_0x2fd5d3['plugins']['get'](z)['addToReconnectionStack'](this),_0x55410c['adapter']={'addCommentThread':async({channelId:_0x1d2292,threadId:_0xe0956b,comments:_0x7d6dc2,resolvedAt:_0xf2713a,resolvedBy:_0x4c80e9,context:_0x2f73e8,attributes:_0x4a48c4})=>{const _0x42a82e=await this['_getService'](_0x1d2292)['addCommentThread']({'commentThreadId':_0xe0956b,'comments':_0x7d6dc2['map'](_0x5bc8e0=>function(_0x370224,_0x2c85cb,_0x513f94){return{'commentThreadId':_0x513f94,'commentId':_0x370224['commentId'],'userId':_0x370224['authorId'],'content':_0x370224['content'],'documentId':_0x2c85cb,'createdAt':_0x370224['createdAt'],'attributes':_0x370224['attributes']||{}};}(_0x5bc8e0,_0x1d2292,_0xe0956b)),'resolvedAt':_0xf2713a,'resolvedBy':_0x4c80e9,'context':_0x2f73e8,'attributes':_0x4a48c4})['catch'](ct);return{'threadId':_0x42a82e['commentThreadId'],'comments':_0x42a82e['comments']};},'getCommentThread':async({channelId:_0x3e3ab4,threadId:_0x1d7186})=>{const _0x5eba4a=await this['_getService'](_0x3e3ab4)['getCommentThread'](_0x1d7186)['catch'](rt)['catch'](ct);return _0x5eba4a?_0x5eba4a['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x5eba4a]),{'threadId':_0x5eba4a['commentThreadId'],'comments':_0x5eba4a['comments']['map'](at),'context':_0x5eba4a['context'],'resolvedAt':_0x5eba4a['resolvedAt'],'resolvedBy':_0x5eba4a['resolvedBy'],'attributes':_0x5eba4a['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x40b603,threadId:_0x19f540,context:_0x8d0c46,unlinkedAt:_0x327e70,attributes:_0x3858b9})=>this['_getService'](_0x40b603)['updateCommentThread']({'commentThreadId':_0x19f540,'context':_0x8d0c46,'attributes':_0x3858b9,'unlinkedAt':_0x327e70})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x5c4d3b,threadId:_0x55ef37})=>{const _0x1cc45e=await this['_getService'](_0x5c4d3b)['resolveCommentThread'](_0x55ef37)['catch'](rt)['catch'](ct);return{'threadId':_0x1cc45e['commentThreadId'],'resolvedAt':_0x1cc45e['resolvedAt'],'resolvedBy':_0x1cc45e['resolvedBy']};},'reopenCommentThread':async({channelId:_0xca2463,threadId:_0x2dea70})=>this['_getService'](_0xca2463)['reopenCommentThread'](_0x2dea70)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x5886a2,threadId:_0x366094})=>this['_getService'](_0x5886a2)['removeCommentThread'](_0x366094)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x1a8fed,threadId:_0x2ab4e0,commentId:_0x3aeef6,content:_0x55dece,attributes:_0x1bf4e6})=>this['_getService'](_0x1a8fed)['addComment'](_0x2ab4e0,_0x3aeef6,_0x55dece,_0x1bf4e6)['catch'](ct),'updateComment':({channelId:_0x141598,threadId:_0xb4fed5,commentId:_0x5c5cca,content:_0x2c871b,attributes:_0x75342c})=>this['_getService'](_0x141598)['updateComment'](_0xb4fed5,_0x5c5cca,_0x2c871b,_0x75342c)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0xd95d58,threadId:_0x1ecbd0,commentId:_0x5a2eff})=>this['_getService'](_0xd95d58)['removeComment'](_0x1ecbd0,_0x5a2eff)['catch'](rt)['catch'](ct)},_0x2fd5d3 instanceof _0x36c47e){const _0xe9c51=_0x2fd5d3['config']['get']('collaboration.channelId'),_0x4ba8a1=_0x2fd5d3['plugins']['get'](Y);await this['_setUpService'](_0xe9c51);const _0x5a1568=await this['_services']['get'](_0xe9c51)['getConnectedSessions']();this['listenTo'](_0x4ba8a1,'sessionAdd:'+_0xe9c51,(_0x22fe78,{session:_0x32b85f})=>{_0x32b85f['id']===_0x4ba8a1['mySessionId']&&(_0x22fe78['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x32b85f['permissions'],_0xe9c51));}),_0x4ba8a1['register'](_0xe9c51,_0x5a1568);}}async['_setUpService'](_0x3e60ac){if(this['_services']['has'](_0x3e60ac))throw new _0x8b1112('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3e60ac});const _0x25bfdc=this['context']['plugins']['get'](_0x546c19),_0x10c8ea=new ot['CommentsService'](_0x3e60ac);this['_services']['set'](_0x3e60ac,_0x10c8ea),this['listenTo'](_0x10c8ea,'commentThreadAdded',(_0x29640c,_0x3ef3b1)=>{const {commentThreadId:_0x39fee2,documentId:_0x543891,context:_0x1f9397,attributes:_0x13f70d,resolvedAt:_0x34e2cd,resolvedBy:_0x587465,comments:_0x31cd93}=_0x3ef3b1;_0x25bfdc['getCommentThread'](_0x39fee2)||_0x25bfdc['addCommentThread']({'threadId':_0x39fee2,'channelId':_0x543891,'comments':_0x31cd93?_0x31cd93['map'](at):[],'context':_0x1f9397,'attributes':_0x13f70d,'resolvedAt':_0x34e2cd,'resolvedBy':_0x587465,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadUpdated',(_0x30bc71,{commentThreadId:_0x5b6f1f,documentId:_0x42934c,context:_0x3a5dbe,unlinkedAt:_0x20c638,attributes:_0x4389a8})=>{_0x25bfdc['getCommentThread'](_0x5b6f1f)&&_0x25bfdc['updateCommentThread']({'threadId':_0x5b6f1f,'channelId':_0x42934c,'context':_0x3a5dbe,'unlinkedAt':_0x20c638,'attributes':_0x4389a8,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadResolved',(_0x4f5dea,{commentThreadId:_0x48d967,resolvedBy:_0x23ce81,resolvedAt:_0xff8b5d})=>{const _0x2fdffe=_0x25bfdc['getCommentThread'](_0x48d967);_0x2fdffe&&_0x2fdffe['resolve']({'resolvedBy':_0x23ce81,'resolvedAt':_0xff8b5d,'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadReopened',(_0x48d262,{commentThreadId:_0x5854a6})=>{const _0x191401=_0x25bfdc['getCommentThread'](_0x5854a6);_0x191401&&_0x191401['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentThreadRemoved',(_0x228a7f,{commentThreadId:_0x66e965})=>{const _0x554542=_0x25bfdc['getCommentThread'](_0x66e965);_0x554542&&_0x554542['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentAdded',(_0x5652d4,_0x21db57)=>{const _0x3fdba8=_0x21db57['commentThreadId'],_0x4b9f92=_0x25bfdc['getCommentThread'](_0x3fdba8);_0x4b9f92&&_0x4b9f92['addComment']({...at(_0x21db57),'isFromAdapter':!0x0});}),this['listenTo'](_0x10c8ea,'commentUpdated',(_0x3fa0a8,{commentThreadId:_0x148d65,commentId:_0x561016,content:_0x314d5b,attributes:_0x1a90e4})=>{const _0x1aab6e=_0x25bfdc['getCommentThread'](_0x148d65);if(_0x1aab6e){const _0x4da7bc=_0x1aab6e['getComment'](_0x561016);_0x4da7bc&&_0x4da7bc['update']({'content':_0x314d5b,'attributes':_0x1a90e4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x10c8ea,'commentRemoved',(_0x2ab847,{commentThreadId:_0x33bcc1,commentId:_0x554411})=>{const _0x2db888=_0x25bfdc['getCommentThread'](_0x33bcc1);if(_0x2db888){const _0x3c96ae=_0x2db888['getComment'](_0x554411);_0x3c96ae&&_0x3c96ae['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x3e60ac);}['destroy'](){if(this['context']instanceof _0x36c47e){const _0x2d3b10=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x2d3b10);}}['_terminateService'](_0x4e0805){if(!this['_services']['has'](_0x4e0805))throw new _0x8b1112('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4e0805});this['_getService'](_0x4e0805)['disconnect'](),this['_services']['delete'](_0x4e0805);}async['reconnect'](){for(const _0x339a38 of this['_services']['keys']())await this['_connectService'](_0x339a38);if(this['context']instanceof _0x36c47e){const _0xe085fb=this['context']['config']['get']('collaboration.channelId'),_0x1c388c=this['context']['plugins']['get'](Y);_0x1c388c['unregister'](_0xe085fb);const _0x8716ec=await this['_services']['get'](_0xe085fb)['getConnectedSessions']();_0x1c388c['register'](_0xe085fb,_0x8716ec);}}async['_connectService'](_0x5d5dd3){const {connection:_0xf8ac2c}=this['context']['plugins']['get'](z),_0x1d4e17=this['context']['plugins']['get'](_0x546c19),_0x5e993f=this['_services']['get'](_0x5d5dd3),_0x42f893=await _0x5e993f['connect'](_0xf8ac2c);await this['_fetchMissingUsersForThreads'](_0x42f893);const _0x2c74bf=new Set(Array['from'](_0x1d4e17['getCommentThreads']({'channelId':_0x5d5dd3}),_0x2ee2a4=>_0x2ee2a4['id']));for(const _0x476879 of _0x42f893)_0x476879['deletedAt']||_0x2c74bf['delete'](_0x476879['commentThreadId']);for(const _0x3e35aa of _0x2c74bf)_0x1d4e17['getCommentThread'](_0x3e35aa)['remove']({'isFromAdapter':!0x0});for(const _0x1b8000 of _0x42f893){let _0x205064=_0x1d4e17['getCommentThread'](_0x1b8000['commentThreadId']);const {commentThreadId:_0x4a4951,context:_0x69721b,attributes:_0x5d0dcf,resolvedBy:_0x4cc045,resolvedAt:_0x38c50a,unlinkedAt:_0x11cc5d,deletedAt:_0x154c18}=_0x1b8000;if(_0x154c18)continue;_0x205064||(_0x205064=_0x1d4e17['addCommentThread']({'channelId':_0x5d5dd3,'threadId':_0x4a4951,'context':_0x69721b,'attributes':_0x5d0dcf||{},'resolvedBy':_0x4cc045,'resolvedAt':_0x38c50a,'unlinkedAt':_0x11cc5d,'isFromAdapter':!0x0}));const _0x9a5d03=new Set(Array['from'](_0x205064['comments'],_0x23803c=>_0x23803c['id']));for(const _0x5b923c of _0x1b8000['comments'])_0x9a5d03['delete'](_0x5b923c['commentId']);for(const _0x3b1e41 of _0x9a5d03)_0x205064['getComment'](_0x3b1e41)['remove']({'isFromAdapter':!0x0});for(const _0x5a01b1 of _0x1b8000['comments']){const _0x42d370=_0x205064['getComment'](_0x5a01b1['commentId']);_0x42d370?_0x42d370['content']!==_0x5a01b1['content']&&_0x42d370['update']({'content':_0x5a01b1['content'],'isFromAdapter':!0x0}):_0x205064['addComment'](Object['assign'](at(_0x5a01b1),{'isFromAdapter':!0x0}));}}}['_getService'](_0x3f2821){if(!this['_services']['has'](_0x3f2821))throw new _0x8b1112('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x3f2821});return this['_services']['get'](_0x3f2821);}async['_fetchMissingUsersForThreads'](_0x3f7272){const _0x1b3dcf=this['context']['plugins']['get'](_0x53aae5),{connection:_0x3c0d98}=this['context']['plugins']['get'](z),_0x7f34e2=new Set();for(const {resolvedBy:_0x37a14c,comments:_0x51a4bd}of _0x3f7272){_0x37a14c&&!_0x1b3dcf['getUser'](_0x37a14c)&&_0x7f34e2['add'](_0x37a14c);for(const {userId:_0x368b6f}of _0x51a4bd)_0x1b3dcf['getUser'](_0x368b6f)||_0x7f34e2['add'](_0x368b6f);}if(0x0===_0x7f34e2['size'])return;const _0x4f4b09=await _0x1aae37['getMany'](_0x3c0d98,Array['from'](_0x7f34e2));for(const _0x47e644 of _0x4f4b09)_0x1b3dcf['getUser'](_0x47e644['id'])||_0x1b3dcf['addUser'](_0x47e644);}}async function rt(_0x3fc775){if('404'!==_0x3fc775['code'])throw _0x3fc775;}function ct(_0x5a3f8a){if((_0x124be5=_0x5a3f8a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x124be5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x124be5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x124be5;throw _0x5a3f8a;}function at(_0x506420){return{'threadId':_0x506420['commentThreadId'],'commentId':_0x506420['commentId'],'content':_0x506420['content'],'createdAt':_0x506420['createdAt'],'authorId':_0x506420['userId'],'attributes':_0x506420['attributes']||{}};}class ht extends _0x7e7df2{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x133455)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x32ed3a,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x531f97){super(_0x531f97);const _0x2dcbc8=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x2dcbc8);}['init'](){const _0x4caaec=this['editor']['plugins']['get'](z),_0x303cac=this['editor']['plugins']['get'](_0x32ed3a);return _0x303cac['adapter']={'getSuggestion':async _0x4c8854=>{await this['_waitForServiceReady']();const _0x2c8384=await this['_trackChangesService']['get'](_0x4c8854)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x2c8384]),_0x2c8384;},'addSuggestion':async({id:_0x36b9e8,type:_0x2efff2,data:_0x1905cf,originalSuggestionId:_0x26e494,attributes:_0x42b2d0})=>{await this['_waitForServiceReady']();const _0x51aa98={'id':_0x36b9e8,'type':_0x2efff2,'data':_0x1905cf,'originalSuggestionId':_0x26e494,'attributes':_0x42b2d0},_0x16edb9=await this['_trackChangesService']['add'](_0x36b9e8,_0x2efff2,_0x1905cf,_0x26e494,_0x42b2d0)['catch'](_0x252429=>{if(dt(_0x252429))return new Promise(_0x5967c4=>{this['_bufferedRequests']['set'](_0x36b9e8,{'resolve':_0x5967c4,'suggestionData':_0x51aa98});});throw _0x252429;});return this['_bufferedRequests']['delete'](_0x36b9e8),_0x16edb9;},'updateSuggestion':async(_0x10bfbd,_0x355398)=>{if(await this['_waitForServiceReady'](),'open'!==_0x355398['state'])return this['_trackChangesService']['update'](_0x10bfbd,_0x355398)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x3aa958,_0x2a5fb9)=>{_0x303cac['hasSuggestion'](_0x2a5fb9['id'])&&(_0x303cac['getSuggestion'](_0x2a5fb9['id'])['attributes']=_0x2a5fb9['attributes']);}),this['_trackChangesService']['connect'](_0x4caaec['connection'])['then'](_0x2cfce3=>(_0x4caaec['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2cfce3)['then'](()=>{for(const _0xddac0c of _0x2cfce3){_0x303cac['addSuggestionData'](_0xddac0c)['_saved']=!0x0;}})));}async['reconnect'](){const _0x8c79bb=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x50331b}=this['editor']['plugins']['get'](z),_0x5eb304=await this['_trackChangesService']['connect'](_0x50331b);await this['_fetchMissingUsersForThreads'](_0x5eb304);for(const {suggestionData:_0x5c15b3,resolve:_0x1bfa11}of this['_bufferedRequests']['values']()){let _0x29d52d=_0x5eb304['find'](_0x124330=>_0x124330['id']===_0x5c15b3['id']);_0x29d52d||(_0x29d52d=await this['_trackChangesService']['add'](_0x5c15b3['id'],_0x5c15b3['type'],_0x5c15b3['data'],_0x5c15b3['originalSuggestionId'])),_0x1bfa11(_0x29d52d);}for(const _0x36152d of _0x5eb304)_0x8c79bb['hasSuggestion'](_0x36152d['id'])||_0x8c79bb['addSuggestionData'](_0x36152d);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x3d252d=>{this['listenTo'](this['_trackChangesService'],'connected',_0x252117=>{_0x252117['off'](),_0x3d252d();});});}async['_fetchMissingUsersForThreads'](_0x52bf56){const _0x41a06d=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x48667f}=this['editor']['plugins']['get'](z),_0x543b99=new Set();for(const {authorId:_0x7e2533}of _0x52bf56)_0x41a06d['getUser'](_0x7e2533)||_0x543b99['add'](_0x7e2533);if(0x0===_0x543b99['size'])return;const _0x4778d5=await _0x1aae37['getMany'](_0x48667f,Array['from'](_0x543b99));for(const _0x28235b of _0x4778d5)_0x41a06d['getUser'](_0x28235b['id'])||_0x41a06d['addUser'](_0x28235b);}}function lt(_0x2464ea){if(dt(_0x2464ea))return new Promise(()=>{});throw _0x2464ea;}function dt(_0x3a8d71){return _0x3a8d71['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3a8d71['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x7e7df2{static get['requires'](){return[_0x3b0de9,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2b0d83=this['editor']['plugins']['get'](z),_0xc15552=this['editor']['plugins']['get'](_0x51aaa4),_0x81e815=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2b0d83,'change:state',(_0x499abe,_0x4529d2,_0x24035c)=>{_0xc15552['isThreadsLoadingPaused']='connected'!==_0x24035c;});}),this['listenTo'](_0x2b0d83,'change:state',(_0x5a53ad,_0x474935,_0x34850d)=>{this['editor']['plugins']['get'](_0x546c19)['switchReadOnly']('connected'!==_0x34850d);}),_0x81e815['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x7e7df2{static get['requires'](){return[ut,ht,_0x1bc6f1];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x7e7df2{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x466a80)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0xcc7ce7,Y,_0x53aae5];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2b3e75){super(_0x2b3e75);const _0x1276a4=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1276a4);}async['init'](){const _0x4115f5=this['editor']['plugins']['get'](tt),_0x43a0ca=_0x4115f5['serverHistory'],_0x2c807e=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x43a0ca,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x4115f5['sessionId']});const _0x3a6035=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x409661,_0x58e710=await _0x16873e['isBundleUploaded'](_0x2c807e['connection'],_0x3a6035);this['editor']['plugins']['get'](_0xcc7ce7)['adapter']={'getRevision':async({revisionId:_0x361e20})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x361e20)),'updateRevisions':async _0x37002a=>{await this['_waitForServiceReady']();const _0x5b1cd2=this['_revisionTracker']['currentRevision'];if(_0x58e710&&0x1===_0x37002a['length']&&_0x37002a[0x0]['id']===_0x5b1cd2['id'])return _0x37002a;for(const _0x2e33b6 of _0x37002a)_0x2e33b6['id']===_0x5b1cd2['id']&&(_0x2e33b6['isEmptyCurrent']=_0x2e33b6['fromVersion']===_0x2e33b6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x37002a,this['_lastRequestId'])['then'](_0x4f6416=>(this['_lastRequestId']=_0x4f6416,_0x37002a))['catch'](_0x44d92b=>{if(pt(_0x44d92b)||'400'===_0x44d92b['code']&&void 0x0!==_0x44d92b['data']['wrongRequestId']){for(const _0x46bd13 of _0x37002a){!this['_revisionTracker']['repository']['getRevision'](_0x46bd13['id'])||this['_revisionTracker']['_bufferUpdate'](_0x46bd13['id'],_0x46bd13,!0x1);}if(pt(_0x44d92b))throw _0x44d92b;return _0x37002a;}throw _0x44d92b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xf361d,{revisionsData:_0x523cfa,requestId:_0x315675})=>{Math['max'](..._0x523cfa['map'](_0x2fa422=>_0x2fa422['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x523cfa,_0x315675);}):this['_handleRevisionsUpdate'](_0x523cfa,_0x315675);});const {revisions:_0x55bf37,requestId:_0x1ab5c4}=await this['_revisionHistoryService']['connect'](_0x2c807e['connection']);_0x2c807e['addToReconnectionStack'](this),this['_lastRequestId']=_0x1ab5c4,await this['_fetchMissingUsers'](_0x55bf37);for(const _0x114255 of _0x55bf37)this['_revisionTracker']['addRevisionData'](_0x114255);this['listenTo'](_0x4115f5,'change:_isConnected',(_0x4b4113,_0x16b74b,_0x5d5b63)=>{_0x5d5b63&&(this['_oldOffset']=_0x4115f5['_offset'],_0x4b4113['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2c807e,'state',_0x59a815=>_0x59a815===_0x14867f['CONNECTED']);}async['reconnect'](){const _0x22cbf1=this['editor']['plugins']['get'](z),_0x37d579=this['editor']['plugins']['get'](tt),_0x57d7b2=async()=>{const _0x582466=this['_revisionTracker']['currentRevision'],_0x3aad6e=_0x582466['id'],_0x345c01=_0x3aad6e!==_0x37d579['sessionId'];if(_0x345c01){const _0x330285=_0x37d579['_offset']-this['_oldOffset'],_0x3e0b01=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x582466['toVersion']+_0x330285!==_0x3e0b01){const _0x5a18d4=_0x582466['fromVersion']+_0x330285,_0x450d70=this['editor']['plugins']['get'](_0x53aae5),_0x36679f=this['_revisionTracker']['buildRevisionData']({'revision':_0x582466,'from':_0x5a18d4,'to':_0x3e0b01});_0x36679f['id']=_0x582466['id'];const _0x102831=_0x36679f['authorsIds']['map'](_0x26c67b=>_0x450d70['getUser'](_0x26c67b));_0x582466['_update']({..._0x36679f,'authors':_0x102831},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x582466['id'],_0x36679f,!0x0);}this['_revisionTracker']['_startingVersion']=_0x3e0b01,(_0x582466['toVersion']===_0x582466['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x3aad6e)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x3aad6e),this['_revisionTracker']['_createCurrentRevision'](_0x3e0b01));}const {revisions:_0x17dc1d,requestId:_0x7c2799}=await this['_revisionHistoryService']['reconnect'](_0x22cbf1['connection'],this['_lastRequestId']);_0x345c01&&_0x17dc1d['length']>0x0?_0x37d579['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x17dc1d),this['_handleRevisionsUpdate'](_0x17dc1d,_0x7c2799),this['_revisionTracker']['sendBufferedUpdates']());};return _0x37d579['_isConnected']?_0x57d7b2():new Promise((_0x47ef7c,_0x1de798)=>{_0x37d579['once']('change:_isConnected',()=>{_0x57d7b2()['then'](_0x47ef7c)['catch'](_0x1de798);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x253586=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x3cfa87=>{_0x3cfa87['off'](),_0x253586();});});}['_getLatestVersionFromServerOperations'](){const _0x5385b5=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x16dd39 of _0x5385b5)if('marker'!==_0x16dd39['type']||_0x16dd39['affectsData'])return _0x16dd39['baseVersion']+0x1;}['_getLatestVersion'](){const _0x9f770=this['editor']['plugins']['get'](tt);return new Promise(_0x4eb401=>{_0x9f770['_isPendingUpdate']?_0x9f770['once']('change:_isPendingUpdate',()=>{_0x4eb401(this['_getLatestVersionFromServerOperations']());}):_0x4eb401(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0xc4465b,_0x34eb4e){const _0x39e259=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x34eb4e;for(const _0x5615a3 of _0xc4465b){const _0x349c61=_0x39e259['getRevision'](_0x5615a3['id']);if(_0x349c61){if((_0x5615a3['fromVersion']||_0x5615a3['toVersion'])&&(_0x5615a3['diffData']=null),_0x349c61===this['_revisionTracker']['currentRevision']){const _0x304420=Math['max'](_0x349c61['toVersion'],_0x5615a3['toVersion']),_0x4755f4=Math['max'](_0x349c61['fromVersion'],_0x5615a3['fromVersion']);let _0x1771b7;_0x349c61['toVersion']===_0x5615a3['toVersion']&&_0x349c61['fromVersion']===_0x5615a3['fromVersion']?(_0x1771b7=!0x0,this['_preventResendingRevisionData'](_0x5615a3)):_0x5615a3['toVersion']===_0x304420&&_0x5615a3['fromVersion']===_0x4755f4?_0x1771b7=!0x1:(_0x349c61['toVersion']===_0x304420&&_0x349c61['fromVersion']===_0x4755f4||this['_fixRevision']({'revision':_0x349c61,'from':_0x4755f4,'to':_0x304420}),_0x1771b7=!0x0),_0x1771b7&&(delete _0x5615a3['fromVersion'],delete _0x5615a3['toVersion'],delete _0x5615a3['diffData'],delete _0x5615a3['createdAt'],delete _0x5615a3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x5615a3),this['_preventResendingRevisionData'](_0x5615a3);}else this['_revisionTracker']['addRevisionData'](_0x5615a3);}const _0x5ed170=_0x39e259['getRevisions']();_0x5ed170['reverse']();for(let _0x51b2fe=0x0;_0x51b2fe<_0x5ed170['length']-0x1;_0x51b2fe++){const _0x3edcf1=_0x5ed170[_0x51b2fe],_0xfa6126=_0x5ed170[_0x51b2fe+0x1];if(_0x3edcf1['fromVersion']<_0xfa6126['toVersion']){const _0x179d5b=_0xfa6126['toVersion'],_0x22a262=Math['max'](_0x179d5b,_0x3edcf1['toVersion']);this['_fixRevision']({'revision':_0x3edcf1,'from':_0x179d5b,'to':_0x22a262});}}}['_fixRevision']({revision:_0x1a494d,from:_0x55926c,to:_0x29a25a}={}){const _0x39db33=this['editor']['plugins']['get'](_0x53aae5),_0x10ced5=this['_revisionTracker']['buildRevisionData']({'revision':_0x1a494d,'from':_0x55926c,'to':_0x29a25a});_0x10ced5['authors']=_0x10ced5['authorsIds']['map'](_0x5036be=>_0x39db33['getUser'](_0x5036be)),_0x1a494d['_update'](_0x10ced5);}['_preventResendingRevisionData'](_0x589469){const _0x5db6e4={};_0x5db6e4['id']=_0x589469['id'];for(const _0x3466ad of Object['keys'](_0x589469))'id'!==_0x3466ad&&(_0x5db6e4[_0x3466ad]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x5db6e4['id'],_0x5db6e4,!0x0);}async['_fetchMissingUsers'](_0x3a9d5d){const _0x54d2e7=this['editor']['plugins']['get'](_0x53aae5),{connection:_0x1b60f1}=this['editor']['plugins']['get'](z),_0x1af027=new Set();for(const _0x44185c of _0x3a9d5d){for(const _0x2fd761 of _0x44185c['authorsIds'])_0x3a4fdb(_0x2fd761);_0x44185c['creatorId']&&_0x3a4fdb(_0x44185c['creatorId']);}if(0x0===_0x1af027['size'])return;const _0x45d922=await _0x1aae37['getMany'](_0x1b60f1,Array['from'](_0x1af027));for(const _0x49c35a of _0x45d922)_0x54d2e7['getUser'](_0x49c35a['id'])||_0x54d2e7['addUser'](_0x49c35a);function _0x3a4fdb(_0x184144){_0x54d2e7['getUser'](_0x184144)||_0x1af027['add'](_0x184144);}}}function pt(_0x2c20c2){return _0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x2c20c2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x7e7df2{static get['requires'](){return[_0xcc7ce7,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x4a4673{['_collapseAt'];constructor(_0x3d5ae0,_0xde062a=0x6){super(_0x3d5ae0);const _0x33299b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0xde062a,this['bind']('isHidden')['to'](this,'usersCount',_0x25426f=>_0x25426f<_0xde062a),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x33299b['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':_0x33299b['to']('usersCount',_0x4e1d9d=>'+'+(_0x4e1d9d-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x4a4673{['items'];['keystrokes'];constructor(_0xce9cc8){super(_0xce9cc8);const _0x50674d=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x34ba8b(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x50674d['if']('hasPopup'),'aria-expanded':_0x50674d['to']('isExpanded',_0x1f8231=>this['hasPopup']&&String(_0x1f8231)),'aria-label':_0x50674d['to']('hasPopup',_0x2ec696=>X(_0xce9cc8,_0x2ec696?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x50674d['to']('hasPopup',_0x576922=>!!_0x576922&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x50674d['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x50674d['to'](_0x665b51=>{const _0x20efe5=_0x665b51,_0x39de84=document['querySelector']('.ck-presence-list__dropdown-list'),_0x580f94=document['querySelector']('.ck-balloon-panel_with-arrow');_0x39de84?.['contains'](_0x20efe5['relatedTarget'])||_0x580f94?.['contains'](_0x20efe5['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3bdf61,_0x2f70e9,_0x492250)=>{this['element']&&(_0x492250?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x4a4673{['counterView'];['inlineListView'];constructor(_0x20c94b,_0xe7bd94=0x6){super(_0x20c94b);const _0x28729b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0xe7bd94),this['inlineListView']=new vt(_0x20c94b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x7ee3a of this['inlineListView']['items'])_0x7ee3a['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',_0x28729b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x4a4673{['listWrapperView'];constructor(_0x1672b7,_0x5a4dc6){super(_0x1672b7);const _0xdc757a=this['bindTemplate'];this['listWrapperView']=new bt(_0x1672b7,_0x5a4dc6),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x1672b7,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0xdc757a['to'](_0xb7ec8f=>{const _0x204389=_0xb7ec8f,_0x26716b=document['querySelector']('.ck-presence-list__list'),_0x4f5dc2=document['querySelector']('.ck-balloon-panel_with-arrow');_0x26716b?.['contains'](_0x204389['relatedTarget'])||_0x4f5dc2?.['contains'](_0x204389['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x46846e{constructor(_0x6459e1,_0x530d68){super(_0x6459e1);const _0x1d38d1=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x530d68?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x1d38d1['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x1d38d1['to']('role'),'aria-label':_0x1d38d1['to']('ariaLabel'),'aria-labelledby':_0x1d38d1['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x4f4d68['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5138d4=this['element'];_0x5138d4&&(this['_isScrollable']=Math['max'](_0x5138d4['scrollHeight'],_0x5138d4['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1cdd97{['userView'];constructor(_0x44d7ea,_0x1e12a9,_0x7ec4b6){super(_0x44d7ea);const _0x4fbf87=this['bindTemplate'];this['userView']=new _0x3792ea(_0x44d7ea,_0x1e12a9);const _0x650958={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x1e12a9['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x1e12a9['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1e12a9['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1e12a9['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1e12a9['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x7ec4b6&&(_0x650958['tag']='button',_0x650958['on']={'click':_0x4fbf87['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x650958);}['focus'](){this['element']['focus']();}}class It extends _0x4a4673{['userView'];['markerView'];constructor(_0x3a08e2,_0x4044bc,_0x5142b5){super(_0x3a08e2);const _0xa0189=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x3792ea(_0x3a08e2,_0x4044bc),this['markerView']=new St(_0x3a08e2,_0x4044bc);const _0x580e4e=new _0x10d3c8(_0x3a08e2);_0x580e4e['template']['tag']='span',_0x580e4e['text']=_0x4044bc['name'];const _0x45e466={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0xa0189['to']('isFocusable',_0x5cdaea=>!!_0x5cdaea&&0x0),'aria-labelledby':_0x580e4e['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0xa0189['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0xa0189['to']('hasTooltip',_0x1298b8=>!_0x1298b8),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x580e4e]};_0x5142b5&&(_0x45e466['tag']='button',_0x45e466['on']={'click':_0xa0189['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x45e466);}}class St extends _0x4a4673{constructor(_0xd69697,_0xe60bc1){super(_0xd69697),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0xe60bc1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0xe60bc1['color']['getColorVariable'](),'--ck-user-color-alpha':_0xe60bc1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x3aaa58{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x587e81){super(_0x587e81),this['context']['config']['define']('presenceList',Tt);const _0x131127=_0x587e81['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x131127)throw new _0x8b1112('presencelist-collapseat-invalid-format',this);if(_0x131127<0x1)throw new _0x8b1112('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2d2e8c(),this['balloonPanelView']=new _0x3a129f(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x5b0395 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x5b0395);this['listenTo'](this['_allConnectedUsers'],'add',(_0x181aea,_0x436c06)=>{this['_handleUserAdd'](_0x436c06);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x396b20,_0x4cf8e7)=>{this['_handleUserRemove'](_0x4cf8e7);});}['_createView'](){const _0x569050=this['context'],_0x35412f=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x14a4ca=this['balloonPanelView'];if(!_0x478f25(_0x569050['config']['get']('presenceList.container')))throw new _0x8b1112('presencelist-missing-container',this);return _0x35412f['counterView']['bind']('usersCount')['to'](this),_0x35412f['bind']('isCollapsed')['to'](this,'usersCount',_0xf240ee=>{const {collapseAt:_0x395caf}=_0x569050['config']['get']('presenceList'),_0x28b54a=_0xf240ee>=_0x395caf;if(_0x28b54a&&!_0x35412f['inlineListView']['items']['find'](_0x4f976d=>_0x4f976d instanceof wt)){const _0x401cdc=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x401cdc&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x35412f['inlineListView']['items']['add'](_0x35412f['counterView']);}return _0x28b54a||this['hideDropdown'](),_0x28b54a;}),_0x35412f['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x477a9b=>{const _0x4e21d9=_0x569050['config']['get']('presenceList'),_0x46bc99=new It(_0x569050['locale'],_0x477a9b,!!_0x4e21d9['onClick']);return _0x46bc99['bind']('hasTooltip')['to'](_0x35412f,'isCollapsed',_0x51f222=>!_0x51f222),_0x46bc99['bind']('isFocusable')['to'](_0x35412f,'isCollapsed',_0x30842b=>!_0x30842b),_0x4e21d9['onClick']&&this['listenTo'](_0x46bc99,'execute',()=>{this['view']['isCollapsed']||_0x4e21d9['onClick'](_0x477a9b,_0x46bc99['element']);}),_0x46bc99;}),this['listenTo'](_0x35412f['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x35412f['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x35412f['inlineListView']['keystrokes']['set']('Enter',(_0x209241,_0x5bbe11)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5bbe11());}),_0x35412f['render'](),_0x14a4ca['render'](),_0x1085c4({'emitter':_0x35412f,'activator':()=>_0x14a4ca['isVisible'],'contextElements':[_0x14a4ca['element'],_0x35412f['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x569050['config']['get']('presenceList.container')['appendChild'](_0x35412f['element']),this['_bodyCollection']=new _0x6427d8(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x35412f;}['_handleUserAdd'](_0x5a5c02){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x5a5c02['isMe'])return;const _0x3c697a=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3c697a-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x4eb74d=_0x5a5c02['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x5a5c02,_0x4eb74d);}['_handleUserRemove'](_0x52c4b7){this['usersCount']--;const {collapseAt:_0x5a8203}=this['context']['config']['get']('presenceList'),_0x30c2cc=this['usersCount']>=_0x5a8203;if(this['currentDisplayedUsers']['get'](_0x52c4b7['id']))this['currentDisplayedUsers']['remove'](_0x52c4b7['id']);else{if(_0x30c2cc&&this['currentDisplayedUsers']['length']+0x1===_0x5a8203-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30c2cc?0x1:0x0)<this['usersCount']){for(const _0x575142 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x575142['id'])&&(this['currentDisplayedUsers']['add'](_0x575142,Math['min'](this['currentDisplayedUsers']['length']-(_0x30c2cc?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30c2cc?0x1:0x0)===_0x5a8203-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x13be51=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x13be51['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x33e506}=this['presenceDropdownView'];_0x33e506['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x562927=>{if(!_0x13be51['displayMe']&&_0x562927['isMe'])return null;const _0x290d8b=new kt(this['context']['locale'],_0x562927,!!_0x13be51['onClick']);return _0x13be51['onClick']&&this['listenTo'](_0x290d8b,'execute',()=>{_0x13be51['onClick'](_0x562927,_0x290d8b['element']);}),_0x290d8b;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x33e506['focus'](),_0x33e506['checkIfScrollable']();const _0xe18a0c=(_0x4bce8e,_0x550f81)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x550f81();};_0x33e506['keystrokes']['set']('Esc',_0xe18a0c),_0x33e506['keystrokes']['set']('Shift+Tab',_0xe18a0c),_0x33e506['keystrokes']['set']('Tab',(_0x202a24,_0x116534)=>{!function(_0x27767e){const _0x546b9c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x9c3dc6=>_0x9c3dc6+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x13cb6a=[...document['body']['querySelectorAll'](_0x546b9c)]['filter'](_0xd3893f=>_0xd3893f===document['activeElement']||_0xd3893f['offsetWidth']+_0xd3893f['offsetHeight']>0x0)['sort']((_0x4cbb75,_0x27fb28)=>(_0x4cbb75['tabIndex']||0x0)-(_0x27fb28['tabIndex']||0x0)),_0x3be441=_0x13cb6a['indexOf'](_0x27767e),_0x4bceba=_0x13cb6a[(_0x3be441+0x1)%_0x13cb6a['length']];_0x4bceba&&_0x4bceba['focus']();}(this['view']['element']),this['hideDropdown'](),_0x116534();}),_0x33e506['focusTracker']['add'](this['view']['element']),_0x33e506['focusTracker']['on']('change:isFocused',(_0x575aea,_0xe4de67,_0x101f0c)=>{_0x101f0c||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x3aaa58{static get['requires'](){return[Y,At];}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,Pt as PresenceList,At 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{ContextPlugin as _0xd5d5b2,Plugin as _0x103d19,PendingActions as _0x3c2905,Context as _0x38e411}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0xd71770,CKEditorError as _0x36cefd,Collection as _0x16227b,global as _0x3fbed8,version as _0x2acad4,uid as _0x53a8dc,KeystrokeHandler as _0x1cfe84}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x486fab,View as _0x2a2968,ListView as _0x468e3,ListItemView as _0xd98646,LabelView as _0x20fd6e,BalloonPanelView as _0x17c136,clickOutsideHandler as _0x2a391d,BodyCollection as _0x42e011}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x4ff929,History as _0x191eb3,NoOperation as _0x2d08e1,InsertOperation as _0x20f193,MarkerOperation as _0x3dbdcf,RootAttributeOperation as _0x3a6612,transformOperationSets as _0x35557e,OperationFactory as _0x20d617}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x47bcfb}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x12e82b,WEB_SOCKET_GATEWAY_STATES as _0x7dc889,CollaborativeEditingService as _0x5c662e,User as _0xd44d9a,CommentsService as _0x31fab9,TrackChangesService as _0x22d399,RevisionHistoryService as _0x14354c,EditorService as _0x12fc8b}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15efd7,UserView as _0x5e59a8}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x217bc1}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x4a88e5,TrackChanges as _0x4da260}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x44cbfd,Comments as _0x32965a,CommentsEditing as _0x10c30c}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x54aa5a}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x6c004d}from'es-toolkit/compat';class z extends _0xd5d5b2{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x12e82b)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x47bcfb,_0x486fab];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xdcac55){super(_0xdcac55),this['set']('state',_0x7dc889['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0xd71770())();}['init'](){const _0x335fef=this['context'],_0x3a80b8=_0x335fef['plugins']['get'](_0x47bcfb),_0x3519e5=_0x335fef['plugins']['get'](_0x486fab);if(!_0x3a80b8['token'])throw new _0x36cefd('websocketgateway-missing-token',this);if(!_0x3a80b8['webSocketUrl'])throw new _0x36cefd('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),z['WebSocketGateway']['connect'](_0x3a80b8['token'],_0x3a80b8['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5adbe8=>{if(this['connection']=_0x5adbe8,this['bind']('state')['to'](_0x5adbe8,'state',this,'_isBrowserOffline',(_0x2c3b5d,_0x3e941f)=>('connected'!==_0x2c3b5d&&(this['_shouldPluginsReconnect']=!0x0),_0x3e941f||_0x2c3b5d!==_0x7dc889['CONNECTED']?_0x7dc889['DISCONNECTED']:this['state']==_0x7dc889['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x7dc889['CONNECTING']):_0x7dc889['CONNECTED'])),this['connection']['on']('error',(_0x3010a5,_0x4f8244)=>{if('limitExceeded'!==_0x4f8244['code'])throw console['error'](_0x4f8244),new _0x36cefd('cloudservices-init',null,{'originalError':_0x4f8244});_0x3519e5['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'});}),!_0x5adbe8['me'])return new Promise(_0x3e6e4e=>_0x5adbe8['on']('change:me',_0x3e6e4e));})['catch'](_0x1a2dcc=>{throw console['error'](_0x1a2dcc),new _0x36cefd('cloudservices-init',null,{'originalError':_0x1a2dcc});});}['addToReconnectionStack'](_0x317779){if('function'!=typeof _0x317779['reconnect'])throw new _0x36cefd('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x317779))throw new _0x36cefd('websocketgateway-plugin-already-registered',this,{'name':_0x317779['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x317779);}['removeFromReconnectionStack'](_0x18f7bd){this['_reconnectionStack']['delete'](_0x18f7bd);}['isInReconnectionStack'](_0xa3ba2d){return this['_reconnectionStack']['has'](_0xa3ba2d);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x21a288=>_0x21a288['reconnect']())))['then'](()=>this['state']=_0x7dc889['CONNECTED'])['catch'](_0xd50a50=>{throw console['error'](_0xd50a50),new _0x36cefd('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x7dc889['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xd5d5b2{['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,_0x15efd7];}constructor(_0x59ca05){super(_0x59ca05),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x16227b(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15efd7);}['init'](){const _0x14cd53=this['context']['plugins']['get'](z);this['listenTo'](_0x14cd53,'change:state',(_0x483c73,_0x33e9fe,_0x197965)=>{if('connected'!==_0x197965)this['channelSessions']['forEach'](_0x26713c=>_0x26713c['clear']()),this['channelConnectedUsers']['forEach'](_0x36264f=>_0x36264f['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x57f674,_0x582717]of this['_registeredSessions'])for(const _0x423438 of _0x582717)this['_handleSessionAdd'](_0x57f674,_0x423438);}}),this['_createUser'](_0x14cd53['connection']['me'],!0x0);}['register'](_0x54d7da,_0x366dde){if(this['_registeredSessions']['has'](_0x54d7da))throw new _0x36cefd('sessions-register-already-registered',null,{'channelId':_0x54d7da});this['_registeredSessions']['set'](_0x54d7da,_0x366dde),this['channelSessions']['set'](_0x54d7da,new _0x16227b()),this['channelConnectedUsers']['set'](_0x54d7da,new _0x16227b()),this['listenTo'](_0x366dde,'add',(_0x15da12,_0x21caf9)=>this['_handleSessionAdd'](_0x54d7da,_0x21caf9)),this['listenTo'](_0x366dde,'remove',(_0x42655f,_0x5c8c22)=>this['_handleSessionRemove'](_0x54d7da,_0x5c8c22));for(const _0xc86c4d of _0x366dde)this['_handleSessionAdd'](_0x54d7da,_0xc86c4d);}['unregister'](_0x11578b){if(!this['_registeredSessions']['has'](_0x11578b))throw new _0x36cefd('sessions-unregister-not-exist',null,{'channelId':_0x11578b});const _0x3cfbfc=this['_registeredSessions']['get'](_0x11578b);this['stopListening'](_0x3cfbfc);for(const _0x41d749 of _0x3cfbfc)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x11578b,_0x41d749);this['_registeredSessions']['delete'](_0x11578b),this['channelSessions']['delete'](_0x11578b),this['channelConnectedUsers']['delete'](_0x11578b);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x526eff){for(const _0x220392 of this['channelSessions']['values']())for(const _0x2f4533 of _0x220392)if(_0x2f4533['id']===_0x526eff)return _0x2f4533['user'];}['getUserSessions'](_0x2d788f,_0x1d67ab){const _0x3c71ac=_0x1d67ab?[this['channelSessions']['get'](_0x1d67ab)]:this['channelSessions']['values'](),_0xa1bb2f=new Set();for(const _0x3a664d of _0x3c71ac)for(const _0x20fae5 of _0x3a664d)_0x20fae5['user']['id']===_0x2d788f['id']&&_0xa1bb2f['add'](_0x20fae5['id']);return _0xa1bb2f;}['getUserRole'](_0xb01908){for(const _0x47836f of this['channelSessions']['values']())for(const _0x3d3ac2 of _0x47836f)if(_0x3d3ac2['user']===_0xb01908)return _0x3d3ac2['role'];}['_handleSessionAdd'](_0x2eab6d,_0x1222b7){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x493f03=_0x1222b7['user'],_0x5da9e5=this['_users']['getUser'](_0x493f03['id'])||this['_createUser'](_0x493f03),_0x3fec5=Object['assign']({},_0x1222b7,{'user':_0x5da9e5});if(this['channelSessions']['get'](_0x2eab6d)['add'](_0x3fec5),!_0x493f03['hiddenInPresenceList']){const _0x177c50=this['channelConnectedUsers']['get'](_0x2eab6d);_0x177c50['has'](_0x5da9e5['id'])||_0x177c50['add'](_0x5da9e5),this['allConnectedUsers']['has'](_0x5da9e5['id'])||_0x493f03['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5da9e5,_0x5da9e5['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2eab6d,{'channelId':_0x2eab6d,'session':_0x3fec5});}['_handleSessionRemove'](_0x2177c5,_0x7dc9e9){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4b485b=this['channelConnectedUsers']['get'](_0x2177c5),_0x456876=_0x7dc9e9['user'];_0x456876['id']&&(this['channelSessions']['get'](_0x2177c5)['remove'](_0x7dc9e9['id']),_0x4b485b['has'](_0x456876['id'])&&!this['getUserSessions'](_0x456876,_0x2177c5)['size']&&_0x4b485b['remove'](_0x456876['id']),this['allConnectedUsers']['get'](_0x456876['id'])&&!this['getUserSessions'](_0x456876)['size']&&this['allConnectedUsers']['remove'](_0x456876['id']));}['_createUser'](_0x14ac16,_0x5be6fb){const _0x323996=this['_users']['addUser'](_0x14ac16);return _0x5be6fb&&this['_users']['defineMe'](_0x14ac16['id']),_0x323996['orderNumber']=this['_uniqueUsersCount']++,_0x323996;}}class K extends _0x103d19{['_domEmitter']=new(_0xd71770())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xee9df=this['editor'],_0x432cd6=_0xee9df['plugins']['get'](Y);_0xee9df['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x19c9e2,{writer:_0x34ea14})=>function(_0x1ce9ee,_0x106447,_0x4cff88,_0x137df5){const _0x4a1101=_0x1ce9ee['markerName']['split'](':')[0x2],_0x53a32b=_0x4cff88['getUserBySessionId'](_0x4a1101);if(!_0x53a32b||_0x4a1101===_0x4cff88['mySessionId'])return;if(!_0x137df5['model']['schema']['checkChild'](_0x1ce9ee['markerRange']['start'],'$text'))return;const _0x38f23d={'class':'ck-user__marker\x20'+_0x53a32b['color']['getMarkerClass'](),'style':Q(_0x53a32b),'data-name':_0x53a32b['name'],'data-session-id':_0x4a1101},_0x3ee2bf=_0x137df5['model']['markers']['get'](_0x1ce9ee['markerName']),_0x578a94=_0x3ee2bf['getStart'](),_0x5b5b1b=_0x578a94['nodeAfter'],_0x148d18=_0x137df5['model']['schema'];if(_0x5b5b1b&&_0x148d18['isObject'](_0x5b5b1b)&&_0x148d18['isInline'](_0x5b5b1b)&&!_0x137df5['model']['markers']['get']('user:range:'+_0x4a1101)['getRange']()['isCollapsed'])return;const _0xdcb3c3=_0x578a94['parent'];return _0x137df5['model']['schema']['isLimit'](_0xdcb3c3)&&!_0x137df5['model']['hasContent'](_0xdcb3c3)&&(_0x38f23d['contenteditable']=!0x1),function(_0x11fe0b,_0x40a00,_0x14030b){const _0x13e01a=_0x11fe0b['createUIElement']('span',_0x40a00);return _0x11fe0b['setCustomProperty']('userPositionMarker',!0x0,_0x13e01a),_0x13e01a['render']=function(_0x1d0970){const _0x369baf=this['toDomElement'](_0x1d0970),_0x54f5a9=document['createElement']('span');return _0x54f5a9['classList']['add']('ck-user__marker-tooltip'),_0x54f5a9['setAttribute']('contenteditable','false'),_0x54f5a9['setAttribute']('spellcheck','false'),_0x54f5a9['textContent']=_0x14030b['name'],_0x369baf['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x54f5a9['outerHTML']+'⁠',_0x369baf['addEventListener']('mouseenter',()=>{_0x369baf['classList']['add']('ck-user__marker_hovered');}),_0x369baf['addEventListener']('mouseleave',()=>{_0x369baf['classList']['remove']('ck-user__marker_hovered');}),_0x369baf;},_0x13e01a['isSimilar']=function(_0x1413b2){return!(!this['getCustomProperty']('userPositionMarker')||!_0x1413b2['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x1413b2['getAttribute']('data-session-id'));},_0x13e01a;}(_0x106447,_0x38f23d,_0x53a32b);}(_0x19c9e2,_0x34ea14,_0x432cd6,_0xee9df)}),_0xee9df['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x462370=>function(_0x4c6980,_0x67dbf9){const _0x3df424=_0x4c6980['markerName']['split'](':')[0x2];if(_0x3df424===_0x67dbf9['mySessionId'])return null;const _0x58b8f2=_0x67dbf9['getUserBySessionId'](_0x3df424);if(!_0x58b8f2)return{'id':_0x3df424,'classes':[]};return{'id':_0x3df424,'classes':['ck-user__selection',_0x58b8f2['color']['getSelectionClass']()],'attributes':{'style':Q(_0x58b8f2),'data-session-id':_0x3df424},'priority':0x7d0+_0x58b8f2['orderNumber']};}(_0x462370,_0x432cd6)}),function(_0x50bc6b){const _0x34e350=_0x50bc6b['model'],_0x50d4bf=new Map(),_0x583969=_0x50bc6b['plugins']['get'](Y);_0x34e350['markers']['on']('update:user:range',(_0x184c35,_0x2c35df,_0x43036b,_0x3658d5)=>{if(!_0x3658d5&&_0x50d4bf['get'](_0x2c35df['name']))return _0x50d4bf['get'](_0x2c35df['name'])['detach'](),void _0x50d4bf['delete'](_0x2c35df['name']);const _0x526f68=_0x2c35df['name']['split'](':')[0x2];if(_0x526f68===_0x583969['mySessionId'])return;const _0x2b6b40='user:position:'+_0x526f68;_0x34e350['markers']['has'](_0x2b6b40)&&_0x50bc6b['editing']['reconvertMarker'](_0x2b6b40),_0x2c35df['on']('change:range',(_0x18bc6d,_0x4857b0,_0x2dd8f8)=>{if('$graveyard'!=_0x4857b0['root']['rootName']&&'$graveyard'==_0x2c35df['getRange']()['root']['rootName']&&!_0x50d4bf['has'](_0x2c35df['name'])){const _0xf067fb=_0x34e350['schema']['getNearestSelectionRange'](_0x2dd8f8['deletionPosition']);if(_0xf067fb){const _0x56e6c7=_0x4ff929['fromRange'](_0xf067fb);_0x50d4bf['set'](_0x2c35df['name'],_0x56e6c7),_0x56e6c7['on']('change:range',(_0x2aea8a,_0x3c392a,_0x29ac0e)=>{if('$graveyard'==_0x56e6c7['root']['rootName']){const _0x1c44cd=_0x34e350['schema']['getNearestSelectionRange'](_0x29ac0e['deletionPosition']);_0x1c44cd?(_0x56e6c7['start']=_0x1c44cd['start'],_0x56e6c7['end']=_0x1c44cd['end']):(_0x50d4bf['delete'](_0x2c35df['name']),_0x56e6c7['detach']());}});}}});}),_0x34e350['document']['on']('change',()=>{_0x50d4bf['size']>0x0&&_0x34e350['enqueueChange']({'isUndoable':!0x1},_0xd9513=>{for(const [_0x211d40,_0x5c5451]of _0x50d4bf)'$graveyard'==_0x34e350['markers']['get'](_0x211d40)['getRange']()['root']['rootName']&&(J(_0x211d40['split'](':')[0x2],_0x5c5451['toRange'](),_0x34e350,_0xd9513),_0x5c5451['detach']());_0x50d4bf['clear']();});});}(_0xee9df),this['_domEmitter']['listenTo'](_0x3fbed8['document'],'keydown',(_0xd756dc,{key:_0x2f8562})=>{'Escape'===_0x2f8562&&function(_0x55bb01){_0x55bb01['editing']['view']['change'](_0x3b2705=>{for(const _0x3cc2c5 of _0x55bb01['model']['markers']){if(!_0x3cc2c5['name']['startsWith']('user:position'))continue;const _0xc0f372=_0x55bb01['editing']['mapper']['markerNameToElements'](_0x3cc2c5['name']);if(_0xc0f372){for(const _0x2a9b75 of _0xc0f372)_0x3b2705['removeClass']('ck-user__marker_hovered',_0x2a9b75);}}});}(_0xee9df);},{'useCapture':!0x0});}['afterInit'](){const _0x3dc7c4=this['editor'],_0x496dcb=_0x3dc7c4['commands']['get']('undo');_0x496dcb&&_0x3dc7c4['model']['on']('applyOperation',(_0x42831d,_0x137418)=>{const _0x4cc2e9=_0x137418[0x0];if(!_0x4cc2e9['isDocumentOperation'])return;if('marker'!=_0x4cc2e9['type']||!_0x4cc2e9['name']['startsWith']('user:'))return;const _0x2d9fc7=_0x4cc2e9['batch'];_0x496dcb['_createdBatches']['has'](_0x2d9fc7)&&(_0x4cc2e9['newRange']=_0x4cc2e9['oldRange']?_0x3dc7c4['model']['createRange'](_0x4cc2e9['oldRange']['start'],_0x4cc2e9['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x1aaaa1=this['editor'],_0x284512=_0x1aaaa1['model']['document'],_0x330764=_0x1aaaa1['plugins']['get'](Y);_0x1aaaa1['model']['enqueueChange']({'isUndoable':!0x1},_0x57ac4d=>{const _0x504140='user:range:'+_0x330764['mySessionId'],_0x108f79='user:position:'+_0x330764['mySessionId'],_0x389b3b=_0x1aaaa1['model']['markers']['has'](_0x504140);_0x1aaaa1['editing']['view']['hasDomSelection']?J(_0x330764['mySessionId'],_0x284512['selection']['getFirstRange'](),_0x1aaaa1['model'],_0x57ac4d):_0x389b3b&&(_0x57ac4d['removeMarker'](_0x504140),_0x57ac4d['removeMarker'](_0x108f79));});}}function J(_0x1111b2,_0xdf3a71,_0x34e0d6,_0x332c94){const _0x584ef2='user:range:'+_0x1111b2,_0x3699d6='user:position:'+_0x1111b2,_0x59c60f=_0xdf3a71['getContainedElement']();let _0x370965=_0xdf3a71['start'];if(_0x59c60f&&_0x59c60f['is']('element','tableCell')){const _0x2cdfe5=function(_0x49587d,_0x316a0f){for(const _0x521a8c of _0x49587d['getPositions']())if(_0x316a0f['schema']['checkChild'](_0x521a8c,'$text'))return _0x521a8c;}(_0xdf3a71,_0x34e0d6);_0x2cdfe5&&(_0x370965=_0x2cdfe5,_0xdf3a71=_0x332c94['createRange'](_0x370965));}const _0x48db49=_0x332c94['createRange'](_0x370965);_0x34e0d6['markers']['has'](_0x584ef2)?(_0x332c94['updateMarker'](_0x584ef2,{'range':_0xdf3a71}),_0x332c94['updateMarker'](_0x3699d6,{'range':_0x48db49})):(_0x332c94['addMarker'](_0x584ef2,{'range':_0xdf3a71,'usingOperation':!0x0}),_0x332c94['addMarker'](_0x3699d6,{'range':_0x48db49,'usingOperation':!0x0}));}function Q(_0x321a15){return'--ck-user-color:'+_0x321a15['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x321a15['color']['getColorAlphaVariable']()+';';}function X(_0x596ad2,_0x212cde,_0x554b0c){const _0x5e6171=_0x596ad2['t'],t=_0x596ad2['t'];switch(_0x212cde){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 _0x5e6171({'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'},_0x554b0c);default:return'';}}let Z=0x1;class tt extends _0x103d19{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x5c662e)());['_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,_0x3c2905,_0x15efd7,_0x486fab];}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 _0x8860e7=this['serverHistory']['getOperations']();for(let _0x267c2b=_0x8860e7['length']-0x1;_0x267c2b>=0x0;_0x267c2b--){const _0x389bd7=_0x8860e7[_0x267c2b];if(!this['_disconnectionOperations']['has'](_0x389bd7))return _0x389bd7['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x3770ac){if(super(_0x3770ac),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x191eb3(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x36cefd('collaboration-missing-channelid',this);const _0x332cf9=_0x3770ac['config']['get']('cloudServices.bundleVersion')||_0x2acad4;this['_service']=new tt['CollaborativeEditingService'](_0x332cf9,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x217bc1(),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 _0x3fe6c2=this['editor'],_0xfec6cc=_0x3fe6c2['plugins']['get'](_0x15efd7),_0x3850b2=_0x3fe6c2['plugins']['get'](z);this['listenTo'](_0xfec6cc,'getOperationAuthor',(_0x5f52e5,_0x4c6df3)=>{const _0x309d73=_0x4c6df3[0x0];_0x309d73['_authorId']&&(_0x5f52e5['return']=_0xfec6cc['getUser'](_0x309d73['_authorId']),_0x5f52e5['stop']()),null===_0x309d73['_authorId']&&(_0x5f52e5['return']=null,_0x5f52e5['stop']());},{'priority':'high'}),this['listenTo'](_0x3fe6c2['model']['document']['selection'],'change:range',(_0x52f46d,_0x2fedbb)=>{_0x2fedbb['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x3fe6c2['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x3fe6c2['model']['on']('applyOperation',(_0x5a9a42,_0x101a37)=>{const _0x585466=_0x101a37[0x0];_0x585466['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x585466),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x3850b2,'state',this,'_hasSynchronizationProblem',(_0x98040d,_0x1a5ce4)=>'connected'===_0x98040d&&!_0x1a5ce4),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x3fe6c2['disableReadOnlyMode']('rtc-offline'):_0x3fe6c2['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x3fe6c2['disableReadOnlyMode']('rtc-offline'):_0x3fe6c2['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x35e375=this['editor']['plugins']['get'](Y),_0x3dc769=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x35e375['unregister'](this['_channelId']);const _0x11db62=await this['_service']['reconnect'](_0x3dc769['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x11db62)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18e108=await this['_service']['getConnectedSessions']();_0x35e375['register'](this['_channelId'],_0x18e108),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x301f42){if(function(_0x4176f2){return'404'===_0x4176f2['code'];}(_0x301f42)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x14fcb7){return'409'===_0x14fcb7['code'];}(_0x301f42)){const _0x530dfe=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'](_0x530dfe);}else{if(!(_0x301f42 instanceof et))throw _0x301f42;this['_handleReconnectionError']();}}}}['destroy'](){const _0xece0b9=this['editor']['plugins']['get'](z),_0x3a2107=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x3a2107['channelSessions']['has'](this['_channelId'])&&_0x3a2107['unregister'](this['_channelId']),_0xece0b9['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x229d65){if(this['sessionId']!==_0x229d65['sessionId']&&this['_lastSyncedOperationId']!==_0x229d65['lastOperationId'])throw new et();return this['sessionId']=_0x229d65['sessionId'],this['_handleServerResponse']([],{..._0x229d65,'wereChangesApplied':!0x1,'data':_0x229d65['data']},'reconnect');}async['_connectService'](_0x300a9a,_0x328114=!0x1){const {connection:_0x1292b2}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x1292b2,this['_channelId'])['then'](_0x1641df=>this['_initSessionsHandling'](_0x1641df))['catch'](_0x14a4fd=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x14a4fd);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x2c0561,_0x3acc35)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x3acc35);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x5bce10=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x300a9a);this['_isPendingUpdate']=!0x0;const _0xccef2c=await this['_service']['connect'](_0x1292b2,this['_compressOperations'](_0x300a9a),_0x5bce10);if(this['sessionId']=_0xccef2c['sessionId'],_0x328114){if(!_0xccef2c['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0xccef2c['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x300a9a,_0xccef2c,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0xccef2c,_0x300a9a);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x116f75=this['editor']['plugins']['get'](Y),_0x9a1cd4=this['editor']['plugins']['get'](K),_0x30ad7a=_0x116f75['channelSessions']['get'](this['_channelId']);_0x30ad7a&&_0x30ad7a['length']>0x1?_0x9a1cd4['createUserMarkerOperations']():this['listenTo'](_0x116f75,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x116f75['channelSessions']['get'](this['_channelId'])['length']&&_0x9a1cd4['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x3fe13d,_0x1fb7b5,_0x48b3d1,_0x5a3c29){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x1fb7b5){const _0x48721c=this['_decompressOperations'](_0x48b3d1,_0x5a3c29);await this['_fetchMissingUsers'](_0x48721c),this['_handleExternalOperations'](_0x48721c,_0x1fb7b5,_0x48b3d1['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3b1067}=this['editor'];let _0x2d7e2a;try{_0x2d7e2a=await this['_service']['getDocumentDetails']();}catch{const _0x241477=X(_0x3b1067,'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'](_0x241477);}const _0x581ba7=_0x2d7e2a['currentDocumentSession']||_0x2d7e2a['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x581ba7['lastOperationId']){const _0x27579c=X(_0x3b1067,'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'](_0x27579c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x58330a){const _0x1f414a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x1f414a,'sessionAdd:'+this['_channelId'],(_0x4bf459,{session:_0x14ac33})=>{if(_0x14ac33['id']===_0x1f414a['mySessionId']){_0x4bf459['off']();const _0x593c78=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x4f8d67=_0x14ac33['permissions'];_0x593c78&&_0x593c78['isEnabled']&&(_0x4f8d67=_0x4f8d67['filter'](_0x326d54=>'document:write'!==_0x326d54)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x4f8d67,this['_channelId']);}}),_0x1f414a['register'](this['_channelId'],_0x58330a);}['_initThrowingOnDataSet'](){const _0x5f2dbe=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x33fab0)=>{if(!_0x33fab0[_0x33fab0['length']-0x1]['suppressErrorInCollaboration'])throw new _0x36cefd('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x5f2dbe['apply'](this['editor']['data'],_0x33fab0);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5c8079,[_0x262c94])=>{if(this['_document']['version'])throw new _0x36cefd('realtimecollaborationclient-init-document-already-initialized',this);_0x5c8079['stop'](),this['_setPendingAction']();const _0x4abc0a=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x2f2692])=>!_0x2f2692['lazyLoad'])['map'](([_0x14e5d6,_0x403a69])=>[_0x14e5d6,_0x403a69['modelAttributes']||{}])),_0x58cb40=this['_getOperationsFromInitData'](_0x262c94,_0x4abc0a);0x0==_0x58cb40['length']&&_0x58cb40['push'](new _0x2d08e1(0x0)),_0x5c8079['return']=this['_connectService'](_0x58cb40)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x3638a8=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x3638a8))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xbaafc6,[_0x2cd583,_0x58258d])=>{_0xbaafc6['stop']();const _0x3f3828=this['editor']['model']['document']['getRoot'](_0x2cd583);if(!this['_knownRootNames']['has'](_0x2cd583)){const _0x3af57e=_0x58258d&&_0x58258d['data']?_0x58258d['data']:'',_0x33a6b2=_0x58258d&&_0x58258d['attributes']?_0x58258d['attributes']:{};await this['_loadRoot'](_0x2cd583,_0x3af57e,_0x33a6b2);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3f3828['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3f3828);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40cb6b){const _0x33b954=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x5612f6}=this['editor']['plugins']['get'](z),_0x4d4fc5=new Set();for(const _0x46d8bf of _0x40cb6b){const _0x2350c5=_0x46d8bf['_authorId'];_0x2350c5&&!_0x33b954['getUser'](_0x2350c5)&&_0x4d4fc5['add'](_0x2350c5);}if(0x0===_0x4d4fc5['size'])return;const _0x366194=await _0xd44d9a['getMany'](_0x5612f6,Array['from'](_0x4d4fc5));for(const _0x28f316 of _0x366194)_0x33b954['getUser'](_0x28f316['id'])||_0x33b954['addUser'](_0x28f316);}['_getOperationsFromInitData'](_0x58f30c,_0x2a00e0={}){const _0x2d93c3=this['editor']['model'],_0x3c40dc=[];let _0x1128c8=0x0;const _0x53d2fa='string'==typeof _0x58f30c?{'main':_0x58f30c}:_0x58f30c;for(const _0x324734 of Object['keys'](_0x53d2fa)){if(!this['_document']['roots']['has'](_0x324734))throw new _0x36cefd('realtimecollaborationclient-init-non-existent-root',this);const _0x2c2cd2=this['editor']['data']['parse'](_0x53d2fa[_0x324734]),_0x554178=this['_document']['getRoot'](_0x324734),_0x2dbff0=new _0x20f193(_0x2d93c3['createPositionAt'](_0x554178,0x0),_0x2c2cd2,_0x1128c8++);_0x3c40dc['push'](_0x2dbff0);for(const [_0x4e0799,_0x1c87f1]of _0x2c2cd2['markers']){const _0x5e0878=_0x2d93c3['createRange'](_0x2d93c3['createPositionFromPath'](_0x554178,_0x1c87f1['start']['path']['slice']()),_0x2d93c3['createPositionFromPath'](_0x554178,_0x1c87f1['end']['path']['slice']())),_0x18142f=new _0x3dbdcf(_0x4e0799,null,_0x5e0878,_0x2d93c3['markers'],!0x0,_0x1128c8++);_0x3c40dc['push'](_0x18142f);}}if(_0x2a00e0)for(const [_0x3775b2,_0x119e4d]of Object['entries'](_0x2a00e0)){const _0x363f56=_0x2d93c3['document']['getRoot'](_0x3775b2);if(!_0x363f56)throw new _0x36cefd('multi-root-editor-root-attributes-no-root',null);for(const [_0x2195b8,_0x44cbed]of Object['entries'](_0x119e4d))if(null!==_0x44cbed){const _0x2090c2=new _0x3a6612(_0x363f56,_0x2195b8,null,_0x44cbed,_0x1128c8++);_0x3c40dc['push'](_0x2090c2);}}return _0x3c40dc;}async['_loadRoot'](_0x4cca50,_0x327fa8,_0x288ebe){this['_getOperationsFromInitData']({[_0x4cca50]:_0x327fa8},{[_0x4cca50]:_0x288ebe})['forEach']((_0x447aef,_0x563bfe)=>{_0x447aef['baseVersion']=this['_document']['version']+_0x563bfe,_0x447aef['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x447aef);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x511680,_0x4ea8c7){let _0x23c20d;this['_offset']=_0x511680['offset'];const _0xc604e5=_0x511680['wereChangesApplied']&&!_0x511680['initData'],_0x4a448b=_0xc604e5?0x0:_0x511680['data']['baseVersion'];if(_0x4ea8c7['forEach'](_0x209381=>{_0x209381['_isInit']=!0x0,_0x209381['createdAt']=_0x511680['sessionCreatedAt'],_0x209381['_authorId']=null;}),_0xc604e5)_0x23c20d=_0x4ea8c7,this['_applyOperationsSet'](_0x23c20d,_0xc604e5);else{if(_0x511680['initData']){const _0x1c7f63=this['_getOperationsFromInitData'](_0x511680['initData']);this['_document']['history']['version']=-_0x1c7f63['length'],_0x1c7f63['forEach'](_0x3d0efc=>{_0x3d0efc['baseVersion']-=_0x1c7f63['length'],_0x3d0efc['createdAt']=_0x511680['sessionCreatedAt'],_0x3d0efc['_isInit']=!0x0,_0x3d0efc['_authorId']=null;}),this['_applyOperationsSet'](_0x1c7f63,!0x0),this['serverHistory']['version']=-_0x1c7f63['length']+this['_offset'],this['_updateServerHistory'](_0x1c7f63);}this['_document']['history']['version']=_0x4a448b,_0x23c20d=this['_decompressOperations'](_0x511680['data'],_0x511680['metadata']),await this['_fetchMissingUsers'](_0x23c20d),this['_applyOperationsSet'](_0x23c20d,_0xc604e5);}_0x511680['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x23c20d,_0x511680['lastOperationId']),this['_lastSyncedOperationId']=_0x511680['lastOperationId']),this['serverHistory']['version']=_0x4a448b+this['_offset'],this['_updateServerHistory'](_0x23c20d),_0x4ea8c7['filter'](_0x34643c=>{const _0x3d0718=this['_getAffectedRoot'](_0x34643c);return _0x3d0718&&!this['_knownRootNames']['has'](_0x3d0718);})['forEach']((_0x4de688,_0x53c3f4)=>{_0x4de688['baseVersion']=this['_document']['version']+_0x53c3f4,this['_saveOperationInBuffer'](_0x4de688);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x15379e,_0xd4b288){const _0x4e6bd5=_0xd4b288&&_0xd4b288['message'];if(_0x4e6bd5&&_0x4e6bd5['startsWith']('realtimecollaborationclient'))throw _0xd4b288;const _0x4b3534=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x4b3534['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x36cefd(_0x15379e,this['editor'],_0x4e6bd5?{'originalError':_0x4e6bd5}:void 0x0);}['_saveOperationInBuffer'](_0x46420b){this['_knownOperations']['has'](_0x46420b)||(this['_knownOperations']['add'](_0x46420b),this['_bufferedOperations']['push'](_0x46420b),this['_pendingAction']||'marker'==_0x46420b['type']&&!_0x46420b['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x62c55e=!0x1){!_0x62c55e&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x90aea4=>{_0x90aea4&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x11db33=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0xddc47e){return _0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0xddc47e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x11db33)||this['_crash'](_0x11db33['message'],_0x11db33);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x32d212=>{this['on']('change:_isPendingUpdate',()=>{_0x32d212();});});}async['_sendBufferedOperations'](){const _0x2e9a2f=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x2e9a2f['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1cad19=[...this['_bufferedOperations']];for(const _0x2ad707 of _0x1cad19)_0x2ad707['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x2ad707);const _0x586c92=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1cad19),_0x3aa816=Z++,_0x1263ec=this['_compressOperations'](_0x1cad19),_0x4e17e9=await this['_service']['sendOperations'](_0x1263ec,_0x1263ec['baseVersion'],_0x586c92);try{return await this['_handleServerResponse'](_0x1cad19,_0x4e17e9,_0x3aa816);}catch(_0x5b298e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x5b298e);}}async['_handleServerResponse'](_0x1fd293,_0x29a601,_0x4d2cb6){if('error'in _0x29a601)throw _0x29a601['error'];let _0x565bf1=!0x1;if(_0x29a601['wereChangesApplied']){_0x29a601['lastOperationId']&&(this['_lastSyncedOperationId']=_0x29a601['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x403699=>!_0x1fd293['includes'](_0x403699));for(const _0x353781 of _0x1fd293)_0x353781['createdAt']='lastOperationAcceptedAt'in _0x29a601&&_0x29a601['lastOperationAcceptedAt']||void 0x0;st(_0x1fd293,_0x29a601['version']-_0x1fd293['length']),this['_updateServerHistory'](_0x1fd293);const _0x2ad91a=_0x1fd293['filter'](_0x52a899=>{if(!_0x52a899['_isInit'])return!0x1;const _0x58f7c8=this['_getAffectedRoot'](_0x52a899);return _0x58f7c8&&!this['_knownRootNames']['has'](_0x58f7c8);});st(_0x2ad91a,this['_document']['version']),this['_applyOperationsSet'](_0x2ad91a),_0x565bf1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x4663c1=this['_decompressOperations'](_0x29a601['data'],_0x29a601['metadata'])['filter'](_0x416d03=>_0x416d03['baseVersion']>=this['_lastServerVersion']);_0x4663c1['forEach'](_0x44b7e4=>this['_addKnownRoot'](_0x44b7e4)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x177ee9=>!_0x177ee9['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x177ee9))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x4663c1),_0x565bf1=this['_handleExternalOperations'](_0x4663c1,_0x29a601['version'],_0x29a601['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x565bf1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x3521d0,_0x6da824,_0x15fee3){try{const _0x2d30c3={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x5633f3,operationsB:_0x412cb9,originalOperations:_0x335680}=_0x35557e(_0x3521d0,this['_bufferedOperations'],_0x2d30c3);st(_0x5633f3,this['_document']['version']),st(_0x412cb9,_0x6da824);for(const _0x295c87 of _0x5633f3){const _0xd0837b=_0x335680['get'](_0x295c87);_0x295c87['_authorId']=_0xd0837b?_0xd0837b['_authorId']:null;}_0x15fee3&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3521d0,_0x15fee3),this['_lastSyncedOperationId']=_0x15fee3),this['_bufferedOperations']=[..._0x412cb9],this['_applyOperationsSet'](_0x5633f3),this['_updateServerHistory'](_0x3521d0);}catch(_0x211923){return console['error'](_0x211923),!0x1;}return!0x0;}['_applyOperationsSet'](_0x562715,_0x4b1633=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x36deb3=>{for(const _0x3584cf of _0x562715)this['_knownOperations']['add'](_0x3584cf),this['_addKnownRoot'](_0x3584cf),_0x36deb3['batch']['addOperation'](_0x3584cf),this['editor']['model']['applyOperation'](_0x3584cf);});}['_addKnownRoot'](_0x354b4f){const _0x36d641=this['_getAffectedRoot'](_0x354b4f);_0x36d641&&this['_knownRootNames']['add'](_0x36d641);}['_getAffectedRoot'](_0x1a7224){let _0x772634,_0x2ec740;switch(_0x1a7224['type']){case'insert':_0x772634=_0x1a7224['position']['root'];break;case'marker':if(_0x2ec740=_0x1a7224['newRange'],!_0x2ec740)return null;_0x772634=_0x2ec740['root'];break;case'addRootAttribute':_0x772634=_0x1a7224['root'];break;case'addRoot':_0x772634=_0x1a7224['affectedSelectable'];break;case'move':_0x772634=_0x1a7224['targetPosition']['root'];break;default:return null;}return _0x772634['rootName'];}['_updateServerHistory'](_0x3d59f1){_0x3d59f1['forEach'](_0x36f090=>{const _0x5469e9=_0x36f090['clone']();_0x5469e9['_authorId']=_0x36f090['_authorId'],_0x5469e9['_isInit']=!!_0x36f090['_isInit'],_0x5469e9['createdAt']=_0x36f090['createdAt'],_0x5469e9['baseVersion']+=this['_offset'],_0x36f090['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x5469e9),this['serverHistory']['addOperation'](_0x5469e9);});}['_handleReconnectionError'](_0x323238){const _0xe85edc=this['editor']['plugins']['get']('Notification'),_0x2d8a46=this['editor']['locale'];_0x323238||(_0x323238=X(_0x2d8a46,'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.')),_0xe85edc['showWarning'](_0x323238,{'title':X(_0x2d8a46,'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'](_0x3c2905)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x3c2905)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x26e956){const _0x45f8d5=_0x26e956['map'](_0x5c1c4c=>_0x5c1c4c['toJSON']());return this['_compressor']['compress'](_0x45f8d5);}['_decompressOperations'](_0x3dc1b2,_0x5a820f){return this['_compressor']['decompress'](_0x3dc1b2)['map']((_0x429bb1,_0x2f3e01)=>{const _0x2a49bf='init'==_0x5a820f[_0x2f3e01]['type'];if('InsertOperation'==_0x429bb1['__className']){const _0x9c5c4b=_0x429bb1['position']['root'];!this['_document']['getRoot'](_0x9c5c4b)&&(this['_document']['createRoot']('$root',_0x9c5c4b)['_isAttached']=!0x1);}const _0x2a8303=_0x20d617['fromJSON'](_0x429bb1,this['_document']);return _0x2a8303['wasUndone']=_0x429bb1['wasUndone'],_0x2a8303['_isInit']=_0x2a49bf,_0x2a8303['_authorId']=_0x2a49bf?null:_0x5a820f[_0x2f3e01]['userId'],_0x2a8303['_isDisconnection']='cs:removeUser'===_0x5a820f[_0x2f3e01]['type'],_0x2a8303['createdAt']=_0x5a820f[_0x2f3e01]['createdAt'],_0x2a8303;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x198ced=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x198ced&&_0x198ced['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x13edbb,_0x5428ea){for(const _0x1a8323 of _0x13edbb)_0x1a8323['baseVersion']=_0x5428ea++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x3cd596){this['_ignoredOperations']=_0x3cd596,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x987808){let _0x709730=_0x987808['length'];for(;_0x709730--;){const _0x6b4330=_0x987808[_0x709730];if(!this['_ignoredOperations']['has'](_0x6b4330)){if(!this['_operationToId']['has'](_0x6b4330)){const _0x6a2eb5=_0x53a8dc()['slice'](0x1,0x12);this['_operationToId']['set'](_0x6b4330,_0x6a2eb5);}return this['_operationToId']['get'](_0x6b4330);}}}['setIdForTheLastOperation'](_0xd3101c,_0xbd0b3){if(!_0xbd0b3)return;let _0x55308e=_0xd3101c['length'];for(;_0x55308e--;){const _0x15c836=_0xd3101c[_0x55308e];this['_ignoredOperations']['has'](_0x15c836)||this['_operationToId']['set'](_0x15c836,_0xbd0b3);}}}class nt extends _0x103d19{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xd5d5b2{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x31fab9)());['_services'];static get['requires'](){return[z,_0x44cbfd,Y,_0x15efd7];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x327dd5){super(_0x327dd5),this['_services']=new Map();}async['init'](){const _0x4bf920=this['context'],_0x584344=_0x4bf920['plugins']['get'](_0x44cbfd);if(_0x4bf920['plugins']['get'](z)['addToReconnectionStack'](this),_0x584344['adapter']={'addCommentThread':async({channelId:_0xcbb7a7,threadId:_0xef0bdb,comments:_0x587ef6,resolvedAt:_0x4e7767,resolvedBy:_0x1621ae,context:_0xb38e47,attributes:_0x445bd9})=>{const _0x35246a=await this['_getService'](_0xcbb7a7)['addCommentThread']({'commentThreadId':_0xef0bdb,'comments':_0x587ef6['map'](_0x461599=>function(_0x22d036,_0x5a9ec2,_0x212836){return{'commentThreadId':_0x212836,'commentId':_0x22d036['commentId'],'userId':_0x22d036['authorId'],'content':_0x22d036['content'],'documentId':_0x5a9ec2,'createdAt':_0x22d036['createdAt'],'attributes':_0x22d036['attributes']||{}};}(_0x461599,_0xcbb7a7,_0xef0bdb)),'resolvedAt':_0x4e7767,'resolvedBy':_0x1621ae,'context':_0xb38e47,'attributes':_0x445bd9})['catch'](ct);return{'threadId':_0x35246a['commentThreadId'],'comments':_0x35246a['comments']};},'getCommentThread':async({channelId:_0x26b7ef,threadId:_0x554162})=>{const _0xad3f82=await this['_getService'](_0x26b7ef)['getCommentThread'](_0x554162)['catch'](rt)['catch'](ct);return _0xad3f82?_0xad3f82['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0xad3f82]),{'threadId':_0xad3f82['commentThreadId'],'comments':_0xad3f82['comments']['map'](at),'context':_0xad3f82['context'],'resolvedAt':_0xad3f82['resolvedAt'],'resolvedBy':_0xad3f82['resolvedBy'],'attributes':_0xad3f82['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x4c22bf,threadId:_0x475ad2,context:_0x301855,unlinkedAt:_0x2d5643,attributes:_0x1423e8})=>this['_getService'](_0x4c22bf)['updateCommentThread']({'commentThreadId':_0x475ad2,'context':_0x301855,'attributes':_0x1423e8,'unlinkedAt':_0x2d5643})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x7c696d,threadId:_0x2d3aff})=>{const _0x5006e2=await this['_getService'](_0x7c696d)['resolveCommentThread'](_0x2d3aff)['catch'](rt)['catch'](ct);return{'threadId':_0x5006e2['commentThreadId'],'resolvedAt':_0x5006e2['resolvedAt'],'resolvedBy':_0x5006e2['resolvedBy']};},'reopenCommentThread':async({channelId:_0x182044,threadId:_0x38163a})=>this['_getService'](_0x182044)['reopenCommentThread'](_0x38163a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x2cc77b,threadId:_0x336034})=>this['_getService'](_0x2cc77b)['removeCommentThread'](_0x336034)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x2cecce,threadId:_0x565d4a,commentId:_0x1b41e4,content:_0xf8d78,attributes:_0xbbe02b})=>this['_getService'](_0x2cecce)['addComment'](_0x565d4a,_0x1b41e4,_0xf8d78,_0xbbe02b)['catch'](ct),'updateComment':({channelId:_0x58bd1c,threadId:_0x5a3020,commentId:_0x101255,content:_0x3f1eeb,attributes:_0x5d409c})=>this['_getService'](_0x58bd1c)['updateComment'](_0x5a3020,_0x101255,_0x3f1eeb,_0x5d409c)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x299b16,threadId:_0x5695b7,commentId:_0x1c1384})=>this['_getService'](_0x299b16)['removeComment'](_0x5695b7,_0x1c1384)['catch'](rt)['catch'](ct)},_0x4bf920 instanceof _0x38e411){const _0x5baf11=_0x4bf920['config']['get']('collaboration.channelId'),_0x29460d=_0x4bf920['plugins']['get'](Y);await this['_setUpService'](_0x5baf11);const _0x531123=await this['_services']['get'](_0x5baf11)['getConnectedSessions']();this['listenTo'](_0x29460d,'sessionAdd:'+_0x5baf11,(_0x4b9971,{session:_0x121448})=>{_0x121448['id']===_0x29460d['mySessionId']&&(_0x4b9971['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x121448['permissions'],_0x5baf11));}),_0x29460d['register'](_0x5baf11,_0x531123);}}async['_setUpService'](_0x1b0f01){if(this['_services']['has'](_0x1b0f01))throw new _0x36cefd('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x1b0f01});const _0x310927=this['context']['plugins']['get'](_0x44cbfd),_0x575cf6=new ot['CommentsService'](_0x1b0f01);this['_services']['set'](_0x1b0f01,_0x575cf6),this['listenTo'](_0x575cf6,'commentThreadAdded',(_0x597976,_0x551f3a)=>{const {commentThreadId:_0x347a1f,documentId:_0x39cd2f,context:_0x3523e5,attributes:_0x5b0a77,resolvedAt:_0x25d5b9,resolvedBy:_0xac260e,comments:_0x2e5a5e}=_0x551f3a;_0x310927['getCommentThread'](_0x347a1f)||_0x310927['addCommentThread']({'threadId':_0x347a1f,'channelId':_0x39cd2f,'comments':_0x2e5a5e?_0x2e5a5e['map'](at):[],'context':_0x3523e5,'attributes':_0x5b0a77,'resolvedAt':_0x25d5b9,'resolvedBy':_0xac260e,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadUpdated',(_0x20822f,{commentThreadId:_0xd32c22,documentId:_0x3f1c6c,context:_0xb6c004,unlinkedAt:_0xaa2a5a,attributes:_0x163ba7})=>{_0x310927['getCommentThread'](_0xd32c22)&&_0x310927['updateCommentThread']({'threadId':_0xd32c22,'channelId':_0x3f1c6c,'context':_0xb6c004,'unlinkedAt':_0xaa2a5a,'attributes':_0x163ba7,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadResolved',(_0x157ec,{commentThreadId:_0x205a64,resolvedBy:_0x1d4f53,resolvedAt:_0x235403})=>{const _0x1e013b=_0x310927['getCommentThread'](_0x205a64);_0x1e013b&&_0x1e013b['resolve']({'resolvedBy':_0x1d4f53,'resolvedAt':_0x235403,'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadReopened',(_0x4be2e2,{commentThreadId:_0x3c8b01})=>{const _0x4b9c24=_0x310927['getCommentThread'](_0x3c8b01);_0x4b9c24&&_0x4b9c24['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentThreadRemoved',(_0x1f0cc5,{commentThreadId:_0x4bb400})=>{const _0x58d12c=_0x310927['getCommentThread'](_0x4bb400);_0x58d12c&&_0x58d12c['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentAdded',(_0x1c8442,_0xfbef26)=>{const _0xb073ca=_0xfbef26['commentThreadId'],_0x2f8a0a=_0x310927['getCommentThread'](_0xb073ca);_0x2f8a0a&&_0x2f8a0a['addComment']({...at(_0xfbef26),'isFromAdapter':!0x0});}),this['listenTo'](_0x575cf6,'commentUpdated',(_0x24e8f3,{commentThreadId:_0x528c52,commentId:_0x345c32,content:_0xa54d82,attributes:_0x16ff53})=>{const _0x4fece7=_0x310927['getCommentThread'](_0x528c52);if(_0x4fece7){const _0x53d75d=_0x4fece7['getComment'](_0x345c32);_0x53d75d&&_0x53d75d['update']({'content':_0xa54d82,'attributes':_0x16ff53,'isFromAdapter':!0x0});}}),this['listenTo'](_0x575cf6,'commentRemoved',(_0x41d2d9,{commentThreadId:_0x811123,commentId:_0x24ed9b})=>{const _0x471fa1=_0x310927['getCommentThread'](_0x811123);if(_0x471fa1){const _0x569dbb=_0x471fa1['getComment'](_0x24ed9b);_0x569dbb&&_0x569dbb['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x1b0f01);}['destroy'](){if(this['context']instanceof _0x38e411){const _0x516d39=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x516d39);}}['_terminateService'](_0x4e5ea4){if(!this['_services']['has'](_0x4e5ea4))throw new _0x36cefd('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x4e5ea4});this['_getService'](_0x4e5ea4)['disconnect'](),this['_services']['delete'](_0x4e5ea4);}async['reconnect'](){for(const _0x103a70 of this['_services']['keys']())await this['_connectService'](_0x103a70);if(this['context']instanceof _0x38e411){const _0x280770=this['context']['config']['get']('collaboration.channelId'),_0x37a5af=this['context']['plugins']['get'](Y);_0x37a5af['unregister'](_0x280770);const _0x58e9db=await this['_services']['get'](_0x280770)['getConnectedSessions']();_0x37a5af['register'](_0x280770,_0x58e9db);}}async['_connectService'](_0x48b8ed){const {connection:_0x21ed4d}=this['context']['plugins']['get'](z),_0x306a2d=this['context']['plugins']['get'](_0x44cbfd),_0x39c8be=this['_services']['get'](_0x48b8ed),_0x2446c4=await _0x39c8be['connect'](_0x21ed4d);await this['_fetchMissingUsersForThreads'](_0x2446c4);const _0x3346c1=new Set(Array['from'](_0x306a2d['getCommentThreads']({'channelId':_0x48b8ed}),_0xe044a6=>_0xe044a6['id']));for(const _0x3569d9 of _0x2446c4)_0x3569d9['deletedAt']||_0x3346c1['delete'](_0x3569d9['commentThreadId']);for(const _0x34888a of _0x3346c1)_0x306a2d['getCommentThread'](_0x34888a)['remove']({'isFromAdapter':!0x0});for(const _0x3f7bb2 of _0x2446c4){let _0x553a9f=_0x306a2d['getCommentThread'](_0x3f7bb2['commentThreadId']);const {commentThreadId:_0x38fe2e,context:_0x13e75c,attributes:_0x2857fd,resolvedBy:_0x4799f1,resolvedAt:_0x254f5e,unlinkedAt:_0x5db346,deletedAt:_0x4e16cc}=_0x3f7bb2;if(_0x4e16cc)continue;_0x553a9f||(_0x553a9f=_0x306a2d['addCommentThread']({'channelId':_0x48b8ed,'threadId':_0x38fe2e,'context':_0x13e75c,'attributes':_0x2857fd||{},'resolvedBy':_0x4799f1,'resolvedAt':_0x254f5e,'unlinkedAt':_0x5db346,'isFromAdapter':!0x0}));const _0x425064=new Set(Array['from'](_0x553a9f['comments'],_0x49cce8=>_0x49cce8['id']));for(const _0x199143 of _0x3f7bb2['comments'])_0x425064['delete'](_0x199143['commentId']);for(const _0x31d447 of _0x425064)_0x553a9f['getComment'](_0x31d447)['remove']({'isFromAdapter':!0x0});for(const _0x4f30d4 of _0x3f7bb2['comments']){const _0x1c58b7=_0x553a9f['getComment'](_0x4f30d4['commentId']);_0x1c58b7?_0x1c58b7['content']!==_0x4f30d4['content']&&_0x1c58b7['update']({'content':_0x4f30d4['content'],'isFromAdapter':!0x0}):_0x553a9f['addComment'](Object['assign'](at(_0x4f30d4),{'isFromAdapter':!0x0}));}}}['_getService'](_0x28b259){if(!this['_services']['has'](_0x28b259))throw new _0x36cefd('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x28b259});return this['_services']['get'](_0x28b259);}async['_fetchMissingUsersForThreads'](_0x3b7b93){const _0x3ed4fb=this['context']['plugins']['get'](_0x15efd7),{connection:_0x837d36}=this['context']['plugins']['get'](z),_0x5a7584=new Set();for(const {resolvedBy:_0x586747,comments:_0x1ee628}of _0x3b7b93){_0x586747&&!_0x3ed4fb['getUser'](_0x586747)&&_0x5a7584['add'](_0x586747);for(const {userId:_0x1177ae}of _0x1ee628)_0x3ed4fb['getUser'](_0x1177ae)||_0x5a7584['add'](_0x1177ae);}if(0x0===_0x5a7584['size'])return;const _0x413b70=await _0xd44d9a['getMany'](_0x837d36,Array['from'](_0x5a7584));for(const _0x55523a of _0x413b70)_0x3ed4fb['getUser'](_0x55523a['id'])||_0x3ed4fb['addUser'](_0x55523a);}}async function rt(_0x44174b){if('404'!==_0x44174b['code'])throw _0x44174b;}function ct(_0x530c19){if((_0x4454e4=_0x530c19)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4454e4['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4454e4['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4454e4;throw _0x530c19;}function at(_0x29260a){return{'threadId':_0x29260a['commentThreadId'],'commentId':_0x29260a['commentId'],'content':_0x29260a['content'],'createdAt':_0x29260a['createdAt'],'authorId':_0x29260a['userId'],'attributes':_0x29260a['attributes']||{}};}class ht extends _0x103d19{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x22d399)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x4a88e5,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ad5a9){super(_0x3ad5a9);const _0x2560d6=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x2560d6);}['init'](){const _0x2c4a06=this['editor']['plugins']['get'](z),_0x558dbe=this['editor']['plugins']['get'](_0x4a88e5);return _0x558dbe['adapter']={'getSuggestion':async _0x329f03=>{await this['_waitForServiceReady']();const _0x36cb0f=await this['_trackChangesService']['get'](_0x329f03)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x36cb0f]),_0x36cb0f;},'addSuggestion':async({id:_0x24431d,type:_0x4be790,data:_0x528f3a,originalSuggestionId:_0x1725db,attributes:_0x4e56a5})=>{await this['_waitForServiceReady']();const _0x537e2b={'id':_0x24431d,'type':_0x4be790,'data':_0x528f3a,'originalSuggestionId':_0x1725db,'attributes':_0x4e56a5},_0x3e708b=await this['_trackChangesService']['add'](_0x24431d,_0x4be790,_0x528f3a,_0x1725db,_0x4e56a5)['catch'](_0x21bd76=>{if(dt(_0x21bd76))return new Promise(_0x320b3b=>{this['_bufferedRequests']['set'](_0x24431d,{'resolve':_0x320b3b,'suggestionData':_0x537e2b});});throw _0x21bd76;});return this['_bufferedRequests']['delete'](_0x24431d),_0x3e708b;},'updateSuggestion':async(_0x203621,_0x1624a6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x1624a6['state'])return this['_trackChangesService']['update'](_0x203621,_0x1624a6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x1e1f37,_0x3f19f4)=>{_0x558dbe['hasSuggestion'](_0x3f19f4['id'])&&(_0x558dbe['getSuggestion'](_0x3f19f4['id'])['attributes']=_0x3f19f4['attributes']);}),this['_trackChangesService']['connect'](_0x2c4a06['connection'])['then'](_0x2869ce=>(_0x2c4a06['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x2869ce)['then'](()=>{for(const _0x3a85f3 of _0x2869ce){_0x558dbe['addSuggestionData'](_0x3a85f3)['_saved']=!0x0;}})));}async['reconnect'](){const _0x586c4c=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x411a69}=this['editor']['plugins']['get'](z),_0x71f495=await this['_trackChangesService']['connect'](_0x411a69);await this['_fetchMissingUsersForThreads'](_0x71f495);for(const {suggestionData:_0x524662,resolve:_0x201665}of this['_bufferedRequests']['values']()){let _0x10fa11=_0x71f495['find'](_0x3c316a=>_0x3c316a['id']===_0x524662['id']);_0x10fa11||(_0x10fa11=await this['_trackChangesService']['add'](_0x524662['id'],_0x524662['type'],_0x524662['data'],_0x524662['originalSuggestionId'])),_0x201665(_0x10fa11);}for(const _0x50b0a7 of _0x71f495)_0x586c4c['hasSuggestion'](_0x50b0a7['id'])||_0x586c4c['addSuggestionData'](_0x50b0a7);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x244f91=>{this['listenTo'](this['_trackChangesService'],'connected',_0x29ed8f=>{_0x29ed8f['off'](),_0x244f91();});});}async['_fetchMissingUsersForThreads'](_0x36ced7){const _0x56debe=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x4d4b80}=this['editor']['plugins']['get'](z),_0x22c756=new Set();for(const {authorId:_0x5ce61a}of _0x36ced7)_0x56debe['getUser'](_0x5ce61a)||_0x22c756['add'](_0x5ce61a);if(0x0===_0x22c756['size'])return;const _0x23befb=await _0xd44d9a['getMany'](_0x4d4b80,Array['from'](_0x22c756));for(const _0x2359b2 of _0x23befb)_0x56debe['getUser'](_0x2359b2['id'])||_0x56debe['addUser'](_0x2359b2);}}function lt(_0x5cc3a5){if(dt(_0x5cc3a5))return new Promise(()=>{});throw _0x5cc3a5;}function dt(_0x24e053){return _0x24e053['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x24e053['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x103d19{static get['requires'](){return[_0x32965a,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x37e708=this['editor']['plugins']['get'](z),_0x4c1c74=this['editor']['plugins']['get'](_0x10c30c),_0x56af8f=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x37e708,'change:state',(_0x5d4cb7,_0x351b9b,_0x303563)=>{_0x4c1c74['isThreadsLoadingPaused']='connected'!==_0x303563;});}),this['listenTo'](_0x37e708,'change:state',(_0x4abaa0,_0x134fe5,_0x46da27)=>{this['editor']['plugins']['get'](_0x44cbfd)['switchReadOnly']('connected'!==_0x46da27);}),_0x56af8f['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x103d19{static get['requires'](){return[ut,ht,_0x4da260];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x103d19{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x14354c)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x54aa5a,Y,_0x15efd7];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4ef9d0){super(_0x4ef9d0);const _0x4ee532=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x4ee532);}async['init'](){const _0x101319=this['editor']['plugins']['get'](tt),_0x569687=_0x101319['serverHistory'],_0x2a5e4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x569687,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x101319['sessionId']});const _0x45ec5e=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2acad4,_0x47808f=await _0x12fc8b['isBundleUploaded'](_0x2a5e4a['connection'],_0x45ec5e);this['editor']['plugins']['get'](_0x54aa5a)['adapter']={'getRevision':async({revisionId:_0x5340bd})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x5340bd)),'updateRevisions':async _0xfccb7=>{await this['_waitForServiceReady']();const _0x59b898=this['_revisionTracker']['currentRevision'];if(_0x47808f&&0x1===_0xfccb7['length']&&_0xfccb7[0x0]['id']===_0x59b898['id'])return _0xfccb7;for(const _0x2be79b of _0xfccb7)_0x2be79b['id']===_0x59b898['id']&&(_0x2be79b['isEmptyCurrent']=_0x2be79b['fromVersion']===_0x2be79b['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0xfccb7,this['_lastRequestId'])['then'](_0x2b1b04=>(this['_lastRequestId']=_0x2b1b04,_0xfccb7))['catch'](_0x2ed22b=>{if(pt(_0x2ed22b)||'400'===_0x2ed22b['code']&&void 0x0!==_0x2ed22b['data']['wrongRequestId']){for(const _0xee2581 of _0xfccb7){!this['_revisionTracker']['repository']['getRevision'](_0xee2581['id'])||this['_revisionTracker']['_bufferUpdate'](_0xee2581['id'],_0xee2581,!0x1);}if(pt(_0x2ed22b))throw _0x2ed22b;return _0xfccb7;}throw _0x2ed22b;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x131e14,{revisionsData:_0x3bbbb7,requestId:_0x4a1a95})=>{Math['max'](..._0x3bbbb7['map'](_0x3da48d=>_0x3da48d['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3bbbb7,_0x4a1a95);}):this['_handleRevisionsUpdate'](_0x3bbbb7,_0x4a1a95);});const {revisions:_0x321ace,requestId:_0x118578}=await this['_revisionHistoryService']['connect'](_0x2a5e4a['connection']);_0x2a5e4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x118578,await this['_fetchMissingUsers'](_0x321ace);for(const _0x11dcbd of _0x321ace)this['_revisionTracker']['addRevisionData'](_0x11dcbd);this['listenTo'](_0x101319,'change:_isConnected',(_0x30f06b,_0x565365,_0x560b6d)=>{_0x560b6d&&(this['_oldOffset']=_0x101319['_offset'],_0x30f06b['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x2a5e4a,'state',_0x582ab5=>_0x582ab5===_0x7dc889['CONNECTED']);}async['reconnect'](){const _0x39f06f=this['editor']['plugins']['get'](z),_0x2286f7=this['editor']['plugins']['get'](tt),_0x4aac6e=async()=>{const _0x1bc803=this['_revisionTracker']['currentRevision'],_0x241610=_0x1bc803['id'],_0x516b28=_0x241610!==_0x2286f7['sessionId'];if(_0x516b28){const _0x129a43=_0x2286f7['_offset']-this['_oldOffset'],_0xdb0ddc=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x1bc803['toVersion']+_0x129a43!==_0xdb0ddc){const _0x5ce475=_0x1bc803['fromVersion']+_0x129a43,_0x57be32=this['editor']['plugins']['get'](_0x15efd7),_0x2247a7=this['_revisionTracker']['buildRevisionData']({'revision':_0x1bc803,'from':_0x5ce475,'to':_0xdb0ddc});_0x2247a7['id']=_0x1bc803['id'];const _0x2d939d=_0x2247a7['authorsIds']['map'](_0x56e6fc=>_0x57be32['getUser'](_0x56e6fc));_0x1bc803['_update']({..._0x2247a7,'authors':_0x2d939d},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x1bc803['id'],_0x2247a7,!0x0);}this['_revisionTracker']['_startingVersion']=_0xdb0ddc,(_0x1bc803['toVersion']===_0x1bc803['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x241610)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x241610),this['_revisionTracker']['_createCurrentRevision'](_0xdb0ddc));}const {revisions:_0x2e5b52,requestId:_0x332946}=await this['_revisionHistoryService']['reconnect'](_0x39f06f['connection'],this['_lastRequestId']);_0x516b28&&_0x2e5b52['length']>0x0?_0x2286f7['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x2e5b52),this['_handleRevisionsUpdate'](_0x2e5b52,_0x332946),this['_revisionTracker']['sendBufferedUpdates']());};return _0x2286f7['_isConnected']?_0x4aac6e():new Promise((_0x4b6f25,_0x361cae)=>{_0x2286f7['once']('change:_isConnected',()=>{_0x4aac6e()['then'](_0x4b6f25)['catch'](_0x361cae);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x16f33c=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x58f64d=>{_0x58f64d['off'](),_0x16f33c();});});}['_getLatestVersionFromServerOperations'](){const _0x42fee8=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x112c46 of _0x42fee8)if('marker'!==_0x112c46['type']||_0x112c46['affectsData'])return _0x112c46['baseVersion']+0x1;}['_getLatestVersion'](){const _0x174269=this['editor']['plugins']['get'](tt);return new Promise(_0x2926d2=>{_0x174269['_isPendingUpdate']?_0x174269['once']('change:_isPendingUpdate',()=>{_0x2926d2(this['_getLatestVersionFromServerOperations']());}):_0x2926d2(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x13f263,_0x141f4c){const _0x4a1ec5=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x141f4c;for(const _0xc2376b of _0x13f263){const _0x4cf4fa=_0x4a1ec5['getRevision'](_0xc2376b['id']);if(_0x4cf4fa){if((_0xc2376b['fromVersion']||_0xc2376b['toVersion'])&&(_0xc2376b['diffData']=null),_0x4cf4fa===this['_revisionTracker']['currentRevision']){const _0x31c298=Math['max'](_0x4cf4fa['toVersion'],_0xc2376b['toVersion']),_0x2351c2=Math['max'](_0x4cf4fa['fromVersion'],_0xc2376b['fromVersion']);let _0x49b394;_0x4cf4fa['toVersion']===_0xc2376b['toVersion']&&_0x4cf4fa['fromVersion']===_0xc2376b['fromVersion']?(_0x49b394=!0x0,this['_preventResendingRevisionData'](_0xc2376b)):_0xc2376b['toVersion']===_0x31c298&&_0xc2376b['fromVersion']===_0x2351c2?_0x49b394=!0x1:(_0x4cf4fa['toVersion']===_0x31c298&&_0x4cf4fa['fromVersion']===_0x2351c2||this['_fixRevision']({'revision':_0x4cf4fa,'from':_0x2351c2,'to':_0x31c298}),_0x49b394=!0x0),_0x49b394&&(delete _0xc2376b['fromVersion'],delete _0xc2376b['toVersion'],delete _0xc2376b['diffData'],delete _0xc2376b['createdAt'],delete _0xc2376b['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc2376b),this['_preventResendingRevisionData'](_0xc2376b);}else this['_revisionTracker']['addRevisionData'](_0xc2376b);}const _0x1f81d6=_0x4a1ec5['getRevisions']();_0x1f81d6['reverse']();for(let _0x544908=0x0;_0x544908<_0x1f81d6['length']-0x1;_0x544908++){const _0xc2fd86=_0x1f81d6[_0x544908],_0x2dd23f=_0x1f81d6[_0x544908+0x1];if(_0xc2fd86['fromVersion']<_0x2dd23f['toVersion']){const _0x38a886=_0x2dd23f['toVersion'],_0x32069e=Math['max'](_0x38a886,_0xc2fd86['toVersion']);this['_fixRevision']({'revision':_0xc2fd86,'from':_0x38a886,'to':_0x32069e});}}}['_fixRevision']({revision:_0x4601c8,from:_0x3460a7,to:_0x19e6ff}={}){const _0xe09ed1=this['editor']['plugins']['get'](_0x15efd7),_0x54437e=this['_revisionTracker']['buildRevisionData']({'revision':_0x4601c8,'from':_0x3460a7,'to':_0x19e6ff});_0x54437e['authors']=_0x54437e['authorsIds']['map'](_0x118290=>_0xe09ed1['getUser'](_0x118290)),_0x4601c8['_update'](_0x54437e);}['_preventResendingRevisionData'](_0x189462){const _0x7f1edc={};_0x7f1edc['id']=_0x189462['id'];for(const _0x4877d6 of Object['keys'](_0x189462))'id'!==_0x4877d6&&(_0x7f1edc[_0x4877d6]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x7f1edc['id'],_0x7f1edc,!0x0);}async['_fetchMissingUsers'](_0x44121b){const _0x5be31b=this['editor']['plugins']['get'](_0x15efd7),{connection:_0x407afd}=this['editor']['plugins']['get'](z),_0xea5776=new Set();for(const _0x35d4e8 of _0x44121b){for(const _0x5532b4 of _0x35d4e8['authorsIds'])_0x2dce3f(_0x5532b4);_0x35d4e8['creatorId']&&_0x2dce3f(_0x35d4e8['creatorId']);}if(0x0===_0xea5776['size'])return;const _0x3dcb6b=await _0xd44d9a['getMany'](_0x407afd,Array['from'](_0xea5776));for(const _0x4c4360 of _0x3dcb6b)_0x5be31b['getUser'](_0x4c4360['id'])||_0x5be31b['addUser'](_0x4c4360);function _0x2dce3f(_0x12859b){_0x5be31b['getUser'](_0x12859b)||_0xea5776['add'](_0x12859b);}}}function pt(_0x530134){return _0x530134['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x530134['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x530134['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x103d19{static get['requires'](){return[_0x54aa5a,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x2a2968{['_collapseAt'];constructor(_0x5e3c0c,_0x4b6b42=0x6){super(_0x5e3c0c);const _0x27ade2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x4b6b42,this['bind']('isHidden')['to'](this,'usersCount',_0x252e12=>_0x252e12<_0x4b6b42),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x27ade2['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':_0x27ade2['to']('usersCount',_0x287125=>'+'+(_0x287125-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x2a2968{['items'];['keystrokes'];constructor(_0x9febee){super(_0x9febee);const _0xc39dda=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1cfe84(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xc39dda['if']('hasPopup'),'aria-expanded':_0xc39dda['to']('isExpanded',_0x9cd64=>this['hasPopup']&&String(_0x9cd64)),'aria-label':_0xc39dda['to']('hasPopup',_0x26b09a=>X(_0x9febee,_0x26b09a?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xc39dda['to']('hasPopup',_0x413dc8=>!!_0x413dc8&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xc39dda['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xc39dda['to'](_0x26f3d0=>{const _0x102775=_0x26f3d0,_0x113888=document['querySelector']('.ck-presence-list__dropdown-list'),_0x485b71=document['querySelector']('.ck-balloon-panel_with-arrow');_0x113888?.['contains'](_0x102775['relatedTarget'])||_0x485b71?.['contains'](_0x102775['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x314954,_0x434ecf,_0x3cff7d)=>{this['element']&&(_0x3cff7d?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x2a2968{['counterView'];['inlineListView'];constructor(_0x47a8ea,_0x3b418e=0x6){super(_0x47a8ea);const _0x19e143=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3b418e),this['inlineListView']=new vt(_0x47a8ea),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x3c6d13 of this['inlineListView']['items'])_0x3c6d13['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',_0x19e143['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x2a2968{['listWrapperView'];constructor(_0x53b48a,_0x3e4fd1){super(_0x53b48a);const _0x16d854=this['bindTemplate'];this['listWrapperView']=new bt(_0x53b48a,_0x3e4fd1),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x53b48a,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x16d854['to'](_0x985233=>{const _0x4bc0f0=_0x985233,_0x36599b=document['querySelector']('.ck-presence-list__list'),_0xfc7d0e=document['querySelector']('.ck-balloon-panel_with-arrow');_0x36599b?.['contains'](_0x4bc0f0['relatedTarget'])||_0xfc7d0e?.['contains'](_0x4bc0f0['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x468e3{constructor(_0x3a5b22,_0x4642c1){super(_0x3a5b22);const _0x353c99=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x4642c1?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x353c99['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x353c99['to']('role'),'aria-label':_0x353c99['to']('ariaLabel'),'aria-labelledby':_0x353c99['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3fbed8['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x5930fa=this['element'];_0x5930fa&&(this['_isScrollable']=Math['max'](_0x5930fa['scrollHeight'],_0x5930fa['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0xd98646{['userView'];constructor(_0x27eebe,_0x5728c4,_0x164ca1){super(_0x27eebe);const _0x385263=this['bindTemplate'];this['userView']=new _0x5e59a8(_0x27eebe,_0x5728c4);const _0x52fd2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5728c4['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5728c4['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5728c4['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5728c4['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5728c4['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x164ca1&&(_0x52fd2b['tag']='button',_0x52fd2b['on']={'click':_0x385263['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x52fd2b);}['focus'](){this['element']['focus']();}}class It extends _0x2a2968{['userView'];['markerView'];constructor(_0x41e3b9,_0x25da49,_0x375326){super(_0x41e3b9);const _0x591427=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x5e59a8(_0x41e3b9,_0x25da49),this['markerView']=new St(_0x41e3b9,_0x25da49);const _0x41a9bf=new _0x20fd6e(_0x41e3b9);_0x41a9bf['template']['tag']='span',_0x41a9bf['text']=_0x25da49['name'];const _0x2da9fd={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x591427['to']('isFocusable',_0x3cd190=>!!_0x3cd190&&0x0),'aria-labelledby':_0x41a9bf['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x591427['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x591427['to']('hasTooltip',_0x4a2412=>!_0x4a2412),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x41a9bf]};_0x375326&&(_0x2da9fd['tag']='button',_0x2da9fd['on']={'click':_0x591427['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x2da9fd);}}class St extends _0x2a2968{constructor(_0x26d7c1,_0x10a393){super(_0x26d7c1),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x10a393['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x10a393['color']['getColorVariable'](),'--ck-user-color-alpha':_0x10a393['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xd5d5b2{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1ddf7e){super(_0x1ddf7e),this['context']['config']['define']('presenceList',Tt);const _0x281e6e=_0x1ddf7e['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x281e6e)throw new _0x36cefd('presencelist-collapseat-invalid-format',this);if(_0x281e6e<0x1)throw new _0x36cefd('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x16227b(),this['balloonPanelView']=new _0x17c136(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x1b2ba4 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x1b2ba4);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4b82a6,_0x2f3611)=>{this['_handleUserAdd'](_0x2f3611);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x4fc784,_0xdeaad)=>{this['_handleUserRemove'](_0xdeaad);});}['_createView'](){const _0x306a4a=this['context'],_0x19333d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x307d8c=this['balloonPanelView'];if(!_0x6c004d(_0x306a4a['config']['get']('presenceList.container')))throw new _0x36cefd('presencelist-missing-container',this);return _0x19333d['counterView']['bind']('usersCount')['to'](this),_0x19333d['bind']('isCollapsed')['to'](this,'usersCount',_0x4cbf25=>{const {collapseAt:_0x2e5264}=_0x306a4a['config']['get']('presenceList'),_0x3f8809=_0x4cbf25>=_0x2e5264;if(_0x3f8809&&!_0x19333d['inlineListView']['items']['find'](_0x1b268e=>_0x1b268e instanceof wt)){const _0x4d3ff4=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x4d3ff4&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x19333d['inlineListView']['items']['add'](_0x19333d['counterView']);}return _0x3f8809||this['hideDropdown'](),_0x3f8809;}),_0x19333d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x17b603=>{const _0x720ba5=_0x306a4a['config']['get']('presenceList'),_0x288dc5=new It(_0x306a4a['locale'],_0x17b603,!!_0x720ba5['onClick']);return _0x288dc5['bind']('hasTooltip')['to'](_0x19333d,'isCollapsed',_0x328098=>!_0x328098),_0x288dc5['bind']('isFocusable')['to'](_0x19333d,'isCollapsed',_0x57f87f=>!_0x57f87f),_0x720ba5['onClick']&&this['listenTo'](_0x288dc5,'execute',()=>{this['view']['isCollapsed']||_0x720ba5['onClick'](_0x17b603,_0x288dc5['element']);}),_0x288dc5;}),this['listenTo'](_0x19333d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x19333d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x19333d['inlineListView']['keystrokes']['set']('Enter',(_0x51c995,_0x18dcf6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x18dcf6());}),_0x19333d['render'](),_0x307d8c['render'](),_0x2a391d({'emitter':_0x19333d,'activator':()=>_0x307d8c['isVisible'],'contextElements':[_0x307d8c['element'],_0x19333d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x306a4a['config']['get']('presenceList.container')['appendChild'](_0x19333d['element']),this['_bodyCollection']=new _0x42e011(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x19333d;}['_handleUserAdd'](_0x33a248){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x33a248['isMe'])return;const _0x852c23=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x852c23-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x23e01a=_0x33a248['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x33a248,_0x23e01a);}['_handleUserRemove'](_0x271f3e){this['usersCount']--;const {collapseAt:_0xc4ae6c}=this['context']['config']['get']('presenceList'),_0x20dbc7=this['usersCount']>=_0xc4ae6c;if(this['currentDisplayedUsers']['get'](_0x271f3e['id']))this['currentDisplayedUsers']['remove'](_0x271f3e['id']);else{if(_0x20dbc7&&this['currentDisplayedUsers']['length']+0x1===_0xc4ae6c-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x20dbc7?0x1:0x0)<this['usersCount']){for(const _0x1f20eb of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x1f20eb['id'])&&(this['currentDisplayedUsers']['add'](_0x1f20eb,Math['min'](this['currentDisplayedUsers']['length']-(_0x20dbc7?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x20dbc7?0x1:0x0)===_0xc4ae6c-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x5359d0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x5359d0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x797a14}=this['presenceDropdownView'];_0x797a14['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c58a8=>{if(!_0x5359d0['displayMe']&&_0x3c58a8['isMe'])return null;const _0x41a662=new kt(this['context']['locale'],_0x3c58a8,!!_0x5359d0['onClick']);return _0x5359d0['onClick']&&this['listenTo'](_0x41a662,'execute',()=>{_0x5359d0['onClick'](_0x3c58a8,_0x41a662['element']);}),_0x41a662;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x797a14['focus'](),_0x797a14['checkIfScrollable']();const _0x50f382=(_0x5276de,_0x5735c7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5735c7();};_0x797a14['keystrokes']['set']('Esc',_0x50f382),_0x797a14['keystrokes']['set']('Shift+Tab',_0x50f382),_0x797a14['keystrokes']['set']('Tab',(_0xd5306f,_0x12d75e)=>{!function(_0x5225a8){const _0x2dd45c=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x8f8d68=>_0x8f8d68+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x4f84a5=[...document['body']['querySelectorAll'](_0x2dd45c)]['filter'](_0x368e81=>_0x368e81===document['activeElement']||_0x368e81['offsetWidth']+_0x368e81['offsetHeight']>0x0)['sort']((_0x132b25,_0x32df71)=>(_0x132b25['tabIndex']||0x0)-(_0x32df71['tabIndex']||0x0)),_0x19f249=_0x4f84a5['indexOf'](_0x5225a8),_0x1fc5e6=_0x4f84a5[(_0x19f249+0x1)%_0x4f84a5['length']];_0x1fc5e6&&_0x1fc5e6['focus']();}(this['view']['element']),this['hideDropdown'](),_0x12d75e();}),_0x797a14['focusTracker']['add'](this['view']['element']),_0x797a14['focusTracker']['on']('change:isFocused',(_0x1a2846,_0x3e2533,_0x2ea315)=>{_0x2ea315||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0xd5d5b2{static get['requires'](){return[Y,At];}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,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x84922a=>0x1!=_0x84922a}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','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.':'','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.':''},'getPluralForm':_0x3b4e9f=>0x1!=_0x3b4e9f}};