@welshman/net 0.0.48 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/build/src/adapter.d.ts +46 -0
  2. package/build/src/adapter.js +91 -0
  3. package/build/src/adapter.js.map +1 -0
  4. package/build/src/auth.d.ts +57 -0
  5. package/build/src/auth.js +137 -0
  6. package/build/src/auth.js.map +1 -0
  7. package/build/src/context.d.ts +10 -0
  8. package/build/src/context.js +10 -0
  9. package/build/src/context.js.map +1 -0
  10. package/build/src/diff.d.ts +55 -0
  11. package/build/src/diff.js +148 -0
  12. package/build/src/diff.js.map +1 -0
  13. package/build/src/index.d.ts +12 -25
  14. package/build/src/index.js +12 -19
  15. package/build/src/index.js.map +1 -1
  16. package/build/src/message.d.ts +59 -0
  17. package/build/src/message.js +35 -0
  18. package/build/src/message.js.map +1 -0
  19. package/build/src/{Negentropy.js → negentropy.js} +1 -1
  20. package/build/src/{Negentropy.js.map → negentropy.js.map} +1 -1
  21. package/build/src/policy.d.ts +32 -0
  22. package/build/src/policy.js +202 -0
  23. package/build/src/policy.js.map +1 -0
  24. package/build/src/pool.d.ts +20 -0
  25. package/build/src/pool.js +67 -0
  26. package/build/src/pool.js.map +1 -0
  27. package/build/src/publish.d.ts +60 -0
  28. package/build/src/publish.js +120 -0
  29. package/build/src/publish.js.map +1 -0
  30. package/build/src/request.d.ts +79 -0
  31. package/build/src/request.js +191 -0
  32. package/build/src/request.js.map +1 -0
  33. package/build/src/socket.d.ts +41 -0
  34. package/build/src/socket.js +108 -0
  35. package/build/src/socket.js.map +1 -0
  36. package/build/src/{Tracker.js → tracker.js} +2 -2
  37. package/build/src/{Tracker.js.map → tracker.js.map} +1 -1
  38. package/build/src/util.d.ts +3 -0
  39. package/build/src/util.js +2 -0
  40. package/build/src/util.js.map +1 -0
  41. package/build/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +6 -9
  43. package/build/src/Connection.d.ts +0 -27
  44. package/build/src/Connection.js +0 -58
  45. package/build/src/Connection.js.map +0 -1
  46. package/build/src/ConnectionAuth.d.ts +0 -28
  47. package/build/src/ConnectionAuth.js +0 -99
  48. package/build/src/ConnectionAuth.js.map +0 -1
  49. package/build/src/ConnectionEvent.d.ts +0 -11
  50. package/build/src/ConnectionEvent.js +0 -13
  51. package/build/src/ConnectionEvent.js.map +0 -1
  52. package/build/src/ConnectionSender.d.ts +0 -9
  53. package/build/src/ConnectionSender.js +0 -51
  54. package/build/src/ConnectionSender.js.map +0 -1
  55. package/build/src/ConnectionState.d.ts +0 -17
  56. package/build/src/ConnectionState.js +0 -80
  57. package/build/src/ConnectionState.js.map +0 -1
  58. package/build/src/ConnectionStats.d.ts +0 -26
  59. package/build/src/ConnectionStats.js +0 -83
  60. package/build/src/ConnectionStats.js.map +0 -1
  61. package/build/src/Context.d.ts +0 -33
  62. package/build/src/Context.js +0 -40
  63. package/build/src/Context.js.map +0 -1
  64. package/build/src/Executor.d.ts +0 -51
  65. package/build/src/Executor.js +0 -106
  66. package/build/src/Executor.js.map +0 -1
  67. package/build/src/Pool.d.ts +0 -10
  68. package/build/src/Pool.js +0 -35
  69. package/build/src/Pool.js.map +0 -1
  70. package/build/src/Publish.d.ts +0 -42
  71. package/build/src/Publish.js +0 -68
  72. package/build/src/Publish.js.map +0 -1
  73. package/build/src/Socket.d.ts +0 -26
  74. package/build/src/Socket.js +0 -111
  75. package/build/src/Socket.js.map +0 -1
  76. package/build/src/Subscribe.d.ts +0 -60
  77. package/build/src/Subscribe.js +0 -293
  78. package/build/src/Subscribe.js.map +0 -1
  79. package/build/src/Sync.d.ts +0 -42
  80. package/build/src/Sync.js +0 -125
  81. package/build/src/Sync.js.map +0 -1
  82. package/build/src/target/Echo.d.ts +0 -7
  83. package/build/src/target/Echo.js +0 -13
  84. package/build/src/target/Echo.js.map +0 -1
  85. package/build/src/target/Local.d.ts +0 -11
  86. package/build/src/target/Local.js +0 -25
  87. package/build/src/target/Local.js.map +0 -1
  88. package/build/src/target/Multi.d.ts +0 -10
  89. package/build/src/target/Multi.js +0 -22
  90. package/build/src/target/Multi.js.map +0 -1
  91. package/build/src/target/Relay.d.ts +0 -11
  92. package/build/src/target/Relay.js +0 -24
  93. package/build/src/target/Relay.js.map +0 -1
  94. package/build/src/target/Relays.d.ts +0 -10
  95. package/build/src/target/Relays.js +0 -25
  96. package/build/src/target/Relays.js.map +0 -1
  97. /package/build/src/{Negentropy.d.ts → negentropy.d.ts} +0 -0
  98. /package/build/src/{Tracker.d.ts → tracker.d.ts} +0 -0
