@rpgjs/client 3.0.0-beta.2 → 3.0.0-beta.5
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.
- package/lib/KeyboardControls.d.ts +6 -2
- package/lib/KeyboardControls.js +87 -40
- package/lib/KeyboardControls.js.map +1 -1
- package/lib/Renderer.d.ts +4 -2
- package/lib/Renderer.js +13 -2
- package/lib/Renderer.js.map +1 -1
- package/lib/Resources.d.ts +22 -1
- package/lib/Resources.js +22 -2
- package/lib/Resources.js.map +1 -1
- package/lib/RpgClient.d.ts +15 -4
- package/lib/RpgClientEngine.d.ts +62 -2
- package/lib/RpgClientEngine.js +163 -84
- package/lib/RpgClientEngine.js.map +1 -1
- package/lib/RpgGui.d.ts +11 -9
- package/lib/RpgGui.js +46 -5
- package/lib/RpgGui.js.map +1 -1
- package/lib/Scene/Map.d.ts +64 -2
- package/lib/Scene/Map.js +90 -8
- package/lib/Scene/Map.js.map +1 -1
- package/lib/Scene/Scene.d.ts +28 -17
- package/lib/Scene/Scene.js +30 -17
- package/lib/Scene/Scene.js.map +1 -1
- package/lib/Sound/Sounds.d.ts +1 -1
- package/lib/Sound/Sounds.js +2 -2
- package/lib/Sound/Sounds.js.map +1 -1
- package/lib/Sprite/Character.d.ts +19 -2
- package/lib/Sprite/Character.js +33 -14
- package/lib/Sprite/Character.js.map +1 -1
- package/lib/Sprite/Spritesheets.d.ts +1 -1
- package/lib/Sprite/Spritesheets.js +2 -2
- package/lib/Sprite/Spritesheets.js.map +1 -1
- package/lib/Tilemap/Tile.d.ts +1 -0
- package/lib/Tilemap/Tile.js +1 -1
- package/lib/Tilemap/Tile.js.map +1 -1
- package/lib/Tilemap/TileLayer.d.ts +4 -0
- package/lib/Tilemap/TileLayer.js +53 -7
- package/lib/Tilemap/TileLayer.js.map +1 -1
- package/lib/Tilemap/TileSet.js +4 -0
- package/lib/Tilemap/TileSet.js.map +1 -1
- package/lib/Tilemap/index.d.ts +3 -0
- package/lib/Tilemap/index.js +13 -3
- package/lib/Tilemap/index.js.map +1 -1
- package/lib/clientEntryPoint.js +4 -2
- package/lib/clientEntryPoint.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +6 -3
- package/lib/index.js.map +1 -1
- package/package.json +6 -5
package/lib/RpgClientEngine.js
CHANGED
|
@@ -25,7 +25,7 @@ const common_1 = require("@rpgjs/common");
|
|
|
25
25
|
const lodash_merge_1 = __importDefault(require("lodash.merge"));
|
|
26
26
|
const snapshot_interpolation_1 = require("@geckos.io/snapshot-interpolation");
|
|
27
27
|
const RpgSound_1 = require("./Sound/RpgSound");
|
|
28
|
-
const SI = new snapshot_interpolation_1.SnapshotInterpolation(
|
|
28
|
+
const SI = new snapshot_interpolation_1.SnapshotInterpolation(15);
|
|
29
29
|
class RpgClientEngine {
|
|
30
30
|
constructor(gameEngine, options) {
|
|
31
31
|
this.gameEngine = gameEngine;
|
|
@@ -39,12 +39,23 @@ class RpgClientEngine {
|
|
|
39
39
|
* */
|
|
40
40
|
this.globalConfig = {};
|
|
41
41
|
this._objects = new rxjs_1.BehaviorSubject({});
|
|
42
|
+
this._tick = new rxjs_1.BehaviorSubject({
|
|
43
|
+
timestamp: -1,
|
|
44
|
+
deltaTime: 0,
|
|
45
|
+
frame: 0
|
|
46
|
+
});
|
|
42
47
|
this.keyChange = new rxjs_1.Subject();
|
|
43
48
|
this.hasBeenDisconnected = false;
|
|
44
49
|
this.playerVault = new snapshot_interpolation_1.Vault();
|
|
45
50
|
this.isTeleported = false;
|
|
46
51
|
this.lastTimestamp = 0;
|
|
47
|
-
this.
|
|
52
|
+
this.frame = 0;
|
|
53
|
+
this.clientFrames = new Map();
|
|
54
|
+
this.serverFrames = new Map();
|
|
55
|
+
this.tick.subscribe(({ timestamp, deltaTime }) => {
|
|
56
|
+
if (timestamp != -1)
|
|
57
|
+
this.step(timestamp, deltaTime);
|
|
58
|
+
});
|
|
48
59
|
}
|
|
49
60
|
_init() {
|
|
50
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -67,8 +78,8 @@ class RpgClientEngine {
|
|
|
67
78
|
this.gameEngine.standalone = this.options['standalone'];
|
|
68
79
|
this.gameEngine.renderer = this.renderer;
|
|
69
80
|
this.gameEngine.clientEngine = this;
|
|
70
|
-
|
|
71
|
-
|
|
81
|
+
this.addSpriteSheet(this.renderer.options.spritesheets);
|
|
82
|
+
this.addSound(this.renderer.options.sounds);
|
|
72
83
|
if (typeof __RPGJS_PRODUCTION__ != 'undefined' && __RPGJS_PRODUCTION__) {
|
|
73
84
|
if ('serviceWorker' in navigator) {
|
|
74
85
|
window.addEventListener('load', () => {
|
|
@@ -76,12 +87,58 @@ class RpgClientEngine {
|
|
|
76
87
|
});
|
|
77
88
|
}
|
|
78
89
|
}
|
|
79
|
-
else {
|
|
80
|
-
console.log('> RPGJS is in development mode <');
|
|
81
|
-
}
|
|
82
90
|
this.controls = new KeyboardControls_1.KeyboardControls(this);
|
|
83
91
|
});
|
|
84
92
|
}
|
|
93
|
+
addResource(resourceClass, cb) {
|
|
94
|
+
let array = resourceClass;
|
|
95
|
+
if (!common_1.Utils.isArray(resourceClass)) {
|
|
96
|
+
array = [resourceClass];
|
|
97
|
+
}
|
|
98
|
+
cb(array, this);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Listen to each frame
|
|
102
|
+
*
|
|
103
|
+
* @prop {Observable<{ timestamp: number, deltaTime: number, frame: number }>} tick
|
|
104
|
+
* @readonly
|
|
105
|
+
* @since 3.0.0-beta.5
|
|
106
|
+
* @memberof RpgClientEngine
|
|
107
|
+
* @example
|
|
108
|
+
*
|
|
109
|
+
* ```ts
|
|
110
|
+
* client.tick.subscribe(({ timestamp, deltaTime, frame }) => {
|
|
111
|
+
*
|
|
112
|
+
* })
|
|
113
|
+
* ```
|
|
114
|
+
* */
|
|
115
|
+
get tick() {
|
|
116
|
+
return this._tick.asObservable();
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Adds Spritesheet classes
|
|
120
|
+
*
|
|
121
|
+
* @title Add Spritesheet
|
|
122
|
+
* @method addSpriteSheet(spritesheetClass|spritesheetClass[])
|
|
123
|
+
* @returns {void}
|
|
124
|
+
* @since 3.0.0-beta.3
|
|
125
|
+
* @memberof RpgClientEngine
|
|
126
|
+
*/
|
|
127
|
+
addSpriteSheet(spritesheetClass) {
|
|
128
|
+
this.addResource(spritesheetClass, Spritesheets_1._initSpritesheet);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Adds Sound classes
|
|
132
|
+
*
|
|
133
|
+
* @title Add Sound
|
|
134
|
+
* @method addSpriteSheet(soundClass|soundClass[])
|
|
135
|
+
* @returns {void}
|
|
136
|
+
* @since 3.0.0-beta.3
|
|
137
|
+
* @memberof RpgClientEngine
|
|
138
|
+
*/
|
|
139
|
+
addSound(soundClass) {
|
|
140
|
+
this.addResource(soundClass, Sounds_1._initSound);
|
|
141
|
+
}
|
|
85
142
|
/**
|
|
86
143
|
* Starts the client side and connects to the server
|
|
87
144
|
*
|
|
@@ -90,18 +147,12 @@ class RpgClientEngine {
|
|
|
90
147
|
* @returns {Promise< void >}
|
|
91
148
|
* @memberof RpgClientEngine
|
|
92
149
|
*/
|
|
93
|
-
start(
|
|
150
|
+
start(options = {
|
|
151
|
+
renderLoop: true
|
|
152
|
+
}) {
|
|
94
153
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
PIXI.utils.skipHello();
|
|
95
155
|
yield this._init();
|
|
96
|
-
let frame = 0;
|
|
97
|
-
let renderLoop = (timestamp) => {
|
|
98
|
-
this.lastTimestamp = this.lastTimestamp || timestamp;
|
|
99
|
-
this.renderer.draw(timestamp, timestamp - this.lastTimestamp, frame);
|
|
100
|
-
this.lastTimestamp = timestamp;
|
|
101
|
-
this.step(timestamp, 0);
|
|
102
|
-
frame++;
|
|
103
|
-
window.requestAnimationFrame(renderLoop);
|
|
104
|
-
};
|
|
105
156
|
yield this.renderer.init();
|
|
106
157
|
this.gameEngine.start({
|
|
107
158
|
getObjects: this.getObjects.bind(this),
|
|
@@ -113,10 +164,16 @@ class RpgClientEngine {
|
|
|
113
164
|
},
|
|
114
165
|
removeObject: this.removeObject.bind(this),
|
|
115
166
|
getObjectsOfGroup: () => {
|
|
116
|
-
return Object.
|
|
167
|
+
return Object.assign(Object.assign({}, this.getObjects()), this.gameEngine.events);
|
|
117
168
|
}
|
|
118
169
|
});
|
|
119
|
-
|
|
170
|
+
if (options.renderLoop) {
|
|
171
|
+
const loop = (timestamp) => {
|
|
172
|
+
this.nextFrame(timestamp);
|
|
173
|
+
window.requestAnimationFrame(loop);
|
|
174
|
+
};
|
|
175
|
+
window.requestAnimationFrame(loop);
|
|
176
|
+
}
|
|
120
177
|
common_1.RpgPlugin.emit(common_1.HookClient.Start, this)
|
|
121
178
|
.then((ret) => {
|
|
122
179
|
const hasFalseValue = ret.findIndex(el => el === false) != -1;
|
|
@@ -125,6 +182,25 @@ class RpgClientEngine {
|
|
|
125
182
|
});
|
|
126
183
|
});
|
|
127
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Display the next frame. Useful for unit tests
|
|
187
|
+
*
|
|
188
|
+
* @title Next Frame
|
|
189
|
+
* @since 3.0.0-beta.5
|
|
190
|
+
* @param {number} timestamp Indicate the timestamp of the frame
|
|
191
|
+
* @method nextFrame()
|
|
192
|
+
* @memberof RpgClientEngine
|
|
193
|
+
*/
|
|
194
|
+
nextFrame(timestamp) {
|
|
195
|
+
this.lastTimestamp = this.lastTimestamp || timestamp;
|
|
196
|
+
this._tick.next({
|
|
197
|
+
timestamp,
|
|
198
|
+
deltaTime: timestamp - this.lastTimestamp,
|
|
199
|
+
frame: this.frame
|
|
200
|
+
});
|
|
201
|
+
this.lastTimestamp = timestamp;
|
|
202
|
+
this.frame++;
|
|
203
|
+
}
|
|
128
204
|
/**
|
|
129
205
|
* Read objects synchronized with the server
|
|
130
206
|
*
|
|
@@ -191,7 +267,7 @@ class RpgClientEngine {
|
|
|
191
267
|
if (!localEvent &&
|
|
192
268
|
(key == 'position' ||
|
|
193
269
|
(key == 'direction' && paramsChanged && paramsChanged.position))) {
|
|
194
|
-
if (
|
|
270
|
+
if (isMe())
|
|
195
271
|
continue;
|
|
196
272
|
}
|
|
197
273
|
logic[key] = params[key];
|
|
@@ -218,62 +294,43 @@ class RpgClientEngine {
|
|
|
218
294
|
return logic;
|
|
219
295
|
}
|
|
220
296
|
sendInput(actionName) {
|
|
221
|
-
this.pressInput = true;
|
|
222
297
|
const inputEvent = { input: actionName, playerId: this.gameEngine.playerId };
|
|
223
|
-
this.gameEngine.
|
|
298
|
+
const player = this.gameEngine.world.getObject(this.gameEngine.playerId);
|
|
299
|
+
player.pendingMove.push(inputEvent);
|
|
300
|
+
this.gameEngine.processInput(this.gameEngine.playerId);
|
|
301
|
+
this.clientFrames.set(this.frame, {
|
|
302
|
+
data: player.position,
|
|
303
|
+
time: Date.now()
|
|
304
|
+
});
|
|
224
305
|
common_1.RpgPlugin.emit(common_1.HookClient.SendInput, [this, inputEvent], true);
|
|
225
|
-
if (this.socket)
|
|
226
|
-
this.socket.emit('move',
|
|
306
|
+
if (this.socket) {
|
|
307
|
+
this.socket.emit('move', { input: actionName, frame: this.frame });
|
|
308
|
+
}
|
|
227
309
|
}
|
|
228
310
|
serverReconciliation() {
|
|
229
311
|
const { playerId } = this.gameEngine;
|
|
230
312
|
const player = this.gameEngine.world.getObject(playerId);
|
|
231
313
|
if (player) {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
const playerState = playerSnapshot.state[0];
|
|
239
|
-
if (playerState) {
|
|
240
|
-
const offsetX = playerState.x - serverPos.x;
|
|
241
|
-
const offsetY = playerState.y - serverPos.y;
|
|
242
|
-
const correction = 60;
|
|
243
|
-
player.position.x -= offsetX / correction;
|
|
244
|
-
player.position.y -= offsetY / correction;
|
|
314
|
+
this.serverFrames.forEach((serverData, frame) => {
|
|
315
|
+
const { data: serverPos, time: serverTime } = serverData;
|
|
316
|
+
const client = this.clientFrames.get(frame);
|
|
317
|
+
if (!client || (client && client.data.x != serverPos.x || client.data.y != serverPos.y)) {
|
|
318
|
+
player.position.x = serverPos.x;
|
|
319
|
+
player.position.y = serverPos.y;
|
|
245
320
|
}
|
|
246
|
-
|
|
321
|
+
// if (client) {
|
|
322
|
+
// const { time: clientTime } = client
|
|
323
|
+
// console.log(serverTime - clientTime)
|
|
324
|
+
// }
|
|
325
|
+
this.serverFrames.delete(frame);
|
|
326
|
+
this.clientFrames.delete(frame);
|
|
327
|
+
});
|
|
247
328
|
}
|
|
248
329
|
}
|
|
249
330
|
step(t, dt) {
|
|
250
|
-
this.
|
|
331
|
+
this.controls.preStep();
|
|
251
332
|
common_1.RpgPlugin.emit(common_1.HookClient.Step, [this, t, dt], true);
|
|
252
|
-
|
|
253
|
-
const player = this.gameEngine.world.getObject(playerId);
|
|
254
|
-
if (player && this.isTeleported && this.pressInput) {
|
|
255
|
-
const { x, y } = player.position;
|
|
256
|
-
this.playerVault.add(SI.snapshot.create([{ id: playerId, x, y }]));
|
|
257
|
-
this.serverReconciliation();
|
|
258
|
-
}
|
|
259
|
-
const snapshot = SI.calcInterpolation('x y');
|
|
260
|
-
if (snapshot) {
|
|
261
|
-
const { state } = snapshot;
|
|
262
|
-
state.forEach(s => {
|
|
263
|
-
const { id, x, y, direction } = s;
|
|
264
|
-
const player = this.gameEngine.world.getObject(id);
|
|
265
|
-
if (player) {
|
|
266
|
-
if (id === this.gameEngine.playerId)
|
|
267
|
-
return;
|
|
268
|
-
player.position.x = Math.round(x);
|
|
269
|
-
player.position.y = Math.round(y);
|
|
270
|
-
player.direction = direction;
|
|
271
|
-
}
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
else {
|
|
275
|
-
this.pressInput = false;
|
|
276
|
-
}
|
|
333
|
+
this.serverReconciliation();
|
|
277
334
|
}
|
|
278
335
|
/**
|
|
279
336
|
*Connect to the server
|
|
@@ -311,6 +368,10 @@ class RpgClientEngine {
|
|
|
311
368
|
this.socket.on('loadScene', ({ name, data }) => {
|
|
312
369
|
this.renderer.loadScene(name, data);
|
|
313
370
|
});
|
|
371
|
+
this.socket.on('changeTile', ({ tiles, x, y }) => {
|
|
372
|
+
const scene = this.renderer.getScene();
|
|
373
|
+
scene.changeTile(x, y, tiles);
|
|
374
|
+
});
|
|
314
375
|
this.socket.on('callMethod', ({ objectId, params, name }) => {
|
|
315
376
|
const scene = this.renderer.getScene();
|
|
316
377
|
const sprite = scene.getPlayer(objectId);
|
|
@@ -329,22 +390,23 @@ class RpgClientEngine {
|
|
|
329
390
|
}
|
|
330
391
|
});
|
|
331
392
|
let lastRoomId = '';
|
|
332
|
-
sync_client_1.World.listen(this.socket)
|
|
393
|
+
this.subscriptionWorld = sync_client_1.World.listen(this.socket)
|
|
333
394
|
.value
|
|
334
395
|
.subscribe((val) => {
|
|
335
396
|
if (!val.data) {
|
|
336
397
|
return;
|
|
337
398
|
}
|
|
399
|
+
const partialRoom = val.partial;
|
|
338
400
|
if (val.roomId != lastRoomId) {
|
|
339
401
|
this.resetObjects();
|
|
340
402
|
lastRoomId = val.roomId;
|
|
341
403
|
this.isTeleported = false;
|
|
342
404
|
}
|
|
343
|
-
const snapshot = {
|
|
344
|
-
id:
|
|
405
|
+
/*const snapshot: any = {
|
|
406
|
+
id: Utils.generateUID(),
|
|
345
407
|
time: val.time,
|
|
346
408
|
state: []
|
|
347
|
-
}
|
|
409
|
+
}*/
|
|
348
410
|
const change = (prop, root = val, localEvent = false) => {
|
|
349
411
|
const list = root.data[prop];
|
|
350
412
|
const partial = val.partial[prop];
|
|
@@ -357,22 +419,29 @@ class RpgClientEngine {
|
|
|
357
419
|
if (!obj)
|
|
358
420
|
continue;
|
|
359
421
|
obj.type = prop == 'users' ? common_1.PlayerType.Player : common_1.PlayerType.Event;
|
|
360
|
-
if (prop == 'users' && this.gameEngine.playerId == key
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
422
|
+
if (prop == 'users' && this.gameEngine.playerId == key) {
|
|
423
|
+
if (obj.events) {
|
|
424
|
+
change('events', {
|
|
425
|
+
data: obj,
|
|
426
|
+
partial: paramsChanged,
|
|
427
|
+
time: val.time,
|
|
428
|
+
roomId: val.roomId
|
|
429
|
+
}, true);
|
|
430
|
+
}
|
|
431
|
+
if ((paramsChanged === null || paramsChanged === void 0 ? void 0 : paramsChanged.position) && (partialRoom === null || partialRoom === void 0 ? void 0 : partialRoom.frame)) {
|
|
432
|
+
this.serverFrames.set(partialRoom.frame, {
|
|
433
|
+
data: paramsChanged.position,
|
|
434
|
+
time: Date.now()
|
|
435
|
+
});
|
|
436
|
+
}
|
|
367
437
|
}
|
|
368
|
-
if (!localEvent)
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
});
|
|
438
|
+
// if (!localEvent) snapshot.state.push({
|
|
439
|
+
// id: key,
|
|
440
|
+
// x: obj.position.x,
|
|
441
|
+
// y: obj.position.y,
|
|
442
|
+
// z: obj.position.z,
|
|
443
|
+
// direction: obj.direction
|
|
444
|
+
// })
|
|
376
445
|
this.updateObject({
|
|
377
446
|
playerId: key,
|
|
378
447
|
params: obj,
|
|
@@ -387,7 +456,7 @@ class RpgClientEngine {
|
|
|
387
456
|
if (scene) {
|
|
388
457
|
scene.update(val);
|
|
389
458
|
}
|
|
390
|
-
SI.snapshot.add(snapshot)
|
|
459
|
+
//SI.snapshot.add(snapshot)
|
|
391
460
|
});
|
|
392
461
|
this.socket.on('disconnect', (reason) => {
|
|
393
462
|
if (RpgGui_1.RpgGui.exists(common_1.PrebuiltGui.Disconnect))
|
|
@@ -400,6 +469,9 @@ class RpgClientEngine {
|
|
|
400
469
|
this.socket.connection();
|
|
401
470
|
}
|
|
402
471
|
}
|
|
472
|
+
get world() {
|
|
473
|
+
return sync_client_1.World;
|
|
474
|
+
}
|
|
403
475
|
// shortcuts
|
|
404
476
|
/**
|
|
405
477
|
* VueJS Application instance
|
|
@@ -435,6 +507,13 @@ class RpgClientEngine {
|
|
|
435
507
|
get scene() {
|
|
436
508
|
return this.renderer.getScene();
|
|
437
509
|
}
|
|
510
|
+
reset() {
|
|
511
|
+
this.subscriptionWorld.unsubscribe();
|
|
512
|
+
this.world.reset();
|
|
513
|
+
Spritesheets_1.spritesheets.clear();
|
|
514
|
+
Sounds_1.sounds.clear();
|
|
515
|
+
PIXI.Loader.shared.reset();
|
|
516
|
+
}
|
|
438
517
|
}
|
|
439
518
|
exports.RpgClientEngine = RpgClientEngine;
|
|
440
519
|
//# sourceMappingURL=RpgClientEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpgClientEngine.js","sourceRoot":"","sources":["../src/RpgClientEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yDAA+E;AAC/E,0DAAiC;AACjC,wDAAwD;AACxD,2CAA2C;AAC3C,4CAA2C;AAC3C,oDAA0C;AAC1C,+BAA2D;AAC3D,qCAAiC;AACjC,0CAOsB;AACtB,gEAAgC;AAChC,8EAAgF;AAChF,+CAA2C;AAE3C,MAAM,EAAE,GAAG,IAAI,8CAAqB,CAAC,EAAE,CAAC,CAAA;AASxC,MAAa,eAAe;IAmDxB,YAAmB,UAAU,EAAU,OAAO;QAA3B,eAAU,GAAV,UAAU,CAAA;QAAU,YAAO,GAAP,OAAO,CAAA;QA/B7C;;;;;;YAMI;QACE,iBAAY,GAAQ,EAAE,CAAA;QAYrB,aAAQ,GAEX,IAAI,sBAAe,CAAC,EAAE,CAAC,CAAA;QACrB,cAAS,GAAoB,IAAI,cAAO,EAAE,CAAA;QACzC,wBAAmB,GAAY,KAAK,CAAA;QACpC,gBAAW,GAAG,IAAI,8BAAK,EAAE,CAAA;QACzB,iBAAY,GAAY,KAAK,CAAA;QAG7B,kBAAa,GAAW,CAAC,CAAA;QACzB,eAAU,GAAY,KAAK,CAAA;IAEe,CAAC;IAErC,KAAK;;YACf,IAAI,CAAC,QAAQ,GAAG,IAAI,kBAAQ,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAA;YAE3B,MAAM,mBAAmB,GAAG,CAAO,QAAgB,EAAE,IAAY,EAAE,EAAE;gBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;gBACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;oBACjB,GAAG,cAAK,CAAC,SAAS,CAAC,MAAM,kBAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE;oBAClE,GAAG,QAAQ;iBACd,CAAA;YACL,CAAC,CAAA,CAAA;YAED,MAAM,mBAAmB,CAAC,mBAAU,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA;YACpE,MAAM,mBAAmB,CAAC,mBAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACnD,MAAM,mBAAmB,CAAC,mBAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAExD,IAAI,CAAC,QAAQ,CAAC,OAAO,mBACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,SAAS,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,EAAE,EACP,YAAY,EAAE,EAAE,EAChB,MAAM,EAAE,EAAE,IACP,IAAI,CAAC,OAAO,CAClB,CAAA;YAED,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAA;YAE9C,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,IAAI,kBAAS,CAAA;YAC7E,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACvD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YACxC,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAA;YAElC,+BAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;YACpD,mBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAExC,IAAI,OAAO,oBAAoB,IAAI,WAAW,IAAI,oBAAoB,EAAE;gBACpE,IAAI,eAAe,IAAI,SAAS,EAAE;oBAC9B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;wBACjC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;oBAC1D,CAAC,CAAC,CAAA;iBACL;aACJ;iBACI;gBACD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA;aAClD;YAED,IAAI,CAAC,QAAQ,GAAG,IAAI,mCAAgB,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,KAAK;;YACP,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;YAClB,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,UAAU,GAAG,CAAC,SAAS,EAAE,EAAE;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,SAAS,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;gBACpE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;gBACvB,KAAK,EAAE,CAAA;gBACP,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;YAC5C,CAAC,CAAC;YACF,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;YAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBACtC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;oBACd,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;oBAC9B,IAAI,CAAC,GAAG;wBAAE,OAAO,IAAI,CAAA;oBACrB,OAAO,GAAG,CAAC,MAAM,CAAA;gBACrB,CAAC;gBACD,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1C,iBAAiB,EAAE,GAAG,EAAE;oBACpB,OAAQ,MAAM,CAAC,MAAM,iCACd,IAAI,CAAC,UAAU,EAAE,GACjB,IAAI,CAAC,UAAU,CAAC,MAAM,EAC3B,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;gBAClC,CAAC;aACJ,CAAC,CAAA;YACF,MAAM,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;YACxC,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,KAAK,EAAE,IAAI,CAAC;iBACjC,IAAI,CAAC,CAAC,GAAc,EAAE,EAAE;gBACrB,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAE,CAAC,CAAA;gBAC9D,IAAI,CAAC,aAAa;oBAAE,IAAI,CAAC,UAAU,EAAE,CAAA;YACzC,CAAC,CAAC,CAAA;QACV,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACH,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAA;IACvC,CAAC;IAEO,UAAU;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC9B,CAAC;IAEO,SAAS,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,OAAO,GAAG,CAAA;IACd,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1B,CAAC;IAEO,YAAY,CAAC,EAAO;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChC,IAAI,KAAK,EAAE;YACP,MAAM,OAAO,qBAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAE,CAAA,CAAC,QAAQ;YACnD,OAAO,OAAO,CAAC,EAAE,CAAC,CAAA;YAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,OAAO,IAAI,CAAA;SACd;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAEO,YAAY,CAAC,GAAG;QACpB,MAAM,EACF,QAAQ,EAAE,EAAE,EACZ,MAAM,EACN,UAAU,EACV,aAAa,EAChB,GAAG,GAAG,CAAA;QACP,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAA;QACjD,IAAI,KAAK,CAAA;QACT,IAAI,UAAU,GAAG,KAAK,CAAA;QACtB,IAAI,UAAU,EAAE;YACZ,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAClC,IAAI,CAAC,KAAK,EAAE;gBACR,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAe,EAAE,KAAK,CAAC,CAAA;gBACxD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG;oBACzB,MAAM,EAAE,KAAK;iBAChB,CAAA;aACJ;iBACI;gBACD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;aACvB;SACJ;aACI;YACD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;SAC9C;QACD,IAAI,CAAC,KAAK,EAAE;YACR,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,wBAAe,EAAE,EAAE,CAAC,CAAA;SACzD;QACD,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QAClD,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;YACpB,IAAI,CAAC,UAAU;gBACX,CAAC,GAAG,IAAI,UAAU;oBAClB,CAAC,GAAG,IAAI,WAAW,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE;gBAClE,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAQ;aACvD;YACD,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;SAC3B;QACD,IAAI,aAAa,EAAE;YACf,IAAI,aAAa,CAAC,UAAU,EAAE;gBAC1B,UAAU,GAAG,IAAI,CAAA;gBACjB,KAAK,CAAC,QAAQ,qBAAQ,MAAM,CAAC,QAAQ,CAAE,CAAA,CAAC,QAAQ;aACnD;YACD,IAAI,CAAC,KAAK,CAAC,aAAa;gBAAE,KAAK,CAAC,aAAa,GAAG,EAAE,CAAA;YAClD,KAAK,CAAC,aAAa,GAAG,sBAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;SAClE;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,iCACX,IAAI,CAAC,QAAQ,CAAC,KAAK,GACnB;YACC,CAAC,EAAE,CAAC,EAAE;gBACF,MAAM,EAAE,KAAK;gBACb,aAAa;aAChB;SACJ,EACH,CAAA;QACF,IAAI,UAAU,IAAI,IAAI,EAAE,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA;YACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;SAClC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,SAAS,CAAC,UAAkB;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,MAAM,UAAU,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAA;QAC5E,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClE,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACzD,CAAC;IAEO,oBAAoB;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,MAAM,EAAE;YACV,MAAM,cAAc,GAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;YAE1C,IAAI,CAAC,cAAc;gBAAE,OAAM;YAC3B,MAAM,cAAc,GAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAE3E,IAAI,cAAc,IAAI,cAAc,EAAE;gBACpC,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;gBACxE,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC3C,IAAI,WAAW,EAAE;oBACb,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;oBAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;oBAC3C,MAAM,UAAU,GAAG,EAAE,CAAA;oBACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,GAAG,UAAU,CAAA;oBACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,GAAG,UAAU,CAAA;iBAC5C;aACF;SACF;IACH,CAAC;IAEK,IAAI,CAAC,CAAC,EAAE,EAAE;QACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACvC,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;QACpD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,MAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;YAChD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;YAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAChB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAA;YACD,IAAI,CAAC,oBAAoB,EAAE,CAAA;SAC9B;QACD,MAAM,QAAQ,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAC5C,IAAI,QAAQ,EAAE;YACV,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;YAC1B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACd,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAA;gBACjC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBAClD,IAAI,MAAM,EAAE;oBACR,IAAI,EAAE,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ;wBAAE,OAAM;oBAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAA;oBAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,CAAA;oBAC3C,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;iBAC/B;YACL,CAAC,CAAC,CAAA;SACL;aACI;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;SAC1B;IACL,CAAC;IAED;;;;;;;OAOG;IACH,UAAU;QACN,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAA;QAEtC,IAAI,CAAC,UAAU,EAAE;YACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;SAC1B;aACI;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAA;SACxB;QAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC3B,IAAI,eAAM,CAAC,MAAM,CAAC,oBAAW,CAAC,UAAU,CAAC;gBAAE,eAAM,CAAC,IAAI,CAAC,oBAAW,CAAC,UAAU,CAAC,CAAA;YAC9E,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YAC/D,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC1B,OAAO;gBACP,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAA;gBACxB,cAAc;aACjB;YACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,WAAW,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAA;QACnD,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAQ,EAAE,EAAE;YACzC,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC3C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;YACxC,QAAQ,IAAI,EAAE;gBACV,KAAK,eAAe;oBAChB,KAAK,CAAC,aAAa,CAAC;wBAChB,QAAQ,EAAE,MAAM;wBAChB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;wBAClB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;wBACxB,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;qBAC5B,CAAC,CAAA;oBACN,MAAK;gBACL,KAAK,WAAW;oBACZ,mBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;oBAClC,MAAK;aACR;QACL,CAAC,CAAC,CAAA;QAEF,IAAI,UAAU,GAAG,EAAE,CAAA;QAEnB,mBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aACpB,KAAK;aACL,SAAS,CAAC,CAAC,GAA8D,EAAE,EAAE;YAE9E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACX,OAAM;aACT;YAED,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU,EAAE;gBAC1B,IAAI,CAAC,YAAY,EAAE,CAAA;gBACnB,UAAU,GAAG,GAAG,CAAC,MAAM,CAAA;gBACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;aAC5B;YAED,MAAM,QAAQ,GAAQ;gBAClB,EAAE,EAAE,cAAK,CAAC,WAAW,EAAE;gBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,EAAE;aACZ,CAAA;YAED,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBACjC,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE;oBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;oBACrB,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;oBACxD,IAAI,GAAG,IAAI,IAAI,EAAE;wBACb,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;qBACzB;oBACD,IAAI,CAAC,GAAG;wBAAE,SAAQ;oBAClB,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAU,CAAC,KAAK,CAAA;oBACjE,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;wBACnE,MAAM,CAAC,QAAQ,EAAE;4BACb,IAAI,EAAE,GAAG;4BACT,OAAO,EAAE,aAAa;4BACtB,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,MAAM,EAAE,GAAG,CAAC,MAAM;yBACrB,EAAE,IAAI,CAAC,CAAA;qBACV;oBACD,IAAI,CAAC,UAAU;wBAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;4BACjC,EAAE,EAAE,GAAG;4BACP,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACjB,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACjB,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACjB,SAAS,EAAE,GAAG,CAAC,SAAS;yBAC3B,CAAC,CAAA;oBACF,IAAI,CAAC,YAAY,CAAC;wBACd,QAAQ,EAAE,GAAG;wBACb,MAAM,EAAE,GAAG;wBACX,UAAU;wBACV,aAAa;qBAChB,CAAC,CAAA;iBACL;YACL,CAAC,CAAA;YAED,MAAM,CAAC,OAAO,CAAC,CAAA;YACf,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;YAEtC,IAAI,KAAK,EAAE;gBACP,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;aACpB;YAED,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YAC5C,IAAI,eAAM,CAAC,MAAM,CAAC,oBAAW,CAAC,UAAU,CAAC;gBAAE,eAAM,CAAC,OAAO,CAAC,oBAAW,CAAC,UAAU,CAAC,CAAA;YACjF,kBAAS,CAAC,IAAI,CAAC,mBAAU,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;YACxE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,eAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE9B,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;SAC3B;IACL,CAAC;IAED,YAAY;IAEX;;;;;;;;QAQI;IACL,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAA;IAC5B,CAAC;IAED;;;;;;;;SAQK;IACL,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;IAC3B,CAAC;IAED;;;;;;SAMK;IACL,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;IACnC,CAAC;CACJ;AA5eD,0CA4eC"}
|
|
1
|
+
{"version":3,"file":"RpgClientEngine.js","sourceRoot":"","sources":["../src/RpgClientEngine.ts"],"names":[],"mappings":"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"}
|
package/lib/RpgGui.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
import { RpgClientEngine } from './index';
|
|
2
|
+
interface GuiOptions {
|
|
3
|
+
data: any;
|
|
4
|
+
attachToSprite: boolean;
|
|
5
|
+
display: boolean;
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
1
8
|
declare class Gui {
|
|
2
9
|
private renderer;
|
|
3
10
|
private gameEngine;
|
|
@@ -6,7 +13,8 @@ declare class Gui {
|
|
|
6
13
|
private vm;
|
|
7
14
|
private socket;
|
|
8
15
|
private gui;
|
|
9
|
-
_initalize(clientEngine:
|
|
16
|
+
_initalize(clientEngine: RpgClientEngine): void;
|
|
17
|
+
update(logicObjects: any): void;
|
|
10
18
|
_setSocket(socket: any): void;
|
|
11
19
|
_setGui(id: any, obj: any): void;
|
|
12
20
|
/**
|
|
@@ -25,10 +33,7 @@ declare class Gui {
|
|
|
25
33
|
* @returns { { data: any, display: boolean } }
|
|
26
34
|
* @memberof RpgGui
|
|
27
35
|
*/
|
|
28
|
-
get(id: any):
|
|
29
|
-
data: any;
|
|
30
|
-
display: boolean;
|
|
31
|
-
};
|
|
36
|
+
get(id: any): GuiOptions;
|
|
32
37
|
/**
|
|
33
38
|
* Get all GUI. You retrieve GUI data and information whether it is displayed or not
|
|
34
39
|
*
|
|
@@ -45,10 +50,7 @@ declare class Gui {
|
|
|
45
50
|
* @memberof RpgGui
|
|
46
51
|
*/
|
|
47
52
|
getAll(): {
|
|
48
|
-
[guiName: string]:
|
|
49
|
-
data: any;
|
|
50
|
-
display: boolean;
|
|
51
|
-
};
|
|
53
|
+
[guiName: string]: GuiOptions;
|
|
52
54
|
};
|
|
53
55
|
/**
|
|
54
56
|
* Checks if the GUI exists RpgClient's gui array
|
package/lib/RpgGui.js
CHANGED
|
@@ -26,14 +26,24 @@ class Gui {
|
|
|
26
26
|
@pointercancel="propagate('pointercancel', $event)"
|
|
27
27
|
@pointerup="propagate('pointerup', $event)"
|
|
28
28
|
>
|
|
29
|
-
<template v-for="
|
|
30
|
-
<component :is="name" v-bind="ui.data" v-if="ui.display"></component>
|
|
31
|
-
</template>
|
|
29
|
+
<template v-for="ui in fixedGui">
|
|
30
|
+
<component :is="ui.name" v-bind="ui.data" v-if="ui.display"></component>
|
|
31
|
+
</template>
|
|
32
|
+
<div id="tooltips" style="position: absolute; top: 0; left: 0;">
|
|
33
|
+
<template v-for="ui in attachedGui">
|
|
34
|
+
<template v-if="ui.display">
|
|
35
|
+
<div v-for="tooltip of tooltipFilter(tooltips, ui)" :style="tooltipPosition(tooltip.position)">
|
|
36
|
+
<component :is="ui.name" v-bind="{ ...ui.data, spriteData: tooltip }" :ref="ui.name"></component>
|
|
37
|
+
</div>
|
|
38
|
+
</template>
|
|
39
|
+
</template>
|
|
40
|
+
</div>
|
|
32
41
|
</div>
|
|
33
42
|
`,
|
|
34
43
|
data() {
|
|
35
44
|
return {
|
|
36
|
-
gui
|
|
45
|
+
gui,
|
|
46
|
+
tooltips: []
|
|
37
47
|
};
|
|
38
48
|
},
|
|
39
49
|
provide: () => {
|
|
@@ -305,9 +315,29 @@ class Gui {
|
|
|
305
315
|
rpgEngine: this.clientEngine
|
|
306
316
|
};
|
|
307
317
|
},
|
|
318
|
+
computed: {
|
|
319
|
+
fixedGui() {
|
|
320
|
+
return Object.values(this.gui).filter((gui) => !gui.attachToSprite);
|
|
321
|
+
},
|
|
322
|
+
attachedGui() {
|
|
323
|
+
return Object.values(this.gui).filter((gui) => gui.attachToSprite);
|
|
324
|
+
}
|
|
325
|
+
},
|
|
308
326
|
methods: {
|
|
309
327
|
propagate: (type, event) => {
|
|
310
328
|
this.renderer.renderer.view.dispatchEvent(new MouseEvent(type, event));
|
|
329
|
+
},
|
|
330
|
+
tooltipPosition: (position) => {
|
|
331
|
+
const scene = this.renderer.getScene();
|
|
332
|
+
const viewport = scene.viewport;
|
|
333
|
+
const left = position.x - viewport.left;
|
|
334
|
+
const top = position.y - viewport.top;
|
|
335
|
+
return {
|
|
336
|
+
transform: `translate(${left}px,${top}px)`
|
|
337
|
+
};
|
|
338
|
+
},
|
|
339
|
+
tooltipFilter(sprites, ui) {
|
|
340
|
+
return sprites.filter(tooltip => tooltip.guiDisplay);
|
|
311
341
|
}
|
|
312
342
|
}
|
|
313
343
|
});
|
|
@@ -315,7 +345,9 @@ class Gui {
|
|
|
315
345
|
this.app.component(ui.name, ui);
|
|
316
346
|
this.gui[ui.name] = {
|
|
317
347
|
data: ui.data,
|
|
318
|
-
|
|
348
|
+
attachToSprite: ui.rpgAttachToSprite,
|
|
349
|
+
display: false,
|
|
350
|
+
name: ui.name
|
|
319
351
|
};
|
|
320
352
|
}
|
|
321
353
|
this.vm = this.app.mount(selectorGui);
|
|
@@ -323,11 +355,20 @@ class Gui {
|
|
|
323
355
|
this.renderer.app = this.app;
|
|
324
356
|
this.renderer.vm = this.vm;
|
|
325
357
|
}
|
|
358
|
+
update(logicObjects) {
|
|
359
|
+
this.vm.tooltips = Object.values(logicObjects).map((object) => object.object);
|
|
360
|
+
}
|
|
326
361
|
_setSocket(socket) {
|
|
327
362
|
this.socket = socket;
|
|
328
363
|
this.socket.on('gui.open', ({ guiId, data }) => {
|
|
329
364
|
this.display(guiId, data);
|
|
330
365
|
});
|
|
366
|
+
this.socket.on('gui.tooltip', ({ players, display }) => {
|
|
367
|
+
for (let playerId of players) {
|
|
368
|
+
const sprite = this.renderer.getScene().getSprite(playerId);
|
|
369
|
+
sprite.guiDisplay = display;
|
|
370
|
+
}
|
|
371
|
+
});
|
|
331
372
|
this.socket.on('gui.exit', (guiId) => {
|
|
332
373
|
this.hide(guiId);
|
|
333
374
|
});
|
package/lib/RpgGui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpgGui.js","sourceRoot":"","sources":["../src/RpgGui.ts"],"names":[],"mappings":";;;AAAA,6BAA+B;
|
|
1
|
+
{"version":3,"file":"RpgGui.js","sourceRoot":"","sources":["../src/RpgGui.ts"],"names":[],"mappings":";;;AAAA,6BAA+B;AAE/B,8CAAoC;AACpC,+CAA2C;AAC3C,mCAA2E;AAS3E,MAAM,GAAG;IAAT;QAOY,QAAG,GAEP,EAAE,CAAA;IAufV,CAAC;IArfG,UAAU,CAAC,YAA6B;QAEpC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;QACrC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAA;QAEzC,MAAM,IAAI,GAAG,IAAI,CAAA;QACjB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;QAEvC,IAAI,CAAC,GAAG,GAAG,eAAS,CAAC;YACjB,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;aAsBT;YACD,IAAI;gBACA,OAAO;oBACH,GAAG;oBACH,QAAQ,EAAE,EAAE;iBACf,CAAA;YACL,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACV,OAAO;oBACH;;;;;;;;;;;;;;;yBAeK;oBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAEnD;;;;;;;;;;;;;;;wBAeI;oBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA+BK;oBACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;oBAErC;;;;;;;;;;;;;;;;;;;;;;yBAsBK;oBACL,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;yBACtC,IAAI,CACD,eAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC3D;oBACL,aAAa,EAAE,IAAI,CAAC,UAAU;oBAE9B;;;;;;;;;;;;;;;;;;;;;;yBAsBK;oBACL,WAAW,CAAC,IAAY,EAAE,IAAK;wBAC3B,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAA;wBACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;4BACzB,KAAK;4BACL,IAAI;yBACP,CAAC,CAAA;oBACN,CAAC;oBAED;;;;;;;;;;;;;;;;;;;;;;;yBAuBK;oBACL,iBAAiB,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,OAAY,EAAE,EAAE,EAAE;wBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;4BAChC,KAAK;4BACL,IAAI;4BACJ,IAAI;yBACP,CAAC,CAAA;oBACN,CAAC;oBAED;;;;;;;;;;;;;;;;;;;;yBAoBK;oBACL,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;yBACnC,IAAI,CACD,eAAG,CAAC,IAAI,CAAC,EAAE;wBACP,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;wBAC3D,OAAO;4BACH,SAAS,EAAE,IAAI;4BACf,OAAO;yBACV,CAAA;oBACL,CAAC,CAAC,CACL;oBAEL;;;;;;;;;;;;;;;yBAeK;oBACL,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;oBAE5B;;;;;;;;;;;;;;yBAcK;oBACL,MAAM,EAAE,IAAI;oBAEZ;;;;;;;;;;;;;;yBAcK;oBACL,QAAQ,EAAE,mBAAQ;oBAElB;;;;;;;;;;;;;;;yBAeK;oBACL,WAAW,EAAE,mBAAW;oBAExB;;;;;;;;;;;;;;yBAcK;oBACL,SAAS,EAAE,IAAI,CAAC,YAAY;iBAC/B,CAAA;YACL,CAAC;YACD,QAAQ,EAAE;gBACN,QAAQ;oBACJ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBAC5E,CAAC;gBACD,WAAW;oBACP,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;gBAC3E,CAAC;aACJ;YACD,OAAO,EAAE;gBACL,SAAS,EAAE,CAAC,IAAY,EAAE,KAAK,EAAE,EAAE;oBAC/B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBAC1E,CAAC;gBACD,eAAe,EAAE,CAAC,QAAkC,EAAE,EAAE;oBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;oBACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;oBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAA;oBACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAA;oBACrC,OAAO;wBACH,SAAS,EAAE,aAAa,IAAI,MAAM,GAAG,KAAK;qBAC7C,CAAA;gBACL,CAAC;gBACD,aAAa,CAAC,OAA0B,EAAE,EAAc;oBACpD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;gBACxD,CAAC;aACJ;SACJ,CAAC,CAAA;QAEF,KAAK,IAAI,EAAE,IAAI,GAAG,EAAE;YAChB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;gBAChB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,cAAc,EAAE,EAAE,CAAC,iBAAiB;gBACpC,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,EAAE,CAAC,IAAI;aAChB,CAAA;SACJ;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACrC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,YAAY;QACf,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACtF,CAAC;IAED,UAAU,CAAC,MAAM;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,KAAK,IAAI,QAAQ,IAAI,OAAO,EAAE;gBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;gBAC3D,MAAM,CAAC,UAAU,GAAG,OAAO,CAAA;aAC9B;QACL,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,GAAG;QACX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC3B,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,iBAAiB,EAAE,4FAA4F,CAAA;SACxH;QACD,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;SACzB;QACD,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;IAChD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,GAAG,CAAC,EAAE;QACF,IAAI,OAAO,EAAE,IAAI,QAAQ,EAAE;YACvB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAA;SACf;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACvB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM;QACF,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,EAAE;QACL,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACb,OAAO,EAAE,IAAI;YACb,IAAI;SACP,CAAC,CAAA;IACN,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACb,OAAO,EAAE,KAAK;SACjB,CAAC,CAAA;IACN,CAAC;CACJ;AAEY,QAAA,MAAM,GAAG,IAAI,GAAG,EAAE,CAAA"}
|