@aztec/bb.js 0.0.1-commit.d3ec352c → 0.0.1-commit.f295ac2
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/build/amd64-linux/bb +0 -0
- package/build/amd64-linux/nodejs_module.node +0 -0
- package/build/amd64-macos/bb +0 -0
- package/build/amd64-macos/nodejs_module.node +0 -0
- package/build/arm64-linux/bb +0 -0
- package/build/arm64-linux/nodejs_module.node +0 -0
- package/build/arm64-macos/bb +0 -0
- package/build/arm64-macos/nodejs_module.node +0 -0
- package/dest/browser/barretenberg/backend.d.ts +48 -17
- package/dest/browser/barretenberg/backend.d.ts.map +1 -1
- package/dest/browser/barretenberg/backend.js +95 -6
- package/dest/browser/barretenberg/index.d.ts +2 -2
- package/dest/browser/barretenberg/index.d.ts.map +1 -1
- package/dest/browser/barretenberg/index.js +2 -2
- package/dest/browser/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/bb_backends/index.d.ts +3 -1
- package/dest/browser/bb_backends/index.d.ts.map +1 -1
- package/dest/browser/cbind/generate.d.ts +5 -2
- package/dest/browser/cbind/generate.d.ts.map +1 -1
- package/dest/browser/cbind/generate.js +47 -25
- package/dest/browser/cbind/generated/api_types.d.ts +787 -1660
- package/dest/browser/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/browser/cbind/generated/api_types.js +1535 -1535
- package/dest/browser/cbind/generated/async.d.ts +1 -1
- package/dest/browser/cbind/generated/async.d.ts.map +1 -1
- package/dest/browser/cbind/generated/async.js +6 -2
- package/dest/browser/cbind/generated/sync.d.ts +1 -1
- package/dest/browser/cbind/generated/sync.d.ts.map +1 -1
- package/dest/browser/cbind/generated/sync.js +6 -2
- package/dest/browser/cbind/naming.d.ts +16 -0
- package/dest/browser/cbind/naming.d.ts.map +1 -0
- package/dest/browser/cbind/naming.js +24 -0
- package/dest/browser/cbind/rust_codegen.d.ts +25 -0
- package/dest/browser/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/rust_codegen.js +416 -0
- package/dest/browser/cbind/schema_visitor.d.ts +47 -0
- package/dest/browser/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/browser/cbind/schema_visitor.js +158 -0
- package/dest/browser/cbind/typescript_codegen.d.ts +30 -0
- package/dest/browser/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/browser/cbind/typescript_codegen.js +365 -0
- package/dest/browser/index.d.ts +2 -2
- package/dest/browser/index.d.ts.map +1 -1
- package/dest/browser/index.js +2 -2
- package/dest/node/barretenberg/backend.d.ts +48 -17
- package/dest/node/barretenberg/backend.d.ts.map +1 -1
- package/dest/node/barretenberg/backend.js +95 -6
- package/dest/node/barretenberg/backend.test.d.ts +2 -0
- package/dest/node/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node/barretenberg/backend.test.js +103 -0
- package/dest/node/barretenberg/index.d.ts +2 -2
- package/dest/node/barretenberg/index.d.ts.map +1 -1
- package/dest/node/barretenberg/index.js +2 -2
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
- package/dest/node/bb_backends/index.d.ts +3 -1
- package/dest/node/bb_backends/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.d.ts +1 -1
- package/dest/node/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node/bb_backends/node/index.js +5 -5
- package/dest/node/bb_backends/node/native_shm.d.ts +3 -2
- package/dest/node/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm.js +38 -20
- package/dest/node/bb_backends/node/native_shm_async.d.ts +2 -2
- package/dest/node/bb_backends/node/native_shm_async.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_shm_async.js +15 -20
- package/dest/node/bb_backends/node/native_socket.d.ts +1 -1
- package/dest/node/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node/bb_backends/node/native_socket.js +4 -4
- package/dest/node/bb_backends/node/platform.d.ts +1 -1
- package/dest/node/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node/bb_backends/node/platform.js +7 -2
- package/dest/node/cbind/generate.d.ts +5 -2
- package/dest/node/cbind/generate.d.ts.map +1 -1
- package/dest/node/cbind/generate.js +47 -25
- package/dest/node/cbind/generated/api_types.d.ts +787 -1660
- package/dest/node/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node/cbind/generated/api_types.js +1535 -1535
- package/dest/node/cbind/generated/async.d.ts +1 -1
- package/dest/node/cbind/generated/async.d.ts.map +1 -1
- package/dest/node/cbind/generated/async.js +6 -2
- package/dest/node/cbind/generated/sync.d.ts +1 -1
- package/dest/node/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node/cbind/generated/sync.js +6 -2
- package/dest/node/cbind/naming.d.ts +16 -0
- package/dest/node/cbind/naming.d.ts.map +1 -0
- package/dest/node/cbind/naming.js +24 -0
- package/dest/node/cbind/rust_codegen.d.ts +25 -0
- package/dest/node/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node/cbind/rust_codegen.js +416 -0
- package/dest/node/cbind/schema_visitor.d.ts +47 -0
- package/dest/node/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node/cbind/schema_visitor.js +158 -0
- package/dest/node/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node/cbind/typescript_codegen.js +365 -0
- package/dest/node/index.d.ts +2 -2
- package/dest/node/index.d.ts.map +1 -1
- package/dest/node/index.js +2 -2
- package/dest/node-cjs/barretenberg/backend.d.ts +48 -17
- package/dest/node-cjs/barretenberg/backend.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/backend.js +97 -6
- package/dest/node-cjs/barretenberg/backend.test.d.ts +2 -0
- package/dest/node-cjs/barretenberg/backend.test.d.ts.map +1 -0
- package/dest/node-cjs/barretenberg/backend.test.js +105 -0
- package/dest/node-cjs/barretenberg/index.d.ts +2 -2
- package/dest/node-cjs/barretenberg/index.d.ts.map +1 -1
- package/dest/node-cjs/barretenberg/index.js +4 -2
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/barretenberg_wasm/barretenberg_wasm_main/index.js +1 -1
- package/dest/node-cjs/bb_backends/index.d.ts +3 -1
- package/dest/node-cjs/bb_backends/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/index.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/index.js +5 -5
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts +3 -2
- package/dest/node-cjs/bb_backends/node/native_shm.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm.js +37 -19
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts +2 -2
- package/dest/node-cjs/bb_backends/node/native_shm_async.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_shm_async.js +15 -20
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/native_socket.js +4 -4
- package/dest/node-cjs/bb_backends/node/platform.d.ts +1 -1
- package/dest/node-cjs/bb_backends/node/platform.d.ts.map +1 -1
- package/dest/node-cjs/bb_backends/node/platform.js +7 -2
- package/dest/node-cjs/cbind/generate.d.ts +5 -2
- package/dest/node-cjs/cbind/generate.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generate.js +47 -25
- package/dest/node-cjs/cbind/generated/api_types.d.ts +787 -1660
- package/dest/node-cjs/cbind/generated/api_types.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/api_types.js +1744 -1744
- package/dest/node-cjs/cbind/generated/async.d.ts +1 -1
- package/dest/node-cjs/cbind/generated/async.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/async.js +6 -2
- package/dest/node-cjs/cbind/generated/sync.d.ts +1 -1
- package/dest/node-cjs/cbind/generated/sync.d.ts.map +1 -1
- package/dest/node-cjs/cbind/generated/sync.js +6 -2
- package/dest/node-cjs/cbind/naming.d.ts +16 -0
- package/dest/node-cjs/cbind/naming.d.ts.map +1 -0
- package/dest/node-cjs/cbind/naming.js +28 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts +25 -0
- package/dest/node-cjs/cbind/rust_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/rust_codegen.js +420 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts +47 -0
- package/dest/node-cjs/cbind/schema_visitor.d.ts.map +1 -0
- package/dest/node-cjs/cbind/schema_visitor.js +162 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts +30 -0
- package/dest/node-cjs/cbind/typescript_codegen.d.ts.map +1 -0
- package/dest/node-cjs/cbind/typescript_codegen.js +369 -0
- package/dest/node-cjs/index.d.ts +2 -2
- package/dest/node-cjs/index.d.ts.map +1 -1
- package/dest/node-cjs/index.js +4 -2
- package/package.json +1 -1
- package/src/barretenberg/backend.test.ts +122 -0
- package/src/barretenberg/backend.ts +133 -19
- package/src/barretenberg/index.ts +9 -1
- package/src/barretenberg_wasm/barretenberg_wasm_main/index.ts +1 -1
- package/src/bb_backends/index.ts +3 -0
- package/src/bb_backends/node/index.ts +9 -4
- package/src/bb_backends/node/native_shm.ts +36 -18
- package/src/bb_backends/node/native_shm_async.ts +13 -18
- package/src/bb_backends/node/native_socket.ts +3 -4
- package/src/bb_backends/node/platform.ts +6 -1
- package/src/cbind/generate.ts +51 -32
- package/src/cbind/generated/api_types.ts +1655 -2756
- package/src/cbind/generated/async.ts +7 -2
- package/src/cbind/generated/sync.ts +7 -2
- package/src/cbind/naming.ts +27 -0
- package/src/cbind/rust_codegen.ts +459 -0
- package/src/cbind/schema_visitor.ts +219 -0
- package/src/cbind/typescript_codegen.ts +419 -0
- package/src/index.ts +4 -0
- package/dest/browser/cbind/schema_compiler.d.ts +0 -68
- package/dest/browser/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/browser/cbind/schema_compiler.js +0 -600
- package/dest/node/cbind/schema_compiler.d.ts +0 -68
- package/dest/node/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node/cbind/schema_compiler.js +0 -600
- package/dest/node-cjs/cbind/schema_compiler.d.ts +0 -68
- package/dest/node-cjs/cbind/schema_compiler.d.ts.map +0 -1
- package/dest/node-cjs/cbind/schema_compiler.js +0 -607
- package/src/cbind/schema_compiler.ts +0 -745
|
@@ -1,435 +1,413 @@
|
|
|
1
1
|
export type Field2 = [Uint8Array, Uint8Array];
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export type Secp256r1Fq = Uint8Array;
|
|
7
|
-
export type Secp256r1Fr = Uint8Array;
|
|
8
|
-
export type Uint256T = Uint8Array;
|
|
9
|
-
export interface AesDecrypt {
|
|
10
|
-
ciphertext: Uint8Array;
|
|
11
|
-
iv: Uint8Array;
|
|
12
|
-
key: Uint8Array;
|
|
13
|
-
length: number;
|
|
2
|
+
export interface CircuitComputeVkResponse {
|
|
3
|
+
bytes: Uint8Array;
|
|
4
|
+
fields: Uint8Array[];
|
|
5
|
+
hash: Uint8Array;
|
|
14
6
|
}
|
|
15
|
-
interface
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
length: number;
|
|
7
|
+
export interface CircuitInput {
|
|
8
|
+
name: string;
|
|
9
|
+
bytecode: Uint8Array;
|
|
10
|
+
verificationKey: Uint8Array;
|
|
20
11
|
}
|
|
21
|
-
export interface
|
|
22
|
-
|
|
12
|
+
export interface ProofSystemSettings {
|
|
13
|
+
ipaAccumulation: boolean;
|
|
14
|
+
oracleHashType: string;
|
|
15
|
+
disableZk: boolean;
|
|
16
|
+
optimizedSolidityVerifier: boolean;
|
|
23
17
|
}
|
|
24
|
-
interface
|
|
25
|
-
|
|
18
|
+
export interface CircuitProve {
|
|
19
|
+
circuit: CircuitInput;
|
|
20
|
+
witness: Uint8Array;
|
|
21
|
+
settings: ProofSystemSettings;
|
|
26
22
|
}
|
|
27
|
-
export interface
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
key: Uint8Array;
|
|
31
|
-
length: number;
|
|
23
|
+
export interface CircuitInputNoVK {
|
|
24
|
+
name: string;
|
|
25
|
+
bytecode: Uint8Array;
|
|
32
26
|
}
|
|
33
|
-
interface
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
key: Uint8Array;
|
|
37
|
-
length: number;
|
|
27
|
+
export interface CircuitComputeVk {
|
|
28
|
+
circuit: CircuitInputNoVK;
|
|
29
|
+
settings: ProofSystemSettings;
|
|
38
30
|
}
|
|
39
|
-
export interface
|
|
40
|
-
|
|
31
|
+
export interface CircuitStats {
|
|
32
|
+
circuit: CircuitInput;
|
|
33
|
+
includeGatesPerOpcode: boolean;
|
|
34
|
+
settings: ProofSystemSettings;
|
|
41
35
|
}
|
|
42
|
-
interface
|
|
43
|
-
|
|
36
|
+
export interface CircuitVerify {
|
|
37
|
+
verificationKey: Uint8Array;
|
|
38
|
+
publicInputs: Uint8Array[];
|
|
39
|
+
proof: Uint8Array[];
|
|
40
|
+
settings: ProofSystemSettings;
|
|
44
41
|
}
|
|
45
|
-
export interface
|
|
46
|
-
|
|
42
|
+
export interface ChonkComputeStandaloneVk {
|
|
43
|
+
circuit: CircuitInputNoVK;
|
|
47
44
|
}
|
|
48
|
-
interface
|
|
49
|
-
|
|
45
|
+
export interface ChonkComputeIvcVk {
|
|
46
|
+
circuit: CircuitInputNoVK;
|
|
50
47
|
}
|
|
51
|
-
export interface
|
|
52
|
-
|
|
48
|
+
export interface ChonkStart {
|
|
49
|
+
numCircuits: number;
|
|
53
50
|
}
|
|
54
|
-
interface
|
|
55
|
-
|
|
51
|
+
export interface ChonkLoad {
|
|
52
|
+
circuit: CircuitInput;
|
|
56
53
|
}
|
|
57
|
-
export interface
|
|
58
|
-
|
|
54
|
+
export interface ChonkAccumulate {
|
|
55
|
+
witness: Uint8Array;
|
|
59
56
|
}
|
|
60
|
-
interface
|
|
61
|
-
data: Uint8Array;
|
|
57
|
+
export interface ChonkProve {
|
|
62
58
|
}
|
|
63
|
-
export interface
|
|
64
|
-
|
|
59
|
+
export interface GoblinProof {
|
|
60
|
+
mergeProof: Uint8Array[];
|
|
61
|
+
eccvmProof: Uint8Array[];
|
|
62
|
+
ipaProof: Uint8Array[];
|
|
63
|
+
translatorProof: Uint8Array[];
|
|
65
64
|
}
|
|
66
|
-
interface
|
|
67
|
-
|
|
65
|
+
export interface ChonkProof {
|
|
66
|
+
megaProof: Uint8Array[];
|
|
67
|
+
goblinProof: GoblinProof;
|
|
68
68
|
}
|
|
69
|
-
export interface
|
|
70
|
-
|
|
69
|
+
export interface ChonkVerify {
|
|
70
|
+
proof: ChonkProof;
|
|
71
|
+
vk: Uint8Array;
|
|
71
72
|
}
|
|
72
|
-
interface
|
|
73
|
-
|
|
73
|
+
export interface VkAsFields {
|
|
74
|
+
verificationKey: Uint8Array;
|
|
74
75
|
}
|
|
75
|
-
export interface
|
|
76
|
-
|
|
77
|
-
value: Fq;
|
|
76
|
+
export interface MegaVkAsFields {
|
|
77
|
+
verificationKey: Uint8Array;
|
|
78
78
|
}
|
|
79
|
-
interface
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
export interface CircuitWriteSolidityVerifier {
|
|
80
|
+
verificationKey: Uint8Array;
|
|
81
|
+
settings: ProofSystemSettings;
|
|
82
82
|
}
|
|
83
|
-
export interface
|
|
84
|
-
|
|
83
|
+
export interface ChonkCheckPrecomputedVk {
|
|
84
|
+
circuit: CircuitInput;
|
|
85
85
|
}
|
|
86
|
-
interface
|
|
87
|
-
|
|
86
|
+
export interface ChonkStats {
|
|
87
|
+
circuit: CircuitInputNoVK;
|
|
88
|
+
includeGatesPerOpcode: boolean;
|
|
88
89
|
}
|
|
89
|
-
export interface
|
|
90
|
-
|
|
91
|
-
value: Fr;
|
|
90
|
+
export interface Poseidon2Hash {
|
|
91
|
+
inputs: Uint8Array[];
|
|
92
92
|
}
|
|
93
|
-
interface
|
|
94
|
-
|
|
95
|
-
value: Uint8Array;
|
|
93
|
+
export interface Poseidon2Permutation {
|
|
94
|
+
inputs: Uint8Array[];
|
|
96
95
|
}
|
|
97
|
-
export interface
|
|
98
|
-
|
|
96
|
+
export interface Poseidon2HashAccumulate {
|
|
97
|
+
inputs: Uint8Array[];
|
|
99
98
|
}
|
|
100
|
-
interface
|
|
101
|
-
|
|
99
|
+
export interface PedersenCommit {
|
|
100
|
+
inputs: Uint8Array[];
|
|
101
|
+
hashIndex: number;
|
|
102
102
|
}
|
|
103
|
-
export interface
|
|
104
|
-
|
|
103
|
+
export interface PedersenHash {
|
|
104
|
+
inputs: Uint8Array[];
|
|
105
|
+
hashIndex: number;
|
|
105
106
|
}
|
|
106
|
-
interface
|
|
107
|
-
|
|
107
|
+
export interface PedersenHashBuffer {
|
|
108
|
+
input: Uint8Array;
|
|
109
|
+
hashIndex: number;
|
|
108
110
|
}
|
|
109
|
-
export interface
|
|
110
|
-
|
|
111
|
+
export interface Blake2s {
|
|
112
|
+
data: Uint8Array;
|
|
111
113
|
}
|
|
112
|
-
interface
|
|
113
|
-
|
|
114
|
+
export interface Blake2sToField {
|
|
115
|
+
data: Uint8Array;
|
|
114
116
|
}
|
|
115
|
-
export interface
|
|
116
|
-
|
|
117
|
+
export interface AesEncrypt {
|
|
118
|
+
plaintext: Uint8Array;
|
|
119
|
+
iv: Uint8Array;
|
|
120
|
+
key: Uint8Array;
|
|
121
|
+
length: number;
|
|
117
122
|
}
|
|
118
|
-
interface
|
|
119
|
-
|
|
123
|
+
export interface AesDecrypt {
|
|
124
|
+
ciphertext: Uint8Array;
|
|
125
|
+
iv: Uint8Array;
|
|
126
|
+
key: Uint8Array;
|
|
127
|
+
length: number;
|
|
120
128
|
}
|
|
121
|
-
export interface
|
|
122
|
-
|
|
123
|
-
|
|
129
|
+
export interface GrumpkinPoint {
|
|
130
|
+
x: Uint8Array;
|
|
131
|
+
y: Uint8Array;
|
|
124
132
|
}
|
|
125
|
-
interface
|
|
126
|
-
point:
|
|
133
|
+
export interface GrumpkinMul {
|
|
134
|
+
point: GrumpkinPoint;
|
|
127
135
|
scalar: Uint8Array;
|
|
128
136
|
}
|
|
129
|
-
export interface
|
|
130
|
-
|
|
137
|
+
export interface GrumpkinAdd {
|
|
138
|
+
pointA: GrumpkinPoint;
|
|
139
|
+
pointB: GrumpkinPoint;
|
|
131
140
|
}
|
|
132
|
-
interface
|
|
133
|
-
|
|
141
|
+
export interface GrumpkinBatchMul {
|
|
142
|
+
points: GrumpkinPoint[];
|
|
143
|
+
scalar: Uint8Array;
|
|
134
144
|
}
|
|
135
|
-
export interface
|
|
136
|
-
|
|
137
|
-
y: Fq;
|
|
145
|
+
export interface GrumpkinGetRandomFr {
|
|
146
|
+
dummy: number;
|
|
138
147
|
}
|
|
139
|
-
interface
|
|
148
|
+
export interface GrumpkinReduce512 {
|
|
149
|
+
input: Uint8Array;
|
|
150
|
+
}
|
|
151
|
+
export interface Secp256k1Point {
|
|
140
152
|
x: Uint8Array;
|
|
141
153
|
y: Uint8Array;
|
|
142
154
|
}
|
|
143
|
-
export interface
|
|
144
|
-
point:
|
|
145
|
-
scalar: Fr;
|
|
146
|
-
}
|
|
147
|
-
interface MsgpackBn254G2Mul {
|
|
148
|
-
point: MsgpackBn254G2Point;
|
|
155
|
+
export interface Secp256k1Mul {
|
|
156
|
+
point: Secp256k1Point;
|
|
149
157
|
scalar: Uint8Array;
|
|
150
158
|
}
|
|
151
|
-
export interface
|
|
152
|
-
|
|
159
|
+
export interface Secp256k1GetRandomFr {
|
|
160
|
+
dummy: number;
|
|
153
161
|
}
|
|
154
|
-
interface
|
|
155
|
-
|
|
162
|
+
export interface Secp256k1Reduce512 {
|
|
163
|
+
input: Uint8Array;
|
|
156
164
|
}
|
|
157
|
-
export interface
|
|
158
|
-
|
|
159
|
-
y: Field2;
|
|
165
|
+
export interface Bn254FrSqrt {
|
|
166
|
+
input: Uint8Array;
|
|
160
167
|
}
|
|
161
|
-
interface
|
|
168
|
+
export interface Bn254FqSqrt {
|
|
169
|
+
input: Uint8Array;
|
|
170
|
+
}
|
|
171
|
+
export interface Bn254G1Point {
|
|
172
|
+
x: Uint8Array;
|
|
173
|
+
y: Uint8Array;
|
|
174
|
+
}
|
|
175
|
+
export interface Bn254G1Mul {
|
|
176
|
+
point: Bn254G1Point;
|
|
177
|
+
scalar: Uint8Array;
|
|
178
|
+
}
|
|
179
|
+
export interface Bn254G2Point {
|
|
162
180
|
x: [Uint8Array, Uint8Array];
|
|
163
181
|
y: [Uint8Array, Uint8Array];
|
|
164
182
|
}
|
|
165
|
-
export interface
|
|
166
|
-
|
|
183
|
+
export interface Bn254G2Mul {
|
|
184
|
+
point: Bn254G2Point;
|
|
185
|
+
scalar: Uint8Array;
|
|
167
186
|
}
|
|
168
|
-
interface
|
|
169
|
-
|
|
187
|
+
export interface Bn254G1IsOnCurve {
|
|
188
|
+
point: Bn254G1Point;
|
|
170
189
|
}
|
|
171
|
-
export interface
|
|
190
|
+
export interface Bn254G1FromCompressed {
|
|
191
|
+
compressed: Uint8Array;
|
|
172
192
|
}
|
|
173
|
-
interface
|
|
193
|
+
export interface SchnorrComputePublicKey {
|
|
194
|
+
privateKey: Uint8Array;
|
|
174
195
|
}
|
|
175
|
-
export interface
|
|
176
|
-
|
|
196
|
+
export interface SchnorrConstructSignature {
|
|
197
|
+
message: Uint8Array;
|
|
198
|
+
privateKey: Uint8Array;
|
|
177
199
|
}
|
|
178
|
-
interface
|
|
179
|
-
|
|
200
|
+
export interface SchnorrVerifySignature {
|
|
201
|
+
message: Uint8Array;
|
|
202
|
+
publicKey: GrumpkinPoint;
|
|
203
|
+
s: Uint8Array;
|
|
204
|
+
e: Uint8Array;
|
|
180
205
|
}
|
|
181
|
-
export interface
|
|
182
|
-
|
|
183
|
-
actualVk: Uint8Array;
|
|
206
|
+
export interface EcdsaSecp256k1ComputePublicKey {
|
|
207
|
+
privateKey: Uint8Array;
|
|
184
208
|
}
|
|
185
|
-
interface
|
|
186
|
-
|
|
187
|
-
actual_vk: Uint8Array;
|
|
209
|
+
export interface EcdsaSecp256r1ComputePublicKey {
|
|
210
|
+
privateKey: Uint8Array;
|
|
188
211
|
}
|
|
189
|
-
export interface
|
|
190
|
-
|
|
212
|
+
export interface EcdsaSecp256k1ConstructSignature {
|
|
213
|
+
message: Uint8Array;
|
|
214
|
+
privateKey: Uint8Array;
|
|
191
215
|
}
|
|
192
|
-
interface
|
|
193
|
-
|
|
216
|
+
export interface EcdsaSecp256r1ConstructSignature {
|
|
217
|
+
message: Uint8Array;
|
|
218
|
+
privateKey: Uint8Array;
|
|
194
219
|
}
|
|
195
|
-
export interface
|
|
196
|
-
|
|
220
|
+
export interface EcdsaSecp256k1RecoverPublicKey {
|
|
221
|
+
message: Uint8Array;
|
|
222
|
+
r: Uint8Array;
|
|
223
|
+
s: Uint8Array;
|
|
224
|
+
v: number;
|
|
197
225
|
}
|
|
198
|
-
interface
|
|
199
|
-
|
|
226
|
+
export interface EcdsaSecp256r1RecoverPublicKey {
|
|
227
|
+
message: Uint8Array;
|
|
228
|
+
r: Uint8Array;
|
|
229
|
+
s: Uint8Array;
|
|
230
|
+
v: number;
|
|
200
231
|
}
|
|
201
|
-
export interface
|
|
202
|
-
|
|
232
|
+
export interface EcdsaSecp256k1VerifySignature {
|
|
233
|
+
message: Uint8Array;
|
|
234
|
+
publicKey: Secp256k1Point;
|
|
235
|
+
r: Uint8Array;
|
|
236
|
+
s: Uint8Array;
|
|
237
|
+
v: number;
|
|
203
238
|
}
|
|
204
|
-
interface
|
|
205
|
-
|
|
239
|
+
export interface Secp256r1Point {
|
|
240
|
+
x: Uint8Array;
|
|
241
|
+
y: Uint8Array;
|
|
206
242
|
}
|
|
207
|
-
export interface
|
|
208
|
-
|
|
209
|
-
|
|
243
|
+
export interface EcdsaSecp256r1VerifySignature {
|
|
244
|
+
message: Uint8Array;
|
|
245
|
+
publicKey: Secp256r1Point;
|
|
246
|
+
r: Uint8Array;
|
|
247
|
+
s: Uint8Array;
|
|
248
|
+
v: number;
|
|
210
249
|
}
|
|
211
|
-
interface
|
|
212
|
-
|
|
213
|
-
|
|
250
|
+
export interface SrsInitSrs {
|
|
251
|
+
pointsBuf: Uint8Array;
|
|
252
|
+
numPoints: number;
|
|
253
|
+
g2Point: Uint8Array;
|
|
214
254
|
}
|
|
215
|
-
export interface
|
|
216
|
-
|
|
255
|
+
export interface SrsInitGrumpkinSrs {
|
|
256
|
+
pointsBuf: Uint8Array;
|
|
257
|
+
numPoints: number;
|
|
217
258
|
}
|
|
218
|
-
interface
|
|
219
|
-
circuit: MsgpackCircuitInput;
|
|
259
|
+
export interface Shutdown {
|
|
220
260
|
}
|
|
221
|
-
export interface
|
|
261
|
+
export interface ErrorResponse {
|
|
262
|
+
message: string;
|
|
222
263
|
}
|
|
223
|
-
interface
|
|
264
|
+
export interface CircuitProveResponse {
|
|
265
|
+
publicInputs: Uint8Array[];
|
|
266
|
+
proof: Uint8Array[];
|
|
267
|
+
vk: CircuitComputeVkResponse;
|
|
224
268
|
}
|
|
225
|
-
export interface
|
|
226
|
-
|
|
227
|
-
|
|
269
|
+
export interface CircuitInfoResponse {
|
|
270
|
+
numGates: number;
|
|
271
|
+
numGatesDyadic: number;
|
|
272
|
+
numAcirOpcodes: number;
|
|
273
|
+
gatesPerOpcode: number[];
|
|
228
274
|
}
|
|
229
|
-
interface
|
|
230
|
-
|
|
231
|
-
goblin_proof: MsgpackGoblinProof;
|
|
275
|
+
export interface CircuitVerifyResponse {
|
|
276
|
+
verified: boolean;
|
|
232
277
|
}
|
|
233
|
-
export interface
|
|
278
|
+
export interface ChonkComputeStandaloneVkResponse {
|
|
279
|
+
bytes: Uint8Array;
|
|
280
|
+
fields: Uint8Array[];
|
|
234
281
|
}
|
|
235
|
-
interface
|
|
282
|
+
export interface ChonkComputeIvcVkResponse {
|
|
283
|
+
bytes: Uint8Array;
|
|
236
284
|
}
|
|
237
|
-
export interface
|
|
238
|
-
proof: ChonkProof;
|
|
285
|
+
export interface ChonkStartResponse {
|
|
239
286
|
}
|
|
240
|
-
interface
|
|
241
|
-
proof: MsgpackChonkProof;
|
|
287
|
+
export interface ChonkLoadResponse {
|
|
242
288
|
}
|
|
243
|
-
export interface
|
|
244
|
-
numCircuits: number;
|
|
289
|
+
export interface ChonkAccumulateResponse {
|
|
245
290
|
}
|
|
246
|
-
interface
|
|
247
|
-
|
|
291
|
+
export interface ChonkProveResponse {
|
|
292
|
+
proof: ChonkProof;
|
|
248
293
|
}
|
|
249
|
-
export interface
|
|
294
|
+
export interface ChonkVerifyResponse {
|
|
295
|
+
valid: boolean;
|
|
250
296
|
}
|
|
251
|
-
interface
|
|
297
|
+
export interface VkAsFieldsResponse {
|
|
298
|
+
fields: Uint8Array[];
|
|
252
299
|
}
|
|
253
|
-
export interface
|
|
254
|
-
|
|
255
|
-
includeGatesPerOpcode: boolean;
|
|
300
|
+
export interface MegaVkAsFieldsResponse {
|
|
301
|
+
fields: Uint8Array[];
|
|
256
302
|
}
|
|
257
|
-
interface
|
|
258
|
-
|
|
259
|
-
|
|
303
|
+
export interface CircuitWriteSolidityVerifierResponse {
|
|
304
|
+
solidityCode: string;
|
|
305
|
+
}
|
|
306
|
+
export interface ChonkCheckPrecomputedVkResponse {
|
|
307
|
+
valid: boolean;
|
|
308
|
+
actualVk: Uint8Array;
|
|
260
309
|
}
|
|
261
310
|
export interface ChonkStatsResponse {
|
|
262
311
|
acirOpcodes: number;
|
|
263
312
|
circuitSize: number;
|
|
264
313
|
gatesPerOpcode: number[];
|
|
265
314
|
}
|
|
266
|
-
interface
|
|
267
|
-
|
|
268
|
-
circuit_size: number;
|
|
269
|
-
gates_per_opcode: number[];
|
|
270
|
-
}
|
|
271
|
-
export interface ChonkVerify {
|
|
272
|
-
proof: ChonkProof;
|
|
273
|
-
vk: Uint8Array;
|
|
274
|
-
}
|
|
275
|
-
interface MsgpackChonkVerify {
|
|
276
|
-
proof: MsgpackChonkProof;
|
|
277
|
-
vk: Uint8Array;
|
|
278
|
-
}
|
|
279
|
-
export interface ChonkVerifyResponse {
|
|
280
|
-
valid: boolean;
|
|
315
|
+
export interface Poseidon2HashResponse {
|
|
316
|
+
hash: Uint8Array;
|
|
281
317
|
}
|
|
282
|
-
interface
|
|
283
|
-
|
|
318
|
+
export interface Poseidon2PermutationResponse {
|
|
319
|
+
outputs: Uint8Array[];
|
|
284
320
|
}
|
|
285
|
-
export interface
|
|
286
|
-
|
|
287
|
-
settings: ProofSystemSettings;
|
|
321
|
+
export interface Poseidon2HashAccumulateResponse {
|
|
322
|
+
hash: Uint8Array;
|
|
288
323
|
}
|
|
289
|
-
interface
|
|
290
|
-
|
|
291
|
-
settings: MsgpackProofSystemSettings;
|
|
324
|
+
export interface PedersenCommitResponse {
|
|
325
|
+
point: GrumpkinPoint;
|
|
292
326
|
}
|
|
293
|
-
export interface
|
|
294
|
-
bytes: Uint8Array;
|
|
295
|
-
fields: Uint256T[];
|
|
327
|
+
export interface PedersenHashResponse {
|
|
296
328
|
hash: Uint8Array;
|
|
297
329
|
}
|
|
298
|
-
interface
|
|
299
|
-
bytes: Uint8Array;
|
|
300
|
-
fields: Uint8Array[];
|
|
330
|
+
export interface PedersenHashBufferResponse {
|
|
301
331
|
hash: Uint8Array;
|
|
302
332
|
}
|
|
303
|
-
export interface
|
|
304
|
-
|
|
305
|
-
numGatesDyadic: number;
|
|
306
|
-
numAcirOpcodes: number;
|
|
307
|
-
gatesPerOpcode: number[];
|
|
333
|
+
export interface Blake2sResponse {
|
|
334
|
+
hash: Uint8Array;
|
|
308
335
|
}
|
|
309
|
-
interface
|
|
310
|
-
|
|
311
|
-
num_gates_dyadic: number;
|
|
312
|
-
num_acir_opcodes: number;
|
|
313
|
-
gates_per_opcode: number[];
|
|
336
|
+
export interface Blake2sToFieldResponse {
|
|
337
|
+
field: Uint8Array;
|
|
314
338
|
}
|
|
315
|
-
export interface
|
|
316
|
-
|
|
317
|
-
bytecode: Uint8Array;
|
|
318
|
-
verificationKey: Uint8Array;
|
|
339
|
+
export interface AesEncryptResponse {
|
|
340
|
+
ciphertext: Uint8Array;
|
|
319
341
|
}
|
|
320
|
-
interface
|
|
321
|
-
|
|
322
|
-
bytecode: Uint8Array;
|
|
323
|
-
verification_key: Uint8Array;
|
|
342
|
+
export interface AesDecryptResponse {
|
|
343
|
+
plaintext: Uint8Array;
|
|
324
344
|
}
|
|
325
|
-
export interface
|
|
326
|
-
|
|
327
|
-
bytecode: Uint8Array;
|
|
345
|
+
export interface GrumpkinMulResponse {
|
|
346
|
+
point: GrumpkinPoint;
|
|
328
347
|
}
|
|
329
|
-
interface
|
|
330
|
-
|
|
331
|
-
bytecode: Uint8Array;
|
|
348
|
+
export interface GrumpkinAddResponse {
|
|
349
|
+
point: GrumpkinPoint;
|
|
332
350
|
}
|
|
333
|
-
export interface
|
|
334
|
-
|
|
335
|
-
witness: Uint8Array;
|
|
336
|
-
settings: ProofSystemSettings;
|
|
351
|
+
export interface GrumpkinBatchMulResponse {
|
|
352
|
+
points: GrumpkinPoint[];
|
|
337
353
|
}
|
|
338
|
-
interface
|
|
339
|
-
|
|
340
|
-
witness: Uint8Array;
|
|
341
|
-
settings: MsgpackProofSystemSettings;
|
|
354
|
+
export interface GrumpkinGetRandomFrResponse {
|
|
355
|
+
value: Uint8Array;
|
|
342
356
|
}
|
|
343
|
-
export interface
|
|
344
|
-
|
|
345
|
-
proof: Uint256T[];
|
|
346
|
-
vk: CircuitComputeVkResponse;
|
|
357
|
+
export interface GrumpkinReduce512Response {
|
|
358
|
+
value: Uint8Array;
|
|
347
359
|
}
|
|
348
|
-
interface
|
|
349
|
-
|
|
350
|
-
proof: Uint8Array[];
|
|
351
|
-
vk: MsgpackCircuitComputeVkResponse;
|
|
360
|
+
export interface Secp256k1MulResponse {
|
|
361
|
+
point: Secp256k1Point;
|
|
352
362
|
}
|
|
353
|
-
export interface
|
|
354
|
-
|
|
355
|
-
includeGatesPerOpcode: boolean;
|
|
356
|
-
settings: ProofSystemSettings;
|
|
363
|
+
export interface Secp256k1GetRandomFrResponse {
|
|
364
|
+
value: Uint8Array;
|
|
357
365
|
}
|
|
358
|
-
interface
|
|
359
|
-
|
|
360
|
-
include_gates_per_opcode: boolean;
|
|
361
|
-
settings: MsgpackProofSystemSettings;
|
|
366
|
+
export interface Secp256k1Reduce512Response {
|
|
367
|
+
value: Uint8Array;
|
|
362
368
|
}
|
|
363
|
-
export interface
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
proof: Uint256T[];
|
|
367
|
-
settings: ProofSystemSettings;
|
|
369
|
+
export interface Bn254FrSqrtResponse {
|
|
370
|
+
isSquareRoot: boolean;
|
|
371
|
+
value: Uint8Array;
|
|
368
372
|
}
|
|
369
|
-
interface
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
proof: Uint8Array[];
|
|
373
|
-
settings: MsgpackProofSystemSettings;
|
|
373
|
+
export interface Bn254FqSqrtResponse {
|
|
374
|
+
isSquareRoot: boolean;
|
|
375
|
+
value: Uint8Array;
|
|
374
376
|
}
|
|
375
|
-
export interface
|
|
376
|
-
|
|
377
|
+
export interface Bn254G1MulResponse {
|
|
378
|
+
point: Bn254G1Point;
|
|
377
379
|
}
|
|
378
|
-
interface
|
|
379
|
-
|
|
380
|
+
export interface Bn254G2MulResponse {
|
|
381
|
+
point: Bn254G2Point;
|
|
380
382
|
}
|
|
381
|
-
export interface
|
|
382
|
-
|
|
383
|
-
settings: ProofSystemSettings;
|
|
383
|
+
export interface Bn254G1IsOnCurveResponse {
|
|
384
|
+
isOnCurve: boolean;
|
|
384
385
|
}
|
|
385
|
-
interface
|
|
386
|
-
|
|
387
|
-
settings: MsgpackProofSystemSettings;
|
|
386
|
+
export interface Bn254G1FromCompressedResponse {
|
|
387
|
+
point: Bn254G1Point;
|
|
388
388
|
}
|
|
389
|
-
export interface
|
|
390
|
-
|
|
391
|
-
}
|
|
392
|
-
interface MsgpackCircuitWriteSolidityVerifierResponse {
|
|
393
|
-
solidity_code: string;
|
|
389
|
+
export interface SchnorrComputePublicKeyResponse {
|
|
390
|
+
publicKey: GrumpkinPoint;
|
|
394
391
|
}
|
|
395
|
-
export interface
|
|
396
|
-
|
|
392
|
+
export interface SchnorrConstructSignatureResponse {
|
|
393
|
+
s: Uint8Array;
|
|
394
|
+
e: Uint8Array;
|
|
397
395
|
}
|
|
398
|
-
interface
|
|
399
|
-
|
|
396
|
+
export interface SchnorrVerifySignatureResponse {
|
|
397
|
+
verified: boolean;
|
|
400
398
|
}
|
|
401
399
|
export interface EcdsaSecp256k1ComputePublicKeyResponse {
|
|
402
400
|
publicKey: Secp256k1Point;
|
|
403
401
|
}
|
|
404
|
-
interface
|
|
405
|
-
|
|
406
|
-
}
|
|
407
|
-
export interface EcdsaSecp256k1ConstructSignature {
|
|
408
|
-
message: Uint8Array;
|
|
409
|
-
privateKey: Secp256k1Fr;
|
|
410
|
-
}
|
|
411
|
-
interface MsgpackEcdsaSecp256k1ConstructSignature {
|
|
412
|
-
message: Uint8Array;
|
|
413
|
-
private_key: Uint8Array;
|
|
402
|
+
export interface EcdsaSecp256r1ComputePublicKeyResponse {
|
|
403
|
+
publicKey: Secp256r1Point;
|
|
414
404
|
}
|
|
415
405
|
export interface EcdsaSecp256k1ConstructSignatureResponse {
|
|
416
406
|
r: Uint8Array;
|
|
417
407
|
s: Uint8Array;
|
|
418
408
|
v: number;
|
|
419
409
|
}
|
|
420
|
-
interface
|
|
421
|
-
r: Uint8Array;
|
|
422
|
-
s: Uint8Array;
|
|
423
|
-
v: number;
|
|
424
|
-
}
|
|
425
|
-
export interface EcdsaSecp256k1RecoverPublicKey {
|
|
426
|
-
message: Uint8Array;
|
|
427
|
-
r: Uint8Array;
|
|
428
|
-
s: Uint8Array;
|
|
429
|
-
v: number;
|
|
430
|
-
}
|
|
431
|
-
interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
432
|
-
message: Uint8Array;
|
|
410
|
+
export interface EcdsaSecp256r1ConstructSignatureResponse {
|
|
433
411
|
r: Uint8Array;
|
|
434
412
|
s: Uint8Array;
|
|
435
413
|
v: number;
|
|
@@ -437,108 +415,79 @@ interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
|
437
415
|
export interface EcdsaSecp256k1RecoverPublicKeyResponse {
|
|
438
416
|
publicKey: Secp256k1Point;
|
|
439
417
|
}
|
|
440
|
-
interface
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
export interface EcdsaSecp256k1VerifySignature {
|
|
444
|
-
message: Uint8Array;
|
|
445
|
-
publicKey: Secp256k1Point;
|
|
446
|
-
r: Uint8Array;
|
|
447
|
-
s: Uint8Array;
|
|
448
|
-
v: number;
|
|
449
|
-
}
|
|
450
|
-
interface MsgpackEcdsaSecp256k1VerifySignature {
|
|
451
|
-
message: Uint8Array;
|
|
452
|
-
public_key: MsgpackSecp256k1Point;
|
|
453
|
-
r: Uint8Array;
|
|
454
|
-
s: Uint8Array;
|
|
455
|
-
v: number;
|
|
418
|
+
export interface EcdsaSecp256r1RecoverPublicKeyResponse {
|
|
419
|
+
publicKey: Secp256r1Point;
|
|
456
420
|
}
|
|
457
421
|
export interface EcdsaSecp256k1VerifySignatureResponse {
|
|
458
422
|
verified: boolean;
|
|
459
423
|
}
|
|
460
|
-
interface
|
|
424
|
+
export interface EcdsaSecp256r1VerifySignatureResponse {
|
|
461
425
|
verified: boolean;
|
|
462
426
|
}
|
|
463
|
-
export interface
|
|
464
|
-
|
|
465
|
-
}
|
|
466
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKey {
|
|
467
|
-
private_key: Uint8Array;
|
|
468
|
-
}
|
|
469
|
-
export interface EcdsaSecp256r1ComputePublicKeyResponse {
|
|
470
|
-
publicKey: Secp256r1Point;
|
|
427
|
+
export interface SrsInitSrsResponse {
|
|
428
|
+
dummy: number;
|
|
471
429
|
}
|
|
472
|
-
interface
|
|
473
|
-
|
|
430
|
+
export interface SrsInitGrumpkinSrsResponse {
|
|
431
|
+
dummy: number;
|
|
474
432
|
}
|
|
475
|
-
export interface
|
|
476
|
-
message: Uint8Array;
|
|
477
|
-
privateKey: Secp256r1Fr;
|
|
433
|
+
export interface ShutdownResponse {
|
|
478
434
|
}
|
|
479
|
-
interface
|
|
480
|
-
|
|
481
|
-
|
|
435
|
+
interface MsgpackCircuitComputeVkResponse {
|
|
436
|
+
bytes: Uint8Array;
|
|
437
|
+
fields: Uint8Array[];
|
|
438
|
+
hash: Uint8Array;
|
|
482
439
|
}
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
440
|
+
interface MsgpackCircuitInput {
|
|
441
|
+
name: string;
|
|
442
|
+
bytecode: Uint8Array;
|
|
443
|
+
verification_key: Uint8Array;
|
|
487
444
|
}
|
|
488
|
-
interface
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
445
|
+
interface MsgpackProofSystemSettings {
|
|
446
|
+
ipa_accumulation: boolean;
|
|
447
|
+
oracle_hash_type: string;
|
|
448
|
+
disable_zk: boolean;
|
|
449
|
+
optimized_solidity_verifier: boolean;
|
|
492
450
|
}
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
v: number;
|
|
451
|
+
interface MsgpackCircuitProve {
|
|
452
|
+
circuit: MsgpackCircuitInput;
|
|
453
|
+
witness: Uint8Array;
|
|
454
|
+
settings: MsgpackProofSystemSettings;
|
|
498
455
|
}
|
|
499
|
-
interface
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
s: Uint8Array;
|
|
503
|
-
v: number;
|
|
456
|
+
interface MsgpackCircuitInputNoVK {
|
|
457
|
+
name: string;
|
|
458
|
+
bytecode: Uint8Array;
|
|
504
459
|
}
|
|
505
|
-
|
|
506
|
-
|
|
460
|
+
interface MsgpackCircuitComputeVk {
|
|
461
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
462
|
+
settings: MsgpackProofSystemSettings;
|
|
507
463
|
}
|
|
508
|
-
interface
|
|
509
|
-
|
|
464
|
+
interface MsgpackCircuitStats {
|
|
465
|
+
circuit: MsgpackCircuitInput;
|
|
466
|
+
include_gates_per_opcode: boolean;
|
|
467
|
+
settings: MsgpackProofSystemSettings;
|
|
510
468
|
}
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
v: number;
|
|
469
|
+
interface MsgpackCircuitVerify {
|
|
470
|
+
verification_key: Uint8Array;
|
|
471
|
+
public_inputs: Uint8Array[];
|
|
472
|
+
proof: Uint8Array[];
|
|
473
|
+
settings: MsgpackProofSystemSettings;
|
|
517
474
|
}
|
|
518
|
-
interface
|
|
519
|
-
|
|
520
|
-
public_key: MsgpackSecp256r1Point;
|
|
521
|
-
r: Uint8Array;
|
|
522
|
-
s: Uint8Array;
|
|
523
|
-
v: number;
|
|
475
|
+
interface MsgpackChonkComputeStandaloneVk {
|
|
476
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
524
477
|
}
|
|
525
|
-
|
|
526
|
-
|
|
478
|
+
interface MsgpackChonkComputeIvcVk {
|
|
479
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
527
480
|
}
|
|
528
|
-
interface
|
|
529
|
-
|
|
481
|
+
interface MsgpackChonkStart {
|
|
482
|
+
num_circuits: number;
|
|
530
483
|
}
|
|
531
|
-
|
|
532
|
-
|
|
484
|
+
interface MsgpackChonkLoad {
|
|
485
|
+
circuit: MsgpackCircuitInput;
|
|
533
486
|
}
|
|
534
|
-
interface
|
|
535
|
-
|
|
487
|
+
interface MsgpackChonkAccumulate {
|
|
488
|
+
witness: Uint8Array;
|
|
536
489
|
}
|
|
537
|
-
|
|
538
|
-
mergeProof: Fr[];
|
|
539
|
-
eccvmProof: Fr[];
|
|
540
|
-
ipaProof: Fr[];
|
|
541
|
-
translatorProof: Fr[];
|
|
490
|
+
interface MsgpackChonkProve {
|
|
542
491
|
}
|
|
543
492
|
interface MsgpackGoblinProof {
|
|
544
493
|
merge_proof: Uint8Array[];
|
|
@@ -546,1436 +495,614 @@ interface MsgpackGoblinProof {
|
|
|
546
495
|
ipa_proof: Uint8Array[];
|
|
547
496
|
translator_proof: Uint8Array[];
|
|
548
497
|
}
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
498
|
+
interface MsgpackChonkProof {
|
|
499
|
+
mega_proof: Uint8Array[];
|
|
500
|
+
goblin_proof: MsgpackGoblinProof;
|
|
552
501
|
}
|
|
553
|
-
interface
|
|
554
|
-
|
|
555
|
-
|
|
502
|
+
interface MsgpackChonkVerify {
|
|
503
|
+
proof: MsgpackChonkProof;
|
|
504
|
+
vk: Uint8Array;
|
|
556
505
|
}
|
|
557
|
-
|
|
558
|
-
|
|
506
|
+
interface MsgpackVkAsFields {
|
|
507
|
+
verification_key: Uint8Array;
|
|
559
508
|
}
|
|
560
|
-
interface
|
|
561
|
-
|
|
509
|
+
interface MsgpackMegaVkAsFields {
|
|
510
|
+
verification_key: Uint8Array;
|
|
562
511
|
}
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
512
|
+
interface MsgpackCircuitWriteSolidityVerifier {
|
|
513
|
+
verification_key: Uint8Array;
|
|
514
|
+
settings: MsgpackProofSystemSettings;
|
|
566
515
|
}
|
|
567
|
-
interface
|
|
568
|
-
|
|
569
|
-
scalar: Uint8Array;
|
|
516
|
+
interface MsgpackChonkCheckPrecomputedVk {
|
|
517
|
+
circuit: MsgpackCircuitInput;
|
|
570
518
|
}
|
|
571
|
-
|
|
572
|
-
|
|
519
|
+
interface MsgpackChonkStats {
|
|
520
|
+
circuit: MsgpackCircuitInputNoVK;
|
|
521
|
+
include_gates_per_opcode: boolean;
|
|
573
522
|
}
|
|
574
|
-
interface
|
|
575
|
-
|
|
523
|
+
interface MsgpackPoseidon2Hash {
|
|
524
|
+
inputs: Uint8Array[];
|
|
576
525
|
}
|
|
577
|
-
|
|
578
|
-
|
|
526
|
+
interface MsgpackPoseidon2Permutation {
|
|
527
|
+
inputs: Uint8Array[];
|
|
579
528
|
}
|
|
580
|
-
interface
|
|
581
|
-
|
|
529
|
+
interface MsgpackPoseidon2HashAccumulate {
|
|
530
|
+
inputs: Uint8Array[];
|
|
582
531
|
}
|
|
583
|
-
|
|
584
|
-
|
|
532
|
+
interface MsgpackPedersenCommit {
|
|
533
|
+
inputs: Uint8Array[];
|
|
534
|
+
hash_index: number;
|
|
585
535
|
}
|
|
586
|
-
interface
|
|
587
|
-
|
|
536
|
+
interface MsgpackPedersenHash {
|
|
537
|
+
inputs: Uint8Array[];
|
|
538
|
+
hash_index: number;
|
|
588
539
|
}
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
540
|
+
interface MsgpackPedersenHashBuffer {
|
|
541
|
+
input: Uint8Array;
|
|
542
|
+
hash_index: number;
|
|
592
543
|
}
|
|
593
|
-
interface
|
|
594
|
-
|
|
595
|
-
scalar: Uint8Array;
|
|
544
|
+
interface MsgpackBlake2s {
|
|
545
|
+
data: Uint8Array;
|
|
596
546
|
}
|
|
597
|
-
|
|
598
|
-
|
|
547
|
+
interface MsgpackBlake2sToField {
|
|
548
|
+
data: Uint8Array;
|
|
599
549
|
}
|
|
600
|
-
interface
|
|
601
|
-
|
|
550
|
+
interface MsgpackAesEncrypt {
|
|
551
|
+
plaintext: Uint8Array;
|
|
552
|
+
iv: Uint8Array;
|
|
553
|
+
key: Uint8Array;
|
|
554
|
+
length: number;
|
|
602
555
|
}
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
556
|
+
interface MsgpackAesDecrypt {
|
|
557
|
+
ciphertext: Uint8Array;
|
|
558
|
+
iv: Uint8Array;
|
|
559
|
+
key: Uint8Array;
|
|
560
|
+
length: number;
|
|
606
561
|
}
|
|
607
562
|
interface MsgpackGrumpkinPoint {
|
|
608
563
|
x: Uint8Array;
|
|
609
564
|
y: Uint8Array;
|
|
610
565
|
}
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
interface MsgpackGrumpkinReduce512 {
|
|
615
|
-
input: Uint8Array;
|
|
566
|
+
interface MsgpackGrumpkinMul {
|
|
567
|
+
point: MsgpackGrumpkinPoint;
|
|
568
|
+
scalar: Uint8Array;
|
|
616
569
|
}
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
interface MsgpackGrumpkinReduce512Response {
|
|
621
|
-
value: Uint8Array;
|
|
622
|
-
}
|
|
623
|
-
export interface MegaVkAsFields {
|
|
624
|
-
verificationKey: Uint8Array;
|
|
625
|
-
}
|
|
626
|
-
interface MsgpackMegaVkAsFields {
|
|
627
|
-
verification_key: Uint8Array;
|
|
628
|
-
}
|
|
629
|
-
export interface MegaVkAsFieldsResponse {
|
|
630
|
-
fields: Fr[];
|
|
631
|
-
}
|
|
632
|
-
interface MsgpackMegaVkAsFieldsResponse {
|
|
633
|
-
fields: Uint8Array[];
|
|
570
|
+
interface MsgpackGrumpkinAdd {
|
|
571
|
+
point_a: MsgpackGrumpkinPoint;
|
|
572
|
+
point_b: MsgpackGrumpkinPoint;
|
|
634
573
|
}
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
574
|
+
interface MsgpackGrumpkinBatchMul {
|
|
575
|
+
points: MsgpackGrumpkinPoint[];
|
|
576
|
+
scalar: Uint8Array;
|
|
638
577
|
}
|
|
639
|
-
interface
|
|
640
|
-
|
|
641
|
-
hash_index: number;
|
|
578
|
+
interface MsgpackGrumpkinGetRandomFr {
|
|
579
|
+
dummy: number;
|
|
642
580
|
}
|
|
643
|
-
|
|
644
|
-
|
|
581
|
+
interface MsgpackGrumpkinReduce512 {
|
|
582
|
+
input: Uint8Array;
|
|
645
583
|
}
|
|
646
|
-
interface
|
|
647
|
-
|
|
584
|
+
interface MsgpackSecp256k1Point {
|
|
585
|
+
x: Uint8Array;
|
|
586
|
+
y: Uint8Array;
|
|
648
587
|
}
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
588
|
+
interface MsgpackSecp256k1Mul {
|
|
589
|
+
point: MsgpackSecp256k1Point;
|
|
590
|
+
scalar: Uint8Array;
|
|
652
591
|
}
|
|
653
|
-
interface
|
|
654
|
-
|
|
655
|
-
hash_index: number;
|
|
592
|
+
interface MsgpackSecp256k1GetRandomFr {
|
|
593
|
+
dummy: number;
|
|
656
594
|
}
|
|
657
|
-
|
|
595
|
+
interface MsgpackSecp256k1Reduce512 {
|
|
658
596
|
input: Uint8Array;
|
|
659
|
-
hashIndex: number;
|
|
660
597
|
}
|
|
661
|
-
interface
|
|
598
|
+
interface MsgpackBn254FrSqrt {
|
|
662
599
|
input: Uint8Array;
|
|
663
|
-
hash_index: number;
|
|
664
|
-
}
|
|
665
|
-
export interface PedersenHashBufferResponse {
|
|
666
|
-
hash: Fr;
|
|
667
|
-
}
|
|
668
|
-
interface MsgpackPedersenHashBufferResponse {
|
|
669
|
-
hash: Uint8Array;
|
|
670
|
-
}
|
|
671
|
-
export interface PedersenHashResponse {
|
|
672
|
-
hash: Fr;
|
|
673
|
-
}
|
|
674
|
-
interface MsgpackPedersenHashResponse {
|
|
675
|
-
hash: Uint8Array;
|
|
676
|
-
}
|
|
677
|
-
export interface Poseidon2Hash {
|
|
678
|
-
inputs: Fr[];
|
|
679
|
-
}
|
|
680
|
-
interface MsgpackPoseidon2Hash {
|
|
681
|
-
inputs: Uint8Array[];
|
|
682
|
-
}
|
|
683
|
-
export interface Poseidon2HashAccumulate {
|
|
684
|
-
inputs: Fr[];
|
|
685
|
-
}
|
|
686
|
-
interface MsgpackPoseidon2HashAccumulate {
|
|
687
|
-
inputs: Uint8Array[];
|
|
688
|
-
}
|
|
689
|
-
export interface Poseidon2HashAccumulateResponse {
|
|
690
|
-
hash: Fr;
|
|
691
|
-
}
|
|
692
|
-
interface MsgpackPoseidon2HashAccumulateResponse {
|
|
693
|
-
hash: Uint8Array;
|
|
694
|
-
}
|
|
695
|
-
export interface Poseidon2HashResponse {
|
|
696
|
-
hash: Fr;
|
|
697
600
|
}
|
|
698
|
-
interface
|
|
699
|
-
|
|
700
|
-
}
|
|
701
|
-
export interface Poseidon2Permutation {
|
|
702
|
-
inputs: Fr[];
|
|
601
|
+
interface MsgpackBn254FqSqrt {
|
|
602
|
+
input: Uint8Array;
|
|
703
603
|
}
|
|
704
|
-
interface
|
|
705
|
-
|
|
604
|
+
interface MsgpackBn254G1Point {
|
|
605
|
+
x: Uint8Array;
|
|
606
|
+
y: Uint8Array;
|
|
706
607
|
}
|
|
707
|
-
|
|
708
|
-
|
|
608
|
+
interface MsgpackBn254G1Mul {
|
|
609
|
+
point: MsgpackBn254G1Point;
|
|
610
|
+
scalar: Uint8Array;
|
|
709
611
|
}
|
|
710
|
-
interface
|
|
711
|
-
|
|
612
|
+
interface MsgpackBn254G2Point {
|
|
613
|
+
x: [Uint8Array, Uint8Array];
|
|
614
|
+
y: [Uint8Array, Uint8Array];
|
|
712
615
|
}
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
disableZk: boolean;
|
|
717
|
-
optimizedSolidityVerifier: boolean;
|
|
616
|
+
interface MsgpackBn254G2Mul {
|
|
617
|
+
point: MsgpackBn254G2Point;
|
|
618
|
+
scalar: Uint8Array;
|
|
718
619
|
}
|
|
719
|
-
interface
|
|
720
|
-
|
|
721
|
-
oracle_hash_type: string;
|
|
722
|
-
disable_zk: boolean;
|
|
723
|
-
optimized_solidity_verifier: boolean;
|
|
620
|
+
interface MsgpackBn254G1IsOnCurve {
|
|
621
|
+
point: MsgpackBn254G1Point;
|
|
724
622
|
}
|
|
725
|
-
|
|
726
|
-
|
|
623
|
+
interface MsgpackBn254G1FromCompressed {
|
|
624
|
+
compressed: Uint8Array;
|
|
727
625
|
}
|
|
728
626
|
interface MsgpackSchnorrComputePublicKey {
|
|
729
627
|
private_key: Uint8Array;
|
|
730
628
|
}
|
|
731
|
-
|
|
732
|
-
|
|
629
|
+
interface MsgpackSchnorrConstructSignature {
|
|
630
|
+
message: Uint8Array;
|
|
631
|
+
private_key: Uint8Array;
|
|
733
632
|
}
|
|
734
|
-
interface
|
|
633
|
+
interface MsgpackSchnorrVerifySignature {
|
|
634
|
+
message: Uint8Array;
|
|
735
635
|
public_key: MsgpackGrumpkinPoint;
|
|
636
|
+
s: Uint8Array;
|
|
637
|
+
e: Uint8Array;
|
|
736
638
|
}
|
|
737
|
-
|
|
639
|
+
interface MsgpackEcdsaSecp256k1ComputePublicKey {
|
|
640
|
+
private_key: Uint8Array;
|
|
641
|
+
}
|
|
642
|
+
interface MsgpackEcdsaSecp256r1ComputePublicKey {
|
|
643
|
+
private_key: Uint8Array;
|
|
644
|
+
}
|
|
645
|
+
interface MsgpackEcdsaSecp256k1ConstructSignature {
|
|
738
646
|
message: Uint8Array;
|
|
739
|
-
|
|
647
|
+
private_key: Uint8Array;
|
|
740
648
|
}
|
|
741
|
-
interface
|
|
649
|
+
interface MsgpackEcdsaSecp256r1ConstructSignature {
|
|
742
650
|
message: Uint8Array;
|
|
743
651
|
private_key: Uint8Array;
|
|
744
652
|
}
|
|
745
|
-
|
|
653
|
+
interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
654
|
+
message: Uint8Array;
|
|
655
|
+
r: Uint8Array;
|
|
746
656
|
s: Uint8Array;
|
|
747
|
-
|
|
657
|
+
v: number;
|
|
748
658
|
}
|
|
749
|
-
interface
|
|
659
|
+
interface MsgpackEcdsaSecp256r1RecoverPublicKey {
|
|
660
|
+
message: Uint8Array;
|
|
661
|
+
r: Uint8Array;
|
|
750
662
|
s: Uint8Array;
|
|
751
|
-
|
|
663
|
+
v: number;
|
|
752
664
|
}
|
|
753
|
-
|
|
665
|
+
interface MsgpackEcdsaSecp256k1VerifySignature {
|
|
754
666
|
message: Uint8Array;
|
|
755
|
-
|
|
667
|
+
public_key: MsgpackSecp256k1Point;
|
|
668
|
+
r: Uint8Array;
|
|
756
669
|
s: Uint8Array;
|
|
757
|
-
|
|
670
|
+
v: number;
|
|
758
671
|
}
|
|
759
|
-
interface
|
|
672
|
+
interface MsgpackSecp256r1Point {
|
|
673
|
+
x: Uint8Array;
|
|
674
|
+
y: Uint8Array;
|
|
675
|
+
}
|
|
676
|
+
interface MsgpackEcdsaSecp256r1VerifySignature {
|
|
760
677
|
message: Uint8Array;
|
|
761
|
-
public_key:
|
|
678
|
+
public_key: MsgpackSecp256r1Point;
|
|
679
|
+
r: Uint8Array;
|
|
762
680
|
s: Uint8Array;
|
|
763
|
-
|
|
764
|
-
}
|
|
765
|
-
export interface SchnorrVerifySignatureResponse {
|
|
766
|
-
verified: boolean;
|
|
681
|
+
v: number;
|
|
767
682
|
}
|
|
768
|
-
interface
|
|
769
|
-
|
|
683
|
+
interface MsgpackSrsInitSrs {
|
|
684
|
+
points_buf: Uint8Array;
|
|
685
|
+
num_points: number;
|
|
686
|
+
g2_point: Uint8Array;
|
|
770
687
|
}
|
|
771
|
-
|
|
772
|
-
|
|
688
|
+
interface MsgpackSrsInitGrumpkinSrs {
|
|
689
|
+
points_buf: Uint8Array;
|
|
690
|
+
num_points: number;
|
|
773
691
|
}
|
|
774
|
-
interface
|
|
775
|
-
dummy: number;
|
|
692
|
+
interface MsgpackShutdown {
|
|
776
693
|
}
|
|
777
|
-
|
|
778
|
-
|
|
694
|
+
interface MsgpackErrorResponse {
|
|
695
|
+
message: string;
|
|
779
696
|
}
|
|
780
|
-
interface
|
|
781
|
-
|
|
697
|
+
interface MsgpackCircuitProveResponse {
|
|
698
|
+
public_inputs: Uint8Array[];
|
|
699
|
+
proof: Uint8Array[];
|
|
700
|
+
vk: MsgpackCircuitComputeVkResponse;
|
|
782
701
|
}
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
702
|
+
interface MsgpackCircuitInfoResponse {
|
|
703
|
+
num_gates: number;
|
|
704
|
+
num_gates_dyadic: number;
|
|
705
|
+
num_acir_opcodes: number;
|
|
706
|
+
gates_per_opcode: number[];
|
|
786
707
|
}
|
|
787
|
-
interface
|
|
788
|
-
|
|
789
|
-
scalar: Uint8Array;
|
|
708
|
+
interface MsgpackCircuitVerifyResponse {
|
|
709
|
+
verified: boolean;
|
|
790
710
|
}
|
|
791
|
-
|
|
792
|
-
|
|
711
|
+
interface MsgpackChonkComputeStandaloneVkResponse {
|
|
712
|
+
bytes: Uint8Array;
|
|
713
|
+
fields: Uint8Array[];
|
|
793
714
|
}
|
|
794
|
-
interface
|
|
795
|
-
|
|
715
|
+
interface MsgpackChonkComputeIvcVkResponse {
|
|
716
|
+
bytes: Uint8Array;
|
|
796
717
|
}
|
|
797
|
-
|
|
798
|
-
x: Secp256k1Fq;
|
|
799
|
-
y: Secp256k1Fq;
|
|
718
|
+
interface MsgpackChonkStartResponse {
|
|
800
719
|
}
|
|
801
|
-
interface
|
|
802
|
-
x: Uint8Array;
|
|
803
|
-
y: Uint8Array;
|
|
720
|
+
interface MsgpackChonkLoadResponse {
|
|
804
721
|
}
|
|
805
|
-
|
|
806
|
-
input: Uint8Array;
|
|
722
|
+
interface MsgpackChonkAccumulateResponse {
|
|
807
723
|
}
|
|
808
|
-
interface
|
|
809
|
-
|
|
724
|
+
interface MsgpackChonkProveResponse {
|
|
725
|
+
proof: MsgpackChonkProof;
|
|
810
726
|
}
|
|
811
|
-
|
|
812
|
-
|
|
727
|
+
interface MsgpackChonkVerifyResponse {
|
|
728
|
+
valid: boolean;
|
|
813
729
|
}
|
|
814
|
-
interface
|
|
815
|
-
|
|
730
|
+
interface MsgpackVkAsFieldsResponse {
|
|
731
|
+
fields: Uint8Array[];
|
|
816
732
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
y: Secp256r1Fq;
|
|
733
|
+
interface MsgpackMegaVkAsFieldsResponse {
|
|
734
|
+
fields: Uint8Array[];
|
|
820
735
|
}
|
|
821
|
-
interface
|
|
822
|
-
|
|
823
|
-
y: Uint8Array;
|
|
736
|
+
interface MsgpackCircuitWriteSolidityVerifierResponse {
|
|
737
|
+
solidity_code: string;
|
|
824
738
|
}
|
|
825
|
-
|
|
739
|
+
interface MsgpackChonkCheckPrecomputedVkResponse {
|
|
740
|
+
valid: boolean;
|
|
741
|
+
actual_vk: Uint8Array;
|
|
826
742
|
}
|
|
827
|
-
interface
|
|
743
|
+
interface MsgpackChonkStatsResponse {
|
|
744
|
+
acir_opcodes: number;
|
|
745
|
+
circuit_size: number;
|
|
746
|
+
gates_per_opcode: number[];
|
|
828
747
|
}
|
|
829
|
-
|
|
748
|
+
interface MsgpackPoseidon2HashResponse {
|
|
749
|
+
hash: Uint8Array;
|
|
830
750
|
}
|
|
831
|
-
interface
|
|
832
|
-
|
|
833
|
-
export interface SrsInitGrumpkinSrs {
|
|
834
|
-
pointsBuf: Uint8Array;
|
|
835
|
-
numPoints: number;
|
|
836
|
-
}
|
|
837
|
-
interface MsgpackSrsInitGrumpkinSrs {
|
|
838
|
-
points_buf: Uint8Array;
|
|
839
|
-
num_points: number;
|
|
840
|
-
}
|
|
841
|
-
export interface SrsInitGrumpkinSrsResponse {
|
|
842
|
-
dummy: number;
|
|
843
|
-
}
|
|
844
|
-
interface MsgpackSrsInitGrumpkinSrsResponse {
|
|
845
|
-
dummy: number;
|
|
846
|
-
}
|
|
847
|
-
export interface SrsInitSrs {
|
|
848
|
-
pointsBuf: Uint8Array;
|
|
849
|
-
numPoints: number;
|
|
850
|
-
g2Point: Uint8Array;
|
|
851
|
-
}
|
|
852
|
-
interface MsgpackSrsInitSrs {
|
|
853
|
-
points_buf: Uint8Array;
|
|
854
|
-
num_points: number;
|
|
855
|
-
g2_point: Uint8Array;
|
|
856
|
-
}
|
|
857
|
-
export interface SrsInitSrsResponse {
|
|
858
|
-
dummy: number;
|
|
859
|
-
}
|
|
860
|
-
interface MsgpackSrsInitSrsResponse {
|
|
861
|
-
dummy: number;
|
|
862
|
-
}
|
|
863
|
-
export interface VkAsFields {
|
|
864
|
-
verificationKey: Uint8Array;
|
|
865
|
-
}
|
|
866
|
-
interface MsgpackVkAsFields {
|
|
867
|
-
verification_key: Uint8Array;
|
|
868
|
-
}
|
|
869
|
-
export interface VkAsFieldsResponse {
|
|
870
|
-
fields: Fr[];
|
|
871
|
-
}
|
|
872
|
-
interface MsgpackVkAsFieldsResponse {
|
|
873
|
-
fields: Uint8Array[];
|
|
874
|
-
}
|
|
875
|
-
export interface AesDecrypt {
|
|
876
|
-
ciphertext: Uint8Array;
|
|
877
|
-
iv: Uint8Array;
|
|
878
|
-
key: Uint8Array;
|
|
879
|
-
length: number;
|
|
880
|
-
}
|
|
881
|
-
interface MsgpackAesDecrypt {
|
|
882
|
-
ciphertext: Uint8Array;
|
|
883
|
-
iv: Uint8Array;
|
|
884
|
-
key: Uint8Array;
|
|
885
|
-
length: number;
|
|
886
|
-
}
|
|
887
|
-
export interface AesDecryptResponse {
|
|
888
|
-
plaintext: Uint8Array;
|
|
889
|
-
}
|
|
890
|
-
interface MsgpackAesDecryptResponse {
|
|
891
|
-
plaintext: Uint8Array;
|
|
892
|
-
}
|
|
893
|
-
export interface AesEncrypt {
|
|
894
|
-
plaintext: Uint8Array;
|
|
895
|
-
iv: Uint8Array;
|
|
896
|
-
key: Uint8Array;
|
|
897
|
-
length: number;
|
|
898
|
-
}
|
|
899
|
-
interface MsgpackAesEncrypt {
|
|
900
|
-
plaintext: Uint8Array;
|
|
901
|
-
iv: Uint8Array;
|
|
902
|
-
key: Uint8Array;
|
|
903
|
-
length: number;
|
|
904
|
-
}
|
|
905
|
-
export interface AesEncryptResponse {
|
|
906
|
-
ciphertext: Uint8Array;
|
|
751
|
+
interface MsgpackPoseidon2PermutationResponse {
|
|
752
|
+
outputs: Uint8Array[];
|
|
907
753
|
}
|
|
908
|
-
interface
|
|
909
|
-
|
|
754
|
+
interface MsgpackPoseidon2HashAccumulateResponse {
|
|
755
|
+
hash: Uint8Array;
|
|
910
756
|
}
|
|
911
|
-
|
|
912
|
-
|
|
757
|
+
interface MsgpackPedersenCommitResponse {
|
|
758
|
+
point: MsgpackGrumpkinPoint;
|
|
913
759
|
}
|
|
914
|
-
interface
|
|
915
|
-
|
|
760
|
+
interface MsgpackPedersenHashResponse {
|
|
761
|
+
hash: Uint8Array;
|
|
916
762
|
}
|
|
917
|
-
|
|
763
|
+
interface MsgpackPedersenHashBufferResponse {
|
|
918
764
|
hash: Uint8Array;
|
|
919
765
|
}
|
|
920
766
|
interface MsgpackBlake2sResponse {
|
|
921
767
|
hash: Uint8Array;
|
|
922
768
|
}
|
|
923
|
-
|
|
924
|
-
|
|
769
|
+
interface MsgpackBlake2sToFieldResponse {
|
|
770
|
+
field: Uint8Array;
|
|
925
771
|
}
|
|
926
|
-
interface
|
|
927
|
-
|
|
772
|
+
interface MsgpackAesEncryptResponse {
|
|
773
|
+
ciphertext: Uint8Array;
|
|
928
774
|
}
|
|
929
|
-
|
|
930
|
-
|
|
775
|
+
interface MsgpackAesDecryptResponse {
|
|
776
|
+
plaintext: Uint8Array;
|
|
931
777
|
}
|
|
932
|
-
interface
|
|
933
|
-
|
|
778
|
+
interface MsgpackGrumpkinMulResponse {
|
|
779
|
+
point: MsgpackGrumpkinPoint;
|
|
934
780
|
}
|
|
935
|
-
|
|
936
|
-
|
|
781
|
+
interface MsgpackGrumpkinAddResponse {
|
|
782
|
+
point: MsgpackGrumpkinPoint;
|
|
937
783
|
}
|
|
938
|
-
interface
|
|
939
|
-
|
|
784
|
+
interface MsgpackGrumpkinBatchMulResponse {
|
|
785
|
+
points: MsgpackGrumpkinPoint[];
|
|
940
786
|
}
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
value: Fq;
|
|
787
|
+
interface MsgpackGrumpkinGetRandomFrResponse {
|
|
788
|
+
value: Uint8Array;
|
|
944
789
|
}
|
|
945
|
-
interface
|
|
946
|
-
is_square_root: boolean;
|
|
790
|
+
interface MsgpackGrumpkinReduce512Response {
|
|
947
791
|
value: Uint8Array;
|
|
948
792
|
}
|
|
949
|
-
|
|
950
|
-
|
|
793
|
+
interface MsgpackSecp256k1MulResponse {
|
|
794
|
+
point: MsgpackSecp256k1Point;
|
|
951
795
|
}
|
|
952
|
-
interface
|
|
953
|
-
|
|
796
|
+
interface MsgpackSecp256k1GetRandomFrResponse {
|
|
797
|
+
value: Uint8Array;
|
|
954
798
|
}
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
value: Fr;
|
|
799
|
+
interface MsgpackSecp256k1Reduce512Response {
|
|
800
|
+
value: Uint8Array;
|
|
958
801
|
}
|
|
959
802
|
interface MsgpackBn254FrSqrtResponse {
|
|
960
803
|
is_square_root: boolean;
|
|
961
804
|
value: Uint8Array;
|
|
962
805
|
}
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
interface MsgpackBn254G1FromCompressed {
|
|
967
|
-
compressed: Uint8Array;
|
|
968
|
-
}
|
|
969
|
-
export interface Bn254G1FromCompressedResponse {
|
|
970
|
-
point: Bn254G1Point;
|
|
971
|
-
}
|
|
972
|
-
interface MsgpackBn254G1FromCompressedResponse {
|
|
973
|
-
point: MsgpackBn254G1Point;
|
|
974
|
-
}
|
|
975
|
-
export interface Bn254G1IsOnCurve {
|
|
976
|
-
point: Bn254G1Point;
|
|
977
|
-
}
|
|
978
|
-
interface MsgpackBn254G1IsOnCurve {
|
|
979
|
-
point: MsgpackBn254G1Point;
|
|
980
|
-
}
|
|
981
|
-
export interface Bn254G1IsOnCurveResponse {
|
|
982
|
-
isOnCurve: boolean;
|
|
983
|
-
}
|
|
984
|
-
interface MsgpackBn254G1IsOnCurveResponse {
|
|
985
|
-
is_on_curve: boolean;
|
|
986
|
-
}
|
|
987
|
-
export interface Bn254G1Mul {
|
|
988
|
-
point: Bn254G1Point;
|
|
989
|
-
scalar: Fr;
|
|
990
|
-
}
|
|
991
|
-
interface MsgpackBn254G1Mul {
|
|
992
|
-
point: MsgpackBn254G1Point;
|
|
993
|
-
scalar: Uint8Array;
|
|
994
|
-
}
|
|
995
|
-
export interface Bn254G1MulResponse {
|
|
996
|
-
point: Bn254G1Point;
|
|
806
|
+
interface MsgpackBn254FqSqrtResponse {
|
|
807
|
+
is_square_root: boolean;
|
|
808
|
+
value: Uint8Array;
|
|
997
809
|
}
|
|
998
810
|
interface MsgpackBn254G1MulResponse {
|
|
999
811
|
point: MsgpackBn254G1Point;
|
|
1000
812
|
}
|
|
1001
|
-
export interface Bn254G1Point {
|
|
1002
|
-
x: Fq;
|
|
1003
|
-
y: Fq;
|
|
1004
|
-
}
|
|
1005
|
-
interface MsgpackBn254G1Point {
|
|
1006
|
-
x: Uint8Array;
|
|
1007
|
-
y: Uint8Array;
|
|
1008
|
-
}
|
|
1009
|
-
export interface Bn254G2Mul {
|
|
1010
|
-
point: Bn254G2Point;
|
|
1011
|
-
scalar: Fr;
|
|
1012
|
-
}
|
|
1013
|
-
interface MsgpackBn254G2Mul {
|
|
1014
|
-
point: MsgpackBn254G2Point;
|
|
1015
|
-
scalar: Uint8Array;
|
|
1016
|
-
}
|
|
1017
|
-
export interface Bn254G2MulResponse {
|
|
1018
|
-
point: Bn254G2Point;
|
|
1019
|
-
}
|
|
1020
813
|
interface MsgpackBn254G2MulResponse {
|
|
1021
814
|
point: MsgpackBn254G2Point;
|
|
1022
815
|
}
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
y: Field2;
|
|
1026
|
-
}
|
|
1027
|
-
interface MsgpackBn254G2Point {
|
|
1028
|
-
x: [Uint8Array, Uint8Array];
|
|
1029
|
-
y: [Uint8Array, Uint8Array];
|
|
816
|
+
interface MsgpackBn254G1IsOnCurveResponse {
|
|
817
|
+
is_on_curve: boolean;
|
|
1030
818
|
}
|
|
1031
|
-
|
|
1032
|
-
|
|
819
|
+
interface MsgpackBn254G1FromCompressedResponse {
|
|
820
|
+
point: MsgpackBn254G1Point;
|
|
1033
821
|
}
|
|
1034
|
-
interface
|
|
1035
|
-
|
|
822
|
+
interface MsgpackSchnorrComputePublicKeyResponse {
|
|
823
|
+
public_key: MsgpackGrumpkinPoint;
|
|
1036
824
|
}
|
|
1037
|
-
|
|
825
|
+
interface MsgpackSchnorrConstructSignatureResponse {
|
|
826
|
+
s: Uint8Array;
|
|
827
|
+
e: Uint8Array;
|
|
1038
828
|
}
|
|
1039
|
-
interface
|
|
829
|
+
interface MsgpackSchnorrVerifySignatureResponse {
|
|
830
|
+
verified: boolean;
|
|
1040
831
|
}
|
|
1041
|
-
|
|
1042
|
-
|
|
832
|
+
interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
|
|
833
|
+
public_key: MsgpackSecp256k1Point;
|
|
1043
834
|
}
|
|
1044
|
-
interface
|
|
1045
|
-
|
|
835
|
+
interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
|
|
836
|
+
public_key: MsgpackSecp256r1Point;
|
|
1046
837
|
}
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
838
|
+
interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
|
|
839
|
+
r: Uint8Array;
|
|
840
|
+
s: Uint8Array;
|
|
841
|
+
v: number;
|
|
1050
842
|
}
|
|
1051
|
-
interface
|
|
1052
|
-
|
|
1053
|
-
|
|
843
|
+
interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
|
|
844
|
+
r: Uint8Array;
|
|
845
|
+
s: Uint8Array;
|
|
846
|
+
v: number;
|
|
1054
847
|
}
|
|
1055
|
-
|
|
1056
|
-
|
|
848
|
+
interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
|
|
849
|
+
public_key: MsgpackSecp256k1Point;
|
|
1057
850
|
}
|
|
1058
|
-
interface
|
|
1059
|
-
|
|
851
|
+
interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
|
|
852
|
+
public_key: MsgpackSecp256r1Point;
|
|
1060
853
|
}
|
|
1061
|
-
|
|
1062
|
-
|
|
854
|
+
interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
|
|
855
|
+
verified: boolean;
|
|
1063
856
|
}
|
|
1064
|
-
interface
|
|
1065
|
-
|
|
857
|
+
interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
|
|
858
|
+
verified: boolean;
|
|
1066
859
|
}
|
|
1067
|
-
|
|
1068
|
-
|
|
860
|
+
interface MsgpackSrsInitSrsResponse {
|
|
861
|
+
dummy: number;
|
|
1069
862
|
}
|
|
1070
|
-
interface
|
|
1071
|
-
|
|
863
|
+
interface MsgpackSrsInitGrumpkinSrsResponse {
|
|
864
|
+
dummy: number;
|
|
1072
865
|
}
|
|
1073
|
-
|
|
1074
|
-
bytes: Uint8Array;
|
|
1075
|
-
fields: Fr[];
|
|
866
|
+
interface MsgpackShutdownResponse {
|
|
1076
867
|
}
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
export
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
export
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
export
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
export
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
export
|
|
1104
|
-
|
|
1105
|
-
}
|
|
1106
|
-
interface MsgpackChonkProveResponse {
|
|
1107
|
-
proof: MsgpackChonkProof;
|
|
1108
|
-
}
|
|
1109
|
-
export interface ChonkStart {
|
|
1110
|
-
numCircuits: number;
|
|
1111
|
-
}
|
|
1112
|
-
interface MsgpackChonkStart {
|
|
1113
|
-
num_circuits: number;
|
|
1114
|
-
}
|
|
1115
|
-
export interface ChonkStartResponse {
|
|
1116
|
-
}
|
|
1117
|
-
interface MsgpackChonkStartResponse {
|
|
1118
|
-
}
|
|
1119
|
-
export interface ChonkStats {
|
|
1120
|
-
circuit: CircuitInputNoVK;
|
|
1121
|
-
includeGatesPerOpcode: boolean;
|
|
1122
|
-
}
|
|
1123
|
-
interface MsgpackChonkStats {
|
|
1124
|
-
circuit: MsgpackCircuitInputNoVK;
|
|
1125
|
-
include_gates_per_opcode: boolean;
|
|
1126
|
-
}
|
|
1127
|
-
export interface ChonkStatsResponse {
|
|
1128
|
-
acirOpcodes: number;
|
|
1129
|
-
circuitSize: number;
|
|
1130
|
-
gatesPerOpcode: number[];
|
|
1131
|
-
}
|
|
1132
|
-
interface MsgpackChonkStatsResponse {
|
|
1133
|
-
acir_opcodes: number;
|
|
1134
|
-
circuit_size: number;
|
|
1135
|
-
gates_per_opcode: number[];
|
|
1136
|
-
}
|
|
1137
|
-
export interface ChonkVerify {
|
|
1138
|
-
proof: ChonkProof;
|
|
1139
|
-
vk: Uint8Array;
|
|
1140
|
-
}
|
|
1141
|
-
interface MsgpackChonkVerify {
|
|
1142
|
-
proof: MsgpackChonkProof;
|
|
1143
|
-
vk: Uint8Array;
|
|
1144
|
-
}
|
|
1145
|
-
export interface ChonkVerifyResponse {
|
|
1146
|
-
valid: boolean;
|
|
1147
|
-
}
|
|
1148
|
-
interface MsgpackChonkVerifyResponse {
|
|
1149
|
-
valid: boolean;
|
|
1150
|
-
}
|
|
1151
|
-
export interface CircuitComputeVk {
|
|
1152
|
-
circuit: CircuitInputNoVK;
|
|
1153
|
-
settings: ProofSystemSettings;
|
|
1154
|
-
}
|
|
1155
|
-
interface MsgpackCircuitComputeVk {
|
|
1156
|
-
circuit: MsgpackCircuitInputNoVK;
|
|
1157
|
-
settings: MsgpackProofSystemSettings;
|
|
1158
|
-
}
|
|
1159
|
-
export interface CircuitComputeVkResponse {
|
|
1160
|
-
bytes: Uint8Array;
|
|
1161
|
-
fields: Uint256T[];
|
|
1162
|
-
hash: Uint8Array;
|
|
1163
|
-
}
|
|
1164
|
-
interface MsgpackCircuitComputeVkResponse {
|
|
1165
|
-
bytes: Uint8Array;
|
|
1166
|
-
fields: Uint8Array[];
|
|
1167
|
-
hash: Uint8Array;
|
|
1168
|
-
}
|
|
1169
|
-
export interface CircuitInfoResponse {
|
|
1170
|
-
numGates: number;
|
|
1171
|
-
numGatesDyadic: number;
|
|
1172
|
-
numAcirOpcodes: number;
|
|
1173
|
-
gatesPerOpcode: number[];
|
|
1174
|
-
}
|
|
1175
|
-
interface MsgpackCircuitInfoResponse {
|
|
1176
|
-
num_gates: number;
|
|
1177
|
-
num_gates_dyadic: number;
|
|
1178
|
-
num_acir_opcodes: number;
|
|
1179
|
-
gates_per_opcode: number[];
|
|
1180
|
-
}
|
|
1181
|
-
export interface CircuitInput {
|
|
1182
|
-
name: string;
|
|
1183
|
-
bytecode: Uint8Array;
|
|
1184
|
-
verificationKey: Uint8Array;
|
|
1185
|
-
}
|
|
1186
|
-
interface MsgpackCircuitInput {
|
|
1187
|
-
name: string;
|
|
1188
|
-
bytecode: Uint8Array;
|
|
1189
|
-
verification_key: Uint8Array;
|
|
1190
|
-
}
|
|
1191
|
-
export interface CircuitInputNoVK {
|
|
1192
|
-
name: string;
|
|
1193
|
-
bytecode: Uint8Array;
|
|
1194
|
-
}
|
|
1195
|
-
interface MsgpackCircuitInputNoVK {
|
|
1196
|
-
name: string;
|
|
1197
|
-
bytecode: Uint8Array;
|
|
1198
|
-
}
|
|
1199
|
-
export interface CircuitProve {
|
|
1200
|
-
circuit: CircuitInput;
|
|
1201
|
-
witness: Uint8Array;
|
|
1202
|
-
settings: ProofSystemSettings;
|
|
1203
|
-
}
|
|
1204
|
-
interface MsgpackCircuitProve {
|
|
1205
|
-
circuit: MsgpackCircuitInput;
|
|
1206
|
-
witness: Uint8Array;
|
|
1207
|
-
settings: MsgpackProofSystemSettings;
|
|
1208
|
-
}
|
|
1209
|
-
export interface CircuitProveResponse {
|
|
1210
|
-
publicInputs: Uint256T[];
|
|
1211
|
-
proof: Uint256T[];
|
|
1212
|
-
vk: CircuitComputeVkResponse;
|
|
1213
|
-
}
|
|
1214
|
-
interface MsgpackCircuitProveResponse {
|
|
1215
|
-
public_inputs: Uint8Array[];
|
|
1216
|
-
proof: Uint8Array[];
|
|
1217
|
-
vk: MsgpackCircuitComputeVkResponse;
|
|
1218
|
-
}
|
|
1219
|
-
export interface CircuitStats {
|
|
1220
|
-
circuit: CircuitInput;
|
|
1221
|
-
includeGatesPerOpcode: boolean;
|
|
1222
|
-
settings: ProofSystemSettings;
|
|
1223
|
-
}
|
|
1224
|
-
interface MsgpackCircuitStats {
|
|
1225
|
-
circuit: MsgpackCircuitInput;
|
|
1226
|
-
include_gates_per_opcode: boolean;
|
|
1227
|
-
settings: MsgpackProofSystemSettings;
|
|
1228
|
-
}
|
|
1229
|
-
export interface CircuitVerify {
|
|
1230
|
-
verificationKey: Uint8Array;
|
|
1231
|
-
publicInputs: Uint256T[];
|
|
1232
|
-
proof: Uint256T[];
|
|
1233
|
-
settings: ProofSystemSettings;
|
|
1234
|
-
}
|
|
1235
|
-
interface MsgpackCircuitVerify {
|
|
1236
|
-
verification_key: Uint8Array;
|
|
1237
|
-
public_inputs: Uint8Array[];
|
|
1238
|
-
proof: Uint8Array[];
|
|
1239
|
-
settings: MsgpackProofSystemSettings;
|
|
1240
|
-
}
|
|
1241
|
-
export interface CircuitVerifyResponse {
|
|
1242
|
-
verified: boolean;
|
|
1243
|
-
}
|
|
1244
|
-
interface MsgpackCircuitVerifyResponse {
|
|
1245
|
-
verified: boolean;
|
|
1246
|
-
}
|
|
1247
|
-
export interface CircuitWriteSolidityVerifier {
|
|
1248
|
-
verificationKey: Uint8Array;
|
|
1249
|
-
settings: ProofSystemSettings;
|
|
1250
|
-
}
|
|
1251
|
-
interface MsgpackCircuitWriteSolidityVerifier {
|
|
1252
|
-
verification_key: Uint8Array;
|
|
1253
|
-
settings: MsgpackProofSystemSettings;
|
|
1254
|
-
}
|
|
1255
|
-
export interface CircuitWriteSolidityVerifierResponse {
|
|
1256
|
-
solidityCode: string;
|
|
1257
|
-
}
|
|
1258
|
-
interface MsgpackCircuitWriteSolidityVerifierResponse {
|
|
1259
|
-
solidity_code: string;
|
|
1260
|
-
}
|
|
1261
|
-
export interface EcdsaSecp256k1ComputePublicKey {
|
|
1262
|
-
privateKey: Secp256k1Fr;
|
|
1263
|
-
}
|
|
1264
|
-
interface MsgpackEcdsaSecp256k1ComputePublicKey {
|
|
1265
|
-
private_key: Uint8Array;
|
|
1266
|
-
}
|
|
1267
|
-
export interface EcdsaSecp256k1ComputePublicKeyResponse {
|
|
1268
|
-
publicKey: Secp256k1Point;
|
|
1269
|
-
}
|
|
1270
|
-
interface MsgpackEcdsaSecp256k1ComputePublicKeyResponse {
|
|
1271
|
-
public_key: MsgpackSecp256k1Point;
|
|
1272
|
-
}
|
|
1273
|
-
export interface EcdsaSecp256k1ConstructSignature {
|
|
1274
|
-
message: Uint8Array;
|
|
1275
|
-
privateKey: Secp256k1Fr;
|
|
1276
|
-
}
|
|
1277
|
-
interface MsgpackEcdsaSecp256k1ConstructSignature {
|
|
1278
|
-
message: Uint8Array;
|
|
1279
|
-
private_key: Uint8Array;
|
|
1280
|
-
}
|
|
1281
|
-
export interface EcdsaSecp256k1ConstructSignatureResponse {
|
|
1282
|
-
r: Uint8Array;
|
|
1283
|
-
s: Uint8Array;
|
|
1284
|
-
v: number;
|
|
1285
|
-
}
|
|
1286
|
-
interface MsgpackEcdsaSecp256k1ConstructSignatureResponse {
|
|
1287
|
-
r: Uint8Array;
|
|
1288
|
-
s: Uint8Array;
|
|
1289
|
-
v: number;
|
|
1290
|
-
}
|
|
1291
|
-
export interface EcdsaSecp256k1RecoverPublicKey {
|
|
1292
|
-
message: Uint8Array;
|
|
1293
|
-
r: Uint8Array;
|
|
1294
|
-
s: Uint8Array;
|
|
1295
|
-
v: number;
|
|
1296
|
-
}
|
|
1297
|
-
interface MsgpackEcdsaSecp256k1RecoverPublicKey {
|
|
1298
|
-
message: Uint8Array;
|
|
1299
|
-
r: Uint8Array;
|
|
1300
|
-
s: Uint8Array;
|
|
1301
|
-
v: number;
|
|
1302
|
-
}
|
|
1303
|
-
export interface EcdsaSecp256k1RecoverPublicKeyResponse {
|
|
1304
|
-
publicKey: Secp256k1Point;
|
|
1305
|
-
}
|
|
1306
|
-
interface MsgpackEcdsaSecp256k1RecoverPublicKeyResponse {
|
|
1307
|
-
public_key: MsgpackSecp256k1Point;
|
|
1308
|
-
}
|
|
1309
|
-
export interface EcdsaSecp256k1VerifySignature {
|
|
1310
|
-
message: Uint8Array;
|
|
1311
|
-
publicKey: Secp256k1Point;
|
|
1312
|
-
r: Uint8Array;
|
|
1313
|
-
s: Uint8Array;
|
|
1314
|
-
v: number;
|
|
1315
|
-
}
|
|
1316
|
-
interface MsgpackEcdsaSecp256k1VerifySignature {
|
|
1317
|
-
message: Uint8Array;
|
|
1318
|
-
public_key: MsgpackSecp256k1Point;
|
|
1319
|
-
r: Uint8Array;
|
|
1320
|
-
s: Uint8Array;
|
|
1321
|
-
v: number;
|
|
1322
|
-
}
|
|
1323
|
-
export interface EcdsaSecp256k1VerifySignatureResponse {
|
|
1324
|
-
verified: boolean;
|
|
1325
|
-
}
|
|
1326
|
-
interface MsgpackEcdsaSecp256k1VerifySignatureResponse {
|
|
1327
|
-
verified: boolean;
|
|
1328
|
-
}
|
|
1329
|
-
export interface EcdsaSecp256r1ComputePublicKey {
|
|
1330
|
-
privateKey: Secp256r1Fr;
|
|
1331
|
-
}
|
|
1332
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKey {
|
|
1333
|
-
private_key: Uint8Array;
|
|
1334
|
-
}
|
|
1335
|
-
export interface EcdsaSecp256r1ComputePublicKeyResponse {
|
|
1336
|
-
publicKey: Secp256r1Point;
|
|
1337
|
-
}
|
|
1338
|
-
interface MsgpackEcdsaSecp256r1ComputePublicKeyResponse {
|
|
1339
|
-
public_key: MsgpackSecp256r1Point;
|
|
1340
|
-
}
|
|
1341
|
-
export interface EcdsaSecp256r1ConstructSignature {
|
|
1342
|
-
message: Uint8Array;
|
|
1343
|
-
privateKey: Secp256r1Fr;
|
|
1344
|
-
}
|
|
1345
|
-
interface MsgpackEcdsaSecp256r1ConstructSignature {
|
|
1346
|
-
message: Uint8Array;
|
|
1347
|
-
private_key: Uint8Array;
|
|
1348
|
-
}
|
|
1349
|
-
export interface EcdsaSecp256r1ConstructSignatureResponse {
|
|
1350
|
-
r: Uint8Array;
|
|
1351
|
-
s: Uint8Array;
|
|
1352
|
-
v: number;
|
|
1353
|
-
}
|
|
1354
|
-
interface MsgpackEcdsaSecp256r1ConstructSignatureResponse {
|
|
1355
|
-
r: Uint8Array;
|
|
1356
|
-
s: Uint8Array;
|
|
1357
|
-
v: number;
|
|
1358
|
-
}
|
|
1359
|
-
export interface EcdsaSecp256r1RecoverPublicKey {
|
|
1360
|
-
message: Uint8Array;
|
|
1361
|
-
r: Uint8Array;
|
|
1362
|
-
s: Uint8Array;
|
|
1363
|
-
v: number;
|
|
1364
|
-
}
|
|
1365
|
-
interface MsgpackEcdsaSecp256r1RecoverPublicKey {
|
|
1366
|
-
message: Uint8Array;
|
|
1367
|
-
r: Uint8Array;
|
|
1368
|
-
s: Uint8Array;
|
|
1369
|
-
v: number;
|
|
1370
|
-
}
|
|
1371
|
-
export interface EcdsaSecp256r1RecoverPublicKeyResponse {
|
|
1372
|
-
publicKey: Secp256r1Point;
|
|
1373
|
-
}
|
|
1374
|
-
interface MsgpackEcdsaSecp256r1RecoverPublicKeyResponse {
|
|
1375
|
-
public_key: MsgpackSecp256r1Point;
|
|
1376
|
-
}
|
|
1377
|
-
export interface EcdsaSecp256r1VerifySignature {
|
|
1378
|
-
message: Uint8Array;
|
|
1379
|
-
publicKey: Secp256r1Point;
|
|
1380
|
-
r: Uint8Array;
|
|
1381
|
-
s: Uint8Array;
|
|
1382
|
-
v: number;
|
|
1383
|
-
}
|
|
1384
|
-
interface MsgpackEcdsaSecp256r1VerifySignature {
|
|
1385
|
-
message: Uint8Array;
|
|
1386
|
-
public_key: MsgpackSecp256r1Point;
|
|
1387
|
-
r: Uint8Array;
|
|
1388
|
-
s: Uint8Array;
|
|
1389
|
-
v: number;
|
|
1390
|
-
}
|
|
1391
|
-
export interface EcdsaSecp256r1VerifySignatureResponse {
|
|
1392
|
-
verified: boolean;
|
|
1393
|
-
}
|
|
1394
|
-
interface MsgpackEcdsaSecp256r1VerifySignatureResponse {
|
|
1395
|
-
verified: boolean;
|
|
1396
|
-
}
|
|
1397
|
-
export interface ErrorResponse {
|
|
1398
|
-
message: string;
|
|
1399
|
-
}
|
|
1400
|
-
interface MsgpackErrorResponse {
|
|
1401
|
-
message: string;
|
|
1402
|
-
}
|
|
1403
|
-
export interface GoblinProof {
|
|
1404
|
-
mergeProof: Fr[];
|
|
1405
|
-
eccvmProof: Fr[];
|
|
1406
|
-
ipaProof: Fr[];
|
|
1407
|
-
translatorProof: Fr[];
|
|
1408
|
-
}
|
|
1409
|
-
interface MsgpackGoblinProof {
|
|
1410
|
-
merge_proof: Uint8Array[];
|
|
1411
|
-
eccvm_proof: Uint8Array[];
|
|
1412
|
-
ipa_proof: Uint8Array[];
|
|
1413
|
-
translator_proof: Uint8Array[];
|
|
1414
|
-
}
|
|
1415
|
-
export interface GrumpkinAdd {
|
|
1416
|
-
pointA: GrumpkinPoint;
|
|
1417
|
-
pointB: GrumpkinPoint;
|
|
1418
|
-
}
|
|
1419
|
-
interface MsgpackGrumpkinAdd {
|
|
1420
|
-
point_a: MsgpackGrumpkinPoint;
|
|
1421
|
-
point_b: MsgpackGrumpkinPoint;
|
|
1422
|
-
}
|
|
1423
|
-
export interface GrumpkinAddResponse {
|
|
1424
|
-
point: GrumpkinPoint;
|
|
1425
|
-
}
|
|
1426
|
-
interface MsgpackGrumpkinAddResponse {
|
|
1427
|
-
point: MsgpackGrumpkinPoint;
|
|
1428
|
-
}
|
|
1429
|
-
export interface GrumpkinBatchMul {
|
|
1430
|
-
points: GrumpkinPoint[];
|
|
1431
|
-
scalar: Fq;
|
|
1432
|
-
}
|
|
1433
|
-
interface MsgpackGrumpkinBatchMul {
|
|
1434
|
-
points: MsgpackGrumpkinPoint[];
|
|
1435
|
-
scalar: Uint8Array;
|
|
1436
|
-
}
|
|
1437
|
-
export interface GrumpkinBatchMulResponse {
|
|
1438
|
-
points: GrumpkinPoint[];
|
|
1439
|
-
}
|
|
1440
|
-
interface MsgpackGrumpkinBatchMulResponse {
|
|
1441
|
-
points: MsgpackGrumpkinPoint[];
|
|
1442
|
-
}
|
|
1443
|
-
export interface GrumpkinGetRandomFr {
|
|
1444
|
-
dummy: number;
|
|
1445
|
-
}
|
|
1446
|
-
interface MsgpackGrumpkinGetRandomFr {
|
|
1447
|
-
dummy: number;
|
|
1448
|
-
}
|
|
1449
|
-
export interface GrumpkinGetRandomFrResponse {
|
|
1450
|
-
value: Fr;
|
|
1451
|
-
}
|
|
1452
|
-
interface MsgpackGrumpkinGetRandomFrResponse {
|
|
1453
|
-
value: Uint8Array;
|
|
1454
|
-
}
|
|
1455
|
-
export interface GrumpkinMul {
|
|
1456
|
-
point: GrumpkinPoint;
|
|
1457
|
-
scalar: Fq;
|
|
1458
|
-
}
|
|
1459
|
-
interface MsgpackGrumpkinMul {
|
|
1460
|
-
point: MsgpackGrumpkinPoint;
|
|
1461
|
-
scalar: Uint8Array;
|
|
1462
|
-
}
|
|
1463
|
-
export interface GrumpkinMulResponse {
|
|
1464
|
-
point: GrumpkinPoint;
|
|
1465
|
-
}
|
|
1466
|
-
interface MsgpackGrumpkinMulResponse {
|
|
1467
|
-
point: MsgpackGrumpkinPoint;
|
|
1468
|
-
}
|
|
1469
|
-
export interface GrumpkinPoint {
|
|
1470
|
-
x: Fr;
|
|
1471
|
-
y: Fr;
|
|
1472
|
-
}
|
|
1473
|
-
interface MsgpackGrumpkinPoint {
|
|
1474
|
-
x: Uint8Array;
|
|
1475
|
-
y: Uint8Array;
|
|
1476
|
-
}
|
|
1477
|
-
export interface GrumpkinReduce512 {
|
|
1478
|
-
input: Uint8Array;
|
|
1479
|
-
}
|
|
1480
|
-
interface MsgpackGrumpkinReduce512 {
|
|
1481
|
-
input: Uint8Array;
|
|
1482
|
-
}
|
|
1483
|
-
export interface GrumpkinReduce512Response {
|
|
1484
|
-
value: Fr;
|
|
1485
|
-
}
|
|
1486
|
-
interface MsgpackGrumpkinReduce512Response {
|
|
1487
|
-
value: Uint8Array;
|
|
1488
|
-
}
|
|
1489
|
-
export interface MegaVkAsFields {
|
|
1490
|
-
verificationKey: Uint8Array;
|
|
1491
|
-
}
|
|
1492
|
-
interface MsgpackMegaVkAsFields {
|
|
1493
|
-
verification_key: Uint8Array;
|
|
1494
|
-
}
|
|
1495
|
-
export interface MegaVkAsFieldsResponse {
|
|
1496
|
-
fields: Fr[];
|
|
1497
|
-
}
|
|
1498
|
-
interface MsgpackMegaVkAsFieldsResponse {
|
|
1499
|
-
fields: Uint8Array[];
|
|
1500
|
-
}
|
|
1501
|
-
export interface PedersenCommit {
|
|
1502
|
-
inputs: Fr[];
|
|
1503
|
-
hashIndex: number;
|
|
1504
|
-
}
|
|
1505
|
-
interface MsgpackPedersenCommit {
|
|
1506
|
-
inputs: Uint8Array[];
|
|
1507
|
-
hash_index: number;
|
|
1508
|
-
}
|
|
1509
|
-
export interface PedersenCommitResponse {
|
|
1510
|
-
point: GrumpkinPoint;
|
|
1511
|
-
}
|
|
1512
|
-
interface MsgpackPedersenCommitResponse {
|
|
1513
|
-
point: MsgpackGrumpkinPoint;
|
|
1514
|
-
}
|
|
1515
|
-
export interface PedersenHash {
|
|
1516
|
-
inputs: Fr[];
|
|
1517
|
-
hashIndex: number;
|
|
1518
|
-
}
|
|
1519
|
-
interface MsgpackPedersenHash {
|
|
1520
|
-
inputs: Uint8Array[];
|
|
1521
|
-
hash_index: number;
|
|
1522
|
-
}
|
|
1523
|
-
export interface PedersenHashBuffer {
|
|
1524
|
-
input: Uint8Array;
|
|
1525
|
-
hashIndex: number;
|
|
1526
|
-
}
|
|
1527
|
-
interface MsgpackPedersenHashBuffer {
|
|
1528
|
-
input: Uint8Array;
|
|
1529
|
-
hash_index: number;
|
|
1530
|
-
}
|
|
1531
|
-
export interface PedersenHashBufferResponse {
|
|
1532
|
-
hash: Fr;
|
|
1533
|
-
}
|
|
1534
|
-
interface MsgpackPedersenHashBufferResponse {
|
|
1535
|
-
hash: Uint8Array;
|
|
1536
|
-
}
|
|
1537
|
-
export interface PedersenHashResponse {
|
|
1538
|
-
hash: Fr;
|
|
1539
|
-
}
|
|
1540
|
-
interface MsgpackPedersenHashResponse {
|
|
1541
|
-
hash: Uint8Array;
|
|
1542
|
-
}
|
|
1543
|
-
export interface Poseidon2Hash {
|
|
1544
|
-
inputs: Fr[];
|
|
1545
|
-
}
|
|
1546
|
-
interface MsgpackPoseidon2Hash {
|
|
1547
|
-
inputs: Uint8Array[];
|
|
1548
|
-
}
|
|
1549
|
-
export interface Poseidon2HashAccumulate {
|
|
1550
|
-
inputs: Fr[];
|
|
1551
|
-
}
|
|
1552
|
-
interface MsgpackPoseidon2HashAccumulate {
|
|
1553
|
-
inputs: Uint8Array[];
|
|
1554
|
-
}
|
|
1555
|
-
export interface Poseidon2HashAccumulateResponse {
|
|
1556
|
-
hash: Fr;
|
|
1557
|
-
}
|
|
1558
|
-
interface MsgpackPoseidon2HashAccumulateResponse {
|
|
1559
|
-
hash: Uint8Array;
|
|
1560
|
-
}
|
|
1561
|
-
export interface Poseidon2HashResponse {
|
|
1562
|
-
hash: Fr;
|
|
1563
|
-
}
|
|
1564
|
-
interface MsgpackPoseidon2HashResponse {
|
|
1565
|
-
hash: Uint8Array;
|
|
1566
|
-
}
|
|
1567
|
-
export interface Poseidon2Permutation {
|
|
1568
|
-
inputs: Fr[];
|
|
1569
|
-
}
|
|
1570
|
-
interface MsgpackPoseidon2Permutation {
|
|
1571
|
-
inputs: Uint8Array[];
|
|
1572
|
-
}
|
|
1573
|
-
export interface Poseidon2PermutationResponse {
|
|
1574
|
-
outputs: Fr[];
|
|
1575
|
-
}
|
|
1576
|
-
interface MsgpackPoseidon2PermutationResponse {
|
|
1577
|
-
outputs: Uint8Array[];
|
|
1578
|
-
}
|
|
1579
|
-
export interface ProofSystemSettings {
|
|
1580
|
-
ipaAccumulation: boolean;
|
|
1581
|
-
oracleHashType: string;
|
|
1582
|
-
disableZk: boolean;
|
|
1583
|
-
optimizedSolidityVerifier: boolean;
|
|
1584
|
-
}
|
|
1585
|
-
interface MsgpackProofSystemSettings {
|
|
1586
|
-
ipa_accumulation: boolean;
|
|
1587
|
-
oracle_hash_type: string;
|
|
1588
|
-
disable_zk: boolean;
|
|
1589
|
-
optimized_solidity_verifier: boolean;
|
|
1590
|
-
}
|
|
1591
|
-
export interface SchnorrComputePublicKey {
|
|
1592
|
-
privateKey: Fq;
|
|
1593
|
-
}
|
|
1594
|
-
interface MsgpackSchnorrComputePublicKey {
|
|
1595
|
-
private_key: Uint8Array;
|
|
1596
|
-
}
|
|
1597
|
-
export interface SchnorrComputePublicKeyResponse {
|
|
1598
|
-
publicKey: GrumpkinPoint;
|
|
1599
|
-
}
|
|
1600
|
-
interface MsgpackSchnorrComputePublicKeyResponse {
|
|
1601
|
-
public_key: MsgpackGrumpkinPoint;
|
|
1602
|
-
}
|
|
1603
|
-
export interface SchnorrConstructSignature {
|
|
1604
|
-
message: Uint8Array;
|
|
1605
|
-
privateKey: Fq;
|
|
1606
|
-
}
|
|
1607
|
-
interface MsgpackSchnorrConstructSignature {
|
|
1608
|
-
message: Uint8Array;
|
|
1609
|
-
private_key: Uint8Array;
|
|
1610
|
-
}
|
|
1611
|
-
export interface SchnorrConstructSignatureResponse {
|
|
1612
|
-
s: Uint8Array;
|
|
1613
|
-
e: Uint8Array;
|
|
1614
|
-
}
|
|
1615
|
-
interface MsgpackSchnorrConstructSignatureResponse {
|
|
1616
|
-
s: Uint8Array;
|
|
1617
|
-
e: Uint8Array;
|
|
1618
|
-
}
|
|
1619
|
-
export interface SchnorrVerifySignature {
|
|
1620
|
-
message: Uint8Array;
|
|
1621
|
-
publicKey: GrumpkinPoint;
|
|
1622
|
-
s: Uint8Array;
|
|
1623
|
-
e: Uint8Array;
|
|
1624
|
-
}
|
|
1625
|
-
interface MsgpackSchnorrVerifySignature {
|
|
1626
|
-
message: Uint8Array;
|
|
1627
|
-
public_key: MsgpackGrumpkinPoint;
|
|
1628
|
-
s: Uint8Array;
|
|
1629
|
-
e: Uint8Array;
|
|
1630
|
-
}
|
|
1631
|
-
export interface SchnorrVerifySignatureResponse {
|
|
1632
|
-
verified: boolean;
|
|
1633
|
-
}
|
|
1634
|
-
interface MsgpackSchnorrVerifySignatureResponse {
|
|
1635
|
-
verified: boolean;
|
|
1636
|
-
}
|
|
1637
|
-
export interface Secp256k1GetRandomFr {
|
|
1638
|
-
dummy: number;
|
|
1639
|
-
}
|
|
1640
|
-
interface MsgpackSecp256k1GetRandomFr {
|
|
1641
|
-
dummy: number;
|
|
1642
|
-
}
|
|
1643
|
-
export interface Secp256k1GetRandomFrResponse {
|
|
1644
|
-
value: Secp256k1Fr;
|
|
1645
|
-
}
|
|
1646
|
-
interface MsgpackSecp256k1GetRandomFrResponse {
|
|
1647
|
-
value: Uint8Array;
|
|
1648
|
-
}
|
|
1649
|
-
export interface Secp256k1Mul {
|
|
1650
|
-
point: Secp256k1Point;
|
|
1651
|
-
scalar: Secp256k1Fr;
|
|
1652
|
-
}
|
|
1653
|
-
interface MsgpackSecp256k1Mul {
|
|
1654
|
-
point: MsgpackSecp256k1Point;
|
|
1655
|
-
scalar: Uint8Array;
|
|
1656
|
-
}
|
|
1657
|
-
export interface Secp256k1MulResponse {
|
|
1658
|
-
point: Secp256k1Point;
|
|
1659
|
-
}
|
|
1660
|
-
interface MsgpackSecp256k1MulResponse {
|
|
1661
|
-
point: MsgpackSecp256k1Point;
|
|
1662
|
-
}
|
|
1663
|
-
export interface Secp256k1Point {
|
|
1664
|
-
x: Secp256k1Fq;
|
|
1665
|
-
y: Secp256k1Fq;
|
|
1666
|
-
}
|
|
1667
|
-
interface MsgpackSecp256k1Point {
|
|
1668
|
-
x: Uint8Array;
|
|
1669
|
-
y: Uint8Array;
|
|
1670
|
-
}
|
|
1671
|
-
export interface Secp256k1Reduce512 {
|
|
1672
|
-
input: Uint8Array;
|
|
1673
|
-
}
|
|
1674
|
-
interface MsgpackSecp256k1Reduce512 {
|
|
1675
|
-
input: Uint8Array;
|
|
1676
|
-
}
|
|
1677
|
-
export interface Secp256k1Reduce512Response {
|
|
1678
|
-
value: Secp256k1Fr;
|
|
1679
|
-
}
|
|
1680
|
-
interface MsgpackSecp256k1Reduce512Response {
|
|
1681
|
-
value: Uint8Array;
|
|
1682
|
-
}
|
|
1683
|
-
export interface Secp256r1Point {
|
|
1684
|
-
x: Secp256r1Fq;
|
|
1685
|
-
y: Secp256r1Fq;
|
|
1686
|
-
}
|
|
1687
|
-
interface MsgpackSecp256r1Point {
|
|
1688
|
-
x: Uint8Array;
|
|
1689
|
-
y: Uint8Array;
|
|
1690
|
-
}
|
|
1691
|
-
export interface Shutdown {
|
|
1692
|
-
}
|
|
1693
|
-
interface MsgpackShutdown {
|
|
1694
|
-
}
|
|
1695
|
-
export interface ShutdownResponse {
|
|
1696
|
-
}
|
|
1697
|
-
interface MsgpackShutdownResponse {
|
|
1698
|
-
}
|
|
1699
|
-
export interface SrsInitGrumpkinSrs {
|
|
1700
|
-
pointsBuf: Uint8Array;
|
|
1701
|
-
numPoints: number;
|
|
1702
|
-
}
|
|
1703
|
-
interface MsgpackSrsInitGrumpkinSrs {
|
|
1704
|
-
points_buf: Uint8Array;
|
|
1705
|
-
num_points: number;
|
|
1706
|
-
}
|
|
1707
|
-
export interface SrsInitGrumpkinSrsResponse {
|
|
1708
|
-
dummy: number;
|
|
1709
|
-
}
|
|
1710
|
-
interface MsgpackSrsInitGrumpkinSrsResponse {
|
|
1711
|
-
dummy: number;
|
|
1712
|
-
}
|
|
1713
|
-
export interface SrsInitSrs {
|
|
1714
|
-
pointsBuf: Uint8Array;
|
|
1715
|
-
numPoints: number;
|
|
1716
|
-
g2Point: Uint8Array;
|
|
1717
|
-
}
|
|
1718
|
-
interface MsgpackSrsInitSrs {
|
|
1719
|
-
points_buf: Uint8Array;
|
|
1720
|
-
num_points: number;
|
|
1721
|
-
g2_point: Uint8Array;
|
|
1722
|
-
}
|
|
1723
|
-
export interface SrsInitSrsResponse {
|
|
1724
|
-
dummy: number;
|
|
1725
|
-
}
|
|
1726
|
-
interface MsgpackSrsInitSrsResponse {
|
|
1727
|
-
dummy: number;
|
|
1728
|
-
}
|
|
1729
|
-
export interface VkAsFields {
|
|
1730
|
-
verificationKey: Uint8Array;
|
|
1731
|
-
}
|
|
1732
|
-
interface MsgpackVkAsFields {
|
|
1733
|
-
verification_key: Uint8Array;
|
|
1734
|
-
}
|
|
1735
|
-
export interface VkAsFieldsResponse {
|
|
1736
|
-
fields: Fr[];
|
|
1737
|
-
}
|
|
1738
|
-
interface MsgpackVkAsFieldsResponse {
|
|
1739
|
-
fields: Uint8Array[];
|
|
1740
|
-
}
|
|
1741
|
-
export declare function toAesDecrypt(o: MsgpackAesDecrypt): AesDecrypt;
|
|
1742
|
-
export declare function fromAesDecrypt(o: AesDecrypt): MsgpackAesDecrypt;
|
|
1743
|
-
export declare function toAesDecryptResponse(o: MsgpackAesDecryptResponse): AesDecryptResponse;
|
|
1744
|
-
export declare function fromAesDecryptResponse(o: AesDecryptResponse): MsgpackAesDecryptResponse;
|
|
1745
|
-
export declare function toAesEncrypt(o: MsgpackAesEncrypt): AesEncrypt;
|
|
1746
|
-
export declare function fromAesEncrypt(o: AesEncrypt): MsgpackAesEncrypt;
|
|
1747
|
-
export declare function toAesEncryptResponse(o: MsgpackAesEncryptResponse): AesEncryptResponse;
|
|
1748
|
-
export declare function fromAesEncryptResponse(o: AesEncryptResponse): MsgpackAesEncryptResponse;
|
|
868
|
+
export declare function toCircuitComputeVkResponse(o: MsgpackCircuitComputeVkResponse): CircuitComputeVkResponse;
|
|
869
|
+
export declare function toCircuitInput(o: MsgpackCircuitInput): CircuitInput;
|
|
870
|
+
export declare function toProofSystemSettings(o: MsgpackProofSystemSettings): ProofSystemSettings;
|
|
871
|
+
export declare function toCircuitProve(o: MsgpackCircuitProve): CircuitProve;
|
|
872
|
+
export declare function toCircuitInputNoVK(o: MsgpackCircuitInputNoVK): CircuitInputNoVK;
|
|
873
|
+
export declare function toCircuitComputeVk(o: MsgpackCircuitComputeVk): CircuitComputeVk;
|
|
874
|
+
export declare function toCircuitStats(o: MsgpackCircuitStats): CircuitStats;
|
|
875
|
+
export declare function toCircuitVerify(o: MsgpackCircuitVerify): CircuitVerify;
|
|
876
|
+
export declare function toChonkComputeStandaloneVk(o: MsgpackChonkComputeStandaloneVk): ChonkComputeStandaloneVk;
|
|
877
|
+
export declare function toChonkComputeIvcVk(o: MsgpackChonkComputeIvcVk): ChonkComputeIvcVk;
|
|
878
|
+
export declare function toChonkStart(o: MsgpackChonkStart): ChonkStart;
|
|
879
|
+
export declare function toChonkLoad(o: MsgpackChonkLoad): ChonkLoad;
|
|
880
|
+
export declare function toChonkAccumulate(o: MsgpackChonkAccumulate): ChonkAccumulate;
|
|
881
|
+
export declare function toChonkProve(o: MsgpackChonkProve): ChonkProve;
|
|
882
|
+
export declare function toGoblinProof(o: MsgpackGoblinProof): GoblinProof;
|
|
883
|
+
export declare function toChonkProof(o: MsgpackChonkProof): ChonkProof;
|
|
884
|
+
export declare function toChonkVerify(o: MsgpackChonkVerify): ChonkVerify;
|
|
885
|
+
export declare function toVkAsFields(o: MsgpackVkAsFields): VkAsFields;
|
|
886
|
+
export declare function toMegaVkAsFields(o: MsgpackMegaVkAsFields): MegaVkAsFields;
|
|
887
|
+
export declare function toCircuitWriteSolidityVerifier(o: MsgpackCircuitWriteSolidityVerifier): CircuitWriteSolidityVerifier;
|
|
888
|
+
export declare function toChonkCheckPrecomputedVk(o: MsgpackChonkCheckPrecomputedVk): ChonkCheckPrecomputedVk;
|
|
889
|
+
export declare function toChonkStats(o: MsgpackChonkStats): ChonkStats;
|
|
890
|
+
export declare function toPoseidon2Hash(o: MsgpackPoseidon2Hash): Poseidon2Hash;
|
|
891
|
+
export declare function toPoseidon2Permutation(o: MsgpackPoseidon2Permutation): Poseidon2Permutation;
|
|
892
|
+
export declare function toPoseidon2HashAccumulate(o: MsgpackPoseidon2HashAccumulate): Poseidon2HashAccumulate;
|
|
893
|
+
export declare function toPedersenCommit(o: MsgpackPedersenCommit): PedersenCommit;
|
|
894
|
+
export declare function toPedersenHash(o: MsgpackPedersenHash): PedersenHash;
|
|
895
|
+
export declare function toPedersenHashBuffer(o: MsgpackPedersenHashBuffer): PedersenHashBuffer;
|
|
1749
896
|
export declare function toBlake2s(o: MsgpackBlake2s): Blake2s;
|
|
1750
|
-
export declare function fromBlake2s(o: Blake2s): MsgpackBlake2s;
|
|
1751
|
-
export declare function toBlake2sResponse(o: MsgpackBlake2sResponse): Blake2sResponse;
|
|
1752
|
-
export declare function fromBlake2sResponse(o: Blake2sResponse): MsgpackBlake2sResponse;
|
|
1753
897
|
export declare function toBlake2sToField(o: MsgpackBlake2sToField): Blake2sToField;
|
|
1754
|
-
export declare function
|
|
1755
|
-
export declare function
|
|
1756
|
-
export declare function
|
|
1757
|
-
export declare function
|
|
1758
|
-
export declare function
|
|
1759
|
-
export declare function
|
|
1760
|
-
export declare function
|
|
898
|
+
export declare function toAesEncrypt(o: MsgpackAesEncrypt): AesEncrypt;
|
|
899
|
+
export declare function toAesDecrypt(o: MsgpackAesDecrypt): AesDecrypt;
|
|
900
|
+
export declare function toGrumpkinPoint(o: MsgpackGrumpkinPoint): GrumpkinPoint;
|
|
901
|
+
export declare function toGrumpkinMul(o: MsgpackGrumpkinMul): GrumpkinMul;
|
|
902
|
+
export declare function toGrumpkinAdd(o: MsgpackGrumpkinAdd): GrumpkinAdd;
|
|
903
|
+
export declare function toGrumpkinBatchMul(o: MsgpackGrumpkinBatchMul): GrumpkinBatchMul;
|
|
904
|
+
export declare function toGrumpkinGetRandomFr(o: MsgpackGrumpkinGetRandomFr): GrumpkinGetRandomFr;
|
|
905
|
+
export declare function toGrumpkinReduce512(o: MsgpackGrumpkinReduce512): GrumpkinReduce512;
|
|
906
|
+
export declare function toSecp256k1Point(o: MsgpackSecp256k1Point): Secp256k1Point;
|
|
907
|
+
export declare function toSecp256k1Mul(o: MsgpackSecp256k1Mul): Secp256k1Mul;
|
|
908
|
+
export declare function toSecp256k1GetRandomFr(o: MsgpackSecp256k1GetRandomFr): Secp256k1GetRandomFr;
|
|
909
|
+
export declare function toSecp256k1Reduce512(o: MsgpackSecp256k1Reduce512): Secp256k1Reduce512;
|
|
1761
910
|
export declare function toBn254FrSqrt(o: MsgpackBn254FrSqrt): Bn254FrSqrt;
|
|
1762
|
-
export declare function
|
|
1763
|
-
export declare function toBn254FrSqrtResponse(o: MsgpackBn254FrSqrtResponse): Bn254FrSqrtResponse;
|
|
1764
|
-
export declare function fromBn254FrSqrtResponse(o: Bn254FrSqrtResponse): MsgpackBn254FrSqrtResponse;
|
|
1765
|
-
export declare function toBn254G1FromCompressed(o: MsgpackBn254G1FromCompressed): Bn254G1FromCompressed;
|
|
1766
|
-
export declare function fromBn254G1FromCompressed(o: Bn254G1FromCompressed): MsgpackBn254G1FromCompressed;
|
|
1767
|
-
export declare function toBn254G1FromCompressedResponse(o: MsgpackBn254G1FromCompressedResponse): Bn254G1FromCompressedResponse;
|
|
1768
|
-
export declare function fromBn254G1FromCompressedResponse(o: Bn254G1FromCompressedResponse): MsgpackBn254G1FromCompressedResponse;
|
|
1769
|
-
export declare function toBn254G1IsOnCurve(o: MsgpackBn254G1IsOnCurve): Bn254G1IsOnCurve;
|
|
1770
|
-
export declare function fromBn254G1IsOnCurve(o: Bn254G1IsOnCurve): MsgpackBn254G1IsOnCurve;
|
|
1771
|
-
export declare function toBn254G1IsOnCurveResponse(o: MsgpackBn254G1IsOnCurveResponse): Bn254G1IsOnCurveResponse;
|
|
1772
|
-
export declare function fromBn254G1IsOnCurveResponse(o: Bn254G1IsOnCurveResponse): MsgpackBn254G1IsOnCurveResponse;
|
|
1773
|
-
export declare function toBn254G1Mul(o: MsgpackBn254G1Mul): Bn254G1Mul;
|
|
1774
|
-
export declare function fromBn254G1Mul(o: Bn254G1Mul): MsgpackBn254G1Mul;
|
|
1775
|
-
export declare function toBn254G1MulResponse(o: MsgpackBn254G1MulResponse): Bn254G1MulResponse;
|
|
1776
|
-
export declare function fromBn254G1MulResponse(o: Bn254G1MulResponse): MsgpackBn254G1MulResponse;
|
|
911
|
+
export declare function toBn254FqSqrt(o: MsgpackBn254FqSqrt): Bn254FqSqrt;
|
|
1777
912
|
export declare function toBn254G1Point(o: MsgpackBn254G1Point): Bn254G1Point;
|
|
1778
|
-
export declare function
|
|
1779
|
-
export declare function toBn254G2Mul(o: MsgpackBn254G2Mul): Bn254G2Mul;
|
|
1780
|
-
export declare function fromBn254G2Mul(o: Bn254G2Mul): MsgpackBn254G2Mul;
|
|
1781
|
-
export declare function toBn254G2MulResponse(o: MsgpackBn254G2MulResponse): Bn254G2MulResponse;
|
|
1782
|
-
export declare function fromBn254G2MulResponse(o: Bn254G2MulResponse): MsgpackBn254G2MulResponse;
|
|
913
|
+
export declare function toBn254G1Mul(o: MsgpackBn254G1Mul): Bn254G1Mul;
|
|
1783
914
|
export declare function toBn254G2Point(o: MsgpackBn254G2Point): Bn254G2Point;
|
|
1784
|
-
export declare function
|
|
1785
|
-
export declare function
|
|
1786
|
-
export declare function
|
|
1787
|
-
export declare function
|
|
1788
|
-
export declare function
|
|
1789
|
-
export declare function
|
|
1790
|
-
export declare function
|
|
1791
|
-
export declare function
|
|
1792
|
-
export declare function
|
|
1793
|
-
export declare function
|
|
1794
|
-
export declare function
|
|
1795
|
-
export declare function
|
|
1796
|
-
export declare function
|
|
1797
|
-
export declare function
|
|
1798
|
-
export declare function
|
|
915
|
+
export declare function toBn254G2Mul(o: MsgpackBn254G2Mul): Bn254G2Mul;
|
|
916
|
+
export declare function toBn254G1IsOnCurve(o: MsgpackBn254G1IsOnCurve): Bn254G1IsOnCurve;
|
|
917
|
+
export declare function toBn254G1FromCompressed(o: MsgpackBn254G1FromCompressed): Bn254G1FromCompressed;
|
|
918
|
+
export declare function toSchnorrComputePublicKey(o: MsgpackSchnorrComputePublicKey): SchnorrComputePublicKey;
|
|
919
|
+
export declare function toSchnorrConstructSignature(o: MsgpackSchnorrConstructSignature): SchnorrConstructSignature;
|
|
920
|
+
export declare function toSchnorrVerifySignature(o: MsgpackSchnorrVerifySignature): SchnorrVerifySignature;
|
|
921
|
+
export declare function toEcdsaSecp256k1ComputePublicKey(o: MsgpackEcdsaSecp256k1ComputePublicKey): EcdsaSecp256k1ComputePublicKey;
|
|
922
|
+
export declare function toEcdsaSecp256r1ComputePublicKey(o: MsgpackEcdsaSecp256r1ComputePublicKey): EcdsaSecp256r1ComputePublicKey;
|
|
923
|
+
export declare function toEcdsaSecp256k1ConstructSignature(o: MsgpackEcdsaSecp256k1ConstructSignature): EcdsaSecp256k1ConstructSignature;
|
|
924
|
+
export declare function toEcdsaSecp256r1ConstructSignature(o: MsgpackEcdsaSecp256r1ConstructSignature): EcdsaSecp256r1ConstructSignature;
|
|
925
|
+
export declare function toEcdsaSecp256k1RecoverPublicKey(o: MsgpackEcdsaSecp256k1RecoverPublicKey): EcdsaSecp256k1RecoverPublicKey;
|
|
926
|
+
export declare function toEcdsaSecp256r1RecoverPublicKey(o: MsgpackEcdsaSecp256r1RecoverPublicKey): EcdsaSecp256r1RecoverPublicKey;
|
|
927
|
+
export declare function toEcdsaSecp256k1VerifySignature(o: MsgpackEcdsaSecp256k1VerifySignature): EcdsaSecp256k1VerifySignature;
|
|
928
|
+
export declare function toSecp256r1Point(o: MsgpackSecp256r1Point): Secp256r1Point;
|
|
929
|
+
export declare function toEcdsaSecp256r1VerifySignature(o: MsgpackEcdsaSecp256r1VerifySignature): EcdsaSecp256r1VerifySignature;
|
|
930
|
+
export declare function toSrsInitSrs(o: MsgpackSrsInitSrs): SrsInitSrs;
|
|
931
|
+
export declare function toSrsInitGrumpkinSrs(o: MsgpackSrsInitGrumpkinSrs): SrsInitGrumpkinSrs;
|
|
932
|
+
export declare function toShutdown(o: MsgpackShutdown): Shutdown;
|
|
933
|
+
export declare function toErrorResponse(o: MsgpackErrorResponse): ErrorResponse;
|
|
934
|
+
export declare function toCircuitProveResponse(o: MsgpackCircuitProveResponse): CircuitProveResponse;
|
|
935
|
+
export declare function toCircuitInfoResponse(o: MsgpackCircuitInfoResponse): CircuitInfoResponse;
|
|
936
|
+
export declare function toCircuitVerifyResponse(o: MsgpackCircuitVerifyResponse): CircuitVerifyResponse;
|
|
1799
937
|
export declare function toChonkComputeStandaloneVkResponse(o: MsgpackChonkComputeStandaloneVkResponse): ChonkComputeStandaloneVkResponse;
|
|
1800
|
-
export declare function
|
|
1801
|
-
export declare function
|
|
1802
|
-
export declare function fromChonkLoad(o: ChonkLoad): MsgpackChonkLoad;
|
|
938
|
+
export declare function toChonkComputeIvcVkResponse(o: MsgpackChonkComputeIvcVkResponse): ChonkComputeIvcVkResponse;
|
|
939
|
+
export declare function toChonkStartResponse(o: MsgpackChonkStartResponse): ChonkStartResponse;
|
|
1803
940
|
export declare function toChonkLoadResponse(o: MsgpackChonkLoadResponse): ChonkLoadResponse;
|
|
1804
|
-
export declare function
|
|
1805
|
-
export declare function toChonkProof(o: MsgpackChonkProof): ChonkProof;
|
|
1806
|
-
export declare function fromChonkProof(o: ChonkProof): MsgpackChonkProof;
|
|
1807
|
-
export declare function toChonkProve(o: MsgpackChonkProve): ChonkProve;
|
|
1808
|
-
export declare function fromChonkProve(o: ChonkProve): MsgpackChonkProve;
|
|
941
|
+
export declare function toChonkAccumulateResponse(o: MsgpackChonkAccumulateResponse): ChonkAccumulateResponse;
|
|
1809
942
|
export declare function toChonkProveResponse(o: MsgpackChonkProveResponse): ChonkProveResponse;
|
|
1810
|
-
export declare function fromChonkProveResponse(o: ChonkProveResponse): MsgpackChonkProveResponse;
|
|
1811
|
-
export declare function toChonkStart(o: MsgpackChonkStart): ChonkStart;
|
|
1812
|
-
export declare function fromChonkStart(o: ChonkStart): MsgpackChonkStart;
|
|
1813
|
-
export declare function toChonkStartResponse(o: MsgpackChonkStartResponse): ChonkStartResponse;
|
|
1814
|
-
export declare function fromChonkStartResponse(o: ChonkStartResponse): MsgpackChonkStartResponse;
|
|
1815
|
-
export declare function toChonkStats(o: MsgpackChonkStats): ChonkStats;
|
|
1816
|
-
export declare function fromChonkStats(o: ChonkStats): MsgpackChonkStats;
|
|
1817
|
-
export declare function toChonkStatsResponse(o: MsgpackChonkStatsResponse): ChonkStatsResponse;
|
|
1818
|
-
export declare function fromChonkStatsResponse(o: ChonkStatsResponse): MsgpackChonkStatsResponse;
|
|
1819
|
-
export declare function toChonkVerify(o: MsgpackChonkVerify): ChonkVerify;
|
|
1820
|
-
export declare function fromChonkVerify(o: ChonkVerify): MsgpackChonkVerify;
|
|
1821
943
|
export declare function toChonkVerifyResponse(o: MsgpackChonkVerifyResponse): ChonkVerifyResponse;
|
|
1822
|
-
export declare function
|
|
1823
|
-
export declare function
|
|
1824
|
-
export declare function
|
|
1825
|
-
export declare function
|
|
944
|
+
export declare function toVkAsFieldsResponse(o: MsgpackVkAsFieldsResponse): VkAsFieldsResponse;
|
|
945
|
+
export declare function toMegaVkAsFieldsResponse(o: MsgpackMegaVkAsFieldsResponse): MegaVkAsFieldsResponse;
|
|
946
|
+
export declare function toCircuitWriteSolidityVerifierResponse(o: MsgpackCircuitWriteSolidityVerifierResponse): CircuitWriteSolidityVerifierResponse;
|
|
947
|
+
export declare function toChonkCheckPrecomputedVkResponse(o: MsgpackChonkCheckPrecomputedVkResponse): ChonkCheckPrecomputedVkResponse;
|
|
948
|
+
export declare function toChonkStatsResponse(o: MsgpackChonkStatsResponse): ChonkStatsResponse;
|
|
949
|
+
export declare function toPoseidon2HashResponse(o: MsgpackPoseidon2HashResponse): Poseidon2HashResponse;
|
|
950
|
+
export declare function toPoseidon2PermutationResponse(o: MsgpackPoseidon2PermutationResponse): Poseidon2PermutationResponse;
|
|
951
|
+
export declare function toPoseidon2HashAccumulateResponse(o: MsgpackPoseidon2HashAccumulateResponse): Poseidon2HashAccumulateResponse;
|
|
952
|
+
export declare function toPedersenCommitResponse(o: MsgpackPedersenCommitResponse): PedersenCommitResponse;
|
|
953
|
+
export declare function toPedersenHashResponse(o: MsgpackPedersenHashResponse): PedersenHashResponse;
|
|
954
|
+
export declare function toPedersenHashBufferResponse(o: MsgpackPedersenHashBufferResponse): PedersenHashBufferResponse;
|
|
955
|
+
export declare function toBlake2sResponse(o: MsgpackBlake2sResponse): Blake2sResponse;
|
|
956
|
+
export declare function toBlake2sToFieldResponse(o: MsgpackBlake2sToFieldResponse): Blake2sToFieldResponse;
|
|
957
|
+
export declare function toAesEncryptResponse(o: MsgpackAesEncryptResponse): AesEncryptResponse;
|
|
958
|
+
export declare function toAesDecryptResponse(o: MsgpackAesDecryptResponse): AesDecryptResponse;
|
|
959
|
+
export declare function toGrumpkinMulResponse(o: MsgpackGrumpkinMulResponse): GrumpkinMulResponse;
|
|
960
|
+
export declare function toGrumpkinAddResponse(o: MsgpackGrumpkinAddResponse): GrumpkinAddResponse;
|
|
961
|
+
export declare function toGrumpkinBatchMulResponse(o: MsgpackGrumpkinBatchMulResponse): GrumpkinBatchMulResponse;
|
|
962
|
+
export declare function toGrumpkinGetRandomFrResponse(o: MsgpackGrumpkinGetRandomFrResponse): GrumpkinGetRandomFrResponse;
|
|
963
|
+
export declare function toGrumpkinReduce512Response(o: MsgpackGrumpkinReduce512Response): GrumpkinReduce512Response;
|
|
964
|
+
export declare function toSecp256k1MulResponse(o: MsgpackSecp256k1MulResponse): Secp256k1MulResponse;
|
|
965
|
+
export declare function toSecp256k1GetRandomFrResponse(o: MsgpackSecp256k1GetRandomFrResponse): Secp256k1GetRandomFrResponse;
|
|
966
|
+
export declare function toSecp256k1Reduce512Response(o: MsgpackSecp256k1Reduce512Response): Secp256k1Reduce512Response;
|
|
967
|
+
export declare function toBn254FrSqrtResponse(o: MsgpackBn254FrSqrtResponse): Bn254FrSqrtResponse;
|
|
968
|
+
export declare function toBn254FqSqrtResponse(o: MsgpackBn254FqSqrtResponse): Bn254FqSqrtResponse;
|
|
969
|
+
export declare function toBn254G1MulResponse(o: MsgpackBn254G1MulResponse): Bn254G1MulResponse;
|
|
970
|
+
export declare function toBn254G2MulResponse(o: MsgpackBn254G2MulResponse): Bn254G2MulResponse;
|
|
971
|
+
export declare function toBn254G1IsOnCurveResponse(o: MsgpackBn254G1IsOnCurveResponse): Bn254G1IsOnCurveResponse;
|
|
972
|
+
export declare function toBn254G1FromCompressedResponse(o: MsgpackBn254G1FromCompressedResponse): Bn254G1FromCompressedResponse;
|
|
973
|
+
export declare function toSchnorrComputePublicKeyResponse(o: MsgpackSchnorrComputePublicKeyResponse): SchnorrComputePublicKeyResponse;
|
|
974
|
+
export declare function toSchnorrConstructSignatureResponse(o: MsgpackSchnorrConstructSignatureResponse): SchnorrConstructSignatureResponse;
|
|
975
|
+
export declare function toSchnorrVerifySignatureResponse(o: MsgpackSchnorrVerifySignatureResponse): SchnorrVerifySignatureResponse;
|
|
976
|
+
export declare function toEcdsaSecp256k1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256k1ComputePublicKeyResponse): EcdsaSecp256k1ComputePublicKeyResponse;
|
|
977
|
+
export declare function toEcdsaSecp256r1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256r1ComputePublicKeyResponse): EcdsaSecp256r1ComputePublicKeyResponse;
|
|
978
|
+
export declare function toEcdsaSecp256k1ConstructSignatureResponse(o: MsgpackEcdsaSecp256k1ConstructSignatureResponse): EcdsaSecp256k1ConstructSignatureResponse;
|
|
979
|
+
export declare function toEcdsaSecp256r1ConstructSignatureResponse(o: MsgpackEcdsaSecp256r1ConstructSignatureResponse): EcdsaSecp256r1ConstructSignatureResponse;
|
|
980
|
+
export declare function toEcdsaSecp256k1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256k1RecoverPublicKeyResponse): EcdsaSecp256k1RecoverPublicKeyResponse;
|
|
981
|
+
export declare function toEcdsaSecp256r1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256r1RecoverPublicKeyResponse): EcdsaSecp256r1RecoverPublicKeyResponse;
|
|
982
|
+
export declare function toEcdsaSecp256k1VerifySignatureResponse(o: MsgpackEcdsaSecp256k1VerifySignatureResponse): EcdsaSecp256k1VerifySignatureResponse;
|
|
983
|
+
export declare function toEcdsaSecp256r1VerifySignatureResponse(o: MsgpackEcdsaSecp256r1VerifySignatureResponse): EcdsaSecp256r1VerifySignatureResponse;
|
|
984
|
+
export declare function toSrsInitSrsResponse(o: MsgpackSrsInitSrsResponse): SrsInitSrsResponse;
|
|
985
|
+
export declare function toSrsInitGrumpkinSrsResponse(o: MsgpackSrsInitGrumpkinSrsResponse): SrsInitGrumpkinSrsResponse;
|
|
986
|
+
export declare function toShutdownResponse(o: MsgpackShutdownResponse): ShutdownResponse;
|
|
1826
987
|
export declare function fromCircuitComputeVkResponse(o: CircuitComputeVkResponse): MsgpackCircuitComputeVkResponse;
|
|
1827
|
-
export declare function toCircuitInfoResponse(o: MsgpackCircuitInfoResponse): CircuitInfoResponse;
|
|
1828
|
-
export declare function fromCircuitInfoResponse(o: CircuitInfoResponse): MsgpackCircuitInfoResponse;
|
|
1829
|
-
export declare function toCircuitInput(o: MsgpackCircuitInput): CircuitInput;
|
|
1830
988
|
export declare function fromCircuitInput(o: CircuitInput): MsgpackCircuitInput;
|
|
1831
|
-
export declare function
|
|
1832
|
-
export declare function fromCircuitInputNoVK(o: CircuitInputNoVK): MsgpackCircuitInputNoVK;
|
|
1833
|
-
export declare function toCircuitProve(o: MsgpackCircuitProve): CircuitProve;
|
|
989
|
+
export declare function fromProofSystemSettings(o: ProofSystemSettings): MsgpackProofSystemSettings;
|
|
1834
990
|
export declare function fromCircuitProve(o: CircuitProve): MsgpackCircuitProve;
|
|
1835
|
-
export declare function
|
|
1836
|
-
export declare function
|
|
1837
|
-
export declare function toCircuitStats(o: MsgpackCircuitStats): CircuitStats;
|
|
991
|
+
export declare function fromCircuitInputNoVK(o: CircuitInputNoVK): MsgpackCircuitInputNoVK;
|
|
992
|
+
export declare function fromCircuitComputeVk(o: CircuitComputeVk): MsgpackCircuitComputeVk;
|
|
1838
993
|
export declare function fromCircuitStats(o: CircuitStats): MsgpackCircuitStats;
|
|
1839
|
-
export declare function toCircuitVerify(o: MsgpackCircuitVerify): CircuitVerify;
|
|
1840
994
|
export declare function fromCircuitVerify(o: CircuitVerify): MsgpackCircuitVerify;
|
|
1841
|
-
export declare function
|
|
1842
|
-
export declare function
|
|
1843
|
-
export declare function
|
|
995
|
+
export declare function fromChonkComputeStandaloneVk(o: ChonkComputeStandaloneVk): MsgpackChonkComputeStandaloneVk;
|
|
996
|
+
export declare function fromChonkComputeIvcVk(o: ChonkComputeIvcVk): MsgpackChonkComputeIvcVk;
|
|
997
|
+
export declare function fromChonkStart(o: ChonkStart): MsgpackChonkStart;
|
|
998
|
+
export declare function fromChonkLoad(o: ChonkLoad): MsgpackChonkLoad;
|
|
999
|
+
export declare function fromChonkAccumulate(o: ChonkAccumulate): MsgpackChonkAccumulate;
|
|
1000
|
+
export declare function fromChonkProve(o: ChonkProve): MsgpackChonkProve;
|
|
1001
|
+
export declare function fromGoblinProof(o: GoblinProof): MsgpackGoblinProof;
|
|
1002
|
+
export declare function fromChonkProof(o: ChonkProof): MsgpackChonkProof;
|
|
1003
|
+
export declare function fromChonkVerify(o: ChonkVerify): MsgpackChonkVerify;
|
|
1004
|
+
export declare function fromVkAsFields(o: VkAsFields): MsgpackVkAsFields;
|
|
1005
|
+
export declare function fromMegaVkAsFields(o: MegaVkAsFields): MsgpackMegaVkAsFields;
|
|
1844
1006
|
export declare function fromCircuitWriteSolidityVerifier(o: CircuitWriteSolidityVerifier): MsgpackCircuitWriteSolidityVerifier;
|
|
1845
|
-
export declare function
|
|
1846
|
-
export declare function
|
|
1847
|
-
export declare function
|
|
1007
|
+
export declare function fromChonkCheckPrecomputedVk(o: ChonkCheckPrecomputedVk): MsgpackChonkCheckPrecomputedVk;
|
|
1008
|
+
export declare function fromChonkStats(o: ChonkStats): MsgpackChonkStats;
|
|
1009
|
+
export declare function fromPoseidon2Hash(o: Poseidon2Hash): MsgpackPoseidon2Hash;
|
|
1010
|
+
export declare function fromPoseidon2Permutation(o: Poseidon2Permutation): MsgpackPoseidon2Permutation;
|
|
1011
|
+
export declare function fromPoseidon2HashAccumulate(o: Poseidon2HashAccumulate): MsgpackPoseidon2HashAccumulate;
|
|
1012
|
+
export declare function fromPedersenCommit(o: PedersenCommit): MsgpackPedersenCommit;
|
|
1013
|
+
export declare function fromPedersenHash(o: PedersenHash): MsgpackPedersenHash;
|
|
1014
|
+
export declare function fromPedersenHashBuffer(o: PedersenHashBuffer): MsgpackPedersenHashBuffer;
|
|
1015
|
+
export declare function fromBlake2s(o: Blake2s): MsgpackBlake2s;
|
|
1016
|
+
export declare function fromBlake2sToField(o: Blake2sToField): MsgpackBlake2sToField;
|
|
1017
|
+
export declare function fromAesEncrypt(o: AesEncrypt): MsgpackAesEncrypt;
|
|
1018
|
+
export declare function fromAesDecrypt(o: AesDecrypt): MsgpackAesDecrypt;
|
|
1019
|
+
export declare function fromGrumpkinPoint(o: GrumpkinPoint): MsgpackGrumpkinPoint;
|
|
1020
|
+
export declare function fromGrumpkinMul(o: GrumpkinMul): MsgpackGrumpkinMul;
|
|
1021
|
+
export declare function fromGrumpkinAdd(o: GrumpkinAdd): MsgpackGrumpkinAdd;
|
|
1022
|
+
export declare function fromGrumpkinBatchMul(o: GrumpkinBatchMul): MsgpackGrumpkinBatchMul;
|
|
1023
|
+
export declare function fromGrumpkinGetRandomFr(o: GrumpkinGetRandomFr): MsgpackGrumpkinGetRandomFr;
|
|
1024
|
+
export declare function fromGrumpkinReduce512(o: GrumpkinReduce512): MsgpackGrumpkinReduce512;
|
|
1025
|
+
export declare function fromSecp256k1Point(o: Secp256k1Point): MsgpackSecp256k1Point;
|
|
1026
|
+
export declare function fromSecp256k1Mul(o: Secp256k1Mul): MsgpackSecp256k1Mul;
|
|
1027
|
+
export declare function fromSecp256k1GetRandomFr(o: Secp256k1GetRandomFr): MsgpackSecp256k1GetRandomFr;
|
|
1028
|
+
export declare function fromSecp256k1Reduce512(o: Secp256k1Reduce512): MsgpackSecp256k1Reduce512;
|
|
1029
|
+
export declare function fromBn254FrSqrt(o: Bn254FrSqrt): MsgpackBn254FrSqrt;
|
|
1030
|
+
export declare function fromBn254FqSqrt(o: Bn254FqSqrt): MsgpackBn254FqSqrt;
|
|
1031
|
+
export declare function fromBn254G1Point(o: Bn254G1Point): MsgpackBn254G1Point;
|
|
1032
|
+
export declare function fromBn254G1Mul(o: Bn254G1Mul): MsgpackBn254G1Mul;
|
|
1033
|
+
export declare function fromBn254G2Point(o: Bn254G2Point): MsgpackBn254G2Point;
|
|
1034
|
+
export declare function fromBn254G2Mul(o: Bn254G2Mul): MsgpackBn254G2Mul;
|
|
1035
|
+
export declare function fromBn254G1IsOnCurve(o: Bn254G1IsOnCurve): MsgpackBn254G1IsOnCurve;
|
|
1036
|
+
export declare function fromBn254G1FromCompressed(o: Bn254G1FromCompressed): MsgpackBn254G1FromCompressed;
|
|
1037
|
+
export declare function fromSchnorrComputePublicKey(o: SchnorrComputePublicKey): MsgpackSchnorrComputePublicKey;
|
|
1038
|
+
export declare function fromSchnorrConstructSignature(o: SchnorrConstructSignature): MsgpackSchnorrConstructSignature;
|
|
1039
|
+
export declare function fromSchnorrVerifySignature(o: SchnorrVerifySignature): MsgpackSchnorrVerifySignature;
|
|
1848
1040
|
export declare function fromEcdsaSecp256k1ComputePublicKey(o: EcdsaSecp256k1ComputePublicKey): MsgpackEcdsaSecp256k1ComputePublicKey;
|
|
1849
|
-
export declare function toEcdsaSecp256k1ComputePublicKeyResponse(o: MsgpackEcdsaSecp256k1ComputePublicKeyResponse): EcdsaSecp256k1ComputePublicKeyResponse;
|
|
1850
|
-
export declare function fromEcdsaSecp256k1ComputePublicKeyResponse(o: EcdsaSecp256k1ComputePublicKeyResponse): MsgpackEcdsaSecp256k1ComputePublicKeyResponse;
|
|
1851
|
-
export declare function toEcdsaSecp256k1ConstructSignature(o: MsgpackEcdsaSecp256k1ConstructSignature): EcdsaSecp256k1ConstructSignature;
|
|
1852
|
-
export declare function fromEcdsaSecp256k1ConstructSignature(o: EcdsaSecp256k1ConstructSignature): MsgpackEcdsaSecp256k1ConstructSignature;
|
|
1853
|
-
export declare function toEcdsaSecp256k1ConstructSignatureResponse(o: MsgpackEcdsaSecp256k1ConstructSignatureResponse): EcdsaSecp256k1ConstructSignatureResponse;
|
|
1854
|
-
export declare function fromEcdsaSecp256k1ConstructSignatureResponse(o: EcdsaSecp256k1ConstructSignatureResponse): MsgpackEcdsaSecp256k1ConstructSignatureResponse;
|
|
1855
|
-
export declare function toEcdsaSecp256k1RecoverPublicKey(o: MsgpackEcdsaSecp256k1RecoverPublicKey): EcdsaSecp256k1RecoverPublicKey;
|
|
1856
|
-
export declare function fromEcdsaSecp256k1RecoverPublicKey(o: EcdsaSecp256k1RecoverPublicKey): MsgpackEcdsaSecp256k1RecoverPublicKey;
|
|
1857
|
-
export declare function toEcdsaSecp256k1RecoverPublicKeyResponse(o: MsgpackEcdsaSecp256k1RecoverPublicKeyResponse): EcdsaSecp256k1RecoverPublicKeyResponse;
|
|
1858
|
-
export declare function fromEcdsaSecp256k1RecoverPublicKeyResponse(o: EcdsaSecp256k1RecoverPublicKeyResponse): MsgpackEcdsaSecp256k1RecoverPublicKeyResponse;
|
|
1859
|
-
export declare function toEcdsaSecp256k1VerifySignature(o: MsgpackEcdsaSecp256k1VerifySignature): EcdsaSecp256k1VerifySignature;
|
|
1860
|
-
export declare function fromEcdsaSecp256k1VerifySignature(o: EcdsaSecp256k1VerifySignature): MsgpackEcdsaSecp256k1VerifySignature;
|
|
1861
|
-
export declare function toEcdsaSecp256k1VerifySignatureResponse(o: MsgpackEcdsaSecp256k1VerifySignatureResponse): EcdsaSecp256k1VerifySignatureResponse;
|
|
1862
|
-
export declare function fromEcdsaSecp256k1VerifySignatureResponse(o: EcdsaSecp256k1VerifySignatureResponse): MsgpackEcdsaSecp256k1VerifySignatureResponse;
|
|
1863
|
-
export declare function toEcdsaSecp256r1ComputePublicKey(o: MsgpackEcdsaSecp256r1ComputePublicKey): EcdsaSecp256r1ComputePublicKey;
|
|
1864
1041
|
export declare function fromEcdsaSecp256r1ComputePublicKey(o: EcdsaSecp256r1ComputePublicKey): MsgpackEcdsaSecp256r1ComputePublicKey;
|
|
1865
|
-
export declare function
|
|
1866
|
-
export declare function fromEcdsaSecp256r1ComputePublicKeyResponse(o: EcdsaSecp256r1ComputePublicKeyResponse): MsgpackEcdsaSecp256r1ComputePublicKeyResponse;
|
|
1867
|
-
export declare function toEcdsaSecp256r1ConstructSignature(o: MsgpackEcdsaSecp256r1ConstructSignature): EcdsaSecp256r1ConstructSignature;
|
|
1042
|
+
export declare function fromEcdsaSecp256k1ConstructSignature(o: EcdsaSecp256k1ConstructSignature): MsgpackEcdsaSecp256k1ConstructSignature;
|
|
1868
1043
|
export declare function fromEcdsaSecp256r1ConstructSignature(o: EcdsaSecp256r1ConstructSignature): MsgpackEcdsaSecp256r1ConstructSignature;
|
|
1869
|
-
export declare function
|
|
1870
|
-
export declare function fromEcdsaSecp256r1ConstructSignatureResponse(o: EcdsaSecp256r1ConstructSignatureResponse): MsgpackEcdsaSecp256r1ConstructSignatureResponse;
|
|
1871
|
-
export declare function toEcdsaSecp256r1RecoverPublicKey(o: MsgpackEcdsaSecp256r1RecoverPublicKey): EcdsaSecp256r1RecoverPublicKey;
|
|
1044
|
+
export declare function fromEcdsaSecp256k1RecoverPublicKey(o: EcdsaSecp256k1RecoverPublicKey): MsgpackEcdsaSecp256k1RecoverPublicKey;
|
|
1872
1045
|
export declare function fromEcdsaSecp256r1RecoverPublicKey(o: EcdsaSecp256r1RecoverPublicKey): MsgpackEcdsaSecp256r1RecoverPublicKey;
|
|
1873
|
-
export declare function
|
|
1874
|
-
export declare function
|
|
1875
|
-
export declare function toEcdsaSecp256r1VerifySignature(o: MsgpackEcdsaSecp256r1VerifySignature): EcdsaSecp256r1VerifySignature;
|
|
1046
|
+
export declare function fromEcdsaSecp256k1VerifySignature(o: EcdsaSecp256k1VerifySignature): MsgpackEcdsaSecp256k1VerifySignature;
|
|
1047
|
+
export declare function fromSecp256r1Point(o: Secp256r1Point): MsgpackSecp256r1Point;
|
|
1876
1048
|
export declare function fromEcdsaSecp256r1VerifySignature(o: EcdsaSecp256r1VerifySignature): MsgpackEcdsaSecp256r1VerifySignature;
|
|
1877
|
-
export declare function
|
|
1878
|
-
export declare function
|
|
1879
|
-
export declare function
|
|
1049
|
+
export declare function fromSrsInitSrs(o: SrsInitSrs): MsgpackSrsInitSrs;
|
|
1050
|
+
export declare function fromSrsInitGrumpkinSrs(o: SrsInitGrumpkinSrs): MsgpackSrsInitGrumpkinSrs;
|
|
1051
|
+
export declare function fromShutdown(o: Shutdown): MsgpackShutdown;
|
|
1880
1052
|
export declare function fromErrorResponse(o: ErrorResponse): MsgpackErrorResponse;
|
|
1881
|
-
export declare function
|
|
1882
|
-
export declare function
|
|
1883
|
-
export declare function
|
|
1884
|
-
export declare function
|
|
1885
|
-
export declare function
|
|
1053
|
+
export declare function fromCircuitProveResponse(o: CircuitProveResponse): MsgpackCircuitProveResponse;
|
|
1054
|
+
export declare function fromCircuitInfoResponse(o: CircuitInfoResponse): MsgpackCircuitInfoResponse;
|
|
1055
|
+
export declare function fromCircuitVerifyResponse(o: CircuitVerifyResponse): MsgpackCircuitVerifyResponse;
|
|
1056
|
+
export declare function fromChonkComputeStandaloneVkResponse(o: ChonkComputeStandaloneVkResponse): MsgpackChonkComputeStandaloneVkResponse;
|
|
1057
|
+
export declare function fromChonkComputeIvcVkResponse(o: ChonkComputeIvcVkResponse): MsgpackChonkComputeIvcVkResponse;
|
|
1058
|
+
export declare function fromChonkStartResponse(o: ChonkStartResponse): MsgpackChonkStartResponse;
|
|
1059
|
+
export declare function fromChonkLoadResponse(o: ChonkLoadResponse): MsgpackChonkLoadResponse;
|
|
1060
|
+
export declare function fromChonkAccumulateResponse(o: ChonkAccumulateResponse): MsgpackChonkAccumulateResponse;
|
|
1061
|
+
export declare function fromChonkProveResponse(o: ChonkProveResponse): MsgpackChonkProveResponse;
|
|
1062
|
+
export declare function fromChonkVerifyResponse(o: ChonkVerifyResponse): MsgpackChonkVerifyResponse;
|
|
1063
|
+
export declare function fromVkAsFieldsResponse(o: VkAsFieldsResponse): MsgpackVkAsFieldsResponse;
|
|
1064
|
+
export declare function fromMegaVkAsFieldsResponse(o: MegaVkAsFieldsResponse): MsgpackMegaVkAsFieldsResponse;
|
|
1065
|
+
export declare function fromCircuitWriteSolidityVerifierResponse(o: CircuitWriteSolidityVerifierResponse): MsgpackCircuitWriteSolidityVerifierResponse;
|
|
1066
|
+
export declare function fromChonkCheckPrecomputedVkResponse(o: ChonkCheckPrecomputedVkResponse): MsgpackChonkCheckPrecomputedVkResponse;
|
|
1067
|
+
export declare function fromChonkStatsResponse(o: ChonkStatsResponse): MsgpackChonkStatsResponse;
|
|
1068
|
+
export declare function fromPoseidon2HashResponse(o: Poseidon2HashResponse): MsgpackPoseidon2HashResponse;
|
|
1069
|
+
export declare function fromPoseidon2PermutationResponse(o: Poseidon2PermutationResponse): MsgpackPoseidon2PermutationResponse;
|
|
1070
|
+
export declare function fromPoseidon2HashAccumulateResponse(o: Poseidon2HashAccumulateResponse): MsgpackPoseidon2HashAccumulateResponse;
|
|
1071
|
+
export declare function fromPedersenCommitResponse(o: PedersenCommitResponse): MsgpackPedersenCommitResponse;
|
|
1072
|
+
export declare function fromPedersenHashResponse(o: PedersenHashResponse): MsgpackPedersenHashResponse;
|
|
1073
|
+
export declare function fromPedersenHashBufferResponse(o: PedersenHashBufferResponse): MsgpackPedersenHashBufferResponse;
|
|
1074
|
+
export declare function fromBlake2sResponse(o: Blake2sResponse): MsgpackBlake2sResponse;
|
|
1075
|
+
export declare function fromBlake2sToFieldResponse(o: Blake2sToFieldResponse): MsgpackBlake2sToFieldResponse;
|
|
1076
|
+
export declare function fromAesEncryptResponse(o: AesEncryptResponse): MsgpackAesEncryptResponse;
|
|
1077
|
+
export declare function fromAesDecryptResponse(o: AesDecryptResponse): MsgpackAesDecryptResponse;
|
|
1078
|
+
export declare function fromGrumpkinMulResponse(o: GrumpkinMulResponse): MsgpackGrumpkinMulResponse;
|
|
1886
1079
|
export declare function fromGrumpkinAddResponse(o: GrumpkinAddResponse): MsgpackGrumpkinAddResponse;
|
|
1887
|
-
export declare function toGrumpkinBatchMul(o: MsgpackGrumpkinBatchMul): GrumpkinBatchMul;
|
|
1888
|
-
export declare function fromGrumpkinBatchMul(o: GrumpkinBatchMul): MsgpackGrumpkinBatchMul;
|
|
1889
|
-
export declare function toGrumpkinBatchMulResponse(o: MsgpackGrumpkinBatchMulResponse): GrumpkinBatchMulResponse;
|
|
1890
1080
|
export declare function fromGrumpkinBatchMulResponse(o: GrumpkinBatchMulResponse): MsgpackGrumpkinBatchMulResponse;
|
|
1891
|
-
export declare function toGrumpkinGetRandomFr(o: MsgpackGrumpkinGetRandomFr): GrumpkinGetRandomFr;
|
|
1892
|
-
export declare function fromGrumpkinGetRandomFr(o: GrumpkinGetRandomFr): MsgpackGrumpkinGetRandomFr;
|
|
1893
|
-
export declare function toGrumpkinGetRandomFrResponse(o: MsgpackGrumpkinGetRandomFrResponse): GrumpkinGetRandomFrResponse;
|
|
1894
1081
|
export declare function fromGrumpkinGetRandomFrResponse(o: GrumpkinGetRandomFrResponse): MsgpackGrumpkinGetRandomFrResponse;
|
|
1895
|
-
export declare function toGrumpkinMul(o: MsgpackGrumpkinMul): GrumpkinMul;
|
|
1896
|
-
export declare function fromGrumpkinMul(o: GrumpkinMul): MsgpackGrumpkinMul;
|
|
1897
|
-
export declare function toGrumpkinMulResponse(o: MsgpackGrumpkinMulResponse): GrumpkinMulResponse;
|
|
1898
|
-
export declare function fromGrumpkinMulResponse(o: GrumpkinMulResponse): MsgpackGrumpkinMulResponse;
|
|
1899
|
-
export declare function toGrumpkinPoint(o: MsgpackGrumpkinPoint): GrumpkinPoint;
|
|
1900
|
-
export declare function fromGrumpkinPoint(o: GrumpkinPoint): MsgpackGrumpkinPoint;
|
|
1901
|
-
export declare function toGrumpkinReduce512(o: MsgpackGrumpkinReduce512): GrumpkinReduce512;
|
|
1902
|
-
export declare function fromGrumpkinReduce512(o: GrumpkinReduce512): MsgpackGrumpkinReduce512;
|
|
1903
|
-
export declare function toGrumpkinReduce512Response(o: MsgpackGrumpkinReduce512Response): GrumpkinReduce512Response;
|
|
1904
1082
|
export declare function fromGrumpkinReduce512Response(o: GrumpkinReduce512Response): MsgpackGrumpkinReduce512Response;
|
|
1905
|
-
export declare function
|
|
1906
|
-
export declare function
|
|
1907
|
-
export declare function
|
|
1908
|
-
export declare function
|
|
1909
|
-
export declare function
|
|
1910
|
-
export declare function
|
|
1911
|
-
export declare function
|
|
1912
|
-
export declare function
|
|
1913
|
-
export declare function
|
|
1914
|
-
export declare function fromPedersenHash(o: PedersenHash): MsgpackPedersenHash;
|
|
1915
|
-
export declare function toPedersenHashBuffer(o: MsgpackPedersenHashBuffer): PedersenHashBuffer;
|
|
1916
|
-
export declare function fromPedersenHashBuffer(o: PedersenHashBuffer): MsgpackPedersenHashBuffer;
|
|
1917
|
-
export declare function toPedersenHashBufferResponse(o: MsgpackPedersenHashBufferResponse): PedersenHashBufferResponse;
|
|
1918
|
-
export declare function fromPedersenHashBufferResponse(o: PedersenHashBufferResponse): MsgpackPedersenHashBufferResponse;
|
|
1919
|
-
export declare function toPedersenHashResponse(o: MsgpackPedersenHashResponse): PedersenHashResponse;
|
|
1920
|
-
export declare function fromPedersenHashResponse(o: PedersenHashResponse): MsgpackPedersenHashResponse;
|
|
1921
|
-
export declare function toPoseidon2Hash(o: MsgpackPoseidon2Hash): Poseidon2Hash;
|
|
1922
|
-
export declare function fromPoseidon2Hash(o: Poseidon2Hash): MsgpackPoseidon2Hash;
|
|
1923
|
-
export declare function toPoseidon2HashAccumulate(o: MsgpackPoseidon2HashAccumulate): Poseidon2HashAccumulate;
|
|
1924
|
-
export declare function fromPoseidon2HashAccumulate(o: Poseidon2HashAccumulate): MsgpackPoseidon2HashAccumulate;
|
|
1925
|
-
export declare function toPoseidon2HashAccumulateResponse(o: MsgpackPoseidon2HashAccumulateResponse): Poseidon2HashAccumulateResponse;
|
|
1926
|
-
export declare function fromPoseidon2HashAccumulateResponse(o: Poseidon2HashAccumulateResponse): MsgpackPoseidon2HashAccumulateResponse;
|
|
1927
|
-
export declare function toPoseidon2HashResponse(o: MsgpackPoseidon2HashResponse): Poseidon2HashResponse;
|
|
1928
|
-
export declare function fromPoseidon2HashResponse(o: Poseidon2HashResponse): MsgpackPoseidon2HashResponse;
|
|
1929
|
-
export declare function toPoseidon2Permutation(o: MsgpackPoseidon2Permutation): Poseidon2Permutation;
|
|
1930
|
-
export declare function fromPoseidon2Permutation(o: Poseidon2Permutation): MsgpackPoseidon2Permutation;
|
|
1931
|
-
export declare function toPoseidon2PermutationResponse(o: MsgpackPoseidon2PermutationResponse): Poseidon2PermutationResponse;
|
|
1932
|
-
export declare function fromPoseidon2PermutationResponse(o: Poseidon2PermutationResponse): MsgpackPoseidon2PermutationResponse;
|
|
1933
|
-
export declare function toProofSystemSettings(o: MsgpackProofSystemSettings): ProofSystemSettings;
|
|
1934
|
-
export declare function fromProofSystemSettings(o: ProofSystemSettings): MsgpackProofSystemSettings;
|
|
1935
|
-
export declare function toSchnorrComputePublicKey(o: MsgpackSchnorrComputePublicKey): SchnorrComputePublicKey;
|
|
1936
|
-
export declare function fromSchnorrComputePublicKey(o: SchnorrComputePublicKey): MsgpackSchnorrComputePublicKey;
|
|
1937
|
-
export declare function toSchnorrComputePublicKeyResponse(o: MsgpackSchnorrComputePublicKeyResponse): SchnorrComputePublicKeyResponse;
|
|
1083
|
+
export declare function fromSecp256k1MulResponse(o: Secp256k1MulResponse): MsgpackSecp256k1MulResponse;
|
|
1084
|
+
export declare function fromSecp256k1GetRandomFrResponse(o: Secp256k1GetRandomFrResponse): MsgpackSecp256k1GetRandomFrResponse;
|
|
1085
|
+
export declare function fromSecp256k1Reduce512Response(o: Secp256k1Reduce512Response): MsgpackSecp256k1Reduce512Response;
|
|
1086
|
+
export declare function fromBn254FrSqrtResponse(o: Bn254FrSqrtResponse): MsgpackBn254FrSqrtResponse;
|
|
1087
|
+
export declare function fromBn254FqSqrtResponse(o: Bn254FqSqrtResponse): MsgpackBn254FqSqrtResponse;
|
|
1088
|
+
export declare function fromBn254G1MulResponse(o: Bn254G1MulResponse): MsgpackBn254G1MulResponse;
|
|
1089
|
+
export declare function fromBn254G2MulResponse(o: Bn254G2MulResponse): MsgpackBn254G2MulResponse;
|
|
1090
|
+
export declare function fromBn254G1IsOnCurveResponse(o: Bn254G1IsOnCurveResponse): MsgpackBn254G1IsOnCurveResponse;
|
|
1091
|
+
export declare function fromBn254G1FromCompressedResponse(o: Bn254G1FromCompressedResponse): MsgpackBn254G1FromCompressedResponse;
|
|
1938
1092
|
export declare function fromSchnorrComputePublicKeyResponse(o: SchnorrComputePublicKeyResponse): MsgpackSchnorrComputePublicKeyResponse;
|
|
1939
|
-
export declare function toSchnorrConstructSignature(o: MsgpackSchnorrConstructSignature): SchnorrConstructSignature;
|
|
1940
|
-
export declare function fromSchnorrConstructSignature(o: SchnorrConstructSignature): MsgpackSchnorrConstructSignature;
|
|
1941
|
-
export declare function toSchnorrConstructSignatureResponse(o: MsgpackSchnorrConstructSignatureResponse): SchnorrConstructSignatureResponse;
|
|
1942
1093
|
export declare function fromSchnorrConstructSignatureResponse(o: SchnorrConstructSignatureResponse): MsgpackSchnorrConstructSignatureResponse;
|
|
1943
|
-
export declare function toSchnorrVerifySignature(o: MsgpackSchnorrVerifySignature): SchnorrVerifySignature;
|
|
1944
|
-
export declare function fromSchnorrVerifySignature(o: SchnorrVerifySignature): MsgpackSchnorrVerifySignature;
|
|
1945
|
-
export declare function toSchnorrVerifySignatureResponse(o: MsgpackSchnorrVerifySignatureResponse): SchnorrVerifySignatureResponse;
|
|
1946
1094
|
export declare function fromSchnorrVerifySignatureResponse(o: SchnorrVerifySignatureResponse): MsgpackSchnorrVerifySignatureResponse;
|
|
1947
|
-
export declare function
|
|
1948
|
-
export declare function
|
|
1949
|
-
export declare function
|
|
1950
|
-
export declare function
|
|
1951
|
-
export declare function
|
|
1952
|
-
export declare function
|
|
1953
|
-
export declare function
|
|
1954
|
-
export declare function
|
|
1955
|
-
export declare function toSecp256k1Point(o: MsgpackSecp256k1Point): Secp256k1Point;
|
|
1956
|
-
export declare function fromSecp256k1Point(o: Secp256k1Point): MsgpackSecp256k1Point;
|
|
1957
|
-
export declare function toSecp256k1Reduce512(o: MsgpackSecp256k1Reduce512): Secp256k1Reduce512;
|
|
1958
|
-
export declare function fromSecp256k1Reduce512(o: Secp256k1Reduce512): MsgpackSecp256k1Reduce512;
|
|
1959
|
-
export declare function toSecp256k1Reduce512Response(o: MsgpackSecp256k1Reduce512Response): Secp256k1Reduce512Response;
|
|
1960
|
-
export declare function fromSecp256k1Reduce512Response(o: Secp256k1Reduce512Response): MsgpackSecp256k1Reduce512Response;
|
|
1961
|
-
export declare function toSecp256r1Point(o: MsgpackSecp256r1Point): Secp256r1Point;
|
|
1962
|
-
export declare function fromSecp256r1Point(o: Secp256r1Point): MsgpackSecp256r1Point;
|
|
1963
|
-
export declare function toShutdown(o: MsgpackShutdown): Shutdown;
|
|
1964
|
-
export declare function fromShutdown(o: Shutdown): MsgpackShutdown;
|
|
1965
|
-
export declare function toShutdownResponse(o: MsgpackShutdownResponse): ShutdownResponse;
|
|
1966
|
-
export declare function fromShutdownResponse(o: ShutdownResponse): MsgpackShutdownResponse;
|
|
1967
|
-
export declare function toSrsInitGrumpkinSrs(o: MsgpackSrsInitGrumpkinSrs): SrsInitGrumpkinSrs;
|
|
1968
|
-
export declare function fromSrsInitGrumpkinSrs(o: SrsInitGrumpkinSrs): MsgpackSrsInitGrumpkinSrs;
|
|
1969
|
-
export declare function toSrsInitGrumpkinSrsResponse(o: MsgpackSrsInitGrumpkinSrsResponse): SrsInitGrumpkinSrsResponse;
|
|
1970
|
-
export declare function fromSrsInitGrumpkinSrsResponse(o: SrsInitGrumpkinSrsResponse): MsgpackSrsInitGrumpkinSrsResponse;
|
|
1971
|
-
export declare function toSrsInitSrs(o: MsgpackSrsInitSrs): SrsInitSrs;
|
|
1972
|
-
export declare function fromSrsInitSrs(o: SrsInitSrs): MsgpackSrsInitSrs;
|
|
1973
|
-
export declare function toSrsInitSrsResponse(o: MsgpackSrsInitSrsResponse): SrsInitSrsResponse;
|
|
1095
|
+
export declare function fromEcdsaSecp256k1ComputePublicKeyResponse(o: EcdsaSecp256k1ComputePublicKeyResponse): MsgpackEcdsaSecp256k1ComputePublicKeyResponse;
|
|
1096
|
+
export declare function fromEcdsaSecp256r1ComputePublicKeyResponse(o: EcdsaSecp256r1ComputePublicKeyResponse): MsgpackEcdsaSecp256r1ComputePublicKeyResponse;
|
|
1097
|
+
export declare function fromEcdsaSecp256k1ConstructSignatureResponse(o: EcdsaSecp256k1ConstructSignatureResponse): MsgpackEcdsaSecp256k1ConstructSignatureResponse;
|
|
1098
|
+
export declare function fromEcdsaSecp256r1ConstructSignatureResponse(o: EcdsaSecp256r1ConstructSignatureResponse): MsgpackEcdsaSecp256r1ConstructSignatureResponse;
|
|
1099
|
+
export declare function fromEcdsaSecp256k1RecoverPublicKeyResponse(o: EcdsaSecp256k1RecoverPublicKeyResponse): MsgpackEcdsaSecp256k1RecoverPublicKeyResponse;
|
|
1100
|
+
export declare function fromEcdsaSecp256r1RecoverPublicKeyResponse(o: EcdsaSecp256r1RecoverPublicKeyResponse): MsgpackEcdsaSecp256r1RecoverPublicKeyResponse;
|
|
1101
|
+
export declare function fromEcdsaSecp256k1VerifySignatureResponse(o: EcdsaSecp256k1VerifySignatureResponse): MsgpackEcdsaSecp256k1VerifySignatureResponse;
|
|
1102
|
+
export declare function fromEcdsaSecp256r1VerifySignatureResponse(o: EcdsaSecp256r1VerifySignatureResponse): MsgpackEcdsaSecp256r1VerifySignatureResponse;
|
|
1974
1103
|
export declare function fromSrsInitSrsResponse(o: SrsInitSrsResponse): MsgpackSrsInitSrsResponse;
|
|
1975
|
-
export declare function
|
|
1976
|
-
export declare function
|
|
1977
|
-
export declare function toVkAsFieldsResponse(o: MsgpackVkAsFieldsResponse): VkAsFieldsResponse;
|
|
1978
|
-
export declare function fromVkAsFieldsResponse(o: VkAsFieldsResponse): MsgpackVkAsFieldsResponse;
|
|
1104
|
+
export declare function fromSrsInitGrumpkinSrsResponse(o: SrsInitGrumpkinSrsResponse): MsgpackSrsInitGrumpkinSrsResponse;
|
|
1105
|
+
export declare function fromShutdownResponse(o: ShutdownResponse): MsgpackShutdownResponse;
|
|
1979
1106
|
export interface BbApiBase {
|
|
1980
1107
|
circuitProve(command: CircuitProve): Promise<CircuitProveResponse>;
|
|
1981
1108
|
circuitComputeVk(command: CircuitComputeVk): Promise<CircuitComputeVkResponse>;
|
|
@@ -2034,4 +1161,4 @@ export interface BbApiBase {
|
|
|
2034
1161
|
destroy(): Promise<void>;
|
|
2035
1162
|
}
|
|
2036
1163
|
export {};
|
|
2037
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzlDLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzVCLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3JDLE1BQU0sTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBR2xDLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDO0lBQ3RCLEVBQUUsRUFBRSxVQUFVLENBQUM7SUFDZixHQUFHLEVBQUUsVUFBVSxDQUFDO0lB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
|
|
1164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2JpbmQvZ2VuZXJhdGVkL2FwaV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE1BQU0sTUFBTSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRzlDLE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0lBQ3JCLGVBQWUsRUFBRSxVQUFVLENBQUM7Q0FDN0I7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFDekIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixTQUFTLEVBQUUsT0FBTyxDQUFDO0lBQ25CLHlCQUF5QixFQUFFLE9BQU8sQ0FBQztDQUNwQztBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixRQUFRLEVBQUUsbUJBQW1CLENBQUM7Q0FDL0I7QUFFRCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixPQUFPLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIsUUFBUSxFQUFFLG1CQUFtQixDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLFlBQVk7SUFDM0IsT0FBTyxFQUFFLFlBQVksQ0FBQztJQUN0QixxQkFBcUIsRUFBRSxPQUFPLENBQUM7SUFDL0IsUUFBUSxFQUFFLG1CQUFtQixDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLGFBQWE7SUFDNUIsZUFBZSxFQUFFLFVBQVUsQ0FBQztJQUM1QixZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDM0IsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQztDQUMvQjtBQUVELE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsT0FBTyxFQUFFLGdCQUFnQixDQUFDO0NBQzNCO0FBRUQsTUFBTSxXQUFXLGlCQUFpQjtJQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7Q0FDM0I7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixXQUFXLEVBQUUsTUFBTSxDQUFDO0NBQ3JCO0FBRUQsTUFBTSxXQUFXLFNBQVM7SUFDeEIsT0FBTyxFQUFFLFlBQVksQ0FBQztDQUN2QjtBQUVELE1BQU0sV0FBVyxlQUFlO0lBQzlCLE9BQU8sRUFBRSxVQUFVLENBQUM7Q0FDckI7QUFFRCxNQUFNLFdBQVcsVUFBVTtDQUUxQjtBQUVELE1BQU0sV0FBVyxXQUFXO0lBQzFCLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN6QixVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDekIsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3ZCLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUMvQjtBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN4QixXQUFXLEVBQUUsV0FBVyxDQUFDO0NBQzFCO0FBRUQsTUFBTSxXQUFXLFdBQVc7SUFDMUIsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixFQUFFLEVBQUUsVUFBVSxDQUFDO0NBQ2hCO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsZUFBZSxFQUFFLFVBQVUsQ0FBQztDQUM3QjtBQUVELE1BQU0sV0FBVyxjQUFjO0lBQzdCLGVBQWUsRUFBRSxVQUFVLENBQUM7Q0FDN0I7QUFFRCxNQUFNLFdBQVcsNEJBQTRCO0lBQzNDLGVBQWUsRUFBRSxVQUFVLENBQUM7SUFDNUIsUUFBUSxFQUFFLG1CQUFtQixDQUFDO0NBQy9CO0FBRUQsTUFBTSxXQUFXLHVCQUF1QjtJQUN0QyxPQUFPLEVBQUUsWUFBWSxDQUFDO0NBQ3ZCO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsT0FBTyxFQUFFLGdCQUFnQixDQUFDO0lBQzFCLHFCQUFxQixFQUFFLE9BQU8sQ0FBQztDQUNoQztBQUVELE1BQU0sV0FBVyxhQUFhO0lBQzVCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLHVCQUF1QjtJQUN0QyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxNQUFNLFdBQVcsY0FBYztJQUM3QixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQixTQUFTLEVBQUUsTUFBTSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLGtCQUFrQjtJQUNqQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsT0FBTztJQUN0QixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLGNBQWM7SUFDN0IsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDdEIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkIsRUFBRSxFQUFFLFVBQVUsQ0FBQztJQUNmLEdBQUcsRUFBRSxVQUFVLENBQUM7SUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELE1BQU0sV0FBVyxhQUFhO0lBQzVCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixLQUFLLEVBQUUsYUFBYSxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7Q0FDcEI7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixNQUFNLEVBQUUsYUFBYSxDQUFDO0lBQ3RCLE1BQU0sRUFBRSxhQUFhLENBQUM7Q0FDdkI7QUFFRCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQztJQUN4QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsaUJBQWlCO0lBQ2hDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsY0FBYztJQUM3QixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsTUFBTSxXQUFXLFlBQVk7SUFDM0IsS0FBSyxFQUFFLGNBQWMsQ0FBQztJQUN0QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsV0FBVztJQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLFdBQVc7SUFDMUIsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxZQUFZO0lBQzNCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsVUFBVTtJQUN6QixLQUFLLEVBQUUsWUFBWSxDQUFDO0lBQ3BCLE1BQU0sRUFBRSxVQUFVLENBQUM7Q0FDcEI7QUFFRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDNUIsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0NBQzdCO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsS0FBSyxFQUFFLFlBQVksQ0FBQztJQUNwQixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixLQUFLLEVBQUUsWUFBWSxDQUFDO0NBQ3JCO0FBRUQsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLHVCQUF1QjtJQUN0QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEI7QUFFRCxNQUFNLFdBQVcsc0JBQXNCO0lBQ3JDLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsU0FBUyxFQUFFLGFBQWEsQ0FBQztJQUN6QixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsTUFBTSxXQUFXLDhCQUE4QjtJQUM3QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLDhCQUE4QjtJQUM3QyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCO0FBRUQsTUFBTSxXQUFXLGdDQUFnQztJQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEI7QUFFRCxNQUFNLFdBQVcsZ0NBQWdDO0lBQy9DLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzFCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsTUFBTSxXQUFXLGNBQWM7SUFDN0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixTQUFTLEVBQUUsY0FBYyxDQUFDO0lBQzFCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsTUFBTSxXQUFXLFVBQVU7SUFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxVQUFVLENBQUM7Q0FDckI7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLFNBQVMsRUFBRSxVQUFVLENBQUM7SUFDdEIsU0FBUyxFQUFFLE1BQU0sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxRQUFRO0NBRXhCO0FBRUQsTUFBTSxXQUFXLGFBQWE7SUFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQztDQUNqQjtBQUVELE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzNCLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNwQixFQUFFLEVBQUUsd0JBQXdCLENBQUM7Q0FDOUI7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUMxQjtBQUVELE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxnQ0FBZ0M7SUFDL0MsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxNQUFNLFdBQVcseUJBQXlCO0lBQ3hDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0NBRWxDO0FBRUQsTUFBTSxXQUFXLGlCQUFpQjtDQUVqQztBQUVELE1BQU0sV0FBVyx1QkFBdUI7Q0FFdkM7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLEtBQUssRUFBRSxPQUFPLENBQUM7Q0FDaEI7QUFFRCxNQUFNLFdBQVcsa0JBQWtCO0lBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLG9DQUFvQztJQUNuRCxZQUFZLEVBQUUsTUFBTSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLCtCQUErQjtJQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQ2YsUUFBUSxFQUFFLFVBQVUsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUNwQixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUMxQjtBQUVELE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyw0QkFBNEI7SUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ3ZCO0FBRUQsTUFBTSxXQUFXLCtCQUErQjtJQUM5QyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxLQUFLLEVBQUUsYUFBYSxDQUFDO0NBQ3RCO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLDBCQUEwQjtJQUN6QyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsTUFBTSxXQUFXLGVBQWU7SUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELE1BQU0sV0FBVyxzQkFBc0I7SUFDckMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsS0FBSyxFQUFFLGFBQWEsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyxtQkFBbUI7SUFDbEMsS0FBSyxFQUFFLGFBQWEsQ0FBQztDQUN0QjtBQUVELE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO0NBQ3pCO0FBRUQsTUFBTSxXQUFXLDJCQUEyQjtJQUMxQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLHlCQUF5QjtJQUN4QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLG9CQUFvQjtJQUNuQyxLQUFLLEVBQUUsY0FBYyxDQUFDO0NBQ3ZCO0FBRUQsTUFBTSxXQUFXLDRCQUE0QjtJQUMzQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLDBCQUEwQjtJQUN6QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLFlBQVksRUFBRSxPQUFPLENBQUM7SUFDdEIsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsS0FBSyxFQUFFLFlBQVksQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVyxrQkFBa0I7SUFDakMsS0FBSyxFQUFFLFlBQVksQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMsU0FBUyxFQUFFLE9BQU8sQ0FBQztDQUNwQjtBQUVELE1BQU0sV0FBVyw2QkFBNkI7SUFDNUMsS0FBSyxFQUFFLFlBQVksQ0FBQztDQUNyQjtBQUVELE1BQU0sV0FBVywrQkFBK0I7SUFDOUMsU0FBUyxFQUFFLGFBQWEsQ0FBQztDQUMxQjtBQUVELE1BQU0sV0FBVyxpQ0FBaUM7SUFDaEQsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyw4QkFBOEI7SUFDN0MsUUFBUSxFQUFFLE9BQU8sQ0FBQztDQUNuQjtBQUVELE1BQU0sV0FBVyxzQ0FBc0M7SUFDckQsU0FBUyxFQUFFLGNBQWMsQ0FBQztDQUMzQjtBQUVELE1BQU0sV0FBVyxzQ0FBc0M7SUFDckQsU0FBUyxFQUFFLGNBQWMsQ0FBQztDQUMzQjtBQUVELE1BQU0sV0FBVyx3Q0FBd0M7SUFDdkQsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ1g7QUFFRCxNQUFNLFdBQVcsd0NBQXdDO0lBQ3ZELENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsTUFBTSxXQUFXLHNDQUFzQztJQUNyRCxTQUFTLEVBQUUsY0FBYyxDQUFDO0NBQzNCO0FBRUQsTUFBTSxXQUFXLHNDQUFzQztJQUNyRCxTQUFTLEVBQUUsY0FBYyxDQUFDO0NBQzNCO0FBRUQsTUFBTSxXQUFXLHFDQUFxQztJQUNwRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLHFDQUFxQztJQUNwRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsTUFBTSxXQUFXLGtCQUFrQjtJQUNqQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxNQUFNLFdBQVcsMEJBQTBCO0lBQ3pDLEtBQUssRUFBRSxNQUFNLENBQUM7Q0FDZjtBQUVELE1BQU0sV0FBVyxnQkFBZ0I7Q0FFaEM7QUFHRCxVQUFVLCtCQUErQjtJQUN2QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0lBQ2xCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSxtQkFBbUI7SUFDM0IsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLFFBQVEsRUFBRSxVQUFVLENBQUM7SUFDckIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0NBQzlCO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO0lBQzFCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixVQUFVLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLDJCQUEyQixFQUFFLE9BQU8sQ0FBQztDQUN0QztBQUVELFVBQVUsbUJBQW1CO0lBQzNCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztJQUM3QixPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQztDQUN0QztBQUVELFVBQVUsdUJBQXVCO0lBQy9CLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLEVBQUUsVUFBVSxDQUFDO0NBQ3RCO0FBRUQsVUFBVSx1QkFBdUI7SUFDL0IsT0FBTyxFQUFFLHVCQUF1QixDQUFDO0lBQ2pDLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQztDQUN0QztBQUVELFVBQVUsbUJBQW1CO0lBQzNCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztJQUM3Qix3QkFBd0IsRUFBRSxPQUFPLENBQUM7SUFDbEMsUUFBUSxFQUFFLDBCQUEwQixDQUFDO0NBQ3RDO0FBRUQsVUFBVSxvQkFBb0I7SUFDNUIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0lBQzdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM1QixLQUFLLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDcEIsUUFBUSxFQUFFLDBCQUEwQixDQUFDO0NBQ3RDO0FBRUQsVUFBVSwrQkFBK0I7SUFDdkMsT0FBTyxFQUFFLHVCQUF1QixDQUFDO0NBQ2xDO0FBRUQsVUFBVSx3QkFBd0I7SUFDaEMsT0FBTyxFQUFFLHVCQUF1QixDQUFDO0NBQ2xDO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsWUFBWSxFQUFFLE1BQU0sQ0FBQztDQUN0QjtBQUVELFVBQVUsZ0JBQWdCO0lBQ3hCLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztDQUM5QjtBQUVELFVBQVUsc0JBQXNCO0lBQzlCLE9BQU8sRUFBRSxVQUFVLENBQUM7Q0FDckI7QUFFRCxVQUFVLGlCQUFpQjtDQUUxQjtBQUVELFVBQVUsa0JBQWtCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDMUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3hCLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxDQUFDO0NBQ2hDO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsVUFBVSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3pCLFlBQVksRUFBRSxrQkFBa0IsQ0FBQztDQUNsQztBQUVELFVBQVUsa0JBQWtCO0lBQzFCLEtBQUssRUFBRSxpQkFBaUIsQ0FBQztJQUN6QixFQUFFLEVBQUUsVUFBVSxDQUFDO0NBQ2hCO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0NBQzlCO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0NBQzlCO0FBRUQsVUFBVSxtQ0FBbUM7SUFDM0MsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDO0lBQzdCLFFBQVEsRUFBRSwwQkFBMEIsQ0FBQztDQUN0QztBQUVELFVBQVUsOEJBQThCO0lBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztDQUM5QjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQztJQUNqQyx3QkFBd0IsRUFBRSxPQUFPLENBQUM7Q0FDbkM7QUFFRCxVQUFVLG9CQUFvQjtJQUM1QixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLDJCQUEyQjtJQUNuQyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLDhCQUE4QjtJQUN0QyxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLHFCQUFxQjtJQUM3QixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckIsVUFBVSxFQUFFLE1BQU0sQ0FBQztDQUNwQjtBQUVELFVBQVUsbUJBQW1CO0lBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNyQixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSxjQUFjO0lBQ3RCLElBQUksRUFBRSxVQUFVLENBQUM7Q0FDbEI7QUFFRCxVQUFVLHFCQUFxQjtJQUM3QixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsU0FBUyxFQUFFLFVBQVUsQ0FBQztJQUN0QixFQUFFLEVBQUUsVUFBVSxDQUFDO0lBQ2YsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixFQUFFLEVBQUUsVUFBVSxDQUFDO0lBQ2YsR0FBRyxFQUFFLFVBQVUsQ0FBQztJQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsVUFBVSxvQkFBb0I7SUFDNUIsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsa0JBQWtCO0lBQzFCLEtBQUssRUFBRSxvQkFBb0IsQ0FBQztJQUM1QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSxrQkFBa0I7SUFDMUIsT0FBTyxFQUFFLG9CQUFvQixDQUFDO0lBQzlCLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQztDQUMvQjtBQUVELFVBQVUsdUJBQXVCO0lBQy9CLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQy9CLE1BQU0sRUFBRSxVQUFVLENBQUM7Q0FDcEI7QUFFRCxVQUFVLDBCQUEwQjtJQUNsQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ2Y7QUFFRCxVQUFVLHdCQUF3QjtJQUNoQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsbUJBQW1CO0lBQzNCLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztJQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSwyQkFBMkI7SUFDbkMsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUsa0JBQWtCO0lBQzFCLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxVQUFVLGtCQUFrQjtJQUMxQixLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSxtQkFBbUI7SUFDM0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztJQUMzQixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSxtQkFBbUI7SUFDM0IsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzVCLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztDQUM3QjtBQUVELFVBQVUsaUJBQWlCO0lBQ3pCLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztJQUMzQixNQUFNLEVBQUUsVUFBVSxDQUFDO0NBQ3BCO0FBRUQsVUFBVSx1QkFBdUI7SUFDL0IsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0NBQzVCO0FBRUQsVUFBVSw0QkFBNEI7SUFDcEMsVUFBVSxFQUFFLFVBQVUsQ0FBQztDQUN4QjtBQUVELFVBQVUsOEJBQThCO0lBQ3RDLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLGdDQUFnQztJQUN4QyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLDZCQUE2QjtJQUNyQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQztJQUNqQyxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztDQUNmO0FBRUQsVUFBVSxxQ0FBcUM7SUFDN0MsV0FBVyxFQUFFLFVBQVUsQ0FBQztDQUN6QjtBQUVELFVBQVUscUNBQXFDO0lBQzdDLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLHVDQUF1QztJQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLHVDQUF1QztJQUMvQyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLFdBQVcsRUFBRSxVQUFVLENBQUM7Q0FDekI7QUFFRCxVQUFVLHFDQUFxQztJQUM3QyxPQUFPLEVBQUUsVUFBVSxDQUFDO0lBQ3BCLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSxxQ0FBcUM7SUFDN0MsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUNwQixDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELFVBQVUsb0NBQW9DO0lBQzVDLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsVUFBVSxFQUFFLHFCQUFxQixDQUFDO0lBQ2xDLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSxxQkFBcUI7SUFDN0IsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7Q0FDZjtBQUVELFVBQVUsb0NBQW9DO0lBQzVDLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFDcEIsVUFBVSxFQUFFLHFCQUFxQixDQUFDO0lBQ2xDLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNYO0FBRUQsVUFBVSxpQkFBaUI7SUFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN2QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFFBQVEsRUFBRSxVQUFVLENBQUM7Q0FDdEI7QUFFRCxVQUFVLHlCQUF5QjtJQUNqQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxNQUFNLENBQUM7Q0FDcEI7QUFFRCxVQUFVLGVBQWU7Q0FFeEI7QUFFRCxVQUFVLG9CQUFvQjtJQUM1QixPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ2pCO0FBRUQsVUFBVSwyQkFBMkI7SUFDbkMsYUFBYSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzVCLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUNwQixFQUFFLEVBQUUsK0JBQStCLENBQUM7Q0FDckM7QUFFRCxVQUFVLDBCQUEwQjtJQUNsQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUN6QixnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDNUI7QUFFRCxVQUFVLDRCQUE0QjtJQUNwQyxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsVUFBVSx1Q0FBdUM7SUFDL0MsS0FBSyxFQUFFLFVBQVUsQ0FBQztJQUNsQixNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdEI7QUFFRCxVQUFVLGdDQUFnQztJQUN4QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSx5QkFBeUI7Q0FFbEM7QUFFRCxVQUFVLHdCQUF3QjtDQUVqQztBQUVELFVBQVUsOEJBQThCO0NBRXZDO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLGlCQUFpQixDQUFDO0NBQzFCO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsS0FBSyxFQUFFLE9BQU8sQ0FBQztDQUNoQjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN0QjtBQUVELFVBQVUsNkJBQTZCO0lBQ3JDLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztDQUN0QjtBQUVELFVBQVUsMkNBQTJDO0lBQ25ELGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDdkI7QUFFRCxVQUFVLHNDQUFzQztJQUM5QyxLQUFLLEVBQUUsT0FBTyxDQUFDO0lBQ2YsU0FBUyxFQUFFLFVBQVUsQ0FBQztDQUN2QjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLFlBQVksRUFBRSxNQUFNLENBQUM7SUFDckIsWUFBWSxFQUFFLE1BQU0sQ0FBQztJQUNyQixnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUM1QjtBQUVELFVBQVUsNEJBQTRCO0lBQ3BDLElBQUksRUFBRSxVQUFVLENBQUM7Q0FDbEI7QUFFRCxVQUFVLG1DQUFtQztJQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7Q0FDdkI7QUFFRCxVQUFVLHNDQUFzQztJQUM5QyxJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSw2QkFBNkI7SUFDckMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO0NBQzdCO0FBRUQsVUFBVSwyQkFBMkI7SUFDbkMsSUFBSSxFQUFFLFVBQVUsQ0FBQztDQUNsQjtBQUVELFVBQVUsaUNBQWlDO0lBQ3pDLElBQUksRUFBRSxVQUFVLENBQUM7Q0FDbEI7QUFFRCxVQUFVLHNCQUFzQjtJQUM5QixJQUFJLEVBQUUsVUFBVSxDQUFDO0NBQ2xCO0FBRUQsVUFBVSw2QkFBNkI7SUFDckMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUseUJBQXlCO0lBQ2pDLFVBQVUsRUFBRSxVQUFVLENBQUM7Q0FDeEI7QUFFRCxVQUFVLHlCQUF5QjtJQUNqQyxTQUFTLEVBQUUsVUFBVSxDQUFDO0NBQ3ZCO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO0NBQzdCO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsS0FBSyxFQUFFLG9CQUFvQixDQUFDO0NBQzdCO0FBRUQsVUFBVSwrQkFBK0I7SUFDdkMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLENBQUM7Q0FDaEM7QUFFRCxVQUFVLGtDQUFrQztJQUMxQyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSxnQ0FBZ0M7SUFDeEMsS0FBSyxFQUFFLFVBQVUsQ0FBQztDQUNuQjtBQUVELFVBQVUsMkJBQTJCO0lBQ25DLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztDQUM5QjtBQUVELFVBQVUsbUNBQW1DO0lBQzNDLEtBQUssRUFBRSxVQUFVLENBQUM7Q0FDbkI7QUFFRCxVQUFVLGlDQUFpQztJQUN6QyxLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsY0FBYyxFQUFFLE9BQU8sQ0FBQztJQUN4QixLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSwwQkFBMEI7SUFDbEMsY0FBYyxFQUFFLE9BQU8sQ0FBQztJQUN4QixLQUFLLEVBQUUsVUFBVSxDQUFDO0NBQ25CO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0NBQzVCO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLG1CQUFtQixDQUFDO0NBQzVCO0FBRUQsVUFBVSwrQkFBK0I7SUFDdkMsV0FBVyxFQUFFLE9BQU8sQ0FBQztDQUN0QjtBQUVELFVBQVUsb0NBQW9DO0lBQzVDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQztDQUM1QjtBQUVELFVBQVUsc0NBQXNDO0lBQzlDLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQztDQUNsQztBQUVELFVBQVUsd0NBQXdDO0lBQ2hELENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsVUFBVSxDQUFDO0NBQ2Y7QUFFRCxVQUFVLHFDQUFxQztJQUM3QyxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsVUFBVSw2Q0FBNkM7SUFDckQsVUFBVSxFQUFFLHFCQUFxQixDQUFDO0NBQ25DO0FBRUQsVUFBVSw2Q0FBNkM7SUFDckQsVUFBVSxFQUFFLHFCQUFxQixDQUFDO0NBQ25DO0FBRUQsVUFBVSwrQ0FBK0M7SUFDdkQsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDZCxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ1g7QUFFRCxVQUFVLCtDQUErQztJQUN2RCxDQUFDLEVBQUUsVUFBVSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLFVBQVUsQ0FBQztJQUNkLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDWDtBQUVELFVBQVUsNkNBQTZDO0lBQ3JELFVBQVUsRUFBRSxxQkFBcUIsQ0FBQztDQUNuQztBQUVELFVBQVUsNkNBQTZDO0lBQ3JELFVBQVUsRUFBRSxxQkFBcUIsQ0FBQztDQUNuQztBQUVELFVBQVUsNENBQTRDO0lBQ3BELFFBQVEsRUFBRSxPQUFPLENBQUM7Q0FDbkI7QUFFRCxVQUFVLDRDQUE0QztJQUNwRCxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ25CO0FBRUQsVUFBVSx5QkFBeUI7SUFDakMsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmO0FBRUQsVUFBVSxpQ0FBaUM7SUFDekMsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUNmO0FBRUQsVUFBVSx1QkFBdUI7Q0FFaEM7QUFHRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLCtCQUErQixHQUFHLHdCQUF3QixDQVN2RztBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLFlBQVksQ0FTbkU7QUFFRCx3QkFBZ0IscUJBQXFCLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLG1CQUFtQixDQVd4RjtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLFlBQVksQ0FTbkU7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLGdCQUFnQixDQU8vRTtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLEdBQUcsZ0JBQWdCLENBTy9FO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsWUFBWSxDQVNuRTtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLGFBQWEsQ0FXdEU7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLCtCQUErQixHQUFHLHdCQUF3QixDQUt2RztBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEdBQUcsaUJBQWlCLENBS2xGO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsVUFBVSxDQUs3RDtBQUVELHdCQUFnQixXQUFXLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLFNBQVMsQ0FLMUQ7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixHQUFHLGVBQWUsQ0FLNUU7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBRTdEO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcsV0FBVyxDQVdoRTtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLFVBQVUsQ0FPN0Q7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxXQUFXLENBT2hFO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsVUFBVSxDQUs3RDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsY0FBYyxDQUt6RTtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsbUNBQW1DLEdBQUcsNEJBQTRCLENBT25IO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FLcEc7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBTzdEO0FBRUQsd0JBQWdCLGVBQWUsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsYUFBYSxDQUt0RTtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEdBQUcsb0JBQW9CLENBSzNGO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FLcEc7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixHQUFHLGNBQWMsQ0FPekU7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRyxZQUFZLENBT25FO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FPckY7QUFFRCx3QkFBZ0IsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUtwRDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsY0FBYyxDQUt6RTtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLFVBQVUsQ0FXN0Q7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBVzdEO0FBRUQsd0JBQWdCLGVBQWUsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsYUFBYSxDQU90RTtBQUVELHdCQUFnQixhQUFhLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLFdBQVcsQ0FPaEU7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxXQUFXLENBT2hFO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyxnQkFBZ0IsQ0FPL0U7QUFFRCx3QkFBZ0IscUJBQXFCLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLG1CQUFtQixDQUt4RjtBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEdBQUcsaUJBQWlCLENBS2xGO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxxQkFBcUIsR0FBRyxjQUFjLENBT3pFO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsWUFBWSxDQU9uRTtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEdBQUcsb0JBQW9CLENBSzNGO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxXQUFXLENBS2hFO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcsV0FBVyxDQUtoRTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLFlBQVksQ0FPbkU7QUFFRCx3QkFBZ0IsWUFBWSxDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyxVQUFVLENBTzdEO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsWUFBWSxDQU9uRTtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLFVBQVUsQ0FPN0Q7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLGdCQUFnQixDQUsvRTtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsNEJBQTRCLEdBQUcscUJBQXFCLENBSzlGO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FLcEc7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsQ0FBQyxFQUFFLGdDQUFnQyxHQUFHLHlCQUF5QixDQU8xRztBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsc0JBQXNCLENBV2pHO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw4QkFBOEIsQ0FLekg7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsQ0FBQyxFQUFFLHFDQUFxQyxHQUFHLDhCQUE4QixDQUt6SDtBQUVELHdCQUFnQixrQ0FBa0MsQ0FBQyxDQUFDLEVBQUUsdUNBQXVDLEdBQUcsZ0NBQWdDLENBTy9IO0FBRUQsd0JBQWdCLGtDQUFrQyxDQUFDLENBQUMsRUFBRSx1Q0FBdUMsR0FBRyxnQ0FBZ0MsQ0FPL0g7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsQ0FBQyxFQUFFLHFDQUFxQyxHQUFHLDhCQUE4QixDQVd6SDtBQUVELHdCQUFnQixnQ0FBZ0MsQ0FBQyxDQUFDLEVBQUUscUNBQXFDLEdBQUcsOEJBQThCLENBV3pIO0FBRUQsd0JBQWdCLCtCQUErQixDQUFDLENBQUMsRUFBRSxvQ0FBb0MsR0FBRyw2QkFBNkIsQ0FhdEg7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixHQUFHLGNBQWMsQ0FPekU7QUFFRCx3QkFBZ0IsK0JBQStCLENBQUMsQ0FBQyxFQUFFLG9DQUFvQyxHQUFHLDZCQUE2QixDQWF0SDtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLFVBQVUsQ0FTN0Q7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQU9yRjtBQUVELHdCQUFnQixVQUFVLENBQUMsQ0FBQyxFQUFFLGVBQWUsR0FBRyxRQUFRLENBRXZEO0FBRUQsd0JBQWdCLGVBQWUsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsYUFBYSxDQUt0RTtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsMkJBQTJCLEdBQUcsb0JBQW9CLENBUzNGO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FXeEY7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixHQUFHLHFCQUFxQixDQUs5RjtBQUVELHdCQUFnQixrQ0FBa0MsQ0FBQyxDQUFDLEVBQUUsdUNBQXVDLEdBQUcsZ0NBQWdDLENBTy9IO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx5QkFBeUIsQ0FLMUc7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUVyRjtBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEdBQUcsaUJBQWlCLENBRWxGO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyx1QkFBdUIsQ0FFcEc7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUtyRjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsbUJBQW1CLENBS3hGO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0Isd0JBQXdCLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixHQUFHLHNCQUFzQixDQUtqRztBQUVELHdCQUFnQixzQ0FBc0MsQ0FBQyxDQUFDLEVBQUUsMkNBQTJDLEdBQUcsb0NBQW9DLENBSzNJO0FBRUQsd0JBQWdCLGlDQUFpQyxDQUFDLENBQUMsRUFBRSxzQ0FBc0MsR0FBRywrQkFBK0IsQ0FPNUg7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQVNyRjtBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsNEJBQTRCLEdBQUcscUJBQXFCLENBSzlGO0FBRUQsd0JBQWdCLDhCQUE4QixDQUFDLENBQUMsRUFBRSxtQ0FBbUMsR0FBRyw0QkFBNEIsQ0FLbkg7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLCtCQUErQixDQUs1SDtBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsc0JBQXNCLENBS2pHO0FBRUQsd0JBQWdCLHNCQUFzQixDQUFDLENBQUMsRUFBRSwyQkFBMkIsR0FBRyxvQkFBb0IsQ0FLM0Y7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLGlDQUFpQyxHQUFHLDBCQUEwQixDQUs3RztBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEdBQUcsZUFBZSxDQUs1RTtBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCLEdBQUcsc0JBQXNCLENBS2pHO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUtyRjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsbUJBQW1CLENBS3hGO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSwwQkFBMEIsR0FBRyxtQkFBbUIsQ0FLeEY7QUFFRCx3QkFBZ0IsMEJBQTBCLENBQUMsQ0FBQyxFQUFFLCtCQUErQixHQUFHLHdCQUF3QixDQUt2RztBQUVELHdCQUFnQiw2QkFBNkIsQ0FBQyxDQUFDLEVBQUUsa0NBQWtDLEdBQUcsMkJBQTJCLENBS2hIO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx5QkFBeUIsQ0FLMUc7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLDJCQUEyQixHQUFHLG9CQUFvQixDQUszRjtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsbUNBQW1DLEdBQUcsNEJBQTRCLENBS25IO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLENBQUMsRUFBRSxpQ0FBaUMsR0FBRywwQkFBMEIsQ0FLN0c7QUFFRCx3QkFBZ0IscUJBQXFCLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLG1CQUFtQixDQU94RjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsbUJBQW1CLENBT3hGO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGtCQUFrQixDQUtyRjtBQUVELHdCQUFnQiwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsK0JBQStCLEdBQUcsd0JBQXdCLENBS3ZHO0FBRUQsd0JBQWdCLCtCQUErQixDQUFDLENBQUMsRUFBRSxvQ0FBb0MsR0FBRyw2QkFBNkIsQ0FLdEg7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLCtCQUErQixDQUs1SDtBQUVELHdCQUFnQixtQ0FBbUMsQ0FBQyxDQUFDLEVBQUUsd0NBQXdDLEdBQUcsaUNBQWlDLENBT2xJO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw4QkFBOEIsQ0FLekg7QUFFRCx3QkFBZ0Isd0NBQXdDLENBQUMsQ0FBQyxFQUFFLDZDQUE2QyxHQUFHLHNDQUFzQyxDQUtqSjtBQUVELHdCQUFnQix3Q0FBd0MsQ0FBQyxDQUFDLEVBQUUsNkNBQTZDLEdBQUcsc0NBQXNDLENBS2pKO0FBRUQsd0JBQWdCLDBDQUEwQyxDQUFDLENBQUMsRUFBRSwrQ0FBK0MsR0FBRyx3Q0FBd0MsQ0FTdko7QUFFRCx3QkFBZ0IsMENBQTBDLENBQUMsQ0FBQyxFQUFFLCtDQUErQyxHQUFHLHdDQUF3QyxDQVN2SjtBQUVELHdCQUFnQix3Q0FBd0MsQ0FBQyxDQUFDLEVBQUUsNkNBQTZDLEdBQUcsc0NBQXNDLENBS2pKO0FBRUQsd0JBQWdCLHdDQUF3QyxDQUFDLENBQUMsRUFBRSw2Q0FBNkMsR0FBRyxzQ0FBc0MsQ0FLako7QUFFRCx3QkFBZ0IsdUNBQXVDLENBQUMsQ0FBQyxFQUFFLDRDQUE0QyxHQUFHLHFDQUFxQyxDQUs5STtBQUVELHdCQUFnQix1Q0FBdUMsQ0FBQyxDQUFDLEVBQUUsNENBQTRDLEdBQUcscUNBQXFDLENBSzlJO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FLckY7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLGlDQUFpQyxHQUFHLDBCQUEwQixDQUs3RztBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsdUJBQXVCLEdBQUcsZ0JBQWdCLENBRS9FO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLENBQUMsRUFBRSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FTekc7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxtQkFBbUIsQ0FTckU7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQVcxRjtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQVNyRTtBQUVELHdCQUFnQixvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEdBQUcsdUJBQXVCLENBT2pGO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FPakY7QUFFRCx3QkFBZ0IsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFlBQVksR0FBRyxtQkFBbUIsQ0FTckU7QUFFRCx3QkFBZ0IsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLGFBQWEsR0FBRyxvQkFBb0IsQ0FXeEU7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixHQUFHLCtCQUErQixDQUt6RztBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsd0JBQXdCLENBS3BGO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQUsvRDtBQUVELHdCQUFnQixhQUFhLENBQUMsQ0FBQyxFQUFFLFNBQVMsR0FBRyxnQkFBZ0IsQ0FLNUQ7QUFFRCx3QkFBZ0IsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLGVBQWUsR0FBRyxzQkFBc0IsQ0FLOUU7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBRS9EO0FBRUQsd0JBQWdCLGVBQWUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxHQUFHLGtCQUFrQixDQVdsRTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FPL0Q7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsa0JBQWtCLENBT2xFO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQUsvRDtBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsY0FBYyxHQUFHLHFCQUFxQixDQUszRTtBQUVELHdCQUFnQixnQ0FBZ0MsQ0FBQyxDQUFDLEVBQUUsNEJBQTRCLEdBQUcsbUNBQW1DLENBT3JIO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyw4QkFBOEIsQ0FLdEc7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBTy9EO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLENBQUMsRUFBRSxhQUFhLEdBQUcsb0JBQW9CLENBS3hFO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FLN0Y7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLDhCQUE4QixDQUt0RztBQUVELHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLEVBQUUsY0FBYyxHQUFHLHFCQUFxQixDQU8zRTtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQU9yRTtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBT3ZGO0FBRUQsd0JBQWdCLFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLGNBQWMsQ0FLdEQ7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxxQkFBcUIsQ0FLM0U7QUFFRCx3QkFBZ0IsY0FBYyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsaUJBQWlCLENBVy9EO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQVcvRDtBQUVELHdCQUFnQixpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsYUFBYSxHQUFHLG9CQUFvQixDQU94RTtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxrQkFBa0IsQ0FPbEU7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsa0JBQWtCLENBT2xFO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FPakY7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQUsxRjtBQUVELHdCQUFnQixxQkFBcUIsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsd0JBQXdCLENBS3BGO0FBRUQsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsRUFBRSxjQUFjLEdBQUcscUJBQXFCLENBTzNFO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxZQUFZLEdBQUcsbUJBQW1CLENBT3JFO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FLN0Y7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxrQkFBa0IsQ0FLbEU7QUFFRCx3QkFBZ0IsZUFBZSxDQUFDLENBQUMsRUFBRSxXQUFXLEdBQUcsa0JBQWtCLENBS2xFO0FBRUQsd0JBQWdCLGdCQUFnQixDQUFDLENBQUMsRUFBRSxZQUFZLEdBQUcsbUJBQW1CLENBT3JFO0FBRUQsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQU8vRDtBQUVELHdCQUFnQixnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLG1CQUFtQixDQU9yRTtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FPL0Q7QUFFRCx3QkFBZ0Isb0JBQW9CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixHQUFHLHVCQUF1QixDQUtqRjtBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsNEJBQTRCLENBS2hHO0FBRUQsd0JBQWdCLDJCQUEyQixDQUFDLENBQUMsRUFBRSx1QkFBdUIsR0FBRyw4QkFBOEIsQ0FLdEc7QUFFRCx3QkFBZ0IsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGdDQUFnQyxDQU81RztBQUVELHdCQUFnQiwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEdBQUcsNkJBQTZCLENBV25HO0FBRUQsd0JBQWdCLGtDQUFrQyxDQUFDLENBQUMsRUFBRSw4QkFBOEIsR0FBRyxxQ0FBcUMsQ0FLM0g7QUFFRCx3QkFBZ0Isa0NBQWtDLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixHQUFHLHFDQUFxQyxDQUszSDtBQUVELHdCQUFnQixvQ0FBb0MsQ0FBQyxDQUFDLEVBQUUsZ0NBQWdDLEdBQUcsdUNBQXVDLENBT2pJO0FBRUQsd0JBQWdCLG9DQUFvQyxDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx1Q0FBdUMsQ0FPakk7QUFFRCx3QkFBZ0Isa0NBQWtDLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixHQUFHLHFDQUFxQyxDQVczSDtBQUVELHdCQUFnQixrQ0FBa0MsQ0FBQyxDQUFDLEVBQUUsOEJBQThCLEdBQUcscUNBQXFDLENBVzNIO0FBRUQsd0JBQWdCLGlDQUFpQyxDQUFDLENBQUMsRUFBRSw2QkFBNkIsR0FBRyxvQ0FBb0MsQ0FheEg7QUFFRCx3QkFBZ0Isa0JBQWtCLENBQUMsQ0FBQyxFQUFFLGNBQWMsR0FBRyxxQkFBcUIsQ0FPM0U7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixHQUFHLG9DQUFvQyxDQWF4SDtBQUVELHdCQUFnQixjQUFjLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsQ0FTL0Q7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQU92RjtBQUVELHdCQUFnQixZQUFZLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxlQUFlLENBRXpEO0FBRUQsd0JBQWdCLGlCQUFpQixDQUFDLENBQUMsRUFBRSxhQUFhLEdBQUcsb0JBQW9CLENBS3hFO0FBRUQsd0JBQWdCLHdCQUF3QixDQUFDLENBQUMsRUFBRSxvQkFBb0IsR0FBRywyQkFBMkIsQ0FTN0Y7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQVcxRjtBQUVELHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsNEJBQTRCLENBS2hHO0FBRUQsd0JBQWdCLG9DQUFvQyxDQUFDLENBQUMsRUFBRSxnQ0FBZ0MsR0FBRyx1Q0FBdUMsQ0FPakk7QUFFRCx3QkFBZ0IsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGdDQUFnQyxDQUs1RztBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBRXZGO0FBRUQsd0JBQWdCLHFCQUFxQixDQUFDLENBQUMsRUFBRSxpQkFBaUIsR0FBRyx3QkFBd0IsQ0FFcEY7QUFFRCx3QkFBZ0IsMkJBQTJCLENBQUMsQ0FBQyxFQUFFLHVCQUF1QixHQUFHLDhCQUE4QixDQUV0RztBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBS3ZGO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FLMUY7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQiwwQkFBMEIsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEdBQUcsNkJBQTZCLENBS25HO0FBRUQsd0JBQWdCLHdDQUF3QyxDQUFDLENBQUMsRUFBRSxvQ0FBb0MsR0FBRywyQ0FBMkMsQ0FLN0k7QUFFRCx3QkFBZ0IsbUNBQW1DLENBQUMsQ0FBQyxFQUFFLCtCQUErQixHQUFHLHNDQUFzQyxDQU85SDtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBU3ZGO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFBRSxxQkFBcUIsR0FBRyw0QkFBNEIsQ0FLaEc7QUFFRCx3QkFBZ0IsZ0NBQWdDLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixHQUFHLG1DQUFtQyxDQUtySDtBQUVELHdCQUFnQixtQ0FBbUMsQ0FBQyxDQUFDLEVBQUUsK0JBQStCLEdBQUcsc0NBQXNDLENBSzlIO0FBRUQsd0JBQWdCLDBCQUEwQixDQUFDLENBQUMsRUFBRSxzQkFBc0IsR0FBRyw2QkFBNkIsQ0FLbkc7QUFFRCx3QkFBZ0Isd0JBQXdCLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixHQUFHLDJCQUEyQixDQUs3RjtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsaUNBQWlDLENBSy9HO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLENBQUMsRUFBRSxlQUFlLEdBQUcsc0JBQXNCLENBSzlFO0FBRUQsd0JBQWdCLDBCQUEwQixDQUFDLENBQUMsRUFBRSxzQkFBc0IsR0FBRyw2QkFBNkIsQ0FLbkc7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBS3ZGO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FLMUY7QUFFRCx3QkFBZ0IsdUJBQXVCLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixHQUFHLDBCQUEwQixDQUsxRjtBQUVELHdCQUFnQiw0QkFBNEIsQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLEdBQUcsK0JBQStCLENBS3pHO0FBRUQsd0JBQWdCLCtCQUErQixDQUFDLENBQUMsRUFBRSwyQkFBMkIsR0FBRyxrQ0FBa0MsQ0FLbEg7QUFFRCx3QkFBZ0IsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixHQUFHLGdDQUFnQyxDQUs1RztBQUVELHdCQUFnQix3QkFBd0IsQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsMkJBQTJCLENBSzdGO0FBRUQsd0JBQWdCLGdDQUFnQyxDQUFDLENBQUMsRUFBRSw0QkFBNEIsR0FBRyxtQ0FBbUMsQ0FLckg7QUFFRCx3QkFBZ0IsOEJBQThCLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixHQUFHLGlDQUFpQyxDQUsvRztBQUVELHdCQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEdBQUcsMEJBQTBCLENBTzFGO0FBRUQsd0JBQWdCLHVCQUF1QixDQUFDLENBQUMsRUFBRSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FPMUY7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEdBQUcseUJBQXlCLENBS3ZGO0FBRUQsd0JBQWdCLDRCQUE0QixDQUFDLENBQUMsRUFBRSx3QkFBd0IsR0FBRywrQkFBK0IsQ0FLekc7QUFFRCx3QkFBZ0IsaUNBQWlDLENBQUMsQ0FBQyxFQUFFLDZCQUE2QixHQUFHLG9DQUFvQyxDQUt4SDtBQUVELHdCQUFnQixtQ0FBbUMsQ0FBQyxDQUFDLEVBQUUsK0JBQStCLEdBQUcsc0NBQXNDLENBSzlIO0FBRUQsd0JBQWdCLHFDQUFxQyxDQUFDLENBQUMsRUFBRSxpQ0FBaUMsR0FBRyx3Q0FBd0MsQ0FPcEk7QUFFRCx3QkFBZ0Isa0NBQWtDLENBQUMsQ0FBQyxFQUFFLDhCQUE4QixHQUFHLHFDQUFxQyxDQUszSDtBQUVELHdCQUFnQiwwQ0FBMEMsQ0FBQyxDQUFDLEVBQUUsc0NBQXNDLEdBQUcsNkNBQTZDLENBS25KO0FBRUQsd0JBQWdCLDBDQUEwQyxDQUFDLENBQUMsRUFBRSxzQ0FBc0MsR0FBRyw2Q0FBNkMsQ0FLbko7QUFFRCx3QkFBZ0IsNENBQTRDLENBQUMsQ0FBQyxFQUFFLHdDQUF3QyxHQUFHLCtDQUErQyxDQVN6SjtBQUVELHdCQUFnQiw0Q0FBNEMsQ0FBQyxDQUFDLEVBQUUsd0NBQXdDLEdBQUcsK0NBQStDLENBU3pKO0FBRUQsd0JBQWdCLDBDQUEwQyxDQUFDLENBQUMsRUFBRSxzQ0FBc0MsR0FBRyw2Q0FBNkMsQ0FLbko7QUFFRCx3QkFBZ0IsMENBQTBDLENBQUMsQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLDZDQUE2QyxDQUtuSjtBQUVELHdCQUFnQix5Q0FBeUMsQ0FBQyxDQUFDLEVBQUUscUNBQXFDLEdBQUcsNENBQTRDLENBS2hKO0FBRUQsd0JBQWdCLHlDQUF5QyxDQUFDLENBQUMsRUFBRSxxQ0FBcUMsR0FBRyw0Q0FBNEMsQ0FLaEo7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixHQUFHLHlCQUF5QixDQUt2RjtBQUVELHdCQUFnQiw4QkFBOEIsQ0FBQyxDQUFDLEVBQUUsMEJBQTBCLEdBQUcsaUNBQWlDLENBSy9HO0FBRUQsd0JBQWdCLG9CQUFvQixDQUFDLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FFakY7QUFHRCxNQUFNLFdBQVcsU0FBUztJQUN4QixZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNuRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDL0UsWUFBWSxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEUsYUFBYSxDQUFDLE9BQU8sRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDdEUsd0JBQXdCLENBQUMsT0FBTyxFQUFFLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ3ZHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNsRixVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMxRCxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUM1RSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxXQUFXLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxjQUFjLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RSw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsNEJBQTRCLEdBQUcsT0FBTyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDbkgsdUJBQXVCLENBQUMsT0FBTyxFQUFFLHVCQUF1QixHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ3BHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELGFBQWEsQ0FBQyxPQUFPLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3RFLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMzRix1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsdUJBQXVCLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDcEcsY0FBYyxDQUFDLE9BQU8sRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekUsWUFBWSxDQUFDLE9BQU8sRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDbkUsa0JBQWtCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3JGLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNwRCxjQUFjLENBQUMsT0FBTyxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RSxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxXQUFXLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxXQUFXLENBQUMsT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNoRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDL0UsbUJBQW1CLENBQUMsT0FBTyxFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ3hGLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNsRixZQUFZLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNuRSxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDM0Ysa0JBQWtCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixHQUFHLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ3JGLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hFLFdBQVcsQ0FBQyxPQUFPLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2hFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELFVBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzdELGdCQUFnQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUMvRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLEdBQUcsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDOUYsdUJBQXVCLENBQUMsT0FBTyxFQUFFLHVCQUF1QixHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ3BHLHlCQUF5QixDQUFDLE9BQU8sRUFBRSx5QkFBeUIsR0FBRyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUMxRyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEdBQUcsT0FBTyxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFDakcsOEJBQThCLENBQUMsT0FBTyxFQUFFLDhCQUE4QixHQUFHLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3pILDhCQUE4QixDQUFDLE9BQU8sRUFBRSw4QkFBOEIsR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN6SCxnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUsZ0NBQWdDLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDL0gsZ0NBQWdDLENBQUMsT0FBTyxFQUFFLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQy9ILDhCQUE4QixDQUFDLE9BQU8sRUFBRSw4QkFBOEIsR0FBRyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztJQUN6SCw4QkFBOEIsQ0FBQyxPQUFPLEVBQUUsOEJBQThCLEdBQUcsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDekgsNkJBQTZCLENBQUMsT0FBTyxFQUFFLDZCQUE2QixHQUFHLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3RILDZCQUE2QixDQUFDLE9BQU8sRUFBRSw2QkFBNkIsR0FBRyxPQUFPLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN0SCxVQUFVLENBQUMsT0FBTyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM3RCxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEdBQUcsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDckYsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdkQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUMxQiJ9
|