package/build/src/Sync.js DELETED
@@ -1,125 +0,0 @@
1
- import { ctx, assoc, lt, groupBy, now, pushToMapKey, inc, flatten, chunk } from "@welshman/lib";
2
- import { subscribe } from "./Subscribe.js";
3
- import { publish } from "./Publish.js";
4
- export const diff = async ({ relays, filters, events }) => {
5
- const diffs = flatten(await Promise.all(relays.flatMap(async (relay) => {
6
- return await Promise.all(filters.map(async (filter) => {
7
- const executor = ctx.net.getExecutor([relay]);
8
- const have = new Set();
9
- const need = new Set();
10
- await new Promise((resolve, reject) => {
11
- executor.diff(filter, events, {
12
- onClose: resolve,
13
- onError: (url, message) => reject(message),
14
- onMessage: (url, message) => {
15
- for (const id of message.have) {
16
- have.add(id);
17
- }
18
- for (const id of message.need) {
19
- need.add(id);
20
- }
21
- },
22
- });
23
- });
24
- return { relay, have, need };
25
- }));
26
- })));
27
- return Array.from(groupBy(diff => diff.relay, diffs).entries()).map(([relay, diffs]) => {
28
- const have = new Set();
29
- const need = new Set();
30
- for (const diff of diffs) {
31
- for (const id of diff.have) {
32
- have.add(id);
33
- }
34
- for (const id of diff.need) {
35
- need.add(id);
36
- }
37
- }
38
- return { relay, have: Array.from(have), need: Array.from(need) };
39
- });
40
- };
41
- export const pull = async ({ relays, filters, events, onEvent }) => {
42
- const countById = new Map();
43
- const idsByRelay = new Map();
44
- for (const { relay, need } of await diff({ relays, filters, events })) {
45
- for (const id of need) {
46
- const count = countById.get(id) || 0;
47
- // Reduce, but don't completely eliminate duplicates, just in case a relay
48
- // won't give us what we ask for.
49
- if (count < 2) {
50
- pushToMapKey(idsByRelay, relay, id);
51
- countById.set(id, inc(count));
52
- }
53
- }
54
- }
55
- const result = [];
56
- await Promise.all(Array.from(idsByRelay.entries()).map(([relay, allIds]) => {
57
- return Promise.all(chunk(1024, allIds).map(ids => {
58
- return new Promise(resolve => {
59
- subscribe({
60
- relays: [relay],
61
- filters: [{ ids }],
62
- closeOnEose: true,
63
- onClose: resolve,
64
- onEvent: event => {
65
- result.push(event);
66
- onEvent?.(event);
67
- },
68
- });
69
- });
70
- }));
71
- }));
72
- return result;
73
- };
74
- export const push = async ({ relays, filters, events }) => {
75
- const relaysById = new Map();
76
- for (const { relay, have } of await diff({ relays, filters, events })) {
77
- for (const id of have) {
78
- pushToMapKey(relaysById, id, relay);
79
- }
80
- }
81
- await Promise.all(events.map(async (event) => {
82
- const relays = relaysById.get(event.id);
83
- if (relays) {
84
- await publish({ event, relays }).result;
85
- }
86
- }));
87
- };
88
- export const sync = async (opts) => {
89
- await pull(opts);
90
- await push(opts);
91
- };
92
- export const pullWithoutNegentropy = async ({ relays, filters, onEvent, }) => {
93
- let done = false;
94
- let until = now() + 30;
95
- const result = [];
96
- while (!done) {
97
- let anyResults = false;
98
- await new Promise(resolve => {
99
- subscribe({
100
- relays,
101
- filters: filters.filter(f => lt(f.since, until)).map(assoc("until", until)),
102
- closeOnEose: true,
103
- onComplete: () => {
104
- done = !anyResults;
105
- resolve();
106
- },
107
- onEvent: event => {
108
- anyResults = true;
109
- until = Math.min(until, event.created_at - 1);
110
- result.push(event);
111
- onEvent?.(event);
112
- },
113
- });
114
- });
115
- }
116
- return result;
117
- };
118
- export const pushWithoutNegentropy = ({ relays, events }) => Promise.all(events.map(async (event) => {
119
- await publish({ event, relays }).result;
120
- }));
121
- export const syncWithoutNegentropy = async (opts) => {
122
- await pullWithoutNegentropy(opts);
123
- await pushWithoutNegentropy(opts);
124
- };
125
- //# sourceMappingURL=Sync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sync.js","sourceRoot":"","sources":["../../src/Sync.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import type { Message } from "../Socket.js";
3
- export declare class Echo extends Emitter {
4
- get connections(): never[];
5
- send(...payload: Message): Promise<void>;
6
- cleanup: () => void;
7
- }
@@ -1,13 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- export class Echo extends Emitter {
3
- get connections() {
4
- return [];
5
- }
6
- async send(...payload) {
7
- this.emit(...payload);
8
- }
9
- cleanup = () => {
10
- this.removeAllListeners();
11
- };
12
- }
13
- //# sourceMappingURL=Echo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Echo.js","sourceRoot":"","sources":["../../../src/target/Echo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAGrC,MAAM,OAAO,IAAK,SAAQ,OAAO;IAC/B,IAAI,WAAW;QACb,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,OAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;IACvB,CAAC;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC,CAAA;CACF"}
@@ -1,11 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import { Relay } from "@welshman/util";
3
- import type { Message } from "../Socket.js";
4
- export declare class Local extends Emitter {
5
- readonly relay: Relay;
6
- constructor(relay: Relay);
7
- get connections(): never[];
8
- send(...payload: Message): Promise<void>;
9
- onMessage: (message_0: string, ...message: any[]) => void;
10
- cleanup: () => void;
11
- }
@@ -1,25 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import { LOCAL_RELAY_URL } from "@welshman/util";
3
- export class Local extends Emitter {
4
- relay;
5
- constructor(relay) {
6
- super();
7
- this.relay = relay;
8
- relay.on("*", this.onMessage);
9
- }
10
- get connections() {
11
- return [];
12
- }
13
- async send(...payload) {
14
- await this.relay.send(...payload);
15
- }
16
- onMessage = (...message) => {
17
- const [verb, ...payload] = message;
18
- this.emit(verb, LOCAL_RELAY_URL, ...payload);
19
- };
20
- cleanup = () => {
21
- this.removeAllListeners();
22
- this.relay.off("*", this.onMessage);
23
- };
24
- }
25
- //# sourceMappingURL=Local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Local.js","sourceRoot":"","sources":["../../../src/target/Local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAQ,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAGrD,MAAM,OAAO,KAAM,SAAQ,OAAO;IACX;IAArB,YAAqB,KAAY;QAC/B,KAAK,EAAE,CAAA;QADY,UAAK,GAAL,KAAK,CAAO;QAG/B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,EAAE,CAAA;IACX,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,OAAgB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,GAAG,CAAC,GAAG,OAAgB,EAAE,EAAE;QAClC,MAAM,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO,CAAA;QAElC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,CAAA;IAC9C,CAAC,CAAA;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACrC,CAAC,CAAA;CACF"}
@@ -1,10 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import type { Message } from "../Socket.js";
3
- import type { Target } from "../Executor.js";
4
- export declare class Multi extends Emitter {
5
- readonly targets: Target[];
6
- constructor(targets: Target[]);
7
- get connections(): import("../Connection.js").Connection[];
8
- send(...payload: Message): Promise<void>;
9
- cleanup: () => void;
10
- }
@@ -1,22 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- export class Multi extends Emitter {
3
- targets;
4
- constructor(targets) {
5
- super();
6
- this.targets = targets;
7
- targets.forEach(t => {
8
- t.on("*", (verb, ...args) => this.emit(verb, ...args));
9
- });
10
- }
11
- get connections() {
12
- return this.targets.flatMap(t => t.connections);
13
- }
14
- async send(...payload) {
15
- await Promise.all(this.targets.map(t => t.send(...payload)));
16
- }
17
- cleanup = () => {
18
- this.removeAllListeners();
19
- this.targets.forEach(t => t.cleanup());
20
- };
21
- }
22
- //# sourceMappingURL=Multi.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Multi.js","sourceRoot":"","sources":["../../../src/target/Multi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAIrC,MAAM,OAAO,KAAM,SAAQ,OAAO;IACX;IAArB,YAAqB,OAAiB;QACpC,KAAK,EAAE,CAAA;QADY,YAAO,GAAP,OAAO,CAAU;QAGpC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAClB,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,OAAgB;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACxC,CAAC,CAAA;CACF"}
@@ -1,11 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import type { Message } from "../Socket.js";
3
- import type { Connection } from "../Connection.js";
4
- export declare class Relay extends Emitter {
5
- readonly connection: Connection;
6
- constructor(connection: Connection);
7
- get connections(): Connection[];
8
- send(...payload: Message): Promise<void>;
9
- onMessage: (connection: Connection, [verb, ...payload]: Message) => void;
10
- cleanup: () => void;
11
- }
@@ -1,24 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import { ConnectionEvent } from "../ConnectionEvent.js";
3
- export class Relay extends Emitter {
4
- connection;
5
- constructor(connection) {
6
- super();
7
- this.connection = connection;
8
- this.connection.on(ConnectionEvent.Receive, this.onMessage);
9
- }
10
- get connections() {
11
- return [this.connection];
12
- }
13
- async send(...payload) {
14
- await this.connection.send(payload);
15
- }
16
- onMessage = (connection, [verb, ...payload]) => {
17
- this.emit(verb, connection.url, ...payload);
18
- };
19
- cleanup = () => {
20
- this.removeAllListeners();
21
- this.connection.off(ConnectionEvent.Receive, this.onMessage);
22
- };
23
- }
24
- //# sourceMappingURL=Relay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Relay.js","sourceRoot":"","sources":["../../../src/target/Relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAIrD,MAAM,OAAO,KAAM,SAAQ,OAAO;IACX;IAArB,YAAqB,UAAsB;QACzC,KAAK,EAAE,CAAA;QADY,eAAU,GAAV,UAAU,CAAY;QAGzC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,OAAgB;QAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,SAAS,GAAG,CAAC,UAAsB,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,CAAU,EAAE,EAAE;QAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC9D,CAAC,CAAA;CACF"}
@@ -1,10 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import type { Message } from "../Socket.js";
3
- import type { Connection } from "../Connection.js";
4
- export declare class Relays extends Emitter {
5
- readonly connections: Connection[];
6
- constructor(connections: Connection[]);
7
- send(...payload: Message): Promise<void>;
8
- onMessage: (connection: Connection, [verb, ...payload]: Message) => void;
9
- cleanup: () => void;
10
- }
@@ -1,25 +0,0 @@
1
- import { Emitter } from "@welshman/lib";
2
- import { ConnectionEvent } from "../ConnectionEvent.js";
3
- export class Relays extends Emitter {
4
- connections;
5
- constructor(connections) {
6
- super();
7
- this.connections = connections;
8
- connections.forEach(connection => {
9
- connection.on(ConnectionEvent.Receive, this.onMessage);
10
- });
11
- }
12
- async send(...payload) {
13
- await Promise.all(this.connections.map(c => c.send(payload)));
14
- }
15
- onMessage = (connection, [verb, ...payload]) => {
16
- this.emit(verb, connection.url, ...payload);
17
- };
18
- cleanup = () => {
19
- this.removeAllListeners();
20
- this.connections.forEach(connection => {
21
- connection.off(ConnectionEvent.Receive, this.onMessage);
22
- });
23
- };
24
- }
25
- //# sourceMappingURL=Relays.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Relays.js","sourceRoot":"","sources":["../../../src/target/Relays.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAGrC,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAA;AAErD,MAAM,OAAO,MAAO,SAAQ,OAAO;IACZ;IAArB,YAAqB,WAAyB;QAC5C,KAAK,EAAE,CAAA;QADY,gBAAW,GAAX,WAAW,CAAc;QAG5C,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC/B,UAAU,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,OAAgB;QAC5B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,SAAS,GAAG,CAAC,UAAsB,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,CAAU,EAAE,EAAE;QAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAA;IAC7C,CAAC,CAAA;IAED,OAAO,GAAG,GAAG,EAAE;QACb,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACpC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;CACF"}
File without changes
File without changes