@ckeditor/ckeditor5-real-time-collaboration 48.1.0-alpha.7 → 48.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/index.js +6 -6
  2. package/dist/translations/af.js +1 -1
  3. package/dist/translations/af.umd.js +1 -1
  4. package/dist/translations/ar.js +1 -1
  5. package/dist/translations/ar.umd.js +1 -1
  6. package/dist/translations/ast.js +1 -1
  7. package/dist/translations/ast.umd.js +1 -1
  8. package/dist/translations/az.js +1 -1
  9. package/dist/translations/az.umd.js +1 -1
  10. package/dist/translations/be.js +1 -1
  11. package/dist/translations/be.umd.js +1 -1
  12. package/dist/translations/bg.js +1 -1
  13. package/dist/translations/bg.umd.js +1 -1
  14. package/dist/translations/bn.js +1 -1
  15. package/dist/translations/bn.umd.js +1 -1
  16. package/dist/translations/bs.js +1 -1
  17. package/dist/translations/bs.umd.js +1 -1
  18. package/dist/translations/ca.js +1 -1
  19. package/dist/translations/ca.umd.js +1 -1
  20. package/dist/translations/cs.js +1 -1
  21. package/dist/translations/cs.umd.js +1 -1
  22. package/dist/translations/da.js +1 -1
  23. package/dist/translations/da.umd.js +1 -1
  24. package/dist/translations/de-ch.js +1 -1
  25. package/dist/translations/de-ch.umd.js +1 -1
  26. package/dist/translations/de.js +1 -1
  27. package/dist/translations/de.umd.js +1 -1
  28. package/dist/translations/el.js +1 -1
  29. package/dist/translations/el.umd.js +1 -1
  30. package/dist/translations/en-au.js +1 -1
  31. package/dist/translations/en-au.umd.js +1 -1
  32. package/dist/translations/en-gb.js +1 -1
  33. package/dist/translations/en-gb.umd.js +1 -1
  34. package/dist/translations/en.js +1 -1
  35. package/dist/translations/en.umd.js +1 -1
  36. package/dist/translations/eo.js +1 -1
  37. package/dist/translations/eo.umd.js +1 -1
  38. package/dist/translations/es-co.js +1 -1
  39. package/dist/translations/es-co.umd.js +1 -1
  40. package/dist/translations/es.js +1 -1
  41. package/dist/translations/es.umd.js +1 -1
  42. package/dist/translations/et.js +1 -1
  43. package/dist/translations/et.umd.js +1 -1
  44. package/dist/translations/eu.js +1 -1
  45. package/dist/translations/eu.umd.js +1 -1
  46. package/dist/translations/fa.js +1 -1
  47. package/dist/translations/fa.umd.js +1 -1
  48. package/dist/translations/fi.js +1 -1
  49. package/dist/translations/fi.umd.js +1 -1
  50. package/dist/translations/fr.js +1 -1
  51. package/dist/translations/fr.umd.js +1 -1
  52. package/dist/translations/gl.js +1 -1
  53. package/dist/translations/gl.umd.js +1 -1
  54. package/dist/translations/gu.js +1 -1
  55. package/dist/translations/gu.umd.js +1 -1
  56. package/dist/translations/he.js +1 -1
  57. package/dist/translations/he.umd.js +1 -1
  58. package/dist/translations/hi.js +1 -1
  59. package/dist/translations/hi.umd.js +1 -1
  60. package/dist/translations/hr.js +1 -1
  61. package/dist/translations/hr.umd.js +1 -1
  62. package/dist/translations/hu.js +1 -1
  63. package/dist/translations/hu.umd.js +1 -1
  64. package/dist/translations/hy.js +1 -1
  65. package/dist/translations/hy.umd.js +1 -1
  66. package/dist/translations/id.js +1 -1
  67. package/dist/translations/id.umd.js +1 -1
  68. package/dist/translations/it.js +1 -1
  69. package/dist/translations/it.umd.js +1 -1
  70. package/dist/translations/ja.js +1 -1
  71. package/dist/translations/ja.umd.js +1 -1
  72. package/dist/translations/jv.js +1 -1
  73. package/dist/translations/jv.umd.js +1 -1
  74. package/dist/translations/kk.js +1 -1
  75. package/dist/translations/kk.umd.js +1 -1
  76. package/dist/translations/km.js +1 -1
  77. package/dist/translations/km.umd.js +1 -1
  78. package/dist/translations/kn.js +1 -1
  79. package/dist/translations/kn.umd.js +1 -1
  80. package/dist/translations/ko.js +1 -1
  81. package/dist/translations/ko.umd.js +1 -1
  82. package/dist/translations/ku.js +1 -1
  83. package/dist/translations/ku.umd.js +1 -1
  84. package/dist/translations/lt.js +1 -1
  85. package/dist/translations/lt.umd.js +1 -1
  86. package/dist/translations/lv.js +1 -1
  87. package/dist/translations/lv.umd.js +1 -1
  88. package/dist/translations/ms.js +1 -1
  89. package/dist/translations/ms.umd.js +1 -1
  90. package/dist/translations/nb.js +1 -1
  91. package/dist/translations/nb.umd.js +1 -1
  92. package/dist/translations/ne.js +1 -1
  93. package/dist/translations/ne.umd.js +1 -1
  94. package/dist/translations/nl.js +1 -1
  95. package/dist/translations/nl.umd.js +1 -1
  96. package/dist/translations/no.js +1 -1
  97. package/dist/translations/no.umd.js +1 -1
  98. package/dist/translations/oc.js +1 -1
  99. package/dist/translations/oc.umd.js +1 -1
  100. package/dist/translations/pl.js +1 -1
  101. package/dist/translations/pl.umd.js +1 -1
  102. package/dist/translations/pt-br.js +1 -1
  103. package/dist/translations/pt-br.umd.js +1 -1
  104. package/dist/translations/pt.js +1 -1
  105. package/dist/translations/pt.umd.js +1 -1
  106. package/dist/translations/ro.js +1 -1
  107. package/dist/translations/ro.umd.js +1 -1
  108. package/dist/translations/ru.js +1 -1
  109. package/dist/translations/ru.umd.js +1 -1
  110. package/dist/translations/si.js +1 -1
  111. package/dist/translations/si.umd.js +1 -1
  112. package/dist/translations/sk.js +1 -1
  113. package/dist/translations/sk.umd.js +1 -1
  114. package/dist/translations/sl.js +1 -1
  115. package/dist/translations/sl.umd.js +1 -1
  116. package/dist/translations/sq.js +1 -1
  117. package/dist/translations/sq.umd.js +1 -1
  118. package/dist/translations/sr-latn.js +1 -1
  119. package/dist/translations/sr-latn.umd.js +1 -1
  120. package/dist/translations/sr.js +1 -1
  121. package/dist/translations/sr.umd.js +1 -1
  122. package/dist/translations/sv.js +1 -1
  123. package/dist/translations/sv.umd.js +1 -1
  124. package/dist/translations/th.js +1 -1
  125. package/dist/translations/th.umd.js +1 -1
  126. package/dist/translations/ti.js +1 -1
  127. package/dist/translations/ti.umd.js +1 -1
  128. package/dist/translations/tk.js +1 -1
  129. package/dist/translations/tk.umd.js +1 -1
  130. package/dist/translations/tr.js +1 -1
  131. package/dist/translations/tr.umd.js +1 -1
  132. package/dist/translations/tt.js +1 -1
  133. package/dist/translations/tt.umd.js +1 -1
  134. package/dist/translations/ug.js +1 -1
  135. package/dist/translations/ug.umd.js +1 -1
  136. package/dist/translations/uk.js +1 -1
  137. package/dist/translations/uk.umd.js +1 -1
  138. package/dist/translations/ur.js +1 -1
  139. package/dist/translations/ur.umd.js +1 -1
  140. package/dist/translations/uz.js +1 -1
  141. package/dist/translations/uz.umd.js +1 -1
  142. package/dist/translations/vi.js +1 -1
  143. package/dist/translations/vi.umd.js +1 -1
  144. package/dist/translations/zh-cn.js +1 -1
  145. package/dist/translations/zh-cn.umd.js +1 -1
  146. package/dist/translations/zh.js +1 -1
  147. package/dist/translations/zh.umd.js +1 -1
  148. package/package.json +12 -12
package/dist/index.js CHANGED
@@ -20,9 +20,9 @@
20
20
  *
21
21
  *
22
22
  */
