@univerjs-pro/collaboration-client-ui 0.25.0 → 1.0.0-alpha.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 (99) hide show
  1. package/lib/cjs/facade.js +1 -1
  2. package/lib/cjs/index.js +1 -1
  3. package/lib/cjs/locale/ar-SA.js +1 -1
  4. package/lib/cjs/locale/ca-ES.js +1 -1
  5. package/lib/cjs/locale/de-DE.js +1 -1
  6. package/lib/cjs/locale/en-US.js +1 -1
  7. package/lib/cjs/locale/es-ES.js +1 -1
  8. package/lib/cjs/locale/fa-IR.js +1 -1
  9. package/lib/cjs/locale/fr-FR.js +1 -1
  10. package/lib/cjs/locale/id-ID.js +1 -1
  11. package/lib/cjs/locale/it-IT.js +1 -1
  12. package/lib/cjs/locale/ja-JP.js +1 -1
  13. package/lib/cjs/locale/ko-KR.js +1 -1
  14. package/lib/cjs/locale/pl-PL.js +1 -1
  15. package/lib/cjs/locale/pt-BR.js +1 -1
  16. package/lib/cjs/locale/ru-RU.js +1 -1
  17. package/lib/cjs/locale/sk-SK.js +1 -1
  18. package/lib/cjs/locale/vi-VN.js +1 -1
  19. package/lib/cjs/locale/zh-CN.js +1 -1
  20. package/lib/cjs/locale/zh-HK.js +1 -1
  21. package/lib/cjs/locale/zh-TW.js +1 -1
  22. package/lib/es/facade.js +1 -1
  23. package/lib/es/index.js +1 -1
  24. package/lib/es/locale/ar-SA.js +1 -1
  25. package/lib/es/locale/ca-ES.js +1 -1
  26. package/lib/es/locale/de-DE.js +1 -1
  27. package/lib/es/locale/en-US.js +1 -1
  28. package/lib/es/locale/es-ES.js +1 -1
  29. package/lib/es/locale/fa-IR.js +1 -1
  30. package/lib/es/locale/fr-FR.js +1 -1
  31. package/lib/es/locale/id-ID.js +1 -1
  32. package/lib/es/locale/it-IT.js +1 -1
  33. package/lib/es/locale/ja-JP.js +1 -1
  34. package/lib/es/locale/ko-KR.js +1 -1
  35. package/lib/es/locale/pl-PL.js +1 -1
  36. package/lib/es/locale/pt-BR.js +1 -1
  37. package/lib/es/locale/ru-RU.js +1 -1
  38. package/lib/es/locale/sk-SK.js +1 -1
  39. package/lib/es/locale/vi-VN.js +1 -1
  40. package/lib/es/locale/zh-CN.js +1 -1
  41. package/lib/es/locale/zh-HK.js +1 -1
  42. package/lib/es/locale/zh-TW.js +1 -1
  43. package/lib/facade.js +1 -1
  44. package/lib/index.css +6 -6
  45. package/lib/index.js +1 -1
  46. package/lib/locale/ar-SA.js +1 -1
  47. package/lib/locale/ca-ES.js +1 -1
  48. package/lib/locale/de-DE.js +1 -1
  49. package/lib/locale/en-US.js +1 -1
  50. package/lib/locale/es-ES.js +1 -1
  51. package/lib/locale/fa-IR.js +1 -1
  52. package/lib/locale/fr-FR.js +1 -1
  53. package/lib/locale/id-ID.js +1 -1
  54. package/lib/locale/it-IT.js +1 -1
  55. package/lib/locale/ja-JP.js +1 -1
  56. package/lib/locale/ko-KR.js +1 -1
  57. package/lib/locale/pl-PL.js +1 -1
  58. package/lib/locale/pt-BR.js +1 -1
  59. package/lib/locale/ru-RU.js +1 -1
  60. package/lib/locale/sk-SK.js +1 -1
  61. package/lib/locale/vi-VN.js +1 -1
  62. package/lib/locale/zh-CN.js +1 -1
  63. package/lib/locale/zh-HK.js +1 -1
  64. package/lib/locale/zh-TW.js +1 -1
  65. package/lib/types/{controllers/config.schema.d.ts → config/config.d.ts} +8 -0
  66. package/lib/types/controllers/collab-cursor/collab-cursor.controller.d.ts +3 -2
  67. package/lib/types/controllers/collab-cursor/slide-collab-cursor-entity.d.ts +34 -0
  68. package/lib/types/controllers/collab-cursor/slide-collab-cursor-render.controller.d.ts +21 -0
  69. package/lib/types/controllers/entity-ui/collaboration-entity-ui.controller.d.ts +1 -3
  70. package/lib/types/index.d.ts +3 -2
  71. package/lib/types/locale/types.d.ts +3 -0
  72. package/lib/types/models/cursor.d.ts +23 -0
  73. package/lib/types/plugin.d.ts +1 -1
  74. package/lib/types/services/local-cache/web-local-cache.service.d.ts +1 -0
  75. package/lib/types/services/state-cache-transform/doc-transform-state-cache.service.d.ts +1 -1
  76. package/lib/types/views/components/CollabStatus.d.ts +1 -1
  77. package/lib/types/views/shapes/slide-collab-cursor.shape.d.ts +15 -0
  78. package/lib/umd/facade.js +1 -1
  79. package/lib/umd/index.js +1 -1
  80. package/lib/umd/locale/ar-SA.js +1 -1
  81. package/lib/umd/locale/ca-ES.js +1 -1
  82. package/lib/umd/locale/de-DE.js +1 -1
  83. package/lib/umd/locale/en-US.js +1 -1
  84. package/lib/umd/locale/es-ES.js +1 -1
  85. package/lib/umd/locale/fa-IR.js +1 -1
  86. package/lib/umd/locale/fr-FR.js +1 -1
  87. package/lib/umd/locale/id-ID.js +1 -1
  88. package/lib/umd/locale/it-IT.js +1 -1
  89. package/lib/umd/locale/ja-JP.js +1 -1
  90. package/lib/umd/locale/ko-KR.js +1 -1
  91. package/lib/umd/locale/pl-PL.js +1 -1
  92. package/lib/umd/locale/pt-BR.js +1 -1
  93. package/lib/umd/locale/ru-RU.js +1 -1
  94. package/lib/umd/locale/sk-SK.js +1 -1
  95. package/lib/umd/locale/vi-VN.js +1 -1
  96. package/lib/umd/locale/zh-CN.js +1 -1
  97. package/lib/umd/locale/zh-HK.js +1 -1
  98. package/lib/umd/locale/zh-TW.js +1 -1
  99. package/package.json +23 -21
