on-zero 0.16.7 → 0.16.8
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/cjs/cli.native.js.map +1 -1
- package/dist/cjs/combineZeroClients.native.js.map +1 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/createPermissions.native.js.map +1 -1
- package/dist/cjs/createSchemaFromDrizzle.native.js.map +1 -1
- package/dist/cjs/createUseQuery.native.js.map +1 -1
- package/dist/cjs/createUseQueryDirect.native.js.map +1 -1
- package/dist/cjs/createZeroClient.authData.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.cjs +32 -6
- package/dist/cjs/createZeroClient.connection.test.cjs +52 -0
- package/dist/cjs/createZeroClient.connection.test.native.js +56 -0
- package/dist/cjs/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.exportProbe.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.headless.test.native.js.map +1 -1
- package/dist/cjs/createZeroClient.httpAuth.test.cjs +144 -0
- package/dist/cjs/createZeroClient.httpAuth.test.native.js +167 -0
- package/dist/cjs/createZeroClient.httpAuth.test.native.js.map +1 -0
- package/dist/cjs/createZeroClient.native.js +32 -6
- package/dist/cjs/createZeroClient.native.js.map +1 -1
- package/dist/cjs/createZeroClient.recovery.test.cjs +53 -0
- package/dist/cjs/createZeroClient.recovery.test.native.js +53 -0
- package/dist/cjs/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/cjs/generate-helpers.native.js.map +1 -1
- package/dist/cjs/generate-helpers.test.native.js.map +1 -1
- package/dist/cjs/generate-layout.native.js.map +1 -1
- package/dist/cjs/generate-lite.native.js.map +1 -1
- package/dist/cjs/generate-lite.test.native.js.map +1 -1
- package/dist/cjs/generate.native.js.map +1 -1
- package/dist/cjs/generate.test.native.js.map +1 -1
- package/dist/cjs/helpers/NullToOptional.native.js.map +1 -1
- package/dist/cjs/helpers/asyncContext.hostStorage.test.native.js.map +1 -1
- package/dist/cjs/helpers/batchQuery.native.js.map +1 -1
- package/dist/cjs/helpers/clearZeroClientData.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -1
- package/dist/cjs/helpers/ellipsis.native.js.map +1 -1
- package/dist/cjs/helpers/emitter.native.js.map +1 -1
- package/dist/cjs/helpers/ensure.native.js.map +1 -1
- package/dist/cjs/helpers/ensureLoggedIn.native.js.map +1 -1
- package/dist/cjs/helpers/errors.native.js.map +1 -1
- package/dist/cjs/helpers/getAuth.native.js.map +1 -1
- package/dist/cjs/helpers/getCurrentComponentStack.native.js.map +1 -1
- package/dist/cjs/helpers/globalValue.native.js.map +1 -1
- package/dist/cjs/helpers/hostStorageScope.native.js.map +1 -1
- package/dist/cjs/helpers/mapObject.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.native.js.map +1 -1
- package/dist/cjs/helpers/mutationLifecycle.test.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.native.js.map +1 -1
- package/dist/cjs/helpers/mutatorContext.test.native.js.map +1 -1
- package/dist/cjs/helpers/prettyFormatZeroQuery.native.js.map +1 -1
- package/dist/cjs/helpers/queryContext.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.native.js.map +1 -1
- package/dist/cjs/helpers/recoverZeroClient.test.native.js.map +1 -1
- package/dist/cjs/helpers/showZeroClientError.native.js.map +1 -1
- package/dist/cjs/helpers/sleep.native.js.map +1 -1
- package/dist/cjs/helpers/time.native.js.map +1 -1
- package/dist/cjs/helpers/tuple.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.native.js.map +1 -1
- package/dist/cjs/helpers/useMutation.test.native.js.map +1 -1
- package/dist/cjs/helpers/useZeroDebug.native.js.map +1 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/instanceRegistry.native.js.map +1 -1
- package/dist/cjs/modelRegistry.native.js.map +1 -1
- package/dist/cjs/multi.native.js.map +1 -1
- package/dist/cjs/multiInstance.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceMutations.test.native.js.map +1 -1
- package/dist/cjs/multiInstanceNested.test.native.js.map +1 -1
- package/dist/cjs/multiPartition.test.native.js.map +1 -1
- package/dist/cjs/mutations.native.js.map +1 -1
- package/dist/cjs/mutations.test.native.js.map +1 -1
- package/dist/cjs/provideZero.eagerInstance.test.native.js.map +1 -1
- package/dist/cjs/provideZero.hydration.test.native.js.map +1 -1
- package/dist/cjs/provideZero.ssr.test.native.js.map +1 -1
- package/dist/cjs/queryRegistry.native.js.map +1 -1
- package/dist/cjs/resolveQuery.native.js.map +1 -1
- package/dist/cjs/run.native.js.map +1 -1
- package/dist/cjs/server.native.js.map +1 -1
- package/dist/cjs/server.test.native.js.map +1 -1
- package/dist/cjs/serverWhere.native.js.map +1 -1
- package/dist/cjs/serverWhere.test.native.js.map +1 -1
- package/dist/cjs/state.native.js.map +1 -1
- package/dist/cjs/streaming.native.js.map +1 -1
- package/dist/cjs/testSetup.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/usePermission.test.native.js.map +1 -1
- package/dist/cjs/useQuery.empty.test.native.js.map +1 -1
- package/dist/cjs/useQuery.ssr.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.loop.test.native.js.map +1 -1
- package/dist/cjs/useStreamingField.native.js.map +1 -1
- package/dist/cjs/vite-plugin.native.js.map +1 -1
- package/dist/cjs/where.native.js.map +1 -1
- package/dist/cjs/zeroRunner.native.js.map +1 -1
- package/dist/cjs/zql.native.js.map +1 -1
- package/dist/esm/createZeroClient.connection.test.mjs +52 -0
- package/dist/esm/createZeroClient.connection.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.connection.test.native.js +56 -0
- package/dist/esm/createZeroClient.connection.test.native.js.map +1 -1
- package/dist/esm/createZeroClient.httpAuth.test.mjs +145 -0
- package/dist/esm/createZeroClient.httpAuth.test.mjs.map +1 -0
- package/dist/esm/createZeroClient.httpAuth.test.native.js +165 -0
- package/dist/esm/createZeroClient.httpAuth.test.native.js.map +1 -0
- package/dist/esm/createZeroClient.mjs +33 -7
- package/dist/esm/createZeroClient.mjs.map +1 -1
- package/dist/esm/createZeroClient.native.js +33 -7
- package/dist/esm/createZeroClient.native.js.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.mjs +54 -1
- package/dist/esm/createZeroClient.recovery.test.mjs.map +1 -1
- package/dist/esm/createZeroClient.recovery.test.native.js +54 -1
- package/dist/esm/createZeroClient.recovery.test.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/package.json +2 -2
- package/src/createZeroClient.connection.test.tsx +50 -1
- package/src/createZeroClient.httpAuth.test.ts +144 -0
- package/src/createZeroClient.recovery.test.tsx +61 -1
- package/src/createZeroClient.tsx +58 -14
- package/types/createZeroClient.d.ts +2 -1
- package/types/createZeroClient.d.ts.map +1 -1
- package/types/createZeroClient.httpAuth.test.d.ts +2 -0
- package/types/createZeroClient.httpAuth.test.d.ts.map +1 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
|
+
import { createZeroClientTransport } from "orez-lite/client";
|
|
3
|
+
import { expect, test, vi } from "vitest";
|
|
4
|
+
import { createZeroClient } from "./createZeroClient.mjs";
|
|
5
|
+
const noteTable = table("note").columns({
|
|
6
|
+
id: string()
|
|
7
|
+
}).primaryKey("id");
|
|
8
|
+
const schema = createSchema({
|
|
9
|
+
tables: [noteTable]
|
|
10
|
+
});
|
|
11
|
+
function response(body, status = 200) {
|
|
12
|
+
return new Response(JSON.stringify(body), {
|
|
13
|
+
status,
|
|
14
|
+
headers: {
|
|
15
|
+
"content-type": "application/json"
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async function eventually(assertion, timeoutMs = 2e3) {
|
|
20
|
+
const deadline = Date.now() + timeoutMs;
|
|
21
|
+
let lastError;
|
|
22
|
+
while (Date.now() < deadline) {
|
|
23
|
+
try {
|
|
24
|
+
assertion();
|
|
25
|
+
return;
|
|
26
|
+
} catch (error) {
|
|
27
|
+
lastError = error;
|
|
28
|
+
await new Promise(resolve => setTimeout(resolve, 5));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
throw lastError;
|
|
32
|
+
}
|
|
33
|
+
test("unchanged unauthorized auth parks after one real HTTP transport request", async () => {
|
|
34
|
+
const authorizations = [];
|
|
35
|
+
const fetch = vi.fn(async (_input, init) => {
|
|
36
|
+
authorizations.push(new Headers(init?.headers).get("authorization"));
|
|
37
|
+
return response({
|
|
38
|
+
error: "missing authentication"
|
|
39
|
+
}, 401);
|
|
40
|
+
});
|
|
41
|
+
const refreshAuth = vi.fn(async () => "expired-token");
|
|
42
|
+
const client = createZeroClient({
|
|
43
|
+
schema,
|
|
44
|
+
models: {},
|
|
45
|
+
groupedQueries: {},
|
|
46
|
+
instanceName: "http-auth-unchanged"
|
|
47
|
+
});
|
|
48
|
+
const connection = client.connectHeadless({
|
|
49
|
+
userID: "unauthorized-user",
|
|
50
|
+
auth: "expired-token",
|
|
51
|
+
cacheURL: "https://http-auth-unchanged.orez.test/zero",
|
|
52
|
+
kvStore: "mem",
|
|
53
|
+
transport: createZeroClientTransport({
|
|
54
|
+
fetch
|
|
55
|
+
}),
|
|
56
|
+
refreshAuth
|
|
57
|
+
});
|
|
58
|
+
try {
|
|
59
|
+
await eventually(() => expect(connection.zero.connection.state.current.name).toBe("needs-auth"));
|
|
60
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
61
|
+
expect(authorizations).toEqual(["Bearer expired-token"]);
|
|
62
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1);
|
|
63
|
+
expect(connection.zero.connection.state.current.name).toBe("needs-auth");
|
|
64
|
+
} finally {
|
|
65
|
+
await connection.close();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
test("warm headless client refreshes an expired bearer and reconnects", async () => {
|
|
69
|
+
const authorizations = [];
|
|
70
|
+
const fetch = vi.fn(async (_input, init) => {
|
|
71
|
+
const authorization = new Headers(init?.headers).get("authorization");
|
|
72
|
+
authorizations.push(authorization);
|
|
73
|
+
if (authorization === "Bearer expired-token") {
|
|
74
|
+
return response({
|
|
75
|
+
error: "expired bearer"
|
|
76
|
+
}, 401);
|
|
77
|
+
}
|
|
78
|
+
return response({
|
|
79
|
+
cookie: 1,
|
|
80
|
+
lastMutationIDChanges: {},
|
|
81
|
+
rowsPatch: []
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
const refreshAuth = vi.fn(async () => "fresh-token");
|
|
85
|
+
const client = createZeroClient({
|
|
86
|
+
schema,
|
|
87
|
+
models: {},
|
|
88
|
+
groupedQueries: {},
|
|
89
|
+
instanceName: "http-auth-refresh"
|
|
90
|
+
});
|
|
91
|
+
const connection = client.connectHeadless({
|
|
92
|
+
userID: "authorized-user",
|
|
93
|
+
auth: "expired-token",
|
|
94
|
+
cacheURL: "https://http-auth-refresh.orez.test/zero",
|
|
95
|
+
kvStore: "mem",
|
|
96
|
+
transport: createZeroClientTransport({
|
|
97
|
+
fetch
|
|
98
|
+
}),
|
|
99
|
+
refreshAuth
|
|
100
|
+
});
|
|
101
|
+
try {
|
|
102
|
+
await eventually(() => expect(connection.zero.connection.state.current.name).toBe("connected"));
|
|
103
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1);
|
|
104
|
+
expect(authorizations).toEqual(["Bearer expired-token", "Bearer fresh-token"]);
|
|
105
|
+
} finally {
|
|
106
|
+
await connection.close();
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
test("three rejected replacement bearers leave a real HTTP client parked", async () => {
|
|
110
|
+
const authorizations = [];
|
|
111
|
+
let replacement = 0;
|
|
112
|
+
const fetch = vi.fn(async (_input, init) => {
|
|
113
|
+
authorizations.push(new Headers(init?.headers).get("authorization"));
|
|
114
|
+
return response({
|
|
115
|
+
error: "project access required"
|
|
116
|
+
}, 403);
|
|
117
|
+
});
|
|
118
|
+
const refreshAuth = vi.fn(async () => `replacement-token-${++replacement}`);
|
|
119
|
+
const client = createZeroClient({
|
|
120
|
+
schema,
|
|
121
|
+
models: {},
|
|
122
|
+
groupedQueries: {},
|
|
123
|
+
instanceName: "http-auth-bounded"
|
|
124
|
+
});
|
|
125
|
+
const connection = client.connectHeadless({
|
|
126
|
+
userID: "unauthorized-user",
|
|
127
|
+
auth: "expired-token",
|
|
128
|
+
cacheURL: "https://http-auth-bounded.orez.test/zero",
|
|
129
|
+
kvStore: "mem",
|
|
130
|
+
transport: createZeroClientTransport({
|
|
131
|
+
fetch
|
|
132
|
+
}),
|
|
133
|
+
refreshAuth
|
|
134
|
+
});
|
|
135
|
+
try {
|
|
136
|
+
await eventually(() => expect(authorizations).toHaveLength(4));
|
|
137
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
138
|
+
expect(authorizations).toEqual(["Bearer expired-token", "Bearer replacement-token-1", "Bearer replacement-token-2", "Bearer replacement-token-3"]);
|
|
139
|
+
expect(refreshAuth).toHaveBeenCalledTimes(3);
|
|
140
|
+
expect(connection.zero.connection.state.current.name).toBe("needs-auth");
|
|
141
|
+
} finally {
|
|
142
|
+
await connection.close();
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
//# sourceMappingURL=createZeroClient.httpAuth.test.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","createZeroClientTransport","expect","test","vi","createZeroClient","noteTable","columns","id","primaryKey","schema","tables","response","body","status","Response","JSON","stringify","headers","eventually","assertion","timeoutMs","deadline","Date","now","lastError","error","Promise","resolve","setTimeout","authorizations","fetch","fn","_input","init","push","Headers","get","refreshAuth","client","models","groupedQueries","instanceName","connection","connectHeadless","userID","auth","cacheURL","kvStore","transport","zero","state","current","name","toBe","toEqual","toHaveBeenCalledTimes","close","authorization","cookie","lastMutationIDChanges","rowsPatch","replacement","toHaveLength"],"sources":["../../src/createZeroClient.httpAuth.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { createSchema, string, table } from "@rocicorp/zero";
|
|
2
|
+
import { createZeroClientTransport } from "orez-lite/client";
|
|
3
|
+
import { expect, test, vi } from "vitest";
|
|
4
|
+
import { createZeroClient } from "./createZeroClient.native.js";
|
|
5
|
+
var noteTable = table("note").columns({
|
|
6
|
+
id: string()
|
|
7
|
+
}).primaryKey("id");
|
|
8
|
+
var schema = createSchema({
|
|
9
|
+
tables: [noteTable]
|
|
10
|
+
});
|
|
11
|
+
function response(body) {
|
|
12
|
+
var status = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 200;
|
|
13
|
+
return new Response(JSON.stringify(body), {
|
|
14
|
+
status,
|
|
15
|
+
headers: {
|
|
16
|
+
"content-type": "application/json"
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
async function eventually(assertion) {
|
|
21
|
+
var timeoutMs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 2e3;
|
|
22
|
+
var deadline = Date.now() + timeoutMs;
|
|
23
|
+
var lastError;
|
|
24
|
+
while (Date.now() < deadline) {
|
|
25
|
+
try {
|
|
26
|
+
assertion();
|
|
27
|
+
return;
|
|
28
|
+
} catch (error) {
|
|
29
|
+
lastError = error;
|
|
30
|
+
await new Promise(function (resolve) {
|
|
31
|
+
return setTimeout(resolve, 5);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
throw lastError;
|
|
36
|
+
}
|
|
37
|
+
test("unchanged unauthorized auth parks after one real HTTP transport request", async function () {
|
|
38
|
+
var authorizations = [];
|
|
39
|
+
var fetch = vi.fn(async function (_input, init) {
|
|
40
|
+
authorizations.push(new Headers(init === null || init === void 0 ? void 0 : init.headers).get("authorization"));
|
|
41
|
+
return response({
|
|
42
|
+
error: "missing authentication"
|
|
43
|
+
}, 401);
|
|
44
|
+
});
|
|
45
|
+
var refreshAuth = vi.fn(async function () {
|
|
46
|
+
return "expired-token";
|
|
47
|
+
});
|
|
48
|
+
var client = createZeroClient({
|
|
49
|
+
schema,
|
|
50
|
+
models: {},
|
|
51
|
+
groupedQueries: {},
|
|
52
|
+
instanceName: "http-auth-unchanged"
|
|
53
|
+
});
|
|
54
|
+
var connection = client.connectHeadless({
|
|
55
|
+
userID: "unauthorized-user",
|
|
56
|
+
auth: "expired-token",
|
|
57
|
+
cacheURL: "https://http-auth-unchanged.orez.test/zero",
|
|
58
|
+
kvStore: "mem",
|
|
59
|
+
transport: createZeroClientTransport({
|
|
60
|
+
fetch
|
|
61
|
+
}),
|
|
62
|
+
refreshAuth
|
|
63
|
+
});
|
|
64
|
+
try {
|
|
65
|
+
await eventually(function () {
|
|
66
|
+
return expect(connection.zero.connection.state.current.name).toBe("needs-auth");
|
|
67
|
+
});
|
|
68
|
+
await new Promise(function (resolve) {
|
|
69
|
+
return setTimeout(resolve, 100);
|
|
70
|
+
});
|
|
71
|
+
expect(authorizations).toEqual(["Bearer expired-token"]);
|
|
72
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1);
|
|
73
|
+
expect(connection.zero.connection.state.current.name).toBe("needs-auth");
|
|
74
|
+
} finally {
|
|
75
|
+
await connection.close();
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
test("warm headless client refreshes an expired bearer and reconnects", async function () {
|
|
79
|
+
var authorizations = [];
|
|
80
|
+
var fetch = vi.fn(async function (_input, init) {
|
|
81
|
+
var authorization = new Headers(init === null || init === void 0 ? void 0 : init.headers).get("authorization");
|
|
82
|
+
authorizations.push(authorization);
|
|
83
|
+
if (authorization === "Bearer expired-token") {
|
|
84
|
+
return response({
|
|
85
|
+
error: "expired bearer"
|
|
86
|
+
}, 401);
|
|
87
|
+
}
|
|
88
|
+
return response({
|
|
89
|
+
cookie: 1,
|
|
90
|
+
lastMutationIDChanges: {},
|
|
91
|
+
rowsPatch: []
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
var refreshAuth = vi.fn(async function () {
|
|
95
|
+
return "fresh-token";
|
|
96
|
+
});
|
|
97
|
+
var client = createZeroClient({
|
|
98
|
+
schema,
|
|
99
|
+
models: {},
|
|
100
|
+
groupedQueries: {},
|
|
101
|
+
instanceName: "http-auth-refresh"
|
|
102
|
+
});
|
|
103
|
+
var connection = client.connectHeadless({
|
|
104
|
+
userID: "authorized-user",
|
|
105
|
+
auth: "expired-token",
|
|
106
|
+
cacheURL: "https://http-auth-refresh.orez.test/zero",
|
|
107
|
+
kvStore: "mem",
|
|
108
|
+
transport: createZeroClientTransport({
|
|
109
|
+
fetch
|
|
110
|
+
}),
|
|
111
|
+
refreshAuth
|
|
112
|
+
});
|
|
113
|
+
try {
|
|
114
|
+
await eventually(function () {
|
|
115
|
+
return expect(connection.zero.connection.state.current.name).toBe("connected");
|
|
116
|
+
});
|
|
117
|
+
expect(refreshAuth).toHaveBeenCalledTimes(1);
|
|
118
|
+
expect(authorizations).toEqual(["Bearer expired-token", "Bearer fresh-token"]);
|
|
119
|
+
} finally {
|
|
120
|
+
await connection.close();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
test("three rejected replacement bearers leave a real HTTP client parked", async function () {
|
|
124
|
+
var authorizations = [];
|
|
125
|
+
var replacement = 0;
|
|
126
|
+
var fetch = vi.fn(async function (_input, init) {
|
|
127
|
+
authorizations.push(new Headers(init === null || init === void 0 ? void 0 : init.headers).get("authorization"));
|
|
128
|
+
return response({
|
|
129
|
+
error: "project access required"
|
|
130
|
+
}, 403);
|
|
131
|
+
});
|
|
132
|
+
var refreshAuth = vi.fn(async function () {
|
|
133
|
+
return `replacement-token-${++replacement}`;
|
|
134
|
+
});
|
|
135
|
+
var client = createZeroClient({
|
|
136
|
+
schema,
|
|
137
|
+
models: {},
|
|
138
|
+
groupedQueries: {},
|
|
139
|
+
instanceName: "http-auth-bounded"
|
|
140
|
+
});
|
|
141
|
+
var connection = client.connectHeadless({
|
|
142
|
+
userID: "unauthorized-user",
|
|
143
|
+
auth: "expired-token",
|
|
144
|
+
cacheURL: "https://http-auth-bounded.orez.test/zero",
|
|
145
|
+
kvStore: "mem",
|
|
146
|
+
transport: createZeroClientTransport({
|
|
147
|
+
fetch
|
|
148
|
+
}),
|
|
149
|
+
refreshAuth
|
|
150
|
+
});
|
|
151
|
+
try {
|
|
152
|
+
await eventually(function () {
|
|
153
|
+
return expect(authorizations).toHaveLength(4);
|
|
154
|
+
});
|
|
155
|
+
await new Promise(function (resolve) {
|
|
156
|
+
return setTimeout(resolve, 100);
|
|
157
|
+
});
|
|
158
|
+
expect(authorizations).toEqual(["Bearer expired-token", "Bearer replacement-token-1", "Bearer replacement-token-2", "Bearer replacement-token-3"]);
|
|
159
|
+
expect(refreshAuth).toHaveBeenCalledTimes(3);
|
|
160
|
+
expect(connection.zero.connection.state.current.name).toBe("needs-auth");
|
|
161
|
+
} finally {
|
|
162
|
+
await connection.close();
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
//# sourceMappingURL=createZeroClient.httpAuth.test.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSchema","string","table","createZeroClientTransport","expect","test","vi","createZeroClient","noteTable","columns","id","primaryKey","schema","tables","response","body","status","arguments","length","Response","JSON","stringify","headers","eventually","assertion","timeoutMs","deadline","Date","now","lastError","error","Promise","resolve","setTimeout","authorizations","fetch","fn","_input","init","push","Headers","get","refreshAuth","client","models","groupedQueries","instanceName","connection","connectHeadless","userID","auth","cacheURL","kvStore","transport","zero","state","current","name","toBe","toEqual","toHaveBeenCalledTimes","close","authorization","cookie","lastMutationIDChanges","rowsPatch"],"sources":["../../src/createZeroClient.httpAuth.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createBuilder, defineQueries, defineQuery, Zero as ZeroClient } from "@rocicorp/zero";
|
|
2
2
|
import { useZero, ZeroContext } from "@rocicorp/zero/react";
|
|
3
|
-
import { createContext, memo, useContext, useEffect, useLayoutEffect, useRef, useState } from "react";
|
|
3
|
+
import { createContext, memo, useContext, useEffect, useInsertionEffect, useLayoutEffect, useRef, useState } from "react";
|
|
4
4
|
import { createPermissions } from "./createPermissions.mjs";
|
|
5
5
|
import { createUseQuery } from "./createUseQuery.mjs";
|
|
6
6
|
import { clearZeroClientData } from "./helpers/clearZeroClientData.mjs";
|
|
@@ -22,6 +22,7 @@ import { getRawWhere, setEvaluatingPermission } from "./where.mjs";
|
|
|
22
22
|
import { setRunner } from "./zeroRunner.mjs";
|
|
23
23
|
import { zql } from "./zql.mjs";
|
|
24
24
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
25
|
+
const MAX_AUTH_REFRESH_ATTEMPTS = 3;
|
|
25
26
|
function getZeroProxyValue(instance, key) {
|
|
26
27
|
const value = Reflect.get(instance, key, instance);
|
|
27
28
|
if (typeof value !== "function") return value;
|
|
@@ -136,6 +137,7 @@ function createZeroClientInternal({
|
|
|
136
137
|
return generation;
|
|
137
138
|
}
|
|
138
139
|
let clientMutators = null;
|
|
140
|
+
const installedTransports = /* @__PURE__ */new WeakMap();
|
|
139
141
|
function getClientMutators() {
|
|
140
142
|
clientMutators ??= createMutators({
|
|
141
143
|
models,
|
|
@@ -154,12 +156,13 @@ function createZeroClientInternal({
|
|
|
154
156
|
guardStorage,
|
|
155
157
|
benignLogPatterns
|
|
156
158
|
}) {
|
|
159
|
+
let installedTransport;
|
|
157
160
|
if (transport) {
|
|
158
161
|
const serverURL = options.cacheURL ?? options.server;
|
|
159
162
|
if (typeof serverURL !== "string") {
|
|
160
163
|
throw new Error(`client transport requires a server URL`);
|
|
161
164
|
}
|
|
162
|
-
transport.install(serverURL);
|
|
165
|
+
installedTransport = transport.install(serverURL);
|
|
163
166
|
}
|
|
164
167
|
const instanceRef = {
|
|
165
168
|
current: null
|
|
@@ -196,6 +199,7 @@ function createZeroClientInternal({
|
|
|
196
199
|
onClientStateNotFound: options.onClientStateNotFound ?? recovery.onClientStateNotFound
|
|
197
200
|
});
|
|
198
201
|
instanceRef.current = createdInstance;
|
|
202
|
+
if (installedTransport) installedTransports.set(createdInstance, installedTransport);
|
|
199
203
|
return createdInstance;
|
|
200
204
|
}
|
|
201
205
|
function publishZeroInstance(zeroInstance) {
|
|
@@ -596,6 +600,7 @@ function createZeroClientInternal({
|
|
|
596
600
|
value: liveInstance ? getZeroProviderGeneration(liveInstance) : null,
|
|
597
601
|
children: [liveInstance ? /* @__PURE__ */jsx(SetZeroInstance, {}) : null, liveInstance ? /* @__PURE__ */jsx(ConnectionMonitor, {
|
|
598
602
|
zeroEvents,
|
|
603
|
+
auth,
|
|
599
604
|
refreshAuth,
|
|
600
605
|
exposeDataset: connectionDataset,
|
|
601
606
|
datasetCacheUrl: connectionDataset ? props.cacheURL ?? props.server : void 0
|
|
@@ -609,7 +614,7 @@ function createZeroClientInternal({
|
|
|
609
614
|
const SetZeroInstance = () => {
|
|
610
615
|
const zeroInstance = useZero();
|
|
611
616
|
publishZeroInstance(zeroInstance);
|
|
612
|
-
|
|
617
|
+
useInsertionEffect(() => {
|
|
613
618
|
publishZeroInstance(zeroInstance);
|
|
614
619
|
return () => {
|
|
615
620
|
if (!unpublishZeroInstance(zeroInstance)) return;
|
|
@@ -645,6 +650,7 @@ function createZeroClientInternal({
|
|
|
645
650
|
zeroInstanceVersion?.emit(zeroInstanceVersion.value + 1);
|
|
646
651
|
const unwatch = watchZeroConnection({
|
|
647
652
|
zeroInstance,
|
|
653
|
+
auth: options.auth,
|
|
648
654
|
refreshAuth
|
|
649
655
|
});
|
|
650
656
|
return {
|
|
@@ -660,12 +666,15 @@ function createZeroClientInternal({
|
|
|
660
666
|
function watchZeroConnection(args) {
|
|
661
667
|
const {
|
|
662
668
|
zeroInstance,
|
|
669
|
+
auth,
|
|
663
670
|
refreshAuth,
|
|
664
671
|
exposeDataset,
|
|
665
672
|
datasetCacheUrl
|
|
666
673
|
} = args;
|
|
667
674
|
let prevState = zeroInstance.connection.state.current.name;
|
|
668
675
|
let hasConnected = false;
|
|
676
|
+
let active = true;
|
|
677
|
+
let activeAuth = auth;
|
|
669
678
|
const currentReconnect = zeroEvents.value?.type === "reconnect" && zeroEvents.value.status !== "connected" ? zeroEvents.value : null;
|
|
670
679
|
let reconnect = currentReconnect ? {
|
|
671
680
|
reasonKey: currentReconnect.reasonKey,
|
|
@@ -673,6 +682,13 @@ function createZeroClientInternal({
|
|
|
673
682
|
} : null;
|
|
674
683
|
let recoverableError = null;
|
|
675
684
|
let needsAuth = false;
|
|
685
|
+
let authRefreshAttempts = 0;
|
|
686
|
+
const installedTransport = installedTransports.get(zeroInstance);
|
|
687
|
+
const unsubscribeTransport = installedTransport ? installedTransport.subscribeLifecycle(event => {
|
|
688
|
+
if (event.type === "pull" && event.clientID === zeroInstance.clientID) {
|
|
689
|
+
authRefreshAttempts = 0;
|
|
690
|
+
}
|
|
691
|
+
}) : void 0;
|
|
676
692
|
const handle = () => {
|
|
677
693
|
const state = zeroInstance.connection.state.current;
|
|
678
694
|
const name = state.name;
|
|
@@ -686,6 +702,7 @@ function createZeroClientInternal({
|
|
|
686
702
|
if (name === "connected") {
|
|
687
703
|
hasConnected = true;
|
|
688
704
|
recoverableError = null;
|
|
705
|
+
if (!installedTransport) authRefreshAttempts = 0;
|
|
689
706
|
if (reconnect) {
|
|
690
707
|
reconnect = null;
|
|
691
708
|
emitReconnectStatus({
|
|
@@ -734,10 +751,13 @@ function createZeroClientInternal({
|
|
|
734
751
|
});
|
|
735
752
|
}
|
|
736
753
|
if (name === "needs-auth") {
|
|
737
|
-
if (refreshAuth && !needsAuth) {
|
|
754
|
+
if (refreshAuth && !needsAuth && authRefreshAttempts < MAX_AUTH_REFRESH_ATTEMPTS) {
|
|
738
755
|
needsAuth = true;
|
|
739
756
|
void refreshAuth().then(token => {
|
|
740
|
-
if (token)
|
|
757
|
+
if (!active || !token || token === activeAuth) return;
|
|
758
|
+
activeAuth = token;
|
|
759
|
+
authRefreshAttempts++;
|
|
760
|
+
return zeroInstance.connection?.connect?.({
|
|
741
761
|
auth: token
|
|
742
762
|
});
|
|
743
763
|
}).catch(() => {});
|
|
@@ -758,10 +778,15 @@ function createZeroClientInternal({
|
|
|
758
778
|
};
|
|
759
779
|
const unsubscribe = zeroInstance.connection.state.subscribe(handle);
|
|
760
780
|
handle();
|
|
761
|
-
return
|
|
781
|
+
return () => {
|
|
782
|
+
active = false;
|
|
783
|
+
unsubscribeTransport?.();
|
|
784
|
+
unsubscribe();
|
|
785
|
+
};
|
|
762
786
|
}
|
|
763
787
|
const ConnectionMonitor = memo(({
|
|
764
788
|
zeroEvents: _zeroEvents,
|
|
789
|
+
auth,
|
|
765
790
|
refreshAuth,
|
|
766
791
|
exposeDataset,
|
|
767
792
|
datasetCacheUrl
|
|
@@ -769,10 +794,11 @@ function createZeroClientInternal({
|
|
|
769
794
|
const zeroInstance = useZero();
|
|
770
795
|
useEffect(() => watchZeroConnection({
|
|
771
796
|
zeroInstance,
|
|
797
|
+
auth,
|
|
772
798
|
refreshAuth,
|
|
773
799
|
exposeDataset,
|
|
774
800
|
datasetCacheUrl
|
|
775
|
-
}), [zeroInstance, refreshAuth, exposeDataset, datasetCacheUrl]);
|
|
801
|
+
}), [zeroInstance, auth, refreshAuth, exposeDataset, datasetCacheUrl]);
|
|
776
802
|
return null;
|
|
777
803
|
});
|
|
778
804
|
function preload(fnArg, paramsOrOptions, optionsArg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useZero","ZeroContext","createContext","memo","useContext","useEffect","useLayoutEffect","useRef","useState","createPermissions","createUseQuery","clearZeroClientData","createMutators","createEmitter","getAuth","readHostStorageScope","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","observeMutation","reportMutationInvocationError","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","jsx","jsxs","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","property","ownKeys","descriptor","Object","getOwnPropertyDescriptor","defineProperty","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","schema","models","groupedQueries","aggregates","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","entries","name","fn","args","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","customQueries","namespaces","keys","queryNames","flatMap","map","zeroRuntime","runtime","DisabledContext","ZeroProviderGenerationContext","zeroProviderGenerations","WeakMap","useZeroProviderGeneration","getZeroProviderGeneration","zeroInstance","existing","generation","isCurrent","zero","set","clientMutators","getClientMutators","authData","bindCan","constructZeroInstance","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","serverURL","cacheURL","server","install","instanceRef","current","recoveryDeps","deleteLocalState","deleteZeroInstance","zeroEvents","logClassifications","benign","onRecovery","mutationLifecycle","fence","recoverInPlace","remint","dropLocalState","recovery","createdInstance","kvStore","mutators","logSink","onUpdateNeeded","onClientStateNotFound","publishZeroInstance","activate","runner","query","run","waiters","readyWaiters","clear","onReady","waitForZero","signal","Promise","resolve","aborted","reject","reason","removeEventListener","onAbort","delete","add","addEventListener","once","lazyMutatePath","path","target","mutate","label","length","join","Proxy","lazyMutator","_","apply","__","assertWritable","result","claimMutation","error","instanceToDelete","emitterScope","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","recoverFromAckTimeout","input","reconnectInPlace","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","type","usePermissionDirect","cachedZero","retiredZero","Map","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","opts","now","Date","sinceLast","catch","retire","parked","values","live","parkedInstance","emitReconnectStatus","event","reasonKey","reloadPage","location","globalThis","reload","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","children","authDataIn","Provider","ProvideZeroClient","refreshAuth","connectionDataset","disable","props","hasAuth","stableAuthDataRef","hostScope","scopedProps","storageKey","__testZero","window","URLSearchParams","search","has","url","URL","href","searchParams","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","instanceKey","JSON","stringify","filter","sort","a","b","pattern","source","flags","liveInstance","activeZero","revived","nextCachedZero","size","outgoing","connect","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","connectHeadless","unwatch","watchZeroConnection","prevState","hasConnected","currentReconnect","reconnect","recoverableError","needsAuth","handle","document","body","dataset","zeroState","zeroCacheUrl","zeroReason","slice","zeroConnected","reconnectReasonKey","includes","token","message","unsubscribe","_zeroEvents","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest","getQuery","ControlQueries","action","whenDisabled","mode","drainBackgroundMutations","enqueueBackgroundMutation","awaitMutationClient","awaitMutationServer"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createBuilder","defineQueries","defineQuery","Zero","ZeroClient","useZero","ZeroContext","createContext","memo","useContext","useEffect","useInsertionEffect","useLayoutEffect","useRef","useState","createPermissions","createUseQuery","clearZeroClientData","createMutators","createEmitter","getAuth","readHostStorageScope","createMutationLifecycle","IS_SERVER_RUNTIME","composeRecoveryLogSink","isRecoverableZeroStalePokeMessage","makeZeroRecovery","observeMutation","reportMutationInvocationError","registerClientInstance","getAllMutationsPermissions","getMutationsPermissions","registerQuery","resolveQuery","setCustomQueries","getEnvironment","setAuthData","setEnvironment","setSchema","getRawWhere","setEvaluatingPermission","setRunner","zql","jsx","jsxs","MAX_AUTH_REFRESH_ATTEMPTS","getZeroProxyValue","instance","key","value","Reflect","get","bound","bind","property","ownKeys","descriptor","Object","getOwnPropertyDescriptor","defineProperty","createUnavailableDirectUseQuery","useQueryDirect","Error","createZeroClient","options","createZeroClientInternal","schema","models","groupedQueries","aggregates","permissionStrategy","instanceName","serverAckTimeoutRecoveryThreshold","createDirectUseQuery","permissionsHelpers","environment","wrappedNamespaces","namespace","queries","entries","name","fn","args","permissionCheckFns","createPermissionCheckFn","table","perm","base","objOrId","where","eb","cmpLit","one","rawPerm","buildPermissionQuery","e","and","customQueries","namespaces","keys","queryNames","flatMap","map","zeroRuntime","runtime","DisabledContext","ZeroProviderGenerationContext","zeroProviderGenerations","WeakMap","useZeroProviderGeneration","getZeroProviderGeneration","zeroInstance","existing","generation","isCurrent","zero","set","clientMutators","installedTransports","getClientMutators","authData","bindCan","constructZeroInstance","transport","beforeReload","scheduleReload","guardStorage","benignLogPatterns","installedTransport","serverURL","cacheURL","server","install","instanceRef","current","recoveryDeps","deleteLocalState","deleteZeroInstance","zeroEvents","logClassifications","benign","onRecovery","mutationLifecycle","fence","recoverInPlace","remint","dropLocalState","recovery","createdInstance","kvStore","mutators","logSink","onUpdateNeeded","onClientStateNotFound","publishZeroInstance","activate","runner","query","run","waiters","readyWaiters","clear","onReady","waitForZero","signal","Promise","resolve","aborted","reject","reason","removeEventListener","onAbort","delete","add","addEventListener","once","lazyMutatePath","path","target","mutate","label","length","join","Proxy","lazyMutator","_","apply","__","assertWritable","result","claimMutation","error","instanceToDelete","emitterScope","ackTimeoutRecoveryThreshold","Number","isFinite","Math","floor","recoverFromAckTimeout","input","reconnectInPlace","consecutiveTimeouts","timeoutMs","zeroInstanceVersion","AuthDataContext","useQuery","getZero","zeroVersion","createUsePermission","useQueryImpl","usePermission","enabled","debug","disableMode","lastRef","tableStr","checkFn","auth","_uid","id","data","status","Boolean","console","info","type","usePermissionDirect","cachedZero","retiredZero","Map","REMINT_GUARD_MS","REMINT_MAX_ATTEMPTS","REMINT_ATTEMPT_RESET_MS","remintControl","bump","lastRemintAt","remintAttempts","unpublishZeroInstance","instanceToInvalidate","clearZeroInstanceReferences","invalidateZeroInstance","emit","close","opts","now","Date","sinceLast","catch","retire","parked","values","live","parkedInstance","emitReconnectStatus","event","reasonKey","reloadPage","location","globalThis","reload","DISABLED_ZERO_STUB_CONNECTION_STATE","subscribe","DISABLED_ZERO_STUB","clientID","context","connection","state","materialize","addListener","destroy","updateTTL","ProvideZeroServer","children","authDataIn","Provider","ProvideZeroClient","refreshAuth","connectionDataset","disable","props","hasAuth","stableAuthDataRef","hostScope","scopedProps","storageKey","__testZero","window","URLSearchParams","search","has","url","URL","href","searchParams","closeZero","then","replace","toString","remintGeneration","setRemintGeneration","instanceKey","JSON","stringify","filter","sort","a","b","pattern","source","flags","liveInstance","activeZero","revived","nextCachedZero","size","outgoing","connect","SetZeroInstance","ConnectionMonitor","exposeDataset","datasetCacheUrl","ProvideZero","connectHeadless","unwatch","watchZeroConnection","prevState","hasConnected","active","activeAuth","currentReconnect","reconnect","recoverableError","needsAuth","authRefreshAttempts","unsubscribeTransport","subscribeLifecycle","handle","document","body","dataset","zeroState","zeroCacheUrl","zeroReason","slice","zeroConnected","reconnectReasonKey","includes","token","message","unsubscribe","_zeroEvents","preload","fnArg","paramsOrOptions","optionsArg","hasParams","params","queryRequest","getQuery","ControlQueries","action","whenDisabled","mode","drainBackgroundMutations","enqueueBackgroundMutation","awaitMutationClient","awaitMutationServer"],"sources":["../../src/createZeroClient.tsx"],"sourcesContent":[null],"mappings":"AAAA,SACEA,aAAA,EACAC,aAAA,EACAC,WAAA,EACAC,IAAA,IAAQC,UAAA,QACH;AACP,SAEEC,OAAA,EACAC,WAAA,QAEK;AACP,SACEC,aAAA,EACAC,IAAA,EACAC,UAAA,EACAC,SAAA,EACAC,kBAAA,EACAC,eAAA,EAEAC,MAAA,EACAC,QAAA,QAGK;AAEP,SAASC,iBAAA,QAAyB;AAClC,SACEC,cAAA,QAGK;AACP,SAASC,mBAAA,QAA2B;AACpC,SAASC,cAAA,QAAsB;AAC/B,SAASC,aAAA,QAAmC;AAC5C,SAASC,OAAA,QAAe;AACxB,SAASC,oBAAA,QAA4B;AACrC,SAASC,uBAAA,QAA+B;AACxC,SAASC,iBAAA,QAAyB;AAClC,SACEC,sBAAA,EACAC,iCAAA,EACAC,gBAAA,QAKK;AACP,SAASC,eAAA,EAAiBC,6BAAA,QAAqC;AAC/D,SAASC,sBAAA,QAA8B;AACvC,SAASC,0BAAA,EAA4BC,uBAAA,QAA+B;AACpE,SAASC,aAAA,QAAqB;AAC9B,SAASC,YAAA,QAAuC;AAChD,SAASC,gBAAA,QAAwB;AACjC,SAASC,cAAA,EAAgBC,WAAA,EAAaC,cAAA,EAAgBC,SAAA,QAAiB;AACvE,SAASC,WAAA,EAAaC,uBAAA,QAA+B;AACrD,SAASC,SAAA,QAAkC;AAC3C,SAASC,GAAA,QAAW;AA01BV,SAAAC,GAAA,EACEC,IAAA,QADF;AAn0BV,MAAMC,yBAAA,GAA4B;AAkDlC,SAASC,kBAAkBC,QAAA,EAAkBC,GAAA,EAAkB;EAC7D,MAAMC,KAAA,GAAQC,OAAA,CAAQC,GAAA,CAAIJ,QAAA,EAAUC,GAAA,EAAKD,QAAQ;EACjD,IAAI,OAAOE,KAAA,KAAU,YAAY,OAAOA,KAAA;EAExC,MAAMG,KAAA,GAAQH,KAAA,CAAMI,IAAA,CAAKN,QAAQ;EACjC,WAAWO,QAAA,IAAYJ,OAAA,CAAQK,OAAA,CAAQN,KAAK,GAAG;IAC7C,IAAIK,QAAA,KAAa,YAAYA,QAAA,KAAa,UAAUA,QAAA,KAAa,aAAa;MAC5E;IACF;IACA,MAAME,UAAA,GAAaC,MAAA,CAAOC,wBAAA,CAAyBT,KAAA,EAAOK,QAAQ;IAClE,IAAIE,UAAA,EAAY;MACdC,MAAA,CAAOE,cAAA,CAAeP,KAAA,EAAOE,QAAA,EAAUE,UAAU;IACnD;EACF;EACA,OAAOJ,KAAA;AACT;AAEA,SAASQ,gCAAA,EAEiB;EACxB,SAASC,eAAA,EAAwB;IAC/B,MAAM,IAAIC,KAAA,CACR,2JACF;EACF;EAEA,OAAOD,cAAA;AACT;AAEO,SAASE,iBACdC,OAAA,EACA;EACA,OAAOC,wBAAA,CAAyBD,OAAO;AACzC;AAEO,SAASC,yBAGd;EACAC,MAAA;EACAC,MAAA;EACAC,cAAA;EACAC,UAAA;EACAC,kBAAA,GAAqB;EACrBC,YAAA,GAAe;EACfC,iCAAA,GAAoC;EACpCC;AACF,GAEG;EAKDnC,SAAA,CAAU4B,MAAA,EAAQlE,aAAA,CAAckE,MAAM,CAAC;EAIvC,IAAI/B,cAAA,CAAe,MAAM,MAAM;IAC7BE,cAAA,CAAe,QAAQ;EACzB;EAEA,MAAMqC,kBAAA,GAAqB3D,iBAAA,CAA0B;IACnDmD,MAAA;IACAS,WAAA,EAAa;EACf,CAAC;EAID,MAAMC,iBAAA,GAGF,CAAC;EAEL,WAAW,CAACC,SAAA,EAAWC,OAAO,KAAKrB,MAAA,CAAOsB,OAAA,CAAQX,cAAc,GAAG;IACjEQ,iBAAA,CAAkBC,SAAS,IAAI,CAAC;IAChC,WAAW,CAACG,IAAA,EAAMC,EAAE,KAAKxB,MAAA,CAAOsB,OAAA,CAAQD,OAAO,GAAG;MAChD9C,aAAA,CAAciD,EAAA,EAAI,GAAGJ,SAAS,IAAIG,IAAI,EAAE;MAExCJ,iBAAA,CAAkBC,SAAS,EAAEG,IAAI,IAAI9E,WAAA,CAAY,CAAC;QAAEgF;MAAK,MACvDD,EAAA,CAAGC,IAAI,CACT;IACF;EACF;EAKA,MAAMC,kBAAA,GAGF,CAAC;EAEL,MAAMC,uBAAA,GAA2BC,KAAA,IAAkB;IACjD,MAAMJ,EAAA,GAAMC,IAAA,IAAoD;MAC9D,MAAMI,IAAA,GAAOvD,uBAAA,CAAwBsD,KAAK;MAC1C,MAAME,IAAA,GAAQ7C,GAAA,CAAY2C,KAAK;MAE/B,IAAI,CAACH,IAAA,CAAKM,OAAA,EAAS;QACjB,OAAOD,IAAA,CAAKE,KAAA,CAAOC,EAAA,IAAYA,EAAA,CAAGC,MAAA,CAAO,MAAM,KAAK,KAAK,CAAC,EAAEC,GAAA,CAAI;MAClE;MAEA,IAAItB,kBAAA,KAAuB,cAAc;QAGvC,MAAMuB,OAAA,GAAUP,IAAA,GAAO/C,WAAA,CAAY+C,IAAI,KAAKA,IAAA,GAAOA,IAAA;QACnD,OAAOC,IAAA,CACJE,KAAA,CAAOC,EAAA,IAAY;UAClBlD,uBAAA,CAAwB,IAAI;UAC5B,IAAI;YACF,OAAOkC,kBAAA,CAAmBoB,oBAAA,CACxB1E,OAAA,CAAQ,GACRsE,EAAA,EACAG,OAAA,KAAaE,CAAA,IAAWA,CAAA,CAAEC,GAAA,CAAI,IAC9Bd,IAAA,CAAKM,OAAA,EACLH,KACF;UACF,UAAE;YACA7C,uBAAA,CAAwB,KAAK;UAC/B;QACF,CAAC,EACAoD,GAAA,CAAI;MACT;MAEA,IAAItB,kBAAA,KAAuB,mBAAmB;QAE5C,OAAOiB,IAAA,CAAKE,KAAA,CAAOC,EAAA,IAAYA,EAAA,CAAGC,MAAA,CAAO,MAAM,KAAK,KAAK,CAAC,EAAEC,GAAA,CAAI;MAClE;MAKA,OAAOL,IAAA,CACJE,KAAA,CAAOC,EAAA,IAAY;QAClB,OAAOhB,kBAAA,CAAmBoB,oBAAA,CACxB1E,OAAA,CAAQ,GACRsE,EAAA,EACAJ,IAAA,KAAUS,CAAA,IAAWA,CAAA,CAAEC,GAAA,CAAI,IAC3Bd,IAAA,CAAKM,OAAA,EACLH,KACF;MACF,CAAC,EACAO,GAAA,CAAI;IACT;IACAT,kBAAA,CAAmBE,KAAK,IAAIJ,EAAA;IAC5BjD,aAAA,CAAciD,EAAA,EAAI,cAAcI,KAAK,EAAE;IACvC,OAAOJ,EAAA;EACT;EAEAL,iBAAA,CAAkB,YAAY,IAAI,CAAC;EACnC,WAAW,CAACS,KAAK,KAAKvD,0BAAA,CAA2B,GAAG;IAClD,MAAMmD,EAAA,GAAKG,uBAAA,CAAwBC,KAAK;IACxCT,iBAAA,CAAkB,YAAY,EAAES,KAAK,IAAInF,WAAA,CAAY,CAAC;MAAEgF;IAAK,MAAWD,EAAA,CAAGC,IAAI,CAAC;EAClF;EAGA,MAAMe,aAAA,GAAgBhG,aAAA,CAAc2E,iBAAiB;EAKrD,MAAM7B,QAAA,GAAWlB,sBAAA,CAAuB;IACtCmD,IAAA,EAAMT,YAAA;IACN2B,UAAA,EAAYzC,MAAA,CAAO0C,IAAA,CAAKhC,MAAM;IAC9B8B,aAAA;IACAG,UAAA,EAAY3C,MAAA,CAAOsB,OAAA,CAAQX,cAAc,EAAEiC,OAAA,CAAQ,CAAC,CAACxB,SAAA,EAAWC,OAAO,MACrErB,MAAA,CAAO0C,IAAA,CAAKrB,OAAO,EAAEwB,GAAA,CAAKtB,IAAA,IAAS,GAAGH,SAAS,IAAIG,IAAI,EAAE,CAC3D;EACF,CAAC;EACD,MAAMuB,WAAA,GAAcxD,QAAA,CAASyD,OAAA;EAM7BtE,gBAAA,CAAiB+D,aAAa;EAE9B,MAAMQ,eAAA,GAAkBlG,aAAA,CAAgC,KAAK;EAC7D,MAAMmG,6BAAA,GAAgCnG,aAAA,CAA6C,IAAI;EACvF,MAAMoG,uBAAA,GAA0B,mBAAIC,OAAA,CAAwC;EAE5E,SAASC,0BAAA,EAA2D;IAClE,OAAOpG,UAAA,CAAWiG,6BAA6B;EACjD;EAEA,SAASI,0BAA0BC,YAAA,EAAoD;IACrF,MAAMC,QAAA,GAAWL,uBAAA,CAAwBxD,GAAA,CAAI4D,YAAY;IACzD,IAAIC,QAAA,EAAU,OAAOA,QAAA;IACrB,MAAMC,UAAA,GAAa;MACjBC,SAAA,EAAWA,CAAA,KAAMX,WAAA,CAAYY,IAAA,KAASJ;IACxC;IACAJ,uBAAA,CAAwBS,GAAA,CAAIL,YAAA,EAAcE,UAAU;IACpD,OAAOA,UAAA;EACT;EAMA,IAAII,cAAA,GAA2D;EAC/D,MAAMC,mBAAA,GAAsB,mBAAIV,OAAA,CAG9B;EACF,SAASW,kBAAA,EAAoB;IAC3BF,cAAA,KAAmBnG,cAAA,CAAe;MAChCiD,MAAA;MACAQ,WAAA,EAAa;MACb6C,QAAA,EAAU;MACVC,OAAA,EAAS/C,kBAAA,CAAmB+C,OAAA;MAC5BpD;IACF,CAAC;IACD,OAAOgD,cAAA;EACT;EAeA,SAASK,sBAAsB;IAC7B1D,OAAA;IACA2D,SAAA;IACAC,YAAA;IACAC,cAAA;IACAC,YAAA;IACAC;EACF,GAA4C;IAC1C,IAAIC,kBAAA;IAIJ,IAAIL,SAAA,EAAW;MAGb,MAAMM,SAAA,GAAYjE,OAAA,CAAQkE,QAAA,IAAYlE,OAAA,CAAQmE,MAAA;MAC9C,IAAI,OAAOF,SAAA,KAAc,UAAU;QACjC,MAAM,IAAInE,KAAA,CAAM,wCAAwC;MAC1D;MACAkE,kBAAA,GAAqBL,SAAA,CAAUS,OAAA,CAAQH,SAAS;IAClD;IAIA,MAAMI,WAAA,GAAgD;MAAEC,OAAA,EAAS;IAAK;IACtE,MAAMC,YAAA,GAAiC;MACrCC,gBAAA,EAAkBA,CAAA,KAAMC,kBAAA,CAAmBJ,WAAA,CAAYC,OAAO;MAC9DI,UAAA;MACAd,YAAA;MACAC,cAAA;MACAC,YAAA;MACAC,iBAAA,EAAmB,CACjB,IAAIJ,SAAA,EAAWgB,kBAAA,EAAoBC,MAAA,IAAU,EAAC,GAC9C,IAAIb,iBAAA,IAAqB,EAAC,EAC5B;MACAc,UAAA,EAAYA,CAAA,KAAMC,iBAAA,CAAkBC,KAAA,CAAM;MAC1CC,cAAA,EAAgBA,CAAA,KAAMC,MAAA,CAAO;QAAEC,cAAA,EAAgB;MAAM,CAAC;IACxD;IACA,MAAMC,QAAA,GAAWzH,gBAAA,CAAiB6G,YAAY;IAC9C,MAAMa,eAAA,GAAkB,IAAIhJ,UAAA,CAAiC;MAC3DiJ,OAAA,EAAS;MACT,GAAGrF,OAAA;MACHE,MAAA;MAAA;MAEAoF,QAAA,EAAU/B,iBAAA,CAAkB;MAAA;MAAA;MAAA;MAAA;MAK5BgC,OAAA,EAASvF,OAAA,CAAQuF,OAAA,IAAW/H,sBAAA,CAAuB+G,YAAY;MAAA;MAAA;MAAA;MAAA;MAK/DiB,cAAA,EAAgBxF,OAAA,CAAQwF,cAAA,IAAkBL,QAAA,CAASK,cAAA;MACnDC,qBAAA,EACEzF,OAAA,CAAQyF,qBAAA,IAAyBN,QAAA,CAASM;IAC9C,CAAC;IACDpB,WAAA,CAAYC,OAAA,GAAUc,eAAA;IACtB,IAAIpB,kBAAA,EAAoBV,mBAAA,CAAoBF,GAAA,CAAIgC,eAAA,EAAiBpB,kBAAkB;IACnF,OAAOoB,eAAA;EACT;EAMA,SAASM,oBAAoB3C,YAAA,EAAqC;IAChE,IAAIA,YAAA,KAAiBR,WAAA,CAAYY,IAAA,EAAM,OAAO;IAI9C,IAAIZ,WAAA,CAAYY,IAAA,EAAM2B,iBAAA,CAAkBC,KAAA,CAAM;IAC9CxC,WAAA,CAAYY,IAAA,GAAOJ,YAAA;IACnB+B,iBAAA,CAAkBa,QAAA,CAAS;IAC3B,MAAMC,MAAA,GAAqBA,CAACC,KAAA,EAAO7F,OAAA,KAAY+C,YAAA,CAAa+C,GAAA,CAAID,KAAA,EAAc7F,OAAO;IAGrFjB,QAAA,CAAS6G,MAAA,GAASA,MAAA;IAClBnH,SAAA,CAAUmH,MAAM;IAChB,MAAMG,OAAA,GAAU,CAAC,GAAGxD,WAAA,CAAYyD,YAAY;IAC5CzD,WAAA,CAAYyD,YAAA,CAAaC,KAAA,CAAM;IAC/B,WAAWC,OAAA,IAAWH,OAAA,EAASG,OAAA,CAAQnD,YAAY;IACnD,OAAO;EACT;EAEA,SAASoD,YAAY;IAAEC;EAAO,IAAwB,CAAC,GAA0B;IAC/E,IAAI7D,WAAA,CAAYY,IAAA,EAAM,OAAOkD,OAAA,CAAQC,OAAA,CAAQ/D,WAAA,CAAYY,IAAI;IAC7D,IAAIiD,MAAA,EAAQG,OAAA,EAAS;MACnB,OAAOF,OAAA,CAAQG,MAAA,CACbJ,MAAA,CAAOK,MAAA,IAAU,IAAI3G,KAAA,CAAM,2CAA2C,CACxE;IACF;IAEA,OAAO,IAAIuG,OAAA,CAAQ,CAACC,OAAA,EAASE,MAAA,KAAW;MACtC,MAAMN,OAAA,GAAWnH,SAAA,IAA2B;QAC1CqH,MAAA,EAAQM,mBAAA,CAAoB,SAASC,OAAO;QAC5CL,OAAA,CAAQvH,SAAQ;MAClB;MACA,MAAM4H,OAAA,GAAUA,CAAA,KAAM;QACpBpE,WAAA,CAAYyD,YAAA,CAAaY,MAAA,CAAOV,OAAO;QACvCM,MAAA,CAAOJ,MAAA,EAAQK,MAAA,IAAU,IAAI3G,KAAA,CAAM,2CAA2C,CAAC;MACjF;MACAyC,WAAA,CAAYyD,YAAA,CAAaa,GAAA,CAAIX,OAAO;MACpCE,MAAA,EAAQU,gBAAA,CAAiB,SAASH,OAAA,EAAS;QAAEI,IAAA,EAAM;MAAK,CAAC;IAC3D,CAAC;EACH;EAQA,SAASC,eAAeC,IAAA,EAAqB;IAC3C,MAAMX,OAAA,GAAUA,CAAA,KAAM;MACpB,IAAI/D,WAAA,CAAYY,IAAA,KAAS,MAAM;QAC7B,MAAM,IAAIrD,KAAA,CACR,wFACF;MACF;MACA,IAAIoH,MAAA,GAAc3E,WAAA,CAAYY,IAAA,CAAKgE,MAAA;MACnC,WAAWnI,GAAA,IAAOiI,IAAA,EAAM;QACtB,IAAIC,MAAA,IAAU,MAAM;QACpBA,MAAA,GAASA,MAAA,CAAOlI,GAAG;MACrB;MACA,IAAI,OAAOkI,MAAA,KAAW,YAAY;QAChC,MAAME,KAAA,GAAQH,IAAA,CAAKI,MAAA,GAAS,IAAIJ,IAAA,CAAKK,IAAA,CAAK,GAAG,IAAI;QACjD,MAAM,IAAIxH,KAAA,CACR,uBAAuBsH,KAAK,gDAC9B;MACF;MACA,OAAOF,MAAA;IACT;IACA,OAAO,IAAIK,KAAA,CAAM,SAASC,YAAA,EAAc,CAAC,GAAU;MACjDrI,IAAIsI,CAAA,EAAGzI,GAAA,EAAK;QACV,IAAI,OAAOA,GAAA,KAAQ,UAAU,OAAO;QACpC,OAAOgI,cAAA,CAAe,CAAC,GAAGC,IAAA,EAAMjI,GAAG,CAAC;MACtC;MACA0I,MAAMD,CAAA,EAAGE,EAAA,EAAIzG,IAAA,EAAM;QAIjB4D,iBAAA,CAAkB8C,cAAA,CAAe;QACjC,IAAI;UACF,MAAMC,MAAA,GAASvB,OAAA,CAAQ,EAAE,GAAGpF,IAAI;UAChC4D,iBAAA,CAAkBgD,aAAA,CAAcD,MAAM;UACtC,KAAKlK,eAAA,CAAgBkK,MAAM;UAC3B,OAAOA,MAAA;QACT,SAASE,KAAA,EAAO;UACdnK,6BAAA,CAA8BmK,KAAK;UACnC,MAAMA,KAAA;QACR;MACF;IACF,CAAC;EACH;EAIA,MAAM5E,IAAA,GAAqB,IAAIoE,KAAA,CAAM,CAAC,GAAY;IAChDpI,IAAIsI,CAAA,EAAGzI,GAAA,EAAK;MAIV,IAAIA,GAAA,KAAQ,UAAU,OAAOgI,cAAA,CAAe,EAAE;MAY9C,IAAI,OAAOhI,GAAA,KAAQ,YAAYA,GAAA,KAAQ,aAAa,OAAO;MAC3D,IAAIuD,WAAA,CAAYY,IAAA,KAAS,MAAM;QAC7B,MAAM,IAAIrD,KAAA,CACR,wFACF;MACF;MACA,IAAId,GAAA,KAAQ,UAAU;QACpB,MAAMgJ,gBAAA,GAAmBzF,WAAA,CAAYY,IAAA;QACrC,OAAO,MAAMsB,kBAAA,CAAmBuD,gBAAgB;MAClD;MACA,OAAOlJ,iBAAA,CAAkByD,WAAA,CAAYY,IAAA,EAAMnE,GAAG;IAChD;EACF,CAAC;EAKD,MAAMiJ,YAAA,GAAe1H,YAAA,KAAiB,YAAY,KAAK,IAAIA,YAAY;EAEvE,MAAMmE,UAAA,GAAgCvH,aAAA,CACpC,OAAO8K,YAAY,IACnB,IACF;EAEA,MAAMC,2BAAA,GACJC,MAAA,CAAOC,QAAA,CAAS5H,iCAAiC,KACjDA,iCAAA,IAAqC,IACjC6H,IAAA,CAAKC,KAAA,CAAM9H,iCAAiC,IAC5C;EACN,MAAMsE,iBAAA,GAAoBxH,uBAAA,CAAwB;IAChD4K,2BAAA;IACAK,qBAAA,EAAwBC,KAAA,IAAU;MAChC,KAAKC,gBAAA,CACH,sBACA,GAAGD,KAAA,CAAMpB,KAAK,qCAAqCoB,KAAA,CAAME,mBAAmB,uBAAuBF,KAAA,CAAMG,SAAS,UACpH;IACF;EACF,CAAC;EACD,IAAIpG,WAAA,CAAYY,IAAA,EAAM2B,iBAAA,CAAkBa,QAAA,CAAS;EAEjD,MAAMiD,mBAAA,GAAsBnI,oBAAA,GACxBtD,aAAA,CAAsB,wBAAwB8K,YAAY,IAAI,CAAC,IAC/D;EAEJ,MAAMY,eAAA,GAAkBtM,aAAA,CAAwB,CAAC,CAAa;EAE9D,MAAMuM,QAAA,GAAW9L,cAAA,CAAuB;IACtCyF,eAAA;IACAR;EACF,CAAC;EAED,MAAMpC,cAAA,GAAiBY,oBAAA,GACnBA,oBAAA,CAAqB;IACnBgC,eAAA;IACAR,aAAA;IACA8G,OAAA,EAASA,CAAA,KAAMxG,WAAA,CAAYY,IAAA;IAC3B6F,WAAA,EAAaJ;EACf,CAAC,IACDhJ,+BAAA,CAAwC;EAS5C,MAAMqJ,mBAAA,GAAuBC,YAAA,IAAuC;IAClE,IAAI3L,iBAAA,EAAmB;MACrB,OAAQ,MAAM;IAMhB;IACA,OAAO,SAAS4L,eACd9H,KAAA,EACAG,OAAA,EACA4H,OAAA,GAAU,OAAO5H,OAAA,KAAY,aAC7B6H,KAAA,GAAQ,OACQ;MAChB,MAAMC,WAAA,GAAc7M,UAAA,CAAWgG,eAAe;MAC9C,MAAM8G,OAAA,GAAU1M,MAAA,CAAuB,IAAI;MAC3C,MAAM2M,QAAA,GAAWnI,KAAA;MACjB,MAAMoI,OAAA,GAAUtI,kBAAA,CAAmBqI,QAAQ;MAI3C,MAAME,IAAA,GAAOtM,OAAA,CAAQ;MACrB,MAAMuM,IAAA,GAAOD,IAAA,EAAME,EAAA,IAAM;MAEzB,MAAM,CAACC,IAAA,EAAMC,MAAM,IAAIZ,YAAA,CACrBO,OAAA,EACA;QAAEjI,OAAA;QAAyBmI;MAAK,GAChC;QAAEP,OAAA,EAASW,OAAA,CAAQ,CAACT,WAAA,IAAeF,OAAA,IAAW5H,OAAA,IAAWiI,OAAO;MAAE,CACpE;MAEA,IAAIJ,KAAA,EAAO;QACTW,OAAA,CAAQC,IAAA,CAAK,mBAAmB;UAAE5I,KAAA;UAAOG,OAAA;UAASqI,IAAA;UAAMC;QAAO,CAAC;MAClE;MAEA,IAAI,CAACtI,OAAA,EAAS,OAAO;MAGrB,MAAMqG,MAAA,GAASiC,MAAA,CAAOI,IAAA,KAAS,YAAY,OAAOH,OAAA,CAAQF,IAAI;MAE9D,IAAI,CAACP,WAAA,EAAa;QAChBC,OAAA,CAAQjF,OAAA,GAAUuD,MAAA;QAClB,OAAOA,MAAA;MACT;MAEA,IAAIyB,WAAA,KAAgB,cAAc;QAChC,OAAOC,OAAA,CAAQjF,OAAA;MACjB;MAEA,OAAO;IACT;EACF;EAEA,MAAM6E,aAAA,GAAgBF,mBAAA,CAAoBH,QAAQ;EAClD,MAAMqB,mBAAA,GAAsBlB,mBAAA,CAAoBpJ,cAAc;EAsB9D,IAAIuK,UAAA,GAAqC;EAOzC,MAAMC,WAAA,GAAc,mBAAIC,GAAA,CAA6B;EASrD,MAAMC,eAAA,GAAkB;EACxB,MAAMC,mBAAA,GAAsB;EAC5B,MAAMC,uBAAA,GAA0B;EAChC,MAAMC,aAAA,GAA+C;IAAEC,IAAA,EAAM;EAAK;EAClE,IAAIC,YAAA,GAAe;EACnB,IAAIC,cAAA,GAAiB;EAErB,SAASC,sBAAsBC,oBAAA,EAA6C;IAC1E,IAAIxI,WAAA,CAAYY,IAAA,KAAS4H,oBAAA,EAAsB,OAAO;IACtDxI,WAAA,CAAYY,IAAA,GAAO;IACnBpE,QAAA,CAAS6G,MAAA,GAAS;IAClBnH,SAAA,CAAU,IAAI;IACd,OAAO;EACT;EAEA,SAASuM,4BAA4BD,oBAAA,EAA6C;IAChF,IAAIX,UAAA,EAAYrL,QAAA,KAAagM,oBAAA,EAAsB;MACjDX,UAAA,GAAa;IACf;IACA,OAAOU,qBAAA,CAAsBC,oBAAoB;EACnD;EAEA,SAASE,uBAAuBF,oBAAA,EAAiD;IAC/E,IAAI,CAACA,oBAAA,EAAsB;IAE3BjG,iBAAA,CAAkBC,KAAA,CAAM;IACxB,IAAIiG,2BAAA,CAA4BD,oBAAoB,GAAG;MACrDnC,mBAAA,EAAqBsC,IAAA,CAAKtC,mBAAA,CAAoB3J,KAAA,GAAQ,CAAC;IACzD;IACA,IAAI;MACF8L,oBAAA,CAAqBI,KAAA,CAAM;IAC7B,QAAQ,CAER;EACF;EAEA,eAAe1G,mBACbuD,gBAAA,EACkB;IAClBlD,iBAAA,CAAkBC,KAAA,CAAM;IACxB,IAAI;MACF,OAAO,MAAMiD,gBAAA,EAAkBpB,MAAA,CAAO;IACxC,UAAE;MACAqE,sBAAA,CAAuBjD,gBAAgB;IACzC;EACF;EAOA,eAAe/C,OAAOmG,IAAA,GAAqC,CAAC,GAAqB;IAG/E,IAAI,CAACV,aAAA,CAAcC,IAAA,EAAM,OAAO;IAChC,MAAMU,GAAA,GAAMC,IAAA,CAAKD,GAAA,CAAI;IACrB,MAAME,SAAA,GAAYF,GAAA,GAAMT,YAAA;IACxB,IAAIA,YAAA,GAAe,KAAKW,SAAA,GAAYhB,eAAA,EAAiB,OAAO;IAC5D,IAAIgB,SAAA,GAAYd,uBAAA,EAAyBI,cAAA,GAAiB;IAC1D,IAAIA,cAAA,IAAkBL,mBAAA,EAAqB,OAAO;IAClDI,YAAA,GAAeS,GAAA;IACfR,cAAA,IAAkB;IAElB,MAAM;MAAE3F,cAAA,GAAiB;IAAK,IAAIkG,IAAA;IAClC,IAAIlG,cAAA,IAAkB3C,WAAA,CAAYY,IAAA,EAAM;MACtC,MAAMsB,kBAAA,CAAmBlC,WAAA,CAAYY,IAAI,EAAEqI,KAAA,CAAM,MAAM,CAAC,CAAC;IAC3D;IAEA,MAAMb,IAAA,GAAOD,aAAA,CAAcC,IAAA;IAC3B,IAAI,CAACA,IAAA,EAAM,OAAO;IAClBA,IAAA,CAAK;IACL,OAAO;EACT;EAUA,eAAec,OAAA,EAAwB;IACrC,MAAMC,MAAA,GAAS,CAAC,GAAGrB,WAAA,CAAYsB,MAAA,CAAO,CAAC;IACvCtB,WAAA,CAAYpE,KAAA,CAAM;IAClB,MAAM2F,IAAA,GAAOrJ,WAAA,CAAYY,IAAA,IAAQiH,UAAA,EAAYrL,QAAA,IAAY;IACzDqL,UAAA,GAAa;IACbQ,YAAA,GAAe;IACfC,cAAA,GAAiB;IACjB,MAAMpG,kBAAA,CAAmBmH,IAAI,EAAEJ,KAAA,CAAM,MAAM,CAAC,CAAC;IAG7C,WAAW;MAAEzM,QAAA,EAAU8M;IAAe,KAAKH,MAAA,EAAQ;MACjD,IAAIG,cAAA,KAAmBD,IAAA,EAAM;MAC7B,IAAI;QACF,MAAMC,cAAA,CAAejF,MAAA,CAAO;MAC9B,QAAQ,CAER;MACA,IAAI;QACFiF,cAAA,CAAeV,KAAA,CAAM;MACvB,QAAQ,CAER;IACF;IACAT,aAAA,CAAcC,IAAA,GAAO;EACvB;EAEA,SAASmB,oBAAoBC,KAAA,EAAwD;IACnF,MAAMzH,OAAA,GAAUI,UAAA,CAAWzF,KAAA;IAC3B,IACEqF,OAAA,EAAS4F,IAAA,KAAS,eAClB5F,OAAA,CAAQwF,MAAA,KAAWiC,KAAA,CAAMjC,MAAA,KACxB,eAAexF,OAAA,GAAUA,OAAA,CAAQ0H,SAAA,GAAY,aAC3C,eAAeD,KAAA,GAAQA,KAAA,CAAMC,SAAA,GAAY,YAC3C,YAAY1H,OAAA,GAAUA,OAAA,CAAQmC,MAAA,GAAS,aACrC,YAAYsF,KAAA,GAAQA,KAAA,CAAMtF,MAAA,GAAS,SACtC;MACA;IACF;IACA/B,UAAA,CAAWwG,IAAA,CAAKa,KAAK;EACvB;EAEA,eAAetD,iBACbuD,SAAA,EACAvF,MAAA,EACkB;IAClBqF,mBAAA,CAAoB;MAAE5B,IAAA,EAAM;MAAaJ,MAAA,EAAQ;MAAUkC,SAAA;MAAWvF;IAAO,CAAC;IAC9E,OAAOxB,MAAA,CAAO;MAAEC,cAAA,EAAgB;IAAM,CAAC;EACzC;EAEA,SAAS+G,WAAA,EAAsB;IAC7B,MAAMC,QAAA,GAAWC,UAAA,CAAWD,QAAA;IAC5B,IAAI,CAACA,QAAA,EAAUE,MAAA,EAAQ,OAAO;IAC9BF,QAAA,CAASE,MAAA,CAAO;IAChB,OAAO;EACT;EAqBA,MAAMC,mCAAA,GAAsC;IAC1C/H,OAAA,EAAS;MAAEtD,IAAA,EAAM;IAAkB;IACnCsL,SAAA,EAAWA,CAAA,KAAM,MAAM,CAAC;EAC1B;EACA,MAAMC,kBAAA,GAAqB;IACzBC,QAAA,EAAU;IACVC,OAAA,EAAS,CAAC;IACVC,UAAA,EAAY;MAAEC,KAAA,EAAON;IAAoC;IACzDO,WAAA,EAAaA,CAAA,MAAO;MAClBC,WAAA,EAAaA,CAAA,KAAM,CAAC;MACpBC,OAAA,EAASA,CAAA,KAAM,CAAC;MAChBC,SAAA,EAAWA,CAAA,KAAM,CAAC;IACpB;EACF;EA+CA,MAAMC,iBAAA,GAAoBA,CAAC;IAAEC,QAAA;IAAUzJ,QAAA,EAAU0J;EAAW,MAAwB;IAClF,OACE,eAAAvO,GAAA,CAACkK,eAAA,CAAgBsE,QAAA,EAAhB;MAAyBlO,KAAA,EAAQiO,UAAA,IAAc,CAAC;MAC/CD,QAAA,iBAAAtO,GAAA,CAAC8D,eAAA,CAAgB0K,QAAA,EAAhB;QAAyBlO,KAAA,EAAM;QAC9BgO,QAAA,iBAAAtO,GAAA,CAACrC,WAAA,CAAY6Q,QAAA,EAAZ;UAAqBlO,KAAA,EAAOsN,kBAAA;UAC3BU,QAAA,iBAAArO,IAAA,CAAC8D,6BAAA,CAA8ByK,QAAA,EAA9B;YAAuClO,KAAA,EAAO;YAQ5CgO,QAAA,SACA,MACAA,QAAA;UAAA,CACH;QAAA,CACF;MAAA,CACF;IAAA,CACF;EAEJ;EAEA,MAAMG,iBAAA,GAAoBA,CAAC;IACzBH,QAAA;IACAzJ,QAAA,EAAU0J,UAAA;IACVvJ,SAAA;IACAC,YAAA;IACAC,cAAA;IACAC,YAAA;IACAC,iBAAA;IACAsJ,WAAA;IACAC,iBAAA;IACAC,OAAA;IACA,GAAGC;EACL,MAAwB;IAKtB,MAAM9D,IAAA,GAAO,UAAU8D,KAAA,GAASA,KAAA,CAAmC9D,IAAA,GAAO;IAC1E,MAAM+D,OAAA,GAAU,OAAO/D,IAAA,KAAS;IAMhC,MAAMgE,iBAAA,GAAoB7Q,MAAA,CAAwBqQ,UAAA,IAAc,IAAI;IACpE,IAAIA,UAAA,EAAY;MACdQ,iBAAA,CAAkBpJ,OAAA,GAAU4I,UAAA;IAC9B,WAAW,CAACO,OAAA,EAAS;MACnBC,iBAAA,CAAkBpJ,OAAA,GAAU;IAC9B;IACA,MAAMd,QAAA,GAAY0J,UAAA,IAAcQ,iBAAA,CAAkBpJ,OAAA,IAAW;IAI7DlG,WAAA,CAAYoF,QAAQ;IAKpB,MAAMmK,SAAA,GAAYtQ,oBAAA,CAAqB;IACvC,MAAMuQ,WAAA,GAAcD,SAAA,GAChB;MAAE,GAAGH,KAAA;MAAOK,UAAA,EAAY,GAAGF,SAAS,IAAIH,KAAA,CAAMK,UAAA,IAAc,MAAM;IAAG,IACrEL,KAAA;IAKFrB,UAAA,CAAwC2B,UAAA,GAAa3K,IAAA;IAIvDzG,SAAA,CAAU,MAAM;MACd,IAAI,OAAOqR,MAAA,KAAW,eAAe,OAAOA,MAAA,CAAO7B,QAAA,KAAa,aAAa;MAC7E,IAAI,CAAC,IAAI8B,eAAA,CAAgBD,MAAA,CAAO7B,QAAA,CAAS+B,MAAM,EAAEC,GAAA,CAAI,OAAO,GAAG;MAC/D,MAAMC,GAAA,GAAM,IAAIC,GAAA,CAAIL,MAAA,CAAO7B,QAAA,CAASmC,IAAI;MACxCF,GAAA,CAAIG,YAAA,CAAa1H,MAAA,CAAO,OAAO;MAC/B,KAAK3J,mBAAA,CAAoB;QACvBsR,SAAA,EAAW,MAAAA,CAAA,KAAYpL,IAAA,CAAKgI,KAAA,CAAM;QAClCiB,MAAA,EAAQ;MACV,CAAC,EAAEoC,IAAA,CAAK,MAAM;QACZT,MAAA,CAAO7B,QAAA,CAASuC,OAAA,CAAQN,GAAA,CAAIO,QAAA,CAAS,CAAC;MACxC,CAAC;IACH,GAAG,EAAE;IAML,MAAM,CAACC,gBAAA,EAAkBC,mBAAmB,IAAI9R,QAAA,CAAS,CAAC;IAC1DJ,SAAA,CAAU,MAAM;MACdgO,aAAA,CAAcC,IAAA,GAAO,MAAMiE,mBAAA,CAAqB3L,UAAA,IAAeA,UAAA,GAAa,CAAC;MAC7E,OAAO,MAAM;QACXyH,aAAA,CAAcC,IAAA,GAAO;MACvB;IACF,GAAG,EAAE;IAOL,MAAMkE,WAAA,GAAcC,IAAA,CAAKC,SAAA,CAAU,CACjCtP,MAAA,CAAOsB,OAAA,CAAQ;MAAEsE,OAAA,EAAS;MAAO,GAAGuI;IAAY,CAAC,EAC9CoB,MAAA,CACC,CAAC,CAAChQ,GAAA,EAAKC,KAAK,MACVD,GAAA,KAAQ,UAAU,OAAOC,KAAA,KAAU,cAAcA,KAAA,KAAU,MAC/D,EACCgQ,IAAA,CAAK,CAAC,CAACC,CAAC,GAAG,CAACC,CAAC,MAAOD,CAAA,GAAIC,CAAA,GAAI,KAAK,CAAE,GACtC1B,OAAA,EACA9J,SAAA,EACAI,iBAAA,EAAmBzB,GAAA,CAAK8M,OAAA,IACtB,OAAOA,OAAA,KAAY,WAAWA,OAAA,GAAU,IAAIA,OAAA,CAAQC,MAAM,IAAID,OAAA,CAAQE,KAAK,EAC7E,GACAX,gBAAA,CACD;IAgBD,IAAIY,YAAA;IACJ,IAAIhC,OAAA,IAAWnD,UAAA,IAAcA,UAAA,CAAWpL,GAAA,KAAQ6P,WAAA,EAAa;MAC3DxE,WAAA,CAAYjH,GAAA,CAAIgH,UAAA,CAAWpL,GAAA,EAAKoL,UAAU;MAC1CA,UAAA,GAAa;IACf;IACA,IAAIoF,UAAA,GAAqC;IACzC,IAAI,CAACjC,OAAA,EAAS;MACZ,IAAInD,UAAA,EAAYpL,GAAA,KAAQ6P,WAAA,EAAa;QACnC,IAAIzE,UAAA,EAAYC,WAAA,CAAYjH,GAAA,CAAIgH,UAAA,CAAWpL,GAAA,EAAKoL,UAAU;QAC1D,MAAMqF,OAAA,GAAUpF,WAAA,CAAYlL,GAAA,CAAI0P,WAAW;QAC3CxE,WAAA,CAAYzD,MAAA,CAAOiI,WAAW;QAC9B,MAAMa,cAAA,GAAiBD,OAAA,IAAW;UAChCzQ,GAAA,EAAK6P,WAAA;UACLnF,IAAA;UACA3K,QAAA,EAAU2E,qBAAA,CAAsB;YAC9B1D,OAAA,EAAS4N,WAAA;YAITjK,SAAA;YACAC,YAAA;YACAC,cAAA;YACAC,YAAA;YACAC;UACF,CAAC;QACH;QACAqG,UAAA,GAAasF,cAAA;MACf;MACAF,UAAA,GAAapF,UAAA;MACbmF,YAAA,GAAeC,UAAA,CAAWzQ,QAAA;IAC5B;IAMAnC,eAAA,CAAgB,MAAM;MACpB,IAAI2Q,OAAA,IAAWhL,WAAA,CAAYY,IAAA,EAAM;QAC/B2B,iBAAA,CAAkBC,KAAA,CAAM;QACxB+F,qBAAA,CAAsBvI,WAAA,CAAYY,IAAI;MACxC;IACF,GAAG,CAACoK,OAAO,CAAC;IAQZ7Q,SAAA,CAAU,MAAM;MACd,IAAI2N,WAAA,CAAYsF,IAAA,KAAS,GAAG;MAC5B,MAAMC,QAAA,GAAW,CAAC,GAAGvF,WAAA,CAAYsB,MAAA,CAAO,CAAC;MACzCtB,WAAA,CAAYpE,KAAA,CAAM;MAIlB,WAAW;QAAElH,QAAA,EAAUgE;MAAa,KAAK6M,QAAA,EAAU7M,YAAA,CAAaoI,KAAA,CAAM;IACxE,CAAC;IAWDzO,SAAA,CAAU,MAAM;MACd,IAAI,CAAC8S,UAAA,IAAc,OAAO9F,IAAA,KAAS,YAAY8F,UAAA,CAAW9F,IAAA,KAASA,IAAA,EAAM;MACzE8F,UAAA,CAAW9F,IAAA,GAAOA,IAAA;MAClB8F,UAAA,CAAWzQ,QAAA,CAAS2N,UAAA,CAAWmD,OAAA,CAAQ;QAAEnG;MAAK,CAAC;IACjD,GAAG,CAAC8F,UAAA,EAAY9F,IAAI,CAAC;IAQrB,OACE,eAAA/K,GAAA,CAACkK,eAAA,CAAgBsE,QAAA,EAAhB;MAAyBlO,KAAA,EAAOuE,QAAA;MAC/ByJ,QAAA,iBAAAtO,GAAA,CAAC8D,eAAA,CAAgB0K,QAAA,EAAhB;QAAyBlO,KAAA,EAAOsQ,YAAA,GAAe,QAAQ;QACtDtC,QAAA,iBAAAtO,GAAA,CAACrC,WAAA,CAAY6Q,QAAA,EAAZ;UAAqBlO,KAAA,EAAOsQ,YAAA,IAAiBhD,kBAAA;UAC5CU,QAAA,iBAAArO,IAAA,CAAC8D,6BAAA,CAA8ByK,QAAA,EAA9B;YACClO,KAAA,EAAOsQ,YAAA,GAAezM,yBAAA,CAA0ByM,YAAY,IAAI;YAE/DtC,QAAA,GAAAsC,YAAA,GAAe,eAAA5Q,GAAA,CAACmR,eAAA,IAAgB,IAAK,MACrCP,YAAA,GACC,eAAA5Q,GAAA,CAACoR,iBAAA;cACCrL,UAAA;cACAgF,IAAA;cACA2D,WAAA;cACA2C,aAAA,EAAe1C,iBAAA;cACf2C,eAAA,EACE3C,iBAAA,GACME,KAAA,CAAiDtJ,QAAA,IAClDsJ,KAAA,CAAiDrJ,MAAA,GAClD;YAAA,CAER,IACE,MACH8I,QAAA;UAAA,CACH;QAAA,CACF;MAAA,CACF;IAAA,CACF;EAEJ;EAEA,MAAMiD,WAAA,GAAc3S,iBAAA,GAAoByP,iBAAA,GAAoBI,iBAAA;EAE5D,MAAM0C,eAAA,GAAkBA,CAAA,KAAM;IAC5B,MAAM/M,YAAA,GAAe1G,OAAA,CAA8B;IAGnDqJ,mBAAA,CAAoB3C,YAAY;IAEhCpG,kBAAA,CAAmB,MAAM;MAKvB+I,mBAAA,CAAoB3C,YAAY;MAChC,OAAO,MAAM;QACX,IAAI,CAAC+H,qBAAA,CAAsB/H,YAAY,GAAG;QAC1C+B,iBAAA,CAAkBC,KAAA,CAAM;MAC1B;IACF,GAAG,CAAChC,YAAY,CAAC;IAEjBrG,SAAA,CAAU,MAAM;MACdkM,mBAAA,EAAqBsC,IAAA,CAAKtC,mBAAA,CAAoB3J,KAAA,GAAQ,CAAC;IACzD,GAAG,CAAC8D,YAAY,CAAC;IAEjB,OAAO;EACT;EAWA,SAASoN,gBACP3C,KAAA,EAYoD;IACpD,MAAM;MACJhK,QAAA;MACAG,SAAA;MACAC,YAAA;MACAC,cAAA;MACAC,YAAA;MACAC,iBAAA;MACAsJ,WAAA;MACA,GAAGrN;IACL,IAAIwN,KAAA;IAGJpP,WAAA,CAAaoF,QAAA,IAAY,IAAiB;IAC1C,MAAMT,YAAA,GAAeW,qBAAA,CAAsB;MACzC1D,OAAA;MACA2D,SAAA;MACAC,YAAA;MACAC,cAAA;MACAC,YAAA;MACAC;IACF,CAAC;IACD2B,mBAAA,CAAoB3C,YAAY;IAChC6F,mBAAA,EAAqBsC,IAAA,CAAKtC,mBAAA,CAAoB3J,KAAA,GAAQ,CAAC;IACvD,MAAMmR,OAAA,GAAUC,mBAAA,CAAoB;MAClCtN,YAAA;MACA2G,IAAA,EAAM1J,OAAA,CAAQ0J,IAAA;MACd2D;IACF,CAAC;IACD,OAAO;MACLlK,IAAA,EAAMJ,YAAA;MACNoI,KAAA,EAAO,MAAAA,CAAA,KAAY;QACjBiF,OAAA,CAAQ;QACRpF,2BAAA,CAA4BjI,YAAY;QACxC+B,iBAAA,CAAkBC,KAAA,CAAM;QACxB,MAAMhC,YAAA,CAAaoI,KAAA,CAAM;MAC3B;IACF;EACF;EAOA,SAASkF,oBAAoBnP,IAAA,EAMd;IACb,MAAM;MAAE6B,YAAA;MAAc2G,IAAA;MAAM2D,WAAA;MAAa2C,aAAA;MAAeC;IAAgB,IAAI/O,IAAA;IAC5E,IAAIoP,SAAA,GAAYvN,YAAA,CAAa2J,UAAA,CAAWC,KAAA,CAAMrI,OAAA,CAAQtD,IAAA;IACtD,IAAIuP,YAAA,GAAe;IACnB,IAAIC,MAAA,GAAS;IACb,IAAIC,UAAA,GAAa/G,IAAA;IACjB,MAAMgH,gBAAA,GACJhM,UAAA,CAAWzF,KAAA,EAAOiL,IAAA,KAAS,eAAexF,UAAA,CAAWzF,KAAA,CAAM6K,MAAA,KAAW,cAClEpF,UAAA,CAAWzF,KAAA,GACX;IACN,IAAI0R,SAAA,GACFD,gBAAA,GACI;MAAE1E,SAAA,EAAW0E,gBAAA,CAAiB1E,SAAA;MAAWvF,MAAA,EAAQiK,gBAAA,CAAiBjK;IAAO,IACzE;IAGN,IAAImK,gBAAA,GAAkC;IACtC,IAAIC,SAAA,GAAY;IAChB,IAAIC,mBAAA,GAAsB;IAC1B,MAAM9M,kBAAA,GAAqBV,mBAAA,CAAoBnE,GAAA,CAAI4D,YAAY;IAC/D,MAAMgO,oBAAA,GAAuB/M,kBAAA,GACzBA,kBAAA,CAAmBgN,kBAAA,CAAoBjF,KAAA,IAAkC;MACvE,IAAIA,KAAA,CAAM7B,IAAA,KAAS,UAAU6B,KAAA,CAAMS,QAAA,KAAazJ,YAAA,CAAayJ,QAAA,EAAU;QACrEsE,mBAAA,GAAsB;MACxB;IACF,CAAC,IACD;IAEJ,MAAMG,MAAA,GAASA,CAAA,KAAM;MACnB,MAAMtE,KAAA,GAAQ5J,YAAA,CAAa2J,UAAA,CAAWC,KAAA,CAAMrI,OAAA;MAC5C,MAAMtD,IAAA,GAAO2L,KAAA,CAAM3L,IAAA;MACnB,MAAMyF,MAAA,GACJ,YAAYkG,KAAA,IAAS,OAAOA,KAAA,CAAMlG,MAAA,KAAW,WAAWkG,KAAA,CAAMlG,MAAA,GAAS;MAIzE,IAAIuJ,aAAA,IAAiB,OAAOkB,QAAA,KAAa,eAAeA,QAAA,CAASC,IAAA,EAAM;QACrED,QAAA,CAASC,IAAA,CAAKC,OAAA,CAAQC,SAAA,GAAYrQ,IAAA;QAClC,IAAIiP,eAAA,EAAiBiB,QAAA,CAASC,IAAA,CAAKC,OAAA,CAAQE,YAAA,GAAerB,eAAA;QAC1D,IAAIxJ,MAAA,EAAQyK,QAAA,CAASC,IAAA,CAAKC,OAAA,CAAQG,UAAA,GAAa9K,MAAA,CAAO+K,KAAA,CAAM,GAAG,GAAG,OAC7D,OAAON,QAAA,CAASC,IAAA,CAAKC,OAAA,CAAQG,UAAA;QAClC,IAAIvQ,IAAA,KAAS,aAAakQ,QAAA,CAASC,IAAA,CAAKC,OAAA,CAAQK,aAAA,GAAgB,YAC3D,OAAOP,QAAA,CAASC,IAAA,CAAKC,OAAA,CAAQK,aAAA;MACpC;MAEA,IAAIzQ,IAAA,KAAS,aAAa;QACxBuP,YAAA,GAAe;QACfK,gBAAA,GAAmB;QACnB,IAAI,CAAC5M,kBAAA,EAAoB8M,mBAAA,GAAsB;QAC/C,IAAIH,SAAA,EAAW;UACbA,SAAA,GAAY;UACZ7E,mBAAA,CAAoB;YAAE5B,IAAA,EAAM;YAAaJ,MAAA,EAAQ;UAAY,CAAC;QAChE;MACF;MAEA,MAAM4H,kBAAA,GAAyDjL,MAAA,CAAOkL,QAAA,CACpE,kBACF,IACI,sBACAlL,MAAA,CAAOkL,QAAA,CAAS,iBAAiB,KAC/BlL,MAAA,CAAOkL,QAAA,CAAS,cAAc,KAC9BlL,MAAA,CAAOkL,QAAA,CAAS,gDAAgD,KAChElL,MAAA,CAAOkL,QAAA,CAAS,wBAAwB,KACxClL,MAAA,CAAOkL,QAAA,CAAS,aAAa,IAC7B,cACA;MAIN,IACE3Q,IAAA,KAAS,YACRvD,iCAAA,CAAkCgJ,MAAM,KAAKiL,kBAAA,GAC9C;QACA,IAAId,gBAAA,KAAqBnK,MAAA,EAAQ;UAC/BmK,gBAAA,GAAmBnK,MAAA;UACnBkK,SAAA,GAAY;YAAE3E,SAAA,EAAW0F,kBAAA,IAAsB;YAAajL;UAAO;UACnEqF,mBAAA,CAAoB;YAAE5B,IAAA,EAAM;YAAaJ,MAAA,EAAQ;YAAU,GAAG6G;UAAU,CAAC;UACzE,KAAKtK,OAAA,CAAQC,OAAA,CAAQvD,YAAA,CAAa2J,UAAA,EAAYmD,OAAA,GAAU,CAAC,EAAErE,KAAA,CAAM,MAAM,CAAC,CAAC;QAC3E;QACA;MACF;MACA,IAAIxK,IAAA,KAAS,SAAS4P,gBAAA,GAAmB;MAEzC,IAAI5P,IAAA,KAAS,iBAAiB2P,SAAA,IAAaJ,YAAA,IAAgBxG,OAAA,CAAQtD,MAAM,IAAI;QAC3EkK,SAAA,GAAY;UACV3E,SAAA,EAAW0F,kBAAA,IAAsBf,SAAA,EAAW3E,SAAA,IAAa;UACzDvF,MAAA,EAAQA,MAAA,IAAUkK,SAAA,EAAWlK,MAAA,IAAU;QACzC;QACAqF,mBAAA,CAAoB;UAClB5B,IAAA,EAAM;UACNJ,MAAA,EAAQrD,MAAA,GAAS,YAAY;UAC7B,GAAGkK;QACL,CAAC;MACH,WAAW3P,IAAA,KAAS,mBAAmB2P,SAAA,IAAaJ,YAAA,GAAe;QACjEI,SAAA,GAAY;UACV3E,SAAA,EAAW2E,SAAA,EAAW3E,SAAA,IAAa;UACnCvF,MAAA,EAAQA,MAAA,IAAUkK,SAAA,EAAWlK,MAAA,IAAU;QACzC;QACAqF,mBAAA,CAAoB;UAAE5B,IAAA,EAAM;UAAaJ,MAAA,EAAQ;UAAW,GAAG6G;QAAU,CAAC;MAC5E;MAKA,IAAI3P,IAAA,KAAS,cAAc;QACzB,IACEqM,WAAA,IACA,CAACwD,SAAA,IACDC,mBAAA,GAAsBjS,yBAAA,EACtB;UACAgS,SAAA,GAAY;UACZ,KAAKxD,WAAA,CAAY,EACdmB,IAAA,CAAMoD,KAAA,IAAU;YACf,IAAI,CAACpB,MAAA,IAAU,CAACoB,KAAA,IAASA,KAAA,KAAUnB,UAAA,EAAY;YAC/CA,UAAA,GAAamB,KAAA;YACbd,mBAAA;YACA,OAAO/N,YAAA,CAAa2J,UAAA,EAAYmD,OAAA,GAAU;cAAEnG,IAAA,EAAMkI;YAAM,CAAC;UAC3D,CAAC,EACApG,KAAA,CAAM,MAAM,CAAC,CAAC;QACnB;MACF,OAAO;QACLqF,SAAA,GAAY;MACd;MAEA,IAAI7P,IAAA,KAASsP,SAAA,EAAW;QACtBA,SAAA,GAAYtP,IAAA;QACZ,IAAIA,IAAA,KAAS,WAAWA,IAAA,KAAS,cAAc;UAC7C0D,UAAA,CAAWwG,IAAA,CAAK;YACdhB,IAAA,EAAM;YACN8B,SAAA,EACEhL,IAAA,KAAS,eAAe,0BAA0B;YACpD6Q,OAAA,EAASpL,MAAA,IAAUzF;UACrB,CAAC;QACH;MACF;IACF;IAEA,MAAM8Q,WAAA,GAAc/O,YAAA,CAAa2J,UAAA,CAAWC,KAAA,CAAML,SAAA,CAAU2E,MAAM;IAClEA,MAAA,CAAO;IACP,OAAO,MAAM;MACXT,MAAA,GAAS;MACTO,oBAAA,GAAuB;MACvBe,WAAA,CAAY;IACd;EACF;EAMA,MAAM/B,iBAAA,GAAoBvT,IAAA,CACxB,CAAC;IACCkI,UAAA,EAAYqN,WAAA;IACZrI,IAAA;IACA2D,WAAA;IACA2C,aAAA;IACAC;EACF,MAMM;IACJ,MAAMlN,YAAA,GAAe1G,OAAA,CAA8B;IAInDK,SAAA,CACE,MACE2T,mBAAA,CAAoB;MAClBtN,YAAA;MACA2G,IAAA;MACA2D,WAAA;MACA2C,aAAA;MACAC;IACF,CAAC,GACH,CAAClN,YAAA,EAAc2G,IAAA,EAAM2D,WAAA,EAAa2C,aAAA,EAAeC,eAAe,CAClE;IACA,OAAO;EACT,CACF;EAaA,SAAS+B,QACPC,KAAA,EACAC,eAAA,EACAC,UAAA,EACkD;IAClD,MAAMC,SAAA,GACJD,UAAA,KAAe,UAAcD,eAAA,IAAmB,EAAE,SAASA,eAAA;IAC7D,MAAMG,MAAA,GAASD,SAAA,GAAYF,eAAA,GAAkB;IAC7C,MAAMlS,OAAA,GAAUoS,SAAA,GAAYD,UAAA,GAAaD,eAAA;IAEzC,MAAMI,YAAA,GAAerU,YAAA,CAAa;MAAEgE,aAAA;MAAehB,EAAA,EAAIgR,KAAA;MAAOI;IAAO,CAAC;IACtE,OAAOlP,IAAA,CAAK6O,OAAA,CAAQM,YAAA,EAAqBtS,OAAO;EAClD;EASA,SAASuS,SAAStR,EAAA,EAASoR,MAAA,EAAc;IACvC,OAAOpU,YAAA,CAAa;MAAEgE,aAAA;MAAehB,EAAA;MAAIoR;IAAO,CAAC;EACnD;EAEA,SAASG,eAAe;IACtBvF,QAAA;IACAwF,MAAA,GAAS;IACTC,YAAA,GAAe;EACjB,GAIG;IACD,MAAMC,IAAA,GAAyBF,MAAA,KAAW,WAAW,QAAQC,YAAA;IAC7D,OAAO,eAAA/T,GAAA,CAAC8D,eAAA,CAAgB0K,QAAA,EAAhB;MAAyBlO,KAAA,EAAO0T,IAAA;MAAO1F;IAAA,CAAS;EAC1D;EAEA,OAAO;IACL1M,YAAA;IACAmE,UAAA;IACAuH,UAAA;IACAiE,WAAA;IACAC,eAAA;IACAqC,cAAA;IACA1J,QAAA;IACAjJ,cAAA;IACAsJ,aAAA;IACAgB,mBAAA;IACAtH,yBAAA;IACAM,IAAA;IACA6O,OAAA;IACAO,QAAA;IACApM,WAAA;IACAlB,MAAA;IACAwG,MAAA;IAAA;IAEA3G,iBAAA;IACA8N,wBAAA,EAA0B9N,iBAAA,CAAkB8N,wBAAA;IAC5CC,yBAAA,EAA2B/N,iBAAA,CAAkB+N,yBAAA;IAC7CC,mBAAA,EAAqBhO,iBAAA,CAAkBgO,mBAAA;IACvCC,mBAAA,EAAqBjO,iBAAA,CAAkBiO;EACzC;AACF","ignoreList":[]}
|