@ckeditor/ckeditor5-real-time-collaboration 48.3.0-alpha.1 → 48.3.0-alpha.3

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{Context as _0x65df0c,ContextPlugin as _0x525f71,PendingActions as _0x442fb9,Plugin as _0x203610}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x50f763,Collection as _0x3eba5a,DomEmitterMixin as _0x475f3d,KeystrokeHandler as _0x17a0f8,global as _0x6efeaf,uid as _0x3ff10e,version as _0xad9c89}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x1af306,BodyCollection as _0x3e76fb,LabelView as _0x5a2556,ListItemView as _0x2b1c38,ListView as _0x1157a6,Notification as _0x1a5404,View as _0x4317fb,clickOutsideHandler as _0x56aa22}from'@ckeditor/ckeditor5-ui';import{History as _0x10d3fc,InsertOperation as _0x51617e,MarkerOperation as _0x57d1e8,ModelLiveRange as _0x3155f0,NoOperation as _0x44598d,OperationFactory as _0x3e843c,RootAttributeOperation as _0x1fde9d,transformOperationSets as _0x3b64ef}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x42d953}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x444d59,CommentsService as _0x3fa162,EditorService as _0x4bd199,RevisionHistoryService as _0x2cda8d,TrackChangesService as _0x105cc0,User as _0x5778e5,WEB_SOCKET_GATEWAY_STATES as _0xcc2284,WebSocketGateway as _0x25bf89}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x15c9e3,Users as _0x3a0f0f}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x53ed3a}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0xedfa48,TrackChangesEditing as _0x55cc9b}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x421a60,CommentsEditing as _0x372972,CommentsRepository as _0x4fd941}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x57a2b8}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x31be5e}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x525f71{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x25bf89)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x42d953,_0x1a5404];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x29d437){super(_0x29d437),this['set']('state',_0xcc2284['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x475f3d())();}['init'](){const _0x572dbf=this['context'],_0x3535d7=_0x572dbf['plugins']['get'](_0x42d953),_0x6c3cf8=_0x572dbf['plugins']['get'](_0x1a5404);if(!_0x3535d7['token'])throw new _0x50f763('websocketgateway-missing-token',this);if(!_0x3535d7['webSocketUrl'])throw new _0x50f763('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x3535d7['token'],_0x3535d7['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x36fee8=>{if(this['connection']=_0x36fee8,this['bind']('state')['to'](_0x36fee8,'state',this,'_isBrowserOffline',(_0xd2d5af,_0x2d3c65)=>('connected'!==_0xd2d5af&&(this['_shouldPluginsReconnect']=!0x0),_0x2d3c65||_0xd2d5af!==_0xcc2284['CONNECTED']?_0xcc2284['DISCONNECTED']:this['state']==_0xcc2284['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xcc2284['CONNECTING']):_0xcc2284['CONNECTED'])),this['connection']['on']('error',(_0x7ab10b,_0x4e4b48)=>{if('limitExceeded'!==_0x4e4b48['code'])throw console['error'](_0x4e4b48),new _0x50f763('cloudservices-init',null,{'originalError':_0x4e4b48});_0x6c3cf8['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'});}),!_0x36fee8['me'])return new Promise(_0x41d385=>_0x36fee8['on']('change:me',_0x41d385));})['catch'](_0x26be12=>{throw console['error'](_0x26be12),new _0x50f763('cloudservices-init',null,{'originalError':_0x26be12});});}['addToReconnectionStack'](_0x52cfbd){if('function'!=typeof _0x52cfbd['reconnect'])throw new _0x50f763('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x52cfbd))throw new _0x50f763('websocketgateway-plugin-already-registered',this,{'name':_0x52cfbd['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x52cfbd);}['removeFromReconnectionStack'](_0x3067ab){this['_reconnectionStack']['delete'](_0x3067ab);}['isInReconnectionStack'](_0x45e727){return this['_reconnectionStack']['has'](_0x45e727);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x427a4d=>_0x427a4d['reconnect']())))['then'](()=>this['state']=_0xcc2284['CONNECTED'])['catch'](_0x3b23b9=>{throw console['error'](_0x3b23b9),new _0x50f763('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xcc2284['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x525f71{['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,_0x3a0f0f];}constructor(_0x2ae023){super(_0x2ae023),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x3eba5a(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x3a0f0f);}['init'](){const _0x46acd1=this['context']['plugins']['get'](z);this['listenTo'](_0x46acd1,'change:state',(_0x170d64,_0x2baa04,_0x5e439d)=>{if('connected'!==_0x5e439d)this['channelSessions']['forEach'](_0x5c05ec=>_0x5c05ec['clear']()),this['channelConnectedUsers']['forEach'](_0x7f2195=>_0x7f2195['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x11d272,_0x354cae]of this['_registeredSessions'])for(const _0x23bbd9 of _0x354cae)this['_handleSessionAdd'](_0x11d272,_0x23bbd9);}}),this['_createUser'](_0x46acd1['connection']['me'],!0x0);}['register'](_0x72fadd,_0x73608b){if(this['_registeredSessions']['has'](_0x72fadd))throw new _0x50f763('sessions-register-already-registered',null,{'channelId':_0x72fadd});this['_registeredSessions']['set'](_0x72fadd,_0x73608b),this['channelSessions']['set'](_0x72fadd,new _0x3eba5a()),this['channelConnectedUsers']['set'](_0x72fadd,new _0x3eba5a()),this['listenTo'](_0x73608b,'add',(_0x4e631f,_0x34ce84)=>this['_handleSessionAdd'](_0x72fadd,_0x34ce84)),this['listenTo'](_0x73608b,'remove',(_0x3363ea,_0x2abe9e)=>this['_handleSessionRemove'](_0x72fadd,_0x2abe9e));for(const _0x5ea693 of _0x73608b)this['_handleSessionAdd'](_0x72fadd,_0x5ea693);}['unregister'](_0x435dc6){if(!this['_registeredSessions']['has'](_0x435dc6))throw new _0x50f763('sessions-unregister-not-exist',null,{'channelId':_0x435dc6});const _0x252726=this['_registeredSessions']['get'](_0x435dc6);this['stopListening'](_0x252726);for(const _0xdb369d of _0x252726)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x435dc6,_0xdb369d);this['_registeredSessions']['delete'](_0x435dc6),this['channelSessions']['delete'](_0x435dc6),this['channelConnectedUsers']['delete'](_0x435dc6);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x9b1415){for(const _0x5b8294 of this['channelSessions']['values']())for(const _0x193ef2 of _0x5b8294)if(_0x193ef2['id']===_0x9b1415)return _0x193ef2['user'];}['getUserSessions'](_0x3ccae9,_0x161137){const _0x14bbf2=_0x161137?[this['channelSessions']['get'](_0x161137)]:this['channelSessions']['values'](),_0x1e4f84=new Set();for(const _0xb5ac3f of _0x14bbf2)for(const _0x470967 of _0xb5ac3f)_0x470967['user']['id']===_0x3ccae9['id']&&_0x1e4f84['add'](_0x470967['id']);return _0x1e4f84;}['getUserRole'](_0x4659d1){for(const _0x160812 of this['channelSessions']['values']())for(const _0x36e2bd of _0x160812)if(_0x36e2bd['user']===_0x4659d1)return _0x36e2bd['role'];}['_handleSessionAdd'](_0x2b2e5e,_0x55c9f4){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x85a7ca=_0x55c9f4['user'],_0x30f2f6=this['_users']['getUser'](_0x85a7ca['id'])||this['_createUser'](_0x85a7ca),_0x41c5b6=Object['assign']({},_0x55c9f4,{'user':_0x30f2f6});if(this['channelSessions']['get'](_0x2b2e5e)['add'](_0x41c5b6),!_0x85a7ca['hiddenInPresenceList']){const _0x3f8f77=this['channelConnectedUsers']['get'](_0x2b2e5e);_0x3f8f77['has'](_0x30f2f6['id'])||_0x3f8f77['add'](_0x30f2f6),this['allConnectedUsers']['has'](_0x30f2f6['id'])||_0x85a7ca['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x30f2f6,_0x30f2f6['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x2b2e5e,{'channelId':_0x2b2e5e,'session':_0x41c5b6});}['_handleSessionRemove'](_0x424d3e,_0x5dcb9d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x34894c=this['channelConnectedUsers']['get'](_0x424d3e),_0x250374=_0x5dcb9d['user'];_0x250374['id']&&(this['channelSessions']['get'](_0x424d3e)['remove'](_0x5dcb9d['id']),_0x34894c['has'](_0x250374['id'])&&!this['getUserSessions'](_0x250374,_0x424d3e)['size']&&_0x34894c['remove'](_0x250374['id']),this['allConnectedUsers']['get'](_0x250374['id'])&&!this['getUserSessions'](_0x250374)['size']&&this['allConnectedUsers']['remove'](_0x250374['id']));}['_createUser'](_0x549944,_0x9e5b17){const _0x3c9006=this['_users']['addUser'](_0x549944);return _0x9e5b17&&this['_users']['defineMe'](_0x549944['id']),_0x3c9006['orderNumber']=this['_uniqueUsersCount']++,_0x3c9006;}},K=class extends _0x203610{['_domEmitter']=new(_0x475f3d())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2fa545=this['editor'],_0x3af208=_0x2fa545['plugins']['get'](Y);_0x2fa545['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x496fc0,{writer:_0x9b244b})=>function(_0x417438,_0x2d44a7,_0xb51e8f,_0x61c52f){const _0x5e671d=_0x417438['markerName']['split'](':')[0x2],_0x29af90=_0xb51e8f['getUserBySessionId'](_0x5e671d);if(!_0x29af90||_0x5e671d===_0xb51e8f['mySessionId'])return;if(!_0x61c52f['model']['schema']['checkChild'](_0x417438['markerRange']['start'],'$text'))return;const _0x1c13e8={'class':'ck-user__marker\x20'+_0x29af90['color']['getMarkerClass'](),'style':Q(_0x29af90),'data-name':_0x29af90['name'],'data-session-id':_0x5e671d},_0x1036ff=_0x61c52f['model']['markers']['get'](_0x417438['markerName'])['getStart'](),_0x4ea7cb=_0x1036ff['nodeAfter'],_0x2ab7df=_0x61c52f['model']['schema'];if(_0x4ea7cb&&_0x2ab7df['isObject'](_0x4ea7cb)&&_0x2ab7df['isInline'](_0x4ea7cb)&&!_0x61c52f['model']['markers']['get']('user:range:'+_0x5e671d)['getRange']()['isCollapsed'])return;const _0x134616=_0x1036ff['parent'];return _0x61c52f['model']['schema']['isLimit'](_0x134616)&&!_0x61c52f['model']['hasContent'](_0x134616)&&(_0x1c13e8['contenteditable']=!0x1),function(_0x399ff2,_0x54f630,_0x1cd97d){const _0x4a40be=_0x399ff2['createUIElement']('span',_0x54f630);return _0x399ff2['setCustomProperty']('userPositionMarker',!0x0,_0x4a40be),_0x4a40be['render']=function(_0x2f5569){const _0x730c83=this['toDomElement'](_0x2f5569),_0x3599bf=document['createElement']('span');return _0x3599bf['classList']['add']('ck-user__marker-tooltip'),_0x3599bf['setAttribute']('contenteditable','false'),_0x3599bf['setAttribute']('spellcheck','false'),_0x3599bf['textContent']=_0x1cd97d['name'],_0x730c83['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3599bf['outerHTML']+'⁠',_0x730c83['addEventListener']('mouseenter',()=>{_0x730c83['classList']['add']('ck-user__marker_hovered');}),_0x730c83['addEventListener']('mouseleave',()=>{_0x730c83['classList']['remove']('ck-user__marker_hovered');}),_0x730c83;},_0x4a40be['isSimilar']=function(_0x21a225){return!(!this['getCustomProperty']('userPositionMarker')||!_0x21a225['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x21a225['getAttribute']('data-session-id'));},_0x4a40be;}(_0x2d44a7,_0x1c13e8,_0x29af90);}(_0x496fc0,_0x9b244b,_0x3af208,_0x2fa545)}),_0x2fa545['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x324a92=>function(_0x4f0f32,_0x5b16ba){const _0x3e4f10=_0x4f0f32['markerName']['split'](':')[0x2];if(_0x3e4f10===_0x5b16ba['mySessionId'])return null;const _0x5cac73=_0x5b16ba['getUserBySessionId'](_0x3e4f10);return _0x5cac73?{'id':_0x3e4f10,'classes':['ck-user__selection',_0x5cac73['color']['getSelectionClass']()],'attributes':{'style':Q(_0x5cac73),'data-session-id':_0x3e4f10},'priority':0x7d0+_0x5cac73['orderNumber']}:{'id':_0x3e4f10,'classes':[]};}(_0x324a92,_0x3af208)}),function(_0x3b3115){const _0x4898af=_0x3b3115['model'],_0x3d749d=new Map(),_0xf5482d=_0x3b3115['plugins']['get'](Y);_0x4898af['markers']['on']('update:user:range',(_0x8ada44,_0x3182f3,_0x4e53d1,_0x3bd949)=>{if(!_0x3bd949&&_0x3d749d['get'](_0x3182f3['name']))return _0x3d749d['get'](_0x3182f3['name'])['detach'](),void _0x3d749d['delete'](_0x3182f3['name']);const _0x5df7a1=_0x3182f3['name']['split'](':')[0x2];if(_0x5df7a1===_0xf5482d['mySessionId'])return;const _0x39d502='user:position:'+_0x5df7a1;_0x4898af['markers']['has'](_0x39d502)&&_0x3b3115['editing']['reconvertMarker'](_0x39d502),_0x3182f3['on']('change:range',(_0x53fecf,_0xee7499,_0xdfee88)=>{if('$graveyard'!=_0xee7499['root']['rootName']&&'$graveyard'==_0x3182f3['getRange']()['root']['rootName']&&!_0x3d749d['has'](_0x3182f3['name'])){const _0x91aed=_0x4898af['schema']['getNearestSelectionRange'](_0xdfee88['deletionPosition']);if(_0x91aed){const _0x3cf7eb=_0x3155f0['fromRange'](_0x91aed);_0x3d749d['set'](_0x3182f3['name'],_0x3cf7eb),_0x3cf7eb['on']('change:range',(_0x4387c9,_0x4e0f1f,_0x59f11d)=>{if('$graveyard'==_0x3cf7eb['root']['rootName']){const _0x460591=_0x4898af['schema']['getNearestSelectionRange'](_0x59f11d['deletionPosition']);_0x460591?(_0x3cf7eb['start']=_0x460591['start'],_0x3cf7eb['end']=_0x460591['end']):(_0x3d749d['delete'](_0x3182f3['name']),_0x3cf7eb['detach']());}});}}});}),_0x4898af['document']['on']('change',()=>{_0x3d749d['size']>0x0&&_0x4898af['enqueueChange']({'isUndoable':!0x1},_0x141da8=>{for(const [_0xb72b4e,_0x109ec7]of _0x3d749d)'$graveyard'==_0x4898af['markers']['get'](_0xb72b4e)['getRange']()['root']['rootName']&&(J(_0xb72b4e['split'](':')[0x2],_0x109ec7['toRange'](),_0x4898af,_0x141da8),_0x109ec7['detach']());_0x3d749d['clear']();});});}(_0x2fa545),this['_domEmitter']['listenTo'](_0x6efeaf['document'],'keydown',(_0x40bdf0,{key:_0x111b0a})=>{'Escape'===_0x111b0a&&function(_0x109730){_0x109730['editing']['view']['change'](_0x37fc5e=>{for(const _0x23ddce of _0x109730['model']['markers']){if(!_0x23ddce['name']['startsWith']('user:position'))continue;const _0x439739=_0x109730['editing']['mapper']['markerNameToElements'](_0x23ddce['name']);if(_0x439739){for(const _0x18a632 of _0x439739)_0x37fc5e['removeClass']('ck-user__marker_hovered',_0x18a632);}}});}(_0x2fa545);},{'useCapture':!0x0});}['afterInit'](){const _0x588220=this['editor'],_0x2e6206=_0x588220['commands']['get']('undo');_0x2e6206&&_0x588220['model']['on']('applyOperation',(_0x159f1b,_0x54f775)=>{const _0x4274a8=_0x54f775[0x0];if(!_0x4274a8['isDocumentOperation'])return;if('marker'!=_0x4274a8['type']||!_0x4274a8['name']['startsWith']('user:'))return;const _0x29ce7e=_0x4274a8['batch'];_0x2e6206['_createdBatches']['has'](_0x29ce7e)&&(_0x4274a8['newRange']=_0x4274a8['oldRange']?_0x588220['model']['createRange'](_0x4274a8['oldRange']['start'],_0x4274a8['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x5ebbfa=this['editor'],_0x8c9b91=_0x5ebbfa['model']['document'],_0x157b0a=_0x5ebbfa['plugins']['get'](Y);_0x5ebbfa['model']['enqueueChange']({'isUndoable':!0x1},_0x5d0d2a=>{const _0x4a8e23='user:range:'+_0x157b0a['mySessionId'],_0x167c80='user:position:'+_0x157b0a['mySessionId'],_0x289e68=_0x5ebbfa['model']['markers']['has'](_0x4a8e23);_0x5ebbfa['editing']['view']['hasDomSelection']?J(_0x157b0a['mySessionId'],_0x8c9b91['selection']['getFirstRange'](),_0x5ebbfa['model'],_0x5d0d2a):_0x289e68&&(_0x5d0d2a['removeMarker'](_0x4a8e23),_0x5d0d2a['removeMarker'](_0x167c80));});}};function J(_0x3aaeeb,_0x44c6d1,_0x51c474,_0xc7039f){const _0x1c150f='user:range:'+_0x3aaeeb,_0x2b254d='user:position:'+_0x3aaeeb,_0x4d6fb0=_0x44c6d1['getContainedElement']();let _0x25e5b3=_0x44c6d1['start'];if(_0x4d6fb0&&_0x4d6fb0['is']('element','tableCell')){const _0x46718a=function(_0x5c5409,_0x48686b){for(const _0x5a0d76 of _0x5c5409['getPositions']())if(_0x48686b['schema']['checkChild'](_0x5a0d76,'$text'))return _0x5a0d76;}(_0x44c6d1,_0x51c474);_0x46718a&&(_0x25e5b3=_0x46718a,_0x44c6d1=_0xc7039f['createRange'](_0x25e5b3));}const _0x2cff88=_0xc7039f['createRange'](_0x25e5b3);_0x51c474['markers']['has'](_0x1c150f)?(_0xc7039f['updateMarker'](_0x1c150f,{'range':_0x44c6d1}),_0xc7039f['updateMarker'](_0x2b254d,{'range':_0x2cff88})):(_0xc7039f['addMarker'](_0x1c150f,{'range':_0x44c6d1,'usingOperation':!0x0}),_0xc7039f['addMarker'](_0x2b254d,{'range':_0x2cff88,'usingOperation':!0x0}));}function Q(_0x4e3e4a){return'--ck-user-color:'+_0x4e3e4a['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4e3e4a['color']['getColorAlphaVariable']()+';';}function X(_0x3d2667,_0x30c7f4,_0x508355){const _0x305add=_0x3d2667['t'],t=_0x3d2667['t'];switch(_0x30c7f4){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 _0x305add({'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'},_0x508355);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x203610{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x444d59)());['_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,_0x442fb9,_0x3a0f0f,_0x1a5404];}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 _0x131111=this['serverHistory']['getOperations']();for(let _0x71d0f9=_0x131111['length']-0x1;_0x71d0f9>=0x0;_0x71d0f9--){const _0x50adc0=_0x131111[_0x71d0f9];if(!this['_disconnectionOperations']['has'](_0x50adc0))return _0x50adc0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x1616b7){if(super(_0x1616b7),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x10d3fc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x50f763('collaboration-missing-channelid',this);const _0x3779d0=_0x1616b7['config']['get']('cloudServices.bundleVersion')||_0xad9c89;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x3779d0,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x53ed3a(),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 _0x5dd7f3=this['editor'],_0x19f679=_0x5dd7f3['plugins']['get'](_0x3a0f0f),_0x404c0e=_0x5dd7f3['plugins']['get'](z);this['listenTo'](_0x19f679,'getOperationAuthor',(_0x5df9a7,_0x4ec3a3)=>{const _0xbe5234=_0x4ec3a3[0x0];_0xbe5234['_authorId']&&(_0x5df9a7['return']=_0x19f679['getUser'](_0xbe5234['_authorId']),_0x5df9a7['stop']()),null===_0xbe5234['_authorId']&&(_0x5df9a7['return']=null,_0x5df9a7['stop']());},{'priority':'high'}),this['listenTo'](_0x5dd7f3['model']['document']['selection'],'change:range',(_0x2a13ea,_0x37be4a)=>{_0x37be4a['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x5dd7f3['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x5dd7f3['model']['on']('applyOperation',(_0x9a7d62,_0x570512)=>{const _0x13cc40=_0x570512[0x0];_0x13cc40['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x13cc40),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x404c0e,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x3f34df,_0x430ec9,_0x4e672d)=>'connected'===_0x3f34df&&!_0x430ec9&&!_0x4e672d),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x5dd7f3['disableReadOnlyMode']('rtc-offline'):_0x5dd7f3['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2a09f0=this['editor']['plugins']['get'](Y),_0x237611=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2a09f0['unregister'](this['_channelId']);const _0x36562a=await this['_service']['reconnect'](_0x237611['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x36562a)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x18b0e2=await this['_service']['getConnectedSessions']();_0x2a09f0['register'](this['_channelId'],_0x18b0e2),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x2ae4e0){if(function(_0x2674e6){return'404'===_0x2674e6['code'];}(_0x2ae4e0)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x471389){return'409'===_0x471389['code'];}(_0x2ae4e0)){const _0x3a0e6b=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'](_0x3a0e6b);}else{if(!(_0x2ae4e0 instanceof et))throw _0x2ae4e0;this['_handleReconnectionError']();}}}}['destroy'](){const _0x25ac72=this['editor']['plugins']['get'](z),_0x343113=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x343113['channelSessions']['has'](this['_channelId'])&&_0x343113['unregister'](this['_channelId']),_0x25ac72['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x43c303){if(this['sessionId']!==_0x43c303['sessionId']&&this['_lastSyncedOperationId']!==_0x43c303['lastOperationId'])throw new et();return this['sessionId']=_0x43c303['sessionId'],this['_handleServerResponse']([],{..._0x43c303,'wereChangesApplied':!0x1,'data':_0x43c303['data']},'reconnect');}async['_connectService'](_0x1925af,_0x34bf60=!0x1){const {connection:_0x367723}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x367723,this['_channelId'])['then'](_0x336d00=>this['_initSessionsHandling'](_0x336d00))['catch'](_0x33c21a=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x33c21a);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x56b951,_0x5c36fb)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x5c36fb);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x24b977=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1925af);this['_isPendingUpdate']=!0x0;const _0x13acc6=await this['_service']['connect'](_0x367723,this['_compressOperations'](_0x1925af),_0x24b977);if(this['sessionId']=_0x13acc6['sessionId'],_0x34bf60){if(!_0x13acc6['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x13acc6['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x1925af,_0x13acc6,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x13acc6,_0x1925af);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x28fd2e=this['editor']['plugins']['get'](Y),_0x43775b=this['editor']['plugins']['get'](K),_0x4a5ce3=_0x28fd2e['channelSessions']['get'](this['_channelId']);_0x4a5ce3&&_0x4a5ce3['length']>0x1?_0x43775b['createUserMarkerOperations']():this['listenTo'](_0x28fd2e,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x28fd2e['channelSessions']['get'](this['_channelId'])['length']&&_0x43775b['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x4ee6ce,_0x16e593,_0x32d822,_0x751e88){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x16e593){const _0x46de19=this['_decompressOperations'](_0x32d822,_0x751e88);await this['_fetchMissingUsers'](_0x46de19),this['_handleExternalOperations'](_0x46de19,_0x16e593,_0x32d822['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x3ea35e}=this['editor'];let _0x1238b4;try{_0x1238b4=await this['_service']['getDocumentDetails']();}catch{const _0x2a8af4=X(_0x3ea35e,'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'](_0x2a8af4);}const _0x30af8c=_0x1238b4['currentDocumentSession']||_0x1238b4['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x30af8c['lastOperationId']){const _0xc07aee=X(_0x3ea35e,'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'](_0xc07aee);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x2d51cf=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x2d51cf['connection']||'connected'!==_0x2d51cf['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x322561=this['editor']['plugins']['get'](Y);_0x322561['channelSessions']['has'](this['_channelId'])&&_0x322561['unregister'](this['_channelId']),_0x2d51cf['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x359795){const _0x2bbff4=this['editor']['plugins']['get'](Y);this['listenTo'](_0x2bbff4,'sessionAdd:'+this['_channelId'],(_0x36b7a1,{session:_0x444fd4})=>{if(_0x444fd4['id']===_0x2bbff4['mySessionId']){_0x36b7a1['off']();const _0x5d79f=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0xdbafa7=_0x444fd4['permissions'];_0x5d79f&&_0x5d79f['isEnabled']&&(_0xdbafa7=_0xdbafa7['filter'](_0x1c7c22=>'document:write'!==_0x1c7c22)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0xdbafa7,this['_channelId']);}}),_0x2bbff4['register'](this['_channelId'],_0x359795);}['_initThrowingOnDataSet'](){const _0x67c542=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x571bfe)=>{if(!_0x571bfe[_0x571bfe['length']-0x1]['suppressErrorInCollaboration'])throw new _0x50f763('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x67c542['apply'](this['editor']['data'],_0x571bfe);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x20e442,[_0x2548d4])=>{if(this['_document']['version'])throw new _0x50f763('realtimecollaborationclient-init-document-already-initialized',this);_0x20e442['stop'](),this['_setPendingAction']();const _0x1cc162=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x1418ee])=>!_0x1418ee['lazyLoad'])['map'](([_0x5eba09,_0x36be37])=>[_0x5eba09,_0x36be37['modelAttributes']||{}])),_0x57e1ae=this['_getOperationsFromInitData'](_0x2548d4,_0x1cc162);0x0==_0x57e1ae['length']&&_0x57e1ae['push'](new _0x44598d(0x0)),_0x20e442['return']=this['_connectService'](_0x57e1ae)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x14f7b3=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x14f7b3))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xdeea7e,[_0x1b6ba,_0x533a46])=>{_0xdeea7e['stop']();const _0x1f8e14=this['editor']['model']['document']['getRoot'](_0x1b6ba);if(!this['_knownRootNames']['has'](_0x1b6ba)){const _0x3cca01=_0x533a46&&_0x533a46['data']?_0x533a46['data']:'',_0x49db29=_0x533a46&&_0x533a46['attributes']?_0x533a46['attributes']:{};await this['_loadRoot'](_0x1b6ba,_0x3cca01,_0x49db29);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x1f8e14['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x1f8e14);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x55d4c2){const _0x263490=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x34ea8a}=this['editor']['plugins']['get'](z),_0x5cbacb=new Set();for(const _0x109336 of _0x55d4c2){const _0x28dbbf=_0x109336['_authorId'];_0x28dbbf&&!_0x263490['getUser'](_0x28dbbf)&&_0x5cbacb['add'](_0x28dbbf);}if(0x0===_0x5cbacb['size'])return;const _0x4ec9d8=await _0x5778e5['getMany'](_0x34ea8a,Array['from'](_0x5cbacb));for(const _0x513fff of _0x4ec9d8)_0x263490['getUser'](_0x513fff['id'])||_0x263490['addUser'](_0x513fff);}['_getOperationsFromInitData'](_0x11e5a1,_0x28037a={}){const _0x54f0e5=this['editor']['model'],_0xd82de8=[];let _0x550f6f=0x0;const _0x43af2a='string'==typeof _0x11e5a1?{'main':_0x11e5a1}:_0x11e5a1;for(const _0x18aee6 of Object['keys'](_0x43af2a)){if(!this['_document']['roots']['has'](_0x18aee6))throw new _0x50f763('realtimecollaborationclient-init-non-existent-root',this);const _0x8a6b74=this['_document']['getRoot'](_0x18aee6),_0x122eac=this['editor']['data']['parse'](_0x43af2a[_0x18aee6],_0x8a6b74),_0x68e4cc=new _0x51617e(_0x54f0e5['createPositionAt'](_0x8a6b74,0x0),_0x122eac,_0x550f6f++);_0xd82de8['push'](_0x68e4cc);for(const [_0x37ae84,_0x117fb8]of _0x122eac['markers']){const _0x48732f=new _0x57d1e8(_0x37ae84,null,_0x54f0e5['createRange'](_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['start']['path']['slice']()),_0x54f0e5['createPositionFromPath'](_0x8a6b74,_0x117fb8['end']['path']['slice']())),_0x54f0e5['markers'],!0x0,_0x550f6f++);_0xd82de8['push'](_0x48732f);}}if(_0x28037a)for(const [_0x1e38a5,_0x2f948a]of Object['entries'](_0x28037a)){const _0x204aa5=_0x54f0e5['document']['getRoot'](_0x1e38a5);if(!_0x204aa5)throw new _0x50f763('multi-root-editor-root-attributes-no-root',null);for(const [_0x5a605e,_0xb0aef8]of Object['entries'](_0x2f948a))if(null!==_0xb0aef8){const _0x26f745=new _0x1fde9d(_0x204aa5,_0x5a605e,null,_0xb0aef8,_0x550f6f++);_0xd82de8['push'](_0x26f745);}}return _0xd82de8;}async['_loadRoot'](_0x1e90e2,_0x44fdc7,_0x5c0fa3){this['_getOperationsFromInitData']({[_0x1e90e2]:_0x44fdc7},{[_0x1e90e2]:_0x5c0fa3})['forEach']((_0x18b575,_0x3588b2)=>{_0x18b575['baseVersion']=this['_document']['version']+_0x3588b2,_0x18b575['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x18b575);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x164c8d,_0x34e242){let _0x27ad58;this['_offset']=_0x164c8d['offset'];const _0x284f11=_0x164c8d['wereChangesApplied']&&!_0x164c8d['initData'],_0x1e0256=_0x284f11?0x0:_0x164c8d['data']['baseVersion'];if(_0x34e242['forEach'](_0x20ad4e=>{_0x20ad4e['_isInit']=!0x0,_0x20ad4e['createdAt']=_0x164c8d['sessionCreatedAt'],_0x20ad4e['_authorId']=null;}),_0x284f11)_0x27ad58=_0x34e242,this['_applyOperationsSet'](_0x27ad58,_0x284f11);else{if(_0x164c8d['initData']){const _0x2c0e3f=this['_getOperationsFromInitData'](_0x164c8d['initData']);this['_document']['history']['version']=-_0x2c0e3f['length'],_0x2c0e3f['forEach'](_0x4d5970=>{_0x4d5970['baseVersion']-=_0x2c0e3f['length'],_0x4d5970['createdAt']=_0x164c8d['sessionCreatedAt'],_0x4d5970['_isInit']=!0x0,_0x4d5970['_authorId']=null;}),this['_applyOperationsSet'](_0x2c0e3f,!0x0),this['serverHistory']['version']=-_0x2c0e3f['length']+this['_offset'],this['_updateServerHistory'](_0x2c0e3f);}this['_document']['history']['version']=_0x1e0256,_0x27ad58=this['_decompressOperations'](_0x164c8d['data'],_0x164c8d['metadata']),await this['_fetchMissingUsers'](_0x27ad58),this['_applyOperationsSet'](_0x27ad58,_0x284f11);}_0x164c8d['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x27ad58,_0x164c8d['lastOperationId']),this['_lastSyncedOperationId']=_0x164c8d['lastOperationId']),this['serverHistory']['version']=_0x1e0256+this['_offset'],this['_updateServerHistory'](_0x27ad58),_0x34e242['filter'](_0x4476b4=>{const _0x5a1134=this['_getAffectedRoot'](_0x4476b4);return _0x5a1134&&!this['_knownRootNames']['has'](_0x5a1134);})['forEach']((_0x6f8c40,_0x2e4667)=>{_0x6f8c40['baseVersion']=this['_document']['version']+_0x2e4667,this['_saveOperationInBuffer'](_0x6f8c40);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x1ae223,_0xd012e0){const _0x287591=_0xd012e0&&_0xd012e0['message'];if(_0x287591&&_0x287591['startsWith']('realtimecollaborationclient'))throw _0xd012e0;const _0x49efde=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x49efde['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x50f763(_0x1ae223,this['editor'],_0x287591?{'originalError':_0x287591}:void 0x0);}['_saveOperationInBuffer'](_0x1d642e){this['_knownOperations']['has'](_0x1d642e)||(this['_knownOperations']['add'](_0x1d642e),this['_bufferedOperations']['push'](_0x1d642e),this['_pendingAction']||'marker'==_0x1d642e['type']&&!_0x1d642e['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x34361f=!0x1){!_0x34361f&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x1c110b=>{_0x1c110b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x367dc7=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x3419c1){return _0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x3419c1['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x367dc7)||this['_crash'](_0x367dc7['message'],_0x367dc7);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x2c6e98=>{this['on']('change:_isPendingUpdate',()=>{_0x2c6e98();});});}async['_sendBufferedOperations'](){const _0x4fe350=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x4fe350['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x5939b9=[...this['_bufferedOperations']];for(const _0x204adb of _0x5939b9)_0x204adb['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x204adb);const _0x57519a=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5939b9),_0x4d30d2=Z++,_0x387378=this['_compressOperations'](_0x5939b9),_0xda8345=await this['_service']['sendOperations'](_0x387378,_0x387378['baseVersion'],_0x57519a);try{return await this['_handleServerResponse'](_0x5939b9,_0xda8345,_0x4d30d2);}catch(_0x309816){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x309816);}}async['_handleServerResponse'](_0x3fc344,_0x5b1bd2,_0x188574){if('error'in _0x5b1bd2)throw _0x5b1bd2['error'];let _0x1320f1=!0x1;if(_0x5b1bd2['wereChangesApplied']){_0x5b1bd2['lastOperationId']&&(this['_lastSyncedOperationId']=_0x5b1bd2['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x9e9147=>!_0x3fc344['includes'](_0x9e9147));for(const _0x40b50b of _0x3fc344)_0x40b50b['createdAt']='lastOperationAcceptedAt'in _0x5b1bd2&&_0x5b1bd2['lastOperationAcceptedAt']||void 0x0;st(_0x3fc344,_0x5b1bd2['version']-_0x3fc344['length']),this['_updateServerHistory'](_0x3fc344);const _0x39ae90=_0x3fc344['filter'](_0x1ca479=>{if(!_0x1ca479['_isInit'])return!0x1;const _0x204f7f=this['_getAffectedRoot'](_0x1ca479);return _0x204f7f&&!this['_knownRootNames']['has'](_0x204f7f);});st(_0x39ae90,this['_document']['version']),this['_applyOperationsSet'](_0x39ae90),_0x1320f1=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x53c088=this['_decompressOperations'](_0x5b1bd2['data'],_0x5b1bd2['metadata'])['filter'](_0x28fd8f=>_0x28fd8f['baseVersion']>=this['_lastServerVersion']);_0x53c088['forEach'](_0x585239=>this['_addKnownRoot'](_0x585239)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x3c937b=>!_0x3c937b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x3c937b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x53c088),_0x1320f1=this['_handleExternalOperations'](_0x53c088,_0x5b1bd2['version'],_0x5b1bd2['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x1320f1?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181885,_0x2966da,_0x47ca5d){try{const _0x1fa018={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x4dd446,operationsB:_0x35f646,originalOperations:_0x452e15}=_0x3b64ef(_0x181885,this['_bufferedOperations'],_0x1fa018);st(_0x4dd446,this['_document']['version']),st(_0x35f646,_0x2966da);for(const _0xdb79b5 of _0x4dd446){const _0x1ba5bc=_0x452e15['get'](_0xdb79b5);_0x1ba5bc?(_0xdb79b5['_authorId']=_0x1ba5bc['_authorId'],'noop'!==_0xdb79b5['type']&&(_0xdb79b5['_aiSource']=_0x1ba5bc['_aiSource'])):_0xdb79b5['_authorId']=null;}for(const _0x4c1bda of _0x35f646)'noop'!==_0x4c1bda['type']&&(_0x4c1bda['_aiSource']=_0x452e15['get'](_0x4c1bda)?.['_aiSource']);_0x47ca5d&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181885,_0x47ca5d),this['_lastSyncedOperationId']=_0x47ca5d),this['_bufferedOperations']=[..._0x35f646],this['_applyOperationsSet'](_0x4dd446),this['_updateServerHistory'](_0x181885);}catch(_0x34a774){return console['error'](_0x34a774),!0x1;}return!0x0;}['_applyOperationsSet'](_0x475af8,_0x297f5c=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x485354=>{for(const _0x5ca3c0 of _0x475af8)this['_knownOperations']['add'](_0x5ca3c0),this['_addKnownRoot'](_0x5ca3c0),_0x485354['batch']['addOperation'](_0x5ca3c0),this['editor']['model']['applyOperation'](_0x5ca3c0);});}['_addKnownRoot'](_0x587993){const _0x237407=this['_getAffectedRoot'](_0x587993);_0x237407&&this['_knownRootNames']['add'](_0x237407);}['_getAffectedRoot'](_0x20d55f){let _0x5525b4,_0x3e52a4;switch(_0x20d55f['type']){case'insert':_0x5525b4=_0x20d55f['position']['root'];break;case'marker':if(_0x3e52a4=_0x20d55f['newRange'],!_0x3e52a4)return null;_0x5525b4=_0x3e52a4['root'];break;case'addRootAttribute':_0x5525b4=_0x20d55f['root'];break;case'addRoot':_0x5525b4=_0x20d55f['affectedSelectable'];break;case'move':_0x5525b4=_0x20d55f['targetPosition']['root'];break;default:return null;}return _0x5525b4['rootName'];}['_updateServerHistory'](_0x1fa1d6){_0x1fa1d6['forEach'](_0x247223=>{const _0x1cc997=_0x247223['clone']();_0x1cc997['_authorId']=_0x247223['_authorId'],_0x1cc997['_isInit']=!!_0x247223['_isInit'],_0x1cc997['_aiSource']=_0x247223['_aiSource'],_0x1cc997['createdAt']=_0x247223['createdAt'],_0x1cc997['baseVersion']+=this['_offset'],_0x247223['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x1cc997),this['serverHistory']['addOperation'](_0x1cc997);});}['_handleReconnectionError'](_0x3d40ae){const _0x573169=this['editor']['plugins']['get']('Notification'),_0x16ce66=this['editor']['locale'];_0x3d40ae||(_0x3d40ae=X(_0x16ce66,'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.')),_0x573169['showWarning'](_0x3d40ae,{'title':X(_0x16ce66,'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'](_0x442fb9)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x442fb9)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4da0c9){const _0x5c75f2=_0x4da0c9['map'](_0x322b79=>_0x322b79['toJSON']());return this['_compressor']['compress'](_0x5c75f2);}['_decompressOperations'](_0x103792,_0x2f8ca3){return this['_compressor']['decompress'](_0x103792)['map']((_0x2d1c15,_0x36cc21)=>{const _0x37df9f='init'==_0x2f8ca3[_0x36cc21]['type'];if('InsertOperation'==_0x2d1c15['__className']){const _0x5efc52=_0x2d1c15['position']['root'];!this['_document']['getRoot'](_0x5efc52)&&(this['_document']['createRoot']('$unknown',_0x5efc52)['_isAttached']=!0x1);}else{if('RootOperation'==_0x2d1c15['__className']){const _0x3d79e5=this['_document']['getRoot'](_0x2d1c15['rootName']);_0x3d79e5&&'$unknown'==_0x3d79e5['name']&&_0x2d1c15['elementName']!=_0x3d79e5['name']&&(_0x3d79e5['name']=_0x2d1c15['elementName']);}}const _0x3a4d16=_0x3e843c['fromJSON'](_0x2d1c15,this['_document']);return _0x3a4d16['wasUndone']=_0x2d1c15['wasUndone'],_0x3a4d16['_isInit']=_0x37df9f,_0x3a4d16['_authorId']=_0x37df9f?null:_0x2f8ca3[_0x36cc21]['userId'],_0x3a4d16['_isDisconnection']='cs:removeUser'===_0x2f8ca3[_0x36cc21]['type'],_0x3a4d16['_aiSource']=_0x2d1c15['_aiSource']||void 0x0,_0x3a4d16['createdAt']=_0x2f8ca3[_0x36cc21]['createdAt'],_0x3a4d16;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2a3c22=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2a3c22&&_0x2a3c22['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x2900e2,_0x5f40dc){for(const _0x123bab of _0x2900e2)_0x123bab['baseVersion']=_0x5f40dc++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x5e0a80){this['_ignoredOperations']=_0x5e0a80,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x30f33f){let _0x22b031=_0x30f33f['length'];for(;_0x22b031--;){const _0x4374ab=_0x30f33f[_0x22b031];if(!this['_ignoredOperations']['has'](_0x4374ab)){if(!this['_operationToId']['has'](_0x4374ab)){const _0x4a07fc=_0x3ff10e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4374ab,_0x4a07fc);}return this['_operationToId']['get'](_0x4374ab);}}}['setIdForTheLastOperation'](_0x2b2ee7,_0x4d22e6){if(!_0x4d22e6)return;let _0x30707e=_0x2b2ee7['length'];for(;_0x30707e--;){const _0x494dd5=_0x2b2ee7[_0x30707e];this['_ignoredOperations']['has'](_0x494dd5)||this['_operationToId']['set'](_0x494dd5,_0x4d22e6);}}},nt=class extends _0x203610{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x525f71{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x3fa162)());['_services'];static get['requires'](){return[z,_0x4fd941,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x20bc88){super(_0x20bc88),this['_services']=new Map();}async['init'](){const _0x31154a=this['context'],_0xb7fabe=_0x31154a['plugins']['get'](_0x4fd941);if(_0x31154a['plugins']['get'](z)['addToReconnectionStack'](this),_0xb7fabe['adapter']={'addCommentThread':async({channelId:_0x25ffdf,threadId:_0x456a36,comments:_0x35f097,resolvedAt:_0x410cd3,resolvedBy:_0x29a55d,context:_0x52a322,attributes:_0x4ecc5d})=>{const _0x77c04a=await this['_getService'](_0x25ffdf)['addCommentThread']({'commentThreadId':_0x456a36,'comments':_0x35f097['map'](_0x581a4e=>function(_0xe20a8d,_0x3f92c1,_0x265a84){return{'commentThreadId':_0x265a84,'commentId':_0xe20a8d['commentId'],'userId':_0xe20a8d['authorId'],'content':_0xe20a8d['content'],'documentId':_0x3f92c1,'createdAt':_0xe20a8d['createdAt'],'attributes':_0xe20a8d['attributes']||{}};}(_0x581a4e,_0x25ffdf,_0x456a36)),'resolvedAt':_0x410cd3,'resolvedBy':_0x29a55d,'context':_0x52a322,'attributes':_0x4ecc5d})['catch'](ct);return{'threadId':_0x77c04a['commentThreadId'],'comments':_0x77c04a['comments']};},'getCommentThread':async({channelId:_0x5370df,threadId:_0x2dbcd})=>{const _0x177753=await this['_getService'](_0x5370df)['getCommentThread'](_0x2dbcd)['catch'](rt)['catch'](ct);return _0x177753?_0x177753['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x177753]),{'threadId':_0x177753['commentThreadId'],'comments':_0x177753['comments']['map'](at),'context':_0x177753['context'],'resolvedAt':_0x177753['resolvedAt'],'resolvedBy':_0x177753['resolvedBy'],'attributes':_0x177753['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x5cb94e,threadId:_0xeedfb6,context:_0x323881,unlinkedAt:_0x108370,attributes:_0x5339ac})=>this['_getService'](_0x5cb94e)['updateCommentThread']({'commentThreadId':_0xeedfb6,'context':_0x323881,'attributes':_0x5339ac,'unlinkedAt':_0x108370})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x11858c,threadId:_0x2c2a45})=>{const _0x30c2c9=await this['_getService'](_0x11858c)['resolveCommentThread'](_0x2c2a45)['catch'](rt)['catch'](ct);return{'threadId':_0x30c2c9['commentThreadId'],'resolvedAt':_0x30c2c9['resolvedAt'],'resolvedBy':_0x30c2c9['resolvedBy']};},'reopenCommentThread':async({channelId:_0x472f0b,threadId:_0x24c981})=>this['_getService'](_0x472f0b)['reopenCommentThread'](_0x24c981)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x423d2c,threadId:_0x828860})=>this['_getService'](_0x423d2c)['removeCommentThread'](_0x828860)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x4e46ab,threadId:_0x78ead9,commentId:_0x554fda,content:_0x3fa5cb,attributes:_0x5daac5})=>this['_getService'](_0x4e46ab)['addComment'](_0x78ead9,_0x554fda,_0x3fa5cb,_0x5daac5)['catch'](ct),'updateComment':({channelId:_0x459bdb,threadId:_0x58a0f8,commentId:_0xfc311,content:_0x32cfc8,attributes:_0x4bdf86})=>this['_getService'](_0x459bdb)['updateComment'](_0x58a0f8,_0xfc311,_0x32cfc8,_0x4bdf86)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x33e23d,threadId:_0x475b21,commentId:_0x34f421})=>this['_getService'](_0x33e23d)['removeComment'](_0x475b21,_0x34f421)['catch'](rt)['catch'](ct)},_0x31154a instanceof _0x65df0c){const _0x4adc2a=_0x31154a['config']['get']('collaboration.channelId'),_0x1cefda=_0x31154a['plugins']['get'](Y);await this['_setUpService'](_0x4adc2a);const _0x192e21=await this['_services']['get'](_0x4adc2a)['getConnectedSessions']();this['listenTo'](_0x1cefda,'sessionAdd:'+_0x4adc2a,(_0x3945b5,{session:_0x5cbeb5})=>{_0x5cbeb5['id']===_0x1cefda['mySessionId']&&(_0x3945b5['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x5cbeb5['permissions'],_0x4adc2a));}),_0x1cefda['register'](_0x4adc2a,_0x192e21);}}async['_setUpService'](_0x3915e9){if(this['_services']['has'](_0x3915e9))throw new _0x50f763('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x3915e9});const _0x4d5e72=this['context']['plugins']['get'](_0x4fd941),_0x111703=new CloudServicesCommentsAdapter['CommentsService'](_0x3915e9);this['_services']['set'](_0x3915e9,_0x111703),this['listenTo'](_0x111703,'commentThreadAdded',(_0x4b318d,_0x2e9504)=>{const {commentThreadId:_0xe5b731,documentId:_0x5d6163,context:_0x2f9065,attributes:_0xc43e44,resolvedAt:_0x38337c,resolvedBy:_0x73949e,comments:_0x151c68}=_0x2e9504;_0x4d5e72['getCommentThread'](_0xe5b731)||_0x4d5e72['addCommentThread']({'threadId':_0xe5b731,'channelId':_0x5d6163,'comments':_0x151c68?_0x151c68['map'](at):[],'context':_0x2f9065,'attributes':_0xc43e44,'resolvedAt':_0x38337c,'resolvedBy':_0x73949e,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadUpdated',(_0x5bca15,{commentThreadId:_0x32ee5c,documentId:_0x3e7c27,context:_0x22b037,unlinkedAt:_0x4e380a,attributes:_0x4a9c02})=>{_0x4d5e72['getCommentThread'](_0x32ee5c)&&_0x4d5e72['updateCommentThread']({'threadId':_0x32ee5c,'channelId':_0x3e7c27,'context':_0x22b037,'unlinkedAt':_0x4e380a,'attributes':_0x4a9c02,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadResolved',(_0x40ad15,{commentThreadId:_0xb1c25f,resolvedBy:_0x13d545,resolvedAt:_0x4927ba})=>{const _0x421dcd=_0x4d5e72['getCommentThread'](_0xb1c25f);_0x421dcd&&_0x421dcd['resolve']({'resolvedBy':_0x13d545,'resolvedAt':_0x4927ba,'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadReopened',(_0x55ba08,{commentThreadId:_0x5de229})=>{const _0x31e049=_0x4d5e72['getCommentThread'](_0x5de229);_0x31e049&&_0x31e049['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentThreadRemoved',(_0xb94f21,{commentThreadId:_0x3e54bc})=>{const _0x1b72f0=_0x4d5e72['getCommentThread'](_0x3e54bc);_0x1b72f0&&_0x1b72f0['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentAdded',(_0x251f8e,_0x2b1a2d)=>{const _0xeec4d=_0x2b1a2d['commentThreadId'],_0x36b955=_0x4d5e72['getCommentThread'](_0xeec4d);_0x36b955&&_0x36b955['addComment']({...at(_0x2b1a2d),'isFromAdapter':!0x0});}),this['listenTo'](_0x111703,'commentUpdated',(_0x1264f4,{commentThreadId:_0x1e1d13,commentId:_0x6eacff,content:_0x348056,attributes:_0x43cfc4})=>{const _0x34aecf=_0x4d5e72['getCommentThread'](_0x1e1d13);if(_0x34aecf){const _0x5024e2=_0x34aecf['getComment'](_0x6eacff);_0x5024e2&&_0x5024e2['update']({'content':_0x348056,'attributes':_0x43cfc4,'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'commentRemoved',(_0x528709,{commentThreadId:_0x529736,commentId:_0x5279b9})=>{const _0x5e6709=_0x4d5e72['getCommentThread'](_0x529736);if(_0x5e6709){const _0x26e4ef=_0x5e6709['getComment'](_0x5279b9);_0x26e4ef&&_0x26e4ef['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x111703,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x3915e9),this['stopListening'](_0x111703));}),await this['_connectService'](_0x3915e9);}['destroy'](){if(this['context']instanceof _0x65df0c){const _0x100bbf=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x100bbf)&&this['_terminateService'](_0x100bbf);}}['_terminateService'](_0x563b79){if(!this['_services']['has'](_0x563b79))throw new _0x50f763('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x563b79});this['_getService'](_0x563b79)['disconnect'](),this['_services']['delete'](_0x563b79);}async['reconnect'](){for(const _0x2821a2 of this['_services']['keys']())await this['_connectService'](_0x2821a2);if(this['context']instanceof _0x65df0c){const _0x2eb25b=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x2eb25b)){const _0x597ecb=this['context']['plugins']['get'](Y);_0x597ecb['unregister'](_0x2eb25b);const _0x80fb84=await this['_services']['get'](_0x2eb25b)['getConnectedSessions']();_0x597ecb['register'](_0x2eb25b,_0x80fb84);}}}async['_connectService'](_0x374372){const {connection:_0x179916}=this['context']['plugins']['get'](z),_0x45bc49=this['context']['plugins']['get'](_0x4fd941),_0xf15548=await this['_services']['get'](_0x374372)['connect'](_0x179916);await this['_fetchMissingUsersForThreads'](_0xf15548);const _0x1879e3=new Set(Array['from'](_0x45bc49['getCommentThreads']({'channelId':_0x374372}),_0x25f347=>_0x25f347['id']));for(const _0x9b9b1f of _0xf15548)_0x9b9b1f['deletedAt']||_0x1879e3['delete'](_0x9b9b1f['commentThreadId']);for(const _0x458315 of _0x1879e3)_0x45bc49['getCommentThread'](_0x458315)['remove']({'isFromAdapter':!0x0});for(const _0x6bbd1f of _0xf15548){let _0x5efae3=_0x45bc49['getCommentThread'](_0x6bbd1f['commentThreadId']);const {commentThreadId:_0x22b184,context:_0x139b52,attributes:_0x336138,resolvedBy:_0x58886a,resolvedAt:_0x5f20c3,unlinkedAt:_0x38e026,deletedAt:_0x339917}=_0x6bbd1f;if(_0x339917)continue;_0x5efae3||(_0x5efae3=_0x45bc49['addCommentThread']({'channelId':_0x374372,'threadId':_0x22b184,'context':_0x139b52,'attributes':_0x336138||{},'resolvedBy':_0x58886a,'resolvedAt':_0x5f20c3,'unlinkedAt':_0x38e026,'isFromAdapter':!0x0}));const _0xbbfb9f=new Set(Array['from'](_0x5efae3['comments'],_0x22134c=>_0x22134c['id']));for(const _0x49cfcc of _0x6bbd1f['comments'])_0xbbfb9f['delete'](_0x49cfcc['commentId']);for(const _0x238dd2 of _0xbbfb9f)_0x5efae3['getComment'](_0x238dd2)['remove']({'isFromAdapter':!0x0});for(const _0x3b0143 of _0x6bbd1f['comments']){const _0x43ffd7=_0x5efae3['getComment'](_0x3b0143['commentId']);_0x43ffd7?_0x43ffd7['content']!==_0x3b0143['content']&&_0x43ffd7['update']({'content':_0x3b0143['content'],'isFromAdapter':!0x0}):_0x5efae3['addComment'](Object['assign'](at(_0x3b0143),{'isFromAdapter':!0x0}));}}}['_getService'](_0x373a71){if(!this['_services']['has'](_0x373a71))throw new _0x50f763('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x373a71});return this['_services']['get'](_0x373a71);}async['_fetchMissingUsersForThreads'](_0x1c1c18){const _0x2e19d0=this['context']['plugins']['get'](_0x3a0f0f),{connection:_0x3d5a58}=this['context']['plugins']['get'](z),_0x3c4836=new Set();for(const {resolvedBy:_0x54b666,comments:_0x1b5680}of _0x1c1c18){_0x54b666&&!_0x2e19d0['getUser'](_0x54b666)&&_0x3c4836['add'](_0x54b666);for(const {userId:_0x52c5a1}of _0x1b5680)_0x2e19d0['getUser'](_0x52c5a1)||_0x3c4836['add'](_0x52c5a1);}if(0x0===_0x3c4836['size'])return;const _0x3ba133=await _0x5778e5['getMany'](_0x3d5a58,Array['from'](_0x3c4836));for(const _0x6843ed of _0x3ba133)_0x2e19d0['getUser'](_0x6843ed['id'])||_0x2e19d0['addUser'](_0x6843ed);}};async function rt(_0x1708af){if('404'!==_0x1708af['code'])throw _0x1708af;}function ct(_0x36420c){if((_0x4809fe=_0x36420c)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4809fe['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x4809fe;throw _0x36420c;}function at(_0x531497){return{'threadId':_0x531497['commentThreadId'],'commentId':_0x531497['commentId'],'content':_0x531497['content'],'createdAt':_0x531497['createdAt'],'authorId':_0x531497['userId'],'attributes':_0x531497['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x203610{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x105cc0)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x55cc9b,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x192309){super(_0x192309);const _0x4fa999=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x4fa999);}['init'](){const _0x89ea31=this['editor']['plugins']['get'](z),_0x431dd2=this['editor']['plugins']['get'](_0x55cc9b);return _0x431dd2['adapter']={'getSuggestion':async _0x53e8df=>{await this['_waitForServiceReady']();const _0x4cbcf3=await this['_trackChangesService']['get'](_0x53e8df)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x4cbcf3]),_0x4cbcf3;},'addSuggestion':async({id:_0x1b5419,type:_0x1ad43f,data:_0x160083,originalSuggestionId:_0x1e3a7a,attributes:_0x410eda})=>{await this['_waitForServiceReady']();const _0x4f1c02={'id':_0x1b5419,'type':_0x1ad43f,'data':_0x160083,'originalSuggestionId':_0x1e3a7a,'attributes':_0x410eda},_0xb1cce5=await this['_trackChangesService']['add'](_0x1b5419,_0x1ad43f,_0x160083,_0x1e3a7a,_0x410eda)['catch'](_0x5586d1=>{if(dt(_0x5586d1))return new Promise(_0x4ddfef=>{this['_bufferedRequests']['set'](_0x1b5419,{'resolve':_0x4ddfef,'suggestionData':_0x4f1c02});});throw _0x5586d1;});return this['_bufferedRequests']['delete'](_0x1b5419),_0xb1cce5;},'updateSuggestion':async(_0x138f2e,_0x26ced6)=>{if(await this['_waitForServiceReady'](),'open'!==_0x26ced6['state'])return this['_trackChangesService']['update'](_0x138f2e,_0x26ced6)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x113692,_0x1b4be4)=>{_0x431dd2['hasSuggestion'](_0x1b4be4['id'])&&(_0x431dd2['getSuggestion'](_0x1b4be4['id'])['attributes']=_0x1b4be4['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x89ea31['connection']?.['state']&&(_0x89ea31['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x89ea31['connection'])['then'](_0x5127d2=>(_0x89ea31['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x5127d2)['then'](()=>{for(const _0x269c22 of _0x5127d2){_0x431dd2['addSuggestionData'](_0x269c22)['_saved']=!0x0;}})));}async['reconnect'](){const _0x417f07=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x5d4127}=this['editor']['plugins']['get'](z),_0x59fda1=await this['_trackChangesService']['connect'](_0x5d4127);await this['_fetchMissingUsersForThreads'](_0x59fda1);for(const {suggestionData:_0x279bcc,resolve:_0x3fc8f2}of this['_bufferedRequests']['values']()){let _0x2494b9=_0x59fda1['find'](_0x2aaf5d=>_0x2aaf5d['id']===_0x279bcc['id']);_0x2494b9||(_0x2494b9=await this['_trackChangesService']['add'](_0x279bcc['id'],_0x279bcc['type'],_0x279bcc['data'],_0x279bcc['originalSuggestionId'])),_0x3fc8f2(_0x2494b9);}for(const _0x5ca23c of _0x59fda1)_0x417f07['hasSuggestion'](_0x5ca23c['id'])||_0x417f07['addSuggestionData'](_0x5ca23c);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x17575c=>{this['listenTo'](this['_trackChangesService'],'connected',_0x18f5c8=>{_0x18f5c8['off'](),_0x17575c();});});}async['_fetchMissingUsersForThreads'](_0x1010cc){const _0x5cc84a=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x395416}=this['editor']['plugins']['get'](z),_0x4a7535=new Set();for(const {authorId:_0x513dc6}of _0x1010cc)_0x5cc84a['getUser'](_0x513dc6)||_0x4a7535['add'](_0x513dc6);if(0x0===_0x4a7535['size'])return;const _0x25b260=await _0x5778e5['getMany'](_0x395416,Array['from'](_0x4a7535));for(const _0xbf04b4 of _0x25b260)_0x5cc84a['getUser'](_0xbf04b4['id'])||_0x5cc84a['addUser'](_0xbf04b4);}};function lt(_0x16fcfc){if(dt(_0x16fcfc))return new Promise(()=>{});throw _0x16fcfc;}function dt(_0x3d9785){return _0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3d9785['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x203610{static get['requires'](){return[_0x421a60,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2f304c=this['editor']['plugins']['get'](z),_0x23ccb1=this['editor']['plugins']['get'](_0x372972),_0x574b40=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x2f304c,'change:state',(_0x15cd37,_0x495999,_0x5cbac3)=>{_0x23ccb1['isThreadsLoadingPaused']='connected'!==_0x5cbac3;});}),this['listenTo'](_0x2f304c,'change:state',(_0x4bfb2c,_0x11fd6b,_0xff6678)=>{this['editor']['plugins']['get'](_0x4fd941)['switchReadOnly']('connected'!==_0xff6678);}),_0x574b40['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3f5d89=this['editor']['plugins']['get'](ot),_0x25601f=this['editor']['config']['get']('collaboration.channelId');_0x3f5d89['_services']['has'](_0x25601f)&&_0x3f5d89['_terminateService'](_0x25601f),super['destroy']();}},ft=class extends _0x203610{static get['requires'](){return[ut,ht,_0xedfa48];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x203610{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x2cda8d)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x57a2b8,Y,_0x3a0f0f];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2ca630){super(_0x2ca630);const _0x2a7750=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x2a7750);}async['init'](){const _0x2d4b8f=this['editor']['plugins']['get'](tt),_0x77b539=_0x2d4b8f['serverHistory'],_0x3e6b39=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x77b539,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2d4b8f['sessionId']});const _0x1efe80=this['editor']['config']['get']('cloudServices.bundleVersion')||_0xad9c89,_0x535436=await _0x4bd199['isBundleUploaded'](_0x3e6b39['connection'],_0x1efe80);this['editor']['plugins']['get'](_0x57a2b8)['adapter']={'getRevision':async({revisionId:_0x1a9027})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x1a9027)),'updateRevisions':async _0x6a802=>{await this['_waitForServiceReady']();const _0x500cc2=this['_revisionTracker']['currentRevision'];if(_0x535436&&0x1===_0x6a802['length']&&_0x6a802[0x0]['id']===_0x500cc2['id'])return _0x6a802;for(const _0x13e212 of _0x6a802)_0x13e212['id']===_0x500cc2['id']&&(_0x13e212['isEmptyCurrent']=_0x13e212['fromVersion']===_0x13e212['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x6a802,this['_lastRequestId'])['then'](_0xc651aa=>(this['_lastRequestId']=_0xc651aa,_0x6a802))['catch'](_0x24407d=>{if(pt(_0x24407d)||'400'===_0x24407d['code']&&void 0x0!==_0x24407d['data']['wrongRequestId']){for(const _0x14e960 of _0x6a802)this['_revisionTracker']['repository']['getRevision'](_0x14e960['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x14e960['id'],_0x14e960,!0x1);if(pt(_0x24407d)&&'destroyed'!==this['editor']['state'])throw _0x24407d;return _0x6a802;}throw _0x24407d;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x7b0fda,{revisionsData:_0x1dfc7e,requestId:_0x3f1968})=>{Math['max'](..._0x1dfc7e['map'](_0x250a9a=>_0x250a9a['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}):this['_handleRevisionsUpdate'](_0x1dfc7e,_0x3f1968);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x3e6b39['connection']?.['state']&&(_0x3e6b39['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x47c755,requestId:_0x49b361}=await this['_revisionHistoryService']['connect'](_0x3e6b39['connection']);_0x3e6b39['addToReconnectionStack'](this),this['_lastRequestId']=_0x49b361,await this['_fetchMissingUsers'](_0x47c755);for(const _0x52ee2c of _0x47c755)this['_revisionTracker']['addRevisionData'](_0x52ee2c);this['listenTo'](_0x2d4b8f,'change:_isConnected',(_0x341aa0,_0x3dd2d1,_0x4b77d1)=>{_0x4b77d1&&(this['_oldOffset']=_0x2d4b8f['_offset'],_0x341aa0['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x4e1ad3=this['editor']['plugins']['get'](z),_0x250afa=this['editor']['plugins']['get'](tt),_0xc32d28=async()=>{const _0x3dce51=this['_revisionTracker']['currentRevision'],_0xa0c001=_0x3dce51['id'],_0x436dc7=_0xa0c001!==_0x250afa['sessionId'];if(_0x436dc7){const _0x52d571=_0x250afa['_offset']-this['_oldOffset'],_0x525825=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x3dce51['toVersion']+_0x52d571!==_0x525825){const _0x47915c=_0x3dce51['fromVersion']+_0x52d571,_0x2e7de2=this['editor']['plugins']['get'](_0x3a0f0f),_0x6286dd=this['_revisionTracker']['buildRevisionData']({'revision':_0x3dce51,'from':_0x47915c,'to':_0x525825});_0x6286dd['id']=_0x3dce51['id'];const _0x1cfc97=_0x6286dd['authorsIds']['map'](_0x2bd197=>_0x2e7de2['getUser'](_0x2bd197));_0x3dce51['_update']({..._0x6286dd,'authors':_0x1cfc97},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x3dce51['id'],_0x6286dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x525825,_0x3dce51['toVersion']!==_0x3dce51['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0xa0c001)||this['_revisionTracker']['repository']['_revisions']['remove'](_0xa0c001),this['_revisionTracker']['_createCurrentRevision'](_0x525825);}const {revisions:_0x23b8fc,requestId:_0x44c7a4}=await this['_revisionHistoryService']['reconnect'](_0x4e1ad3['connection'],this['_lastRequestId']);_0x436dc7&&_0x23b8fc['length']>0x0?_0x250afa['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x23b8fc),this['_handleRevisionsUpdate'](_0x23b8fc,_0x44c7a4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x250afa['_isConnected']?_0xc32d28():new Promise((_0x246a81,_0x1fa750)=>{_0x250afa['once']('change:_isConnected',()=>{_0xc32d28()['then'](_0x246a81)['catch'](_0x1fa750);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x376b62=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x8d9730=>{_0x8d9730['off'](),_0x376b62();});});}['_getLatestVersionFromServerOperations'](){const _0x58d5c9=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17d994 of _0x58d5c9)if('marker'!==_0x17d994['type']||_0x17d994['affectsData'])return _0x17d994['baseVersion']+0x1;}['_getLatestVersion'](){const _0x52ef6b=this['editor']['plugins']['get'](tt);return new Promise(_0x578998=>{_0x52ef6b['_isPendingUpdate']?_0x52ef6b['once']('change:_isPendingUpdate',()=>{_0x578998(this['_getLatestVersionFromServerOperations']());}):_0x578998(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x461255,_0x3610b6){const _0x388593=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3610b6;for(const _0x4611c3 of _0x461255){const _0x1c0f9f=_0x388593['getRevision'](_0x4611c3['id']);if(_0x1c0f9f){if((_0x4611c3['fromVersion']||_0x4611c3['toVersion'])&&(_0x4611c3['diffData']=null),_0x1c0f9f===this['_revisionTracker']['currentRevision']){const _0x2f4def=Math['max'](_0x1c0f9f['toVersion'],_0x4611c3['toVersion']),_0x12a15f=Math['max'](_0x1c0f9f['fromVersion'],_0x4611c3['fromVersion']);let _0x595b9;_0x1c0f9f['toVersion']===_0x4611c3['toVersion']&&_0x1c0f9f['fromVersion']===_0x4611c3['fromVersion']?(_0x595b9=!0x0,this['_preventResendingRevisionData'](_0x4611c3)):_0x4611c3['toVersion']===_0x2f4def&&_0x4611c3['fromVersion']===_0x12a15f?_0x595b9=!0x1:(_0x1c0f9f['toVersion']===_0x2f4def&&_0x1c0f9f['fromVersion']===_0x12a15f||this['_fixRevision']({'revision':_0x1c0f9f,'from':_0x12a15f,'to':_0x2f4def}),_0x595b9=!0x0),_0x595b9&&(delete _0x4611c3['fromVersion'],delete _0x4611c3['toVersion'],delete _0x4611c3['diffData'],delete _0x4611c3['createdAt'],delete _0x4611c3['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x4611c3),this['_preventResendingRevisionData'](_0x4611c3);}else this['_revisionTracker']['addRevisionData'](_0x4611c3);}const _0x5ee1c9=_0x388593['getRevisions']();_0x5ee1c9['reverse']();for(let _0x5eff3c=0x0;_0x5eff3c<_0x5ee1c9['length']-0x1;_0x5eff3c++){const _0x2b93ba=_0x5ee1c9[_0x5eff3c],_0x16299b=_0x5ee1c9[_0x5eff3c+0x1];if(_0x2b93ba['fromVersion']<_0x16299b['toVersion']){const _0x4520c2=_0x16299b['toVersion'],_0x44eb84=Math['max'](_0x4520c2,_0x2b93ba['toVersion']);this['_fixRevision']({'revision':_0x2b93ba,'from':_0x4520c2,'to':_0x44eb84});}}}['_fixRevision']({revision:_0x49f833,from:_0xe37590,to:_0x147670}={}){const _0x1d3083=this['editor']['plugins']['get'](_0x3a0f0f),_0x12e47c=this['_revisionTracker']['buildRevisionData']({'revision':_0x49f833,'from':_0xe37590,'to':_0x147670});_0x12e47c['authors']=_0x12e47c['authorsIds']['map'](_0x19b395=>_0x1d3083['getUser'](_0x19b395)),_0x49f833['_update'](_0x12e47c);}['_preventResendingRevisionData'](_0x39be98){const _0x304c74={};_0x304c74['id']=_0x39be98['id'];for(const _0x413c26 of Object['keys'](_0x39be98))'id'!==_0x413c26&&(_0x304c74[_0x413c26]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x304c74['id'],_0x304c74,!0x0);}async['_fetchMissingUsers'](_0x2650d2){const _0x4dd1ad=this['editor']['plugins']['get'](_0x3a0f0f),{connection:_0x3dc1e0}=this['editor']['plugins']['get'](z),_0x3bfa41=new Set();for(const _0x263d12 of _0x2650d2){for(const _0x1797b4 of _0x263d12['authorsIds'])_0x249df1(_0x1797b4);_0x263d12['creatorId']&&_0x249df1(_0x263d12['creatorId']);}if(0x0===_0x3bfa41['size'])return;const _0x35b17c=await _0x5778e5['getMany'](_0x3dc1e0,Array['from'](_0x3bfa41));for(const _0x4c92a5 of _0x35b17c)_0x4dd1ad['getUser'](_0x4c92a5['id'])||_0x4dd1ad['addUser'](_0x4c92a5);function _0x249df1(_0x5a1e9b){_0x4dd1ad['getUser'](_0x5a1e9b)||_0x3bfa41['add'](_0x5a1e9b);}}};function pt(_0x52e9f5){return _0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x52e9f5['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x203610{static get['requires'](){return[_0x57a2b8,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x4317fb{['_collapseAt'];constructor(_0x1c9075,_0x5bc683=0x6){super(_0x1c9075);const _0x36641a=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x5bc683,this['bind']('isHidden')['to'](this,'usersCount',_0x1cc367=>_0x1cc367<_0x5bc683),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x36641a['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':_0x36641a['to']('usersCount',_0x19bd58=>'+'+(_0x19bd58-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x4317fb{['items'];['keystrokes'];constructor(_0x1baae8){super(_0x1baae8);const _0x2a08ed=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x17a0f8(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x2a08ed['if']('hasPopup'),'aria-expanded':_0x2a08ed['to']('isExpanded',_0x2ea15c=>this['hasPopup']&&String(_0x2ea15c)),'aria-label':_0x2a08ed['to']('hasPopup',_0x41c124=>X(_0x1baae8,_0x41c124?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x2a08ed['to']('hasPopup',_0x46cbc=>!!_0x46cbc&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x2a08ed['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x2a08ed['to'](_0x2618a3=>{const _0x2f9651=_0x2618a3,_0x338487=document['querySelector']('.ck-presence-list__dropdown-list'),_0x56a132=document['querySelector']('.ck-balloon-panel_with-arrow');_0x338487?.['contains'](_0x2f9651['relatedTarget'])||_0x56a132?.['contains'](_0x2f9651['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x3c440f,_0x53fa31,_0x2931c0)=>{this['element']&&(_0x2931c0?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x4317fb{['counterView'];['inlineListView'];constructor(_0x1bb56f,_0x1c3427=0x6){super(_0x1bb56f);const _0x2e428d=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x1c3427),this['inlineListView']=new vt(_0x1bb56f),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x5cf091 of this['inlineListView']['items'])_0x5cf091['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',_0x2e428d['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x4317fb{['listWrapperView'];constructor(_0x343dce,_0x4bbbf5){super(_0x343dce);const _0x3e90bc=this['bindTemplate'];this['listWrapperView']=new bt(_0x343dce,_0x4bbbf5),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x343dce,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x3e90bc['to'](_0x25d1b5=>{const _0xeee1ff=_0x25d1b5,_0x52662f=document['querySelector']('.ck-presence-list__list'),_0x129009=document['querySelector']('.ck-balloon-panel_with-arrow');_0x52662f?.['contains'](_0xeee1ff['relatedTarget'])||_0x129009?.['contains'](_0xeee1ff['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x1157a6{constructor(_0x1c0c52,_0x2f7f8c){super(_0x1c0c52);const _0x45dc73=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x2f7f8c?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x45dc73['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x45dc73['to']('role'),'aria-label':_0x45dc73['to']('ariaLabel'),'aria-labelledby':_0x45dc73['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x6efeaf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x297135=this['element'];_0x297135&&(this['_isScrollable']=Math['max'](_0x297135['scrollHeight'],_0x297135['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x2b1c38{['userView'];constructor(_0x15c40f,_0x2cb5c6,_0x52b0ed){super(_0x15c40f);const _0x3c0ed5=this['bindTemplate'];this['userView']=new _0x15c9e3(_0x15c40f,_0x2cb5c6);const _0x5f1f2b={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x2cb5c6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x2cb5c6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x2cb5c6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x2cb5c6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x2cb5c6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x52b0ed&&(_0x5f1f2b['tag']='button',_0x5f1f2b['on']={'click':_0x3c0ed5['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5f1f2b);}['focus'](){this['element']['focus']();}},It=class extends _0x4317fb{['userView'];['markerView'];constructor(_0xc036af,_0x83ef7e,_0x471d61){super(_0xc036af);const _0x2960e9=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x15c9e3(_0xc036af,_0x83ef7e),this['markerView']=new St(_0xc036af,_0x83ef7e);const _0x5ba787=new _0x5a2556(_0xc036af);_0x5ba787['template']['tag']='span',_0x5ba787['text']=_0x83ef7e['name'];const _0x3d4836={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x2960e9['to']('isFocusable',_0x4ec3ab=>!!_0x4ec3ab&&0x0),'aria-labelledby':_0x5ba787['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x2960e9['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x2960e9['to']('hasTooltip',_0x5ea876=>!_0x5ea876),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ba787]};_0x471d61&&(_0x3d4836['tag']='button',_0x3d4836['on']={'click':_0x2960e9['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x3d4836);}},St=class extends _0x4317fb{constructor(_0x493824,_0x16afb8){super(_0x493824),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x16afb8['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x16afb8['color']['getColorVariable'](),'--ck-user-color-alpha':_0x16afb8['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x525f71{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2bbdaa){super(_0x2bbdaa),this['context']['config']['define']('presenceList',Tt);const _0x18ef0c=_0x2bbdaa['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x18ef0c)throw new _0x50f763('presencelist-collapseat-invalid-format',this);if(_0x18ef0c<0x1)throw new _0x50f763('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x3eba5a(),this['balloonPanelView']=new _0x1af306(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x43bb59 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x43bb59);this['listenTo'](this['_allConnectedUsers'],'add',(_0x14e8c1,_0x24623f)=>{this['_handleUserAdd'](_0x24623f);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x471e33,_0x33ac18)=>{this['_handleUserRemove'](_0x33ac18);});}['_createView'](){const _0x55f580=this['context'],_0x3b6a9d=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49a49b=this['balloonPanelView'];if(!_0x31be5e(_0x55f580['config']['get']('presenceList.container')))throw new _0x50f763('presencelist-missing-container',this);return _0x3b6a9d['counterView']['bind']('usersCount')['to'](this),_0x3b6a9d['bind']('isCollapsed')['to'](this,'usersCount',_0x195df2=>{const {collapseAt:_0x4f38ea}=_0x55f580['config']['get']('presenceList'),_0x444c2c=_0x195df2>=_0x4f38ea;if(_0x444c2c&&!_0x3b6a9d['inlineListView']['items']['find'](_0x2a93a2=>_0x2a93a2 instanceof wt)){const _0x16b7d8=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x16b7d8&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x3b6a9d['inlineListView']['items']['add'](_0x3b6a9d['counterView']);}return _0x444c2c||this['hideDropdown'](),_0x444c2c;}),_0x3b6a9d['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x532c16=>{const _0x5ebb92=_0x55f580['config']['get']('presenceList'),_0x5b4103=new It(_0x55f580['locale'],_0x532c16,!!_0x5ebb92['onClick']);return _0x5b4103['bind']('hasTooltip')['to'](_0x3b6a9d,'isCollapsed',_0x57f9a3=>!_0x57f9a3),_0x5b4103['bind']('isFocusable')['to'](_0x3b6a9d,'isCollapsed',_0x221713=>!_0x221713),_0x5ebb92['onClick']&&this['listenTo'](_0x5b4103,'execute',()=>{this['view']['isCollapsed']||_0x5ebb92['onClick'](_0x532c16,_0x5b4103['element']);}),_0x5b4103;}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x3b6a9d['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x3b6a9d['inlineListView']['keystrokes']['set']('Enter',(_0x47c85,_0x5b2fbb)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b2fbb());}),_0x3b6a9d['render'](),_0x49a49b['render'](),_0x56aa22({'emitter':_0x3b6a9d,'activator':()=>_0x49a49b['isVisible'],'contextElements':[_0x49a49b['element'],_0x3b6a9d['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x55f580['config']['get']('presenceList.container')['appendChild'](_0x3b6a9d['element']),this['_bodyCollection']=new _0x3e76fb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x3b6a9d;}['_handleUserAdd'](_0x587675){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x587675['isMe'])return;const _0x151cc3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x151cc3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x41c550=_0x587675['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x587675,_0x41c550);}['_handleUserRemove'](_0x5ea65f){this['usersCount']--;const {collapseAt:_0x520d0e}=this['context']['config']['get']('presenceList'),_0xb90513=this['usersCount']>=_0x520d0e;if(this['currentDisplayedUsers']['get'](_0x5ea65f['id']))this['currentDisplayedUsers']['remove'](_0x5ea65f['id']);else{if(_0xb90513&&this['currentDisplayedUsers']['length']+0x1===_0x520d0e-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)<this['usersCount']){for(const _0x276b0c of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x276b0c['id'])&&(this['currentDisplayedUsers']['add'](_0x276b0c,Math['min'](this['currentDisplayedUsers']['length']-(_0xb90513?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xb90513?0x1:0x0)===_0x520d0e-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x487df0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x487df0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x414ea8}=this['presenceDropdownView'];_0x414ea8['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x14920a=>{if(!_0x487df0['displayMe']&&_0x14920a['isMe'])return null;const _0x4ec9a6=new kt(this['context']['locale'],_0x14920a,!!_0x487df0['onClick']);return _0x487df0['onClick']&&this['listenTo'](_0x4ec9a6,'execute',()=>{_0x487df0['onClick'](_0x14920a,_0x4ec9a6['element']);}),_0x4ec9a6;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x414ea8['focus'](),_0x414ea8['checkIfScrollable']();const _0x359153=(_0x56c5c9,_0x4627cb)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x4627cb();};_0x414ea8['keystrokes']['set']('Esc',_0x359153),_0x414ea8['keystrokes']['set']('Shift+Tab',_0x359153),_0x414ea8['keystrokes']['set']('Tab',(_0x15afbf,_0x57d0c1)=>{!function(_0x4802a1){const _0x37d8f8=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x1b5452=>_0x1b5452+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x1ab3be=[...document['body']['querySelectorAll'](_0x37d8f8)]['filter'](_0x219472=>_0x219472===document['activeElement']||_0x219472['offsetWidth']+_0x219472['offsetHeight']>0x0)['sort']((_0x37744e,_0x2e37ba)=>(_0x37744e['tabIndex']||0x0)-(_0x2e37ba['tabIndex']||0x0)),_0x5b8d25=_0x1ab3be[(_0x1ab3be['indexOf'](_0x4802a1)+0x1)%_0x1ab3be['length']];_0x5b8d25&&_0x5b8d25['focus']();}(this['view']['element']),this['hideDropdown'](),_0x57d0c1();}),_0x414ea8['focusTracker']['add'](this['view']['element']),_0x414ea8['focusTracker']['on']('change:isFocused',(_0x104579,_0x240cf0,_0x2768d6)=>{_0x2768d6||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x525f71{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{Context as _0x40965d,ContextPlugin as _0x2818ba,PendingActions as _0x13e9ee,Plugin as _0x3eef9e}from'@ckeditor/ckeditor5-core';import{CKEditorError as _0x39cc72,Collection as _0x533d03,DomEmitterMixin as _0x3ad2ae,KeystrokeHandler as _0x1b9bbc,global as _0x5de4cf,uid as _0x26c87e,version as _0x2ff48a}from'@ckeditor/ckeditor5-utils';import{BalloonPanelView as _0x35ff59,BodyCollection as _0x39c0cb,LabelView as _0x5cd191,ListItemView as _0x537ded,ListView as _0x63033d,Notification as _0x27b27a,View as _0x118b39,clickOutsideHandler as _0x125654}from'@ckeditor/ckeditor5-ui';import{History as _0x4783e9,InsertOperation as _0x27aa6e,MarkerOperation as _0x30954d,ModelLiveRange as _0x4175bc,NoOperation as _0xf768d9,OperationFactory as _0x44800b,RootAttributeOperation as _0x2727f3,transformOperationSets as _0x50af1d}from'@ckeditor/ckeditor5-engine';import{CloudServices as _0x5f118b}from'@ckeditor/ckeditor5-cloud-services';import{CollaborativeEditingService as _0x396cfa,CommentsService as _0x1e5c77,EditorService as _0x57c6a6,RevisionHistoryService as _0x25482a,TrackChangesService as _0x2f8ee3,User as _0x2b182d,WEB_SOCKET_GATEWAY_STATES as _0xe7bc04,WebSocketGateway as _0xce0c00}from'@ckeditor/ckeditor-cloud-services-collaboration';import{UserView as _0x2710e6,Users as _0x436e7d}from'@ckeditor/ckeditor5-collaboration-core';import{Compressor as _0x510ebc}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChanges as _0x54c3b7,TrackChangesEditing as _0x36b9ab}from'@ckeditor/ckeditor5-track-changes';import{Comments as _0x401e20,CommentsEditing as _0x2a3ec7,CommentsRepository as _0x5e513f}from'@ckeditor/ckeditor5-comments';import{RevisionHistory as _0x2f5675}from'@ckeditor/ckeditor5-revision-history';import{isElement as _0x7e36a1}from'es-toolkit/compat';var z=class WebSocketGateway extends _0x2818ba{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0xce0c00)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x5f118b,_0x27b27a];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b2633){super(_0x1b2633),this['set']('state',_0xe7bc04['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x3ad2ae())();}['init'](){const _0x3059b5=this['context'],_0x32dd85=_0x3059b5['plugins']['get'](_0x5f118b),_0x163784=_0x3059b5['plugins']['get'](_0x27b27a);if(!_0x32dd85['token'])throw new _0x39cc72('websocketgateway-missing-token',this);if(!_0x32dd85['webSocketUrl'])throw new _0x39cc72('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),WebSocketGateway['WebSocketGateway']['connect'](_0x32dd85['token'],_0x32dd85['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x724530=>{if(this['connection']=_0x724530,this['bind']('state')['to'](_0x724530,'state',this,'_isBrowserOffline',(_0x243e23,_0x5ea164)=>('connected'!==_0x243e23&&(this['_shouldPluginsReconnect']=!0x0),_0x5ea164||_0x243e23!==_0xe7bc04['CONNECTED']?_0xe7bc04['DISCONNECTED']:this['state']==_0xe7bc04['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xe7bc04['CONNECTING']):_0xe7bc04['CONNECTED'])),this['connection']['on']('error',(_0x846e6a,_0x56ed11)=>{if('limitExceeded'!==_0x56ed11['code'])throw console['error'](_0x56ed11),new _0x39cc72('cloudservices-init',null,{'originalError':_0x56ed11});_0x163784['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'});}),!_0x724530['me'])return new Promise(_0x1398fb=>_0x724530['on']('change:me',_0x1398fb));})['catch'](_0x5af219=>{throw console['error'](_0x5af219),new _0x39cc72('cloudservices-init',null,{'originalError':_0x5af219});});}['addToReconnectionStack'](_0x47b666){if('function'!=typeof _0x47b666['reconnect'])throw new _0x39cc72('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x47b666))throw new _0x39cc72('websocketgateway-plugin-already-registered',this,{'name':_0x47b666['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x47b666);}['removeFromReconnectionStack'](_0x2522ad){this['_reconnectionStack']['delete'](_0x2522ad);}['isInReconnectionStack'](_0x4868e9){return this['_reconnectionStack']['has'](_0x4868e9);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x59f2ac=>_0x59f2ac['reconnect']())))['then'](()=>this['state']=_0xe7bc04['CONNECTED'])['catch'](_0x591aca=>{throw console['error'](_0x591aca),new _0x39cc72('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xe7bc04['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}},Y=class extends _0x2818ba{['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,_0x436e7d];}constructor(_0x100925){super(_0x100925),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x533d03(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x436e7d);}['init'](){const _0x107333=this['context']['plugins']['get'](z);this['listenTo'](_0x107333,'change:state',(_0x22246d,_0x5933c2,_0x7f775b)=>{if('connected'!==_0x7f775b)this['channelSessions']['forEach'](_0x2ecfc8=>_0x2ecfc8['clear']()),this['channelConnectedUsers']['forEach'](_0x4492d9=>_0x4492d9['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5834db,_0x3ef91c]of this['_registeredSessions'])for(const _0x518e59 of _0x3ef91c)this['_handleSessionAdd'](_0x5834db,_0x518e59);}}),this['_createUser'](_0x107333['connection']['me'],!0x0);}['register'](_0x24b9a4,_0x237da1){if(this['_registeredSessions']['has'](_0x24b9a4))throw new _0x39cc72('sessions-register-already-registered',null,{'channelId':_0x24b9a4});this['_registeredSessions']['set'](_0x24b9a4,_0x237da1),this['channelSessions']['set'](_0x24b9a4,new _0x533d03()),this['channelConnectedUsers']['set'](_0x24b9a4,new _0x533d03()),this['listenTo'](_0x237da1,'add',(_0x51d456,_0x3632fb)=>this['_handleSessionAdd'](_0x24b9a4,_0x3632fb)),this['listenTo'](_0x237da1,'remove',(_0x18e85f,_0xe37586)=>this['_handleSessionRemove'](_0x24b9a4,_0xe37586));for(const _0x11a028 of _0x237da1)this['_handleSessionAdd'](_0x24b9a4,_0x11a028);}['unregister'](_0x171f75){if(!this['_registeredSessions']['has'](_0x171f75))throw new _0x39cc72('sessions-unregister-not-exist',null,{'channelId':_0x171f75});const _0x5047b1=this['_registeredSessions']['get'](_0x171f75);this['stopListening'](_0x5047b1);for(const _0x5e6a63 of _0x5047b1)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x171f75,_0x5e6a63);this['_registeredSessions']['delete'](_0x171f75),this['channelSessions']['delete'](_0x171f75),this['channelConnectedUsers']['delete'](_0x171f75);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5372bf){for(const _0x5ceebf of this['channelSessions']['values']())for(const _0xcd53c3 of _0x5ceebf)if(_0xcd53c3['id']===_0x5372bf)return _0xcd53c3['user'];}['getUserSessions'](_0x2053f8,_0x8daca9){const _0x3fea1e=_0x8daca9?[this['channelSessions']['get'](_0x8daca9)]:this['channelSessions']['values'](),_0x555afc=new Set();for(const _0x3f5d93 of _0x3fea1e)for(const _0x3f8827 of _0x3f5d93)_0x3f8827['user']['id']===_0x2053f8['id']&&_0x555afc['add'](_0x3f8827['id']);return _0x555afc;}['getUserRole'](_0x54a789){for(const _0xad31d3 of this['channelSessions']['values']())for(const _0x14ec6b of _0xad31d3)if(_0x14ec6b['user']===_0x54a789)return _0x14ec6b['role'];}['_handleSessionAdd'](_0x498192,_0x45aa78){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1147b0=_0x45aa78['user'],_0x453597=this['_users']['getUser'](_0x1147b0['id'])||this['_createUser'](_0x1147b0),_0x59097c=Object['assign']({},_0x45aa78,{'user':_0x453597});if(this['channelSessions']['get'](_0x498192)['add'](_0x59097c),!_0x1147b0['hiddenInPresenceList']){const _0x1ca3d9=this['channelConnectedUsers']['get'](_0x498192);_0x1ca3d9['has'](_0x453597['id'])||_0x1ca3d9['add'](_0x453597),this['allConnectedUsers']['has'](_0x453597['id'])||_0x1147b0['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x453597,_0x453597['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x498192,{'channelId':_0x498192,'session':_0x59097c});}['_handleSessionRemove'](_0x4f6022,_0x3c11ea){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x509632=this['channelConnectedUsers']['get'](_0x4f6022),_0x2c0e73=_0x3c11ea['user'];_0x2c0e73['id']&&(this['channelSessions']['get'](_0x4f6022)['remove'](_0x3c11ea['id']),_0x509632['has'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73,_0x4f6022)['size']&&_0x509632['remove'](_0x2c0e73['id']),this['allConnectedUsers']['get'](_0x2c0e73['id'])&&!this['getUserSessions'](_0x2c0e73)['size']&&this['allConnectedUsers']['remove'](_0x2c0e73['id']));}['_createUser'](_0x3c795b,_0x52e998){const _0x4624f5=this['_users']['addUser'](_0x3c795b);return _0x52e998&&this['_users']['defineMe'](_0x3c795b['id']),_0x4624f5['orderNumber']=this['_uniqueUsersCount']++,_0x4624f5;}},K=class extends _0x3eef9e{['_domEmitter']=new(_0x3ad2ae())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x110846=this['editor'],_0x232fa0=_0x110846['plugins']['get'](Y);_0x110846['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x28cae4,{writer:_0x4904f5})=>function(_0x4040c4,_0x626049,_0xf317ff,_0x4989c7){const _0x18ca19=_0x4040c4['markerName']['split'](':')[0x2],_0x1ea1b4=_0xf317ff['getUserBySessionId'](_0x18ca19);if(!_0x1ea1b4||_0x18ca19===_0xf317ff['mySessionId'])return;if(!_0x4989c7['model']['schema']['checkChild'](_0x4040c4['markerRange']['start'],'$text'))return;const _0x4881fd={'class':'ck-user__marker\x20'+_0x1ea1b4['color']['getMarkerClass'](),'style':Q(_0x1ea1b4),'data-name':_0x1ea1b4['name'],'data-session-id':_0x18ca19},_0x48916d=_0x4989c7['model']['markers']['get'](_0x4040c4['markerName'])['getStart'](),_0x3e3992=_0x48916d['nodeAfter'],_0x3f5436=_0x4989c7['model']['schema'];if(_0x3e3992&&_0x3f5436['isObject'](_0x3e3992)&&_0x3f5436['isInline'](_0x3e3992)&&!_0x4989c7['model']['markers']['get']('user:range:'+_0x18ca19)['getRange']()['isCollapsed'])return;const _0x580541=_0x48916d['parent'];return _0x4989c7['model']['schema']['isLimit'](_0x580541)&&!_0x4989c7['model']['hasContent'](_0x580541)&&(_0x4881fd['contenteditable']=!0x1),function(_0x414b3b,_0x1c1a2b,_0x4f2516){const _0x1f5687=_0x414b3b['createUIElement']('span',_0x1c1a2b);return _0x414b3b['setCustomProperty']('userPositionMarker',!0x0,_0x1f5687),_0x1f5687['render']=function(_0x3610e3){const _0x35b6c6=this['toDomElement'](_0x3610e3),_0x468113=document['createElement']('span');return _0x468113['classList']['add']('ck-user__marker-tooltip'),_0x468113['setAttribute']('contenteditable','false'),_0x468113['setAttribute']('spellcheck','false'),_0x468113['textContent']=_0x4f2516['name'],_0x35b6c6['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x468113['outerHTML']+'⁠',_0x35b6c6['addEventListener']('mouseenter',()=>{_0x35b6c6['classList']['add']('ck-user__marker_hovered');}),_0x35b6c6['addEventListener']('mouseleave',()=>{_0x35b6c6['classList']['remove']('ck-user__marker_hovered');}),_0x35b6c6;},_0x1f5687['isSimilar']=function(_0x28c817){return!(!this['getCustomProperty']('userPositionMarker')||!_0x28c817['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x28c817['getAttribute']('data-session-id'));},_0x1f5687;}(_0x626049,_0x4881fd,_0x1ea1b4);}(_0x28cae4,_0x4904f5,_0x232fa0,_0x110846)}),_0x110846['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x2ac7a9=>function(_0x271651,_0x5dbd7c){const _0x32682d=_0x271651['markerName']['split'](':')[0x2];if(_0x32682d===_0x5dbd7c['mySessionId'])return null;const _0x2591bb=_0x5dbd7c['getUserBySessionId'](_0x32682d);return _0x2591bb?{'id':_0x32682d,'classes':['ck-user__selection',_0x2591bb['color']['getSelectionClass']()],'attributes':{'style':Q(_0x2591bb),'data-session-id':_0x32682d},'priority':0x7d0+_0x2591bb['orderNumber']}:{'id':_0x32682d,'classes':[]};}(_0x2ac7a9,_0x232fa0)}),function(_0x53a50f){const _0x50b416=_0x53a50f['model'],_0x4485fc=new Map(),_0x3fbd21=_0x53a50f['plugins']['get'](Y);_0x50b416['markers']['on']('update:user:range',(_0x4e36fa,_0x308ab9,_0x3d0afd,_0x49c3e8)=>{if(!_0x49c3e8&&_0x4485fc['get'](_0x308ab9['name']))return _0x4485fc['get'](_0x308ab9['name'])['detach'](),void _0x4485fc['delete'](_0x308ab9['name']);const _0x2e6889=_0x308ab9['name']['split'](':')[0x2];if(_0x2e6889===_0x3fbd21['mySessionId'])return;const _0x31abe6='user:position:'+_0x2e6889;_0x50b416['markers']['has'](_0x31abe6)&&_0x53a50f['editing']['reconvertMarker'](_0x31abe6),_0x308ab9['on']('change:range',(_0x15a547,_0x1364b6,_0x7be478)=>{if('$graveyard'!=_0x1364b6['root']['rootName']&&'$graveyard'==_0x308ab9['getRange']()['root']['rootName']&&!_0x4485fc['has'](_0x308ab9['name'])){const _0x3c076f=_0x50b416['schema']['getNearestSelectionRange'](_0x7be478['deletionPosition']);if(_0x3c076f){const _0x535023=_0x4175bc['fromRange'](_0x3c076f);_0x4485fc['set'](_0x308ab9['name'],_0x535023),_0x535023['on']('change:range',(_0x511f23,_0x499089,_0x34f2aa)=>{if('$graveyard'==_0x535023['root']['rootName']){const _0x107fab=_0x50b416['schema']['getNearestSelectionRange'](_0x34f2aa['deletionPosition']);_0x107fab?(_0x535023['start']=_0x107fab['start'],_0x535023['end']=_0x107fab['end']):(_0x4485fc['delete'](_0x308ab9['name']),_0x535023['detach']());}});}}});}),_0x50b416['document']['on']('change',()=>{_0x4485fc['size']>0x0&&_0x50b416['enqueueChange']({'isUndoable':!0x1},_0x1cf3fa=>{for(const [_0x2311ea,_0x539be3]of _0x4485fc)'$graveyard'==_0x50b416['markers']['get'](_0x2311ea)['getRange']()['root']['rootName']&&(J(_0x2311ea['split'](':')[0x2],_0x539be3['toRange'](),_0x50b416,_0x1cf3fa),_0x539be3['detach']());_0x4485fc['clear']();});});}(_0x110846),this['_domEmitter']['listenTo'](_0x5de4cf['document'],'keydown',(_0x281ce5,{key:_0x480f94})=>{'Escape'===_0x480f94&&function(_0x317a47){_0x317a47['editing']['view']['change'](_0x4a2c2d=>{for(const _0x210b23 of _0x317a47['model']['markers']){if(!_0x210b23['name']['startsWith']('user:position'))continue;const _0x25b9ca=_0x317a47['editing']['mapper']['markerNameToElements'](_0x210b23['name']);if(_0x25b9ca){for(const _0xe7f269 of _0x25b9ca)_0x4a2c2d['removeClass']('ck-user__marker_hovered',_0xe7f269);}}});}(_0x110846);},{'useCapture':!0x0});}['afterInit'](){const _0x30bb1c=this['editor'],_0x3b6b41=_0x30bb1c['commands']['get']('undo');_0x3b6b41&&_0x30bb1c['model']['on']('applyOperation',(_0x314cc8,_0x3de63f)=>{const _0x304756=_0x3de63f[0x0];if(!_0x304756['isDocumentOperation'])return;if('marker'!=_0x304756['type']||!_0x304756['name']['startsWith']('user:'))return;const _0x58cec5=_0x304756['batch'];_0x3b6b41['_createdBatches']['has'](_0x58cec5)&&(_0x304756['newRange']=_0x304756['oldRange']?_0x30bb1c['model']['createRange'](_0x304756['oldRange']['start'],_0x304756['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x128b28=this['editor'],_0x47ba5e=_0x128b28['model']['document'],_0x5f5940=_0x128b28['plugins']['get'](Y);_0x128b28['model']['enqueueChange']({'isUndoable':!0x1},_0x4e2f28=>{const _0x109da2='user:range:'+_0x5f5940['mySessionId'],_0x30442e='user:position:'+_0x5f5940['mySessionId'],_0x565f66=_0x128b28['model']['markers']['has'](_0x109da2);_0x128b28['editing']['view']['hasDomSelection']?J(_0x5f5940['mySessionId'],_0x47ba5e['selection']['getFirstRange'](),_0x128b28['model'],_0x4e2f28):_0x565f66&&(_0x4e2f28['removeMarker'](_0x109da2),_0x4e2f28['removeMarker'](_0x30442e));});}};function J(_0x4ac527,_0x1fd616,_0x1fd7ac,_0x3cdcb0){const _0x3e66ea='user:range:'+_0x4ac527,_0x1c97bb='user:position:'+_0x4ac527,_0x99be11=_0x1fd616['getContainedElement']();let _0x17ebe0=_0x1fd616['start'];if(_0x99be11&&_0x99be11['is']('element','tableCell')){const _0x21eb73=function(_0xb94e4c,_0x40c3f4){for(const _0x1380cb of _0xb94e4c['getPositions']())if(_0x40c3f4['schema']['checkChild'](_0x1380cb,'$text'))return _0x1380cb;}(_0x1fd616,_0x1fd7ac);_0x21eb73&&(_0x17ebe0=_0x21eb73,_0x1fd616=_0x3cdcb0['createRange'](_0x17ebe0));}const _0x43cad0=_0x3cdcb0['createRange'](_0x17ebe0);_0x1fd7ac['markers']['has'](_0x3e66ea)?(_0x3cdcb0['updateMarker'](_0x3e66ea,{'range':_0x1fd616}),_0x3cdcb0['updateMarker'](_0x1c97bb,{'range':_0x43cad0})):(_0x3cdcb0['addMarker'](_0x3e66ea,{'range':_0x1fd616,'usingOperation':!0x0}),_0x3cdcb0['addMarker'](_0x1c97bb,{'range':_0x43cad0,'usingOperation':!0x0}));}function Q(_0x33a1c3){return'--ck-user-color:'+_0x33a1c3['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x33a1c3['color']['getColorAlphaVariable']()+';';}function X(_0x31961a,_0x134050,_0x5631f1){const _0x5b6061=_0x31961a['t'],t=_0x31961a['t'];switch(_0x134050){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 _0x5b6061({'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'},_0x5631f1);default:return'';}}let Z=0x1;var tt=class RealTimeCollaborationClient extends _0x3eef9e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x396cfa)());['_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,_0x13e9ee,_0x436e7d,_0x27b27a];}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 _0x57bb73=this['serverHistory']['getOperations']();for(let _0xa806a5=_0x57bb73['length']-0x1;_0xa806a5>=0x0;_0xa806a5--){const _0x3a11d1=_0x57bb73[_0xa806a5];if(!this['_disconnectionOperations']['has'](_0x3a11d1))return _0x3a11d1['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x47bfc8){if(super(_0x47bfc8),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x4783e9(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x39cc72('collaboration-missing-channelid',this);const _0x52d9a5=_0x47bfc8['config']['get']('cloudServices.bundleVersion')||_0x2ff48a;this['_service']=new RealTimeCollaborationClient['CollaborativeEditingService'](_0x52d9a5,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x510ebc(),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 _0x51923b=this['editor'],_0x44036e=_0x51923b['plugins']['get'](_0x436e7d),_0x903b4f=_0x51923b['plugins']['get'](z);this['listenTo'](_0x44036e,'getOperationAuthor',(_0x4e4c36,_0x1de97)=>{const _0x3b21bb=_0x1de97[0x0];_0x3b21bb['_authorId']&&(_0x4e4c36['return']=_0x44036e['getUser'](_0x3b21bb['_authorId']),_0x4e4c36['stop']()),null===_0x3b21bb['_authorId']&&(_0x4e4c36['return']=null,_0x4e4c36['stop']());},{'priority':'high'}),this['listenTo'](_0x51923b['model']['document']['selection'],'change:range',(_0x379fe6,_0x3e22de)=>{_0x3e22de['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x51923b['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x51923b['model']['on']('applyOperation',(_0x4eeb3b,_0x3b566f)=>{const _0x5a1047=_0x3b566f[0x0];_0x5a1047['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x5a1047),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['set']('_isChannelFlushed',!0x1),this['bind']('_isEditingAllowed')['to'](_0x903b4f,'state',this,'_hasSynchronizationProblem',this,'_isChannelFlushed',(_0x2aa08f,_0x40674b,_0x5d3545)=>'connected'===_0x2aa08f&&!_0x40674b&&!_0x5d3545),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x51923b['disableReadOnlyMode']('rtc-offline'):_0x51923b['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x1872d1=this['editor']['plugins']['get'](Y),_0x7e8705=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x1872d1['unregister'](this['_channelId']);const _0x1e8c35=await this['_service']['reconnect'](_0x7e8705['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x1e8c35)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x1081b9=await this['_service']['getConnectedSessions']();_0x1872d1['register'](this['_channelId'],_0x1081b9),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x544f02){if(function(_0x3f93f8){return'404'===_0x3f93f8['code'];}(_0x544f02)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x4c625c){return'409'===_0x4c625c['code'];}(_0x544f02)){const _0x41e992=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'](_0x41e992);}else{if(!(_0x544f02 instanceof et))throw _0x544f02;this['_handleReconnectionError']();}}}}['destroy'](){const _0x260cae=this['editor']['plugins']['get'](z),_0x5c8200=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x5c8200['channelSessions']['has'](this['_channelId'])&&_0x5c8200['unregister'](this['_channelId']),_0x260cae['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x2c6746){if(this['sessionId']!==_0x2c6746['sessionId']&&this['_lastSyncedOperationId']!==_0x2c6746['lastOperationId'])throw new et();return this['sessionId']=_0x2c6746['sessionId'],this['_handleServerResponse']([],{..._0x2c6746,'wereChangesApplied':!0x1,'data':_0x2c6746['data']},'reconnect');}async['_connectService'](_0x462396,_0x5070ec=!0x1){const {connection:_0x262d2a}=this['editor']['plugins']['get'](z);RealTimeCollaborationClient['CollaborativeEditingService']['getConnectedSessions'](_0x262d2a,this['_channelId'])['then'](_0x27e0ca=>this['_initSessionsHandling'](_0x27e0ca))['catch'](_0x222b43=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x222b43);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x1d1986,_0x2bfdb2)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x2bfdb2);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_handleChannelDisconnected']();});const _0x4a007f=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x462396);this['_isPendingUpdate']=!0x0;const _0x108111=await this['_service']['connect'](_0x262d2a,this['_compressOperations'](_0x462396),_0x4a007f);if(this['sessionId']=_0x108111['sessionId'],_0x5070ec){if(!_0x108111['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x108111['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x462396,_0x108111,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x108111,_0x462396);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x5367f1=this['editor']['plugins']['get'](Y),_0x57f004=this['editor']['plugins']['get'](K),_0x5e810f=_0x5367f1['channelSessions']['get'](this['_channelId']);_0x5e810f&&_0x5e810f['length']>0x1?_0x57f004['createUserMarkerOperations']():this['listenTo'](_0x5367f1,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x5367f1['channelSessions']['get'](this['_channelId'])['length']&&_0x57f004['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x584f92,_0x29a09f,_0x50fd57,_0x303abc){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x29a09f){const _0x3e2e6a=this['_decompressOperations'](_0x50fd57,_0x303abc);await this['_fetchMissingUsers'](_0x3e2e6a),this['_handleExternalOperations'](_0x3e2e6a,_0x29a09f,_0x50fd57['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x44be12}=this['editor'];let _0x47b248;try{_0x47b248=await this['_service']['getDocumentDetails']();}catch{const _0x512087=X(_0x44be12,'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'](_0x512087);}const _0x59db4e=_0x47b248['currentDocumentSession']||_0x47b248['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x59db4e['lastOperationId']){const _0x4e434c=X(_0x44be12,'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'](_0x4e434c);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_handleChannelDisconnected'](){const _0x223b53=this['editor']['plugins']['get'](z);if(this['_isConnected']=!0x1,!_0x223b53['connection']||'connected'!==_0x223b53['connection']['state'])return;this['_isChannelFlushed']=!0x0;const _0x5124f8=this['editor']['plugins']['get'](Y);_0x5124f8['channelSessions']['has'](this['_channelId'])&&_0x5124f8['unregister'](this['_channelId']),_0x223b53['removeFromReconnectionStack'](this),this['_disconnectService']();}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x43b4ca){const _0x3dab4a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x3dab4a,'sessionAdd:'+this['_channelId'],(_0x259dd7,{session:_0x2dbdb7})=>{if(_0x2dbdb7['id']===_0x3dab4a['mySessionId']){_0x259dd7['off']();const _0x389f59=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x494f1f=_0x2dbdb7['permissions'];_0x389f59&&_0x389f59['isEnabled']&&(_0x494f1f=_0x494f1f['filter'](_0x5871b3=>'document:write'!==_0x5871b3)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x494f1f,this['_channelId']);}}),_0x3dab4a['register'](this['_channelId'],_0x43b4ca);}['_initThrowingOnDataSet'](){const _0x2e79d6=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x1bdd69)=>{if(!_0x1bdd69[_0x1bdd69['length']-0x1]['suppressErrorInCollaboration'])throw new _0x39cc72('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2e79d6['apply'](this['editor']['data'],_0x1bdd69);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x2de49e,[_0xde231e])=>{if(this['_document']['version'])throw new _0x39cc72('realtimecollaborationclient-init-document-already-initialized',this);_0x2de49e['stop'](),this['_setPendingAction']();const _0x36f8a2=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x35d85e])=>!_0x35d85e['lazyLoad'])['map'](([_0x192def,_0x56d2cb])=>[_0x192def,_0x56d2cb['modelAttributes']||{}])),_0x4ba5f6=this['_getOperationsFromInitData'](_0xde231e,_0x36f8a2);0x0==_0x4ba5f6['length']&&_0x4ba5f6['push'](new _0xf768d9(0x0)),_0x2de49e['return']=this['_connectService'](_0x4ba5f6)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0x20dca7=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0x20dca7))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xc86271,[_0x25d92d,_0x1aaeb1])=>{_0xc86271['stop']();const _0x46fa80=this['editor']['model']['document']['getRoot'](_0x25d92d);if(!this['_knownRootNames']['has'](_0x25d92d)){const _0xbaebe5=_0x1aaeb1&&_0x1aaeb1['data']?_0x1aaeb1['data']:'',_0x397517=_0x1aaeb1&&_0x1aaeb1['attributes']?_0x1aaeb1['attributes']:{};await this['_loadRoot'](_0x25d92d,_0xbaebe5,_0x397517);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x46fa80['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x46fa80);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x113074){const _0x8f944d=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x32483b}=this['editor']['plugins']['get'](z),_0x5d00ba=new Set();for(const _0x3cf74e of _0x113074){const _0x10a97c=_0x3cf74e['_authorId'];_0x10a97c&&!_0x8f944d['getUser'](_0x10a97c)&&_0x5d00ba['add'](_0x10a97c);}if(0x0===_0x5d00ba['size'])return;const _0x269e17=await _0x2b182d['getMany'](_0x32483b,Array['from'](_0x5d00ba));for(const _0x4a5b66 of _0x269e17)_0x8f944d['getUser'](_0x4a5b66['id'])||_0x8f944d['addUser'](_0x4a5b66);}['_getOperationsFromInitData'](_0x4d92c9,_0x1467bd={}){const _0x5ce742=this['editor']['model'],_0x2f4c58=[];let _0x34337e=0x0;const _0x5e9738='string'==typeof _0x4d92c9?{'main':_0x4d92c9}:_0x4d92c9;for(const _0x338807 of Object['keys'](_0x5e9738)){if(!this['_document']['roots']['has'](_0x338807))throw new _0x39cc72('realtimecollaborationclient-init-non-existent-root',this);const _0x237c70=this['_document']['getRoot'](_0x338807),_0x507919=this['editor']['data']['parse'](_0x5e9738[_0x338807],_0x237c70),_0x352d79=new _0x27aa6e(_0x5ce742['createPositionAt'](_0x237c70,0x0),_0x507919,_0x34337e++);_0x2f4c58['push'](_0x352d79);for(const [_0xd3cb3a,_0x2fd41b]of _0x507919['markers']){const _0x3f072f=new _0x30954d(_0xd3cb3a,null,_0x5ce742['createRange'](_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['start']['path']['slice']()),_0x5ce742['createPositionFromPath'](_0x237c70,_0x2fd41b['end']['path']['slice']())),_0x5ce742['markers'],!0x0,_0x34337e++);_0x2f4c58['push'](_0x3f072f);}}if(_0x1467bd)for(const [_0x14fc54,_0x22ed5a]of Object['entries'](_0x1467bd)){const _0x54ae53=_0x5ce742['document']['getRoot'](_0x14fc54);if(!_0x54ae53)throw new _0x39cc72('multi-root-editor-root-attributes-no-root',null);for(const [_0x5d0795,_0x37ca7b]of Object['entries'](_0x22ed5a))if(null!==_0x37ca7b){const _0x5a518f=new _0x2727f3(_0x54ae53,_0x5d0795,null,_0x37ca7b,_0x34337e++);_0x2f4c58['push'](_0x5a518f);}}return _0x2f4c58;}async['_loadRoot'](_0xee4ec1,_0x161ab4,_0x1b1a0c){this['_getOperationsFromInitData']({[_0xee4ec1]:_0x161ab4},{[_0xee4ec1]:_0x1b1a0c})['forEach']((_0x320fb3,_0x390c0b)=>{_0x320fb3['baseVersion']=this['_document']['version']+_0x390c0b,_0x320fb3['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x320fb3);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2c1d65,_0x4e8418){let _0x3d8eb4;this['_offset']=_0x2c1d65['offset'];const _0x463986=_0x2c1d65['wereChangesApplied']&&!_0x2c1d65['initData'],_0x17edcd=_0x463986?0x0:_0x2c1d65['data']['baseVersion'];if(_0x4e8418['forEach'](_0x3df212=>{_0x3df212['_isInit']=!0x0,_0x3df212['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x3df212['_authorId']=null;}),_0x463986)_0x3d8eb4=_0x4e8418,this['_applyOperationsSet'](_0x3d8eb4,_0x463986);else{if(_0x2c1d65['initData']){const _0x5442c1=this['_getOperationsFromInitData'](_0x2c1d65['initData']);this['_document']['history']['version']=-_0x5442c1['length'],_0x5442c1['forEach'](_0x94a570=>{_0x94a570['baseVersion']-=_0x5442c1['length'],_0x94a570['createdAt']=_0x2c1d65['sessionCreatedAt'],_0x94a570['_isInit']=!0x0,_0x94a570['_authorId']=null;}),this['_applyOperationsSet'](_0x5442c1,!0x0),this['serverHistory']['version']=-_0x5442c1['length']+this['_offset'],this['_updateServerHistory'](_0x5442c1);}this['_document']['history']['version']=_0x17edcd,_0x3d8eb4=this['_decompressOperations'](_0x2c1d65['data'],_0x2c1d65['metadata']),await this['_fetchMissingUsers'](_0x3d8eb4),this['_applyOperationsSet'](_0x3d8eb4,_0x463986);}_0x2c1d65['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x3d8eb4,_0x2c1d65['lastOperationId']),this['_lastSyncedOperationId']=_0x2c1d65['lastOperationId']),this['serverHistory']['version']=_0x17edcd+this['_offset'],this['_updateServerHistory'](_0x3d8eb4),_0x4e8418['filter'](_0x138fc9=>{const _0x524b43=this['_getAffectedRoot'](_0x138fc9);return _0x524b43&&!this['_knownRootNames']['has'](_0x524b43);})['forEach']((_0x6c5eea,_0x299c2f)=>{_0x6c5eea['baseVersion']=this['_document']['version']+_0x299c2f,this['_saveOperationInBuffer'](_0x6c5eea);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x14c047,_0x21137e){const _0xbe8bac=_0x21137e&&_0x21137e['message'];if(_0xbe8bac&&_0xbe8bac['startsWith']('realtimecollaborationclient'))throw _0x21137e;const _0x35c0f2=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x35c0f2['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x39cc72(_0x14c047,this['editor'],_0xbe8bac?{'originalError':_0xbe8bac}:void 0x0);}['_saveOperationInBuffer'](_0x4b2126){this['_knownOperations']['has'](_0x4b2126)||(this['_knownOperations']['add'](_0x4b2126),this['_bufferedOperations']['push'](_0x4b2126),this['_pendingAction']||'marker'==_0x4b2126['type']&&!_0x4b2126['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x303c07=!0x1){!_0x303c07&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x30432b=>{_0x30432b&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x506ede=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x1448b7){return _0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x1448b7['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x506ede)||this['_crash'](_0x506ede['message'],_0x506ede);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0xc982a5=>{this['on']('change:_isPendingUpdate',()=>{_0xc982a5();});});}async['_sendBufferedOperations'](){const _0xa1b1fc=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0xa1b1fc['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xcfd068=[...this['_bufferedOperations']];for(const _0xc0aca4 of _0xcfd068)_0xc0aca4['wasUndone']=this['_document']['history']['isUndoneOperation'](_0xc0aca4);const _0x4fdeb3=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xcfd068),_0x15de04=Z++,_0x1490ca=this['_compressOperations'](_0xcfd068),_0x3d971e=await this['_service']['sendOperations'](_0x1490ca,_0x1490ca['baseVersion'],_0x4fdeb3);try{return await this['_handleServerResponse'](_0xcfd068,_0x3d971e,_0x15de04);}catch(_0x4b4271){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x4b4271);}}async['_handleServerResponse'](_0x3a7407,_0x4d36a3,_0x33a342){if('error'in _0x4d36a3)throw _0x4d36a3['error'];let _0x34d345=!0x1;if(_0x4d36a3['wereChangesApplied']){_0x4d36a3['lastOperationId']&&(this['_lastSyncedOperationId']=_0x4d36a3['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x1e1c81=>!_0x3a7407['includes'](_0x1e1c81));for(const _0x4f5845 of _0x3a7407)_0x4f5845['createdAt']='lastOperationAcceptedAt'in _0x4d36a3&&_0x4d36a3['lastOperationAcceptedAt']||void 0x0;st(_0x3a7407,_0x4d36a3['version']-_0x3a7407['length']),this['_updateServerHistory'](_0x3a7407);const _0x1b4a76=_0x3a7407['filter'](_0x348846=>{if(!_0x348846['_isInit'])return!0x1;const _0x48ccf4=this['_getAffectedRoot'](_0x348846);return _0x48ccf4&&!this['_knownRootNames']['has'](_0x48ccf4);});st(_0x1b4a76,this['_document']['version']),this['_applyOperationsSet'](_0x1b4a76),_0x34d345=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x107aea=this['_decompressOperations'](_0x4d36a3['data'],_0x4d36a3['metadata'])['filter'](_0x1ec125=>_0x1ec125['baseVersion']>=this['_lastServerVersion']);_0x107aea['forEach'](_0x77016d=>this['_addKnownRoot'](_0x77016d)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2542bb=>!_0x2542bb['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2542bb))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x107aea),_0x34d345=this['_handleExternalOperations'](_0x107aea,_0x4d36a3['version'],_0x4d36a3['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x34d345?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x181dfc,_0x532221,_0xe04648){try{const _0x4c8f2a={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0xf3366b,operationsB:_0x100706,originalOperations:_0x324b73}=_0x50af1d(_0x181dfc,this['_bufferedOperations'],_0x4c8f2a);st(_0xf3366b,this['_document']['version']),st(_0x100706,_0x532221);for(const _0x3abeb2 of _0xf3366b){const _0x477bb4=_0x324b73['get'](_0x3abeb2);_0x477bb4?(_0x3abeb2['_authorId']=_0x477bb4['_authorId'],'noop'!==_0x3abeb2['type']&&(_0x3abeb2['_aiSource']=_0x477bb4['_aiSource'])):_0x3abeb2['_authorId']=null;}for(const _0xd84ac6 of _0x100706)'noop'!==_0xd84ac6['type']&&(_0xd84ac6['_aiSource']=_0x324b73['get'](_0xd84ac6)?.['_aiSource']);_0xe04648&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x181dfc,_0xe04648),this['_lastSyncedOperationId']=_0xe04648),this['_bufferedOperations']=[..._0x100706],this['_applyOperationsSet'](_0xf3366b),this['_updateServerHistory'](_0x181dfc);}catch(_0x2f6087){return console['error'](_0x2f6087),!0x1;}return!0x0;}['_applyOperationsSet'](_0xb19183,_0x5d8236=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x3a0090=>{for(const _0x20503c of _0xb19183)this['_knownOperations']['add'](_0x20503c),this['_addKnownRoot'](_0x20503c),_0x3a0090['batch']['addOperation'](_0x20503c),this['editor']['model']['applyOperation'](_0x20503c);});}['_addKnownRoot'](_0x56559a){const _0x54b50f=this['_getAffectedRoot'](_0x56559a);_0x54b50f&&this['_knownRootNames']['add'](_0x54b50f);}['_getAffectedRoot'](_0xa39fe3){let _0x55770f,_0x427f78;switch(_0xa39fe3['type']){case'insert':_0x55770f=_0xa39fe3['position']['root'];break;case'marker':if(_0x427f78=_0xa39fe3['newRange'],!_0x427f78)return null;_0x55770f=_0x427f78['root'];break;case'addRootAttribute':_0x55770f=_0xa39fe3['root'];break;case'addRoot':_0x55770f=_0xa39fe3['affectedSelectable'];break;case'move':_0x55770f=_0xa39fe3['targetPosition']['root'];break;default:return null;}return _0x55770f['rootName'];}['_updateServerHistory'](_0x5802d2){_0x5802d2['forEach'](_0x1dc40c=>{const _0x47e492=_0x1dc40c['clone']();_0x47e492['_authorId']=_0x1dc40c['_authorId'],_0x47e492['_isInit']=!!_0x1dc40c['_isInit'],_0x47e492['_aiSource']=_0x1dc40c['_aiSource'],_0x47e492['createdAt']=_0x1dc40c['createdAt'],_0x47e492['baseVersion']+=this['_offset'],_0x1dc40c['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x47e492),this['serverHistory']['addOperation'](_0x47e492);});}['_handleReconnectionError'](_0x5cd03f){const _0x226c9c=this['editor']['plugins']['get']('Notification'),_0x48f524=this['editor']['locale'];_0x5cd03f||(_0x5cd03f=X(_0x48f524,'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.')),_0x226c9c['showWarning'](_0x5cd03f,{'title':X(_0x48f524,'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'](_0x13e9ee)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x13e9ee)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x4785bd){const _0x4bb87e=_0x4785bd['map'](_0x17cd4f=>_0x17cd4f['toJSON']());return this['_compressor']['compress'](_0x4bb87e);}['_decompressOperations'](_0x5d1078,_0x19c827){return this['_compressor']['decompress'](_0x5d1078)['map']((_0x28aac6,_0x28dbcb)=>{const _0x39d8e4='init'==_0x19c827[_0x28dbcb]['type'];if('InsertOperation'==_0x28aac6['__className']){const _0x1d47c9=_0x28aac6['position']['root'];!this['_document']['getRoot'](_0x1d47c9)&&(this['_document']['createRoot']('$unknown',_0x1d47c9)['_isAttached']=!0x1);}else{if('RootOperation'==_0x28aac6['__className']){const _0x3e8f9e=this['_document']['getRoot'](_0x28aac6['rootName']);_0x3e8f9e&&'$unknown'==_0x3e8f9e['name']&&_0x28aac6['elementName']!=_0x3e8f9e['name']&&(_0x3e8f9e['name']=_0x28aac6['elementName']);}}const _0x45c5f2=_0x44800b['fromJSON'](_0x28aac6,this['_document']);return _0x45c5f2['wasUndone']=_0x28aac6['wasUndone'],_0x45c5f2['_isInit']=_0x39d8e4,_0x45c5f2['_authorId']=_0x39d8e4?null:_0x19c827[_0x28dbcb]['userId'],_0x45c5f2['_isDisconnection']='cs:removeUser'===_0x19c827[_0x28dbcb]['type'],_0x45c5f2['_aiSource']=_0x28aac6['_aiSource']||void 0x0,_0x45c5f2['createdAt']=_0x19c827[_0x28dbcb]['createdAt'],_0x45c5f2;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x5b4987=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x5b4987&&_0x5b4987['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}},et=class extends Error{};function st(_0x495750,_0x3f6a68){for(const _0x2f3335 of _0x495750)_0x2f3335['baseVersion']=_0x3f6a68++;}var it=class{['_ignoredOperations'];['_operationToId'];constructor(_0x1bb619){this['_ignoredOperations']=_0x1bb619,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x2696c2){let _0xc5f13f=_0x2696c2['length'];for(;_0xc5f13f--;){const _0x57c1b5=_0x2696c2[_0xc5f13f];if(!this['_ignoredOperations']['has'](_0x57c1b5)){if(!this['_operationToId']['has'](_0x57c1b5)){const _0x5c226a=_0x26c87e()['slice'](0x1,0x12);this['_operationToId']['set'](_0x57c1b5,_0x5c226a);}return this['_operationToId']['get'](_0x57c1b5);}}}['setIdForTheLastOperation'](_0x19922f,_0x529b43){if(!_0x529b43)return;let _0x5864fe=_0x19922f['length'];for(;_0x5864fe--;){const _0x10e467=_0x19922f[_0x5864fe];this['_ignoredOperations']['has'](_0x10e467)||this['_operationToId']['set'](_0x10e467,_0x529b43);}}},nt=class extends _0x3eef9e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},ot=class CloudServicesCommentsAdapter extends _0x2818ba{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x1e5c77)());['_services'];static get['requires'](){return[z,_0x5e513f,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3ab80c){super(_0x3ab80c),this['_services']=new Map();}async['init'](){const _0xb660f2=this['context'],_0x22d23d=_0xb660f2['plugins']['get'](_0x5e513f);if(_0xb660f2['plugins']['get'](z)['addToReconnectionStack'](this),_0x22d23d['adapter']={'addCommentThread':async({channelId:_0x1a812d,threadId:_0x25634f,comments:_0x4bebb9,resolvedAt:_0x415d4d,resolvedBy:_0x4e262a,context:_0x4eeee5,attributes:_0x2706a5})=>{const _0x34be43=await this['_getService'](_0x1a812d)['addCommentThread']({'commentThreadId':_0x25634f,'comments':_0x4bebb9['map'](_0x27b8c1=>function(_0x585f7c,_0x5a78c3,_0x2079d3){return{'commentThreadId':_0x2079d3,'commentId':_0x585f7c['commentId'],'userId':_0x585f7c['authorId'],'content':_0x585f7c['content'],'documentId':_0x5a78c3,'createdAt':_0x585f7c['createdAt'],'attributes':_0x585f7c['attributes']||{}};}(_0x27b8c1,_0x1a812d,_0x25634f)),'resolvedAt':_0x415d4d,'resolvedBy':_0x4e262a,'context':_0x4eeee5,'attributes':_0x2706a5})['catch'](ct);return{'threadId':_0x34be43['commentThreadId'],'comments':_0x34be43['comments']};},'getCommentThread':async({channelId:_0x5ebf78,threadId:_0x2440a9})=>{const _0x35fa01=await this['_getService'](_0x5ebf78)['getCommentThread'](_0x2440a9)['catch'](rt)['catch'](ct);return _0x35fa01?_0x35fa01['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x35fa01]),{'threadId':_0x35fa01['commentThreadId'],'comments':_0x35fa01['comments']['map'](at),'context':_0x35fa01['context'],'resolvedAt':_0x35fa01['resolvedAt'],'resolvedBy':_0x35fa01['resolvedBy'],'attributes':_0x35fa01['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x3fbfb9,threadId:_0x133ff8,context:_0x21521c,unlinkedAt:_0x342eb8,attributes:_0x2548fd})=>this['_getService'](_0x3fbfb9)['updateCommentThread']({'commentThreadId':_0x133ff8,'context':_0x21521c,'attributes':_0x2548fd,'unlinkedAt':_0x342eb8})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x28e3c5,threadId:_0x15b706})=>{const _0x52ccfb=await this['_getService'](_0x28e3c5)['resolveCommentThread'](_0x15b706)['catch'](rt)['catch'](ct);return{'threadId':_0x52ccfb['commentThreadId'],'resolvedAt':_0x52ccfb['resolvedAt'],'resolvedBy':_0x52ccfb['resolvedBy']};},'reopenCommentThread':async({channelId:_0x2b411e,threadId:_0x5ad93a})=>this['_getService'](_0x2b411e)['reopenCommentThread'](_0x5ad93a)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x16eaf7,threadId:_0x45e12a})=>this['_getService'](_0x16eaf7)['removeCommentThread'](_0x45e12a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x58330e,threadId:_0x154da5,commentId:_0x1746c7,content:_0x1b53e7,attributes:_0x201197})=>this['_getService'](_0x58330e)['addComment'](_0x154da5,_0x1746c7,_0x1b53e7,_0x201197)['catch'](ct),'updateComment':({channelId:_0x9e18a4,threadId:_0xd0cb0b,commentId:_0x5ccb17,content:_0x4cd8c5,attributes:_0x7857a0})=>this['_getService'](_0x9e18a4)['updateComment'](_0xd0cb0b,_0x5ccb17,_0x4cd8c5,_0x7857a0)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x26df0f,threadId:_0x6eb929,commentId:_0x45bf47})=>this['_getService'](_0x26df0f)['removeComment'](_0x6eb929,_0x45bf47)['catch'](rt)['catch'](ct)},_0xb660f2 instanceof _0x40965d){const _0x3c9239=_0xb660f2['config']['get']('collaboration.channelId'),_0x628412=_0xb660f2['plugins']['get'](Y);await this['_setUpService'](_0x3c9239);const _0x36edf2=await this['_services']['get'](_0x3c9239)['getConnectedSessions']();this['listenTo'](_0x628412,'sessionAdd:'+_0x3c9239,(_0x1bac54,{session:_0x11fb11})=>{_0x11fb11['id']===_0x628412['mySessionId']&&(_0x1bac54['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x11fb11['permissions'],_0x3c9239));}),_0x628412['register'](_0x3c9239,_0x36edf2);}}async['_setUpService'](_0x734660){if(this['_services']['has'](_0x734660))throw new _0x39cc72('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x734660});const _0x4098d6=this['context']['plugins']['get'](_0x5e513f),_0x2e9c66=new CloudServicesCommentsAdapter['CommentsService'](_0x734660);this['_services']['set'](_0x734660,_0x2e9c66),this['listenTo'](_0x2e9c66,'commentThreadAdded',(_0x1539b6,_0x4a7d29)=>{const {commentThreadId:_0x29a00f,documentId:_0x4a1d16,context:_0x52b102,attributes:_0x49c549,resolvedAt:_0x2b2b11,resolvedBy:_0x2002e3,comments:_0x1fde00}=_0x4a7d29;_0x4098d6['getCommentThread'](_0x29a00f)||_0x4098d6['addCommentThread']({'threadId':_0x29a00f,'channelId':_0x4a1d16,'comments':_0x1fde00?_0x1fde00['map'](at):[],'context':_0x52b102,'attributes':_0x49c549,'resolvedAt':_0x2b2b11,'resolvedBy':_0x2002e3,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadUpdated',(_0x2e9016,{commentThreadId:_0x3ddb78,documentId:_0x14bd07,context:_0x504bc3,unlinkedAt:_0x525333,attributes:_0x22d1fc})=>{_0x4098d6['getCommentThread'](_0x3ddb78)&&_0x4098d6['updateCommentThread']({'threadId':_0x3ddb78,'channelId':_0x14bd07,'context':_0x504bc3,'unlinkedAt':_0x525333,'attributes':_0x22d1fc,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadResolved',(_0x27b308,{commentThreadId:_0x52f288,resolvedBy:_0x2cd706,resolvedAt:_0x4cf39d})=>{const _0x262a93=_0x4098d6['getCommentThread'](_0x52f288);_0x262a93&&_0x262a93['resolve']({'resolvedBy':_0x2cd706,'resolvedAt':_0x4cf39d,'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadReopened',(_0x52f726,{commentThreadId:_0x1da074})=>{const _0x64f385=_0x4098d6['getCommentThread'](_0x1da074);_0x64f385&&_0x64f385['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentThreadRemoved',(_0x1b64e2,{commentThreadId:_0x5549e3})=>{const _0xe694fc=_0x4098d6['getCommentThread'](_0x5549e3);_0xe694fc&&_0xe694fc['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentAdded',(_0x2e7ae8,_0x1246f2)=>{const _0x4f4093=_0x1246f2['commentThreadId'],_0x9cc1ba=_0x4098d6['getCommentThread'](_0x4f4093);_0x9cc1ba&&_0x9cc1ba['addComment']({...at(_0x1246f2),'isFromAdapter':!0x0});}),this['listenTo'](_0x2e9c66,'commentUpdated',(_0x56349d,{commentThreadId:_0x10c488,commentId:_0x1f8c38,content:_0x3679bf,attributes:_0x505b7e})=>{const _0x496e94=_0x4098d6['getCommentThread'](_0x10c488);if(_0x496e94){const _0x2edee5=_0x496e94['getComment'](_0x1f8c38);_0x2edee5&&_0x2edee5['update']({'content':_0x3679bf,'attributes':_0x505b7e,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'commentRemoved',(_0x3581a4,{commentThreadId:_0x2e3cd9,commentId:_0x4a3c70})=>{const _0x597a14=_0x4098d6['getCommentThread'](_0x2e3cd9);if(_0x597a14){const _0x5f4cdd=_0x597a14['getComment'](_0x4a3c70);_0x5f4cdd&&_0x5f4cdd['remove']({'isFromAdapter':!0x0});}}),this['listenTo'](_0x2e9c66,'disconnected',()=>{'connected'===this['context']['plugins']['get'](z)['connection']?.['state']&&(this['_services']['delete'](_0x734660),this['stopListening'](_0x2e9c66));}),await this['_connectService'](_0x734660);}['destroy'](){if(this['context']instanceof _0x40965d){const _0x29cd53=this['context']['config']['get']('collaboration.channelId');this['_services']['has'](_0x29cd53)&&this['_terminateService'](_0x29cd53);}}['_terminateService'](_0x32784d){if(!this['_services']['has'](_0x32784d))throw new _0x39cc72('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x32784d});this['_getService'](_0x32784d)['disconnect'](),this['_services']['delete'](_0x32784d);}async['reconnect'](){for(const _0x5ddac3 of this['_services']['keys']())await this['_connectService'](_0x5ddac3);if(this['context']instanceof _0x40965d){const _0x41bcad=this['context']['config']['get']('collaboration.channelId');if(this['_services']['has'](_0x41bcad)){const _0x3f08fa=this['context']['plugins']['get'](Y);_0x3f08fa['unregister'](_0x41bcad);const _0xdc2128=await this['_services']['get'](_0x41bcad)['getConnectedSessions']();_0x3f08fa['register'](_0x41bcad,_0xdc2128);}}}async['_connectService'](_0x260f89){const {connection:_0x42ed73}=this['context']['plugins']['get'](z),_0x213736=this['context']['plugins']['get'](_0x5e513f),_0x2d6b84=await this['_services']['get'](_0x260f89)['connect'](_0x42ed73);await this['_fetchMissingUsersForThreads'](_0x2d6b84);const _0x240d26=new Set(Array['from'](_0x213736['getCommentThreads']({'channelId':_0x260f89}),_0x24dbef=>_0x24dbef['id']));for(const _0x8f8cf1 of _0x2d6b84)_0x8f8cf1['deletedAt']||_0x240d26['delete'](_0x8f8cf1['commentThreadId']);for(const _0x467c82 of _0x240d26)_0x213736['getCommentThread'](_0x467c82)['remove']({'isFromAdapter':!0x0});for(const _0x47bb37 of _0x2d6b84){let _0x49bfde=_0x213736['getCommentThread'](_0x47bb37['commentThreadId']);const {commentThreadId:_0x1f110f,context:_0x5662fd,attributes:_0x297470,resolvedBy:_0x599034,resolvedAt:_0x4306d8,unlinkedAt:_0x28d130,deletedAt:_0x56aee0}=_0x47bb37;if(_0x56aee0)continue;_0x49bfde||(_0x49bfde=_0x213736['addCommentThread']({'channelId':_0x260f89,'threadId':_0x1f110f,'context':_0x5662fd,'attributes':_0x297470||{},'resolvedBy':_0x599034,'resolvedAt':_0x4306d8,'unlinkedAt':_0x28d130,'isFromAdapter':!0x0}));const _0x26d9d8=new Set(Array['from'](_0x49bfde['comments'],_0x27b10b=>_0x27b10b['id']));for(const _0x154956 of _0x47bb37['comments'])_0x26d9d8['delete'](_0x154956['commentId']);for(const _0x5a5946 of _0x26d9d8)_0x49bfde['getComment'](_0x5a5946)['remove']({'isFromAdapter':!0x0});for(const _0x41dafe of _0x47bb37['comments']){const _0x16b332=_0x49bfde['getComment'](_0x41dafe['commentId']);_0x16b332?_0x16b332['content']!==_0x41dafe['content']&&_0x16b332['update']({'content':_0x41dafe['content'],'isFromAdapter':!0x0}):_0x49bfde['addComment'](Object['assign'](at(_0x41dafe),{'isFromAdapter':!0x0}));}}}['_getService'](_0x2ecb65){if(!this['_services']['has'](_0x2ecb65))throw new _0x39cc72('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x2ecb65});return this['_services']['get'](_0x2ecb65);}async['_fetchMissingUsersForThreads'](_0x155dbf){const _0x2e1748=this['context']['plugins']['get'](_0x436e7d),{connection:_0x25ad6b}=this['context']['plugins']['get'](z),_0x3e6fa4=new Set();for(const {resolvedBy:_0x548409,comments:_0x55d53e}of _0x155dbf){_0x548409&&!_0x2e1748['getUser'](_0x548409)&&_0x3e6fa4['add'](_0x548409);for(const {userId:_0x158064}of _0x55d53e)_0x2e1748['getUser'](_0x158064)||_0x3e6fa4['add'](_0x158064);}if(0x0===_0x3e6fa4['size'])return;const _0x358b15=await _0x2b182d['getMany'](_0x25ad6b,Array['from'](_0x3e6fa4));for(const _0x27f76 of _0x358b15)_0x2e1748['getUser'](_0x27f76['id'])||_0x2e1748['addUser'](_0x27f76);}};async function rt(_0x2bd83d){if('404'!==_0x2bd83d['code'])throw _0x2bd83d;}function ct(_0x5808a9){if((_0x40d67c=_0x5808a9)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x40d67c['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x40d67c;throw _0x5808a9;}function at(_0x5e6805){return{'threadId':_0x5e6805['commentThreadId'],'commentId':_0x5e6805['commentId'],'content':_0x5e6805['content'],'createdAt':_0x5e6805['createdAt'],'authorId':_0x5e6805['userId'],'attributes':_0x5e6805['attributes']||{}};}var ht=class CloudServicesTrackChangesAdapter extends _0x3eef9e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x2f8ee3)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x36b9ab,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x21a7a7){super(_0x21a7a7);const _0x3cc969=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new CloudServicesTrackChangesAdapter['TrackChangesService'](_0x3cc969);}['init'](){const _0x3dae75=this['editor']['plugins']['get'](z),_0x332b72=this['editor']['plugins']['get'](_0x36b9ab);return _0x332b72['adapter']={'getSuggestion':async _0x2be680=>{await this['_waitForServiceReady']();const _0x3953c6=await this['_trackChangesService']['get'](_0x2be680)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x3953c6]),_0x3953c6;},'addSuggestion':async({id:_0x329008,type:_0x228515,data:_0x17399e,originalSuggestionId:_0x103cef,attributes:_0x3db99c})=>{await this['_waitForServiceReady']();const _0x1f91cb={'id':_0x329008,'type':_0x228515,'data':_0x17399e,'originalSuggestionId':_0x103cef,'attributes':_0x3db99c},_0x447c6b=await this['_trackChangesService']['add'](_0x329008,_0x228515,_0x17399e,_0x103cef,_0x3db99c)['catch'](_0x50b23a=>{if(dt(_0x50b23a))return new Promise(_0x2fc249=>{this['_bufferedRequests']['set'](_0x329008,{'resolve':_0x2fc249,'suggestionData':_0x1f91cb});});throw _0x50b23a;});return this['_bufferedRequests']['delete'](_0x329008),_0x447c6b;},'updateSuggestion':async(_0x4794ca,_0x33f57e)=>{if(await this['_waitForServiceReady'](),'open'!==_0x33f57e['state'])return this['_trackChangesService']['update'](_0x4794ca,_0x33f57e)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x4b59c7,_0x335c74)=>{_0x332b72['hasSuggestion'](_0x335c74['id'])&&(_0x332b72['getSuggestion'](_0x335c74['id'])['attributes']=_0x335c74['attributes']);}),this['listenTo'](this['_trackChangesService'],'disconnected',()=>{'connected'===_0x3dae75['connection']?.['state']&&(_0x3dae75['removeFromReconnectionStack'](this),this['stopListening'](this['_trackChangesService']));}),this['_trackChangesService']['connect'](_0x3dae75['connection'])['then'](_0x4be32c=>(_0x3dae75['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x4be32c)['then'](()=>{for(const _0x54727f of _0x4be32c){_0x332b72['addSuggestionData'](_0x54727f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x2e8ab9=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x3d2990}=this['editor']['plugins']['get'](z),_0x26f2d4=await this['_trackChangesService']['connect'](_0x3d2990);await this['_fetchMissingUsersForThreads'](_0x26f2d4);for(const {suggestionData:_0xd5c1b5,resolve:_0x24e32b}of this['_bufferedRequests']['values']()){let _0x4079de=_0x26f2d4['find'](_0x12d987=>_0x12d987['id']===_0xd5c1b5['id']);_0x4079de||(_0x4079de=await this['_trackChangesService']['add'](_0xd5c1b5['id'],_0xd5c1b5['type'],_0xd5c1b5['data'],_0xd5c1b5['originalSuggestionId'])),_0x24e32b(_0x4079de);}for(const _0x4f1f74 of _0x26f2d4)_0x2e8ab9['hasSuggestion'](_0x4f1f74['id'])||_0x2e8ab9['addSuggestionData'](_0x4f1f74);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x4b37de=>{this['listenTo'](this['_trackChangesService'],'connected',_0x38a853=>{_0x38a853['off'](),_0x4b37de();});});}async['_fetchMissingUsersForThreads'](_0x230169){const _0x65e882=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x47f891}=this['editor']['plugins']['get'](z),_0x1822c7=new Set();for(const {authorId:_0x3c480d}of _0x230169)_0x65e882['getUser'](_0x3c480d)||_0x1822c7['add'](_0x3c480d);if(0x0===_0x1822c7['size'])return;const _0x3081a7=await _0x2b182d['getMany'](_0x47f891,Array['from'](_0x1822c7));for(const _0x5d2c59 of _0x3081a7)_0x65e882['getUser'](_0x5d2c59['id'])||_0x65e882['addUser'](_0x5d2c59);}};function lt(_0xd1c8cb){if(dt(_0xd1c8cb))return new Promise(()=>{});throw _0xd1c8cb;}function dt(_0x56b7e6){return _0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56b7e6['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var ut=class extends _0x3eef9e{static get['requires'](){return[_0x401e20,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x46debd=this['editor']['plugins']['get'](z),_0x406421=this['editor']['plugins']['get'](_0x2a3ec7),_0x375e98=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x46debd,'change:state',(_0x24619e,_0x12f402,_0x3290ec)=>{_0x406421['isThreadsLoadingPaused']='connected'!==_0x3290ec;});}),this['listenTo'](_0x46debd,'change:state',(_0x182736,_0x310d20,_0x502c22)=>{this['editor']['plugins']['get'](_0x5e513f)['switchReadOnly']('connected'!==_0x502c22);}),_0x375e98['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){const _0x3c741e=this['editor']['plugins']['get'](ot),_0x56c994=this['editor']['config']['get']('collaboration.channelId');_0x3c741e['_services']['has'](_0x56c994)&&_0x3c741e['_terminateService'](_0x56c994),super['destroy']();}},ft=class extends _0x3eef9e{static get['requires'](){return[ut,ht,_0x54c3b7];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},mt=class CloudServicesRevisionHistoryAdapter extends _0x3eef9e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x25482a)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2f5675,Y,_0x436e7d];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x219837){super(_0x219837);const _0x4bc179=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new CloudServicesRevisionHistoryAdapter['RevisionHistoryService'](_0x4bc179);}async['init'](){const _0x5b0c87=this['editor']['plugins']['get'](tt),_0xa1044c=_0x5b0c87['serverHistory'],_0x460a4a=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xa1044c,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x5b0c87['sessionId']});const _0x4a24a7=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x2ff48a,_0x1c0163=await _0x57c6a6['isBundleUploaded'](_0x460a4a['connection'],_0x4a24a7);this['editor']['plugins']['get'](_0x2f5675)['adapter']={'getRevision':async({revisionId:_0x43d435})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x43d435)),'updateRevisions':async _0x48c2d6=>{await this['_waitForServiceReady']();const _0x2ab224=this['_revisionTracker']['currentRevision'];if(_0x1c0163&&0x1===_0x48c2d6['length']&&_0x48c2d6[0x0]['id']===_0x2ab224['id'])return _0x48c2d6;for(const _0x42f9f6 of _0x48c2d6)_0x42f9f6['id']===_0x2ab224['id']&&(_0x42f9f6['isEmptyCurrent']=_0x42f9f6['fromVersion']===_0x42f9f6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x48c2d6,this['_lastRequestId'])['then'](_0x471449=>(this['_lastRequestId']=_0x471449,_0x48c2d6))['catch'](_0x401f92=>{if(pt(_0x401f92)||'400'===_0x401f92['code']&&void 0x0!==_0x401f92['data']['wrongRequestId']){for(const _0x24e92c of _0x48c2d6)this['_revisionTracker']['repository']['getRevision'](_0x24e92c['id'])&&this['_revisionTracker']['_bufferUpdate'](_0x24e92c['id'],_0x24e92c,!0x1);if(pt(_0x401f92)&&'destroyed'!==this['editor']['state'])throw _0x401f92;return _0x48c2d6;}throw _0x401f92;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x58ccdf,{revisionsData:_0x3b2754,requestId:_0x824db3})=>{Math['max'](..._0x3b2754['map'](_0x466f92=>_0x466f92['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}):this['_handleRevisionsUpdate'](_0x3b2754,_0x824db3);}),this['set']('_isServiceConnected',!0x1),this['listenTo'](this['_revisionHistoryService'],'connected',()=>{this['_isServiceConnected']=!0x0;}),this['listenTo'](this['_revisionHistoryService'],'disconnected',()=>{this['_isServiceConnected']=!0x1,'connected'===_0x460a4a['connection']?.['state']&&(_0x460a4a['removeFromReconnectionStack'](this),this['stopListening'](this['_revisionHistoryService']));});const {revisions:_0x23b416,requestId:_0x2851fe}=await this['_revisionHistoryService']['connect'](_0x460a4a['connection']);_0x460a4a['addToReconnectionStack'](this),this['_lastRequestId']=_0x2851fe,await this['_fetchMissingUsers'](_0x23b416);for(const _0x2c2669 of _0x23b416)this['_revisionTracker']['addRevisionData'](_0x2c2669);this['listenTo'](_0x5b0c87,'change:_isConnected',(_0x4c7a83,_0x112d92,_0x12389d)=>{_0x12389d&&(this['_oldOffset']=_0x5b0c87['_offset'],_0x4c7a83['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](this,'_isServiceConnected');}async['reconnect'](){const _0x572216=this['editor']['plugins']['get'](z),_0x5ab988=this['editor']['plugins']['get'](tt),_0x5e87a0=async()=>{const _0x402351=this['_revisionTracker']['currentRevision'],_0x5bdf79=_0x402351['id'],_0xceecb8=_0x5bdf79!==_0x5ab988['sessionId'];if(_0xceecb8){const _0x2b2e23=_0x5ab988['_offset']-this['_oldOffset'],_0x478fa6=this['_getLatestVersionFromServerOperations']();if(this['_revisionTracker']['_revisionDataBuilder']['reInit'](),_0x402351['toVersion']+_0x2b2e23!==_0x478fa6){const _0x233db7=_0x402351['fromVersion']+_0x2b2e23,_0x34ef5d=this['editor']['plugins']['get'](_0x436e7d),_0x3ad6c4=this['_revisionTracker']['buildRevisionData']({'revision':_0x402351,'from':_0x233db7,'to':_0x478fa6});_0x3ad6c4['id']=_0x402351['id'];const _0x1a0dc6=_0x3ad6c4['authorsIds']['map'](_0xa0cb1a=>_0x34ef5d['getUser'](_0xa0cb1a));_0x402351['_update']({..._0x3ad6c4,'authors':_0x1a0dc6},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x402351['id'],_0x3ad6c4,!0x0);}this['_revisionTracker']['_startingVersion']=_0x478fa6,_0x402351['toVersion']!==_0x402351['fromVersion']||this['_revisionTracker']['_bufferedUpdates']['has'](_0x5bdf79)||this['_revisionTracker']['repository']['_revisions']['remove'](_0x5bdf79),this['_revisionTracker']['_createCurrentRevision'](_0x478fa6);}const {revisions:_0xb60280,requestId:_0x253ee4}=await this['_revisionHistoryService']['reconnect'](_0x572216['connection'],this['_lastRequestId']);_0xceecb8&&_0xb60280['length']>0x0?_0x5ab988['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0xb60280),this['_handleRevisionsUpdate'](_0xb60280,_0x253ee4),this['_revisionTracker']['sendBufferedUpdates']());};return _0x5ab988['_isConnected']?_0x5e87a0():new Promise((_0x4b46fc,_0x521a6e)=>{_0x5ab988['once']('change:_isConnected',()=>{_0x5e87a0()['then'](_0x4b46fc)['catch'](_0x521a6e);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x431d6b=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x15c4ef=>{_0x15c4ef['off'](),_0x431d6b();});});}['_getLatestVersionFromServerOperations'](){const _0x44e38d=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x17b6ef of _0x44e38d)if('marker'!==_0x17b6ef['type']||_0x17b6ef['affectsData'])return _0x17b6ef['baseVersion']+0x1;}['_getLatestVersion'](){const _0x4c1459=this['editor']['plugins']['get'](tt);return new Promise(_0x2967e9=>{_0x4c1459['_isPendingUpdate']?_0x4c1459['once']('change:_isPendingUpdate',()=>{_0x2967e9(this['_getLatestVersionFromServerOperations']());}):_0x2967e9(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x1a9cf0,_0x37e1e5){const _0x1da30a=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x37e1e5;for(const _0x582acd of _0x1a9cf0){const _0x2babd6=_0x1da30a['getRevision'](_0x582acd['id']);if(_0x2babd6){if((_0x582acd['fromVersion']||_0x582acd['toVersion'])&&(_0x582acd['diffData']=null),_0x2babd6===this['_revisionTracker']['currentRevision']){const _0xc6469d=Math['max'](_0x2babd6['toVersion'],_0x582acd['toVersion']),_0x4e706f=Math['max'](_0x2babd6['fromVersion'],_0x582acd['fromVersion']);let _0x206e0a;_0x2babd6['toVersion']===_0x582acd['toVersion']&&_0x2babd6['fromVersion']===_0x582acd['fromVersion']?(_0x206e0a=!0x0,this['_preventResendingRevisionData'](_0x582acd)):_0x582acd['toVersion']===_0xc6469d&&_0x582acd['fromVersion']===_0x4e706f?_0x206e0a=!0x1:(_0x2babd6['toVersion']===_0xc6469d&&_0x2babd6['fromVersion']===_0x4e706f||this['_fixRevision']({'revision':_0x2babd6,'from':_0x4e706f,'to':_0xc6469d}),_0x206e0a=!0x0),_0x206e0a&&(delete _0x582acd['fromVersion'],delete _0x582acd['toVersion'],delete _0x582acd['diffData'],delete _0x582acd['createdAt'],delete _0x582acd['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x582acd),this['_preventResendingRevisionData'](_0x582acd);}else this['_revisionTracker']['addRevisionData'](_0x582acd);}const _0x279e89=_0x1da30a['getRevisions']();_0x279e89['reverse']();for(let _0xd8f136=0x0;_0xd8f136<_0x279e89['length']-0x1;_0xd8f136++){const _0x352cae=_0x279e89[_0xd8f136],_0xc29ca3=_0x279e89[_0xd8f136+0x1];if(_0x352cae['fromVersion']<_0xc29ca3['toVersion']){const _0x40b238=_0xc29ca3['toVersion'],_0x192082=Math['max'](_0x40b238,_0x352cae['toVersion']);this['_fixRevision']({'revision':_0x352cae,'from':_0x40b238,'to':_0x192082});}}}['_fixRevision']({revision:_0x2b43c6,from:_0x5e4761,to:_0x3e3959}={}){const _0x4a644d=this['editor']['plugins']['get'](_0x436e7d),_0x125072=this['_revisionTracker']['buildRevisionData']({'revision':_0x2b43c6,'from':_0x5e4761,'to':_0x3e3959});_0x125072['authors']=_0x125072['authorsIds']['map'](_0x4b0c87=>_0x4a644d['getUser'](_0x4b0c87)),_0x2b43c6['_update'](_0x125072);}['_preventResendingRevisionData'](_0x35d90c){const _0x41abec={};_0x41abec['id']=_0x35d90c['id'];for(const _0x543d1c of Object['keys'](_0x35d90c))'id'!==_0x543d1c&&(_0x41abec[_0x543d1c]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x41abec['id'],_0x41abec,!0x0);}async['_fetchMissingUsers'](_0xe61c58){const _0x19aead=this['editor']['plugins']['get'](_0x436e7d),{connection:_0x4a9c6e}=this['editor']['plugins']['get'](z),_0x40c4fe=new Set();for(const _0x1f456b of _0xe61c58){for(const _0x63f10f of _0x1f456b['authorsIds'])_0x2a8fbf(_0x63f10f);_0x1f456b['creatorId']&&_0x2a8fbf(_0x1f456b['creatorId']);}if(0x0===_0x40c4fe['size'])return;const _0x4ac468=await _0x2b182d['getMany'](_0x4a9c6e,Array['from'](_0x40c4fe));for(const _0x9df97e of _0x4ac468)_0x19aead['getUser'](_0x9df97e['id'])||_0x19aead['addUser'](_0x9df97e);function _0x2a8fbf(_0x369a56){_0x19aead['getUser'](_0x369a56)||_0x40c4fe['add'](_0x369a56);}}};function pt(_0xa9b60f){return _0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0xa9b60f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}var gt=class extends _0x3eef9e{static get['requires'](){return[_0x2f5675,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}},wt=class extends _0x118b39{['_collapseAt'];constructor(_0x896550,_0x55540d=0x6){super(_0x896550);const _0x5f11e2=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x55540d,this['bind']('isHidden')['to'](this,'usersCount',_0xd2ca01=>_0xd2ca01<_0x55540d),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x5f11e2['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':_0x5f11e2['to']('usersCount',_0xf8ac44=>'+'+(_0xf8ac44-this['_collapseAt']+0x2)['toString']())}]}]}]});}},vt=class extends _0x118b39{['items'];['keystrokes'];constructor(_0x106610){super(_0x106610);const _0xb7830b=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x1b9bbc(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0xb7830b['if']('hasPopup'),'aria-expanded':_0xb7830b['to']('isExpanded',_0x371977=>this['hasPopup']&&String(_0x371977)),'aria-label':_0xb7830b['to']('hasPopup',_0x19ea53=>X(_0x106610,_0x19ea53?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0xb7830b['to']('hasPopup',_0xcfa072=>!!_0xcfa072&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0xb7830b['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0xb7830b['to'](_0x56b748=>{const _0x18c69b=_0x56b748,_0xde48eb=document['querySelector']('.ck-presence-list__dropdown-list'),_0x5c34f3=document['querySelector']('.ck-balloon-panel_with-arrow');_0xde48eb?.['contains'](_0x18c69b['relatedTarget'])||_0x5c34f3?.['contains'](_0x18c69b['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x4b39df,_0x1aae65,_0x3af195)=>{this['element']&&(_0x3af195?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}},_t=class extends _0x118b39{['counterView'];['inlineListView'];constructor(_0x2a4901,_0x174abb=0x6){super(_0x2a4901);const _0x54101a=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x174abb),this['inlineListView']=new vt(_0x2a4901),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x14671b of this['inlineListView']['items'])_0x14671b['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',_0x54101a['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}},yt=class extends _0x118b39{['listWrapperView'];constructor(_0x5cfff2,_0x1bb302){super(_0x5cfff2);const _0x4ae741=this['bindTemplate'];this['listWrapperView']=new bt(_0x5cfff2,_0x1bb302),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x5cfff2,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x4ae741['to'](_0x4decec=>{const _0xdd5b0f=_0x4decec,_0x4a0e85=document['querySelector']('.ck-presence-list__list'),_0xf3f576=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4a0e85?.['contains'](_0xdd5b0f['relatedTarget'])||_0xf3f576?.['contains'](_0xdd5b0f['relatedTarget'])||this['fire']('presencelist:hide');})}});}},bt=class extends _0x63033d{constructor(_0x195ae4,_0x1ea244){super(_0x195ae4);const _0x5bb89b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x1ea244?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x5bb89b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x5bb89b['to']('role'),'aria-label':_0x5bb89b['to']('ariaLabel'),'aria-labelledby':_0x5bb89b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x5de4cf['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x524c99=this['element'];_0x524c99&&(this['_isScrollable']=Math['max'](_0x524c99['scrollHeight'],_0x524c99['clientHeight'])>0.8*window['innerHeight']);}},kt=class extends _0x537ded{['userView'];constructor(_0x5ef706,_0x30536f,_0x944c9d){super(_0x5ef706);const _0x3d86ac=this['bindTemplate'];this['userView']=new _0x2710e6(_0x5ef706,_0x30536f);const _0x58d55c={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x30536f['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x30536f['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x30536f['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x30536f['color']['getColorVariable'](),'--ck-user-color-alpha':_0x30536f['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x944c9d&&(_0x58d55c['tag']='button',_0x58d55c['on']={'click':_0x3d86ac['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x58d55c);}['focus'](){this['element']['focus']();}},It=class extends _0x118b39{['userView'];['markerView'];constructor(_0xf0507d,_0x32e45b,_0x54db38){super(_0xf0507d);const _0x5be7c2=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x2710e6(_0xf0507d,_0x32e45b),this['markerView']=new St(_0xf0507d,_0x32e45b);const _0x370d7d=new _0x5cd191(_0xf0507d);_0x370d7d['template']['tag']='span',_0x370d7d['text']=_0x32e45b['name'];const _0x57eecc={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x5be7c2['to']('isFocusable',_0x2352f1=>!!_0x2352f1&&0x0),'aria-labelledby':_0x370d7d['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x5be7c2['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x5be7c2['to']('hasTooltip',_0x50cbb6=>!_0x50cbb6),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x370d7d]};_0x54db38&&(_0x57eecc['tag']='button',_0x57eecc['on']={'click':_0x5be7c2['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x57eecc);}},St=class extends _0x118b39{constructor(_0x6dc400,_0x3dc24a){super(_0x6dc400),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x3dc24a['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x3dc24a['color']['getColorVariable'](),'--ck-user-color-alpha':_0x3dc24a['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}};const Tt={'collapseAt':0x6,'displayMe':!0x0};var Ct=class extends _0x2818ba{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x16ab25){super(_0x16ab25),this['context']['config']['define']('presenceList',Tt);const _0x440e68=_0x16ab25['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x440e68)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);if(_0x440e68<0x1)throw new _0x39cc72('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x533d03(),this['balloonPanelView']=new _0x35ff59(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0xb0027f of this['_allConnectedUsers'])this['_handleUserAdd'](_0xb0027f);this['listenTo'](this['_allConnectedUsers'],'add',(_0x357543,_0x2a45d3)=>{this['_handleUserAdd'](_0x2a45d3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x177429,_0x37b898)=>{this['_handleUserRemove'](_0x37b898);});}['_createView'](){const _0x20a7fe=this['context'],_0xe887ab=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x1d664a=this['balloonPanelView'];if(!_0x7e36a1(_0x20a7fe['config']['get']('presenceList.container')))throw new _0x39cc72('presencelist-missing-container',this);return _0xe887ab['counterView']['bind']('usersCount')['to'](this),_0xe887ab['bind']('isCollapsed')['to'](this,'usersCount',_0x4614a7=>{const {collapseAt:_0x1c9c63}=_0x20a7fe['config']['get']('presenceList'),_0x3467e6=_0x4614a7>=_0x1c9c63;if(_0x3467e6&&!_0xe887ab['inlineListView']['items']['find'](_0x122f32=>_0x122f32 instanceof wt)){const _0x5ddeb9=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x5ddeb9&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0xe887ab['inlineListView']['items']['add'](_0xe887ab['counterView']);}return _0x3467e6||this['hideDropdown'](),_0x3467e6;}),_0xe887ab['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x521766=>{const _0x2b2b53=_0x20a7fe['config']['get']('presenceList'),_0x1ab9fd=new It(_0x20a7fe['locale'],_0x521766,!!_0x2b2b53['onClick']);return _0x1ab9fd['bind']('hasTooltip')['to'](_0xe887ab,'isCollapsed',_0x44d142=>!_0x44d142),_0x1ab9fd['bind']('isFocusable')['to'](_0xe887ab,'isCollapsed',_0xe472f=>!_0xe472f),_0x2b2b53['onClick']&&this['listenTo'](_0x1ab9fd,'execute',()=>{this['view']['isCollapsed']||_0x2b2b53['onClick'](_0x521766,_0x1ab9fd['element']);}),_0x1ab9fd;}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0xe887ab['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0xe887ab['inlineListView']['keystrokes']['set']('Enter',(_0x505fa2,_0x5b6c9e)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x5b6c9e());}),_0xe887ab['render'](),_0x1d664a['render'](),_0x125654({'emitter':_0xe887ab,'activator':()=>_0x1d664a['isVisible'],'contextElements':[_0x1d664a['element'],_0xe887ab['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x20a7fe['config']['get']('presenceList.container')['appendChild'](_0xe887ab['element']),this['_bodyCollection']=new _0x39c0cb(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0xe887ab;}['_handleUserAdd'](_0x29d2e9){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x29d2e9['isMe'])return;const _0x58b8dd=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x58b8dd-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x33b5bf=_0x29d2e9['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x29d2e9,_0x33b5bf);}['_handleUserRemove'](_0x13663f){this['usersCount']--;const {collapseAt:_0x1f6808}=this['context']['config']['get']('presenceList'),_0x30572e=this['usersCount']>=_0x1f6808;if(this['currentDisplayedUsers']['get'](_0x13663f['id']))this['currentDisplayedUsers']['remove'](_0x13663f['id']);else{if(_0x30572e&&this['currentDisplayedUsers']['length']+0x1===_0x1f6808-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)<this['usersCount']){for(const _0x5e426e of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5e426e['id'])&&(this['currentDisplayedUsers']['add'](_0x5e426e,Math['min'](this['currentDisplayedUsers']['length']-(_0x30572e?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x30572e?0x1:0x0)===_0x1f6808-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x265562=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x265562['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x5b0981}=this['presenceDropdownView'];_0x5b0981['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3a24fa=>{if(!_0x265562['displayMe']&&_0x3a24fa['isMe'])return null;const _0x505cee=new kt(this['context']['locale'],_0x3a24fa,!!_0x265562['onClick']);return _0x265562['onClick']&&this['listenTo'](_0x505cee,'execute',()=>{_0x265562['onClick'](_0x3a24fa,_0x505cee['element']);}),_0x505cee;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x5b0981['focus'](),_0x5b0981['checkIfScrollable']();const _0x43c7ab=(_0x47a5f1,_0x504d3b)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x504d3b();};_0x5b0981['keystrokes']['set']('Esc',_0x43c7ab),_0x5b0981['keystrokes']['set']('Shift+Tab',_0x43c7ab),_0x5b0981['keystrokes']['set']('Tab',(_0x23e302,_0x3a4ceb)=>{!function(_0x1d042e){const _0x679c11=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x21c49d=>_0x21c49d+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x83405a=[...document['body']['querySelectorAll'](_0x679c11)]['filter'](_0x24c05a=>_0x24c05a===document['activeElement']||_0x24c05a['offsetWidth']+_0x24c05a['offsetHeight']>0x0)['sort']((_0x224e27,_0x5949fa)=>(_0x224e27['tabIndex']||0x0)-(_0x5949fa['tabIndex']||0x0)),_0xa0d5e=_0x83405a[(_0x83405a['indexOf'](_0x1d042e)+0x1)%_0x83405a['length']];_0xa0d5e&&_0xa0d5e['focus']();}(this['view']['element']),this['hideDropdown'](),_0x3a4ceb();}),_0x5b0981['focusTracker']['add'](this['view']['element']),_0x5b0981['focusTracker']['on']('change:isFocused',(_0x5ba22c,_0x10e3a9,_0x2a4399)=>{_0x2a4399||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}},At=class extends _0x2818ba{static get['requires'](){return[Y,Ct];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}};export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,At as PresenceList,Ct as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};