@party-stack/ontology 0.16.0 → 0.16.1
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/lib/json/index.d.ts.map +1 -1
- package/lib/json/index.js +17 -9
- package/lib/json/index.js.map +1 -1
- package/lib/json/index.test.js +20 -1
- package/lib/json/index.test.js.map +1 -1
- package/package.json +1 -1
package/lib/json/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EACR,8BAA8B,EAC9B,oBAAoB,EACpB,qCAAqC,EACrC,iCAAiC,EACjC,kBAAkB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,UAAU,IACtC,kBAAkB,CAAC,EAAE,CAAC,GACtB,oBAAoB,CAAC,EAAE,CAAC,GACxB,8BAA8B,CAAC,EAAE,CAAC,GAClC,qCAAqC,CAAC,EAAE,CAAC,GACzC,iCAAiC,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAW,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EACR,8BAA8B,EAC9B,oBAAoB,EACpB,qCAAqC,EACrC,iCAAiC,EACjC,kBAAkB,EACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,UAAU,CAAC,EAAE,SAAS,UAAU,IACtC,kBAAkB,CAAC,EAAE,CAAC,GACtB,oBAAoB,CAAC,EAAE,CAAC,GACxB,8BAA8B,CAAC,EAAE,CAAC,GAClC,qCAAqC,CAAC,EAAE,CAAC,GACzC,iCAAiC,CAAC,EAAE,CAAC,CAAC;AA2L5C,wBAAgB,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;IAChD,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAgBV;AAED,wBAAgB,MAAM,CAAC,EAAE,SAAS,UAAU,EAAE,IAAI,EAAE;IAChD,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAWV"}
|
package/lib/json/index.js
CHANGED
|
@@ -39,31 +39,39 @@ function resolveTargetType(ir, target) {
|
|
|
39
39
|
return getQueryFunctionType(ir, target.queryFunctionType).returnType;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
function decodeValue(ir, type, value) {
|
|
43
|
-
if (value === undefined || value === null)
|
|
44
|
-
return value;
|
|
42
|
+
function decodeValue(ir, type, value, normalizeOptionalNull = false) {
|
|
45
43
|
const resolvedType = resolveType(ir, type);
|
|
44
|
+
if (value === undefined)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (value === null) {
|
|
47
|
+
return normalizeOptionalNull && resolvedType.kind === "optional" ? undefined : null;
|
|
48
|
+
}
|
|
46
49
|
switch (resolvedType.kind) {
|
|
47
50
|
case "timestamp":
|
|
48
51
|
return typeof value === "string" ? Temporal.Instant.from(value) : value;
|
|
49
52
|
case "date":
|
|
50
53
|
return typeof value === "string" ? Temporal.PlainDate.from(value) : value;
|
|
51
54
|
case "optional":
|
|
52
|
-
return decodeValue(ir, resolvedType.value.type, value);
|
|
55
|
+
return decodeValue(ir, resolvedType.value.type, value, normalizeOptionalNull);
|
|
53
56
|
case "list":
|
|
54
57
|
assertArray(value);
|
|
55
|
-
return value.map((item) => decodeValue(ir, resolvedType.value.elementType, item));
|
|
58
|
+
return value.map((item) => decodeValue(ir, resolvedType.value.elementType, item, normalizeOptionalNull));
|
|
56
59
|
case "map":
|
|
57
60
|
assertRecord(value);
|
|
58
61
|
return Object.fromEntries(Object.entries(value).map(([key, entry]) => [
|
|
59
62
|
key,
|
|
60
|
-
decodeValue(ir, resolvedType.value.valueType, entry),
|
|
63
|
+
decodeValue(ir, resolvedType.value.valueType, entry, normalizeOptionalNull),
|
|
61
64
|
]));
|
|
62
65
|
case "struct":
|
|
63
66
|
assertRecord(value);
|
|
64
67
|
return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
|
|
65
68
|
const field = resolvedType.value.fields.find((candidate) => candidate.name === key);
|
|
66
|
-
return [
|
|
69
|
+
return [
|
|
70
|
+
key,
|
|
71
|
+
field
|
|
72
|
+
? decodeValue(ir, field.type, entry, normalizeOptionalNull)
|
|
73
|
+
: entry,
|
|
74
|
+
];
|
|
67
75
|
}));
|
|
68
76
|
default:
|
|
69
77
|
return value;
|
|
@@ -106,7 +114,7 @@ function decodeObject(ir, objectTypeName, value) {
|
|
|
106
114
|
const objectType = getObjectType(ir, objectTypeName);
|
|
107
115
|
return Object.fromEntries(Object.entries(value).map(([key, entry]) => {
|
|
108
116
|
const property = objectType.properties.find((candidate) => candidate.name === key);
|
|
109
|
-
return [key, property ? decodeValue(ir, property.type, entry) : entry];
|
|
117
|
+
return [key, property ? decodeValue(ir, property.type, entry, true) : entry];
|
|
110
118
|
}));
|
|
111
119
|
}
|
|
112
120
|
function encodeObject(ir, objectTypeName, value) {
|
|
@@ -141,7 +149,7 @@ export function decode(opts) {
|
|
|
141
149
|
if (opts.target.kind === "queryFunctionParameters") {
|
|
142
150
|
return decodeParameters(opts.ir, getQueryFunctionType(opts.ir, opts.target.queryFunctionType).parameters, opts.value);
|
|
143
151
|
}
|
|
144
|
-
return decodeValue(opts.ir, resolveTargetType(opts.ir, opts.target), opts.value);
|
|
152
|
+
return decodeValue(opts.ir, resolveTargetType(opts.ir, opts.target), opts.value, opts.target.kind === "queryFunctionReturn");
|
|
145
153
|
}
|
|
146
154
|
export function encode(opts) {
|
|
147
155
|
if (opts.target.kind === "object") {
|
package/lib/json/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAkBhD,SAAS,YAAY,CAAC,KAAc;IAChC,SAAS,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC;AAC7G,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,EAAc,EAAE,IAAY;IAC9C,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxE,SAAS,CAAC,SAAS,EAAE,0BAA0B,IAAI,IAAI,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,IAAI,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CAAC,EAAc,EAAE,IAAY;IAC/C,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/E,SAAS,CAAC,UAAU,EAAE,wBAAwB,IAAI,IAAI,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,EAAc,EAAE,IAAY;IAC/C,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/E,SAAS,CAAC,UAAU,EAAE,wBAAwB,IAAI,IAAI,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAc,EAAE,IAAY;IACtD,MAAM,iBAAiB,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7F,SAAS,CAAC,iBAAiB,EAAE,gCAAgC,IAAI,IAAI,CAAC,CAAC;IACvE,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAwB,EAAM,EAAE,MAAsB;IAC5E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM;YACP,OAAO,YAAY,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,KAAK,QAAQ,CAAC;QACd,KAAK,kBAAkB,CAAC;QACxB,KAAK,yBAAyB;YAC1B,OAAO,SAAS,CAAC;QACrB,KAAK,qBAAqB;YACtB,OAAO,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC;IAC7E,CAAC;AACL,CAAC;AAED,SAAS,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"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"}
|
package/lib/json/index.test.js
CHANGED
|
@@ -24,6 +24,7 @@ const ir = {
|
|
|
24
24
|
{ name: "id", displayName: "ID", type: o.string({}) },
|
|
25
25
|
{ name: "createdAt", displayName: "Created At", type: o.timestamp({}) },
|
|
26
26
|
{ name: "metadata", displayName: "Metadata", type: o.ref({ name: "Metadata" }) },
|
|
27
|
+
{ name: "subtitle", displayName: "Subtitle", type: o.optional({ type: o.string({}) }) },
|
|
27
28
|
],
|
|
28
29
|
},
|
|
29
30
|
],
|
|
@@ -34,6 +35,7 @@ const ir = {
|
|
|
34
35
|
displayName: "Create post",
|
|
35
36
|
parameters: [
|
|
36
37
|
{ name: "metadata", displayName: "Metadata", type: o.ref({ name: "Metadata" }) },
|
|
38
|
+
{ name: "subtitle", displayName: "Subtitle", type: o.optional({ type: o.string({}) }) },
|
|
37
39
|
],
|
|
38
40
|
logic: [],
|
|
39
41
|
},
|
|
@@ -43,7 +45,7 @@ const ir = {
|
|
|
43
45
|
name: "getPost",
|
|
44
46
|
displayName: "Get post",
|
|
45
47
|
parameters: [{ name: "id", displayName: "ID", type: o.string({}) }],
|
|
46
|
-
returnType: o.ref({ name: "Metadata" }),
|
|
48
|
+
returnType: o.optional({ type: o.ref({ name: "Metadata" }) }),
|
|
47
49
|
},
|
|
48
50
|
],
|
|
49
51
|
};
|
|
@@ -80,6 +82,18 @@ describe("ontology JSON codec", () => {
|
|
|
80
82
|
});
|
|
81
83
|
expect(decode({ ir, target: { kind: "object", name: "Post" }, value: encoded })).toEqual(object);
|
|
82
84
|
});
|
|
85
|
+
it("normalizes optional nulls on object reads while preserving action nulls", () => {
|
|
86
|
+
expect(decode({
|
|
87
|
+
ir,
|
|
88
|
+
target: { kind: "object", name: "Post" },
|
|
89
|
+
value: { id: "post-1", subtitle: null },
|
|
90
|
+
})).toEqual({ id: "post-1", subtitle: undefined });
|
|
91
|
+
expect(decode({
|
|
92
|
+
ir,
|
|
93
|
+
target: { kind: "actionParameters", actionType: "createPost" },
|
|
94
|
+
value: { subtitle: null },
|
|
95
|
+
})).toEqual({ subtitle: null });
|
|
96
|
+
});
|
|
83
97
|
it("encodes and decodes action and query function parameter objects by name", () => {
|
|
84
98
|
const value = {
|
|
85
99
|
metadata: {
|
|
@@ -118,6 +132,11 @@ describe("ontology JSON codec", () => {
|
|
|
118
132
|
target: { kind: "queryFunctionReturn", queryFunctionType: "getPost" },
|
|
119
133
|
value: encoded,
|
|
120
134
|
})).toEqual(value);
|
|
135
|
+
expect(decode({
|
|
136
|
+
ir,
|
|
137
|
+
target: { kind: "queryFunctionReturn", queryFunctionType: "getPost" },
|
|
138
|
+
value: null,
|
|
139
|
+
})).toBeUndefined();
|
|
121
140
|
});
|
|
122
141
|
});
|
|
123
142
|
//# sourceMappingURL=index.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/json/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,6BAA6B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,EAAE,GAAG;IACP,KAAK,EAAE;QACH;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACX,MAAM,EAAE;oBACJ,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACtE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;iBACrF;aACJ,CAAC;SACL;KACJ;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,OAAO;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;gBACvE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/json/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,6BAA6B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,EAAE,GAAG;IACP,KAAK,EAAE;QACH;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBACX,MAAM,EAAE;oBACJ,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;oBACtE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;iBACrF;aACJ,CAAC;SACL;KACJ;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,MAAM;YACnB,iBAAiB,EAAE,OAAO;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE;gBACR,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACrD,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;gBACvE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;gBAChF,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aAC1F;SACJ;KACJ;IACD,SAAS,EAAE,EAAE;IACb,WAAW,EAAE;QACT;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,aAAa;YAC1B,UAAU,EAAE;gBACR,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;gBAChF,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aAC1F;YACD,KAAK,EAAE,EAAE;SACZ;KACJ;IACD,kBAAkB,EAAE;QAChB;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;SAChE;KACJ;CAC0B,CAAC;AAEhC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,MAAM,KAAK,GAAG;YACV,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;YAClD,IAAI,EAAE,CAAC,UAAU,CAAC;SACrB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACpB,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,CAAC,UAAU,CAAC;SACrB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,MAAM,MAAM,GAAG;YACX,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACxD,QAAQ,EAAE;gBACN,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;gBAClD,IAAI,EAAE,CAAC,UAAU,CAAC;aACrB;SACJ,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACpB,EAAE,EAAE,QAAQ;YACZ,SAAS,EAAE,sBAAsB;YACjC,QAAQ,EAAE;gBACN,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,CAAC,UAAU,CAAC;aACrB;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAC/E,MAAM,CACF,MAAM,CAAC;YACH,EAAE;YACF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1C,CAAC,CACL,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAEjD,MAAM,CACF,MAAM,CAAC;YACH,EAAE;YACF,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE;YAC9D,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B,CAAC,CACL,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAC/E,MAAM,KAAK,GAAG;YACV,QAAQ,EAAE;gBACN,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;gBAClD,IAAI,EAAE,CAAC,UAAU,CAAC;aACrB;SACJ,CAAC;QACF,MAAM,OAAO,GAAG;YACZ,QAAQ,EAAE;gBACN,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,CAAC,UAAU,CAAC;aACrB;SACJ,CAAC;QAEF,MAAM,CACF,MAAM,CAAC;YACH,EAAE;YACF,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE;YAC9D,KAAK;SACR,CAAC,CACL,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,CACF,MAAM,CAAC;YACH,EAAE;YACF,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE;YAC9D,KAAK,EAAE,OAAO;SACjB,CAAC,CACL,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,KAAK,GAAG;YACV,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;YAClD,IAAI,EAAE,CAAC,UAAU,CAAC;SACrB,CAAC;QACF,MAAM,OAAO,GAAG;YACZ,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,CAAC,UAAU,CAAC;SACrB,CAAC;QAEF,MAAM,CACF,MAAM,CAAC;YACH,EAAE;YACF,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,SAAS,EAAE;YACrE,KAAK,EAAE,OAAO;SACjB,CAAC,CACL,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,MAAM,CACF,MAAM,CAAC;YACH,EAAE;YACF,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,SAAS,EAAE;YACrE,KAAK,EAAE,IAAI;SACd,CAAC,CACL,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|