@xyo-network/evm-abi-diviner 7.0.3 → 7.0.4
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/neutral/index.d.ts +1 -2
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +2 -80
- package/dist/neutral/index.mjs.map +4 -4
- package/package.json +71 -18
- package/dist/neutral/Diviner.d.ts +0 -20
- package/dist/neutral/Diviner.d.ts.map +0 -1
- package/dist/neutral/Payload.d.ts +0 -62
- package/dist/neutral/Payload.d.ts.map +0 -1
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iDAAiD,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,81 +1,3 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
|
|
3
|
-
import { EvmContractSchema } from "@xyo-network/evm-contract-witness";
|
|
4
|
-
import {
|
|
5
|
-
AbstractDiviner,
|
|
6
|
-
asSchema as asSchema2,
|
|
7
|
-
isPayloadOfSchemaType
|
|
8
|
-
} from "@xyo-network/sdk";
|
|
9
|
-
import { Interface } from "ethers";
|
|
10
|
-
|
|
11
|
-
// src/Payload.ts
|
|
12
|
-
import {
|
|
13
|
-
zodAsFactory,
|
|
14
|
-
zodIsFactory,
|
|
15
|
-
zodToFactory
|
|
16
|
-
} from "@ariestools/sdk";
|
|
17
|
-
import { asSchema, PayloadZodOfSchema } from "@xyo-network/sdk";
|
|
18
|
-
import * as z from "zod/mini";
|
|
19
|
-
var InterfaceAbiZod = z.union([
|
|
20
|
-
z.string(),
|
|
21
|
-
z.array(z.union([
|
|
22
|
-
z.custom(),
|
|
23
|
-
z.custom(),
|
|
24
|
-
z.string()
|
|
25
|
-
]))
|
|
26
|
-
]);
|
|
27
|
-
var EvmFunctionImplementedSchema = asSchema("network.xyo.evm.function.implemented", true);
|
|
28
|
-
var EvmFunctionImplementedZod = z.extend(PayloadZodOfSchema(EvmFunctionImplementedSchema), {
|
|
29
|
-
address: z.string(),
|
|
30
|
-
implemented: z.boolean(),
|
|
31
|
-
selector: z.string()
|
|
32
|
-
});
|
|
33
|
-
var isEvmFunctionImplemented = zodIsFactory(EvmFunctionImplementedZod);
|
|
34
|
-
var asEvmFunctionImplemented = zodAsFactory(EvmFunctionImplementedZod, "asEvmFunctionImplemented");
|
|
35
|
-
var toEvmFunctionImplemented = zodToFactory(EvmFunctionImplementedZod, "toEvmFunctionImplemented");
|
|
36
|
-
|
|
37
|
-
// src/Diviner.ts
|
|
38
|
-
var EvmAbiImplementedDivinerConfigSchema = asSchema2("network.xyo.evm.abi.implemented.diviner.config", true);
|
|
39
|
-
var EvmAbiImplementedDiviner = class extends AbstractDiviner {
|
|
40
|
-
static configSchemas = [...super.configSchemas, EvmAbiImplementedDivinerConfigSchema];
|
|
41
|
-
static defaultConfigSchema = EvmAbiImplementedDivinerConfigSchema;
|
|
42
|
-
get abi() {
|
|
43
|
-
return assertEx(this.config?.abi, () => "No ABI specified");
|
|
44
|
-
}
|
|
45
|
-
async divineHandler(inPayloads = []) {
|
|
46
|
-
await this.startedAsync("throw");
|
|
47
|
-
try {
|
|
48
|
-
const observations = inPayloads.filter(isPayloadOfSchemaType(EvmContractSchema)).map(({ address, code }) => {
|
|
49
|
-
const contractInterface = new Interface(this.abi);
|
|
50
|
-
const byteCode = assertEx(code, () => "Missing code");
|
|
51
|
-
const results = [];
|
|
52
|
-
contractInterface.forEachFunction(({ selector }) => {
|
|
53
|
-
const observation = {
|
|
54
|
-
address,
|
|
55
|
-
implemented: byteCode.includes(BigInt(selector).toString(16)),
|
|
56
|
-
schema: EvmFunctionImplementedSchema,
|
|
57
|
-
selector
|
|
58
|
-
};
|
|
59
|
-
results.push(observation);
|
|
60
|
-
});
|
|
61
|
-
return results;
|
|
62
|
-
});
|
|
63
|
-
return observations.flat();
|
|
64
|
-
} catch (ex) {
|
|
65
|
-
const error = ex;
|
|
66
|
-
console.log(`Error [${this.config.name}]: ${error.message}`);
|
|
67
|
-
throw error;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
export {
|
|
72
|
-
EvmAbiImplementedDiviner,
|
|
73
|
-
EvmAbiImplementedDivinerConfigSchema,
|
|
74
|
-
EvmFunctionImplementedSchema,
|
|
75
|
-
EvmFunctionImplementedZod,
|
|
76
|
-
InterfaceAbiZod,
|
|
77
|
-
asEvmFunctionImplemented,
|
|
78
|
-
isEvmFunctionImplemented,
|
|
79
|
-
toEvmFunctionImplemented
|
|
80
|
-
};
|
|
1
|
+
// src/index.ts
|
|
2
|
+
export * from "@xyo-network/payloadset-plugins/evm-abi-diviner";
|
|
81
3
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";
|
|
6
|
-
"names": [
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Compatibility shim: this package re-exports from @xyo-network/payloadset-plugins/evm-abi-diviner.\nexport * from '@xyo-network/payloadset-plugins/evm-abi-diviner'\n"],
|
|
5
|
+
"mappings": ";AACA,cAAc;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/evm-abi-diviner",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.4",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -31,12 +31,15 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@xyo-network/
|
|
34
|
+
"@xyo-network/payloadset-plugins": "~7.0.4"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@ariestools/
|
|
38
|
-
"@ariestools/
|
|
39
|
-
"@ariestools/
|
|
37
|
+
"@ariestools/crypto": "~8.0.3",
|
|
38
|
+
"@ariestools/eth-address": "~8.0.3",
|
|
39
|
+
"@ariestools/sdk": "~8.0.3",
|
|
40
|
+
"@ariestools/threads": "~8.0.3",
|
|
41
|
+
"@ariestools/toolchain": "~8.6.12",
|
|
42
|
+
"@ariestools/tsconfig": "~8.6.12",
|
|
40
43
|
"@bitauth/libauth": "~3.0.0",
|
|
41
44
|
"@metamask/providers": "~22.1.1",
|
|
42
45
|
"@noble/post-quantum": "~0.6.1",
|
|
@@ -44,31 +47,54 @@
|
|
|
44
47
|
"@opentelemetry/sdk-trace-base": "~2.9.0",
|
|
45
48
|
"@scure/base": "~2.2.0",
|
|
46
49
|
"@scure/bip39": "~2.2.0",
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
50
|
+
"@uniswap/v3-sdk": "~3.31.0",
|
|
51
|
+
"@xyo-network/diviner-hash-lease": "~7.0.11",
|
|
52
|
+
"@xyo-network/diviner-indexing": "~7.0.11",
|
|
49
53
|
"@xyo-network/open-zeppelin-typechain": "~4.1.3",
|
|
50
|
-
"@xyo-network/sdk": "~7.0.
|
|
51
|
-
"@xyo-network/sdk-protocol": "~7.0.
|
|
52
|
-
"@xyo-network/
|
|
54
|
+
"@xyo-network/sdk": "~7.0.11",
|
|
55
|
+
"@xyo-network/sdk-protocol": "~7.0.15",
|
|
56
|
+
"@xyo-network/uniswap-typechain": "~4.1.3",
|
|
57
|
+
"@xyo-network/witness-blockchain-abstract": "~7.0.11",
|
|
58
|
+
"@xyo-network/witness-evm-abstract": "~7.0.11",
|
|
59
|
+
"@xyo-network/witness-timestamp": "~7.0.11",
|
|
53
60
|
"ajv": "~8.20.0",
|
|
54
61
|
"async-mutex": "~0.5.0",
|
|
62
|
+
"base64-js": "~1.5.1",
|
|
63
|
+
"bowser": "~2.14.1",
|
|
64
|
+
"crypto-js": "~4.2.0",
|
|
55
65
|
"debug": "~4.4.3",
|
|
66
|
+
"es6-dynamic-template": "~2.0.0",
|
|
56
67
|
"eslint": "~10.6.0",
|
|
57
68
|
"eslint-import-resolver-typescript": "~4.4.5",
|
|
58
69
|
"ethers": "~6.17.0",
|
|
70
|
+
"file-type": "~22.0.1",
|
|
71
|
+
"fluent-ffmpeg": "~2.1.3",
|
|
72
|
+
"geotiff": "~3.0.5",
|
|
73
|
+
"gm": "~1.25.1",
|
|
74
|
+
"graphql": "~17.0.2",
|
|
75
|
+
"hasbin": "~1.2.3",
|
|
59
76
|
"hash-wasm": "~4.12.0",
|
|
60
77
|
"idb": "~8.0.3",
|
|
61
78
|
"lru-cache": "~11.5.1",
|
|
79
|
+
"node-screenlogic": "~2.1.1",
|
|
62
80
|
"observable-fns": "~0.6.1",
|
|
81
|
+
"parse-data-url": "~6.0.0",
|
|
82
|
+
"prom-client": "~15.1.3",
|
|
83
|
+
"regression": "~2.0.1",
|
|
84
|
+
"sha.js": "~2.4.12",
|
|
85
|
+
"svg-parser": "~2.0.4",
|
|
86
|
+
"systeminformation": "~5.31.14",
|
|
63
87
|
"typescript": "~6.0.3",
|
|
64
|
-
"
|
|
65
|
-
"vitest": "~4.1.9",
|
|
88
|
+
"uuid": "~14.0.1",
|
|
66
89
|
"webextension-polyfill": "~0.12.0",
|
|
90
|
+
"xml2js": "~0.6.2",
|
|
67
91
|
"zod": "~4.4.3"
|
|
68
92
|
},
|
|
69
93
|
"peerDependencies": {
|
|
70
|
-
"@ariestools/
|
|
71
|
-
"@ariestools/
|
|
94
|
+
"@ariestools/crypto": "^8.0.3",
|
|
95
|
+
"@ariestools/eth-address": "^8.0.3",
|
|
96
|
+
"@ariestools/sdk": "^8.0.3",
|
|
97
|
+
"@ariestools/threads": "^8.0.3",
|
|
72
98
|
"@bitauth/libauth": "^3.0.0",
|
|
73
99
|
"@metamask/providers": "^22.1.1",
|
|
74
100
|
"@noble/post-quantum": "^0.6.1",
|
|
@@ -76,18 +102,44 @@
|
|
|
76
102
|
"@opentelemetry/sdk-trace-base": "^2.9.0",
|
|
77
103
|
"@scure/base": "^2.2.0",
|
|
78
104
|
"@scure/bip39": "^2.2.0",
|
|
79
|
-
"@
|
|
80
|
-
"@xyo-network/
|
|
81
|
-
"@xyo-network/
|
|
105
|
+
"@uniswap/v3-sdk": "^3.31.0",
|
|
106
|
+
"@xyo-network/diviner-hash-lease": "^7.0.11",
|
|
107
|
+
"@xyo-network/diviner-indexing": "^7.0.11",
|
|
108
|
+
"@xyo-network/open-zeppelin-typechain": "^4.1.3",
|
|
109
|
+
"@xyo-network/sdk": "^7.0.11",
|
|
110
|
+
"@xyo-network/sdk-protocol": "^7.0.15",
|
|
111
|
+
"@xyo-network/uniswap-typechain": "^4.1.3",
|
|
112
|
+
"@xyo-network/witness-blockchain-abstract": "^7.0.11",
|
|
113
|
+
"@xyo-network/witness-evm-abstract": "^7.0.11",
|
|
114
|
+
"@xyo-network/witness-timestamp": "^7.0.11",
|
|
82
115
|
"ajv": "^8.20.0",
|
|
83
116
|
"async-mutex": "^0.5.0",
|
|
117
|
+
"base64-js": "^1.5.1",
|
|
118
|
+
"bowser": "^2.14.1",
|
|
119
|
+
"crypto-js": "^4.2.0",
|
|
84
120
|
"debug": "^4.4.3",
|
|
121
|
+
"es6-dynamic-template": "^2.0.0",
|
|
85
122
|
"ethers": "^6.17.0",
|
|
123
|
+
"file-type": "^22.0.1",
|
|
124
|
+
"fluent-ffmpeg": "^2.1.3",
|
|
125
|
+
"geotiff": "^3.0.5",
|
|
126
|
+
"gm": "^1.25.1",
|
|
127
|
+
"graphql": "^17.0.2",
|
|
128
|
+
"hasbin": "^1.2.3",
|
|
86
129
|
"hash-wasm": "^4.12.0",
|
|
87
130
|
"idb": "^8.0.3",
|
|
88
131
|
"lru-cache": "^11.5.1",
|
|
132
|
+
"node-screenlogic": "^2.1.1",
|
|
89
133
|
"observable-fns": "^0.6.1",
|
|
134
|
+
"parse-data-url": "^6.0.0",
|
|
135
|
+
"prom-client": "^15.1.3",
|
|
136
|
+
"regression": "^2.0.1",
|
|
137
|
+
"sha.js": "^2.4.12",
|
|
138
|
+
"svg-parser": "^2.0.4",
|
|
139
|
+
"systeminformation": "^5.31.14",
|
|
140
|
+
"uuid": "^14.0.1",
|
|
90
141
|
"webextension-polyfill": "^0.12.0",
|
|
142
|
+
"xml2js": "^0.6.2",
|
|
91
143
|
"zod": "^4.4.3"
|
|
92
144
|
},
|
|
93
145
|
"engines": {
|
|
@@ -95,5 +147,6 @@
|
|
|
95
147
|
},
|
|
96
148
|
"publishConfig": {
|
|
97
149
|
"access": "public"
|
|
98
|
-
}
|
|
150
|
+
},
|
|
151
|
+
"deprecated": "Use @xyo-network/payloadset-plugins/evm-abi-diviner instead. Replace @xyo-network/evm-abi-diviner with @xyo-network/payloadset-plugins/evm-abi-diviner. This package is a compatibility shim only and will not receive further updates."
|
|
99
152
|
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { EvmContract } from '@xyo-network/evm-contract-witness';
|
|
2
|
-
import type { AnyConfigSchema, DivinerConfig, DivinerParams, Schema } from '@xyo-network/sdk';
|
|
3
|
-
import { AbstractDiviner } from '@xyo-network/sdk';
|
|
4
|
-
import type { EvmFunctionImplemented, InterfaceAbi } from './Payload.ts';
|
|
5
|
-
export declare const EvmAbiImplementedDivinerConfigSchema: "network.xyo.evm.abi.implemented.diviner.config" & {
|
|
6
|
-
readonly __schema: true;
|
|
7
|
-
};
|
|
8
|
-
export type EvmAbiImplementedDivinerConfigSchema = typeof EvmAbiImplementedDivinerConfigSchema;
|
|
9
|
-
export type EvmAbiImplementedDivinerConfig = DivinerConfig<{
|
|
10
|
-
abi?: InterfaceAbi;
|
|
11
|
-
schema: EvmAbiImplementedDivinerConfigSchema;
|
|
12
|
-
}>;
|
|
13
|
-
export type EvmAbiImplementedDivinerParams = DivinerParams<AnyConfigSchema<EvmAbiImplementedDivinerConfig>>;
|
|
14
|
-
export declare class EvmAbiImplementedDiviner<TParams extends EvmAbiImplementedDivinerParams = EvmAbiImplementedDivinerParams> extends AbstractDiviner<TParams, EvmContract, EvmFunctionImplemented> {
|
|
15
|
-
static readonly configSchemas: Schema[];
|
|
16
|
-
static readonly defaultConfigSchema: Schema;
|
|
17
|
-
get abi(): string | readonly (string | import("ethers").Fragment | import("ethers").JsonFragment)[];
|
|
18
|
-
protected divineHandler(inPayloads?: EvmContract[]): Promise<EvmFunctionImplemented[]>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAEpE,OAAO,KAAK,EACV,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EACtD,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,eAAe,EAChB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAGxE,eAAO,MAAM,oCAAoC;;CAAmE,CAAA;AACpH,MAAM,MAAM,oCAAoC,GAAG,OAAO,oCAAoC,CAAA;AAE9F,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,oCAAoC,CAAA;CAAE,CAAC,CAAA;AAEhI,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC,eAAe,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAE3G,qBAAa,wBAAwB,CAAC,OAAO,SAAS,8BAA8B,GAAG,8BAA8B,CAAE,SAAQ,eAAe,CAC5I,OAAO,EACP,WAAW,EACX,sBAAsB,CACvB;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAiE;IACjH,gBAAyB,mBAAmB,EAAE,MAAM,CAAuC;IAE3F,IAAI,GAAG,6FAEN;cAEwB,aAAa,CAAC,UAAU,GAAE,WAAW,EAAO,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;CA4B1G"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { Fragment, JsonFragment } from 'ethers';
|
|
2
|
-
import * as z from 'zod/mini';
|
|
3
|
-
export declare const InterfaceAbiZod: z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniArray<z.ZodMiniUnion<readonly [z.ZodMiniCustom<Fragment, Fragment>, z.ZodMiniCustom<JsonFragment, JsonFragment>, z.ZodMiniString<string>]>>]>;
|
|
4
|
-
export type InterfaceAbi = string | readonly (Fragment | JsonFragment | string)[];
|
|
5
|
-
export declare const EvmFunctionImplementedSchema: "network.xyo.evm.function.implemented" & {
|
|
6
|
-
readonly __schema: true;
|
|
7
|
-
};
|
|
8
|
-
export type EvmFunctionImplementedSchema = typeof EvmFunctionImplementedSchema;
|
|
9
|
-
export declare const EvmFunctionImplementedZod: z.ZodMiniObject<{
|
|
10
|
-
schema: z.ZodMiniLiteral<"network.xyo.evm.function.implemented" & {
|
|
11
|
-
readonly __schema: true;
|
|
12
|
-
}>;
|
|
13
|
-
address: z.ZodMiniString<string>;
|
|
14
|
-
implemented: z.ZodMiniBoolean<boolean>;
|
|
15
|
-
selector: z.ZodMiniString<string>;
|
|
16
|
-
}, z.core.$strip>;
|
|
17
|
-
export type EvmFunctionImplemented = z.infer<typeof EvmFunctionImplementedZod>;
|
|
18
|
-
export declare const isEvmFunctionImplemented: <T>(value: T) => value is T & {
|
|
19
|
-
schema: "network.xyo.evm.function.implemented" & {
|
|
20
|
-
readonly __schema: true;
|
|
21
|
-
};
|
|
22
|
-
address: string;
|
|
23
|
-
implemented: boolean;
|
|
24
|
-
selector: string;
|
|
25
|
-
};
|
|
26
|
-
export declare const asEvmFunctionImplemented: {
|
|
27
|
-
<T>(value: T): (T & {
|
|
28
|
-
schema: "network.xyo.evm.function.implemented" & {
|
|
29
|
-
readonly __schema: true;
|
|
30
|
-
};
|
|
31
|
-
address: string;
|
|
32
|
-
implemented: boolean;
|
|
33
|
-
selector: string;
|
|
34
|
-
}) | undefined;
|
|
35
|
-
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
36
|
-
schema: "network.xyo.evm.function.implemented" & {
|
|
37
|
-
readonly __schema: true;
|
|
38
|
-
};
|
|
39
|
-
address: string;
|
|
40
|
-
implemented: boolean;
|
|
41
|
-
selector: string;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
export declare const toEvmFunctionImplemented: {
|
|
45
|
-
<T>(value: T): (T & {
|
|
46
|
-
schema: "network.xyo.evm.function.implemented" & {
|
|
47
|
-
readonly __schema: true;
|
|
48
|
-
};
|
|
49
|
-
address: string;
|
|
50
|
-
implemented: boolean;
|
|
51
|
-
selector: string;
|
|
52
|
-
}) | undefined;
|
|
53
|
-
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
54
|
-
schema: "network.xyo.evm.function.implemented" & {
|
|
55
|
-
readonly __schema: true;
|
|
56
|
-
};
|
|
57
|
-
address: string;
|
|
58
|
-
implemented: boolean;
|
|
59
|
-
selector: string;
|
|
60
|
-
};
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=Payload.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,eAAO,MAAM,eAAe,0MAO1B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC,EAAE,CAAA;AAEjF,eAAO,MAAM,4BAA4B;;CAAyD,CAAA;AAClG,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAE9E,eAAO,MAAM,yBAAyB;;;;;;;iBAIpC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE9E,eAAO,MAAM,wBAAwB;;;;;;;CAA0C,CAAA;AAC/E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CAAsE,CAAA;AAC3G,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CAAsE,CAAA"}
|