@qawolf/api-contracts 0.17.0 → 0.18.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.
- package/dist/v1/index.d.ts +40 -0
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +2 -0
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/tag/list.d.ts +25 -0
- package/dist/v1/tag/list.d.ts.map +1 -0
- package/dist/v1/tag/list.js +37 -0
- package/dist/v1/tag/list.js.map +1 -0
- package/package.json +1 -1
package/dist/v1/index.d.ts
CHANGED
|
@@ -618,6 +618,26 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
618
618
|
url: z.ZodURL;
|
|
619
619
|
}, z.core.$strip>;
|
|
620
620
|
};
|
|
621
|
+
list: {
|
|
622
|
+
readonly description: "List the team's tags, alphabetical by name. Tag names select flows in run.create.";
|
|
623
|
+
readonly input: z.ZodObject<{
|
|
624
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
625
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
626
|
+
includeFlowIds: z.ZodDefault<z.ZodBoolean>;
|
|
627
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
628
|
+
}, z.core.$strip>;
|
|
629
|
+
readonly kind: "read";
|
|
630
|
+
readonly name: "tag.list";
|
|
631
|
+
readonly output: z.ZodObject<{
|
|
632
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
633
|
+
tags: z.ZodArray<z.ZodObject<{
|
|
634
|
+
color: z.ZodString;
|
|
635
|
+
name: z.ZodString;
|
|
636
|
+
url: z.ZodURL;
|
|
637
|
+
flowIds: z.ZodOptional<z.ZodArray<FlowId>>;
|
|
638
|
+
}, z.core.$strip>>;
|
|
639
|
+
}, z.core.$strip>;
|
|
640
|
+
};
|
|
621
641
|
};
|
|
622
642
|
};
|
|
623
643
|
export declare const publicContractsV1: {
|
|
@@ -1224,6 +1244,26 @@ export declare const publicContractsV1: {
|
|
|
1224
1244
|
url: z.ZodURL;
|
|
1225
1245
|
}, z.core.$strip>;
|
|
1226
1246
|
};
|
|
1247
|
+
list: {
|
|
1248
|
+
readonly description: "List the team's tags, alphabetical by name. Tag names select flows in run.create.";
|
|
1249
|
+
readonly input: z.ZodObject<{
|
|
1250
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
1251
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
1252
|
+
includeFlowIds: z.ZodDefault<z.ZodBoolean>;
|
|
1253
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1254
|
+
}, z.core.$strip>;
|
|
1255
|
+
readonly kind: "read";
|
|
1256
|
+
readonly name: "tag.list";
|
|
1257
|
+
readonly output: z.ZodObject<{
|
|
1258
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
1259
|
+
tags: z.ZodArray<z.ZodObject<{
|
|
1260
|
+
color: z.ZodString;
|
|
1261
|
+
name: z.ZodString;
|
|
1262
|
+
url: z.ZodURL;
|
|
1263
|
+
flowIds: z.ZodOptional<z.ZodArray<PublicIdSchema>>;
|
|
1264
|
+
}, z.core.$strip>>;
|
|
1265
|
+
}, z.core.$strip>;
|
|
1266
|
+
};
|
|
1227
1267
|
};
|
|
1228
1268
|
};
|
|
1229
1269
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/v1/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAW5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAW5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,UAAU,CAAC;AAUlB,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,oBAAoB,IAAI,CAAC,CAAC,KAAK,CACpE,GAAG,CAAC,OAAO,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,oBAAoB,IAAI,CAAC,CAAC,KAAK,CACrE,GAAG,CAAC,QAAQ,CAAC,CACd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,YAAY,SAAS,cAAc,GAAG,cAAc,EACpD,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,WAAW,SAAS,cAAc,GAAG,cAAc,EAEnD,KAAK,iBAAiB,CACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,YAAY,EACZ,OAAO,EACP,WAAW,CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCF,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoC,CAAC"}
|
package/dist/v1/index.js
CHANGED
|
@@ -15,6 +15,7 @@ import { makeFindRunsContract } from "./run/find.js";
|
|
|
15
15
|
import { makeGetRunContract } from "./run/get.js";
|
|
16
16
|
import { makeCreateRunContract } from "./run/index.js";
|
|
17
17
|
import { makeCreateTagContract } from "./tag/index.js";
|
|
18
|
+
import { makeListTagsContract } from "./tag/list.js";
|
|
18
19
|
/**
|
|
19
20
|
* Builds the v1 contract catalog from a set of id schemas.
|
|
20
21
|
*
|
|
@@ -53,6 +54,7 @@ export const makeContractsV1 = (ids) => {
|
|
|
53
54
|
},
|
|
54
55
|
tag: {
|
|
55
56
|
create: makeCreateTagContract(),
|
|
57
|
+
list: makeListTagsContract(resolvedIds),
|
|
56
58
|
},
|
|
57
59
|
};
|
|
58
60
|
};
|
package/dist/v1/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,wCAAwC,EACxC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,wCAAwC,EACxC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUrD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAQ7B,GAOC,EACD,EAAE;IACF,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC;IACpD,OAAO;QACL,qEAAqE;QACrE,0CAA0C;QAC1C,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC3C,WAAW,EAAE;YACX,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC;YAClD,cAAc,EAAE,qCAAqC,CAAC,WAAW,CAAC;YAClE,IAAI,EAAE,4BAA4B,CAAC,WAAW,CAAC;YAC/C,GAAG,EAAE,0BAA0B,CAAC,WAAW,CAAC;YAC5C,iBAAiB,EAAE,wCAAwC,CAAC,WAAW,CAAC;YACxE,WAAW,EAAE,kCAAkC,CAAC,WAAW,CAAC;SAC7D;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC;YAC9C,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;SACzC;QACD,KAAK,EAAE;YACL,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC;YAC5C,IAAI,EAAE,sBAAsB,CAAC,WAAW,CAAC;YACzC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACtC,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC;SAC7C;QACD,GAAG,EAAE;YACH,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACvC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC;SACrC;QACD,GAAG,EAAE;YACH,MAAM,EAAE,qBAAqB,EAAE;YAC/B,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;SACxC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { PublicIdSchema } from "../ids.js";
|
|
3
|
+
export declare const makeListTagsContract: <FlowId extends PublicIdSchema>(ids: {
|
|
4
|
+
flow: FlowId;
|
|
5
|
+
}) => {
|
|
6
|
+
readonly description: "List the team's tags, alphabetical by name. Tag names select flows in run.create.";
|
|
7
|
+
readonly input: z.ZodObject<{
|
|
8
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
9
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
10
|
+
includeFlowIds: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
readonly kind: "read";
|
|
14
|
+
readonly name: "tag.list";
|
|
15
|
+
readonly output: z.ZodObject<{
|
|
16
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
17
|
+
tags: z.ZodArray<z.ZodObject<{
|
|
18
|
+
color: z.ZodString;
|
|
19
|
+
name: z.ZodString;
|
|
20
|
+
url: z.ZodURL;
|
|
21
|
+
flowIds: z.ZodOptional<z.ZodArray<FlowId>>;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/v1/tag/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAKhD,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,cAAc,EAAE,KAAK;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;;;;;;;;;;;;;;;;;;;CA6CA,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { makePaginationInputFields, nextCursorSchema } from "../pagination.js";
|
|
3
|
+
import { makeTagResourceSchema } from "./index.js";
|
|
4
|
+
export const makeListTagsContract = (ids) => {
|
|
5
|
+
const input = z.object({
|
|
6
|
+
includeFlowIds: z
|
|
7
|
+
.boolean()
|
|
8
|
+
.default(false)
|
|
9
|
+
.describe("Also return the ids of the flows that carry each tag."),
|
|
10
|
+
names: z
|
|
11
|
+
.array(z.string().trim().min(1))
|
|
12
|
+
.min(1)
|
|
13
|
+
.max(100)
|
|
14
|
+
.optional()
|
|
15
|
+
.describe("Only list tags with these names. Matching is case sensitive. Omit to list all tags."),
|
|
16
|
+
...makePaginationInputFields({ defaultLimit: 20, maxLimit: 100 }),
|
|
17
|
+
});
|
|
18
|
+
const output = z.object({
|
|
19
|
+
nextCursor: nextCursorSchema,
|
|
20
|
+
tags: z
|
|
21
|
+
.array(makeTagResourceSchema().extend({
|
|
22
|
+
flowIds: z
|
|
23
|
+
.array(ids.flow)
|
|
24
|
+
.optional()
|
|
25
|
+
.describe("Ids of the flows that carry the tag. Present only when includeFlowIds is set."),
|
|
26
|
+
}))
|
|
27
|
+
.describe("The team's tags, alphabetical by name."),
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
description: "List the team's tags, alphabetical by name. Tag names select flows in run.create.",
|
|
31
|
+
input,
|
|
32
|
+
kind: "read",
|
|
33
|
+
name: "tag.list",
|
|
34
|
+
output,
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/v1/tag/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAgC,GAEnE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,cAAc,EAAE,CAAC;aACd,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,uDAAuD,CAAC;QACpE,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qFAAqF,CACtF;QACH,GAAG,yBAAyB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;KAClE,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACtB,UAAU,EAAE,gBAAgB;QAC5B,IAAI,EAAE,CAAC;aACJ,KAAK,CACJ,qBAAqB,EAAE,CAAC,MAAM,CAAC;YAC7B,OAAO,EAAE,CAAC;iBACP,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBACf,QAAQ,EAAE;iBACV,QAAQ,CACP,+EAA+E,CAChF;SACJ,CAAC,CACH;aACA,QAAQ,CAAC,wCAAwC,CAAC;KACtD,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,mFAAmF;QACrF,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,UAAU;QAChB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
|