@phystack/hub-client 4.4.52 → 4.4.53

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/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { Socket, SocketOptions, ManagerOptions } from 'socket.io-client';
2
- import { TwinStatusEnum, ScreenTwinReportedProperties, TwinResponse, EdgeTwinResponse, EdgeTwinDesiredPropertiesResponse, Instance, PeripheralInstance } from './types/twin.types';
2
+ import { TwinStatusEnum, ScreenTwinReportedProperties, TwinResponse, EdgeTwinResponse, EdgeTwinDesiredPropertiesResponse, Instance, PeripheralInstance, IPeripheralTwinInstance, TwinMessageResult } from './types/twin.types';
3
3
  import { PhygridDataChannel, PhygridMediaStream } from './types/webrtc.types';
4
4
  import { SignalsService } from './services/signals.service';
5
5
  import { DataRequestTypeEnum, InitSignalPayload } from './types/signal.types';
6
+ export * from './types';
6
7
  declare global {
7
8
  interface Window {
8
9
  RTCVideoSource?: any;
@@ -18,7 +19,7 @@ declare global {
18
19
  }
19
20
  var RTCVideoSource: any;
20
21
  }
21
- interface EventPayload<T = any> {
22
+ export interface EventPayload<T = any> {
22
23
  twinId?: string;
23
24
  sourceTwinId?: string;
24
25
  sourceDeviceId?: string;
@@ -40,8 +41,8 @@ export declare class PhyHubClient {
40
41
  private subscribedTwins;
41
42
  private twinMessageListeners;
42
43
  private instances;
43
- private peripheralInstances;
44
44
  private twinUpdateListeners;
45
+ private twinInstancesRegistry;
45
46
  private readonly EVENTS;
46
47
  constructor(params?: {
47
48
  instanceId?: string;
@@ -71,7 +72,7 @@ export declare class PhyHubClient {
71
72
  getInstance(): Promise<Instance>;
72
73
  getEdgeInstance(): Promise<Instance>;
73
74
  getScreenInstance(): Promise<Instance>;
74
- getPeripheralInstance(peripheralTwinId: string): Promise<PeripheralInstance>;
75
+ getPeripheralInstance(peripheralTwinId: string): Promise<IPeripheralTwinInstance | null>;
75
76
  private getGridApp;
76
77
  getSettings(): Promise<Partial<EdgeTwinDesiredPropertiesResponse>>;
77
78
  getEdgeSettings(): Promise<Partial<EdgeTwinDesiredPropertiesResponse>>;
@@ -83,13 +84,13 @@ export declare class PhyHubClient {
83
84
  private processEmitQueue;
84
85
  onTwinUpdate(targetTwinId: string, callback: (twin: TwinResponse) => void): void;
85
86
  offTwinUpdate(targetTwinId: string, callback: (twin: TwinResponse) => void): boolean;
86
- sendTwinMessage(targetTwinId: string, data: any, callback?: (response: any) => void): Promise<unknown>;
87
+ sendTwinMessage(targetTwinId: string, data: any, callback?: (response: any) => void): Promise<TwinMessageResult | undefined>;
87
88
  onTwinMessage(targetTwinId: string, callback: (message: any) => void): Promise<void>;
88
89
  offTwinMessage(targetTwinId: string, callback: (message: any) => void): boolean;
89
90
  removeMessageListener(twinId: string, callback: (message: any) => void): void;
90
91
  subscribeTwin(targetTwinId: string, callback?: (response: any) => void): Promise<unknown>;
91
92
  getTwinById(twinId: string): Promise<TwinResponse>;
92
- private updateReportedProperties;
93
+ updateReportedProperties(twinId: string, reportedProperties: Record<string, any>): Promise<TwinResponse>;
93
94
  }
94
95
  export declare const connectPhyClient: (params?: {
95
96
  instanceId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
17
  exports.connectPhyClient = exports.PhyHubClient = void 0;
4
18
  const twin_types_1 = require("./types/twin.types");
@@ -7,6 +21,8 @@ const signals_service_1 = require("./services/signals.service");
7
21
  const signal_types_1 = require("./types/signal.types");
8
22
  const datachannel_1 = require("./services/webrtc/datachannel");
9
23
  const mediastream_1 = require("./services/webrtc/mediastream");
24
+ const twin_registry_1 = require("./twin-registry");
25
+ __exportStar(require("./types"), exports);
10
26
  (async function initializeWebRTCGlobals() {
11
27
  if (typeof window !== 'undefined')
12
28
  return;
@@ -50,8 +66,8 @@ class PhyHubClient {
50
66
  this.subscribedTwins = new Set();
51
67
  this.twinMessageListeners = {};
52
68
  this.instances = new Map();
53
- this.peripheralInstances = new Map();
54
69
  this.twinUpdateListeners = {};
70
+ this.twinInstancesRegistry = null;
55
71
  this.EVENTS = {
56
72
  PING: 'ping',
57
73
  PONG: 'pong',
@@ -247,21 +263,26 @@ class PhyHubClient {
247
263
  this.socket.on(this.EVENTS.DISCONNECT, () => {
248
264
  this.socketConnected = false;
249
265
  });
250
- this.socket.on(this.EVENTS.TWIN_MESSAGE, (payload) => {
266
+ this.socket.on(this.EVENTS.TWIN_MESSAGE, (payload, callback) => {
267
+ let result = null;
251
268
  if (payload.twinId && payload.data) {
252
269
  const listeners = this.twinMessageListeners[payload.twinId];
253
- if (listeners) {
254
- listeners.forEach(callback => {
270
+ if (listeners === null || listeners === void 0 ? void 0 : listeners.size) {
271
+ listeners.forEach(listener => {
255
272
  try {
256
- callback(payload);
273
+ listener(payload);
274
+ result = { status: twin_types_1.TwinMessageResultStatus.Success, message: 'Action completed' };
257
275
  }
258
276
  catch (error) {
259
277
  console.error(`Error in twin message listener for ${payload.twinId}:`, error);
278
+ result = { status: twin_types_1.TwinMessageResultStatus.Error, message: (error === null || error === void 0 ? void 0 : error.message) || 'An error occurred' };
260
279
  }
261
280
  });
262
281
  }
263
282
  else {
283
+ result = { status: twin_types_1.TwinMessageResultStatus.Warning, message: `No listeners found for twin ${payload.twinId} on this socket` };
264
284
  }
285
+ callback(result);
265
286
  }
266
287
  else {
267
288
  }
@@ -297,6 +318,7 @@ class PhyHubClient {
297
318
  if (!PhyHubClient.instance) {
298
319
  PhyHubClient.instance = new PhyHubClient(params);
299
320
  await PhyHubClient.instance.initializeConnection();
321
+ PhyHubClient.instance.twinInstancesRegistry = new twin_registry_1.TwinRegistry(PhyHubClient.instance);
300
322
  console.info(`connect(): Connection to phyhub initialized`);
301
323
  }
302
324
  return PhyHubClient.instance;
@@ -513,211 +535,10 @@ class PhyHubClient {
513
535
  return this.getInstance();
514
536
  }
515
537
  async getPeripheralInstance(peripheralTwinId) {
516
- if (this.peripheralInstances.has(peripheralTwinId)) {
517
- return this.peripheralInstances.get(peripheralTwinId);
518
- }
519
- let peripheralInstance;
520
- const edgeInstance = await this.getInstance();
521
- if (!edgeInstance) {
522
- console.error('Edge instance not found');
523
- throw new Error('Edge instance not found');
538
+ if (!this.twinInstancesRegistry) {
539
+ throw new Error('PhyHubClient instance is not initialized yet');
524
540
  }
525
- const peripheralTwin = await this.getTwinById(peripheralTwinId);
526
- if (!peripheralTwin) {
527
- console.error(`Peripheral twin with id ${peripheralTwinId} not found`);
528
- throw new Error(`Peripheral twin with id ${peripheralTwinId} not found`);
529
- }
530
- if (peripheralTwin.type !== twin_types_1.TwinTypeEnum.Peripheral) {
531
- throw new Error(`Twin ${peripheralTwinId} is not a peripheral twin`);
532
- }
533
- await this.subscribeTwin(peripheralTwinId);
534
- const instanceTypePrefix = 'peripheralInstance';
535
- const peripheralTwinEmit = (type, payload) => {
536
- const messagePayload = {
537
- type: `${instanceTypePrefix}:${peripheralTwin.id}:${type}`,
538
- sourceTwinId: peripheralTwin.id,
539
- sourceDeviceId: edgeInstance.deviceId,
540
- data: payload,
541
- };
542
- this.sendTwinMessage(peripheralTwin.id, messagePayload);
543
- };
544
- const peripheralTwinOn = (type, callback) => {
545
- console.log(`Setting up listener for peripheral ${peripheralTwinId} event: ${type}`);
546
- const onMessage = (payload) => {
547
- var _a, _b;
548
- const messageType = ((_a = payload.data) === null || _a === void 0 ? void 0 : _a.type) || payload.type;
549
- if (messageType === `${instanceTypePrefix}:${peripheralTwin.id}:${type}`) {
550
- callback(((_b = payload.data) === null || _b === void 0 ? void 0 : _b.data) || payload.data);
551
- }
552
- else {
553
- }
554
- };
555
- this.onTwinMessage(peripheralTwin.id, onMessage);
556
- };
557
- const peripheralTwinTo = (targetTwinId) => ({
558
- emit: (type, payload) => {
559
- const messagePayload = {
560
- type: `${instanceTypePrefix}:${peripheralTwin.id}:${type}`,
561
- sourceTwinId: edgeInstance.id,
562
- sourceDeviceId: edgeInstance.deviceId,
563
- data: payload,
564
- };
565
- this.sendTwinMessage(targetTwinId, messagePayload);
566
- },
567
- });
568
- const getDataChannel = async () => {
569
- return await this.getDataChannel(peripheralTwin.id);
570
- };
571
- const onDataChannel = async (callback) => {
572
- return await this.onDataChannel(peripheralTwin.id, callback);
573
- };
574
- const getMediaStream = async () => {
575
- if (!peripheralInstance) {
576
- throw new Error('Peripheral instance not initialized');
577
- }
578
- return await this.getMediaStream(peripheralInstance.id);
579
- };
580
- const onMediaStream = async (callback) => {
581
- if (!peripheralInstance) {
582
- throw new Error('Peripheral instance not initialized');
583
- }
584
- await this.onMediaStream(peripheralInstance.id, callback);
585
- };
586
- const updateReported = async (properties) => {
587
- const newReported = {
588
- ...properties,
589
- };
590
- const result = await this.updateReportedProperties(peripheralTwin.id, newReported);
591
- Object.assign(peripheralInstance, result);
592
- return result;
593
- };
594
- const onUpdateReported = (callback) => {
595
- let previousProperties = undefined;
596
- console.log(`[onUpdateReported] Registering handler for all reported properties`);
597
- this.onTwinUpdate(peripheralTwin.id, (twin) => {
598
- console.log(`[onUpdateReported] Twin update received for ${peripheralTwin.id}`);
599
- if (twin.id !== peripheralTwin.id) {
600
- console.log(`[onUpdateReported] Twin ID mismatch: ${twin.id} !== ${peripheralTwin.id}`);
601
- return;
602
- }
603
- const reported = twin.properties.reported;
604
- if (reported) {
605
- if (previousProperties === undefined) {
606
- console.log(`[onUpdateReported] First update - calling callback`);
607
- previousProperties = JSON.parse(JSON.stringify(reported));
608
- callback(reported);
609
- return;
610
- }
611
- const currentPropertiesStr = JSON.stringify(reported);
612
- const previousPropertiesStr = JSON.stringify(previousProperties);
613
- console.log(`[onUpdateReported] Current (end): ...${currentPropertiesStr.substring(currentPropertiesStr.length - 100)}`);
614
- console.log(`[onUpdateReported] Previous (end): ...${previousPropertiesStr.substring(previousPropertiesStr.length - 100)}`);
615
- if (currentPropertiesStr.length !== previousPropertiesStr.length) {
616
- console.log(`[onUpdateReported] String length changed: ${currentPropertiesStr.length} vs ${previousPropertiesStr.length}`);
617
- }
618
- const hasChanged = currentPropertiesStr !== previousPropertiesStr;
619
- console.log(`[onUpdateReported] Properties comparison:`, hasChanged ? 'CHANGED' : 'UNCHANGED');
620
- if (hasChanged) {
621
- previousProperties = JSON.parse(currentPropertiesStr);
622
- console.log(`[onUpdateReported] Calling callback with updated reported properties`);
623
- callback(reported);
624
- }
625
- else {
626
- console.log(`[onUpdateReported] No change detected in properties`);
627
- }
628
- }
629
- else {
630
- console.log(`[onUpdateReported] No reported properties found`);
631
- }
632
- });
633
- };
634
- const onUpdateDesired = (callback) => {
635
- let previousProperties = undefined;
636
- console.log(`[onUpdateDesired] Registering handler for all desired properties`);
637
- this.onTwinUpdate(peripheralTwin.id, (twin) => {
638
- console.log(`[onUpdateDesired] Twin update received for ${peripheralTwin.id}`);
639
- if (twin.id !== peripheralTwin.id) {
640
- console.log(`[onUpdateDesired] Twin ID mismatch: ${twin.id} !== ${peripheralTwin.id}`);
641
- return;
642
- }
643
- const desired = twin.properties.desired;
644
- if (desired) {
645
- if (previousProperties === undefined) {
646
- console.log(`[onUpdateDesired] First update - calling callback`);
647
- previousProperties = JSON.parse(JSON.stringify(desired));
648
- callback(desired);
649
- return;
650
- }
651
- const currentPropertiesStr = JSON.stringify(desired);
652
- const previousPropertiesStr = JSON.stringify(previousProperties);
653
- console.log(`[onUpdateDesired] Current (end): ...${currentPropertiesStr.substring(currentPropertiesStr.length - 100)}`);
654
- console.log(`[onUpdateDesired] Previous (end): ...${previousPropertiesStr.substring(previousPropertiesStr.length - 100)}`);
655
- if (currentPropertiesStr.length !== previousPropertiesStr.length) {
656
- console.log(`[onUpdateDesired] String length changed: ${currentPropertiesStr.length} vs ${previousPropertiesStr.length}`);
657
- }
658
- const hasChanged = currentPropertiesStr !== previousPropertiesStr;
659
- console.log(`[onUpdateDesired] Properties comparison:`, hasChanged ? 'CHANGED' : 'UNCHANGED');
660
- if (hasChanged) {
661
- previousProperties = JSON.parse(currentPropertiesStr);
662
- console.log(`[onUpdateDesired] Calling callback with updated desired properties`);
663
- callback(desired);
664
- }
665
- else {
666
- console.log(`[onUpdateDesired] No change detected in properties`);
667
- }
668
- }
669
- else {
670
- console.log(`[onUpdateDesired] No desired properties found`);
671
- }
672
- });
673
- };
674
- const remove = async () => {
675
- const payload = {
676
- data: { twinId: peripheralTwin.id },
677
- };
678
- return new Promise((resolve, reject) => {
679
- var _a;
680
- this.emit('deletePeripheralTwin', payload, (response) => {
681
- const { twin } = response;
682
- resolve(twin);
683
- });
684
- (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on('error', (error) => {
685
- reject(error);
686
- });
687
- });
688
- };
689
- const updateDesired = async (properties) => {
690
- const payload = {
691
- twinId: peripheralTwin.id,
692
- data: properties,
693
- };
694
- return new Promise((resolve, reject) => {
695
- var _a;
696
- this.emit('updatePeripheralTwinDesired', payload, (response) => {
697
- const { twin } = response;
698
- resolve(twin || {});
699
- });
700
- (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on('error', (error) => {
701
- reject(error);
702
- });
703
- });
704
- };
705
- peripheralInstance = {
706
- ...peripheralTwin,
707
- emit: peripheralTwinEmit,
708
- on: peripheralTwinOn,
709
- to: peripheralTwinTo,
710
- updateReported,
711
- updateDesired,
712
- onUpdateReported,
713
- onUpdateDesired,
714
- remove,
715
- getDataChannel,
716
- onDataChannel,
717
- getMediaStream,
718
- onMediaStream,
719
- };
720
- this.peripheralInstances.set(peripheralTwinId, peripheralInstance);
541
+ const peripheralInstance = await this.twinInstancesRegistry.getPeripheralInstance(peripheralTwinId);
721
542
  return peripheralInstance;
722
543
  }
723
544
  getGridApp() {
@@ -879,8 +700,26 @@ class PhyHubClient {
879
700
  else {
880
701
  return new Promise((resolve, reject) => {
881
702
  var _a;
703
+ const twinMessageTimeout = 10 * 1000;
704
+ const twinMessageTimeoutId = setTimeout(() => {
705
+ var _a;
706
+ if (this.socket) {
707
+ (_a = this.socket) === null || _a === void 0 ? void 0 : _a.off(payload.data.type);
708
+ }
709
+ reject({ status: twin_types_1.TwinMessageResultStatus.Error, message: `twinMessage failed to complete in specified time (${twinMessageTimeout} ms)` });
710
+ }, twinMessageTimeout);
711
+ if (this.socket) {
712
+ this.socket.on(payload.data.type, (response) => {
713
+ var _a;
714
+ if (response && response.status !== twin_types_1.TwinMessageResultStatus.Warning) {
715
+ clearTimeout(twinMessageTimeoutId);
716
+ (_a = this.socket) === null || _a === void 0 ? void 0 : _a.off(payload.data.type);
717
+ resolve(response);
718
+ }
719
+ });
720
+ }
882
721
  this.emit(this.EVENTS.TWIN_MESSAGE, payload, (response) => {
883
- resolve(response);
722
+ console.log('sendTwinMessage promise received response:', response);
884
723
  });
885
724
  (_a = this.socket) === null || _a === void 0 ? void 0 : _a.on('error', (error) => {
886
725
  console.error('sendTwinMessage socket error:', error);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { PhygridDataChannel, PhygridMediaStream, PhyHubClient } from ".";
2
+ import { Instance, TwinResponse } from "./types/twin.types";
3
+ export declare class PeripheralTwinInstance {
4
+ phyHubClient: PhyHubClient;
5
+ twinId: string;
6
+ edgeInstance: Instance | null;
7
+ peripheralTwinResponse: TwinResponse | null;
8
+ private instanceTypePrefix;
9
+ constructor(phyHubClient: PhyHubClient, twinId: string);
10
+ initialize(): Promise<void>;
11
+ emit(eventType: string, payload: any): Promise<import(".").TwinMessageResult | undefined>;
12
+ sendEvent(eventType: string, payload: any): Promise<import(".").TwinMessageResult | undefined>;
13
+ private peripheralTwinEmit;
14
+ on(eventType: string, callback: (message: any) => void): void;
15
+ onEvent(eventType: string, callback: (message: any) => void): void;
16
+ private peripheralTwinOn;
17
+ to(targetTwinId: string): {
18
+ emit: (eventType: string, payload: any) => Promise<import(".").TwinMessageResult | undefined>;
19
+ };
20
+ getDataChannel(): Promise<PhygridDataChannel | undefined>;
21
+ onDataChannel(callback: (dc: PhygridDataChannel) => void): Promise<void>;
22
+ getMediaStream(): Promise<{
23
+ stream: PhygridMediaStream;
24
+ close: () => void;
25
+ } | undefined>;
26
+ onMediaStream(callback: (stream: PhygridMediaStream) => void): Promise<void>;
27
+ updateReported(properties: Record<string, any>): Promise<TwinResponse>;
28
+ onUpdateReported(callback: (reportedProperties: Record<string, any>) => void): void;
29
+ updateDesired(properties: Record<string, any>): Promise<TwinResponse>;
30
+ onUpdateDesired(callback: (desiredProperties: Record<string, any>) => void): void;
31
+ remove(): Promise<TwinResponse | void>;
32
+ }
33
+ //# sourceMappingURL=peripheral-twin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peripheral-twin.d.ts","sourceRoot":"","sources":["../src/peripheral-twin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAgB,MAAM,oBAAoB,CAAC;AAE1E,qBAAa,sBAAsB;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,QAAQ,GAAG,IAAI,CAAQ;IACrC,sBAAsB,EAAE,YAAY,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,kBAAkB,CAAwB;gBAEtC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IAMhD,UAAU;IAyBV,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;IAIpC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;YAIjC,kBAAkB;IAiBhC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAItD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI;IAI3D,OAAO,CAAC,gBAAgB;IAsBxB,EAAE,CAAC,YAAY,EAAE,MAAM;0BAEK,MAAM,WAAW,GAAG;;IAiB1C,cAAc;IASd,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,kBAAkB,KAAK,IAAI;IASxD,cAAc;;;;IASd,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgBpD,gBAAgB,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;IAsEtE,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAwB3E,eAAe,CAAC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;IAsEpE,MAAM,IAAK,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;CAuB9C"}