phygital-token-sdk 0.2.2 → 0.2.3
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/metadata.d.ts +22 -0
- package/dist/utils/metadata.d.ts.map +1 -1
- package/dist/utils/metadata.js +74 -1
- package/dist/utils/metadata.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { authenticateToken, beginTransfer, completeTransfer, type TransferSession, } from "./instructions/transfer.js";
|
|
2
2
|
export { buildCreateMintInstructions, buildMintTokenInstructions, MAX_METADATA_NAME_LEN, MAX_METADATA_SYMBOL_LEN, MAX_METADATA_URI_LEN, parseSecp256r1Pubkey, validateMetadataFields, type MetadataFields, } from "./instructions/mint.js";
|
|
3
|
-
export { fetchAssetDisplayInfo, type AssetDisplayInfo, type VerifyMetadataCallback, } from "./utils/metadata.js";
|
|
3
|
+
export { fetchAssetDisplayInfo, resolveMedia, type AssetDisplayInfo, type MediaCategory, type ResolvedMedia, type TokenJsonMetadata, type TokenMediaFile, type VerifyMetadataCallback, } from "./utils/metadata.js";
|
|
4
4
|
export { verifyLocal, verifyWithServerCheck } from "./utils/verify.js";
|
|
5
5
|
export { findAssetPda, findDomainConfigPda } from "./utils/pdas/index.js";
|
|
6
6
|
export * from "./generated/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE1E,cAAc,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE1E,cAAc,sBAAsB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { authenticateToken, beginTransfer, completeTransfer, } from "./instructions/transfer.js";
|
|
2
2
|
export { buildCreateMintInstructions, buildMintTokenInstructions, MAX_METADATA_NAME_LEN, MAX_METADATA_SYMBOL_LEN, MAX_METADATA_URI_LEN, parseSecp256r1Pubkey, validateMetadataFields, } from "./instructions/mint.js";
|
|
3
|
-
export { fetchAssetDisplayInfo, } from "./utils/metadata.js";
|
|
3
|
+
export { fetchAssetDisplayInfo, resolveMedia, } from "./utils/metadata.js";
|
|
4
4
|
export { verifyLocal, verifyWithServerCheck } from "./utils/verify.js";
|
|
5
5
|
export { findAssetPda, findDomainConfigPda } from "./utils/pdas/index.js";
|
|
6
6
|
export * from "./generated/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,GAEjB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,YAAY,GAOb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE1E,cAAc,sBAAsB,CAAA"}
|
package/dist/utils/metadata.d.ts
CHANGED
|
@@ -10,18 +10,37 @@ type AssetAttribute = {
|
|
|
10
10
|
traitType: string;
|
|
11
11
|
value: string;
|
|
12
12
|
};
|
|
13
|
+
export type MediaCategory = "image" | "video" | "audio" | "vr";
|
|
14
|
+
export type TokenMediaFile = {
|
|
15
|
+
uri?: string;
|
|
16
|
+
type?: string;
|
|
17
|
+
cdn?: boolean;
|
|
18
|
+
};
|
|
13
19
|
export type TokenJsonMetadata = {
|
|
14
20
|
name?: string;
|
|
15
21
|
symbol?: string;
|
|
16
22
|
image?: string;
|
|
17
23
|
description?: string;
|
|
24
|
+
animation_url?: string;
|
|
25
|
+
external_url?: string;
|
|
18
26
|
mint?: string;
|
|
19
27
|
attributes?: Array<{
|
|
20
28
|
trait_type?: string;
|
|
21
29
|
traitType?: string;
|
|
22
30
|
value?: string | number;
|
|
23
31
|
}>;
|
|
32
|
+
properties?: {
|
|
33
|
+
category?: MediaCategory | string;
|
|
34
|
+
files?: TokenMediaFile[];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export type ResolvedMedia = {
|
|
38
|
+
image: string | null;
|
|
39
|
+
animationUrl: string | null;
|
|
40
|
+
animationType: string | null;
|
|
41
|
+
category: MediaCategory | null;
|
|
24
42
|
};
|
|
43
|
+
export declare function resolveMedia(json: TokenJsonMetadata | null): ResolvedMedia;
|
|
25
44
|
export declare function verifyMetadata(uri: string, params: URLSearchParams): Promise<VerifyMetadataResult>;
|
|
26
45
|
export type AssetDisplayInfo = {
|
|
27
46
|
publicKey: string;
|
|
@@ -33,6 +52,9 @@ export type AssetDisplayInfo = {
|
|
|
33
52
|
symbol: string;
|
|
34
53
|
uri: string;
|
|
35
54
|
image: string | null;
|
|
55
|
+
animationUrl: string | null;
|
|
56
|
+
animationType: string | null;
|
|
57
|
+
mediaCategory: MediaCategory | null;
|
|
36
58
|
description: string | null;
|
|
37
59
|
attributes: AssetAttribute[];
|
|
38
60
|
collectionMint: Address | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,OAAO,EACZ,KAAK,GAAG,EACR,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAWrB,eAAO,MAAM,gCAAgC,sCAAkC,CAAC;AAEhF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CACnC,MAAM,EAAE,eAAe,KACpB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAsBnC,KAAK,cAAc,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/metadata.js
CHANGED
|
@@ -13,6 +13,75 @@ function findMintExtension(extensions, kind) {
|
|
|
13
13
|
}
|
|
14
14
|
return null;
|
|
15
15
|
}
|
|
16
|
+
const MEDIA_TYPE_BY_EXT = {
|
|
17
|
+
png: "image/png",
|
|
18
|
+
jpg: "image/jpeg",
|
|
19
|
+
jpeg: "image/jpeg",
|
|
20
|
+
webp: "image/webp",
|
|
21
|
+
gif: "image/gif",
|
|
22
|
+
svg: "image/svg+xml",
|
|
23
|
+
mp4: "video/mp4",
|
|
24
|
+
webm: "video/webm",
|
|
25
|
+
mov: "video/quicktime",
|
|
26
|
+
mp3: "audio/mpeg",
|
|
27
|
+
wav: "audio/wav",
|
|
28
|
+
ogg: "audio/ogg",
|
|
29
|
+
flac: "audio/flac",
|
|
30
|
+
glb: "model/gltf-binary",
|
|
31
|
+
gltf: "model/gltf+json",
|
|
32
|
+
};
|
|
33
|
+
function mimeFromUri(uri) {
|
|
34
|
+
const clean = uri.split("?")[0].split("#")[0];
|
|
35
|
+
const ext = clean.split(".").pop()?.toLowerCase() ?? "";
|
|
36
|
+
return MEDIA_TYPE_BY_EXT[ext] ?? null;
|
|
37
|
+
}
|
|
38
|
+
function categoryForMime(type) {
|
|
39
|
+
if (!type)
|
|
40
|
+
return null;
|
|
41
|
+
if (type.startsWith("video/"))
|
|
42
|
+
return "video";
|
|
43
|
+
if (type.startsWith("audio/"))
|
|
44
|
+
return "audio";
|
|
45
|
+
if (type.startsWith("model/"))
|
|
46
|
+
return "vr";
|
|
47
|
+
if (type.startsWith("image/"))
|
|
48
|
+
return "image";
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
export function resolveMedia(json) {
|
|
52
|
+
if (!json) {
|
|
53
|
+
return { image: null, animationUrl: null, animationType: null, category: null };
|
|
54
|
+
}
|
|
55
|
+
const files = json.properties?.files ?? [];
|
|
56
|
+
const image = json.image ??
|
|
57
|
+
files.find((f) => f.uri && categoryForMime(f.type) === "image")?.uri ??
|
|
58
|
+
null;
|
|
59
|
+
let animationUrl = json.animation_url ?? null;
|
|
60
|
+
let animationType = null;
|
|
61
|
+
if (animationUrl) {
|
|
62
|
+
animationType =
|
|
63
|
+
files.find((f) => f.uri === animationUrl)?.type ?? mimeFromUri(animationUrl);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const ranked = [...files].sort((a, b) => Number(Boolean(b.cdn)) - Number(Boolean(a.cdn)));
|
|
67
|
+
const media = ranked.find((f) => {
|
|
68
|
+
const c = categoryForMime(f.type ?? mimeFromUri(f.uri ?? ""));
|
|
69
|
+
return f.uri && (c === "video" || c === "audio" || c === "vr");
|
|
70
|
+
});
|
|
71
|
+
if (media?.uri) {
|
|
72
|
+
animationUrl = media.uri;
|
|
73
|
+
animationType = media.type ?? mimeFromUri(media.uri);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const rawCategory = json.properties?.category;
|
|
77
|
+
const declaredCategory = rawCategory && ["image", "video", "audio", "vr"].includes(rawCategory)
|
|
78
|
+
? rawCategory
|
|
79
|
+
: null;
|
|
80
|
+
const category = declaredCategory ??
|
|
81
|
+
categoryForMime(animationType) ??
|
|
82
|
+
(image ? "image" : null);
|
|
83
|
+
return { image, animationUrl, animationType, category };
|
|
84
|
+
}
|
|
16
85
|
function parseAssetAttributes(raw) {
|
|
17
86
|
if (!raw?.length) {
|
|
18
87
|
return [];
|
|
@@ -84,6 +153,7 @@ export async function fetchAssetDisplayInfo(rpc, publicKey) {
|
|
|
84
153
|
? fetchJsonMetadata(collectionMeta.uri)
|
|
85
154
|
: Promise.resolve(null),
|
|
86
155
|
]);
|
|
156
|
+
const designMedia = resolveMedia(designJsonMeta);
|
|
87
157
|
return {
|
|
88
158
|
publicKey,
|
|
89
159
|
asset: asset,
|
|
@@ -95,7 +165,10 @@ export async function fetchAssetDisplayInfo(rpc, publicKey) {
|
|
|
95
165
|
name: designMeta?.name ?? designJsonMeta?.name ?? "Unknown asset",
|
|
96
166
|
symbol: designMeta?.symbol ?? designJsonMeta?.symbol ?? "",
|
|
97
167
|
uri: designMeta?.uri ?? "",
|
|
98
|
-
image:
|
|
168
|
+
image: designMedia.image,
|
|
169
|
+
animationUrl: designMedia.animationUrl,
|
|
170
|
+
animationType: designMedia.animationType,
|
|
171
|
+
mediaCategory: designMedia.category,
|
|
99
172
|
description: designJsonMeta?.description ?? null,
|
|
100
173
|
attributes: parseAssetAttributes(designJsonMeta?.attributes),
|
|
101
174
|
collectionMint,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,WAAW,GAEZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,KAAK,eAAe,CAAC;AAoBhF,SAAS,iBAAiB,CACxB,UAAgC,EAChC,IAAyB;IAEzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/utils/metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,WAAW,GAEZ,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,WAAW,KAAK,eAAe,CAAC;AAoBhF,SAAS,iBAAiB,CACxB,UAAgC,EAChC,IAAyB;IAEzB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAwCD,MAAM,iBAAiB,GAA2B;IAChD,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,mBAAmB;IACxB,IAAI,EAAE,iBAAiB;CACxB,CAAC;AAGF,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACxC,CAAC;AAGD,SAAS,eAAe,CAAC,IAA+B;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IAC9C,OAAO,IAAI,CAAC;AACd,CAAC;AAoBD,MAAM,UAAU,YAAY,CAAC,IAA8B;IACzD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3C,MAAM,KAAK,GACT,IAAI,CAAC,KAAK;QACV,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,EAAE,GAAG;QACpE,IAAI,CAAC;IAEP,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;IAC9C,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,YAAY,EAAE,CAAC;QACjB,aAAa;YACX,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,EAAE,IAAI,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC;IACjF,CAAC;SAAM,CAAC;QAGN,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAC1D,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,GAAG,EAAE,CAAC;YACf,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC;YACzB,aAAa,GAAG,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC9C,MAAM,gBAAgB,GACpB,WAAW,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QACpE,CAAC,CAAE,WAA6B;QAChC,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,QAAQ,GACZ,gBAAgB;QAChB,eAAe,CAAC,aAAa,CAAC;QAC9B,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE3B,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAoC;IAEpC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAAG;SACP,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,SAAS,CAAC;QAC9D,IACE,CAAC,SAAS;YACV,SAAS,CAAC,KAAK,KAAK,SAAS;YAC7B,SAAS,CAAC,KAAK,KAAK,IAAI,EACxB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,SAAS;YACT,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;SAC/B,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,SAAS,EAA+B,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAW,EACX,MAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAW;IAEX,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAiCD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAsB,EACtB,SAAiB;IAEjB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE9C,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzE,MAAM,UAAU,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC5E,MAAM,cAAc,GAAG,WAAW,EAAE,KAAK,IAAI,IAAI,CAAC;IAElD,IAAI,cAAc,GAChB,IAAI,CAAC;IACP,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,qBAAqB,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,oBAAoB,GACxB,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAC5D,cAAc,GAAG,iBAAiB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7D,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC3E,cAAc,EAAE,GAAG;YACjB,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO;QACL,SAAS;QACT,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY;QACxC,QAAQ,EACN,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,MAAM;YACxC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC9B,CAAC,CAAC,IAAI;QACV,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;QACxB,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,cAAc,EAAE,IAAI,IAAI,eAAe;QACjE,MAAM,EAAE,UAAU,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,IAAI,EAAE;QAC1D,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE;QAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,aAAa,EAAE,WAAW,CAAC,QAAQ;QACnC,WAAW,EAAE,cAAc,EAAE,WAAW,IAAI,IAAI;QAChD,UAAU,EAAE,oBAAoB,CAAC,cAAc,EAAE,UAAU,CAAC;QAC5D,cAAc;QACd,cAAc,EAAE,cAAc,EAAE,IAAI,IAAI,kBAAkB,EAAE,IAAI,IAAI,IAAI;QACxE,gBAAgB,EACd,cAAc,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,IAAI,IAAI;QAC9D,eAAe,EAAE,kBAAkB,EAAE,KAAK,IAAI,IAAI;QAClD,aAAa,EAAE,cAAc,EAAE,GAAG,IAAI,IAAI;QAC1C,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;QACjC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB;KACjD,CAAC;AACJ,CAAC"}
|