@@ -6,6 +6,14 @@ export interface IUniverCollaborationClientUIConfig {
6
6
  * Override internal modules with custom implementations.
7
7
  */
8
8
  override?: DependencyOverride;
9
+ /**
10
+ * Whether to enable collaboration UI pieces that depend on Docs UI.
11
+ * Keep this enabled for Docs/Sheets, and disable it for non-Docs hosts
12
+ * such as Bases that only need the browser collaboration services.
13
+ *
14
+ * @default true
15
+ */
16
+ enableDocumentCollaborationUI?: boolean;
9
17
  /**
10
18
  * Whether to enable frontend log.
11
19
  * @default false
@@ -1,5 +1,5 @@
1
1
  import type { Observable } from 'rxjs';
2
- import type { IDocCollabCursor, ISheetCollabCursor } from '../../models/cursor';
2
+ import type { IDocCollabCursor, ISheetCollabCursor, ISlideCollabCursor } from '../../models/cursor';
3
3
  import { CollaborationSessionService } from '@univerjs-pro/collaboration-client';
4
4
  import { Injector, IUniverInstanceService, RxDisposable } from '@univerjs/core';
5
5
  /**
@@ -15,8 +15,9 @@ export declare class CollabCursorController extends RxDisposable {
15
15
  private readonly _entityInit$;
16
16
  constructor(_univerInstanceService: IUniverInstanceService, _injector: Injector, _collabSessionService: CollaborationSessionService);
17
17
  dispose(): void;
18
- getCollabCursors$(unitID: string): Observable<Map<string, ISheetCollabCursor> | Map<string, IDocCollabCursor>>;
18
+ getCollabCursors$(unitID: string): Observable<Map<string, ISheetCollabCursor> | Map<string, IDocCollabCursor> | Map<string, ISlideCollabCursor>>;
19
19
  private _init;
20
20
  private _startSheetCollabCursor;
21
21
  private _startDocCollabCursor;
22
+ private _startSlideCollabCursor;
22
23
  }
@@ -0,0 +1,34 @@
1
+ import type { ICollaborationUser } from '@univerjs-pro/collaboration';
2
+ import type { CollaborationSession } from '@univerjs-pro/collaboration-client';
3
+ import type { ISlideCollabCursor, ISlideCollabSelectionPayload } from '../../models/cursor';
4
+ import { MemberService } from '@univerjs-pro/collaboration-client';
5
+ import { ISlideDrawingStateService } from '@univerjs-pro/slides-ui';
6
+ import { RxDisposable } from '@univerjs/core';
7
+ import { ColorAssignService } from '../../services/color-assign/color-assign.service';
8
+ export declare function parseSlideCursorSelection(selection: string): ISlideCollabSelectionPayload | null;
9
+ /**
10
+ * Stores slide collaborator cursor presence without mutating local slide selection.
11
+ */
12
+ export declare class SlideCollabCursorEntity extends RxDisposable {
13
+ readonly unitID: string;
14
+ private readonly _session;
15
+ private readonly _colorAssignService;
16
+ private readonly _memberService;
17
+ private readonly _slideDrawingStateService;
18
+ private _online;
19
+ private _init;
20
+ private _cursorInfo$;
21
+ cursorInfo$: import("rxjs").Observable<Map<string, ISlideCollabCursor>>;
22
+ get cursorInfo(): Readonly<Map<string, ISlideCollabCursor>>;
23
+ private _roomMembers$;
24
+ roomMembers$: import("rxjs").Observable<ICollaborationUser[]>;
25
+ get roomMembers(): Readonly<ICollaborationUser[]>;
26
+ constructor(unitID: string, _session: CollaborationSession, _colorAssignService: ColorAssignService, _memberService: MemberService, _slideDrawingStateService: ISlideDrawingStateService);
27
+ dispose(): void;
28
+ init(): void;
29
+ private _onCursorUpdate;
30
+ private _onCursorDelete;
31
+ private _updateLocalCursor;
32
+ private _toggleOnline;
33
+ private _toggleOffline;
34
+ }
@@ -0,0 +1,21 @@
1
+ import type { SlideModel } from '@univerjs-pro/slides';
2
+ import type { IRenderContext, IRenderModule } from '@univerjs/engine-render';
3
+ import { RxDisposable, ThemeService } from '@univerjs/core';
4
+ import { CollabCursorController } from './collab-cursor.controller';
5
+ export declare class SlideCollabCursorRenderController extends RxDisposable implements IRenderModule {
6
+ private readonly _context;
7
+ private readonly _collabCursorController;
8
+ private readonly _themeService;
9
+ private _cursors;
10
+ private _renderScheduled;
11
+ private _isApplyingOverlays;
12
+ private _latestCursors;
13
+ constructor(_context: IRenderContext<SlideModel>, _collabCursorController: CollabCursorController, _themeService: ThemeService);
14
+ dispose(): void;
15
+ private _init;
16
+ private _scheduleRender;
17
+ private _render;
18
+ private _removeCollabCursors;
19
+ private _getSceneObjectByKey;
20
+ private _getObjectBounds;
21
+ }
@@ -1,6 +1,5 @@
1
1
  import { CollaborationController, CollaborationStatus } from '@univerjs-pro/collaboration-client';
2
2
  import { Disposable, LocaleService } from '@univerjs/core';
3
- import { DocStateChangeManagerService } from '@univerjs/docs-ui';
4
3
  import { IMessageService } from '@univerjs/ui';
5
4
  import { BehaviorSubject } from 'rxjs';
6
5
  import { DocTransformIMECacheService } from '../../services/ime-cache-transform/doc-transform-ime-cache.service';
@@ -11,7 +10,6 @@ import { DocTransformSelectionsService } from '../../services/text-selection/doc
11
10
  * This controller is responsible for monitoring the collaboration status of the currently focused unit.
12
11
  */
13
12
  export declare class CollaborationEntityUIController extends Disposable {
14
- private readonly _docStateChangeManagerService;
15
13
  private readonly _collaborationController;
16
14
  private readonly _docTransformIMECacheService;
17
15
  private readonly _docTransformStateCacheService;
@@ -20,6 +18,6 @@ export declare class CollaborationEntityUIController extends Disposable {
20
18
  protected readonly _messageService: IMessageService;
21
19
  protected readonly _localeService: LocaleService;
22
20
  protected readonly _status$: BehaviorSubject<CollaborationStatus>;
23
- constructor(_docStateChangeManagerService: DocStateChangeManagerService, _collaborationController: CollaborationController, _docTransformIMECacheService: DocTransformIMECacheService, _docTransformStateCacheService: DocTransformStateCacheService, _docTransformSelectionsService: DocTransformSelectionsService, _docSyncEditingCollabCursorService: DocSyncEditingCollabCursorService, _messageService: IMessageService, _localeService: LocaleService);
21
+ constructor(_collaborationController: CollaborationController, _docTransformIMECacheService: DocTransformIMECacheService, _docTransformStateCacheService: DocTransformStateCacheService, _docTransformSelectionsService: DocTransformSelectionsService, _docSyncEditingCollabCursorService: DocSyncEditingCollabCursorService, _messageService: IMessageService, _localeService: LocaleService);
24
22
  private _initEntityListener;
25
23
  }
@@ -1,6 +1,6 @@
1
1
  import './global.css';
2
+ export type { IUniverCollaborationClientUIConfig } from './config/config';
2
3
  export { DesktopCollaborationStatusDisplayController } from './controllers/collab-status/collab-status.controller';
3
- export type { IUniverCollaborationClientUIConfig } from './controllers/config.schema';
4
4
  export { CollaborationDataLoaderController } from './controllers/data-loader/data-loader.controller';
5
5
  export { UniverCollaborationClientUIPlugin } from './plugin';
6
6
  export { BrowserCollaborationSocketService } from './services/collaboration-socket/collaboration-socket.service';
@@ -8,4 +8,5 @@ export { RemoteUniscriptService } from './services/remote-uniscript/remote-unisc
8
8
  export { WebBrowserSingleActiveUnitService } from './services/single-active-unit/single-active-unit.service';
9
9
  export { IURLService } from './services/url/url.service';
10
10
  export { WebURLService } from './services/url/web-url.service';
11
- export { type ISheetCollabCursorShapeProps, SheetCollabCursorShape } from './views/shapes/sheet-collab-cursor.shape';
11
+ export { SheetCollabCursorShape } from './views/shapes/sheet-collab-cursor.shape';
12
+ export type { ISheetCollabCursorShapeProps } from './views/shapes/sheet-collab-cursor.shape';
@@ -0,0 +1,3 @@
1
+ import type { LocaleLeafKeys } from '@univerjs/core';
2
+ import type enUS from './en-US';
3
+ export type LocaleKey = LocaleLeafKeys<typeof enUS>;
@@ -34,3 +34,26 @@ export interface IDocCollabCursor {
34
34
  /** The deserialized ranges of collab cursor. */
35
35
  ranges: ITextRangeWithStyle[];
36
36
  }
37
+ export interface ISlideCollabSelectionPayload {
38
+ kind: 'slide-element-selection';
39
+ unitId: string;
40
+ subUnitId: string;
41
+ selectedIds: string[];
42
+ focusedId: string | null;
43
+ }
44
+ export interface ISlideCollabCursor {
45
+ /** Stroke color of this collab cursor */
46
+ color: string;
47
+ /** Displayed user name of this cursor */
48
+ name: string;
49
+ /** Slide unit ID */
50
+ unitId: string;
51
+ /** Slide page ID */
52
+ subUnitId: string;
53
+ /** Remote selected drawing IDs */
54
+ selectedIds: string[];
55
+ /** Remote focused drawing ID */
56
+ focusedId: string | null;
57
+ /** Serialized slide selection payload */
58
+ selection: string;
59
+ }
@@ -1,4 +1,4 @@
1
- import type { IUniverCollaborationClientUIConfig } from './controllers/config.schema';
1
+ import type { IUniverCollaborationClientUIConfig } from './config/config';
2
2
  import { IConfigService, Injector, Plugin } from '@univerjs/core';
3
3
  import { IRenderManagerService } from '@univerjs/engine-render';
4
4
  export declare class UniverCollaborationClientUIPlugin extends Plugin {
@@ -20,6 +20,7 @@ export declare class WebLocalCacheService extends Disposable implements ILocalCa
20
20
  dispose(): void;
21
21
  loadOfflineData(unitID: string): Promise<Nullable<IUnitCacheData>>;
22
22
  saveOfflineData(unitID: string, data: IUnitCacheData): Promise<boolean>;
23
+ backupOfflineData(unitID: string, reason: string): Promise<void>;
23
24
  updateOfflineData(unitID: string, type: UniverInstanceType, awaitingChangeset: Nullable<IChangeset>, pendingMutations: IMutationInfo[]): void;
24
25
  private _scheduleSaving;
25
26
  private _getSaveTimeout;
@@ -1,7 +1,7 @@
1
1
  import type { IChangeset } from '@univerjs-pro/collaboration';
2
2
  import { ITransformService } from '@univerjs-pro/collaboration';
3
3
  import { Injector } from '@univerjs/core';
4
- import { DocStateChangeManagerService } from '@univerjs/docs-ui';
4
+ import { DocStateChangeManagerService } from '@univerjs/docs';
5
5
  export declare class DocTransformStateCacheService {
6
6
  private readonly _injector;
7
7
  private readonly _transformService;
@@ -18,4 +18,4 @@ export interface IOnlineStatusProps {
18
18
  * <CollaborationStatusDisplay status$={statusObservable} />
19
19
  * ```
20
20
  */
21
- export declare function CollaborationStatusDisplay(props: Readonly<IOnlineStatusProps>): import("react/jsx-runtime").JSX.Element;
21
+ export declare function CollaborationStatusDisplay(props: Readonly<IOnlineStatusProps>): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type { IShapeProps } from '@univerjs/engine-render';
2
+ import type { ISlideCollabCursor } from '../../models/cursor';
3
+ import { Shape } from '@univerjs/engine-render';
4
+ export declare const SLIDE_COLLAB_CURSOR_ZINDEX = 5002;
5
+ export interface ISlideCollabCursorShapeProps extends IShapeProps, ISlideCollabCursor {
6
+ showText?: boolean;
7
+ }
8
+ export declare class SlideCollabCursorShape<T extends ISlideCollabCursorShapeProps = ISlideCollabCursorShapeProps> extends Shape<T> {
9
+ private _color;
10
+ private _name;
11
+ private _showText;
12
+ constructor(key?: string, props?: T);
13
+ setShapeProps(props: Partial<ISlideCollabCursorShapeProps>): void;
14
+ protected _draw(ctx: CanvasRenderingContext2D): void;
15
+ }
package/lib/umd/facade.js CHANGED
@@ -1 +1 @@
1
- (function(_0xe7bca9,_0xfa391d){var _0x3d9348=_0x103e,_0x49a20a=_0xe7bca9();while(!![]){try{var _0x5a732e=parseInt(_0x3d9348(0x17b))/0x1+-parseInt(_0x3d9348(0x185))/0x2*(-parseInt(_0x3d9348(0x17c))/0x3)+parseInt(_0x3d9348(0x18a))/0x4*(parseInt(_0x3d9348(0x189))/0x5)+parseInt(_0x3d9348(0x17d))/0x6*(-parseInt(_0x3d9348(0x18d))/0x7)+-parseInt(_0x3d9348(0x188))/0x8+-parseInt(_0x3d9348(0x186))/0x9+parseInt(_0x3d9348(0x182))/0xa;if(_0x5a732e===_0xfa391d)break;else _0x49a20a['push'](_0x49a20a['shift']());}catch(_0x4588c6){_0x49a20a['push'](_0x49a20a['shift']());}}}(_0x9453,0x250b4),function(_0x5a5ea9,_0x10d0b7){var _0x12aa1e=_0x103e;typeof exports==_0x12aa1e(0x18e)&&typeof module<'u'?_0x10d0b7(require('@univerjs-pro/collaboration-client-ui'),require('@univerjs/core/facade')):typeof define==_0x12aa1e(0x17f)&&define['amd']?define([_0x12aa1e(0x180),_0x12aa1e(0x18c)],_0x10d0b7):(_0x5a5ea9=typeof globalThis<'u'?globalThis:_0x5a5ea9||self,_0x10d0b7(_0x5a5ea9['UniverProCollaborationClientUi'],_0x5a5ea9[_0x12aa1e(0x183)]));}(this,function(_0x2f395c,_0x501d9d){var _0x5b4e76=_0x103e,_0x4f2427=class extends _0x501d9d[_0x5b4e76(0x18b)]{['runOnServer'](_0x469574,_0x3c8f88,..._0x4675b0){var _0x45c3c2=_0x5b4e76;return this[_0x45c3c2(0x187)][_0x45c3c2(0x181)](_0x2f395c['RemoteUniscriptService'])[_0x45c3c2(0x184)](_0x469574,_0x3c8f88,{},..._0x4675b0);}};_0x501d9d[_0x5b4e76(0x18b)][_0x5b4e76(0x17e)](_0x4f2427);}));function _0x103e(_0x228fc1,_0x1f1cc8){_0x228fc1=_0x228fc1-0x17b;var _0x945366=_0x9453();var _0x103ea3=_0x945366[_0x228fc1];return _0x103ea3;}function _0x9453(){var _0x5bb614=['138593UDbDwr','15etYUzr','6wBecBa','extend','function','@univerjs-pro/collaboration-client-ui','get','3341360GCcBzT','UniverCoreFacade','runOnServer','6162mRgTmM','582435LoOVvj','_injector','1554696oKvCeK','5gIJXqe','618556nXqgbY','FUniver','@univerjs/core/facade','1623923LlTZbX','object'];_0x9453=function(){return _0x5bb614;};return _0x9453();}
1
+ function _0xfa34(_0x40b8cd,_0x1f6dd3){_0x40b8cd=_0x40b8cd-0x109;var _0x1a42a5=_0x1a42();var _0xfa3462=_0x1a42a5[_0x40b8cd];return _0xfa3462;}function _0x1a42(){var _0x252458=['object','2661aGfqnV','28836zvRBuA','1115348JHyQRn','489551eARGBt','@univerjs/core/facade','runOnServer','UniverCoreFacade','1324VPoqsL','FUniver','5YJooYm','1829331zDkDdH','_injector','amd','901434ceLKBQ','14987380EgoreO','UniverProCollaborationClientUi','extend','function','1552aqlMSO'];_0x1a42=function(){return _0x252458;};return _0x1a42();}(function(_0x3daac8,_0x2e088a){var _0x5a365c=_0xfa34,_0x13af6c=_0x3daac8();while(!![]){try{var _0x3e9828=parseInt(_0x5a365c(0x116))/0x1+parseInt(_0x5a365c(0x115))/0x2+parseInt(_0x5a365c(0x113))/0x3*(parseInt(_0x5a365c(0x11a))/0x4)+-parseInt(_0x5a365c(0x11c))/0x5*(-parseInt(_0x5a365c(0x10c))/0x6)+-parseInt(_0x5a365c(0x109))/0x7+parseInt(_0x5a365c(0x111))/0x8*(parseInt(_0x5a365c(0x114))/0x9)+-parseInt(_0x5a365c(0x10d))/0xa;if(_0x3e9828===_0x2e088a)break;else _0x13af6c['push'](_0x13af6c['shift']());}catch(_0x254997){_0x13af6c['push'](_0x13af6c['shift']());}}}(_0x1a42,0x56136),function(_0x39d22a,_0x6d16eb){var _0x5d05df=_0xfa34;typeof exports==_0x5d05df(0x112)&&typeof module<'u'?_0x6d16eb(require('@univerjs-pro/collaboration-client-ui'),require('@univerjs/core/facade')):typeof define==_0x5d05df(0x110)&&define[_0x5d05df(0x10b)]?define(['@univerjs-pro/collaboration-client-ui',_0x5d05df(0x117)],_0x6d16eb):(_0x39d22a=typeof globalThis<'u'?globalThis:_0x39d22a||self,_0x6d16eb(_0x39d22a[_0x5d05df(0x10e)],_0x39d22a[_0x5d05df(0x119)]));}(this,function(_0x19c0ef,_0x12e620){var _0x84569b=_0xfa34,_0x4d5875=class extends _0x12e620[_0x84569b(0x11b)]{[_0x84569b(0x118)](_0x1941ec,_0x88b215,..._0x27d59f){var _0x18f77f=_0x84569b;return this[_0x18f77f(0x10a)]['get'](_0x19c0ef['RemoteUniscriptService'])[_0x18f77f(0x118)](_0x1941ec,_0x88b215,{},..._0x27d59f);}};_0x12e620[_0x84569b(0x11b)][_0x84569b(0x10f)](_0x4d5875);}));