websocket-mqtt 0.0.4 → 0.0.6
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/base.d.ts +3 -3
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +5 -5
- package/dist/connection.d.ts +4 -5
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +10 -6
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/packets/decode.d.ts +1 -1
- package/dist/packets/decode.d.ts.map +1 -1
- package/dist/packets/decode.js +2 -2
- package/dist/packets/encode.d.ts +1 -1
- package/dist/packets/encode.d.ts.map +1 -1
- package/dist/packets/encode.js +2 -2
- package/dist/packets/index.d.ts +4 -4
- package/dist/packets/index.d.ts.map +1 -1
- package/dist/packets/index.js +4 -4
- package/dist/packets/types.d.ts +1 -1
- package/dist/packets/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/base.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Connection, ConnectionOptions } from "./connection";
|
|
2
|
-
import { type
|
|
3
|
-
import { type
|
|
1
|
+
import { Connection, ConnectionOptions } from "./connection.js";
|
|
2
|
+
import { type ConnackPacket, type PublishPacket, type QoSLevel } from "./packets/index.js";
|
|
3
|
+
import { type EventEmitter } from "./utils/events.js";
|
|
4
4
|
export type MqttEvents = {
|
|
5
5
|
connect: [packet: ConnackPacket];
|
|
6
6
|
message: [topic: string, payload: Uint8Array, packet: PublishPacket];
|
package/dist/base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,aAAa,EAElB,KAAK,QAAQ,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG1E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACrE,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,iBAAiB,CAAC;AAEtB,MAAM,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG;IAClD,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,OAAO,EAAE,CACP,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACzC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,WAAW,KAAG,UAqIjD,CAAC"}
|
package/dist/base.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { createConnection } from "./connection";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { createConnection, } from "./connection.js";
|
|
2
|
+
import { PacketType, QoS, } from "./packets/index.js";
|
|
3
|
+
import { toUint8Array } from "./utils/buffer.js";
|
|
4
|
+
import { createEventEmitter } from "./utils/events.js";
|
|
5
|
+
import { createLogger } from "./utils/logger.js";
|
|
6
6
|
export const createMqtt = (options) => {
|
|
7
7
|
const pending = {
|
|
8
8
|
sub: new Map(),
|
package/dist/connection.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { QoSLevel } from ".";
|
|
2
|
-
import { LogOptions } from "./utils/logger";
|
|
3
|
-
import { ConnackPacket, IncomingPacket, OutgoingPacket, PublishPacket } from "./packets";
|
|
1
|
+
import { ConnackPacket, IncomingPacket, OutgoingPacket, PublishPacket, QoSLevel } from "./packets/index.js";
|
|
2
|
+
import { type LogOptions } from "./utils/logger.js";
|
|
4
3
|
export type ConnectionOptions = {
|
|
5
4
|
url: string;
|
|
6
5
|
clientId?: string;
|
|
@@ -33,8 +32,8 @@ export type ConnectionEvents = {
|
|
|
33
32
|
};
|
|
34
33
|
export declare const DEFAULT_CLIENT_ID = "websocket_mqtt_";
|
|
35
34
|
export declare const createConnection: (options: ConnectionOptions) => {
|
|
36
|
-
on<K extends keyof ConnectionEvents>(event: K, listener: import("./utils/events").EventListener<ConnectionEvents, K>): void;
|
|
37
|
-
off<K extends keyof ConnectionEvents>(event: K, listener: import("./utils/events").EventListener<ConnectionEvents, K>): void;
|
|
35
|
+
on<K extends keyof ConnectionEvents>(event: K, listener: import("./utils/events.js").EventListener<ConnectionEvents, K>): void;
|
|
36
|
+
off<K extends keyof ConnectionEvents>(event: K, listener: import("./utils/events.js").EventListener<ConnectionEvents, K>): void;
|
|
38
37
|
emit<K extends keyof ConnectionEvents>(event: K, ...args: ConnectionEvents[K]): void;
|
|
39
38
|
close: () => void;
|
|
40
39
|
open: () => void;
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,aAAa,EAGb,cAAc,EACd,cAAc,EAEd,aAAa,EAEb,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;QAC7B,GAAG,CAAC,EAAE,QAAQ,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,GAAG,UAAU,CAAC;AAEf,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAEpE,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,EAAE,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,iBAAiB,oBAAoB,CAAC;AAEnD,eAAO,MAAM,gBAAgB,GAAI,SAAS,iBAAiB;;;;;;mBA8CnC,cAAc,KAAG,IAAI;yBApBjB,MAAM;;CA2JjC,CAAC"}
|
package/dist/connection.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { encodeConnect, encodeDisconnect, encodePacket, encodePingreq, } from "./packets/encode.js";
|
|
2
|
+
import { decodeAll, DEFAULT_KEEPALIVE_SECONDS, PacketType, QoS, } from "./packets/index.js";
|
|
3
|
+
import { toUint8Array } from "./utils/buffer.js";
|
|
4
|
+
import { createEventEmitter } from "./utils/events.js";
|
|
5
|
+
import { createLogger } from "./utils/logger.js";
|
|
6
6
|
export const DEFAULT_CLIENT_ID = "websocket_mqtt_";
|
|
7
7
|
export const createConnection = (options) => {
|
|
8
8
|
const events = createEventEmitter();
|
|
@@ -11,7 +11,7 @@ export const createConnection = (options) => {
|
|
|
11
11
|
let connected = false;
|
|
12
12
|
let pingInterval = null;
|
|
13
13
|
let ws = null;
|
|
14
|
-
const { clientId = DEFAULT_CLIENT_ID + Math.random().toString(36).substring(2, 15), username, password, keepalive = DEFAULT_KEEPALIVE_SECONDS, clean = true, url, } = options;
|
|
14
|
+
const { clientId = DEFAULT_CLIENT_ID + Math.random().toString(36).substring(2, 15), username, password, keepalive = DEFAULT_KEEPALIVE_SECONDS, clean = true, url, signal, } = options;
|
|
15
15
|
const will = options.will
|
|
16
16
|
? {
|
|
17
17
|
topic: options.will.topic,
|
|
@@ -132,6 +132,10 @@ export const createConnection = (options) => {
|
|
|
132
132
|
close();
|
|
133
133
|
};
|
|
134
134
|
};
|
|
135
|
+
signal?.addEventListener("abort", () => {
|
|
136
|
+
log("abort signal received");
|
|
137
|
+
close();
|
|
138
|
+
});
|
|
135
139
|
return {
|
|
136
140
|
close,
|
|
137
141
|
open,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./base";
|
|
2
|
-
export type { MqttPacket, QoSLevel } from "./packets";
|
|
3
|
-
export { QoS } from "./packets";
|
|
1
|
+
export * from "./base.js";
|
|
2
|
+
export type { MqttPacket, QoSLevel } from "./packets/index.js";
|
|
3
|
+
export { QoS } from "./packets/index.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./base";
|
|
2
|
-
export { QoS } from "./packets";
|
|
1
|
+
export * from "./base.js";
|
|
2
|
+
export { QoS } from "./packets/index.js";
|
package/dist/packets/decode.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/packets/decode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,
|
|
1
|
+
{"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../src/packets/decode.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAwC7D;AA2CD,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG;IAC5C,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,SAAS,EAAE,UAAU,CAAC;CACvB,CAcA"}
|
package/dist/packets/decode.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createPacketReader } from "../utils/buffer";
|
|
2
|
-
import { PacketType } from "./constants";
|
|
1
|
+
import { createPacketReader } from "../utils/buffer.js";
|
|
2
|
+
import { PacketType } from "./constants.js";
|
|
3
3
|
export function decode(bytes) {
|
|
4
4
|
if (bytes.length < 2)
|
|
5
5
|
return null;
|
package/dist/packets/encode.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConnectPacket, OutgoingPacket, PubackPacket, PublishPacket, SubscribePacket } from "./types";
|
|
1
|
+
import type { ConnectPacket, OutgoingPacket, PubackPacket, PublishPacket, SubscribePacket } from "./types.js";
|
|
2
2
|
export declare function encodeConnect(packet: ConnectPacket): Uint8Array;
|
|
3
3
|
export declare function encodeSubscribe(packet: SubscribePacket): Uint8Array;
|
|
4
4
|
export declare function encodePublish(packet: PublishPacket): Uint8Array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/packets/encode.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../src/packets/encode.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,YAAY,CAAC;AAoBpB,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAqC/D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,UAAU,CASnE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,UAAU,CAkB/D;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,UAAU,CAI7D;AAED,wBAAgB,aAAa,IAAI,UAAU,CAE1C;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C;AAED,eAAO,MAAM,YAAY,GAAI,QAAQ,cAAc,KAAG,UAiBrD,CAAC"}
|
package/dist/packets/encode.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createPacketWriter, toUint8Array, } from "../utils/buffer";
|
|
2
|
-
import { ConnectFlags, DEFAULT_KEEPALIVE_SECONDS, PacketType, PROTOCOL_NAME, PROTOCOL_VERSION, } from "./constants";
|
|
1
|
+
import { createPacketWriter, toUint8Array, } from "../utils/buffer.js";
|
|
2
|
+
import { ConnectFlags, DEFAULT_KEEPALIVE_SECONDS, PacketType, PROTOCOL_NAME, PROTOCOL_VERSION, } from "./constants.js";
|
|
3
3
|
function writePacket(type, flags, writeBody) {
|
|
4
4
|
const body = createPacketWriter();
|
|
5
5
|
writeBody(body);
|
package/dist/packets/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from "./constants";
|
|
2
|
-
export * from "./decode";
|
|
3
|
-
export * from "./encode";
|
|
4
|
-
export * from "./types";
|
|
1
|
+
export * from "./constants.js";
|
|
2
|
+
export * from "./decode.js";
|
|
3
|
+
export * from "./encode.js";
|
|
4
|
+
export * from "./types.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/packets/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/packets/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/packets/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from "./constants";
|
|
2
|
-
export * from "./decode";
|
|
3
|
-
export * from "./encode";
|
|
4
|
-
export * from "./types";
|
|
1
|
+
export * from "./constants.js";
|
|
2
|
+
export * from "./decode.js";
|
|
3
|
+
export * from "./encode.js";
|
|
4
|
+
export * from "./types.js";
|
package/dist/packets/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/packets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/packets/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,UAAU,CAAC;QACpB,GAAG,EAAE,QAAQ,CAAC;QACd,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;CACH,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG;IACzC,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,QAAQ,CAAC;KACf,CAAC,CAAC;CACJ,CAAC;AAGF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAGF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,IAAI,EAAE,EAAE,CAAC;CACV,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,IAAI,EAAE,EAAE,CAAC;CACV,CAAC;AAGF,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IAC1C,IAAI,EAAE,EAAE,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,aAAa,GACb,cAAc,GACd,gBAAgB,CAAC;AAErB,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,cAAc,CAAC;AAEnB,MAAM,MAAM,cAAc,GACtB,aAAa,GACb,eAAe,GACf,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,aAAa,CAAC"}
|