23
- import{ContextPlugin as _0x5cca81,Plugin as _0x539c3e,PendingActions as _0xd9ea96,Context as _0x285430}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x236293,CKEditorError as _0x2b1db2,Collection as _0x442047,global as _0x3feea9,version as _0x5f4d8d,uid as _0x243793,KeystrokeHandler as _0x473501}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x3beb50,View as _0xaa5d78,ListView as _0x44faf1,ListItemView as _0x4a4ec4,LabelView as _0x169be3,BalloonPanelView as _0x1723fd,clickOutsideHandler as _0x13b972,BodyCollection as _0x25513e}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x468486,History as _0x2d26a6,NoOperation as _0x3e327f,InsertOperation as _0x3841a2,MarkerOperation as _0x4ed2d7,RootAttributeOperation as _0x57bef9,transformOperationSets as _0x16312c,OperationFactory as _0x10370b}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x359e6e}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x2d3563,WEB_SOCKET_GATEWAY_STATES as _0xf9333a,CollaborativeEditingService as _0x35e047,User as _0x1ca5f7,CommentsService as _0x55b714,TrackChangesService as _0x1c8aeb,RevisionHistoryService as _0x44cd6b,EditorService as _0x553943}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x15d62c,UserView as _0x31b224}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0x5a3d56}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x45a080,TrackChanges as _0x527e70}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x5383ad,Comments as _0x403d11,CommentsEditing as _0x37e082}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x40c931}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x573df8}from'es-toolkit/compat';class z extends _0x5cca81{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
- ((()=>_0x2d3563)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x359e6e,_0x3beb50];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x3cac25){super(_0x3cac25),this['set']('state',_0xf9333a['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x236293())();}['init'](){const _0x3e0781=this['context'],_0x5038d6=_0x3e0781['plugins']['get'](_0x359e6e),_0x1fd44d=_0x3e0781['plugins']['get'](_0x3beb50);if(!_0x5038d6['token'])throw new _0x2b1db2('websocketgateway-missing-token',this);if(!_0x5038d6['webSocketUrl'])throw new _0x2b1db2('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x5038d6['token'],_0x5038d6['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5b810e=>{if(this['connection']=_0x5b810e,this['bind']('state')['to'](_0x5b810e,'state',this,'_isBrowserOffline',(_0x84a0b9,_0x236b5a)=>('connected'!==_0x84a0b9&&(this['_shouldPluginsReconnect']=!0x0),_0x236b5a||_0x84a0b9!==_0xf9333a['CONNECTED']?_0xf9333a['DISCONNECTED']:this['state']==_0xf9333a['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0xf9333a['CONNECTING']):_0xf9333a['CONNECTED'])),this['connection']['on']('error',(_0x1da72a,_0x55a5c5)=>{if('limitExceeded'!==_0x55a5c5['code'])throw console['error'](_0x55a5c5),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x55a5c5});_0x1fd44d['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'});}),!_0x5b810e['me'])return new Promise(_0x373909=>_0x5b810e['on']('change:me',_0x373909));})['catch'](_0x6539bc=>{throw console['error'](_0x6539bc),new _0x2b1db2('cloudservices-init',null,{'originalError':_0x6539bc});});}['addToReconnectionStack'](_0x33b4c3){if('function'!=typeof _0x33b4c3['reconnect'])throw new _0x2b1db2('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x33b4c3))throw new _0x2b1db2('websocketgateway-plugin-already-registered',this,{'name':_0x33b4c3['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x33b4c3);}['removeFromReconnectionStack'](_0x5686c3){this['_reconnectionStack']['delete'](_0x5686c3);}['isInReconnectionStack'](_0xacdf21){return this['_reconnectionStack']['has'](_0xacdf21);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x2a269e=>_0x2a269e['reconnect']())))['then'](()=>this['state']=_0xf9333a['CONNECTED'])['catch'](_0x25a624=>{throw console['error'](_0x25a624),new _0x2b1db2('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0xf9333a['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0x5cca81{['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,_0x15d62c];}constructor(_0xbfb5e9){super(_0xbfb5e9),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x442047(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x15d62c);}['init'](){const _0x4ff35c=this['context']['plugins']['get'](z);this['listenTo'](_0x4ff35c,'change:state',(_0x6fa848,_0x16d014,_0x11fa3b)=>{if('connected'!==_0x11fa3b)this['channelSessions']['forEach'](_0x4ef392=>_0x4ef392['clear']()),this['channelConnectedUsers']['forEach'](_0x263e64=>_0x263e64['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0xafb147,_0x36ab52]of this['_registeredSessions'])for(const _0x404635 of _0x36ab52)this['_handleSessionAdd'](_0xafb147,_0x404635);}}),this['_createUser'](_0x4ff35c['connection']['me'],!0x0);}['register'](_0x3b3b80,_0x167d2d){if(this['_registeredSessions']['has'](_0x3b3b80))throw new _0x2b1db2('sessions-register-already-registered',null,{'channelId':_0x3b3b80});this['_registeredSessions']['set'](_0x3b3b80,_0x167d2d),this['channelSessions']['set'](_0x3b3b80,new _0x442047()),this['channelConnectedUsers']['set'](_0x3b3b80,new _0x442047()),this['listenTo'](_0x167d2d,'add',(_0x5b8d1e,_0x383b03)=>this['_handleSessionAdd'](_0x3b3b80,_0x383b03)),this['listenTo'](_0x167d2d,'remove',(_0x217da0,_0x3ea400)=>this['_handleSessionRemove'](_0x3b3b80,_0x3ea400));for(const _0x2f0468 of _0x167d2d)this['_handleSessionAdd'](_0x3b3b80,_0x2f0468);}['unregister'](_0x50b9af){if(!this['_registeredSessions']['has'](_0x50b9af))throw new _0x2b1db2('sessions-unregister-not-exist',null,{'channelId':_0x50b9af});const _0x2d6517=this['_registeredSessions']['get'](_0x50b9af);this['stopListening'](_0x2d6517);for(const _0x36a9c9 of _0x2d6517)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x50b9af,_0x36a9c9);this['_registeredSessions']['delete'](_0x50b9af),this['channelSessions']['delete'](_0x50b9af),this['channelConnectedUsers']['delete'](_0x50b9af);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x5a1805){for(const _0x2a0d18 of this['channelSessions']['values']())for(const _0x4bb55d of _0x2a0d18)if(_0x4bb55d['id']===_0x5a1805)return _0x4bb55d['user'];}['getUserSessions'](_0x16bfcc,_0xd578f2){const _0x17860e=_0xd578f2?[this['channelSessions']['get'](_0xd578f2)]:this['channelSessions']['values'](),_0x5c972b=new Set();for(const _0x1cadba of _0x17860e)for(const _0x8f0e85 of _0x1cadba)_0x8f0e85['user']['id']===_0x16bfcc['id']&&_0x5c972b['add'](_0x8f0e85['id']);return _0x5c972b;}['getUserRole'](_0x512102){for(const _0x4663d6 of this['channelSessions']['values']())for(const _0x5d1bca of _0x4663d6)if(_0x5d1bca['user']===_0x512102)return _0x5d1bca['role'];}['_handleSessionAdd'](_0x6bc086,_0x56a7cf){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x342fbf=_0x56a7cf['user'],_0x5d4c75=this['_users']['getUser'](_0x342fbf['id'])||this['_createUser'](_0x342fbf),_0x1e6f92=Object['assign']({},_0x56a7cf,{'user':_0x5d4c75});if(this['channelSessions']['get'](_0x6bc086)['add'](_0x1e6f92),!_0x342fbf['hiddenInPresenceList']){const _0x18a3e9=this['channelConnectedUsers']['get'](_0x6bc086);_0x18a3e9['has'](_0x5d4c75['id'])||_0x18a3e9['add'](_0x5d4c75),this['allConnectedUsers']['has'](_0x5d4c75['id'])||_0x342fbf['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x5d4c75,_0x5d4c75['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x6bc086,{'channelId':_0x6bc086,'session':_0x1e6f92});}['_handleSessionRemove'](_0x3c1f83,_0x394ec5){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x1eb51e=this['channelConnectedUsers']['get'](_0x3c1f83),_0x40eadd=_0x394ec5['user'];_0x40eadd['id']&&(this['channelSessions']['get'](_0x3c1f83)['remove'](_0x394ec5['id']),_0x1eb51e['has'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd,_0x3c1f83)['size']&&_0x1eb51e['remove'](_0x40eadd['id']),this['allConnectedUsers']['get'](_0x40eadd['id'])&&!this['getUserSessions'](_0x40eadd)['size']&&this['allConnectedUsers']['remove'](_0x40eadd['id']));}['_createUser'](_0x1003c7,_0x2c49fd){const _0x503480=this['_users']['addUser'](_0x1003c7);return _0x2c49fd&&this['_users']['defineMe'](_0x1003c7['id']),_0x503480['orderNumber']=this['_uniqueUsersCount']++,_0x503480;}}class K extends _0x539c3e{['_domEmitter']=new(_0x236293())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x40ebba=this['editor'],_0x22d6a8=_0x40ebba['plugins']['get'](Y);_0x40ebba['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x27218b,{writer:_0x176ffc})=>function(_0x366f8f,_0x3bdd5b,_0x5e82ae,_0x186185){const _0x4eccef=_0x366f8f['markerName']['split'](':')[0x2],_0xb661bc=_0x5e82ae['getUserBySessionId'](_0x4eccef);if(!_0xb661bc||_0x4eccef===_0x5e82ae['mySessionId'])return;if(!_0x186185['model']['schema']['checkChild'](_0x366f8f['markerRange']['start'],'$text'))return;const _0x420fa9={'class':'ck-user__marker\x20'+_0xb661bc['color']['getMarkerClass'](),'style':Q(_0xb661bc),'data-name':_0xb661bc['name'],'data-session-id':_0x4eccef},_0x3b2636=_0x186185['model']['markers']['get'](_0x366f8f['markerName']),_0x501d2b=_0x3b2636['getStart'](),_0x1d4d36=_0x501d2b['nodeAfter'],_0x29c4f6=_0x186185['model']['schema'];if(_0x1d4d36&&_0x29c4f6['isObject'](_0x1d4d36)&&_0x29c4f6['isInline'](_0x1d4d36)&&!_0x186185['model']['markers']['get']('user:range:'+_0x4eccef)['getRange']()['isCollapsed'])return;const _0x17fc03=_0x501d2b['parent'];return _0x186185['model']['schema']['isLimit'](_0x17fc03)&&!_0x186185['model']['hasContent'](_0x17fc03)&&(_0x420fa9['contenteditable']=!0x1),function(_0x2d7319,_0x22ccc8,_0x37076e){const _0x5a9632=_0x2d7319['createUIElement']('span',_0x22ccc8);return _0x2d7319['setCustomProperty']('userPositionMarker',!0x0,_0x5a9632),_0x5a9632['render']=function(_0x3d2e01){const _0x2b9536=this['toDomElement'](_0x3d2e01),_0x5c4d4d=document['createElement']('span');return _0x5c4d4d['classList']['add']('ck-user__marker-tooltip'),_0x5c4d4d['setAttribute']('contenteditable','false'),_0x5c4d4d['setAttribute']('spellcheck','false'),_0x5c4d4d['textContent']=_0x37076e['name'],_0x2b9536['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x5c4d4d['outerHTML']+'⁠',_0x2b9536['addEventListener']('mouseenter',()=>{_0x2b9536['classList']['add']('ck-user__marker_hovered');}),_0x2b9536['addEventListener']('mouseleave',()=>{_0x2b9536['classList']['remove']('ck-user__marker_hovered');}),_0x2b9536;},_0x5a9632['isSimilar']=function(_0x2a9728){return!(!this['getCustomProperty']('userPositionMarker')||!_0x2a9728['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x2a9728['getAttribute']('data-session-id'));},_0x5a9632;}(_0x3bdd5b,_0x420fa9,_0xb661bc);}(_0x27218b,_0x176ffc,_0x22d6a8,_0x40ebba)}),_0x40ebba['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x40e573=>function(_0x2a2e0c,_0x4029dd){const _0x117c0c=_0x2a2e0c['markerName']['split'](':')[0x2];if(_0x117c0c===_0x4029dd['mySessionId'])return null;const _0x566429=_0x4029dd['getUserBySessionId'](_0x117c0c);if(!_0x566429)return{'id':_0x117c0c,'classes':[]};return{'id':_0x117c0c,'classes':['ck-user__selection',_0x566429['color']['getSelectionClass']()],'attributes':{'style':Q(_0x566429),'data-session-id':_0x117c0c},'priority':0x7d0+_0x566429['orderNumber']};}(_0x40e573,_0x22d6a8)}),function(_0x7c0789){const _0x54b355=_0x7c0789['model'],_0x256777=new Map(),_0x2bcb09=_0x7c0789['plugins']['get'](Y);_0x54b355['markers']['on']('update:user:range',(_0x4e023a,_0x4378c7,_0x283fc8,_0x4feeab)=>{if(!_0x4feeab&&_0x256777['get'](_0x4378c7['name']))return _0x256777['get'](_0x4378c7['name'])['detach'](),void _0x256777['delete'](_0x4378c7['name']);const _0x3d8780=_0x4378c7['name']['split'](':')[0x2];if(_0x3d8780===_0x2bcb09['mySessionId'])return;const _0x31573a='user:position:'+_0x3d8780;_0x54b355['markers']['has'](_0x31573a)&&_0x7c0789['editing']['reconvertMarker'](_0x31573a),_0x4378c7['on']('change:range',(_0x16649f,_0x3fbc44,_0x5d2fcf)=>{if('$graveyard'!=_0x3fbc44['root']['rootName']&&'$graveyard'==_0x4378c7['getRange']()['root']['rootName']&&!_0x256777['has'](_0x4378c7['name'])){const _0x3d0fbe=_0x54b355['schema']['getNearestSelectionRange'](_0x5d2fcf['deletionPosition']);if(_0x3d0fbe){const _0x46b224=_0x468486['fromRange'](_0x3d0fbe);_0x256777['set'](_0x4378c7['name'],_0x46b224),_0x46b224['on']('change:range',(_0x23c1a2,_0x5a3306,_0xfc58ee)=>{if('$graveyard'==_0x46b224['root']['rootName']){const _0x22e106=_0x54b355['schema']['getNearestSelectionRange'](_0xfc58ee['deletionPosition']);_0x22e106?(_0x46b224['start']=_0x22e106['start'],_0x46b224['end']=_0x22e106['end']):(_0x256777['delete'](_0x4378c7['name']),_0x46b224['detach']());}});}}});}),_0x54b355['document']['on']('change',()=>{_0x256777['size']>0x0&&_0x54b355['enqueueChange']({'isUndoable':!0x1},_0x488068=>{for(const [_0x488bd4,_0x599b33]of _0x256777)'$graveyard'==_0x54b355['markers']['get'](_0x488bd4)['getRange']()['root']['rootName']&&(J(_0x488bd4['split'](':')[0x2],_0x599b33['toRange'](),_0x54b355,_0x488068),_0x599b33['detach']());_0x256777['clear']();});});}(_0x40ebba),this['_domEmitter']['listenTo'](_0x3feea9['document'],'keydown',(_0x2ab889,{key:_0x9be9b7})=>{'Escape'===_0x9be9b7&&function(_0x3bae0a){_0x3bae0a['editing']['view']['change'](_0x1adc9b=>{for(const _0x4daf2b of _0x3bae0a['model']['markers']){if(!_0x4daf2b['name']['startsWith']('user:position'))continue;const _0x279157=_0x3bae0a['editing']['mapper']['markerNameToElements'](_0x4daf2b['name']);if(_0x279157){for(const _0x4618d9 of _0x279157)_0x1adc9b['removeClass']('ck-user__marker_hovered',_0x4618d9);}}});}(_0x40ebba);},{'useCapture':!0x0});}['afterInit'](){const _0x30558e=this['editor'],_0x15f85a=_0x30558e['commands']['get']('undo');_0x15f85a&&_0x30558e['model']['on']('applyOperation',(_0x38fe86,_0x306190)=>{const _0x4e6629=_0x306190[0x0];if(!_0x4e6629['isDocumentOperation'])return;if('marker'!=_0x4e6629['type']||!_0x4e6629['name']['startsWith']('user:'))return;const _0x4d1225=_0x4e6629['batch'];_0x15f85a['_createdBatches']['has'](_0x4d1225)&&(_0x4e6629['newRange']=_0x4e6629['oldRange']?_0x30558e['model']['createRange'](_0x4e6629['oldRange']['start'],_0x4e6629['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x203c9d=this['editor'],_0x14627f=_0x203c9d['model']['document'],_0x5a68a4=_0x203c9d['plugins']['get'](Y);_0x203c9d['model']['enqueueChange']({'isUndoable':!0x1},_0x546daf=>{const _0x1d79e0='user:range:'+_0x5a68a4['mySessionId'],_0x5cd4c5='user:position:'+_0x5a68a4['mySessionId'],_0x3aaa3e=_0x203c9d['model']['markers']['has'](_0x1d79e0);_0x203c9d['editing']['view']['hasDomSelection']?J(_0x5a68a4['mySessionId'],_0x14627f['selection']['getFirstRange'](),_0x203c9d['model'],_0x546daf):_0x3aaa3e&&(_0x546daf['removeMarker'](_0x1d79e0),_0x546daf['removeMarker'](_0x5cd4c5));});}}function J(_0x586b37,_0xb4a11a,_0x19ea86,_0x518786){const _0x1a150e='user:range:'+_0x586b37,_0x499285='user:position:'+_0x586b37,_0x15a5ef=_0xb4a11a['getContainedElement']();let _0x2c4925=_0xb4a11a['start'];if(_0x15a5ef&&_0x15a5ef['is']('element','tableCell')){const _0x2eafd1=function(_0x1d0501,_0x59917f){for(const _0x42d0f9 of _0x1d0501['getPositions']())if(_0x59917f['schema']['checkChild'](_0x42d0f9,'$text'))return _0x42d0f9;}(_0xb4a11a,_0x19ea86);_0x2eafd1&&(_0x2c4925=_0x2eafd1,_0xb4a11a=_0x518786['createRange'](_0x2c4925));}const _0x2e1bb5=_0x518786['createRange'](_0x2c4925);_0x19ea86['markers']['has'](_0x1a150e)?(_0x518786['updateMarker'](_0x1a150e,{'range':_0xb4a11a}),_0x518786['updateMarker'](_0x499285,{'range':_0x2e1bb5})):(_0x518786['addMarker'](_0x1a150e,{'range':_0xb4a11a,'usingOperation':!0x0}),_0x518786['addMarker'](_0x499285,{'range':_0x2e1bb5,'usingOperation':!0x0}));}function Q(_0x4cfa44){return'--ck-user-color:'+_0x4cfa44['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x4cfa44['color']['getColorAlphaVariable']()+';';}function X(_0xa89946,_0x59cfb5,_0xc7ff08){const _0xb0700b=_0xa89946['t'],t=_0xa89946['t'];switch(_0x59cfb5){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 _0xb0700b({'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'},_0xc7ff08);default:return'';}}let Z=0x1;class tt extends _0x539c3e{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
- ((()=>_0x35e047)());['_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,_0xd9ea96,_0x15d62c,_0x3beb50];}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 _0x1ea482=this['serverHistory']['getOperations']();for(let _0x205b89=_0x1ea482['length']-0x1;_0x205b89>=0x0;_0x205b89--){const _0x13646f=_0x1ea482[_0x205b89];if(!this['_disconnectionOperations']['has'](_0x13646f))return _0x13646f['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x390202){if(super(_0x390202),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x2d26a6(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x2b1db2('collaboration-missing-channelid',this);const _0x273bfe=_0x390202['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d;this['_service']=new tt['CollaborativeEditingService'](_0x273bfe,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0x5a3d56(),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 _0x153a80=this['editor'],_0x29033f=_0x153a80['plugins']['get'](_0x15d62c),_0x294a13=_0x153a80['plugins']['get'](z);this['listenTo'](_0x29033f,'getOperationAuthor',(_0x167ec8,_0xec2b14)=>{const _0x46d9e5=_0xec2b14[0x0];_0x46d9e5['_authorId']&&(_0x167ec8['return']=_0x29033f['getUser'](_0x46d9e5['_authorId']),_0x167ec8['stop']()),null===_0x46d9e5['_authorId']&&(_0x167ec8['return']=null,_0x167ec8['stop']());},{'priority':'high'}),this['listenTo'](_0x153a80['model']['document']['selection'],'change:range',(_0x28be37,_0x3744b3)=>{_0x3744b3['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x153a80['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x153a80['model']['on']('applyOperation',(_0x565bb0,_0x1521d4)=>{const _0x4c80a8=_0x1521d4[0x0];_0x4c80a8['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x4c80a8),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x294a13,'state',this,'_hasSynchronizationProblem',(_0xd24138,_0x394b3)=>'connected'===_0xd24138&&!_0x394b3),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x153a80['disableReadOnlyMode']('rtc-offline'):_0x153a80['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x4c5241=this['editor']['plugins']['get'](Y),_0x5be913=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x4c5241['unregister'](this['_channelId']);const _0x54a203=await this['_service']['reconnect'](_0x5be913['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x54a203)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x49c534=await this['_service']['getConnectedSessions']();_0x4c5241['register'](this['_channelId'],_0x49c534),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x5d18f7){if(function(_0xed42d0){return'404'===_0xed42d0['code'];}(_0x5d18f7)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x32a64d){return'409'===_0x32a64d['code'];}(_0x5d18f7)){const _0x59e69e=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'](_0x59e69e);}else{if(!(_0x5d18f7 instanceof et))throw _0x5d18f7;this['_handleReconnectionError']();}}}}['destroy'](){const _0x9773dd=this['editor']['plugins']['get'](z),_0x41bb4e=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x41bb4e['channelSessions']['has'](this['_channelId'])&&_0x41bb4e['unregister'](this['_channelId']),_0x9773dd['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x46939d){if(this['sessionId']!==_0x46939d['sessionId']&&this['_lastSyncedOperationId']!==_0x46939d['lastOperationId'])throw new et();return this['sessionId']=_0x46939d['sessionId'],this['_handleServerResponse']([],{..._0x46939d,'wereChangesApplied':!0x1,'data':_0x46939d['data']},'reconnect');}async['_connectService'](_0x5dc94e,_0x304ac5=!0x1){const {connection:_0x162a74}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x162a74,this['_channelId'])['then'](_0x38620b=>this['_initSessionsHandling'](_0x38620b))['catch'](_0x35a2b6=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x35a2b6);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x5af7cf,_0x110094)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x110094);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x128439=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x5dc94e);this['_isPendingUpdate']=!0x0;const _0x2b3dd0=await this['_service']['connect'](_0x162a74,this['_compressOperations'](_0x5dc94e),_0x128439);if(this['sessionId']=_0x2b3dd0['sessionId'],_0x304ac5){if(!_0x2b3dd0['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x2b3dd0['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x5dc94e,_0x2b3dd0,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x2b3dd0,_0x5dc94e);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x119e14=this['editor']['plugins']['get'](Y),_0x51dd8d=this['editor']['plugins']['get'](K),_0x1f0b92=_0x119e14['channelSessions']['get'](this['_channelId']);_0x1f0b92&&_0x1f0b92['length']>0x1?_0x51dd8d['createUserMarkerOperations']():this['listenTo'](_0x119e14,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x119e14['channelSessions']['get'](this['_channelId'])['length']&&_0x51dd8d['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x398210,_0x54096a,_0x31f06a,_0x1f925d){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x54096a){const _0x5369c7=this['_decompressOperations'](_0x31f06a,_0x1f925d);await this['_fetchMissingUsers'](_0x5369c7),this['_handleExternalOperations'](_0x5369c7,_0x54096a,_0x31f06a['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x36e22f}=this['editor'];let _0x5661cd;try{_0x5661cd=await this['_service']['getDocumentDetails']();}catch{const _0xaed56f=X(_0x36e22f,'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'](_0xaed56f);}const _0x529ce6=_0x5661cd['currentDocumentSession']||_0x5661cd['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x529ce6['lastOperationId']){const _0x5e9071=X(_0x36e22f,'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'](_0x5e9071);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x12313b){const _0x306a7a=this['editor']['plugins']['get'](Y);this['listenTo'](_0x306a7a,'sessionAdd:'+this['_channelId'],(_0x34936f,{session:_0x2deb06})=>{if(_0x2deb06['id']===_0x306a7a['mySessionId']){_0x34936f['off']();const _0x2124b5=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x88fa83=_0x2deb06['permissions'];_0x2124b5&&_0x2124b5['isEnabled']&&(_0x88fa83=_0x88fa83['filter'](_0x6d42f6=>'document:write'!==_0x6d42f6)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x88fa83,this['_channelId']);}}),_0x306a7a['register'](this['_channelId'],_0x12313b);}['_initThrowingOnDataSet'](){const _0x48d8ed=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x3ff46c)=>{if(!_0x3ff46c[_0x3ff46c['length']-0x1]['suppressErrorInCollaboration'])throw new _0x2b1db2('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x48d8ed['apply'](this['editor']['data'],_0x3ff46c);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x440741,[_0x35bb91])=>{if(this['_document']['version'])throw new _0x2b1db2('realtimecollaborationclient-init-document-already-initialized',this);_0x440741['stop'](),this['_setPendingAction']();const _0xd693fc=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x23b06f])=>!_0x23b06f['lazyLoad'])['map'](([_0x32bbb6,_0x2671a6])=>[_0x32bbb6,_0x2671a6['modelAttributes']||{}])),_0x5f46e9=this['_getOperationsFromInitData'](_0x35bb91,_0xd693fc);0x0==_0x5f46e9['length']&&_0x5f46e9['push'](new _0x3e327f(0x0)),_0x440741['return']=this['_connectService'](_0x5f46e9)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xaad939=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xaad939))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0xe84be9,[_0x17eb56,_0x2271f0])=>{_0xe84be9['stop']();const _0x245c41=this['editor']['model']['document']['getRoot'](_0x17eb56);if(!this['_knownRootNames']['has'](_0x17eb56)){const _0x59ca91=_0x2271f0&&_0x2271f0['data']?_0x2271f0['data']:'',_0x27f592=_0x2271f0&&_0x2271f0['attributes']?_0x2271f0['attributes']:{};await this['_loadRoot'](_0x17eb56,_0x59ca91,_0x27f592);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x245c41['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x245c41);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x15c068){const _0x48a53f=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x7b35f9}=this['editor']['plugins']['get'](z),_0x32640e=new Set();for(const _0x2f4905 of _0x15c068){const _0x2c7492=_0x2f4905['_authorId'];_0x2c7492&&!_0x48a53f['getUser'](_0x2c7492)&&_0x32640e['add'](_0x2c7492);}if(0x0===_0x32640e['size'])return;const _0x22da8e=await _0x1ca5f7['getMany'](_0x7b35f9,Array['from'](_0x32640e));for(const _0x2faa12 of _0x22da8e)_0x48a53f['getUser'](_0x2faa12['id'])||_0x48a53f['addUser'](_0x2faa12);}['_getOperationsFromInitData'](_0x14e66c,_0x4df968={}){const _0x462514=this['editor']['model'],_0x475e2f=[];let _0x464b13=0x0;const _0x792f5f='string'==typeof _0x14e66c?{'main':_0x14e66c}:_0x14e66c;for(const _0x75d5b5 of Object['keys'](_0x792f5f)){if(!this['_document']['roots']['has'](_0x75d5b5))throw new _0x2b1db2('realtimecollaborationclient-init-non-existent-root',this);const _0x926c5=this['editor']['data']['parse'](_0x792f5f[_0x75d5b5]),_0x2611e2=this['_document']['getRoot'](_0x75d5b5),_0x352301=new _0x3841a2(_0x462514['createPositionAt'](_0x2611e2,0x0),_0x926c5,_0x464b13++);_0x475e2f['push'](_0x352301);for(const [_0x56e5a0,_0x98b941]of _0x926c5['markers']){const _0x3d9675=_0x462514['createRange'](_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['start']['path']['slice']()),_0x462514['createPositionFromPath'](_0x2611e2,_0x98b941['end']['path']['slice']())),_0x2d1069=new _0x4ed2d7(_0x56e5a0,null,_0x3d9675,_0x462514['markers'],!0x0,_0x464b13++);_0x475e2f['push'](_0x2d1069);}}if(_0x4df968)for(const [_0x43eb06,_0x2d6a21]of Object['entries'](_0x4df968)){const _0x332b75=_0x462514['document']['getRoot'](_0x43eb06);if(!_0x332b75)throw new _0x2b1db2('multi-root-editor-root-attributes-no-root',null);for(const [_0x4ab22f,_0x52c58d]of Object['entries'](_0x2d6a21))if(null!==_0x52c58d){const _0x346517=new _0x57bef9(_0x332b75,_0x4ab22f,null,_0x52c58d,_0x464b13++);_0x475e2f['push'](_0x346517);}}return _0x475e2f;}async['_loadRoot'](_0x1b4f23,_0x29125f,_0x5c9e25){this['_getOperationsFromInitData']({[_0x1b4f23]:_0x29125f},{[_0x1b4f23]:_0x5c9e25})['forEach']((_0x29208d,_0x348c2c)=>{_0x29208d['baseVersion']=this['_document']['version']+_0x348c2c,_0x29208d['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x29208d);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x336930,_0x443d3f){let _0x21714e;this['_offset']=_0x336930['offset'];const _0x48e93a=_0x336930['wereChangesApplied']&&!_0x336930['initData'],_0x39a089=_0x48e93a?0x0:_0x336930['data']['baseVersion'];if(_0x443d3f['forEach'](_0x10cd8b=>{_0x10cd8b['_isInit']=!0x0,_0x10cd8b['createdAt']=_0x336930['sessionCreatedAt'],_0x10cd8b['_authorId']=null;}),_0x48e93a)_0x21714e=_0x443d3f,this['_applyOperationsSet'](_0x21714e,_0x48e93a);else{if(_0x336930['initData']){const _0x5e2a18=this['_getOperationsFromInitData'](_0x336930['initData']);this['_document']['history']['version']=-_0x5e2a18['length'],_0x5e2a18['forEach'](_0x15476e=>{_0x15476e['baseVersion']-=_0x5e2a18['length'],_0x15476e['createdAt']=_0x336930['sessionCreatedAt'],_0x15476e['_isInit']=!0x0,_0x15476e['_authorId']=null;}),this['_applyOperationsSet'](_0x5e2a18,!0x0),this['serverHistory']['version']=-_0x5e2a18['length']+this['_offset'],this['_updateServerHistory'](_0x5e2a18);}this['_document']['history']['version']=_0x39a089,_0x21714e=this['_decompressOperations'](_0x336930['data'],_0x336930['metadata']),await this['_fetchMissingUsers'](_0x21714e),this['_applyOperationsSet'](_0x21714e,_0x48e93a);}_0x336930['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x21714e,_0x336930['lastOperationId']),this['_lastSyncedOperationId']=_0x336930['lastOperationId']),this['serverHistory']['version']=_0x39a089+this['_offset'],this['_updateServerHistory'](_0x21714e),_0x443d3f['filter'](_0x4d9850=>{const _0x465694=this['_getAffectedRoot'](_0x4d9850);return _0x465694&&!this['_knownRootNames']['has'](_0x465694);})['forEach']((_0x4f6e03,_0x3134bc)=>{_0x4f6e03['baseVersion']=this['_document']['version']+_0x3134bc,this['_saveOperationInBuffer'](_0x4f6e03);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x32b820,_0x355f66){const _0x333cbc=_0x355f66&&_0x355f66['message'];if(_0x333cbc&&_0x333cbc['startsWith']('realtimecollaborationclient'))throw _0x355f66;const _0x1e101b=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x1e101b['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x2b1db2(_0x32b820,this['editor'],_0x333cbc?{'originalError':_0x333cbc}:void 0x0);}['_saveOperationInBuffer'](_0x437bbc){this['_knownOperations']['has'](_0x437bbc)||(this['_knownOperations']['add'](_0x437bbc),this['_bufferedOperations']['push'](_0x437bbc),this['_pendingAction']||'marker'==_0x437bbc['type']&&!_0x437bbc['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x3a72ce=!0x1){!_0x3a72ce&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x3b6c4e=>{_0x3b6c4e&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x1c87c3=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x56348f){return _0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x56348f['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x1c87c3)||this['_crash'](_0x1c87c3['message'],_0x1c87c3);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x3ebe5d=>{this['on']('change:_isPendingUpdate',()=>{_0x3ebe5d();});});}async['_sendBufferedOperations'](){const _0x17c750=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x17c750['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0xfc6821=[...this['_bufferedOperations']];for(const _0x3dd349 of _0xfc6821)_0x3dd349['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x3dd349);const _0x16f444=this['_operationIdentifier']['getIdOfTheLastOperation'](_0xfc6821),_0x34a16d=Z++,_0x472adf=this['_compressOperations'](_0xfc6821),_0x50f436=await this['_service']['sendOperations'](_0x472adf,_0x472adf['baseVersion'],_0x16f444);try{return await this['_handleServerResponse'](_0xfc6821,_0x50f436,_0x34a16d);}catch(_0x408309){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0x408309);}}async['_handleServerResponse'](_0x410371,_0x451677,_0x4aa97c){if('error'in _0x451677)throw _0x451677['error'];let _0xc7d12=!0x1;if(_0x451677['wereChangesApplied']){_0x451677['lastOperationId']&&(this['_lastSyncedOperationId']=_0x451677['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x295796=>!_0x410371['includes'](_0x295796));for(const _0xf6b500 of _0x410371)_0xf6b500['createdAt']='lastOperationAcceptedAt'in _0x451677&&_0x451677['lastOperationAcceptedAt']||void 0x0;st(_0x410371,_0x451677['version']-_0x410371['length']),this['_updateServerHistory'](_0x410371);const _0x3460c4=_0x410371['filter'](_0x5f3da2=>{if(!_0x5f3da2['_isInit'])return!0x1;const _0xff370d=this['_getAffectedRoot'](_0x5f3da2);return _0xff370d&&!this['_knownRootNames']['has'](_0xff370d);});st(_0x3460c4,this['_document']['version']),this['_applyOperationsSet'](_0x3460c4),_0xc7d12=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x186bf0=this['_decompressOperations'](_0x451677['data'],_0x451677['metadata'])['filter'](_0x28e519=>_0x28e519['baseVersion']>=this['_lastServerVersion']);_0x186bf0['forEach'](_0x1ff73a=>this['_addKnownRoot'](_0x1ff73a)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x4dd34=>!_0x4dd34['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x4dd34))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x186bf0),_0xc7d12=this['_handleExternalOperations'](_0x186bf0,_0x451677['version'],_0x451677['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0xc7d12?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x466527,_0x37f814,_0x2d594e){try{const _0x22dd18={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x367c05,operationsB:_0xb6e25a,originalOperations:_0x179182}=_0x16312c(_0x466527,this['_bufferedOperations'],_0x22dd18);st(_0x367c05,this['_document']['version']),st(_0xb6e25a,_0x37f814);for(const _0x255597 of _0x367c05){const _0x4b9c28=_0x179182['get'](_0x255597);_0x255597['_authorId']=_0x4b9c28?_0x4b9c28['_authorId']:null;}_0x2d594e&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x466527,_0x2d594e),this['_lastSyncedOperationId']=_0x2d594e),this['_bufferedOperations']=[..._0xb6e25a],this['_applyOperationsSet'](_0x367c05),this['_updateServerHistory'](_0x466527);}catch(_0x1b13eb){return console['error'](_0x1b13eb),!0x1;}return!0x0;}['_applyOperationsSet'](_0x2e271e,_0x1f8b6a=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x8c4919=>{for(const _0x656b1d of _0x2e271e)this['_knownOperations']['add'](_0x656b1d),this['_addKnownRoot'](_0x656b1d),_0x8c4919['batch']['addOperation'](_0x656b1d),this['editor']['model']['applyOperation'](_0x656b1d);});}['_addKnownRoot'](_0x416295){const _0x54179f=this['_getAffectedRoot'](_0x416295);_0x54179f&&this['_knownRootNames']['add'](_0x54179f);}['_getAffectedRoot'](_0x3758e8){let _0x8a32cb,_0x2cef06;switch(_0x3758e8['type']){case'insert':_0x8a32cb=_0x3758e8['position']['root'];break;case'marker':if(_0x2cef06=_0x3758e8['newRange'],!_0x2cef06)return null;_0x8a32cb=_0x2cef06['root'];break;case'addRootAttribute':_0x8a32cb=_0x3758e8['root'];break;case'addRoot':_0x8a32cb=_0x3758e8['affectedSelectable'];break;case'move':_0x8a32cb=_0x3758e8['targetPosition']['root'];break;default:return null;}return _0x8a32cb['rootName'];}['_updateServerHistory'](_0x5887fb){_0x5887fb['forEach'](_0x3b8429=>{const _0x354604=_0x3b8429['clone']();_0x354604['_authorId']=_0x3b8429['_authorId'],_0x354604['_isInit']=!!_0x3b8429['_isInit'],_0x354604['createdAt']=_0x3b8429['createdAt'],_0x354604['baseVersion']+=this['_offset'],_0x3b8429['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x354604),this['serverHistory']['addOperation'](_0x354604);});}['_handleReconnectionError'](_0x1ff3e1){const _0x22593a=this['editor']['plugins']['get']('Notification'),_0x4ae177=this['editor']['locale'];_0x1ff3e1||(_0x1ff3e1=X(_0x4ae177,'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.')),_0x22593a['showWarning'](_0x1ff3e1,{'title':X(_0x4ae177,'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'](_0xd9ea96)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0xd9ea96)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5ca940){const _0x695fa3=_0x5ca940['map'](_0x2b30b2=>_0x2b30b2['toJSON']());return this['_compressor']['compress'](_0x695fa3);}['_decompressOperations'](_0x312944,_0x207290){return this['_compressor']['decompress'](_0x312944)['map']((_0xd6c219,_0x224f4c)=>{const _0x18feb4='init'==_0x207290[_0x224f4c]['type'];if('InsertOperation'==_0xd6c219['__className']){const _0xbe14a5=_0xd6c219['position']['root'];!this['_document']['getRoot'](_0xbe14a5)&&(this['_document']['createRoot']('$root',_0xbe14a5)['_isAttached']=!0x1);}const _0x7dcd3=_0x10370b['fromJSON'](_0xd6c219,this['_document']);return _0x7dcd3['wasUndone']=_0xd6c219['wasUndone'],_0x7dcd3['_isInit']=_0x18feb4,_0x7dcd3['_authorId']=_0x18feb4?null:_0x207290[_0x224f4c]['userId'],_0x7dcd3['_isDisconnection']='cs:removeUser'===_0x207290[_0x224f4c]['type'],_0x7dcd3['createdAt']=_0x207290[_0x224f4c]['createdAt'],_0x7dcd3;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x7c3f50=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x7c3f50&&_0x7c3f50['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x42e3c0,_0x15ed94){for(const _0x288d54 of _0x42e3c0)_0x288d54['baseVersion']=_0x15ed94++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0x30b15){this['_ignoredOperations']=_0x30b15,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x41fcc0){let _0x519de5=_0x41fcc0['length'];for(;_0x519de5--;){const _0x3a07cd=_0x41fcc0[_0x519de5];if(!this['_ignoredOperations']['has'](_0x3a07cd)){if(!this['_operationToId']['has'](_0x3a07cd)){const _0x121d16=_0x243793()['slice'](0x1,0x12);this['_operationToId']['set'](_0x3a07cd,_0x121d16);}return this['_operationToId']['get'](_0x3a07cd);}}}['setIdForTheLastOperation'](_0x5c84b0,_0xdb152d){if(!_0xdb152d)return;let _0x5de669=_0x5c84b0['length'];for(;_0x5de669--;){const _0x22317c=_0x5c84b0[_0x5de669];this['_ignoredOperations']['has'](_0x22317c)||this['_operationToId']['set'](_0x22317c,_0xdb152d);}}}class nt extends _0x539c3e{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0x5cca81{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
- ((()=>_0x55b714)());['_services'];static get['requires'](){return[z,_0x5383ad,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x27c7c6){super(_0x27c7c6),this['_services']=new Map();}async['init'](){const _0x402c86=this['context'],_0xa84af0=_0x402c86['plugins']['get'](_0x5383ad);if(_0x402c86['plugins']['get'](z)['addToReconnectionStack'](this),_0xa84af0['adapter']={'addCommentThread':async({channelId:_0xd5e818,threadId:_0x3d8126,comments:_0x5c13a8,resolvedAt:_0x46a8fd,resolvedBy:_0x1baf0f,context:_0x15aa1d,attributes:_0x1b29e6})=>{const _0x1291d4=await this['_getService'](_0xd5e818)['addCommentThread']({'commentThreadId':_0x3d8126,'comments':_0x5c13a8['map'](_0x54a1a0=>function(_0x32d5d9,_0x20c330,_0x2598cb){return{'commentThreadId':_0x2598cb,'commentId':_0x32d5d9['commentId'],'userId':_0x32d5d9['authorId'],'content':_0x32d5d9['content'],'documentId':_0x20c330,'createdAt':_0x32d5d9['createdAt'],'attributes':_0x32d5d9['attributes']||{}};}(_0x54a1a0,_0xd5e818,_0x3d8126)),'resolvedAt':_0x46a8fd,'resolvedBy':_0x1baf0f,'context':_0x15aa1d,'attributes':_0x1b29e6})['catch'](ct);return{'threadId':_0x1291d4['commentThreadId'],'comments':_0x1291d4['comments']};},'getCommentThread':async({channelId:_0x31ae82,threadId:_0x94777a})=>{const _0x340841=await this['_getService'](_0x31ae82)['getCommentThread'](_0x94777a)['catch'](rt)['catch'](ct);return _0x340841?_0x340841['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x340841]),{'threadId':_0x340841['commentThreadId'],'comments':_0x340841['comments']['map'](at),'context':_0x340841['context'],'resolvedAt':_0x340841['resolvedAt'],'resolvedBy':_0x340841['resolvedBy'],'attributes':_0x340841['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x25c821,threadId:_0x5795a8,context:_0x526c71,unlinkedAt:_0x15f264,attributes:_0x58671d})=>this['_getService'](_0x25c821)['updateCommentThread']({'commentThreadId':_0x5795a8,'context':_0x526c71,'attributes':_0x58671d,'unlinkedAt':_0x15f264})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0xdefeb4,threadId:_0x4ee7d4})=>{const _0x43f6f7=await this['_getService'](_0xdefeb4)['resolveCommentThread'](_0x4ee7d4)['catch'](rt)['catch'](ct);return{'threadId':_0x43f6f7['commentThreadId'],'resolvedAt':_0x43f6f7['resolvedAt'],'resolvedBy':_0x43f6f7['resolvedBy']};},'reopenCommentThread':async({channelId:_0x301b3c,threadId:_0x9463e})=>this['_getService'](_0x301b3c)['reopenCommentThread'](_0x9463e)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x413ef2,threadId:_0x43bf8b})=>this['_getService'](_0x413ef2)['removeCommentThread'](_0x43bf8b)['catch'](rt)['catch'](ct),'addComment':({channelId:_0x373364,threadId:_0x317781,commentId:_0x337519,content:_0x420e79,attributes:_0xf618ec})=>this['_getService'](_0x373364)['addComment'](_0x317781,_0x337519,_0x420e79,_0xf618ec)['catch'](ct),'updateComment':({channelId:_0x441d35,threadId:_0x5a376d,commentId:_0x625764,content:_0x576878,attributes:_0x23027b})=>this['_getService'](_0x441d35)['updateComment'](_0x5a376d,_0x625764,_0x576878,_0x23027b)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x135445,threadId:_0x54732d,commentId:_0x2dde49})=>this['_getService'](_0x135445)['removeComment'](_0x54732d,_0x2dde49)['catch'](rt)['catch'](ct)},_0x402c86 instanceof _0x285430){const _0x2ab922=_0x402c86['config']['get']('collaboration.channelId'),_0x460caa=_0x402c86['plugins']['get'](Y);await this['_setUpService'](_0x2ab922);const _0x72e775=await this['_services']['get'](_0x2ab922)['getConnectedSessions']();this['listenTo'](_0x460caa,'sessionAdd:'+_0x2ab922,(_0x2915d7,{session:_0xe4a4a8})=>{_0xe4a4a8['id']===_0x460caa['mySessionId']&&(_0x2915d7['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0xe4a4a8['permissions'],_0x2ab922));}),_0x460caa['register'](_0x2ab922,_0x72e775);}}async['_setUpService'](_0x2648db){if(this['_services']['has'](_0x2648db))throw new _0x2b1db2('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x2648db});const _0x412544=this['context']['plugins']['get'](_0x5383ad),_0x2d8c65=new ot['CommentsService'](_0x2648db);this['_services']['set'](_0x2648db,_0x2d8c65),this['listenTo'](_0x2d8c65,'commentThreadAdded',(_0x31dd29,_0x337bee)=>{const {commentThreadId:_0x1f5da1,documentId:_0xb50c55,context:_0x4e95e5,attributes:_0x3005a5,resolvedAt:_0x5af5f2,resolvedBy:_0x41d79e,comments:_0x19651b}=_0x337bee;_0x412544['getCommentThread'](_0x1f5da1)||_0x412544['addCommentThread']({'threadId':_0x1f5da1,'channelId':_0xb50c55,'comments':_0x19651b?_0x19651b['map'](at):[],'context':_0x4e95e5,'attributes':_0x3005a5,'resolvedAt':_0x5af5f2,'resolvedBy':_0x41d79e,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadUpdated',(_0x585ff6,{commentThreadId:_0xb552be,documentId:_0x16e1a5,context:_0x451b9a,unlinkedAt:_0x2377e5,attributes:_0x334d4c})=>{_0x412544['getCommentThread'](_0xb552be)&&_0x412544['updateCommentThread']({'threadId':_0xb552be,'channelId':_0x16e1a5,'context':_0x451b9a,'unlinkedAt':_0x2377e5,'attributes':_0x334d4c,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadResolved',(_0x531f51,{commentThreadId:_0x2f13f2,resolvedBy:_0x251552,resolvedAt:_0x1b0574})=>{const _0x5f13b4=_0x412544['getCommentThread'](_0x2f13f2);_0x5f13b4&&_0x5f13b4['resolve']({'resolvedBy':_0x251552,'resolvedAt':_0x1b0574,'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadReopened',(_0xbe81dc,{commentThreadId:_0x294b6f})=>{const _0xea5873=_0x412544['getCommentThread'](_0x294b6f);_0xea5873&&_0xea5873['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentThreadRemoved',(_0x23d537,{commentThreadId:_0x38893e})=>{const _0x364394=_0x412544['getCommentThread'](_0x38893e);_0x364394&&_0x364394['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentAdded',(_0x43caab,_0x5e23a0)=>{const _0x284999=_0x5e23a0['commentThreadId'],_0x15048c=_0x412544['getCommentThread'](_0x284999);_0x15048c&&_0x15048c['addComment']({...at(_0x5e23a0),'isFromAdapter':!0x0});}),this['listenTo'](_0x2d8c65,'commentUpdated',(_0x392ce7,{commentThreadId:_0x406b63,commentId:_0x4ae33a,content:_0x2e6761,attributes:_0x372523})=>{const _0x416b63=_0x412544['getCommentThread'](_0x406b63);if(_0x416b63){const _0x48bd7c=_0x416b63['getComment'](_0x4ae33a);_0x48bd7c&&_0x48bd7c['update']({'content':_0x2e6761,'attributes':_0x372523,'isFromAdapter':!0x0});}}),this['listenTo'](_0x2d8c65,'commentRemoved',(_0x5ad25a,{commentThreadId:_0x49c83b,commentId:_0x8cc84e})=>{const _0x461e8c=_0x412544['getCommentThread'](_0x49c83b);if(_0x461e8c){const _0x3eef99=_0x461e8c['getComment'](_0x8cc84e);_0x3eef99&&_0x3eef99['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x2648db);}['destroy'](){if(this['context']instanceof _0x285430){const _0x4f241b=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x4f241b);}}['_terminateService'](_0x13afc1){if(!this['_services']['has'](_0x13afc1))throw new _0x2b1db2('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x13afc1});this['_getService'](_0x13afc1)['disconnect'](),this['_services']['delete'](_0x13afc1);}async['reconnect'](){for(const _0x4fa1c6 of this['_services']['keys']())await this['_connectService'](_0x4fa1c6);if(this['context']instanceof _0x285430){const _0x4120fd=this['context']['config']['get']('collaboration.channelId'),_0x8d775f=this['context']['plugins']['get'](Y);_0x8d775f['unregister'](_0x4120fd);const _0x27b028=await this['_services']['get'](_0x4120fd)['getConnectedSessions']();_0x8d775f['register'](_0x4120fd,_0x27b028);}}async['_connectService'](_0x21d34e){const {connection:_0x4c0971}=this['context']['plugins']['get'](z),_0x4349a1=this['context']['plugins']['get'](_0x5383ad),_0x31c901=this['_services']['get'](_0x21d34e),_0x1be2dd=await _0x31c901['connect'](_0x4c0971);await this['_fetchMissingUsersForThreads'](_0x1be2dd);const _0x340da6=new Set(Array['from'](_0x4349a1['getCommentThreads']({'channelId':_0x21d34e}),_0x4988c0=>_0x4988c0['id']));for(const _0x1caecd of _0x1be2dd)_0x1caecd['deletedAt']||_0x340da6['delete'](_0x1caecd['commentThreadId']);for(const _0x259aa7 of _0x340da6)_0x4349a1['getCommentThread'](_0x259aa7)['remove']({'isFromAdapter':!0x0});for(const _0x5580d1 of _0x1be2dd){let _0x21d313=_0x4349a1['getCommentThread'](_0x5580d1['commentThreadId']);const {commentThreadId:_0x230a11,context:_0x2448c0,attributes:_0x5639fa,resolvedBy:_0x2754e2,resolvedAt:_0x84852f,unlinkedAt:_0x243b7c,deletedAt:_0x256647}=_0x5580d1;if(_0x256647)continue;_0x21d313||(_0x21d313=_0x4349a1['addCommentThread']({'channelId':_0x21d34e,'threadId':_0x230a11,'context':_0x2448c0,'attributes':_0x5639fa||{},'resolvedBy':_0x2754e2,'resolvedAt':_0x84852f,'unlinkedAt':_0x243b7c,'isFromAdapter':!0x0}));const _0x1f2492=new Set(Array['from'](_0x21d313['comments'],_0x55a59d=>_0x55a59d['id']));for(const _0x23cc9f of _0x5580d1['comments'])_0x1f2492['delete'](_0x23cc9f['commentId']);for(const _0x55b717 of _0x1f2492)_0x21d313['getComment'](_0x55b717)['remove']({'isFromAdapter':!0x0});for(const _0x4f1647 of _0x5580d1['comments']){const _0x4904b9=_0x21d313['getComment'](_0x4f1647['commentId']);_0x4904b9?_0x4904b9['content']!==_0x4f1647['content']&&_0x4904b9['update']({'content':_0x4f1647['content'],'isFromAdapter':!0x0}):_0x21d313['addComment'](Object['assign'](at(_0x4f1647),{'isFromAdapter':!0x0}));}}}['_getService'](_0x1f32e0){if(!this['_services']['has'](_0x1f32e0))throw new _0x2b1db2('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x1f32e0});return this['_services']['get'](_0x1f32e0);}async['_fetchMissingUsersForThreads'](_0x37a912){const _0x4e23f3=this['context']['plugins']['get'](_0x15d62c),{connection:_0x1d9361}=this['context']['plugins']['get'](z),_0x5045c8=new Set();for(const {resolvedBy:_0x36f96a,comments:_0x2dd5d9}of _0x37a912){_0x36f96a&&!_0x4e23f3['getUser'](_0x36f96a)&&_0x5045c8['add'](_0x36f96a);for(const {userId:_0x31ced6}of _0x2dd5d9)_0x4e23f3['getUser'](_0x31ced6)||_0x5045c8['add'](_0x31ced6);}if(0x0===_0x5045c8['size'])return;const _0x2c1f37=await _0x1ca5f7['getMany'](_0x1d9361,Array['from'](_0x5045c8));for(const _0x1b78ac of _0x2c1f37)_0x4e23f3['getUser'](_0x1b78ac['id'])||_0x4e23f3['addUser'](_0x1b78ac);}}async function rt(_0x4638dd){if('404'!==_0x4638dd['code'])throw _0x4638dd;}function ct(_0x35c777){if((_0x23c953=_0x35c777)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x23c953['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x23c953;throw _0x35c777;}function at(_0x225330){return{'threadId':_0x225330['commentThreadId'],'commentId':_0x225330['commentId'],'content':_0x225330['content'],'createdAt':_0x225330['createdAt'],'authorId':_0x225330['userId'],'attributes':_0x225330['attributes']||{}};}class ht extends _0x539c3e{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
- ((()=>_0x1c8aeb)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x45a080,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x2cd0a2){super(_0x2cd0a2);const _0x1d9323=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x1d9323);}['init'](){const _0x2aba71=this['editor']['plugins']['get'](z),_0x19cc5c=this['editor']['plugins']['get'](_0x45a080);return _0x19cc5c['adapter']={'getSuggestion':async _0x4e39d9=>{await this['_waitForServiceReady']();const _0x12002f=await this['_trackChangesService']['get'](_0x4e39d9)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x12002f]),_0x12002f;},'addSuggestion':async({id:_0x39ffa1,type:_0x338111,data:_0x37b3bf,originalSuggestionId:_0x32b72f,attributes:_0x196f12})=>{await this['_waitForServiceReady']();const _0x13af7b={'id':_0x39ffa1,'type':_0x338111,'data':_0x37b3bf,'originalSuggestionId':_0x32b72f,'attributes':_0x196f12},_0x3d027a=await this['_trackChangesService']['add'](_0x39ffa1,_0x338111,_0x37b3bf,_0x32b72f,_0x196f12)['catch'](_0x546283=>{if(dt(_0x546283))return new Promise(_0x21f342=>{this['_bufferedRequests']['set'](_0x39ffa1,{'resolve':_0x21f342,'suggestionData':_0x13af7b});});throw _0x546283;});return this['_bufferedRequests']['delete'](_0x39ffa1),_0x3d027a;},'updateSuggestion':async(_0x21c188,_0x5e869b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x5e869b['state'])return this['_trackChangesService']['update'](_0x21c188,_0x5e869b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x30ed82,_0xfc64f0)=>{_0x19cc5c['hasSuggestion'](_0xfc64f0['id'])&&(_0x19cc5c['getSuggestion'](_0xfc64f0['id'])['attributes']=_0xfc64f0['attributes']);}),this['_trackChangesService']['connect'](_0x2aba71['connection'])['then'](_0xd2f0e0=>(_0x2aba71['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0xd2f0e0)['then'](()=>{for(const _0x20406f of _0xd2f0e0){_0x19cc5c['addSuggestionData'](_0x20406f)['_saved']=!0x0;}})));}async['reconnect'](){const _0x3a7cc8=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x219efc}=this['editor']['plugins']['get'](z),_0x466a65=await this['_trackChangesService']['connect'](_0x219efc);await this['_fetchMissingUsersForThreads'](_0x466a65);for(const {suggestionData:_0xbc1385,resolve:_0x28eda5}of this['_bufferedRequests']['values']()){let _0x682f4f=_0x466a65['find'](_0x2af48c=>_0x2af48c['id']===_0xbc1385['id']);_0x682f4f||(_0x682f4f=await this['_trackChangesService']['add'](_0xbc1385['id'],_0xbc1385['type'],_0xbc1385['data'],_0xbc1385['originalSuggestionId'])),_0x28eda5(_0x682f4f);}for(const _0x4f6dc9 of _0x466a65)_0x3a7cc8['hasSuggestion'](_0x4f6dc9['id'])||_0x3a7cc8['addSuggestionData'](_0x4f6dc9);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x59363a=>{this['listenTo'](this['_trackChangesService'],'connected',_0xac67c9=>{_0xac67c9['off'](),_0x59363a();});});}async['_fetchMissingUsersForThreads'](_0x29d938){const _0x397055=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x185d31}=this['editor']['plugins']['get'](z),_0x48f62f=new Set();for(const {authorId:_0x50b2d1}of _0x29d938)_0x397055['getUser'](_0x50b2d1)||_0x48f62f['add'](_0x50b2d1);if(0x0===_0x48f62f['size'])return;const _0x2754ce=await _0x1ca5f7['getMany'](_0x185d31,Array['from'](_0x48f62f));for(const _0x3c6087 of _0x2754ce)_0x397055['getUser'](_0x3c6087['id'])||_0x397055['addUser'](_0x3c6087);}}function lt(_0x42335c){if(dt(_0x42335c))return new Promise(()=>{});throw _0x42335c;}function dt(_0x3eeb1e){return _0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x3eeb1e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x539c3e{static get['requires'](){return[_0x403d11,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0xa2bd91=this['editor']['plugins']['get'](z),_0xfc184d=this['editor']['plugins']['get'](_0x37e082),_0x405c16=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0xa2bd91,'change:state',(_0x151251,_0x5e24b6,_0x366a81)=>{_0xfc184d['isThreadsLoadingPaused']='connected'!==_0x366a81;});}),this['listenTo'](_0xa2bd91,'change:state',(_0x43d43c,_0x2025bb,_0x425dcf)=>{this['editor']['plugins']['get'](_0x5383ad)['switchReadOnly']('connected'!==_0x425dcf);}),_0x405c16['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x539c3e{static get['requires'](){return[ut,ht,_0x527e70];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x539c3e{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
- ((()=>_0x44cd6b)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x40c931,Y,_0x15d62c];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x6a17fc){super(_0x6a17fc);const _0x1d3513=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x1d3513);}async['init'](){const _0x2dd0ae=this['editor']['plugins']['get'](tt),_0x4b8b1a=_0x2dd0ae['serverHistory'],_0x3cb8e7=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0x4b8b1a,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x2dd0ae['sessionId']});const _0x7ce184=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x5f4d8d,_0x17577d=await _0x553943['isBundleUploaded'](_0x3cb8e7['connection'],_0x7ce184);this['editor']['plugins']['get'](_0x40c931)['adapter']={'getRevision':async({revisionId:_0x20a806})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x20a806)),'updateRevisions':async _0x5a31fa=>{await this['_waitForServiceReady']();const _0x33bd4e=this['_revisionTracker']['currentRevision'];if(_0x17577d&&0x1===_0x5a31fa['length']&&_0x5a31fa[0x0]['id']===_0x33bd4e['id'])return _0x5a31fa;for(const _0x534ca3 of _0x5a31fa)_0x534ca3['id']===_0x33bd4e['id']&&(_0x534ca3['isEmptyCurrent']=_0x534ca3['fromVersion']===_0x534ca3['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x5a31fa,this['_lastRequestId'])['then'](_0x5da16f=>(this['_lastRequestId']=_0x5da16f,_0x5a31fa))['catch'](_0x236ca9=>{if(pt(_0x236ca9)||'400'===_0x236ca9['code']&&void 0x0!==_0x236ca9['data']['wrongRequestId']){for(const _0x842250 of _0x5a31fa){!this['_revisionTracker']['repository']['getRevision'](_0x842250['id'])||this['_revisionTracker']['_bufferUpdate'](_0x842250['id'],_0x842250,!0x1);}if(pt(_0x236ca9)&&'destroyed'!==this['editor']['state'])throw _0x236ca9;return _0x5a31fa;}throw _0x236ca9;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0xfe70f6,{revisionsData:_0x56e8d6,requestId:_0xec025e})=>{Math['max'](..._0x56e8d6['map'](_0x43f917=>_0x43f917['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);}):this['_handleRevisionsUpdate'](_0x56e8d6,_0xec025e);});const {revisions:_0x1b8156,requestId:_0x492231}=await this['_revisionHistoryService']['connect'](_0x3cb8e7['connection']);_0x3cb8e7['addToReconnectionStack'](this),this['_lastRequestId']=_0x492231,await this['_fetchMissingUsers'](_0x1b8156);for(const _0x2ff806 of _0x1b8156)this['_revisionTracker']['addRevisionData'](_0x2ff806);this['listenTo'](_0x2dd0ae,'change:_isConnected',(_0x35a34a,_0x122f5f,_0x26879d)=>{_0x26879d&&(this['_oldOffset']=_0x2dd0ae['_offset'],_0x35a34a['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x3cb8e7,'state',_0x2fe627=>_0x2fe627===_0xf9333a['CONNECTED']);}async['reconnect'](){const _0x2e45c6=this['editor']['plugins']['get'](z),_0x536ec3=this['editor']['plugins']['get'](tt),_0x252c5a=async()=>{const _0xcac4d5=this['_revisionTracker']['currentRevision'],_0x34f1f9=_0xcac4d5['id'],_0x122d55=_0x34f1f9!==_0x536ec3['sessionId'];if(_0x122d55){const _0x476c6b=_0x536ec3['_offset']-this['_oldOffset'],_0x13a66d=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0xcac4d5['toVersion']+_0x476c6b!==_0x13a66d){const _0x2091df=_0xcac4d5['fromVersion']+_0x476c6b,_0x36567b=this['editor']['plugins']['get'](_0x15d62c),_0x87dd=this['_revisionTracker']['buildRevisionData']({'revision':_0xcac4d5,'from':_0x2091df,'to':_0x13a66d});_0x87dd['id']=_0xcac4d5['id'];const _0x5d4833=_0x87dd['authorsIds']['map'](_0x322b68=>_0x36567b['getUser'](_0x322b68));_0xcac4d5['_update']({..._0x87dd,'authors':_0x5d4833},!0x0),this['_revisionTracker']['_bufferUpdate'](_0xcac4d5['id'],_0x87dd,!0x0);}this['_revisionTracker']['_startingVersion']=_0x13a66d,(_0xcac4d5['toVersion']===_0xcac4d5['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x34f1f9)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x34f1f9),this['_revisionTracker']['_createCurrentRevision'](_0x13a66d));}const {revisions:_0x42aaf8,requestId:_0x52668b}=await this['_revisionHistoryService']['reconnect'](_0x2e45c6['connection'],this['_lastRequestId']);_0x122d55&&_0x42aaf8['length']>0x0?_0x536ec3['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x42aaf8),this['_handleRevisionsUpdate'](_0x42aaf8,_0x52668b),this['_revisionTracker']['sendBufferedUpdates']());};return _0x536ec3['_isConnected']?_0x252c5a():new Promise((_0x34d13a,_0x313c03)=>{_0x536ec3['once']('change:_isConnected',()=>{_0x252c5a()['then'](_0x34d13a)['catch'](_0x313c03);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x4bb135=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x43d87e=>{_0x43d87e['off'](),_0x4bb135();});});}['_getLatestVersionFromServerOperations'](){const _0x160295=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x1e8a1f of _0x160295)if('marker'!==_0x1e8a1f['type']||_0x1e8a1f['affectsData'])return _0x1e8a1f['baseVersion']+0x1;}['_getLatestVersion'](){const _0x17c5b1=this['editor']['plugins']['get'](tt);return new Promise(_0x2a2f20=>{_0x17c5b1['_isPendingUpdate']?_0x17c5b1['once']('change:_isPendingUpdate',()=>{_0x2a2f20(this['_getLatestVersionFromServerOperations']());}):_0x2a2f20(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x3d63c2,_0x463206){const _0x3b359f=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x463206;for(const _0xc5d19f of _0x3d63c2){const _0xf958d7=_0x3b359f['getRevision'](_0xc5d19f['id']);if(_0xf958d7){if((_0xc5d19f['fromVersion']||_0xc5d19f['toVersion'])&&(_0xc5d19f['diffData']=null),_0xf958d7===this['_revisionTracker']['currentRevision']){const _0x196fe0=Math['max'](_0xf958d7['toVersion'],_0xc5d19f['toVersion']),_0x57bc7=Math['max'](_0xf958d7['fromVersion'],_0xc5d19f['fromVersion']);let _0x461b82;_0xf958d7['toVersion']===_0xc5d19f['toVersion']&&_0xf958d7['fromVersion']===_0xc5d19f['fromVersion']?(_0x461b82=!0x0,this['_preventResendingRevisionData'](_0xc5d19f)):_0xc5d19f['toVersion']===_0x196fe0&&_0xc5d19f['fromVersion']===_0x57bc7?_0x461b82=!0x1:(_0xf958d7['toVersion']===_0x196fe0&&_0xf958d7['fromVersion']===_0x57bc7||this['_fixRevision']({'revision':_0xf958d7,'from':_0x57bc7,'to':_0x196fe0}),_0x461b82=!0x0),_0x461b82&&(delete _0xc5d19f['fromVersion'],delete _0xc5d19f['toVersion'],delete _0xc5d19f['diffData'],delete _0xc5d19f['createdAt'],delete _0xc5d19f['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0xc5d19f),this['_preventResendingRevisionData'](_0xc5d19f);}else this['_revisionTracker']['addRevisionData'](_0xc5d19f);}const _0x4ea790=_0x3b359f['getRevisions']();_0x4ea790['reverse']();for(let _0x239e6d=0x0;_0x239e6d<_0x4ea790['length']-0x1;_0x239e6d++){const _0x403fdc=_0x4ea790[_0x239e6d],_0x478d5c=_0x4ea790[_0x239e6d+0x1];if(_0x403fdc['fromVersion']<_0x478d5c['toVersion']){const _0x21d3cf=_0x478d5c['toVersion'],_0x5afe04=Math['max'](_0x21d3cf,_0x403fdc['toVersion']);this['_fixRevision']({'revision':_0x403fdc,'from':_0x21d3cf,'to':_0x5afe04});}}}['_fixRevision']({revision:_0x5046ff,from:_0x17c5ad,to:_0x3d80ab}={}){const _0x3348a7=this['editor']['plugins']['get'](_0x15d62c),_0x45969b=this['_revisionTracker']['buildRevisionData']({'revision':_0x5046ff,'from':_0x17c5ad,'to':_0x3d80ab});_0x45969b['authors']=_0x45969b['authorsIds']['map'](_0x4efcc9=>_0x3348a7['getUser'](_0x4efcc9)),_0x5046ff['_update'](_0x45969b);}['_preventResendingRevisionData'](_0x120880){const _0x39af6d={};_0x39af6d['id']=_0x120880['id'];for(const _0x45c482 of Object['keys'](_0x120880))'id'!==_0x45c482&&(_0x39af6d[_0x45c482]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x39af6d['id'],_0x39af6d,!0x0);}async['_fetchMissingUsers'](_0x1f21a2){const _0x3268c6=this['editor']['plugins']['get'](_0x15d62c),{connection:_0x16072a}=this['editor']['plugins']['get'](z),_0x50d1b2=new Set();for(const _0x1d8db0 of _0x1f21a2){for(const _0x5c2f63 of _0x1d8db0['authorsIds'])_0x28b8bb(_0x5c2f63);_0x1d8db0['creatorId']&&_0x28b8bb(_0x1d8db0['creatorId']);}if(0x0===_0x50d1b2['size'])return;const _0x577bf1=await _0x1ca5f7['getMany'](_0x16072a,Array['from'](_0x50d1b2));for(const _0x405065 of _0x577bf1)_0x3268c6['getUser'](_0x405065['id'])||_0x3268c6['addUser'](_0x405065);function _0x28b8bb(_0x2dbbee){_0x3268c6['getUser'](_0x2dbbee)||_0x50d1b2['add'](_0x2dbbee);}}}function pt(_0x521e9e){return _0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x521e9e['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x539c3e{static get['requires'](){return[_0x40c931,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0xaa5d78{['_collapseAt'];constructor(_0x509c97,_0x38e32b=0x6){super(_0x509c97);const _0x19520b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x38e32b,this['bind']('isHidden')['to'](this,'usersCount',_0x2036fb=>_0x2036fb<_0x38e32b),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0x19520b['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':_0x19520b['to']('usersCount',_0x597e8c=>'+'+(_0x597e8c-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0xaa5d78{['items'];['keystrokes'];constructor(_0x17e884){super(_0x17e884);const _0x390496=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x473501(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x390496['if']('hasPopup'),'aria-expanded':_0x390496['to']('isExpanded',_0x260420=>this['hasPopup']&&String(_0x260420)),'aria-label':_0x390496['to']('hasPopup',_0x26326c=>X(_0x17e884,_0x26326c?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x390496['to']('hasPopup',_0x290c86=>!!_0x290c86&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x390496['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x390496['to'](_0x39c96c=>{const _0x3eba79=_0x39c96c,_0x4cc264=document['querySelector']('.ck-presence-list__dropdown-list'),_0x1a899d=document['querySelector']('.ck-balloon-panel_with-arrow');_0x4cc264?.['contains'](_0x3eba79['relatedTarget'])||_0x1a899d?.['contains'](_0x3eba79['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x58a3df,_0x675cb6,_0x4aef65)=>{this['element']&&(_0x4aef65?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0xaa5d78{['counterView'];['inlineListView'];constructor(_0x597b7b,_0x57d6d9=0x6){super(_0x597b7b);const _0x3fde1b=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x57d6d9),this['inlineListView']=new vt(_0x597b7b),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x43ef46 of this['inlineListView']['items'])_0x43ef46['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',_0x3fde1b['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0xaa5d78{['listWrapperView'];constructor(_0x577822,_0xe2fe95){super(_0x577822);const _0x539ad4=this['bindTemplate'];this['listWrapperView']=new bt(_0x577822,_0xe2fe95),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x577822,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x539ad4['to'](_0x25c88c=>{const _0x424d49=_0x25c88c,_0x435cc2=document['querySelector']('.ck-presence-list__list'),_0x585323=document['querySelector']('.ck-balloon-panel_with-arrow');_0x435cc2?.['contains'](_0x424d49['relatedTarget'])||_0x585323?.['contains'](_0x424d49['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x44faf1{constructor(_0x407d5a,_0x23ba3d){super(_0x407d5a);const _0x2ff51b=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x23ba3d?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x2ff51b['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x2ff51b['to']('role'),'aria-label':_0x2ff51b['to']('ariaLabel'),'aria-labelledby':_0x2ff51b['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x3feea9['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0xc34036=this['element'];_0xc34036&&(this['_isScrollable']=Math['max'](_0xc34036['scrollHeight'],_0xc34036['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x4a4ec4{['userView'];constructor(_0x1eac99,_0x5210cc,_0x4967de){super(_0x1eac99);const _0x187e2c=this['bindTemplate'];this['userView']=new _0x31b224(_0x1eac99,_0x5210cc);const _0xed7885={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x5210cc['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x5210cc['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x5210cc['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x5210cc['color']['getColorVariable'](),'--ck-user-color-alpha':_0x5210cc['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x4967de&&(_0xed7885['tag']='button',_0xed7885['on']={'click':_0x187e2c['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0xed7885);}['focus'](){this['element']['focus']();}}class It extends _0xaa5d78{['userView'];['markerView'];constructor(_0x5c9432,_0x42b9f5,_0x43cbbf){super(_0x5c9432);const _0x431f72=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x31b224(_0x5c9432,_0x42b9f5),this['markerView']=new St(_0x5c9432,_0x42b9f5);const _0x3770a7=new _0x169be3(_0x5c9432);_0x3770a7['template']['tag']='span',_0x3770a7['text']=_0x42b9f5['name'];const _0x831aab={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x431f72['to']('isFocusable',_0x3eb3a9=>!!_0x3eb3a9&&0x0),'aria-labelledby':_0x3770a7['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x431f72['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x431f72['to']('hasTooltip',_0x11dccf=>!_0x11dccf),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x3770a7]};_0x43cbbf&&(_0x831aab['tag']='button',_0x831aab['on']={'click':_0x431f72['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x831aab);}}class St extends _0xaa5d78{constructor(_0x4404e6,_0x1108b3){super(_0x4404e6),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x1108b3['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x1108b3['color']['getColorVariable'](),'--ck-user-color-alpha':_0x1108b3['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0x5cca81{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x4e32a0){super(_0x4e32a0),this['context']['config']['define']('presenceList',Tt);const _0x27b9bd=_0x4e32a0['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x27b9bd)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);if(_0x27b9bd<0x1)throw new _0x2b1db2('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x442047(),this['balloonPanelView']=new _0x1723fd(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x50b6f0 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x50b6f0);this['listenTo'](this['_allConnectedUsers'],'add',(_0x5c05b2,_0x11e7f3)=>{this['_handleUserAdd'](_0x11e7f3);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x404cd2,_0x48b1a0)=>{this['_handleUserRemove'](_0x48b1a0);});}['_createView'](){const _0x42e1f7=this['context'],_0x498a07=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x49fed5=this['balloonPanelView'];if(!_0x573df8(_0x42e1f7['config']['get']('presenceList.container')))throw new _0x2b1db2('presencelist-missing-container',this);return _0x498a07['counterView']['bind']('usersCount')['to'](this),_0x498a07['bind']('isCollapsed')['to'](this,'usersCount',_0x2532dc=>{const {collapseAt:_0x51c34d}=_0x42e1f7['config']['get']('presenceList'),_0x189484=_0x2532dc>=_0x51c34d;if(_0x189484&&!_0x498a07['inlineListView']['items']['find'](_0x46d1df=>_0x46d1df instanceof wt)){const _0x1eff08=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x1eff08&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x498a07['inlineListView']['items']['add'](_0x498a07['counterView']);}return _0x189484||this['hideDropdown'](),_0x189484;}),_0x498a07['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x2026e8=>{const _0x1985b2=_0x42e1f7['config']['get']('presenceList'),_0x56ec7a=new It(_0x42e1f7['locale'],_0x2026e8,!!_0x1985b2['onClick']);return _0x56ec7a['bind']('hasTooltip')['to'](_0x498a07,'isCollapsed',_0x54fd10=>!_0x54fd10),_0x56ec7a['bind']('isFocusable')['to'](_0x498a07,'isCollapsed',_0x1465f0=>!_0x1465f0),_0x1985b2['onClick']&&this['listenTo'](_0x56ec7a,'execute',()=>{this['view']['isCollapsed']||_0x1985b2['onClick'](_0x2026e8,_0x56ec7a['element']);}),_0x56ec7a;}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x498a07['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x498a07['inlineListView']['keystrokes']['set']('Enter',(_0x5184b3,_0x273bb6)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x273bb6());}),_0x498a07['render'](),_0x49fed5['render'](),_0x13b972({'emitter':_0x498a07,'activator':()=>_0x49fed5['isVisible'],'contextElements':[_0x49fed5['element'],_0x498a07['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x42e1f7['config']['get']('presenceList.container')['appendChild'](_0x498a07['element']),this['_bodyCollection']=new _0x25513e(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x498a07;}['_handleUserAdd'](_0x276e47){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x276e47['isMe'])return;const _0xa5dc5e=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0xa5dc5e-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x5c145c=_0x276e47['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x276e47,_0x5c145c);}['_handleUserRemove'](_0x1616da){this['usersCount']--;const {collapseAt:_0x5661b2}=this['context']['config']['get']('presenceList'),_0xa3a8a9=this['usersCount']>=_0x5661b2;if(this['currentDisplayedUsers']['get'](_0x1616da['id']))this['currentDisplayedUsers']['remove'](_0x1616da['id']);else{if(_0xa3a8a9&&this['currentDisplayedUsers']['length']+0x1===_0x5661b2-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)<this['usersCount']){for(const _0x5cdf3b of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x5cdf3b['id'])&&(this['currentDisplayedUsers']['add'](_0x5cdf3b,Math['min'](this['currentDisplayedUsers']['length']-(_0xa3a8a9?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0xa3a8a9?0x1:0x0)===_0x5661b2-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x318c9c=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x318c9c['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x41bdb3}=this['presenceDropdownView'];_0x41bdb3['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x5a9e46=>{if(!_0x318c9c['displayMe']&&_0x5a9e46['isMe'])return null;const _0x37bb77=new kt(this['context']['locale'],_0x5a9e46,!!_0x318c9c['onClick']);return _0x318c9c['onClick']&&this['listenTo'](_0x37bb77,'execute',()=>{_0x318c9c['onClick'](_0x5a9e46,_0x37bb77['element']);}),_0x37bb77;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x41bdb3['focus'](),_0x41bdb3['checkIfScrollable']();const _0x345d57=(_0x147032,_0x5523e7)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0x5523e7();};_0x41bdb3['keystrokes']['set']('Esc',_0x345d57),_0x41bdb3['keystrokes']['set']('Shift+Tab',_0x345d57),_0x41bdb3['keystrokes']['set']('Tab',(_0x1433a0,_0x1a4bd2)=>{!function(_0x1e38d8){const _0x5a399a=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x2c0592=>_0x2c0592+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x10c3e7=[...document['body']['querySelectorAll'](_0x5a399a)]['filter'](_0x50c4cc=>_0x50c4cc===document['activeElement']||_0x50c4cc['offsetWidth']+_0x50c4cc['offsetHeight']>0x0)['sort']((_0x2ed92c,_0x540a5c)=>(_0x2ed92c['tabIndex']||0x0)-(_0x540a5c['tabIndex']||0x0)),_0x5058a2=_0x10c3e7['indexOf'](_0x1e38d8),_0x389450=_0x10c3e7[(_0x5058a2+0x1)%_0x10c3e7['length']];_0x389450&&_0x389450['focus']();}(this['view']['element']),this['hideDropdown'](),_0x1a4bd2();}),_0x41bdb3['focusTracker']['add'](this['view']['element']),_0x41bdb3['focusTracker']['on']('change:isFocused',(_0xa888dc,_0x2db752,_0x4580ea)=>{_0x4580ea||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0x5cca81{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
23
+ import{ContextPlugin as _0xb2d076,Plugin as _0x1885be,PendingActions as _0x5ed6bf,Context as _0x53fadc}from'@ckeditor/ckeditor5-core/dist/index.js';import{DomEmitterMixin as _0x1038f1,CKEditorError as _0x36814d,Collection as _0x2dbc61,global as _0x58cf37,version as _0x4b75a5,uid as _0x4b8b51,KeystrokeHandler as _0x154e98}from'@ckeditor/ckeditor5-utils/dist/index.js';import{Notification as _0x52f767,View as _0x1cd989,ListView as _0x97e680,ListItemView as _0x1349fc,LabelView as _0x85a073,BalloonPanelView as _0x413bf4,clickOutsideHandler as _0xe12ddf,BodyCollection as _0x411c47}from'@ckeditor/ckeditor5-ui/dist/index.js';import{ModelLiveRange as _0x1d52d0,History as _0x5da6bc,NoOperation as _0x18749d,InsertOperation as _0x1b0982,MarkerOperation as _0x19f48f,RootAttributeOperation as _0x4e54c2,transformOperationSets as _0x231820,OperationFactory as _0x437df2}from'@ckeditor/ckeditor5-engine/dist/index.js';import{CloudServices as _0x23396a}from'@ckeditor/ckeditor5-cloud-services/dist/index.js';import{WebSocketGateway as _0x712f94,WEB_SOCKET_GATEWAY_STATES as _0x25ca68,CollaborativeEditingService as _0x396fa4,User as _0x5b2314,CommentsService as _0x2134a6,TrackChangesService as _0x1a7890,RevisionHistoryService as _0x57f877,EditorService as _0x9e6478}from'@ckeditor/ckeditor-cloud-services-collaboration';import{Users as _0x443155,UserView as _0x365ed9}from'@ckeditor/ckeditor5-collaboration-core/dist/index.js';import{Compressor as _0xd752eb}from'@ckeditor/ckeditor5-operations-compressor';import{TrackChangesEditing as _0x3a4ea0,TrackChanges as _0xdaae7d}from'@ckeditor/ckeditor5-track-changes/dist/index.js';import{CommentsRepository as _0x3f8b74,Comments as _0x512ce2,CommentsEditing as _0x379a0a}from'@ckeditor/ckeditor5-comments/dist/index.js';import{RevisionHistory as _0x2ca609}from'@ckeditor/ckeditor5-revision-history/dist/index.js';import{isElement as _0x2487a9}from'es-toolkit/compat';class z extends _0xb2d076{static ['WebSocketGateway']=/* #__PURE__ -- @preserve */
24
+ ((()=>_0x712f94)());static ['initialReconnectionInterval']=0x3e8;['connection'];['_reconnectionStack'];['_shouldPluginsReconnect'];['_domEmitter'];static get['requires'](){return[_0x23396a,_0x52f767];}static get['pluginName'](){return'WebSocketGateway';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5b73ef){super(_0x5b73ef),this['set']('state',_0x25ca68['CONNECTED']),this['set']('_isBrowserOffline',!0x1),this['_reconnectionStack']=new Set(),this['_shouldPluginsReconnect']=!0x1,this['_domEmitter']=new(_0x1038f1())();}['init'](){const _0x39355b=this['context'],_0x8eb855=_0x39355b['plugins']['get'](_0x23396a),_0x556b7f=_0x39355b['plugins']['get'](_0x52f767);if(!_0x8eb855['token'])throw new _0x36814d('websocketgateway-missing-token',this);if(!_0x8eb855['webSocketUrl'])throw new _0x36814d('websocketgateway-missing-websocket-url',this);return this['_domEmitter']['listenTo'](window,'offline',()=>this['_isBrowserOffline']=!0x0),this['_domEmitter']['listenTo'](window,'online',()=>this['_isBrowserOffline']=!0x1),this['context']['config']['define']('cloudServices.connectionTimeout',0xa),this['context']['config']['define']('cloudServices.requestTimeout',0x14),z['WebSocketGateway']['connect'](_0x8eb855['token'],_0x8eb855['webSocketUrl'],{'timeout':0x3e8*this['context']['config']['get']('cloudServices.connectionTimeout'),'requestTimeout':0x3e8*this['context']['config']['get']('cloudServices.requestTimeout')})['then'](_0x5df34b=>{if(this['connection']=_0x5df34b,this['bind']('state')['to'](_0x5df34b,'state',this,'_isBrowserOffline',(_0x4b3f6e,_0x3a054e)=>('connected'!==_0x4b3f6e&&(this['_shouldPluginsReconnect']=!0x0),_0x3a054e||_0x4b3f6e!==_0x25ca68['CONNECTED']?_0x25ca68['DISCONNECTED']:this['state']==_0x25ca68['DISCONNECTED']&&this['_shouldPluginsReconnect']?(this['_shouldPluginsReconnect']=!0x1,this['_reconnect'](),_0x25ca68['CONNECTING']):_0x25ca68['CONNECTED'])),this['connection']['on']('error',(_0x3894e1,_0x455f23)=>{if('limitExceeded'!==_0x455f23['code'])throw console['error'](_0x455f23),new _0x36814d('cloudservices-init',null,{'originalError':_0x455f23});_0x556b7f['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'});}),!_0x5df34b['me'])return new Promise(_0x3a6275=>_0x5df34b['on']('change:me',_0x3a6275));})['catch'](_0x4d8f56=>{throw console['error'](_0x4d8f56),new _0x36814d('cloudservices-init',null,{'originalError':_0x4d8f56});});}['addToReconnectionStack'](_0x55f0e6){if('function'!=typeof _0x55f0e6['reconnect'])throw new _0x36814d('websocketgateway-invalid-plugin-interface',this);if(this['isInReconnectionStack'](_0x55f0e6))throw new _0x36814d('websocketgateway-plugin-already-registered',this,{'name':_0x55f0e6['constructor']['pluginName']});this['_reconnectionStack']['add'](_0x55f0e6);}['removeFromReconnectionStack'](_0x4b953b){this['_reconnectionStack']['delete'](_0x4b953b);}['isInReconnectionStack'](_0x28a86f){return this['_reconnectionStack']['has'](_0x28a86f);}['_reconnect'](){return this['connection']['reconnect']()['then'](()=>Promise['all'](Array['from'](this['_reconnectionStack'],_0x45e43a=>_0x45e43a['reconnect']())))['then'](()=>this['state']=_0x25ca68['CONNECTED'])['catch'](_0x5a9e25=>{throw console['error'](_0x5a9e25),new _0x36814d('cloudservices-reconnection-error',this['context']);});}['disconnect'](){this['connection']&&this['connection']['disconnect'](),this['state']=_0x25ca68['DISCONNECTED'],this['_domEmitter']['stopListening']();}['destroy'](){this['disconnect'](),super['destroy']();}}class Y extends _0xb2d076{['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,_0x443155];}constructor(_0x394b2f){super(_0x394b2f),this['channelSessions']=new Map(),this['channelConnectedUsers']=new Map(),this['allConnectedUsers']=new _0x2dbc61(),this['_registeredSessions']=new Map(),this['_uniqueUsersCount']=0x0,this['_users']=this['context']['plugins']['get'](_0x443155);}['init'](){const _0xc2ae31=this['context']['plugins']['get'](z);this['listenTo'](_0xc2ae31,'change:state',(_0x8a7cf7,_0x2efede,_0x283d21)=>{if('connected'!==_0x283d21)this['channelSessions']['forEach'](_0x5a7694=>_0x5a7694['clear']()),this['channelConnectedUsers']['forEach'](_0x35c9be=>_0x35c9be['clear']()),this['allConnectedUsers']['clear']();else{for(const [_0x5954e1,_0x239fe9]of this['_registeredSessions'])for(const _0x154f72 of _0x239fe9)this['_handleSessionAdd'](_0x5954e1,_0x154f72);}}),this['_createUser'](_0xc2ae31['connection']['me'],!0x0);}['register'](_0x49036b,_0x2536b1){if(this['_registeredSessions']['has'](_0x49036b))throw new _0x36814d('sessions-register-already-registered',null,{'channelId':_0x49036b});this['_registeredSessions']['set'](_0x49036b,_0x2536b1),this['channelSessions']['set'](_0x49036b,new _0x2dbc61()),this['channelConnectedUsers']['set'](_0x49036b,new _0x2dbc61()),this['listenTo'](_0x2536b1,'add',(_0x1ee3b8,_0x1fee36)=>this['_handleSessionAdd'](_0x49036b,_0x1fee36)),this['listenTo'](_0x2536b1,'remove',(_0x55c37a,_0x7abc0d)=>this['_handleSessionRemove'](_0x49036b,_0x7abc0d));for(const _0x37a735 of _0x2536b1)this['_handleSessionAdd'](_0x49036b,_0x37a735);}['unregister'](_0x28530a){if(!this['_registeredSessions']['has'](_0x28530a))throw new _0x36814d('sessions-unregister-not-exist',null,{'channelId':_0x28530a});const _0x521a07=this['_registeredSessions']['get'](_0x28530a);this['stopListening'](_0x521a07);for(const _0x2a3766 of _0x521a07)'connected'===this['context']['plugins']['get'](z)['state']&&this['_handleSessionRemove'](_0x28530a,_0x2a3766);this['_registeredSessions']['delete'](_0x28530a),this['channelSessions']['delete'](_0x28530a),this['channelConnectedUsers']['delete'](_0x28530a);}get['mySessionId'](){return this['context']['plugins']['get'](z)['connection']['sessionId'];}['getUserBySessionId'](_0x46dad5){for(const _0x9e8e70 of this['channelSessions']['values']())for(const _0x902170 of _0x9e8e70)if(_0x902170['id']===_0x46dad5)return _0x902170['user'];}['getUserSessions'](_0x51f31c,_0x2a356d){const _0x11ace6=_0x2a356d?[this['channelSessions']['get'](_0x2a356d)]:this['channelSessions']['values'](),_0x1e7b09=new Set();for(const _0x1fd8f4 of _0x11ace6)for(const _0x3852af of _0x1fd8f4)_0x3852af['user']['id']===_0x51f31c['id']&&_0x1e7b09['add'](_0x3852af['id']);return _0x1e7b09;}['getUserRole'](_0x4ba90a){for(const _0x58a643 of this['channelSessions']['values']())for(const _0x4f9fc8 of _0x58a643)if(_0x4f9fc8['user']===_0x4ba90a)return _0x4f9fc8['role'];}['_handleSessionAdd'](_0x3cc26c,_0x72c74d){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x565691=_0x72c74d['user'],_0x274a53=this['_users']['getUser'](_0x565691['id'])||this['_createUser'](_0x565691),_0x5685fe=Object['assign']({},_0x72c74d,{'user':_0x274a53});if(this['channelSessions']['get'](_0x3cc26c)['add'](_0x5685fe),!_0x565691['hiddenInPresenceList']){const _0x4773c9=this['channelConnectedUsers']['get'](_0x3cc26c);_0x4773c9['has'](_0x274a53['id'])||_0x4773c9['add'](_0x274a53),this['allConnectedUsers']['has'](_0x274a53['id'])||_0x565691['hiddenInPresenceList']||this['allConnectedUsers']['add'](_0x274a53,_0x274a53['isMe']?0x0:void 0x0);}this['fire']('sessionAdd:'+_0x3cc26c,{'channelId':_0x3cc26c,'session':_0x5685fe});}['_handleSessionRemove'](_0x1c8436,_0x991627){if('connected'!==this['context']['plugins']['get'](z)['state'])return;const _0x4042be=this['channelConnectedUsers']['get'](_0x1c8436),_0x5455bd=_0x991627['user'];_0x5455bd['id']&&(this['channelSessions']['get'](_0x1c8436)['remove'](_0x991627['id']),_0x4042be['has'](_0x5455bd['id'])&&!this['getUserSessions'](_0x5455bd,_0x1c8436)['size']&&_0x4042be['remove'](_0x5455bd['id']),this['allConnectedUsers']['get'](_0x5455bd['id'])&&!this['getUserSessions'](_0x5455bd)['size']&&this['allConnectedUsers']['remove'](_0x5455bd['id']));}['_createUser'](_0x2bce25,_0x28c66a){const _0x41f287=this['_users']['addUser'](_0x2bce25);return _0x28c66a&&this['_users']['defineMe'](_0x2bce25['id']),_0x41f287['orderNumber']=this['_uniqueUsersCount']++,_0x41f287;}}class K extends _0x1885be{['_domEmitter']=new(_0x1038f1())();static get['requires'](){return[Y];}static get['pluginName'](){return'UserMarkers';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x2c6bf6=this['editor'],_0xe43a5a=_0x2c6bf6['plugins']['get'](Y);_0x2c6bf6['conversion']['for']('editingDowncast')['markerToElement']({'model':'user:position','view':(_0x159a0f,{writer:_0xf180ae})=>function(_0x12f5e4,_0x2ab50d,_0x3b7bbc,_0xdacc61){const _0x367855=_0x12f5e4['markerName']['split'](':')[0x2],_0x3d90b2=_0x3b7bbc['getUserBySessionId'](_0x367855);if(!_0x3d90b2||_0x367855===_0x3b7bbc['mySessionId'])return;if(!_0xdacc61['model']['schema']['checkChild'](_0x12f5e4['markerRange']['start'],'$text'))return;const _0x1cca60={'class':'ck-user__marker\x20'+_0x3d90b2['color']['getMarkerClass'](),'style':Q(_0x3d90b2),'data-name':_0x3d90b2['name'],'data-session-id':_0x367855},_0x4cd0bd=_0xdacc61['model']['markers']['get'](_0x12f5e4['markerName']),_0x32b924=_0x4cd0bd['getStart'](),_0x4ff0b2=_0x32b924['nodeAfter'],_0x11ff9e=_0xdacc61['model']['schema'];if(_0x4ff0b2&&_0x11ff9e['isObject'](_0x4ff0b2)&&_0x11ff9e['isInline'](_0x4ff0b2)&&!_0xdacc61['model']['markers']['get']('user:range:'+_0x367855)['getRange']()['isCollapsed'])return;const _0x25efc0=_0x32b924['parent'];return _0xdacc61['model']['schema']['isLimit'](_0x25efc0)&&!_0xdacc61['model']['hasContent'](_0x25efc0)&&(_0x1cca60['contenteditable']=!0x1),function(_0xa2782a,_0x10ed87,_0x5dc214){const _0x334921=_0xa2782a['createUIElement']('span',_0x10ed87);return _0xa2782a['setCustomProperty']('userPositionMarker',!0x0,_0x334921),_0x334921['render']=function(_0x3f5aaf){const _0x2c6848=this['toDomElement'](_0x3f5aaf),_0x3136c6=document['createElement']('span');return _0x3136c6['classList']['add']('ck-user__marker-tooltip'),_0x3136c6['setAttribute']('contenteditable','false'),_0x3136c6['setAttribute']('spellcheck','false'),_0x3136c6['textContent']=_0x5dc214['name'],_0x2c6848['innerHTML']='⁠<span\x20class=\x22ck-user__marker-line\x22\x20contenteditable=\x22false\x22><span\x20class=\x22ck-user__marker-dot\x22></span></span>'+_0x3136c6['outerHTML']+'⁠',_0x2c6848['addEventListener']('mouseenter',()=>{_0x2c6848['classList']['add']('ck-user__marker_hovered');}),_0x2c6848['addEventListener']('mouseleave',()=>{_0x2c6848['classList']['remove']('ck-user__marker_hovered');}),_0x2c6848;},_0x334921['isSimilar']=function(_0x3c96d8){return!(!this['getCustomProperty']('userPositionMarker')||!_0x3c96d8['getCustomProperty']('userPositionMarker')||this['getAttribute']('data-session-id')!=_0x3c96d8['getAttribute']('data-session-id'));},_0x334921;}(_0x2ab50d,_0x1cca60,_0x3d90b2);}(_0x159a0f,_0xf180ae,_0xe43a5a,_0x2c6bf6)}),_0x2c6bf6['conversion']['for']('editingDowncast')['markerToHighlight']({'model':'user:range','view':_0x3e6f14=>function(_0x3520a0,_0x200e2e){const _0x52ddef=_0x3520a0['markerName']['split'](':')[0x2];if(_0x52ddef===_0x200e2e['mySessionId'])return null;const _0x287637=_0x200e2e['getUserBySessionId'](_0x52ddef);if(!_0x287637)return{'id':_0x52ddef,'classes':[]};return{'id':_0x52ddef,'classes':['ck-user__selection',_0x287637['color']['getSelectionClass']()],'attributes':{'style':Q(_0x287637),'data-session-id':_0x52ddef},'priority':0x7d0+_0x287637['orderNumber']};}(_0x3e6f14,_0xe43a5a)}),function(_0x28d86b){const _0x20ab44=_0x28d86b['model'],_0x66490f=new Map(),_0x112905=_0x28d86b['plugins']['get'](Y);_0x20ab44['markers']['on']('update:user:range',(_0x2dc6f1,_0x19fd77,_0x15b60d,_0x486695)=>{if(!_0x486695&&_0x66490f['get'](_0x19fd77['name']))return _0x66490f['get'](_0x19fd77['name'])['detach'](),void _0x66490f['delete'](_0x19fd77['name']);const _0x2e9233=_0x19fd77['name']['split'](':')[0x2];if(_0x2e9233===_0x112905['mySessionId'])return;const _0x262cd3='user:position:'+_0x2e9233;_0x20ab44['markers']['has'](_0x262cd3)&&_0x28d86b['editing']['reconvertMarker'](_0x262cd3),_0x19fd77['on']('change:range',(_0x1acb77,_0xd0e1b,_0x291e22)=>{if('$graveyard'!=_0xd0e1b['root']['rootName']&&'$graveyard'==_0x19fd77['getRange']()['root']['rootName']&&!_0x66490f['has'](_0x19fd77['name'])){const _0x2b0edb=_0x20ab44['schema']['getNearestSelectionRange'](_0x291e22['deletionPosition']);if(_0x2b0edb){const _0x2f18cd=_0x1d52d0['fromRange'](_0x2b0edb);_0x66490f['set'](_0x19fd77['name'],_0x2f18cd),_0x2f18cd['on']('change:range',(_0x2d7a22,_0x542da8,_0x4b049b)=>{if('$graveyard'==_0x2f18cd['root']['rootName']){const _0x1f6b94=_0x20ab44['schema']['getNearestSelectionRange'](_0x4b049b['deletionPosition']);_0x1f6b94?(_0x2f18cd['start']=_0x1f6b94['start'],_0x2f18cd['end']=_0x1f6b94['end']):(_0x66490f['delete'](_0x19fd77['name']),_0x2f18cd['detach']());}});}}});}),_0x20ab44['document']['on']('change',()=>{_0x66490f['size']>0x0&&_0x20ab44['enqueueChange']({'isUndoable':!0x1},_0x42c482=>{for(const [_0x2eab59,_0x52acbe]of _0x66490f)'$graveyard'==_0x20ab44['markers']['get'](_0x2eab59)['getRange']()['root']['rootName']&&(J(_0x2eab59['split'](':')[0x2],_0x52acbe['toRange'](),_0x20ab44,_0x42c482),_0x52acbe['detach']());_0x66490f['clear']();});});}(_0x2c6bf6),this['_domEmitter']['listenTo'](_0x58cf37['document'],'keydown',(_0x6f42c0,{key:_0xb7984c})=>{'Escape'===_0xb7984c&&function(_0x5c3ca7){_0x5c3ca7['editing']['view']['change'](_0x35d8f3=>{for(const _0x589b64 of _0x5c3ca7['model']['markers']){if(!_0x589b64['name']['startsWith']('user:position'))continue;const _0x229a4d=_0x5c3ca7['editing']['mapper']['markerNameToElements'](_0x589b64['name']);if(_0x229a4d){for(const _0x309325 of _0x229a4d)_0x35d8f3['removeClass']('ck-user__marker_hovered',_0x309325);}}});}(_0x2c6bf6);},{'useCapture':!0x0});}['afterInit'](){const _0x551f51=this['editor'],_0x1027a3=_0x551f51['commands']['get']('undo');_0x1027a3&&_0x551f51['model']['on']('applyOperation',(_0x35b0dd,_0x48b41c)=>{const _0x3a8ae2=_0x48b41c[0x0];if(!_0x3a8ae2['isDocumentOperation'])return;if('marker'!=_0x3a8ae2['type']||!_0x3a8ae2['name']['startsWith']('user:'))return;const _0x3b48de=_0x3a8ae2['batch'];_0x1027a3['_createdBatches']['has'](_0x3b48de)&&(_0x3a8ae2['newRange']=_0x3a8ae2['oldRange']?_0x551f51['model']['createRange'](_0x3a8ae2['oldRange']['start'],_0x3a8ae2['oldRange']['end']):null);},{'priority':'highest'});}['destroy'](){return this['_domEmitter']['stopListening'](),super['destroy']();}['createUserMarkerOperations'](){const _0x9b2a2=this['editor'],_0x1fcf31=_0x9b2a2['model']['document'],_0x59e33d=_0x9b2a2['plugins']['get'](Y);_0x9b2a2['model']['enqueueChange']({'isUndoable':!0x1},_0x35b5d2=>{const _0x179c57='user:range:'+_0x59e33d['mySessionId'],_0x25eae0='user:position:'+_0x59e33d['mySessionId'],_0xc8f46f=_0x9b2a2['model']['markers']['has'](_0x179c57);_0x9b2a2['editing']['view']['hasDomSelection']?J(_0x59e33d['mySessionId'],_0x1fcf31['selection']['getFirstRange'](),_0x9b2a2['model'],_0x35b5d2):_0xc8f46f&&(_0x35b5d2['removeMarker'](_0x179c57),_0x35b5d2['removeMarker'](_0x25eae0));});}}function J(_0x32528e,_0x3ff6cb,_0x4bc1e5,_0x453482){const _0x16ecb7='user:range:'+_0x32528e,_0xde9c40='user:position:'+_0x32528e,_0x4d51b9=_0x3ff6cb['getContainedElement']();let _0x33e9b0=_0x3ff6cb['start'];if(_0x4d51b9&&_0x4d51b9['is']('element','tableCell')){const _0xc81df8=function(_0x2db78c,_0x5e70d0){for(const _0x50e579 of _0x2db78c['getPositions']())if(_0x5e70d0['schema']['checkChild'](_0x50e579,'$text'))return _0x50e579;}(_0x3ff6cb,_0x4bc1e5);_0xc81df8&&(_0x33e9b0=_0xc81df8,_0x3ff6cb=_0x453482['createRange'](_0x33e9b0));}const _0x3dcde6=_0x453482['createRange'](_0x33e9b0);_0x4bc1e5['markers']['has'](_0x16ecb7)?(_0x453482['updateMarker'](_0x16ecb7,{'range':_0x3ff6cb}),_0x453482['updateMarker'](_0xde9c40,{'range':_0x3dcde6})):(_0x453482['addMarker'](_0x16ecb7,{'range':_0x3ff6cb,'usingOperation':!0x0}),_0x453482['addMarker'](_0xde9c40,{'range':_0x3dcde6,'usingOperation':!0x0}));}function Q(_0x3878ea){return'--ck-user-color:'+_0x3878ea['color']['getColorVariable']()+';--ck-user-color-alpha:'+_0x3878ea['color']['getColorAlphaVariable']()+';';}function X(_0x5d6fd1,_0x3ee704,_0x2b11d6){const _0x1806ab=_0x5d6fd1['t'],t=_0x5d6fd1['t'];switch(_0x3ee704){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 _0x1806ab({'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'},_0x2b11d6);default:return'';}}let Z=0x1;class tt extends _0x1885be{static ['CollaborativeEditingService']=/* #__PURE__ -- @preserve */
25
+ ((()=>_0x396fa4)());['_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,_0x5ed6bf,_0x443155,_0x52f767];}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 _0x40ccec=this['serverHistory']['getOperations']();for(let _0x20dce1=_0x40ccec['length']-0x1;_0x20dce1>=0x0;_0x20dce1--){const _0x28aeb0=_0x40ccec[_0x20dce1];if(!this['_disconnectionOperations']['has'](_0x28aeb0))return _0x28aeb0['baseVersion']+0x1-this['_offset'];}return 0x0;}constructor(_0x120ee2){if(super(_0x120ee2),this['_offset']=0x0,this['sessionId']=null,this['serverHistory']=new _0x5da6bc(),this['editor']['config']['define']('collaboration',{}),this['_channelId']=this['editor']['config']['get']('collaboration.channelId'),!this['_channelId'])throw new _0x36814d('collaboration-missing-channelid',this);const _0x3af4c4=_0x120ee2['config']['get']('cloudServices.bundleVersion')||_0x4b75a5;this['_service']=new tt['CollaborativeEditingService'](_0x3af4c4,this['_channelId']),this['_document']=this['editor']['model']['document'],this['_compressor']=new _0xd752eb(),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 _0x584c96=this['editor'],_0x19df7f=_0x584c96['plugins']['get'](_0x443155),_0x1ec46c=_0x584c96['plugins']['get'](z);this['listenTo'](_0x19df7f,'getOperationAuthor',(_0x2b8f7a,_0x22c816)=>{const _0x5c95bd=_0x22c816[0x0];_0x5c95bd['_authorId']&&(_0x2b8f7a['return']=_0x19df7f['getUser'](_0x5c95bd['_authorId']),_0x2b8f7a['stop']()),null===_0x5c95bd['_authorId']&&(_0x2b8f7a['return']=null,_0x2b8f7a['stop']());},{'priority':'high'}),this['listenTo'](_0x584c96['model']['document']['selection'],'change:range',(_0x532b6e,_0x4d841c)=>{_0x4d841c['directChange']&&this['_refreshUserSelectionMarkers']();}),this['listenTo'](_0x584c96['editing']['view'],'change:hasDomSelection',()=>{this['_refreshUserSelectionMarkers']();}),this['_initThrowingOnDataSet'](),_0x584c96['model']['on']('applyOperation',(_0x3a7826,_0x1a3092)=>{const _0x15469f=_0x1a3092[0x0];_0x15469f['isDocumentOperation']&&(this['_saveOperationInBuffer'](_0x15469f),this['_shouldSendUpdate']()&&this['_sendBufferedOperationsDelayed']());}),this['_setUpDataInit'](),this['bind']('_isEditingAllowed')['to'](_0x1ec46c,'state',this,'_hasSynchronizationProblem',(_0x1ebfea,_0x49b073)=>'connected'===_0x1ebfea&&!_0x49b073),this['on']('change:_isEditingAllowed',()=>{this['_isEditingAllowed']?_0x584c96['disableReadOnlyMode']('rtc-offline'):_0x584c96['enableReadOnlyMode']('rtc-offline');}),this['_isEditingAllowed']?_0x584c96['disableReadOnlyMode']('rtc-offline'):_0x584c96['enableReadOnlyMode']('rtc-offline'),this['set']('_isConnected',!0x1);}async['reconnect'](){const _0x2dfa13=this['editor']['plugins']['get'](Y),_0x458bbe=this['editor']['plugins']['get'](z);try{this['_isPendingUpdate']=!0x0,_0x2dfa13['unregister'](this['_channelId']);const _0x4566a6=await this['_service']['reconnect'](_0x458bbe['connection'],this['lastSyncVersion']);await this['_handleReconnectionResponse'](_0x4566a6)&&(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());const _0x4823a5=await this['_service']['getConnectedSessions']();_0x2dfa13['register'](this['_channelId'],_0x4823a5),this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}catch(_0x572992){if(function(_0x58e9c5){return'404'===_0x58e9c5['code'];}(_0x572992)&&this['sessionId'])await this['_connectAfterSessionHasBeenFlushed']();else{if(function(_0x168cc2){return'409'===_0x168cc2['code'];}(_0x572992)){const _0x496e17=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'](_0x496e17);}else{if(!(_0x572992 instanceof et))throw _0x572992;this['_handleReconnectionError']();}}}}['destroy'](){const _0x39bfff=this['editor']['plugins']['get'](z),_0x59f64f=this['editor']['plugins']['get'](Y);this['editor']['enableReadOnlyMode']('rtc-destroyed'),_0x59f64f['channelSessions']['has'](this['_channelId'])&&_0x59f64f['unregister'](this['_channelId']),_0x39bfff['removeFromReconnectionStack'](this),this['_disconnectService'](),super['destroy']();}async['_handleReconnectionResponse'](_0x37cd1f){if(this['sessionId']!==_0x37cd1f['sessionId']&&this['_lastSyncedOperationId']!==_0x37cd1f['lastOperationId'])throw new et();return this['sessionId']=_0x37cd1f['sessionId'],this['_handleServerResponse']([],{..._0x37cd1f,'wereChangesApplied':!0x1,'data':_0x37cd1f['data']},'reconnect');}async['_connectService'](_0x557e22,_0x36ec34=!0x1){const {connection:_0x129442}=this['editor']['plugins']['get'](z);tt['CollaborativeEditingService']['getConnectedSessions'](_0x129442,this['_channelId'])['then'](_0x48808a=>this['_initSessionsHandling'](_0x48808a))['catch'](_0x51f1e9=>{this['_crash']('realtimecollaborationclient-init-session-connection-error',_0x51f1e9);}),this['listenTo'](this['_service'],'operationsReceived',this['_handleReceivedOperations']['bind'](this)),this['listenTo'](this['_service'],'error',(_0x52c938,_0x4be0c8)=>{this['_crash']('realtimecollaborationclient-init-service-internal-error',_0x4be0c8);}),this['listenTo'](this['_service'],'disconnected',()=>{this['_isConnected']=!0x1;});const _0x4aafeb=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x557e22);this['_isPendingUpdate']=!0x0;const _0x31fe0f=await this['_service']['connect'](_0x129442,this['_compressOperations'](_0x557e22),_0x4aafeb);if(this['sessionId']=_0x31fe0f['sessionId'],_0x36ec34){if(!_0x31fe0f['wereChangesApplied'])return void this['_handleReconnectionError']();this['_isPendingUpdate']=!0x1,this['_clearPendingAction'](),this['serverHistory']['reset'](),this['_offset']=_0x31fe0f['offset'],this['serverHistory']['version']=this['_offset'],await this['_handleServerResponse'](_0x557e22,_0x31fe0f,'reconnection:\x20flushed\x20session');}else await this['_handleInitialConnectionData'](_0x31fe0f,_0x557e22);this['_handleSendingSelectionMarkers'](),this['_isConnected']=!0x0;}['_handleSendingSelectionMarkers'](){const _0x57f7f9=this['editor']['plugins']['get'](Y),_0x2edbb3=this['editor']['plugins']['get'](K),_0x42d0e4=_0x57f7f9['channelSessions']['get'](this['_channelId']);_0x42d0e4&&_0x42d0e4['length']>0x1?_0x2edbb3['createUserMarkerOperations']():this['listenTo'](_0x57f7f9,'sessionAdd:'+this['_channelId'],()=>{0x2===_0x57f7f9['channelSessions']['get'](this['_channelId'])['length']&&_0x2edbb3['createUserMarkerOperations']();});}async['_handleReceivedOperations'](_0x85b16e,_0x3aa8ff,_0x2bfd68,_0x380cbd){if(!this['_isPendingUpdate']&&this['_document']['version']==_0x3aa8ff){const _0x540688=this['_decompressOperations'](_0x2bfd68,_0x380cbd);await this['_fetchMissingUsers'](_0x540688),this['_handleExternalOperations'](_0x540688,_0x3aa8ff,_0x2bfd68['lastOperationId'])||this['_crash']('realtimecollaborationclient-init-service-incorrect-server-operation');}}async['_connectAfterSessionHasBeenFlushed'](){this['_disconnectService']();const {locale:_0x53e8ac}=this['editor'];let _0x54bf63;try{_0x54bf63=await this['_service']['getDocumentDetails']();}catch{const _0x51a636=X(_0x53e8ac,'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'](_0x51a636);}const _0x3d804e=_0x54bf63['currentDocumentSession']||_0x54bf63['lastDocumentSession'];if(this['_lastSyncedOperationId']!==_0x3d804e['lastOperationId']){const _0x2e5bc8=X(_0x53e8ac,'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'](_0x2e5bc8);}await this['_connectService'](this['editor']['model']['document']['history']['getOperations'](),!0x0);}['_disconnectService'](){this['_service']['disconnect'](),this['_bufferedOperations']=[],clearTimeout(this['_sendBufferedOperationsDelayId']),this['stopListening'](this['_service']);}['_initSessionsHandling'](_0x284b70){const _0x13b29d=this['editor']['plugins']['get'](Y);this['listenTo'](_0x13b29d,'sessionAdd:'+this['_channelId'],(_0x4ae152,{session:_0x54ef13})=>{if(_0x54ef13['id']===_0x13b29d['mySessionId']){_0x4ae152['off']();const _0x3c5826=this['editor']['plugins']['has']('CommentsOnly')&&this['editor']['plugins']['get']('CommentsOnly');let _0x2567a5=_0x54ef13['permissions'];_0x3c5826&&_0x3c5826['isEnabled']&&(_0x2567a5=_0x2567a5['filter'](_0x3d7fc9=>'document:write'!==_0x3d7fc9)),this['editor']['plugins']['get']('Permissions')['setPermissions'](_0x2567a5,this['_channelId']);}}),_0x13b29d['register'](this['_channelId'],_0x284b70);}['_initThrowingOnDataSet'](){const _0x2680bf=this['editor']['data']['set'];this['editor']['data']['set']=(..._0x13a0c6)=>{if(!_0x13a0c6[_0x13a0c6['length']-0x1]['suppressErrorInCollaboration'])throw new _0x36814d('realtimecollaborationclient-editor-setdata-and-editor-data-set-are-forbidden-in-real-time-collaboration',this);_0x2680bf['apply'](this['editor']['data'],_0x13a0c6);};}['_setUpDataInit'](){this['editor']['data']['on']('init',(_0x5952a9,[_0x4cc7cf])=>{if(this['_document']['version'])throw new _0x36814d('realtimecollaborationclient-init-document-already-initialized',this);_0x5952a9['stop'](),this['_setPendingAction']();const _0x462417=Object['fromEntries'](Object['entries'](this['editor']['config']['get']('roots')||{})['filter'](([,_0x137715])=>!_0x137715['lazyLoad'])['map'](([_0x3ada8f,_0x2cff82])=>[_0x3ada8f,_0x2cff82['modelAttributes']||{}])),_0x27e3ee=this['_getOperationsFromInitData'](_0x4cc7cf,_0x462417);0x0==_0x27e3ee['length']&&_0x27e3ee['push'](new _0x18749d(0x0)),_0x5952a9['return']=this['_connectService'](_0x27e3ee)['then'](()=>{this['editor']['plugins']['get'](z)['addToReconnectionStack'](this),this['editor']['data']['fire']('ready');})['catch'](_0xb6d282=>this['_crash']('realtimecollaborationclient-init-connection-failed',_0xb6d282))['finally'](()=>this['_clearPendingAction']());},{'priority':'high'}),this['editor']['on']('loadRoot',async(_0x21de52,[_0x30469d,_0x5dac67])=>{_0x21de52['stop']();const _0x3b3d1e=this['editor']['model']['document']['getRoot'](_0x30469d);if(!this['_knownRootNames']['has'](_0x30469d)){const _0x434726=_0x5dac67&&_0x5dac67['data']?_0x5dac67['data']:'',_0x46674d=_0x5dac67&&_0x5dac67['attributes']?_0x5dac67['attributes']:{};await this['_loadRoot'](_0x30469d,_0x434726,_0x46674d);}this['editor']['model']['enqueueChange']({'isUndoable':!0x1},()=>{_0x3b3d1e['_isLoaded']=!0x0,this['editor']['model']['document']['differ']['_bufferRootLoad'](_0x3b3d1e);});},{'priority':'high'});}async['_fetchMissingUsers'](_0x40b431){const _0x6c72fa=this['editor']['plugins']['get'](_0x443155),{connection:_0x16e24f}=this['editor']['plugins']['get'](z),_0x1bc1d8=new Set();for(const _0xecc438 of _0x40b431){const _0x51f6be=_0xecc438['_authorId'];_0x51f6be&&!_0x6c72fa['getUser'](_0x51f6be)&&_0x1bc1d8['add'](_0x51f6be);}if(0x0===_0x1bc1d8['size'])return;const _0x51ba60=await _0x5b2314['getMany'](_0x16e24f,Array['from'](_0x1bc1d8));for(const _0x3d7843 of _0x51ba60)_0x6c72fa['getUser'](_0x3d7843['id'])||_0x6c72fa['addUser'](_0x3d7843);}['_getOperationsFromInitData'](_0x4f72b9,_0x30fd8e={}){const _0x54cc44=this['editor']['model'],_0x412112=[];let _0x1e27c=0x0;const _0x56a5c4='string'==typeof _0x4f72b9?{'main':_0x4f72b9}:_0x4f72b9;for(const _0x10aefe of Object['keys'](_0x56a5c4)){if(!this['_document']['roots']['has'](_0x10aefe))throw new _0x36814d('realtimecollaborationclient-init-non-existent-root',this);const _0x7895cb=this['editor']['data']['parse'](_0x56a5c4[_0x10aefe]),_0x2c4014=this['_document']['getRoot'](_0x10aefe),_0x1e81ac=new _0x1b0982(_0x54cc44['createPositionAt'](_0x2c4014,0x0),_0x7895cb,_0x1e27c++);_0x412112['push'](_0x1e81ac);for(const [_0x3f9bd1,_0x24809d]of _0x7895cb['markers']){const _0x3cd624=_0x54cc44['createRange'](_0x54cc44['createPositionFromPath'](_0x2c4014,_0x24809d['start']['path']['slice']()),_0x54cc44['createPositionFromPath'](_0x2c4014,_0x24809d['end']['path']['slice']())),_0x3df021=new _0x19f48f(_0x3f9bd1,null,_0x3cd624,_0x54cc44['markers'],!0x0,_0x1e27c++);_0x412112['push'](_0x3df021);}}if(_0x30fd8e)for(const [_0x3f9c42,_0x232486]of Object['entries'](_0x30fd8e)){const _0x4d7f2e=_0x54cc44['document']['getRoot'](_0x3f9c42);if(!_0x4d7f2e)throw new _0x36814d('multi-root-editor-root-attributes-no-root',null);for(const [_0x437de0,_0x136e19]of Object['entries'](_0x232486))if(null!==_0x136e19){const _0x41695c=new _0x4e54c2(_0x4d7f2e,_0x437de0,null,_0x136e19,_0x1e27c++);_0x412112['push'](_0x41695c);}}return _0x412112;}async['_loadRoot'](_0x14750e,_0x2ba13e,_0x2c9034){this['_getOperationsFromInitData']({[_0x14750e]:_0x2ba13e},{[_0x14750e]:_0x2c9034})['forEach']((_0x494304,_0x397293)=>{_0x494304['baseVersion']=this['_document']['version']+_0x397293,_0x494304['_isInit']=!0x0,this['_saveOperationInBuffer'](_0x494304);}),this['_sendBufferedOperationsDelayed'](),await this['_waitUntilSynced']();}async['_handleInitialConnectionData'](_0x2239a4,_0x224973){let _0xcf2f27;this['_offset']=_0x2239a4['offset'];const _0x26d585=_0x2239a4['wereChangesApplied']&&!_0x2239a4['initData'],_0x1c0dc1=_0x26d585?0x0:_0x2239a4['data']['baseVersion'];if(_0x224973['forEach'](_0x1d423d=>{_0x1d423d['_isInit']=!0x0,_0x1d423d['createdAt']=_0x2239a4['sessionCreatedAt'],_0x1d423d['_authorId']=null;}),_0x26d585)_0xcf2f27=_0x224973,this['_applyOperationsSet'](_0xcf2f27,_0x26d585);else{if(_0x2239a4['initData']){const _0x24d311=this['_getOperationsFromInitData'](_0x2239a4['initData']);this['_document']['history']['version']=-_0x24d311['length'],_0x24d311['forEach'](_0x3af2a9=>{_0x3af2a9['baseVersion']-=_0x24d311['length'],_0x3af2a9['createdAt']=_0x2239a4['sessionCreatedAt'],_0x3af2a9['_isInit']=!0x0,_0x3af2a9['_authorId']=null;}),this['_applyOperationsSet'](_0x24d311,!0x0),this['serverHistory']['version']=-_0x24d311['length']+this['_offset'],this['_updateServerHistory'](_0x24d311);}this['_document']['history']['version']=_0x1c0dc1,_0xcf2f27=this['_decompressOperations'](_0x2239a4['data'],_0x2239a4['metadata']),await this['_fetchMissingUsers'](_0xcf2f27),this['_applyOperationsSet'](_0xcf2f27,_0x26d585);}_0x2239a4['lastOperationId']&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0xcf2f27,_0x2239a4['lastOperationId']),this['_lastSyncedOperationId']=_0x2239a4['lastOperationId']),this['serverHistory']['version']=_0x1c0dc1+this['_offset'],this['_updateServerHistory'](_0xcf2f27),_0x224973['filter'](_0x5dd55a=>{const _0x1e7624=this['_getAffectedRoot'](_0x5dd55a);return _0x1e7624&&!this['_knownRootNames']['has'](_0x1e7624);})['forEach']((_0x238447,_0x50ed77)=>{_0x238447['baseVersion']=this['_document']['version']+_0x50ed77,this['_saveOperationInBuffer'](_0x238447);}),this['_shouldSendUpdate']()?(this['_currentBufferDelay']=0x0,this['_sendBufferedOperationsDelayed'](!0x0),await this['_waitUntilSynced']()):(this['_isPendingUpdate']=!0x1,this['_clearPendingAction']());}['_crash'](_0x337b10,_0x5de699){const _0x312618=_0x5de699&&_0x5de699['message'];if(_0x312618&&_0x312618['startsWith']('realtimecollaborationclient'))throw _0x5de699;const _0x52da2d=this['editor']['plugins']['get'](z);throw this['_isPendingUpdate']=!0x0,_0x52da2d['disconnect'](),this['editor']['enableReadOnlyMode']('realtimecollaborationclient-error'),new _0x36814d(_0x337b10,this['editor'],_0x312618?{'originalError':_0x312618}:void 0x0);}['_saveOperationInBuffer'](_0x19408a){this['_knownOperations']['has'](_0x19408a)||(this['_knownOperations']['add'](_0x19408a),this['_bufferedOperations']['push'](_0x19408a),this['_pendingAction']||'marker'==_0x19408a['type']&&!_0x19408a['affectsData']||this['_setPendingAction']());}['_sendBufferedOperationsDelayed'](_0x357e04=!0x1){!_0x357e04&&this['_isPendingUpdate']||(this['_isPendingUpdate']=!0x0,clearTimeout(this['_sendBufferedOperationsDelayId']),this['_sendBufferedOperationsDelayId']=setTimeout(()=>{this['_sendBufferedOperations']()['then'](_0x5e4168=>{_0x5e4168&&(this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1);})['catch'](_0x4be064=>{this['_clearPendingAction'](),this['_isPendingUpdate']=!0x1,function(_0x29ee24){return _0x29ee24['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x29ee24['message']['startsWith']('cloud-services-internal-error:\x20Collaborative\x20Editing\x20Service\x20is\x20not\x20connected.')||_0x29ee24['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}(_0x4be064)||this['_crash'](_0x4be064['message'],_0x4be064);});},this['_currentBufferDelay']));}['_waitUntilSynced'](){return new Promise(_0x46f4cb=>{this['on']('change:_isPendingUpdate',()=>{_0x46f4cb();});});}async['_sendBufferedOperations'](){const _0x59e216=this['editor']['plugins']['get'](K);if(this['_shouldSendSelectionUpdate']()&&(_0x59e216['createUserMarkerOperations'](),this['_hasSelectionChanged']=!0x1),!this['_shouldSendUpdate']())return!0x0;const _0x1f55e3=[...this['_bufferedOperations']];for(const _0x1393d5 of _0x1f55e3)_0x1393d5['wasUndone']=this['_document']['history']['isUndoneOperation'](_0x1393d5);const _0x4d6252=this['_operationIdentifier']['getIdOfTheLastOperation'](_0x1f55e3),_0x88b276=Z++,_0x39d33c=this['_compressOperations'](_0x1f55e3),_0x2df9dd=await this['_service']['sendOperations'](_0x39d33c,_0x39d33c['baseVersion'],_0x4d6252);try{return await this['_handleServerResponse'](_0x1f55e3,_0x2df9dd,_0x88b276);}catch(_0xfa728e){return this['_crash']('realtimecollaborationclient-sendbufferedoperations',_0xfa728e);}}async['_handleServerResponse'](_0x351cf6,_0x32c7ec,_0x2f8036){if('error'in _0x32c7ec)throw _0x32c7ec['error'];let _0x2cee5b=!0x1;if(_0x32c7ec['wereChangesApplied']){_0x32c7ec['lastOperationId']&&(this['_lastSyncedOperationId']=_0x32c7ec['lastOperationId']),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x57a84c=>!_0x351cf6['includes'](_0x57a84c));for(const _0x5e09b5 of _0x351cf6)_0x5e09b5['createdAt']='lastOperationAcceptedAt'in _0x32c7ec&&_0x32c7ec['lastOperationAcceptedAt']||void 0x0;st(_0x351cf6,_0x32c7ec['version']-_0x351cf6['length']),this['_updateServerHistory'](_0x351cf6);const _0x43f012=_0x351cf6['filter'](_0x58aa76=>{if(!_0x58aa76['_isInit'])return!0x1;const _0x433df8=this['_getAffectedRoot'](_0x58aa76);return _0x433df8&&!this['_knownRootNames']['has'](_0x433df8);});st(_0x43f012,this['_document']['version']),this['_applyOperationsSet'](_0x43f012),_0x2cee5b=!0x0,this['_currentBufferDelay']=this['_baseBufferDelay'];}else{const _0x8410ee=this['_decompressOperations'](_0x32c7ec['data'],_0x32c7ec['metadata'])['filter'](_0x289bfc=>_0x289bfc['baseVersion']>=this['_lastServerVersion']);_0x8410ee['forEach'](_0x205667=>this['_addKnownRoot'](_0x205667)),this['_bufferedOperations']=this['_bufferedOperations']['filter'](_0x2d7b4b=>!_0x2d7b4b['_isInit']||!this['_knownRootNames']['has'](this['_getAffectedRoot'](_0x2d7b4b))),this['_bufferedOperations']['length']&&st(this['_bufferedOperations'],this['_bufferedOperations'][0x0]['baseVersion']),await this['_fetchMissingUsers'](_0x8410ee),_0x2cee5b=this['_handleExternalOperations'](_0x8410ee,_0x32c7ec['version'],_0x32c7ec['lastOperationId']),this['_currentBufferDelay']=Math['round'](this['_currentBufferDelay']/0x2);}return _0x2cee5b?!this['_shouldSendUpdate']()||(this['_sendBufferedOperationsDelayed'](!0x0),!0x1):this['_crash']('realtimecollaborationclient-handleserverresponse');}['_handleExternalOperations'](_0x188cfa,_0x3a444f,_0x1a3d33){try{const _0x382f62={'document':this['_document'],'useRelations':!0x1,'padWithNoOps':!0x0},{operationsA:_0x249ebe,operationsB:_0x1b5f8b,originalOperations:_0x12f28e}=_0x231820(_0x188cfa,this['_bufferedOperations'],_0x382f62);st(_0x249ebe,this['_document']['version']),st(_0x1b5f8b,_0x3a444f);for(const _0x16184c of _0x249ebe){const _0x5660f9=_0x12f28e['get'](_0x16184c);_0x16184c['_authorId']=_0x5660f9?_0x5660f9['_authorId']:null;}_0x1a3d33&&(this['_operationIdentifier']['setIdForTheLastOperation'](_0x188cfa,_0x1a3d33),this['_lastSyncedOperationId']=_0x1a3d33),this['_bufferedOperations']=[..._0x1b5f8b],this['_applyOperationsSet'](_0x249ebe),this['_updateServerHistory'](_0x188cfa);}catch(_0x61ddb7){return console['error'](_0x61ddb7),!0x1;}return!0x0;}['_applyOperationsSet'](_0x1562da,_0x4f0ede=!0x1){this['editor']['model']['enqueueChange']({'isUndoable':!0x1,'isLocal':!0x1},_0x4389e0=>{for(const _0x37686e of _0x1562da)this['_knownOperations']['add'](_0x37686e),this['_addKnownRoot'](_0x37686e),_0x4389e0['batch']['addOperation'](_0x37686e),this['editor']['model']['applyOperation'](_0x37686e);});}['_addKnownRoot'](_0x4c5525){const _0xecfee0=this['_getAffectedRoot'](_0x4c5525);_0xecfee0&&this['_knownRootNames']['add'](_0xecfee0);}['_getAffectedRoot'](_0x32ffc8){let _0x4f25e2,_0x10f82f;switch(_0x32ffc8['type']){case'insert':_0x4f25e2=_0x32ffc8['position']['root'];break;case'marker':if(_0x10f82f=_0x32ffc8['newRange'],!_0x10f82f)return null;_0x4f25e2=_0x10f82f['root'];break;case'addRootAttribute':_0x4f25e2=_0x32ffc8['root'];break;case'addRoot':_0x4f25e2=_0x32ffc8['affectedSelectable'];break;case'move':_0x4f25e2=_0x32ffc8['targetPosition']['root'];break;default:return null;}return _0x4f25e2['rootName'];}['_updateServerHistory'](_0x17331d){_0x17331d['forEach'](_0x326583=>{const _0x15bebc=_0x326583['clone']();_0x15bebc['_authorId']=_0x326583['_authorId'],_0x15bebc['_isInit']=!!_0x326583['_isInit'],_0x15bebc['createdAt']=_0x326583['createdAt'],_0x15bebc['baseVersion']+=this['_offset'],_0x326583['_isDisconnection']&&this['_disconnectionOperations']['add'](_0x15bebc),this['serverHistory']['addOperation'](_0x15bebc);});}['_handleReconnectionError'](_0x4c46ef){const _0x31c7d3=this['editor']['plugins']['get']('Notification'),_0x9d1af6=this['editor']['locale'];_0x4c46ef||(_0x4c46ef=X(_0x9d1af6,'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.')),_0x31c7d3['showWarning'](_0x4c46ef,{'title':X(_0x9d1af6,'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'](_0x5ed6bf)['add'](X(this['editor']['locale'],'PENDING_ACTION_SENDING_DATA')));}['_clearPendingAction'](){this['_pendingAction']&&(this['editor']['plugins']['get'](_0x5ed6bf)['remove'](this['_pendingAction']),this['_pendingAction']=null);}['_compressOperations'](_0x5d0107){const _0x5e0d79=_0x5d0107['map'](_0x1d8c2d=>_0x1d8c2d['toJSON']());return this['_compressor']['compress'](_0x5e0d79);}['_decompressOperations'](_0x4f68b5,_0x2cdc8f){return this['_compressor']['decompress'](_0x4f68b5)['map']((_0xdf569d,_0x193e25)=>{const _0x4a363e='init'==_0x2cdc8f[_0x193e25]['type'];if('InsertOperation'==_0xdf569d['__className']){const _0x125d85=_0xdf569d['position']['root'];!this['_document']['getRoot'](_0x125d85)&&(this['_document']['createRoot']('$root',_0x125d85)['_isAttached']=!0x1);}const _0x2fbd8c=_0x437df2['fromJSON'](_0xdf569d,this['_document']);return _0x2fbd8c['wasUndone']=_0xdf569d['wasUndone'],_0x2fbd8c['_isInit']=_0x4a363e,_0x2fbd8c['_authorId']=_0x4a363e?null:_0x2cdc8f[_0x193e25]['userId'],_0x2fbd8c['_isDisconnection']='cs:removeUser'===_0x2cdc8f[_0x193e25]['type'],_0x2fbd8c['createdAt']=_0x2cdc8f[_0x193e25]['createdAt'],_0x2fbd8c;});}['_refreshUserSelectionMarkers'](){this['_hasSelectionChanged']=!0x0,this['_shouldSendSelectionUpdate']()?this['_sendBufferedOperationsDelayed']():this['_hasSelectionChanged']=!0x1;}['_shouldSendSelectionUpdate'](){const _0x2853a5=this['editor']['plugins']['get'](Y)['channelSessions']['get'](this['_channelId']);return!this['editor']['isReadOnly']&&!!_0x2853a5&&_0x2853a5['length']>0x1&&this['_hasSelectionChanged'];}['_shouldSendUpdate'](){return this['_bufferedOperations']['length']>0x0||this['_shouldSendSelectionUpdate']();}}class et extends Error{}function st(_0x11eeab,_0x4d9480){for(const _0x5774c4 of _0x11eeab)_0x5774c4['baseVersion']=_0x4d9480++;}class it{['_ignoredOperations'];['_operationToId'];constructor(_0xea71d1){this['_ignoredOperations']=_0xea71d1,this['_operationToId']=new WeakMap();}['getIdOfTheLastOperation'](_0x32bc76){let _0x59c578=_0x32bc76['length'];for(;_0x59c578--;){const _0x4d60f2=_0x32bc76[_0x59c578];if(!this['_ignoredOperations']['has'](_0x4d60f2)){if(!this['_operationToId']['has'](_0x4d60f2)){const _0x67bdc1=_0x4b8b51()['slice'](0x1,0x12);this['_operationToId']['set'](_0x4d60f2,_0x67bdc1);}return this['_operationToId']['get'](_0x4d60f2);}}}['setIdForTheLastOperation'](_0x20e033,_0x5157df){if(!_0x5157df)return;let _0x44db6d=_0x20e033['length'];for(;_0x44db6d--;){const _0x3d7261=_0x20e033[_0x44db6d];this['_ignoredOperations']['has'](_0x3d7261)||this['_operationToId']['set'](_0x3d7261,_0x5157df);}}}class nt extends _0x1885be{static get['requires'](){return[tt];}static get['pluginName'](){return'RealTimeCollaborativeEditing';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class ot extends _0xb2d076{static ['CommentsService']=/* #__PURE__ -- @preserve */
26
+ ((()=>_0x2134a6)());['_services'];static get['requires'](){return[z,_0x3f8b74,Y,_0x443155];}static get['pluginName'](){return'CloudServicesCommentsAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x5267a9){super(_0x5267a9),this['_services']=new Map();}async['init'](){const _0x598e70=this['context'],_0x50872f=_0x598e70['plugins']['get'](_0x3f8b74);if(_0x598e70['plugins']['get'](z)['addToReconnectionStack'](this),_0x50872f['adapter']={'addCommentThread':async({channelId:_0x7110f2,threadId:_0x3d5f10,comments:_0x210053,resolvedAt:_0x2729a6,resolvedBy:_0x48d767,context:_0x5dc8d0,attributes:_0x2b7d7c})=>{const _0x31d8ac=await this['_getService'](_0x7110f2)['addCommentThread']({'commentThreadId':_0x3d5f10,'comments':_0x210053['map'](_0x586ada=>function(_0x533c0e,_0x2553f5,_0x5f587d){return{'commentThreadId':_0x5f587d,'commentId':_0x533c0e['commentId'],'userId':_0x533c0e['authorId'],'content':_0x533c0e['content'],'documentId':_0x2553f5,'createdAt':_0x533c0e['createdAt'],'attributes':_0x533c0e['attributes']||{}};}(_0x586ada,_0x7110f2,_0x3d5f10)),'resolvedAt':_0x2729a6,'resolvedBy':_0x48d767,'context':_0x5dc8d0,'attributes':_0x2b7d7c})['catch'](ct);return{'threadId':_0x31d8ac['commentThreadId'],'comments':_0x31d8ac['comments']};},'getCommentThread':async({channelId:_0x46bc71,threadId:_0x335d0d})=>{const _0x1e47a6=await this['_getService'](_0x46bc71)['getCommentThread'](_0x335d0d)['catch'](rt)['catch'](ct);return _0x1e47a6?_0x1e47a6['deletedAt']?null:(await this['_fetchMissingUsersForThreads']([_0x1e47a6]),{'threadId':_0x1e47a6['commentThreadId'],'comments':_0x1e47a6['comments']['map'](at),'context':_0x1e47a6['context'],'resolvedAt':_0x1e47a6['resolvedAt'],'resolvedBy':_0x1e47a6['resolvedBy'],'attributes':_0x1e47a6['attributes']||{}}):null;},'updateCommentThread':async({channelId:_0x8de69a,threadId:_0x45bb49,context:_0x82a619,unlinkedAt:_0x4bbb6c,attributes:_0x490c58})=>this['_getService'](_0x8de69a)['updateCommentThread']({'commentThreadId':_0x45bb49,'context':_0x82a619,'attributes':_0x490c58,'unlinkedAt':_0x4bbb6c})['catch'](rt)['catch'](ct),'resolveCommentThread':async({channelId:_0x36bc81,threadId:_0x1440f7})=>{const _0x3311b4=await this['_getService'](_0x36bc81)['resolveCommentThread'](_0x1440f7)['catch'](rt)['catch'](ct);return{'threadId':_0x3311b4['commentThreadId'],'resolvedAt':_0x3311b4['resolvedAt'],'resolvedBy':_0x3311b4['resolvedBy']};},'reopenCommentThread':async({channelId:_0x3ade52,threadId:_0x3d2be2})=>this['_getService'](_0x3ade52)['reopenCommentThread'](_0x3d2be2)['catch'](rt)['catch'](ct),'removeCommentThread':({channelId:_0x3c627e,threadId:_0x586d3a})=>this['_getService'](_0x3c627e)['removeCommentThread'](_0x586d3a)['catch'](rt)['catch'](ct),'addComment':({channelId:_0xc3edbf,threadId:_0x1ebe92,commentId:_0x37a005,content:_0x5dacc8,attributes:_0x105c83})=>this['_getService'](_0xc3edbf)['addComment'](_0x1ebe92,_0x37a005,_0x5dacc8,_0x105c83)['catch'](ct),'updateComment':({channelId:_0x43e435,threadId:_0x472a6f,commentId:_0x472526,content:_0x4a19e1,attributes:_0x4e65a1})=>this['_getService'](_0x43e435)['updateComment'](_0x472a6f,_0x472526,_0x4a19e1,_0x4e65a1)['catch'](rt)['catch'](ct),'removeComment':({channelId:_0x1ab735,threadId:_0x32de68,commentId:_0x323fc9})=>this['_getService'](_0x1ab735)['removeComment'](_0x32de68,_0x323fc9)['catch'](rt)['catch'](ct)},_0x598e70 instanceof _0x53fadc){const _0x56ab00=_0x598e70['config']['get']('collaboration.channelId'),_0x3f9890=_0x598e70['plugins']['get'](Y);await this['_setUpService'](_0x56ab00);const _0x574c5a=await this['_services']['get'](_0x56ab00)['getConnectedSessions']();this['listenTo'](_0x3f9890,'sessionAdd:'+_0x56ab00,(_0x24bbd8,{session:_0x2935ad})=>{_0x2935ad['id']===_0x3f9890['mySessionId']&&(_0x24bbd8['off'](),this['context']['plugins']['get']('Permissions')['setPermissions'](_0x2935ad['permissions'],_0x56ab00));}),_0x3f9890['register'](_0x56ab00,_0x574c5a);}}async['_setUpService'](_0x9d4ff9){if(this['_services']['has'](_0x9d4ff9))throw new _0x36814d('cloudservicescommentsadapter-connect-already-connected',null,{'channelId':_0x9d4ff9});const _0x171fde=this['context']['plugins']['get'](_0x3f8b74),_0x4bd935=new ot['CommentsService'](_0x9d4ff9);this['_services']['set'](_0x9d4ff9,_0x4bd935),this['listenTo'](_0x4bd935,'commentThreadAdded',(_0x12a22a,_0x5dd1d3)=>{const {commentThreadId:_0x52bff7,documentId:_0x1a67dd,context:_0x2b98a6,attributes:_0x3fa3ac,resolvedAt:_0x2a2b67,resolvedBy:_0x187733,comments:_0xac4054}=_0x5dd1d3;_0x171fde['getCommentThread'](_0x52bff7)||_0x171fde['addCommentThread']({'threadId':_0x52bff7,'channelId':_0x1a67dd,'comments':_0xac4054?_0xac4054['map'](at):[],'context':_0x2b98a6,'attributes':_0x3fa3ac,'resolvedAt':_0x2a2b67,'resolvedBy':_0x187733,'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadUpdated',(_0xda3388,{commentThreadId:_0x5cb9e9,documentId:_0x21ce44,context:_0x671e79,unlinkedAt:_0x427225,attributes:_0xd2d15c})=>{_0x171fde['getCommentThread'](_0x5cb9e9)&&_0x171fde['updateCommentThread']({'threadId':_0x5cb9e9,'channelId':_0x21ce44,'context':_0x671e79,'unlinkedAt':_0x427225,'attributes':_0xd2d15c,'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadResolved',(_0x4fbb30,{commentThreadId:_0x1bb6ab,resolvedBy:_0x594b5c,resolvedAt:_0x44f697})=>{const _0x126db4=_0x171fde['getCommentThread'](_0x1bb6ab);_0x126db4&&_0x126db4['resolve']({'resolvedBy':_0x594b5c,'resolvedAt':_0x44f697,'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadReopened',(_0x456b3f,{commentThreadId:_0x56f333})=>{const _0x4fe269=_0x171fde['getCommentThread'](_0x56f333);_0x4fe269&&_0x4fe269['reopen']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentThreadRemoved',(_0x1b8532,{commentThreadId:_0x1c9d97})=>{const _0x4b740b=_0x171fde['getCommentThread'](_0x1c9d97);_0x4b740b&&_0x4b740b['remove']({'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentAdded',(_0x52933f,_0xafb907)=>{const _0x6d7c13=_0xafb907['commentThreadId'],_0x1e02d3=_0x171fde['getCommentThread'](_0x6d7c13);_0x1e02d3&&_0x1e02d3['addComment']({...at(_0xafb907),'isFromAdapter':!0x0});}),this['listenTo'](_0x4bd935,'commentUpdated',(_0x58183e,{commentThreadId:_0x273002,commentId:_0x4c9377,content:_0x21cf4e,attributes:_0x2d6edb})=>{const _0x3cd3fe=_0x171fde['getCommentThread'](_0x273002);if(_0x3cd3fe){const _0x34a230=_0x3cd3fe['getComment'](_0x4c9377);_0x34a230&&_0x34a230['update']({'content':_0x21cf4e,'attributes':_0x2d6edb,'isFromAdapter':!0x0});}}),this['listenTo'](_0x4bd935,'commentRemoved',(_0x1c7703,{commentThreadId:_0x185b31,commentId:_0xcf2d03})=>{const _0x137526=_0x171fde['getCommentThread'](_0x185b31);if(_0x137526){const _0x1e494d=_0x137526['getComment'](_0xcf2d03);_0x1e494d&&_0x1e494d['remove']({'isFromAdapter':!0x0});}}),await this['_connectService'](_0x9d4ff9);}['destroy'](){if(this['context']instanceof _0x53fadc){const _0x238ad0=this['context']['config']['get']('collaboration.channelId');this['_terminateService'](_0x238ad0);}}['_terminateService'](_0x5070b4){if(!this['_services']['has'](_0x5070b4))throw new _0x36814d('cloudservicescommentsadapter-disconnect-not-exist',null,{'channelId':_0x5070b4});this['_getService'](_0x5070b4)['disconnect'](),this['_services']['delete'](_0x5070b4);}async['reconnect'](){for(const _0x3908d7 of this['_services']['keys']())await this['_connectService'](_0x3908d7);if(this['context']instanceof _0x53fadc){const _0x11dba2=this['context']['config']['get']('collaboration.channelId'),_0x2f2a5d=this['context']['plugins']['get'](Y);_0x2f2a5d['unregister'](_0x11dba2);const _0x1c9064=await this['_services']['get'](_0x11dba2)['getConnectedSessions']();_0x2f2a5d['register'](_0x11dba2,_0x1c9064);}}async['_connectService'](_0x46ffd8){const {connection:_0x3da4c2}=this['context']['plugins']['get'](z),_0x3f38c2=this['context']['plugins']['get'](_0x3f8b74),_0x471e3b=this['_services']['get'](_0x46ffd8),_0x5b4ca9=await _0x471e3b['connect'](_0x3da4c2);await this['_fetchMissingUsersForThreads'](_0x5b4ca9);const _0x49f610=new Set(Array['from'](_0x3f38c2['getCommentThreads']({'channelId':_0x46ffd8}),_0x318c22=>_0x318c22['id']));for(const _0xd6fa5d of _0x5b4ca9)_0xd6fa5d['deletedAt']||_0x49f610['delete'](_0xd6fa5d['commentThreadId']);for(const _0x387e50 of _0x49f610)_0x3f38c2['getCommentThread'](_0x387e50)['remove']({'isFromAdapter':!0x0});for(const _0x24bce4 of _0x5b4ca9){let _0x480422=_0x3f38c2['getCommentThread'](_0x24bce4['commentThreadId']);const {commentThreadId:_0x502c1b,context:_0x5531ad,attributes:_0x24f324,resolvedBy:_0x1272d2,resolvedAt:_0x3bcbb3,unlinkedAt:_0x3f2a3d,deletedAt:_0x4e4c46}=_0x24bce4;if(_0x4e4c46)continue;_0x480422||(_0x480422=_0x3f38c2['addCommentThread']({'channelId':_0x46ffd8,'threadId':_0x502c1b,'context':_0x5531ad,'attributes':_0x24f324||{},'resolvedBy':_0x1272d2,'resolvedAt':_0x3bcbb3,'unlinkedAt':_0x3f2a3d,'isFromAdapter':!0x0}));const _0x574eae=new Set(Array['from'](_0x480422['comments'],_0x2a6f1d=>_0x2a6f1d['id']));for(const _0x128059 of _0x24bce4['comments'])_0x574eae['delete'](_0x128059['commentId']);for(const _0x12ae85 of _0x574eae)_0x480422['getComment'](_0x12ae85)['remove']({'isFromAdapter':!0x0});for(const _0xd1aa7a of _0x24bce4['comments']){const _0x3326bc=_0x480422['getComment'](_0xd1aa7a['commentId']);_0x3326bc?_0x3326bc['content']!==_0xd1aa7a['content']&&_0x3326bc['update']({'content':_0xd1aa7a['content'],'isFromAdapter':!0x0}):_0x480422['addComment'](Object['assign'](at(_0xd1aa7a),{'isFromAdapter':!0x0}));}}}['_getService'](_0x4ad98d){if(!this['_services']['has'](_0x4ad98d))throw new _0x36814d('cloudservicescommentsadapter-service-not-exist',null,{'channelId':_0x4ad98d});return this['_services']['get'](_0x4ad98d);}async['_fetchMissingUsersForThreads'](_0x4bc36e){const _0x59803d=this['context']['plugins']['get'](_0x443155),{connection:_0x2d750d}=this['context']['plugins']['get'](z),_0x221f0a=new Set();for(const {resolvedBy:_0x58bd9d,comments:_0x3f0f24}of _0x4bc36e){_0x58bd9d&&!_0x59803d['getUser'](_0x58bd9d)&&_0x221f0a['add'](_0x58bd9d);for(const {userId:_0x5ed7b8}of _0x3f0f24)_0x59803d['getUser'](_0x5ed7b8)||_0x221f0a['add'](_0x5ed7b8);}if(0x0===_0x221f0a['size'])return;const _0x14e1a6=await _0x5b2314['getMany'](_0x2d750d,Array['from'](_0x221f0a));for(const _0x2a6634 of _0x14e1a6)_0x59803d['getUser'](_0x2a6634['id'])||_0x59803d['addUser'](_0x2a6634);}}async function rt(_0x847a34){if('404'!==_0x847a34['code'])throw _0x847a34;}function ct(_0xc47c3a){if((_0x36b2d2=_0xc47c3a)['message']['startsWith']('cloud-services-internal-error:\x20Comments\x20Service\x20is\x20not\x20connected.')||_0x36b2d2['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x36b2d2['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.'))return new Promise(()=>{});var _0x36b2d2;throw _0xc47c3a;}function at(_0x541978){return{'threadId':_0x541978['commentThreadId'],'commentId':_0x541978['commentId'],'content':_0x541978['content'],'createdAt':_0x541978['createdAt'],'authorId':_0x541978['userId'],'attributes':_0x541978['attributes']||{}};}class ht extends _0x1885be{static ['TrackChangesService']=/* #__PURE__ -- @preserve */
27
+ ((()=>_0x1a7890)());['_bufferedRequests'];['_trackChangesService'];static get['requires'](){return[ot,_0x3a4ea0,z];}static get['pluginName'](){return'CloudServicesTrackChangesAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xf45115){super(_0xf45115);const _0x32d34c=this['editor']['config']['get']('collaboration.channelId');this['_bufferedRequests']=new Map(),this['_trackChangesService']=new ht['TrackChangesService'](_0x32d34c);}['init'](){const _0x5b40b1=this['editor']['plugins']['get'](z),_0x3f53ef=this['editor']['plugins']['get'](_0x3a4ea0);return _0x3f53ef['adapter']={'getSuggestion':async _0x43fb83=>{await this['_waitForServiceReady']();const _0x23c33a=await this['_trackChangesService']['get'](_0x43fb83)['catch'](lt);return await this['_fetchMissingUsersForThreads']([_0x23c33a]),_0x23c33a;},'addSuggestion':async({id:_0x1816fd,type:_0x196719,data:_0x2c4f48,originalSuggestionId:_0x22adc1,attributes:_0x385667})=>{await this['_waitForServiceReady']();const _0x2d047d={'id':_0x1816fd,'type':_0x196719,'data':_0x2c4f48,'originalSuggestionId':_0x22adc1,'attributes':_0x385667},_0x43c73f=await this['_trackChangesService']['add'](_0x1816fd,_0x196719,_0x2c4f48,_0x22adc1,_0x385667)['catch'](_0x1537ce=>{if(dt(_0x1537ce))return new Promise(_0x1d5db6=>{this['_bufferedRequests']['set'](_0x1816fd,{'resolve':_0x1d5db6,'suggestionData':_0x2d047d});});throw _0x1537ce;});return this['_bufferedRequests']['delete'](_0x1816fd),_0x43c73f;},'updateSuggestion':async(_0x176f21,_0x2bde0b)=>{if(await this['_waitForServiceReady'](),'open'!==_0x2bde0b['state'])return this['_trackChangesService']['update'](_0x176f21,_0x2bde0b)['catch'](lt);}},this['listenTo'](this['_trackChangesService'],'suggestionUpdated',(_0x35f129,_0x43b678)=>{_0x3f53ef['hasSuggestion'](_0x43b678['id'])&&(_0x3f53ef['getSuggestion'](_0x43b678['id'])['attributes']=_0x43b678['attributes']);}),this['_trackChangesService']['connect'](_0x5b40b1['connection'])['then'](_0x20a5ab=>(_0x5b40b1['addToReconnectionStack'](this),this['_fetchMissingUsersForThreads'](_0x20a5ab)['then'](()=>{for(const _0x4f8f17 of _0x20a5ab){_0x3f53ef['addSuggestionData'](_0x4f8f17)['_saved']=!0x0;}})));}async['reconnect'](){const _0x5a6394=this['editor']['plugins']['get']('TrackChangesEditing'),{connection:_0x346008}=this['editor']['plugins']['get'](z),_0x1caa87=await this['_trackChangesService']['connect'](_0x346008);await this['_fetchMissingUsersForThreads'](_0x1caa87);for(const {suggestionData:_0x1cb5b7,resolve:_0x290b07}of this['_bufferedRequests']['values']()){let _0x4a37b0=_0x1caa87['find'](_0x462782=>_0x462782['id']===_0x1cb5b7['id']);_0x4a37b0||(_0x4a37b0=await this['_trackChangesService']['add'](_0x1cb5b7['id'],_0x1cb5b7['type'],_0x1cb5b7['data'],_0x1cb5b7['originalSuggestionId'])),_0x290b07(_0x4a37b0);}for(const _0xe67a20 of _0x1caa87)_0x5a6394['hasSuggestion'](_0xe67a20['id'])||_0x5a6394['addSuggestionData'](_0xe67a20);}async['_waitForServiceReady'](){this['_trackChangesService']['isConnected']||await new Promise(_0x2696a2=>{this['listenTo'](this['_trackChangesService'],'connected',_0x54bfb2=>{_0x54bfb2['off'](),_0x2696a2();});});}async['_fetchMissingUsersForThreads'](_0x2f1e8a){const _0x1c6a6b=this['editor']['plugins']['get'](_0x443155),{connection:_0x5b05d6}=this['editor']['plugins']['get'](z),_0x1c21fd=new Set();for(const {authorId:_0x2adbb4}of _0x2f1e8a)_0x1c6a6b['getUser'](_0x2adbb4)||_0x1c21fd['add'](_0x2adbb4);if(0x0===_0x1c21fd['size'])return;const _0x2b5cc2=await _0x5b2314['getMany'](_0x5b05d6,Array['from'](_0x1c21fd));for(const _0x2c1d99 of _0x2b5cc2)_0x1c6a6b['getUser'](_0x2c1d99['id'])||_0x1c6a6b['addUser'](_0x2c1d99);}}function lt(_0x2da2b8){if(dt(_0x2da2b8))return new Promise(()=>{});throw _0x2da2b8;}function dt(_0x707a07){return _0x707a07['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x707a07['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class ut extends _0x1885be{static get['requires'](){return[_0x512ce2,ot,nt,z];}static get['pluginName'](){return'RealTimeCollaborativeComments';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}['init'](){const _0x450d42=this['editor']['plugins']['get'](z),_0x29e9ed=this['editor']['plugins']['get'](_0x379a0a),_0x3a449f=this['editor']['plugins']['get'](ot);return this['editor']['data']['once']('ready',()=>{this['listenTo'](_0x450d42,'change:state',(_0x5f123a,_0x3f28ad,_0x1f2075)=>{_0x29e9ed['isThreadsLoadingPaused']='connected'!==_0x1f2075;});}),this['listenTo'](_0x450d42,'change:state',(_0x28cd94,_0x5bd68f,_0x3d84de)=>{this['editor']['plugins']['get'](_0x3f8b74)['switchReadOnly']('connected'!==_0x3d84de);}),_0x3a449f['_setUpService'](this['editor']['config']['get']('collaboration.channelId'));}['destroy'](){this['editor']['plugins']['get'](ot)['_terminateService'](this['editor']['config']['get']('collaboration.channelId')),super['destroy']();}}class ft extends _0x1885be{static get['requires'](){return[ut,ht,_0xdaae7d];}static get['pluginName'](){return'RealTimeCollaborativeTrackChanges';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class mt extends _0x1885be{static ['RevisionHistoryService']=/* #__PURE__ -- @preserve */
28
+ ((()=>_0x57f877)());['_lastRequestId'];['_revisionTracker'];['_revisionHistoryService'];['_oldOffset'];static get['requires'](){return[z,tt,_0x2ca609,Y,_0x443155];}static get['pluginName'](){return'CloudServicesRevisionHistoryAdapter';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0xbdba2c){super(_0xbdba2c);const _0x526e48=this['editor']['config']['get']('collaboration.channelId');this['_lastRequestId']=null,this['_revisionTracker']=this['editor']['plugins']['get']('RevisionTracker'),this['_revisionHistoryService']=new mt['RevisionHistoryService'](_0x526e48);}async['init'](){const _0x534328=this['editor']['plugins']['get'](tt),_0xc42482=_0x534328['serverHistory'],_0x1f2c88=this['editor']['plugins']['get'](z);this['_revisionTracker']['setSource']({'history':_0xc42482,'getLatestVersion':()=>this['_getLatestVersion'](),'getCurrentRevisionId':()=>_0x534328['sessionId']});const _0x4a3d12=this['editor']['config']['get']('cloudServices.bundleVersion')||_0x4b75a5,_0x8f4086=await _0x9e6478['isBundleUploaded'](_0x1f2c88['connection'],_0x4a3d12);this['editor']['plugins']['get'](_0x2ca609)['adapter']={'getRevision':async({revisionId:_0x2bd0e9})=>(await this['_waitForServiceReady'](),await this['_revisionHistoryService']['getRevision'](_0x2bd0e9)),'updateRevisions':async _0x4d3e42=>{await this['_waitForServiceReady']();const _0x7ca433=this['_revisionTracker']['currentRevision'];if(_0x8f4086&&0x1===_0x4d3e42['length']&&_0x4d3e42[0x0]['id']===_0x7ca433['id'])return _0x4d3e42;for(const _0x45fad6 of _0x4d3e42)_0x45fad6['id']===_0x7ca433['id']&&(_0x45fad6['isEmptyCurrent']=_0x45fad6['fromVersion']===_0x45fad6['toVersion']);return this['_revisionHistoryService']['updateRevisions'](_0x4d3e42,this['_lastRequestId'])['then'](_0x1fce3a=>(this['_lastRequestId']=_0x1fce3a,_0x4d3e42))['catch'](_0x1a97fe=>{if(pt(_0x1a97fe)||'400'===_0x1a97fe['code']&&void 0x0!==_0x1a97fe['data']['wrongRequestId']){for(const _0x409ac6 of _0x4d3e42){!this['_revisionTracker']['repository']['getRevision'](_0x409ac6['id'])||this['_revisionTracker']['_bufferUpdate'](_0x409ac6['id'],_0x409ac6,!0x1);}if(pt(_0x1a97fe)&&'destroyed'!==this['editor']['state'])throw _0x1a97fe;return _0x4d3e42;}throw _0x1a97fe;});}},this['listenTo'](this['_revisionHistoryService'],'revisionsUpdated',(_0x518b44,{revisionsData:_0x4572ad,requestId:_0x2ab29c})=>{Math['max'](..._0x4572ad['map'](_0x4fb891=>_0x4fb891['toVersion']))>this['_getLatestVersionFromServerOperations']()-0x1?this['_getLatestVersion']()['then'](()=>{this['_handleRevisionsUpdate'](_0x4572ad,_0x2ab29c);}):this['_handleRevisionsUpdate'](_0x4572ad,_0x2ab29c);});const {revisions:_0x15706b,requestId:_0x282494}=await this['_revisionHistoryService']['connect'](_0x1f2c88['connection']);_0x1f2c88['addToReconnectionStack'](this),this['_lastRequestId']=_0x282494,await this['_fetchMissingUsers'](_0x15706b);for(const _0x39a213 of _0x15706b)this['_revisionTracker']['addRevisionData'](_0x39a213);this['listenTo'](_0x534328,'change:_isConnected',(_0x129819,_0x2f828b,_0x2dc423)=>{_0x2dc423&&(this['_oldOffset']=_0x534328['_offset'],_0x129819['off']());}),this['_revisionTracker']['bind']('isEnabled')['to'](_0x1f2c88,'state',_0x3a303d=>_0x3a303d===_0x25ca68['CONNECTED']);}async['reconnect'](){const _0x50d361=this['editor']['plugins']['get'](z),_0x3674a5=this['editor']['plugins']['get'](tt),_0x4e090d=async()=>{const _0x4afab6=this['_revisionTracker']['currentRevision'],_0x1114de=_0x4afab6['id'],_0x3c5bdd=_0x1114de!==_0x3674a5['sessionId'];if(_0x3c5bdd){const _0x30b90b=_0x3674a5['_offset']-this['_oldOffset'],_0xdd6bb8=this['_getLatestVersionFromServerOperations']();this['_revisionTracker']['_revisionDataBuilder']['reInit']();if(_0x4afab6['toVersion']+_0x30b90b!==_0xdd6bb8){const _0x409e13=_0x4afab6['fromVersion']+_0x30b90b,_0x2513bc=this['editor']['plugins']['get'](_0x443155),_0x5764c5=this['_revisionTracker']['buildRevisionData']({'revision':_0x4afab6,'from':_0x409e13,'to':_0xdd6bb8});_0x5764c5['id']=_0x4afab6['id'];const _0x22efba=_0x5764c5['authorsIds']['map'](_0x4a49f6=>_0x2513bc['getUser'](_0x4a49f6));_0x4afab6['_update']({..._0x5764c5,'authors':_0x22efba},!0x0),this['_revisionTracker']['_bufferUpdate'](_0x4afab6['id'],_0x5764c5,!0x0);}this['_revisionTracker']['_startingVersion']=_0xdd6bb8,(_0x4afab6['toVersion']===_0x4afab6['fromVersion']&&!this['_revisionTracker']['_bufferedUpdates']['has'](_0x1114de)&&this['_revisionTracker']['repository']['_revisions']['remove'](_0x1114de),this['_revisionTracker']['_createCurrentRevision'](_0xdd6bb8));}const {revisions:_0x253999,requestId:_0x1720e1}=await this['_revisionHistoryService']['reconnect'](_0x50d361['connection'],this['_lastRequestId']);_0x3c5bdd&&_0x253999['length']>0x0?_0x3674a5['_handleReconnectionError']():(await this['_fetchMissingUsers'](_0x253999),this['_handleRevisionsUpdate'](_0x253999,_0x1720e1),this['_revisionTracker']['sendBufferedUpdates']());};return _0x3674a5['_isConnected']?_0x4e090d():new Promise((_0x3256fa,_0x195dda)=>{_0x3674a5['once']('change:_isConnected',()=>{_0x4e090d()['then'](_0x3256fa)['catch'](_0x195dda);});});}['destroy'](){super['destroy']();}async['_waitForServiceReady'](){this['_revisionHistoryService']['isConnected']||await new Promise(_0x534e5d=>{this['listenTo'](this['_revisionHistoryService'],'connected',_0x1834f6=>{_0x1834f6['off'](),_0x534e5d();});});}['_getLatestVersionFromServerOperations'](){const _0x58178b=this['editor']['plugins']['get'](tt)['serverHistory']['getOperations']()['reverse']();for(const _0x15d311 of _0x58178b)if('marker'!==_0x15d311['type']||_0x15d311['affectsData'])return _0x15d311['baseVersion']+0x1;}['_getLatestVersion'](){const _0x367437=this['editor']['plugins']['get'](tt);return new Promise(_0x1eb8d6=>{_0x367437['_isPendingUpdate']?_0x367437['once']('change:_isPendingUpdate',()=>{_0x1eb8d6(this['_getLatestVersionFromServerOperations']());}):_0x1eb8d6(this['_getLatestVersionFromServerOperations']());});}['_handleRevisionsUpdate'](_0x478402,_0x3e3250){const _0x4db035=this['_revisionTracker']['repository'];this['_lastRequestId']=_0x3e3250;for(const _0x363237 of _0x478402){const _0x2178eb=_0x4db035['getRevision'](_0x363237['id']);if(_0x2178eb){if((_0x363237['fromVersion']||_0x363237['toVersion'])&&(_0x363237['diffData']=null),_0x2178eb===this['_revisionTracker']['currentRevision']){const _0x1792b9=Math['max'](_0x2178eb['toVersion'],_0x363237['toVersion']),_0x105ef8=Math['max'](_0x2178eb['fromVersion'],_0x363237['fromVersion']);let _0x4dc55f;_0x2178eb['toVersion']===_0x363237['toVersion']&&_0x2178eb['fromVersion']===_0x363237['fromVersion']?(_0x4dc55f=!0x0,this['_preventResendingRevisionData'](_0x363237)):_0x363237['toVersion']===_0x1792b9&&_0x363237['fromVersion']===_0x105ef8?_0x4dc55f=!0x1:(_0x2178eb['toVersion']===_0x1792b9&&_0x2178eb['fromVersion']===_0x105ef8||this['_fixRevision']({'revision':_0x2178eb,'from':_0x105ef8,'to':_0x1792b9}),_0x4dc55f=!0x0),_0x4dc55f&&(delete _0x363237['fromVersion'],delete _0x363237['toVersion'],delete _0x363237['diffData'],delete _0x363237['createdAt'],delete _0x363237['authorsIds']);}this['_revisionTracker']['setRevisionData'](_0x363237),this['_preventResendingRevisionData'](_0x363237);}else this['_revisionTracker']['addRevisionData'](_0x363237);}const _0x4b3f88=_0x4db035['getRevisions']();_0x4b3f88['reverse']();for(let _0x47614c=0x0;_0x47614c<_0x4b3f88['length']-0x1;_0x47614c++){const _0x56f94a=_0x4b3f88[_0x47614c],_0x5c91c2=_0x4b3f88[_0x47614c+0x1];if(_0x56f94a['fromVersion']<_0x5c91c2['toVersion']){const _0x55ef6f=_0x5c91c2['toVersion'],_0x4a54e7=Math['max'](_0x55ef6f,_0x56f94a['toVersion']);this['_fixRevision']({'revision':_0x56f94a,'from':_0x55ef6f,'to':_0x4a54e7});}}}['_fixRevision']({revision:_0x29f496,from:_0x4e7424,to:_0x2e081c}={}){const _0x53cd75=this['editor']['plugins']['get'](_0x443155),_0x217e05=this['_revisionTracker']['buildRevisionData']({'revision':_0x29f496,'from':_0x4e7424,'to':_0x2e081c});_0x217e05['authors']=_0x217e05['authorsIds']['map'](_0x3d4c4a=>_0x53cd75['getUser'](_0x3d4c4a)),_0x29f496['_update'](_0x217e05);}['_preventResendingRevisionData'](_0x4b5a8a){const _0x51f705={};_0x51f705['id']=_0x4b5a8a['id'];for(const _0x36b6e1 of Object['keys'](_0x4b5a8a))'id'!==_0x36b6e1&&(_0x51f705[_0x36b6e1]=void 0x0);this['_revisionTracker']['_bufferUpdate'](_0x51f705['id'],_0x51f705,!0x0);}async['_fetchMissingUsers'](_0x5002cf){const _0x4c39e8=this['editor']['plugins']['get'](_0x443155),{connection:_0x3fac3b}=this['editor']['plugins']['get'](z),_0x2ed9cf=new Set();for(const _0x2fa6e9 of _0x5002cf){for(const _0x3da2e0 of _0x2fa6e9['authorsIds'])_0x52bd75(_0x3da2e0);_0x2fa6e9['creatorId']&&_0x52bd75(_0x2fa6e9['creatorId']);}if(0x0===_0x2ed9cf['size'])return;const _0x417d7d=await _0x5b2314['getMany'](_0x3fac3b,Array['from'](_0x2ed9cf));for(const _0xfd38da of _0x417d7d)_0x4c39e8['getUser'](_0xfd38da['id'])||_0x4c39e8['addUser'](_0xfd38da);function _0x52bd75(_0x35de35){_0x4c39e8['getUser'](_0x35de35)||_0x2ed9cf['add'](_0x35de35);}}}function pt(_0x4ef9cf){return _0x4ef9cf['message']['startsWith']('cloud-services-internal-error:\x20Revision\x20History\x20Service\x20is\x20not\x20connected.')||_0x4ef9cf['message']['startsWith']('cloud-services-internal-error:\x20Not\x20connected.')||_0x4ef9cf['message']['startsWith']('cloud-services-internal-error:\x20Request\x20timeout.');}class gt extends _0x1885be{static get['requires'](){return[_0x2ca609,mt,nt];}static get['pluginName'](){return'RealTimeCollaborativeRevisionHistory';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}class wt extends _0x1cd989{['_collapseAt'];constructor(_0x3da153,_0x23c6c7=0x6){super(_0x3da153);const _0xd0640b=this['bindTemplate'];this['set']('isHidden',!0x0),this['set']('usersCount',0x0),this['_collapseAt']=_0x23c6c7,this['bind']('isHidden')['to'](this,'usersCount',_0x398177=>_0x398177<_0x23c6c7),this['setTemplate']({'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item',_0xd0640b['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':_0xd0640b['to']('usersCount',_0x3d21b8=>'+'+(_0x3d21b8-this['_collapseAt']+0x2)['toString']())}]}]}]});}}class vt extends _0x1cd989{['items'];['keystrokes'];constructor(_0x5a748b){super(_0x5a748b);const _0x3b31b1=this['bindTemplate'];this['items']=this['createCollection'](),this['keystrokes']=new _0x154e98(),this['set']({'hasPopup':!0x1,'isExpanded':!0x1}),this['setTemplate']({'tag':'div','attributes':{'aria-haspopup':_0x3b31b1['if']('hasPopup'),'aria-expanded':_0x3b31b1['to']('isExpanded',_0x2098a7=>this['hasPopup']&&String(_0x2098a7)),'aria-label':_0x3b31b1['to']('hasPopup',_0x504ae2=>X(_0x5a748b,_0x504ae2?'Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'Connected\x20users\x20list')),'role':'list','tabindex':_0x3b31b1['to']('hasPopup',_0x671fd3=>!!_0x671fd3&&0x0),'class':['ck','ck-presence-list__list']},'children':this['items'],'on':{'mouseenter':_0x3b31b1['to'](()=>this['fire']('presencelist:show')),'mouseleave':_0x3b31b1['to'](_0x1204bd=>{const _0x2dd950=_0x1204bd,_0x253902=document['querySelector']('.ck-presence-list__dropdown-list'),_0x19b6ad=document['querySelector']('.ck-balloon-panel_with-arrow');_0x253902?.['contains'](_0x2dd950['relatedTarget'])||_0x19b6ad?.['contains'](_0x2dd950['relatedTarget'])||this['fire']('presencelist:hide');})}}),this['on']('change:hasPopup',(_0x30c36a,_0x21ca19,_0x25d5a3)=>{this['element']&&(_0x25d5a3?this['element']['setAttribute']('aria-expanded',String(this['isExpanded'])):this['element']['removeAttribute']('aria-expanded'));});}['focus'](){this['element']['focus']();}['render'](){super['render'](),this['keystrokes']['listenTo'](this['element']);}}class _t extends _0x1cd989{['counterView'];['inlineListView'];constructor(_0x58344a,_0x3ca5dd=0x6){super(_0x58344a);const _0x67c243=this['bindTemplate'];this['set']('isCollapsed',!0x0),this['counterView']=new wt(this['locale'],_0x3ca5dd),this['inlineListView']=new vt(_0x58344a),this['inlineListView']['bind']('hasPopup')['to'](this,'isCollapsed'),this['listenTo'](this['inlineListView']['items'],'change',()=>{for(const _0x2f7d3a of this['inlineListView']['items'])_0x2f7d3a['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',_0x67c243['if']('isCollapsed','ck-presence-list--collapsed')]},'children':[this['inlineListView']]});}}class yt extends _0x1cd989{['listWrapperView'];constructor(_0x58fe59,_0x11bde7){super(_0x58fe59);const _0x22e409=this['bindTemplate'];this['listWrapperView']=new bt(_0x58fe59,_0x11bde7),this['setTemplate']({'tag':'div','attributes':{'tabindex':-0x1,'role':'application','class':['ck','ck-presence-list__dropdown-list'],'aria-label':X(_0x58fe59,'Connected\x20users\x20list\x20dropdown\x20menu')},'children':[this['listWrapperView']],'on':{'mouseleave':_0x22e409['to'](_0x343a09=>{const _0x36207c=_0x343a09,_0x3bbcac=document['querySelector']('.ck-presence-list__list'),_0x5a499b=document['querySelector']('.ck-balloon-panel_with-arrow');_0x3bbcac?.['contains'](_0x36207c['relatedTarget'])||_0x5a499b?.['contains'](_0x36207c['relatedTarget'])||this['fire']('presencelist:hide');})}});}}class bt extends _0x97e680{constructor(_0xb2cf60,_0x19b355){super(_0xb2cf60);const _0x127703=this['bindTemplate'];this['set']('_isScrollable',!0x1),this['setTemplate']({'tag':_0x19b355?'div':'ul','attributes':{'class':['ck','ck-reset','ck-list','ck-presence-list__dropdown-list-wrapper',_0x127703['if']('_isScrollable','ck-presence-list__dropdown-list-wrapper_scrollable')],'role':_0x127703['to']('role'),'aria-label':_0x127703['to']('ariaLabel'),'aria-labelledby':_0x127703['to']('ariaLabelledBy')},'children':this['items']}),this['listenTo'](_0x58cf37['window'],'resize',()=>this['checkIfScrollable']()),this['items']['on']('change',()=>this['checkIfScrollable']());}['render'](){super['render'](),this['checkIfScrollable']();}['checkIfScrollable'](){const _0x277c3d=this['element'];_0x277c3d&&(this['_isScrollable']=Math['max'](_0x277c3d['scrollHeight'],_0x277c3d['clientHeight'])>0.8*window['innerHeight']);}}class kt extends _0x1349fc{['userView'];constructor(_0x55d093,_0x58ebd6,_0x5d09a8){super(_0x55d093);const _0x5c7def=this['bindTemplate'];this['userView']=new _0x365ed9(_0x55d093,_0x58ebd6);const _0x1d5de6={'tag':'li','attributes':{'class':['ck','ck-presence-list__dropdown-list-item'],'tabindex':-0x1,'role':'presentation','aria-label':_0x58ebd6['name']},'children':[this['userView'],{'tag':'span','attributes':{'class':['ck','ck-user__full-name']},'children':[{'text':_0x58ebd6['name']}]},{'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x58ebd6['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x58ebd6['color']['getColorVariable'](),'--ck-user-color-alpha':_0x58ebd6['color']['getColorAlphaVariable']()},'aria-hidden':'true'}}]};_0x5d09a8&&(_0x1d5de6['tag']='button',_0x1d5de6['on']={'click':_0x5c7def['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x1d5de6);}['focus'](){this['element']['focus']();}}class It extends _0x1cd989{['userView'];['markerView'];constructor(_0x58bca8,_0x399182,_0x5deb45){super(_0x58bca8);const _0x1117bd=this['bindTemplate'];this['set']('isFocusable',!0x1),this['set']('hasTooltip',!0x0),this['set']('tooltipPosition',''),this['userView']=new _0x365ed9(_0x58bca8,_0x399182),this['markerView']=new St(_0x58bca8,_0x399182);const _0x5ec329=new _0x85a073(_0x58bca8);_0x5ec329['template']['tag']='span',_0x5ec329['text']=_0x399182['name'];const _0x5dab75={'tag':'div','attributes':{'class':['ck','ck-presence-list__list-item'],'role':'listitem','tabindex':_0x1117bd['to']('isFocusable',_0x58be6c=>!!_0x58be6c&&0x0),'aria-labelledby':_0x5ec329['id'],'data-cke-tooltip-text':this['userView']['name'],'data-cke-tooltip-position':_0x1117bd['to']('tooltipPosition'),'data-cke-tooltip-disabled':_0x1117bd['to']('hasTooltip',_0x1cc642=>!_0x1cc642),'data-cke-tooltip-class':'ck-presence-list__list-item__tooltip'},'children':[this['userView'],this['markerView'],_0x5ec329]};_0x5deb45&&(_0x5dab75['tag']='button',_0x5dab75['on']={'click':_0x1117bd['to'](()=>this['fire']('execute'))}),this['setTemplate'](_0x5dab75);}}class St extends _0x1cd989{constructor(_0x15e4ae,_0x116aa1){super(_0x15e4ae),this['setTemplate']({'tag':'span','attributes':{'class':['ck','ck-presence-list__marker',_0x116aa1['color']['getBackgroundColorClass']()],'style':{'--ck-user-color':_0x116aa1['color']['getColorVariable'](),'--ck-user-color-alpha':_0x116aa1['color']['getColorAlphaVariable']()},'aria-hidden':'true'}});}}const Tt={'collapseAt':0x6,'displayMe':!0x0};class At extends _0xb2d076{['currentDisplayedUsers'];['balloonPanelView'];['view'];['presenceDropdownView'];['_bodyCollection']=null;static get['pluginName'](){return'PresenceListUI';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}constructor(_0x1b857d){super(_0x1b857d),this['context']['config']['define']('presenceList',Tt);const _0x500a46=_0x1b857d['config']['get']('presenceList.collapseAt');if('number'!=typeof _0x500a46)throw new _0x36814d('presencelist-collapseat-invalid-format',this);if(_0x500a46<0x1)throw new _0x36814d('presencelist-collapseat-invalid-format',this);this['_allConnectedUsers']=this['context']['plugins']['get'](Y)['allConnectedUsers'],this['set']('usersCount',0x0),this['currentDisplayedUsers']=new _0x2dbc61(),this['balloonPanelView']=new _0x413bf4(),this['balloonPanelView']['class']='ck\x20ck-presence-list__balloon',this['view']=this['_createView'](),this['presenceDropdownView']=void 0x0;}static get['requires'](){return[Y];}['init'](){for(const _0x2bdd83 of this['_allConnectedUsers'])this['_handleUserAdd'](_0x2bdd83);this['listenTo'](this['_allConnectedUsers'],'add',(_0x4d998c,_0x5231b8)=>{this['_handleUserAdd'](_0x5231b8);}),this['listenTo'](this['_allConnectedUsers'],'remove',(_0x1ece3b,_0x4cdc36)=>{this['_handleUserRemove'](_0x4cdc36);});}['_createView'](){const _0x368b5e=this['context'],_0x39f5f3=new _t(this['context']['locale'],this['context']['config']['get']('presenceList.collapseAt')),_0x4e19c8=this['balloonPanelView'];if(!_0x2487a9(_0x368b5e['config']['get']('presenceList.container')))throw new _0x36814d('presencelist-missing-container',this);return _0x39f5f3['counterView']['bind']('usersCount')['to'](this),_0x39f5f3['bind']('isCollapsed')['to'](this,'usersCount',_0x3b6070=>{const {collapseAt:_0x13810b}=_0x368b5e['config']['get']('presenceList'),_0x79c5df=_0x3b6070>=_0x13810b;if(_0x79c5df&&!_0x39f5f3['inlineListView']['items']['find'](_0x58bb85=>_0x58bb85 instanceof wt)){const _0x39d28b=this['context']['config']['get']('presenceList.collapseAt')-0x1;this['currentDisplayedUsers']['length']==_0x39d28b&&this['currentDisplayedUsers']['length']>0x1&&this['currentDisplayedUsers']['remove'](this['currentDisplayedUsers']['length']-0x1),_0x39f5f3['inlineListView']['items']['add'](_0x39f5f3['counterView']);}return _0x79c5df||this['hideDropdown'](),_0x79c5df;}),_0x39f5f3['inlineListView']['items']['bindTo'](this['currentDisplayedUsers'])['using'](_0x3b085a=>{const _0x1fee80=_0x368b5e['config']['get']('presenceList'),_0x3b998d=new It(_0x368b5e['locale'],_0x3b085a,!!_0x1fee80['onClick']);return _0x3b998d['bind']('hasTooltip')['to'](_0x39f5f3,'isCollapsed',_0x366490=>!_0x366490),_0x3b998d['bind']('isFocusable')['to'](_0x39f5f3,'isCollapsed',_0x4e4ed6=>!_0x4e4ed6),_0x1fee80['onClick']&&this['listenTo'](_0x3b998d,'execute',()=>{this['view']['isCollapsed']||_0x1fee80['onClick'](_0x3b085a,_0x3b998d['element']);}),_0x3b998d;}),this['listenTo'](_0x39f5f3['inlineListView'],'presencelist:show',()=>{this['view']['isCollapsed']&&this['showDropdown']();}),this['listenTo'](_0x39f5f3['inlineListView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();}),_0x39f5f3['inlineListView']['keystrokes']['set']('Enter',(_0x14ff7f,_0x37e062)=>{this['view']['isCollapsed']&&(this['showDropdown'](),_0x37e062());}),_0x39f5f3['render'](),_0x4e19c8['render'](),_0xe12ddf({'emitter':_0x39f5f3,'activator':()=>_0x4e19c8['isVisible'],'contextElements':[_0x4e19c8['element'],_0x39f5f3['inlineListView']['element']],'callback':()=>this['hideDropdown']()}),_0x368b5e['config']['get']('presenceList.container')['appendChild'](_0x39f5f3['element']),this['_bodyCollection']=new _0x411c47(this['context']['locale']),this['_bodyCollection']['attachToDom'](),this['_bodyCollection']['add'](this['balloonPanelView']),_0x39f5f3;}['_handleUserAdd'](_0x36ea42){if(!this['context']['config']['get']('presenceList.displayMe')&&_0x36ea42['isMe'])return;const _0x3b6ca3=this['context']['config']['get']('presenceList.collapseAt')-0x1;for(this['usersCount']++;this['currentDisplayedUsers']['length']>=_0x3b6ca3-(this['view']['isCollapsed']?0x1:0x0)&&this['currentDisplayedUsers']['length']>0x1;)this['currentDisplayedUsers']['remove'](0x1);const _0x376182=_0x36ea42['isMe']?0x0:this['currentDisplayedUsers']['length'];this['currentDisplayedUsers']['add'](_0x36ea42,_0x376182);}['_handleUserRemove'](_0x50843e){this['usersCount']--;const {collapseAt:_0x5981ca}=this['context']['config']['get']('presenceList'),_0x5455cd=this['usersCount']>=_0x5981ca;if(this['currentDisplayedUsers']['get'](_0x50843e['id']))this['currentDisplayedUsers']['remove'](_0x50843e['id']);else{if(_0x5455cd&&this['currentDisplayedUsers']['length']+0x1===_0x5981ca-0x1)return;}if(this['currentDisplayedUsers']['length']+(_0x5455cd?0x1:0x0)<this['usersCount']){for(const _0x286e64 of Array['from'](this['_allConnectedUsers'])['reverse']())if(!this['currentDisplayedUsers']['get'](_0x286e64['id'])&&(this['currentDisplayedUsers']['add'](_0x286e64,Math['min'](this['currentDisplayedUsers']['length']-(_0x5455cd?0x1:0x0),0x1)),this['currentDisplayedUsers']['length']+(_0x5455cd?0x1:0x0)===_0x5981ca-0x1))return;}}['showDropdown'](){if(this['presenceDropdownView'])return;const _0x4748f0=this['context']['config']['get']('presenceList');this['presenceDropdownView']=new yt(this['context']['locale'],!!_0x4748f0['onClick']),this['view']['inlineListView']['isExpanded']=!0x0,this['listenTo'](this['presenceDropdownView'],'presencelist:hide',()=>{this['presenceDropdownView']&&this['hideDropdown']();});const {listWrapperView:_0x16f930}=this['presenceDropdownView'];_0x16f930['items']['bindTo'](this['_allConnectedUsers'])['using'](_0x3c41bb=>{if(!_0x4748f0['displayMe']&&_0x3c41bb['isMe'])return null;const _0x26b8ab=new kt(this['context']['locale'],_0x3c41bb,!!_0x4748f0['onClick']);return _0x4748f0['onClick']&&this['listenTo'](_0x26b8ab,'execute',()=>{_0x4748f0['onClick'](_0x3c41bb,_0x26b8ab['element']);}),_0x26b8ab;}),this['balloonPanelView']['content']['add'](this['presenceDropdownView']),this['balloonPanelView']['pin']({'target':this['view']['inlineListView']['element']}),_0x16f930['focus'](),_0x16f930['checkIfScrollable']();const _0x4b27ed=(_0x393490,_0xc54018)=>{this['hideDropdown'](),this['view']['inlineListView']['focus'](),_0xc54018();};_0x16f930['keystrokes']['set']('Esc',_0x4b27ed),_0x16f930['keystrokes']['set']('Shift+Tab',_0x4b27ed),_0x16f930['keystrokes']['set']('Tab',(_0x36f447,_0x37ad00)=>{!function(_0x42ca53){const _0x3b8c47=['a','button','input','select','textarea','[tabindex]','[contenteditable]']['map'](_0x25109c=>_0x25109c+':not([disabled]):not([tabindex=\x22-1\x22])')['join'](','),_0x2fa1dd=[...document['body']['querySelectorAll'](_0x3b8c47)]['filter'](_0x85a85e=>_0x85a85e===document['activeElement']||_0x85a85e['offsetWidth']+_0x85a85e['offsetHeight']>0x0)['sort']((_0x5c351b,_0x47841f)=>(_0x5c351b['tabIndex']||0x0)-(_0x47841f['tabIndex']||0x0)),_0x4a9aa9=_0x2fa1dd['indexOf'](_0x42ca53),_0x3a0bee=_0x2fa1dd[(_0x4a9aa9+0x1)%_0x2fa1dd['length']];_0x3a0bee&&_0x3a0bee['focus']();}(this['view']['element']),this['hideDropdown'](),_0x37ad00();}),_0x16f930['focusTracker']['add'](this['view']['element']),_0x16f930['focusTracker']['on']('change:isFocused',(_0x541eb2,_0x50a546,_0x2c1c82)=>{_0x2c1c82||this['hideDropdown']();});}['hideDropdown'](){this['presenceDropdownView']&&(this['view']['inlineListView']['isExpanded']=!0x1,this['balloonPanelView']['unpin'](),this['balloonPanelView']['content']['remove'](this['presenceDropdownView']),this['presenceDropdownView']['destroy'](),this['presenceDropdownView']=void 0x0);}['destroy'](){super['destroy'](),this['view']&&this['view']['isRendered']&&this['view']['destroy'](),this['_bodyCollection']&&(this['_bodyCollection']['detachFromDom'](),this['_bodyCollection']['destroy'](),this['_bodyCollection']=null);}}class Pt extends _0xb2d076{static get['requires'](){return[Y,At];}static get['pluginName'](){return'PresenceList';}static get['isOfficialPlugin'](){return!0x0;}static get['isPremiumPlugin'](){return!0x0;}}export{ot as CloudServicesCommentsAdapter,mt as CloudServicesRevisionHistoryAdapter,ht as CloudServicesTrackChangesAdapter,Pt as PresenceList,At as PresenceListUI,tt as RealTimeCollaborationClient,ut as RealTimeCollaborativeComments,nt as RealTimeCollaborativeEditing,gt as RealTimeCollaborativeRevisionHistory,ft as RealTimeCollaborativeTrackChanges,Y as Sessions,z as WebSocketGateway};
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x448a53=>0x1!=_0x448a53}};
23
+ export default{'af':{'dictionary':{'CONNECTED_USERS':['',''],'PENDING_ACTION_SENDING_DATA':'','Synchronization\x20issue':'','Connected\x20users\x20list\x20dropdown\x20menu':'','Connected\x20users\x20list':'','Collapsed\x20connected\x20users\x20list\x20(press\x20ENTER\x20to\x20open\x20it)':'','The\x20document\x20cannot\x20be\x20connected\x20back\x20to\x20the\x20server.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20document\x20details\x20could\x20not\x20be\x20taken\x20during\x20the\x20reconnection.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20last\x20saved\x20version\x20of\x20the\x20document\x20does\x20not\x20match\x20the\x20local\x20version.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':'','The\x20local\x20document\x20and\x20server\x20document\x20differ\x20and\x20merging\x20them\x20can\x20cause\x20unexpected\x20behavior.\x20To\x20not\x20lose\x20your\x20content\x20save\x20it\x20locally\x20and\x20refresh\x20the\x20editor.':''},'getPluralForm':_0x1962e8=>0x1!=_0x1962e8}};