@mcp-fe/mcp-worker 0.2.0 → 0.2.2
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/LICENSE +27 -29
- package/docs/multi-tab.md +637 -637
- package/docs/native-webmcp.md +232 -232
- package/docs/project-structure.md +172 -172
- package/docs/tab-manager.md +150 -150
- package/index.js +68 -59
- package/mcp-service-worker.js +43 -2
- package/mcp-shared-worker.js +43 -2
- package/package.json +1 -1
- package/src/client/worker-client.d.ts.map +1 -1
- package/src/worker/mcp-controller.d.ts +5 -0
- package/src/worker/mcp-controller.d.ts.map +1 -1
package/index.js
CHANGED
|
@@ -823,78 +823,87 @@ var WorkerClient = class _WorkerClient {
|
|
|
823
823
|
}
|
|
824
824
|
}
|
|
825
825
|
async initServiceWorkerFallback() {
|
|
826
|
-
if ("serviceWorker" in navigator) {
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
}
|
|
826
|
+
if (!("serviceWorker" in navigator)) {
|
|
827
|
+
throw new Error("Neither SharedWorker nor ServiceWorker is supported");
|
|
828
|
+
}
|
|
829
|
+
try {
|
|
830
|
+
const existingRegistration = await navigator.serviceWorker.getRegistration();
|
|
831
|
+
if (existingRegistration) {
|
|
832
|
+
this.serviceWorkerRegistration = existingRegistration;
|
|
833
|
+
this.workerType = "service";
|
|
834
|
+
logger.info("[WorkerClient] Using existing ServiceWorker registration");
|
|
835
|
+
} else {
|
|
837
836
|
this.serviceWorkerRegistration = await navigator.serviceWorker.register(
|
|
838
837
|
this.serviceWorkerUrl
|
|
839
838
|
);
|
|
840
839
|
this.workerType = "service";
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
return;
|
|
855
|
-
}
|
|
856
|
-
this.handleToolCall(
|
|
857
|
-
data.toolName,
|
|
858
|
-
data.args,
|
|
859
|
-
data.callId
|
|
860
|
-
).catch((error) => {
|
|
861
|
-
logger.error(
|
|
862
|
-
"[WorkerClient] Failed to handle tool call:",
|
|
863
|
-
error
|
|
864
|
-
);
|
|
865
|
-
});
|
|
840
|
+
logger.info("[WorkerClient] Using MCP ServiceWorker (fallback)");
|
|
841
|
+
}
|
|
842
|
+
navigator.serviceWorker.addEventListener(
|
|
843
|
+
"message",
|
|
844
|
+
(ev) => {
|
|
845
|
+
try {
|
|
846
|
+
const data = ev.data;
|
|
847
|
+
if (data && data.type === "CONNECTION_STATUS") {
|
|
848
|
+
const connected = !!data.connected;
|
|
849
|
+
this.connectionStatusCallbacks.forEach((cb) => {
|
|
850
|
+
try {
|
|
851
|
+
cb(connected);
|
|
852
|
+
} catch {
|
|
866
853
|
}
|
|
867
|
-
}
|
|
854
|
+
});
|
|
855
|
+
} else if (data && data.type === "CALL_TOOL") {
|
|
856
|
+
const targetTabId = data.targetTabId;
|
|
857
|
+
if (targetTabId && targetTabId !== this.tabId) {
|
|
858
|
+
logger.log(
|
|
859
|
+
`[WorkerClient] Ignoring CALL_TOOL (not for this tab): ${data.toolName}`,
|
|
860
|
+
{ targetTabId, myTabId: this.tabId }
|
|
861
|
+
);
|
|
862
|
+
return;
|
|
863
|
+
}
|
|
864
|
+
this.handleToolCall(
|
|
865
|
+
data.toolName,
|
|
866
|
+
data.args,
|
|
867
|
+
data.callId
|
|
868
|
+
).catch((error) => {
|
|
868
869
|
logger.error(
|
|
869
|
-
"[WorkerClient]
|
|
870
|
+
"[WorkerClient] Failed to handle tool call:",
|
|
870
871
|
error
|
|
871
872
|
);
|
|
872
|
-
}
|
|
873
|
+
});
|
|
873
874
|
}
|
|
874
|
-
)
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
type: "INIT",
|
|
880
|
-
backendUrl: this.backendWsUrl
|
|
881
|
-
};
|
|
882
|
-
if (this.pendingAuthToken)
|
|
883
|
-
initMsg["token"] = this.pendingAuthToken;
|
|
884
|
-
if (this.serviceWorkerRegistration.active) {
|
|
885
|
-
this.serviceWorkerRegistration.active.postMessage(initMsg);
|
|
886
|
-
} else if ("serviceWorker" in navigator && navigator.serviceWorker.controller) {
|
|
887
|
-
navigator.serviceWorker.controller.postMessage(initMsg);
|
|
875
|
+
} catch (error) {
|
|
876
|
+
logger.error(
|
|
877
|
+
"[WorkerClient] Error processing ServiceWorker message:",
|
|
878
|
+
error
|
|
879
|
+
);
|
|
888
880
|
}
|
|
881
|
+
}
|
|
882
|
+
);
|
|
883
|
+
try {
|
|
884
|
+
const initMsg = {
|
|
885
|
+
type: "INIT",
|
|
886
|
+
backendUrl: this.backendWsUrl
|
|
887
|
+
};
|
|
888
|
+
if (this.pendingAuthToken)
|
|
889
|
+
initMsg["token"] = this.pendingAuthToken;
|
|
890
|
+
const sendInit = (worker) => {
|
|
891
|
+
worker.postMessage(initMsg);
|
|
889
892
|
this.pendingAuthToken = null;
|
|
890
|
-
}
|
|
893
|
+
};
|
|
894
|
+
if (this.serviceWorkerRegistration.active) {
|
|
895
|
+
sendInit(this.serviceWorkerRegistration.active);
|
|
896
|
+
} else {
|
|
897
|
+
navigator.serviceWorker.ready.then((reg) => {
|
|
898
|
+
if (reg.active)
|
|
899
|
+
sendInit(reg.active);
|
|
900
|
+
});
|
|
891
901
|
}
|
|
892
|
-
} catch
|
|
893
|
-
logger.error("[WorkerClient] Failed to register ServiceWorker:", error);
|
|
894
|
-
throw error;
|
|
902
|
+
} catch {
|
|
895
903
|
}
|
|
896
|
-
}
|
|
897
|
-
|
|
904
|
+
} catch (error) {
|
|
905
|
+
logger.error("[WorkerClient] Failed to register ServiceWorker:", error);
|
|
906
|
+
throw error;
|
|
898
907
|
}
|
|
899
908
|
}
|
|
900
909
|
// Low-level request that expects a reply via MessageChannel
|
package/mcp-service-worker.js
CHANGED
|
@@ -21357,14 +21357,24 @@ var MCPController = class _MCPController {
|
|
|
21357
21357
|
this.socket = null;
|
|
21358
21358
|
}
|
|
21359
21359
|
return new Promise((resolve) => {
|
|
21360
|
-
|
|
21361
|
-
this.socket = new WebSocket(url2);
|
|
21360
|
+
this.socket = new WebSocket(this.backendUrl);
|
|
21362
21361
|
this.socket.onopen = async () => {
|
|
21363
21362
|
logger.log("[MCPController] Connected to backend MCP server");
|
|
21364
21363
|
this.reconnectAttempts = 0;
|
|
21365
21364
|
this.isReconnectingForToken = false;
|
|
21366
21365
|
try {
|
|
21367
21366
|
if (this.socket) {
|
|
21367
|
+
if (this.authToken) {
|
|
21368
|
+
try {
|
|
21369
|
+
await this.performAuthHandshake(this.socket, this.authToken);
|
|
21370
|
+
} catch (error2) {
|
|
21371
|
+
logger.error("[MCPController] Auth handshake failed:", error2);
|
|
21372
|
+
this.broadcastFn({ type: "CONNECTION_STATUS", connected: false });
|
|
21373
|
+
this.socket.close(4001, "Authentication failed");
|
|
21374
|
+
resolve();
|
|
21375
|
+
return;
|
|
21376
|
+
}
|
|
21377
|
+
}
|
|
21368
21378
|
this.transport = new WebSocketTransport(this.socket);
|
|
21369
21379
|
if (typeof this.transport.start === "function") {
|
|
21370
21380
|
try {
|
|
@@ -21667,6 +21677,37 @@ var MCPController = class _MCPController {
|
|
|
21667
21677
|
}
|
|
21668
21678
|
return true;
|
|
21669
21679
|
}
|
|
21680
|
+
/**
|
|
21681
|
+
* Sends AUTH message and waits for AUTH_OK before MCP transport is started.
|
|
21682
|
+
* Token is never sent in the URL — only in this initial payload message.
|
|
21683
|
+
*/
|
|
21684
|
+
performAuthHandshake(socket, token) {
|
|
21685
|
+
return new Promise((resolve, reject) => {
|
|
21686
|
+
const timeout = setTimeout(() => {
|
|
21687
|
+
socket.removeEventListener("message", handleMessage);
|
|
21688
|
+
reject(new Error("Authentication timeout"));
|
|
21689
|
+
}, 1e4);
|
|
21690
|
+
const handleMessage = (event) => {
|
|
21691
|
+
let msg;
|
|
21692
|
+
try {
|
|
21693
|
+
msg = JSON.parse(event.data);
|
|
21694
|
+
} catch {
|
|
21695
|
+
return;
|
|
21696
|
+
}
|
|
21697
|
+
if (msg.type === "AUTH_OK") {
|
|
21698
|
+
clearTimeout(timeout);
|
|
21699
|
+
socket.removeEventListener("message", handleMessage);
|
|
21700
|
+
resolve();
|
|
21701
|
+
} else if (msg.type === "AUTH_ERROR") {
|
|
21702
|
+
clearTimeout(timeout);
|
|
21703
|
+
socket.removeEventListener("message", handleMessage);
|
|
21704
|
+
reject(new Error(msg.message || "Authentication rejected by server"));
|
|
21705
|
+
}
|
|
21706
|
+
};
|
|
21707
|
+
socket.addEventListener("message", handleMessage);
|
|
21708
|
+
socket.send(JSON.stringify({ type: "AUTH", token }));
|
|
21709
|
+
});
|
|
21710
|
+
}
|
|
21670
21711
|
getConnectionStatus() {
|
|
21671
21712
|
return this.socket?.readyState === WebSocket.OPEN;
|
|
21672
21713
|
}
|
package/mcp-shared-worker.js
CHANGED
|
@@ -21357,14 +21357,24 @@ var MCPController = class _MCPController {
|
|
|
21357
21357
|
this.socket = null;
|
|
21358
21358
|
}
|
|
21359
21359
|
return new Promise((resolve) => {
|
|
21360
|
-
|
|
21361
|
-
this.socket = new WebSocket(url2);
|
|
21360
|
+
this.socket = new WebSocket(this.backendUrl);
|
|
21362
21361
|
this.socket.onopen = async () => {
|
|
21363
21362
|
logger.log("[MCPController] Connected to backend MCP server");
|
|
21364
21363
|
this.reconnectAttempts = 0;
|
|
21365
21364
|
this.isReconnectingForToken = false;
|
|
21366
21365
|
try {
|
|
21367
21366
|
if (this.socket) {
|
|
21367
|
+
if (this.authToken) {
|
|
21368
|
+
try {
|
|
21369
|
+
await this.performAuthHandshake(this.socket, this.authToken);
|
|
21370
|
+
} catch (error2) {
|
|
21371
|
+
logger.error("[MCPController] Auth handshake failed:", error2);
|
|
21372
|
+
this.broadcastFn({ type: "CONNECTION_STATUS", connected: false });
|
|
21373
|
+
this.socket.close(4001, "Authentication failed");
|
|
21374
|
+
resolve();
|
|
21375
|
+
return;
|
|
21376
|
+
}
|
|
21377
|
+
}
|
|
21368
21378
|
this.transport = new WebSocketTransport(this.socket);
|
|
21369
21379
|
if (typeof this.transport.start === "function") {
|
|
21370
21380
|
try {
|
|
@@ -21667,6 +21677,37 @@ var MCPController = class _MCPController {
|
|
|
21667
21677
|
}
|
|
21668
21678
|
return true;
|
|
21669
21679
|
}
|
|
21680
|
+
/**
|
|
21681
|
+
* Sends AUTH message and waits for AUTH_OK before MCP transport is started.
|
|
21682
|
+
* Token is never sent in the URL — only in this initial payload message.
|
|
21683
|
+
*/
|
|
21684
|
+
performAuthHandshake(socket, token) {
|
|
21685
|
+
return new Promise((resolve, reject) => {
|
|
21686
|
+
const timeout = setTimeout(() => {
|
|
21687
|
+
socket.removeEventListener("message", handleMessage);
|
|
21688
|
+
reject(new Error("Authentication timeout"));
|
|
21689
|
+
}, 1e4);
|
|
21690
|
+
const handleMessage = (event) => {
|
|
21691
|
+
let msg;
|
|
21692
|
+
try {
|
|
21693
|
+
msg = JSON.parse(event.data);
|
|
21694
|
+
} catch {
|
|
21695
|
+
return;
|
|
21696
|
+
}
|
|
21697
|
+
if (msg.type === "AUTH_OK") {
|
|
21698
|
+
clearTimeout(timeout);
|
|
21699
|
+
socket.removeEventListener("message", handleMessage);
|
|
21700
|
+
resolve();
|
|
21701
|
+
} else if (msg.type === "AUTH_ERROR") {
|
|
21702
|
+
clearTimeout(timeout);
|
|
21703
|
+
socket.removeEventListener("message", handleMessage);
|
|
21704
|
+
reject(new Error(msg.message || "Authentication rejected by server"));
|
|
21705
|
+
}
|
|
21706
|
+
};
|
|
21707
|
+
socket.addEventListener("message", handleMessage);
|
|
21708
|
+
socket.send(JSON.stringify({ type: "AUTH", token }));
|
|
21709
|
+
});
|
|
21710
|
+
}
|
|
21670
21711
|
getConnectionStatus() {
|
|
21671
21712
|
return this.socket?.readyState === WebSocket.OPEN;
|
|
21672
21713
|
}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../../../../../libs/mcp-worker/src/client/worker-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAMzB,MAAM,MAAM,uBAAuB,GAAG;IACpC,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,qBAAa,YAAY;IAEvB,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,gBAAgB,CAA4B;IAEpD,OAAO,CAAC,YAAY,CAAwC;IAE5D,OAAO,CAAC,yBAAyB,CAA0C;IAC3E,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,gBAAgB,CAAuB;IAE/C,OAAO,CAAC,yBAAyB,CACrB;IAGZ,OAAO,CAAC,WAAW,CAA8B;IAGjD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAyB;IAG9C,OAAO,CAAC,YAAY,CAAsB;IAG1C,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAmB;;IA+B7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAWnB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAOpB;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;OAGG;IACI,UAAU,IAAI;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf;IAQD;;;OAGG;WACW,UAAU,IAAI,IAAI;IAShC;;;OAGG;IACH,OAAO,CAAC,eAAe;IA2CV,IAAI,CACf,qBAAqB,CAAC,EAAE,yBAAyB,GAAG,uBAAuB,GAC1E,OAAO,CAAC,IAAI,CAAC;IAiGhB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;YACW,iBAAiB;IA4D/B;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBzC;;OAEG;IACH,IAAW,WAAW,IAAI,OAAO,CAEhC;YAEa,gBAAgB;YAqHhB,yBAAyB;
|
|
1
|
+
{"version":3,"file":"worker-client.d.ts","sourceRoot":"","sources":["../../../../../libs/mcp-worker/src/client/worker-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,11 @@ export declare class MCPController {
|
|
|
64
64
|
private handleRegisterToolInternal;
|
|
65
65
|
handleToolCallResult(callId: string, result: ToolCallResult): void;
|
|
66
66
|
handleUnregisterTool(toolName: string, tabId?: string): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Sends AUTH message and waits for AUTH_OK before MCP transport is started.
|
|
69
|
+
* Token is never sent in the URL — only in this initial payload message.
|
|
70
|
+
*/
|
|
71
|
+
private performAuthHandshake;
|
|
67
72
|
getConnectionStatus(): boolean;
|
|
68
73
|
dispose(): void;
|
|
69
74
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-controller.d.ts","sourceRoot":"","sources":["../../../../../libs/mcp-worker/src/worker/mcp-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAWjD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAGrD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,cAAc,CAapE;AAED,qBAAa,aAAa;IAmCtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IAnCrB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,sBAAsB,CAAS;IAGvC,OAAO,CAAC,wBAAwB,CAIxB;IAER,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,UAAU,CAAoB;IAGtC,OAAO,CAAC,gBAAgB,CAUpB;gBAGM,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EAChC,WAAW,UAAO;IAOpB;;;OAGG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAmB7D;;;OAGG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW9D,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,aAAa;IAOR,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-controller.d.ts","sourceRoot":"","sources":["../../../../../libs/mcp-worker/src/worker/mcp-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAc,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAWjD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAGrD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChD,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,cAAc,CAapE;AAED,qBAAa,aAAa;IAmCtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IAnCrB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,iBAAiB,CAA+C;IACxE,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,sBAAsB,CAAS;IAGvC,OAAO,CAAC,wBAAwB,CAIxB;IAER,OAAO,CAAC,gBAAgB,CAAS;IAGjC,OAAO,CAAC,UAAU,CAAoB;IAGtC,OAAO,CAAC,gBAAgB,CAUpB;gBAGM,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EAChC,WAAW,UAAO;IAOpB;;;OAGG;IACI,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAmB7D;;;OAGG;IACI,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW9D,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,aAAa;IAOR,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA8IvC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAgClC,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAIvE;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAoB1B,kBAAkB,CAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;OAGG;YACW,0BAA0B;IAsJjC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAyD5D,oBAAoB,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IA6CnB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA+BrB,mBAAmB,IAAI,OAAO;IAI9B,OAAO,IAAI,IAAI;IAYtB;;;OAGG;WACW,MAAM,CAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,EACxB,WAAW,UAAO,GACjB,aAAa;CAGjB"}
|