@artblocks/abx-token-api 0.1.0-alpha.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/LICENSE +21 -0
- package/dist/abxjs.d.ts +13 -0
- package/dist/abxjs.d.ts.map +1 -0
- package/dist/abxjs.js +49 -0
- package/dist/abxjs.js.map +1 -0
- package/dist/art.d.ts +26 -0
- package/dist/art.d.ts.map +1 -0
- package/dist/art.js +85 -0
- package/dist/art.js.map +1 -0
- package/dist/code.d.ts +73 -0
- package/dist/code.d.ts.map +1 -0
- package/dist/code.js +216 -0
- package/dist/code.js.map +1 -0
- package/dist/dashboard.d.ts +12 -0
- package/dist/dashboard.d.ts.map +1 -0
- package/dist/dashboard.js +231 -0
- package/dist/dashboard.js.map +1 -0
- package/dist/deps.d.ts +146 -0
- package/dist/deps.d.ts.map +1 -0
- package/dist/deps.js +297 -0
- package/dist/deps.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/inline.d.ts +19 -0
- package/dist/inline.d.ts.map +1 -0
- package/dist/inline.js +23 -0
- package/dist/inline.js.map +1 -0
- package/dist/metadata.d.ts +89 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +673 -0
- package/dist/metadata.js.map +1 -0
- package/dist/resolve.d.ts +74 -0
- package/dist/resolve.d.ts.map +1 -0
- package/dist/resolve.js +107 -0
- package/dist/resolve.js.map +1 -0
- package/dist/server.d.ts +91 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +940 -0
- package/dist/server.js.map +1 -0
- package/dist/watcher.d.ts +56 -0
- package/dist/watcher.d.ts.map +1 -0
- package/dist/watcher.js +179 -0
- package/dist/watcher.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { type MetadataField, type PublicClient } from '@artblocks/abx-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* The off-chain twin of the on-chain resolution path: turn a field's `(representation,
|
|
4
|
+
* value)` into its actual content bytes, applying whatever decode the representation
|
|
5
|
+
* implies. This is the one place the four on-chain-content flavors are handled, so the
|
|
6
|
+
* image route and the JSON text fields resolve identically:
|
|
7
|
+
*
|
|
8
|
+
* - `inline` → the value bytes
|
|
9
|
+
* - `inline-gzip` → gunzip(value) (on-chain can't gunzip; we do it here)
|
|
10
|
+
* - `reader` → chunkStore.read(manifest) (multi-chunk + per-chunk FastLZ, decoded on-chain)
|
|
11
|
+
* - `reader-gzip` → gunzip(reader.read(manifest)) (chunks hold gzip(content); inflate here)
|
|
12
|
+
*
|
|
13
|
+
* Returns null for representations that aren't byte content here (`keccak256`/`sha256` →
|
|
14
|
+
* custody by hash; `url`/`ipfs`/`arweave` → locators), so callers fall through to those paths.
|
|
15
|
+
*/
|
|
16
|
+
/** The on-chain reader interface — `read(pointer) → bytes` returns finished, on-chain-decoded content. */
|
|
17
|
+
export declare const READER_ABI: readonly [{
|
|
18
|
+
readonly type: "function";
|
|
19
|
+
readonly name: "read";
|
|
20
|
+
readonly stateMutability: "view";
|
|
21
|
+
readonly inputs: readonly [{
|
|
22
|
+
readonly name: "pointer";
|
|
23
|
+
readonly type: "address";
|
|
24
|
+
}];
|
|
25
|
+
readonly outputs: readonly [{
|
|
26
|
+
readonly type: "bytes";
|
|
27
|
+
}];
|
|
28
|
+
}];
|
|
29
|
+
/** Resolve a field to its content bytes (decoding inline/gzip/reader), or null if not byte content here. */
|
|
30
|
+
export declare function resolveFieldBytes(client: PublicClient, field: MetadataField | null): Promise<Uint8Array | null>;
|
|
31
|
+
/** Same as {@link resolveFieldBytes}, decoded as UTF-8 text (for name/description/etc.). */
|
|
32
|
+
export declare function resolveFieldText(client: PublicClient, field: MetadataField | null): Promise<string | null>;
|
|
33
|
+
/** True if the representation carries its content on-chain (inline or reader, gzip'd or not). */
|
|
34
|
+
export declare function isOnChainContent(representation: string): boolean;
|
|
35
|
+
/** `IAbxFieldRenderer.render(token, tokenId, field) → (contentType, data)` — the `renderer`
|
|
36
|
+
* representation's compute-at-read call, the off-chain twin of the on-chain metadata renderer's
|
|
37
|
+
* staticcall. */
|
|
38
|
+
export declare const FIELD_RENDERER_ABI: readonly [{
|
|
39
|
+
readonly type: "function";
|
|
40
|
+
readonly name: "render";
|
|
41
|
+
readonly stateMutability: "view";
|
|
42
|
+
readonly inputs: readonly [{
|
|
43
|
+
readonly name: "token";
|
|
44
|
+
readonly type: "address";
|
|
45
|
+
}, {
|
|
46
|
+
readonly name: "tokenId";
|
|
47
|
+
readonly type: "uint256";
|
|
48
|
+
}, {
|
|
49
|
+
readonly name: "field";
|
|
50
|
+
readonly type: "bytes32";
|
|
51
|
+
}];
|
|
52
|
+
readonly outputs: readonly [{
|
|
53
|
+
readonly name: "contentType";
|
|
54
|
+
readonly type: "string";
|
|
55
|
+
}, {
|
|
56
|
+
readonly name: "data";
|
|
57
|
+
readonly type: "bytes";
|
|
58
|
+
}];
|
|
59
|
+
}];
|
|
60
|
+
/** Collection-surface reads (no token, e.g. contractURI) pass this sentinel to a field renderer
|
|
61
|
+
* (`type(uint256).max` — mirrors the on-chain renderer's COLLECTION_TOKEN_ID). */
|
|
62
|
+
export declare const COLLECTION_TOKEN_ID: string;
|
|
63
|
+
/**
|
|
64
|
+
* Dispatch a `renderer`-represented field: eth_call the field renderer for its computed
|
|
65
|
+
* `(contentType, bytes)` — the one representation whose type is declared on-chain at the source
|
|
66
|
+
* (`onchain-metadata.md → Resolution`). Returns null for any other representation. A returned
|
|
67
|
+
* contentType of `text/uri-list` means the bytes ARE a locator (landed verbatim, never wrapped)
|
|
68
|
+
* — callers redirect rather than serve.
|
|
69
|
+
*/
|
|
70
|
+
export declare function resolveFieldRendered(client: PublicClient, tokenAddress: string, tokenId: string, fieldName: string, field: MetadataField | null): Promise<{
|
|
71
|
+
contentType: string;
|
|
72
|
+
bytes: Uint8Array;
|
|
73
|
+
} | null>;
|
|
74
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AAEH,0GAA0G;AAC1G,eAAO,MAAM,UAAU;;;;;;;;;;;EAQb,CAAC;AAIX,4GAA4G;AAC5G,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,aAAa,GAAG,IAAI,GAC1B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAsB5B;AAED,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGhH;AAED,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAOhE;AAED;;kBAEkB;AAClB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EAerB,CAAC;AAEX;mFACmF;AACnF,eAAO,MAAM,mBAAmB,QAA+B,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,GAAG,IAAI,GAC1B,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAC,GAAG,IAAI,CAAC,CAU1D"}
|
package/dist/resolve.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { gunzipSync } from 'node:zlib';
|
|
2
|
+
import { decodeAbiParameters, hexToBytes } from 'viem';
|
|
3
|
+
import { decodeReader, encodeTag, METADATA_REPRESENTATION as R, } from '@artblocks/abx-sdk';
|
|
4
|
+
/**
|
|
5
|
+
* The off-chain twin of the on-chain resolution path: turn a field's `(representation,
|
|
6
|
+
* value)` into its actual content bytes, applying whatever decode the representation
|
|
7
|
+
* implies. This is the one place the four on-chain-content flavors are handled, so the
|
|
8
|
+
* image route and the JSON text fields resolve identically:
|
|
9
|
+
*
|
|
10
|
+
* - `inline` → the value bytes
|
|
11
|
+
* - `inline-gzip` → gunzip(value) (on-chain can't gunzip; we do it here)
|
|
12
|
+
* - `reader` → chunkStore.read(manifest) (multi-chunk + per-chunk FastLZ, decoded on-chain)
|
|
13
|
+
* - `reader-gzip` → gunzip(reader.read(manifest)) (chunks hold gzip(content); inflate here)
|
|
14
|
+
*
|
|
15
|
+
* Returns null for representations that aren't byte content here (`keccak256`/`sha256` →
|
|
16
|
+
* custody by hash; `url`/`ipfs`/`arweave` → locators), so callers fall through to those paths.
|
|
17
|
+
*/
|
|
18
|
+
/** The on-chain reader interface — `read(pointer) → bytes` returns finished, on-chain-decoded content. */
|
|
19
|
+
export const READER_ABI = [
|
|
20
|
+
{
|
|
21
|
+
type: 'function',
|
|
22
|
+
name: 'read',
|
|
23
|
+
stateMutability: 'view',
|
|
24
|
+
inputs: [{ name: 'pointer', type: 'address' }],
|
|
25
|
+
outputs: [{ type: 'bytes' }],
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
const gunzip = (b) => new Uint8Array(gunzipSync(Buffer.from(b)));
|
|
29
|
+
/** Resolve a field to its content bytes (decoding inline/gzip/reader), or null if not byte content here. */
|
|
30
|
+
export async function resolveFieldBytes(client, field) {
|
|
31
|
+
if (!field)
|
|
32
|
+
return null;
|
|
33
|
+
switch (field.representation) {
|
|
34
|
+
case R.inline:
|
|
35
|
+
return hexToBytes(field.value);
|
|
36
|
+
case R.inlineGzip:
|
|
37
|
+
return gunzip(hexToBytes(field.value));
|
|
38
|
+
case R.reader:
|
|
39
|
+
case R.readerGzip: {
|
|
40
|
+
const { reader, pointer } = decodeReader(field.value);
|
|
41
|
+
const out = (await client.readContract({
|
|
42
|
+
address: reader,
|
|
43
|
+
abi: READER_ABI,
|
|
44
|
+
functionName: 'read',
|
|
45
|
+
args: [pointer],
|
|
46
|
+
}));
|
|
47
|
+
const bytes = hexToBytes(out);
|
|
48
|
+
return field.representation === R.readerGzip ? gunzip(bytes) : bytes;
|
|
49
|
+
}
|
|
50
|
+
default:
|
|
51
|
+
return null; // keccak256 / sha256 (custody) · url / ipfs / arweave (locator)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Same as {@link resolveFieldBytes}, decoded as UTF-8 text (for name/description/etc.). */
|
|
55
|
+
export async function resolveFieldText(client, field) {
|
|
56
|
+
const bytes = await resolveFieldBytes(client, field);
|
|
57
|
+
return bytes ? new TextDecoder().decode(bytes) : null;
|
|
58
|
+
}
|
|
59
|
+
/** True if the representation carries its content on-chain (inline or reader, gzip'd or not). */
|
|
60
|
+
export function isOnChainContent(representation) {
|
|
61
|
+
return (representation === R.inline ||
|
|
62
|
+
representation === R.inlineGzip ||
|
|
63
|
+
representation === R.reader ||
|
|
64
|
+
representation === R.readerGzip);
|
|
65
|
+
}
|
|
66
|
+
/** `IAbxFieldRenderer.render(token, tokenId, field) → (contentType, data)` — the `renderer`
|
|
67
|
+
* representation's compute-at-read call, the off-chain twin of the on-chain metadata renderer's
|
|
68
|
+
* staticcall. */
|
|
69
|
+
export const FIELD_RENDERER_ABI = [
|
|
70
|
+
{
|
|
71
|
+
type: 'function',
|
|
72
|
+
name: 'render',
|
|
73
|
+
stateMutability: 'view',
|
|
74
|
+
inputs: [
|
|
75
|
+
{ name: 'token', type: 'address' },
|
|
76
|
+
{ name: 'tokenId', type: 'uint256' },
|
|
77
|
+
{ name: 'field', type: 'bytes32' },
|
|
78
|
+
],
|
|
79
|
+
outputs: [
|
|
80
|
+
{ name: 'contentType', type: 'string' },
|
|
81
|
+
{ name: 'data', type: 'bytes' },
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
];
|
|
85
|
+
/** Collection-surface reads (no token, e.g. contractURI) pass this sentinel to a field renderer
|
|
86
|
+
* (`type(uint256).max` — mirrors the on-chain renderer's COLLECTION_TOKEN_ID). */
|
|
87
|
+
export const COLLECTION_TOKEN_ID = (2n ** 256n - 1n).toString();
|
|
88
|
+
/**
|
|
89
|
+
* Dispatch a `renderer`-represented field: eth_call the field renderer for its computed
|
|
90
|
+
* `(contentType, bytes)` — the one representation whose type is declared on-chain at the source
|
|
91
|
+
* (`onchain-metadata.md → Resolution`). Returns null for any other representation. A returned
|
|
92
|
+
* contentType of `text/uri-list` means the bytes ARE a locator (landed verbatim, never wrapped)
|
|
93
|
+
* — callers redirect rather than serve.
|
|
94
|
+
*/
|
|
95
|
+
export async function resolveFieldRendered(client, tokenAddress, tokenId, fieldName, field) {
|
|
96
|
+
if (!field || field.representation !== R.renderer)
|
|
97
|
+
return null;
|
|
98
|
+
const [renderer] = decodeAbiParameters([{ type: 'address' }], field.value);
|
|
99
|
+
const [contentType, data] = (await client.readContract({
|
|
100
|
+
address: renderer,
|
|
101
|
+
abi: FIELD_RENDERER_ABI,
|
|
102
|
+
functionName: 'render',
|
|
103
|
+
args: [tokenAddress, BigInt(tokenId), encodeTag(fieldName)],
|
|
104
|
+
}));
|
|
105
|
+
return { contentType, bytes: hexToBytes(data) };
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type Server } from 'node:http';
|
|
2
|
+
import { type ProjectState, type TokenState } from '@artblocks/abx-sdk';
|
|
3
|
+
import { SelfHostIndexer } from '@artblocks/abx-indexer';
|
|
4
|
+
import { type StorageBackend } from '@artblocks/abx-storage';
|
|
5
|
+
export interface ServerOptions {
|
|
6
|
+
indexer: SelfHostIndexer;
|
|
7
|
+
port?: number;
|
|
8
|
+
baseUrl?: string;
|
|
9
|
+
/** Byte-custody backend the image/verify routes resolve content from. Defaults to `resolveBackend()`. */
|
|
10
|
+
storage?: StorageBackend;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolve a token's image bytes by dispatching on the `image` field's single active
|
|
14
|
+
* representation (token scope first, else the collection-wide field — the same fallback the
|
|
15
|
+
* JSON assembly uses): on-chain content — `inline` / `inline-gzip` / `reader` / `reader-gzip`,
|
|
16
|
+
* all decoded by the shared {@link resolveFieldBytes} (which calls `read(pointer)` for a
|
|
17
|
+
* reader and gunzips the gzip variants) → computed content (`renderer` — eth_call, typed by
|
|
18
|
+
* the returned contentType; `text/uri-list` means the bytes are a locator the route redirects
|
|
19
|
+
* to) → off-chain custody located by the on-chain `keccak256`/`sha256` hash → graceful
|
|
20
|
+
* placeholder. The node never errors on missing bytes.
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveContent(state: ProjectState, token: TokenState, storage: StorageBackend): Promise<{
|
|
23
|
+
contentType: string;
|
|
24
|
+
body: Uint8Array | string;
|
|
25
|
+
}>;
|
|
26
|
+
/**
|
|
27
|
+
* The view to resolve for a requested tokenId. A token's metadata is its token id (no
|
|
28
|
+
* decoupling), so identity and content both come from that token. Returns a synthesized,
|
|
29
|
+
* unminted view for a not-yet-minted id within the cap (pre-mint warming — the multi-token
|
|
30
|
+
* analogue of the 1/1's seed-token-0), or `null` when the id is genuinely unknown (→ 404).
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveTokenView(state: ProjectState, tokenId: string): TokenState | null;
|
|
33
|
+
export declare const DEFAULT_PORT = 8787;
|
|
34
|
+
/** The base URL this node is reachable at — what gets baked into on-chain URIs. */
|
|
35
|
+
export declare function resolveBaseUrl(port?: number): string;
|
|
36
|
+
/**
|
|
37
|
+
* Guard the base URL a hosted resolver serves its own metadata URLs from. `.example` is RFC-2606
|
|
38
|
+
* reserved — it can only be a leftover placeholder, so refuse it anywhere. A localhost base is fine
|
|
39
|
+
* for a local `abx serve` (dev), but in a hosted image (ABX_HOSTED=1) it means the public URL was
|
|
40
|
+
* never set — refuse so the deploy fails loudly instead of silently serving dead localhost links.
|
|
41
|
+
* The scaffold now always bakes a real host, so this only fires on a stripped env or an old artifact.
|
|
42
|
+
*/
|
|
43
|
+
export declare function assertServableBaseUrl(baseUrl: string): void;
|
|
44
|
+
export declare function createTokenApiServer(opts: ServerOptions): Server;
|
|
45
|
+
export declare function startTokenApiServer(opts: ServerOptions): Promise<{
|
|
46
|
+
server: Server;
|
|
47
|
+
url: string;
|
|
48
|
+
}>;
|
|
49
|
+
export declare function verifyProject(state: ProjectState | null, storage: StorageBackend): Promise<{
|
|
50
|
+
error: string;
|
|
51
|
+
address?: undefined;
|
|
52
|
+
tokens?: undefined;
|
|
53
|
+
} | {
|
|
54
|
+
address: `0x${string}`;
|
|
55
|
+
tokens: {
|
|
56
|
+
tokenId: string;
|
|
57
|
+
checks: {
|
|
58
|
+
kind: string;
|
|
59
|
+
committed: `0x${string}`;
|
|
60
|
+
verified: boolean | null;
|
|
61
|
+
}[];
|
|
62
|
+
}[];
|
|
63
|
+
error?: undefined;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* `POST /admin/projects {address, fromBlock?, factory?, label?, description?, externalUrl?,
|
|
67
|
+
* attributes?, contentLocators?}` — attributes are off-chain operator traits; contentLocators
|
|
68
|
+
* bridge `{ "0x<keccak>": "ipfs://<cid>" }` so the image points at IPFS without holding bytes.
|
|
69
|
+
* → register the contract with THIS node and replay it from chain. Idempotent: a
|
|
70
|
+
* re-POST is the post-deploy "nudge" that pulls events that landed since.
|
|
71
|
+
* `DELETE /admin/projects/:address` → stop indexing it (drops the projection).
|
|
72
|
+
*
|
|
73
|
+
* We deliberately do NOT factory-scope here: if you own this resolver and you tell it
|
|
74
|
+
* a contract, it does its best to index it. (Allowlisting by factory is a platform
|
|
75
|
+
* concern — see docs/10-backlog.md B6 — not a self-hosting one.)
|
|
76
|
+
*/
|
|
77
|
+
/**
|
|
78
|
+
* Decide the scan floor + whether a full replay is needed when registering a project via the
|
|
79
|
+
* admin control plane. Pure (the discovery/refusal fallback for the null case is the caller's):
|
|
80
|
+
* - explicit `bodyFromBlock` wins; else the `existingFromBlock` already stored.
|
|
81
|
+
* - `null` ⇒ NEITHER supplied nor stored — the caller must derive the deploy block or refuse
|
|
82
|
+
* (never default to genesis: a range-capped RPC would sweep millions of blocks).
|
|
83
|
+
* - `full` is true only when forced, on a first registration (no existing floor), or when the
|
|
84
|
+
* floor actually CHANGED — so re-sending the SAME floor (the CLI now always forwards the deploy
|
|
85
|
+
* block, even on a nudge) stays incremental: `abx add --remote` twice ≠ two full scans.
|
|
86
|
+
*/
|
|
87
|
+
export declare function planRegistrationFloor(bodyFromBlock: string | undefined, existingFromBlock: string | undefined, forceFull?: boolean): {
|
|
88
|
+
fromBlock: string;
|
|
89
|
+
full: boolean;
|
|
90
|
+
} | null;
|
|
91
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,MAAM,EAAsB,MAAM,WAAW,CAAC;AAE/F,OAAO,EAcL,KAAK,YAAY,EAEjB,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAiB,KAAK,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAqB3E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yGAAyG;IACzG,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAA;CAAC,CAAC,CAsB3D;AAaD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAYxF;AAED,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,SAAe,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAqB3D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAchE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAC,CAO/F;AAgbD,wBAAsB,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;GAetF;AAoED;;;;;;;;;;;GAWG;AACH;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,SAAS,UAAQ,GAChB;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,GAAG,IAAI,CAK3C"}
|