@inco/js 0.1.31 → 0.1.32

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.
Files changed (89) hide show
  1. package/dist/binary.js +67 -0
  2. package/dist/chain.js +24 -0
  3. package/dist/encryption/encryption.js +98 -0
  4. package/dist/encryption/index.js +2 -0
  5. package/dist/fhevm/fhe-environment.js +8 -0
  6. package/dist/fhevm/fhevm.js +139 -0
  7. package/dist/fhevm/index.js +2 -0
  8. package/dist/fhevm/reencrypt.js +123 -0
  9. package/dist/fhevm/tfhe.js +324 -0
  10. package/dist/fhevm/types.js +26 -0
  11. package/dist/generated/abis/addTwo.js +59 -0
  12. package/dist/generated/abis/inco-fhevm.js +6242 -0
  13. package/dist/generated/abis/index.js +3 -0
  14. package/dist/generated/abis/lightning.js +12489 -0
  15. package/dist/generated/es/cosmos/ics23/v1/proofs_pb.js +198 -0
  16. package/dist/generated/es/cosmos/msg/v1/msg_pb.js +33 -0
  17. package/dist/generated/es/cosmos_proto/cosmos_pb.js +115 -0
  18. package/dist/generated/es/google/api/annotations_pb.js +27 -0
  19. package/dist/generated/es/google/api/http_pb.js +34 -0
  20. package/dist/generated/es/inco/fhe/v1/events_pb.js +21 -0
  21. package/dist/generated/es/inco/fhe/v1/genesis_pb.js +46 -0
  22. package/dist/generated/es/inco/fhe/v1/query_pb.js +108 -0
  23. package/dist/generated/es/inco/fhe/v1/tx_pb.js +108 -0
  24. package/dist/generated/es/inco/fhe/v1/types_pb.js +133 -0
  25. package/dist/generated/es/inco/kms/lite/v1/kms_service_pb.js +43 -0
  26. package/dist/generated/es/inco/kms/lite/v1/types_pb.js +44 -0
  27. package/dist/generated/es/inco/preflight/v1/genesis_pb.js +20 -0
  28. package/dist/generated/es/inco/preflight/v1/query_pb.js +38 -0
  29. package/dist/generated/es/inco/preflight/v1/tx_pb.js +48 -0
  30. package/dist/generated/es/inco/preflight/v1/types_pb.js +34 -0
  31. package/dist/generated/es/kms/base_pb.js +238 -0
  32. package/dist/generated/es/sf/ethereum/type/v2/type_pb.js +571 -0
  33. package/dist/generated/fhe-environments.js +15 -0
  34. package/dist/generated/lightning.js +399 -0
  35. package/dist/generated/local-node.js +8 -0
  36. package/dist/generated/ts/amino/amino.js +8 -0
  37. package/dist/generated/ts/cometbft/abci/v1/types.js +5063 -0
  38. package/dist/generated/ts/cometbft/crypto/v1/keys.js +105 -0
  39. package/dist/generated/ts/cometbft/crypto/v1/proof.js +430 -0
  40. package/dist/generated/ts/cometbft/types/v1/params.js +713 -0
  41. package/dist/generated/ts/cometbft/types/v1/validator.js +353 -0
  42. package/dist/generated/ts/cosmos/app/v1alpha1/module.js +218 -0
  43. package/dist/generated/ts/cosmos/msg/v1/msg.js +8 -0
  44. package/dist/generated/ts/cosmos_proto/cosmos.js +211 -0
  45. package/dist/generated/ts/gogoproto/gogo.js +8 -0
  46. package/dist/generated/ts/google/api/annotations.js +8 -0
  47. package/dist/generated/ts/google/api/http.js +353 -0
  48. package/dist/generated/ts/google/protobuf/descriptor.js +5070 -0
  49. package/dist/generated/ts/google/protobuf/duration.js +90 -0
  50. package/dist/generated/ts/google/protobuf/timestamp.js +90 -0
  51. package/dist/generated/ts/google/protobuf/wrappers.js +506 -0
  52. package/dist/generated/ts/inco/abci/v1/types.js +70 -0
  53. package/dist/generated/ts/inco/fhe/module/v1/module.js +63 -0
  54. package/dist/generated/ts/inco/fhe/v1/events.js +187 -0
  55. package/dist/generated/ts/inco/fhe/v1/genesis.js +711 -0
  56. package/dist/generated/ts/inco/fhe/v1/query.js +1391 -0
  57. package/dist/generated/ts/inco/fhe/v1/tx.js +1233 -0
  58. package/dist/generated/ts/inco/fhe/v1/types.js +985 -0
  59. package/dist/generated/ts/inco/originchain/module/v1/module.js +63 -0
  60. package/dist/generated/ts/inco/originchain/v1/abci.js +328 -0
  61. package/dist/generated/ts/inco/originchain/v1/events.js +213 -0
  62. package/dist/generated/ts/inco/originchain/v1/genesis.js +66 -0
  63. package/dist/generated/ts/inco/originchain/v1/query.js +277 -0
  64. package/dist/generated/ts/inco/originchain/v1/tx.js +137 -0
  65. package/dist/generated/ts/inco/originchain/v1/types.js +200 -0
  66. package/dist/generated/ts/inco/preflight/module/v1/module.js +63 -0
  67. package/dist/generated/ts/inco/preflight/v1/genesis.js +182 -0
  68. package/dist/generated/ts/inco/preflight/v1/query.js +256 -0
  69. package/dist/generated/ts/inco/preflight/v1/tx.js +445 -0
  70. package/dist/generated/ts/inco/preflight/v1/types.js +395 -0
  71. package/dist/handle.js +94 -0
  72. package/dist/index.js +6 -0
  73. package/dist/l1/client.js +93 -0
  74. package/dist/l1/index.js +3 -0
  75. package/dist/l1/preflight.js +39 -0
  76. package/dist/lite/deployments.js +17 -0
  77. package/dist/lite/ecies.js +124 -0
  78. package/dist/lite/hadu.js +36 -0
  79. package/dist/lite/index.js +7 -0
  80. package/dist/lite/lightning.js +179 -0
  81. package/dist/lite/reencrypt.js +129 -0
  82. package/dist/local/index.js +2 -0
  83. package/dist/local/local-node.js +24 -0
  84. package/dist/reencryption/eip712.js +81 -0
  85. package/dist/reencryption/index.js +3 -0
  86. package/dist/reencryption/types.js +2 -0
  87. package/dist/schema.js +15 -0
  88. package/dist/viem.js +8 -0
  89. package/package.json +11 -48
@@ -0,0 +1,256 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.7.0
4
+ // protoc unknown
5
+ // source: inco/preflight/v1/query.proto
6
+ /* eslint-disable */
7
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
+ import { makeGenericClientConstructor, } from "@grpc/grpc-js";
9
+ import { InputRegistration, Params } from "./types";
10
+ export const protobufPackage = "inco.preflight.v1";
11
+ function createBaseInputRegistrationRequest() {
12
+ return { handle: new Uint8Array(0) };
13
+ }
14
+ export const InputRegistrationRequest = {
15
+ encode(message, writer = new BinaryWriter()) {
16
+ if (message.handle.length !== 0) {
17
+ writer.uint32(10).bytes(message.handle);
18
+ }
19
+ return writer;
20
+ },
21
+ decode(input, length) {
22
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
23
+ let end = length === undefined ? reader.len : reader.pos + length;
24
+ const message = createBaseInputRegistrationRequest();
25
+ while (reader.pos < end) {
26
+ const tag = reader.uint32();
27
+ switch (tag >>> 3) {
28
+ case 1: {
29
+ if (tag !== 10) {
30
+ break;
31
+ }
32
+ message.handle = reader.bytes();
33
+ continue;
34
+ }
35
+ }
36
+ if ((tag & 7) === 4 || tag === 0) {
37
+ break;
38
+ }
39
+ reader.skip(tag & 7);
40
+ }
41
+ return message;
42
+ },
43
+ fromJSON(object) {
44
+ return { handle: isSet(object.handle) ? bytesFromBase64(object.handle) : new Uint8Array(0) };
45
+ },
46
+ toJSON(message) {
47
+ const obj = {};
48
+ if (message.handle.length !== 0) {
49
+ obj.handle = base64FromBytes(message.handle);
50
+ }
51
+ return obj;
52
+ },
53
+ create(base) {
54
+ return InputRegistrationRequest.fromPartial(base ?? {});
55
+ },
56
+ fromPartial(object) {
57
+ const message = createBaseInputRegistrationRequest();
58
+ message.handle = object.handle ?? new Uint8Array(0);
59
+ return message;
60
+ },
61
+ };
62
+ function createBaseInputRegistrationResponse() {
63
+ return { registration: undefined };
64
+ }
65
+ export const InputRegistrationResponse = {
66
+ encode(message, writer = new BinaryWriter()) {
67
+ if (message.registration !== undefined) {
68
+ InputRegistration.encode(message.registration, writer.uint32(10).fork()).join();
69
+ }
70
+ return writer;
71
+ },
72
+ decode(input, length) {
73
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
74
+ let end = length === undefined ? reader.len : reader.pos + length;
75
+ const message = createBaseInputRegistrationResponse();
76
+ while (reader.pos < end) {
77
+ const tag = reader.uint32();
78
+ switch (tag >>> 3) {
79
+ case 1: {
80
+ if (tag !== 10) {
81
+ break;
82
+ }
83
+ message.registration = InputRegistration.decode(reader, reader.uint32());
84
+ continue;
85
+ }
86
+ }
87
+ if ((tag & 7) === 4 || tag === 0) {
88
+ break;
89
+ }
90
+ reader.skip(tag & 7);
91
+ }
92
+ return message;
93
+ },
94
+ fromJSON(object) {
95
+ return { registration: isSet(object.registration) ? InputRegistration.fromJSON(object.registration) : undefined };
96
+ },
97
+ toJSON(message) {
98
+ const obj = {};
99
+ if (message.registration !== undefined) {
100
+ obj.registration = InputRegistration.toJSON(message.registration);
101
+ }
102
+ return obj;
103
+ },
104
+ create(base) {
105
+ return InputRegistrationResponse.fromPartial(base ?? {});
106
+ },
107
+ fromPartial(object) {
108
+ const message = createBaseInputRegistrationResponse();
109
+ message.registration = (object.registration !== undefined && object.registration !== null)
110
+ ? InputRegistration.fromPartial(object.registration)
111
+ : undefined;
112
+ return message;
113
+ },
114
+ };
115
+ function createBaseParamsRequest() {
116
+ return {};
117
+ }
118
+ export const ParamsRequest = {
119
+ encode(_, writer = new BinaryWriter()) {
120
+ return writer;
121
+ },
122
+ decode(input, length) {
123
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
124
+ let end = length === undefined ? reader.len : reader.pos + length;
125
+ const message = createBaseParamsRequest();
126
+ while (reader.pos < end) {
127
+ const tag = reader.uint32();
128
+ switch (tag >>> 3) {
129
+ }
130
+ if ((tag & 7) === 4 || tag === 0) {
131
+ break;
132
+ }
133
+ reader.skip(tag & 7);
134
+ }
135
+ return message;
136
+ },
137
+ fromJSON(_) {
138
+ return {};
139
+ },
140
+ toJSON(_) {
141
+ const obj = {};
142
+ return obj;
143
+ },
144
+ create(base) {
145
+ return ParamsRequest.fromPartial(base ?? {});
146
+ },
147
+ fromPartial(_) {
148
+ const message = createBaseParamsRequest();
149
+ return message;
150
+ },
151
+ };
152
+ function createBaseParamsResponse() {
153
+ return { params: undefined };
154
+ }
155
+ export const ParamsResponse = {
156
+ encode(message, writer = new BinaryWriter()) {
157
+ if (message.params !== undefined) {
158
+ Params.encode(message.params, writer.uint32(10).fork()).join();
159
+ }
160
+ return writer;
161
+ },
162
+ decode(input, length) {
163
+ const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
164
+ let end = length === undefined ? reader.len : reader.pos + length;
165
+ const message = createBaseParamsResponse();
166
+ while (reader.pos < end) {
167
+ const tag = reader.uint32();
168
+ switch (tag >>> 3) {
169
+ case 1: {
170
+ if (tag !== 10) {
171
+ break;
172
+ }
173
+ message.params = Params.decode(reader, reader.uint32());
174
+ continue;
175
+ }
176
+ }
177
+ if ((tag & 7) === 4 || tag === 0) {
178
+ break;
179
+ }
180
+ reader.skip(tag & 7);
181
+ }
182
+ return message;
183
+ },
184
+ fromJSON(object) {
185
+ return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined };
186
+ },
187
+ toJSON(message) {
188
+ const obj = {};
189
+ if (message.params !== undefined) {
190
+ obj.params = Params.toJSON(message.params);
191
+ }
192
+ return obj;
193
+ },
194
+ create(base) {
195
+ return ParamsResponse.fromPartial(base ?? {});
196
+ },
197
+ fromPartial(object) {
198
+ const message = createBaseParamsResponse();
199
+ message.params = (object.params !== undefined && object.params !== null)
200
+ ? Params.fromPartial(object.params)
201
+ : undefined;
202
+ return message;
203
+ },
204
+ };
205
+ export const QueryService = {
206
+ /** InputRegistration returns the input registration for a given handle. */
207
+ inputRegistration: {
208
+ path: "/inco.preflight.v1.Query/InputRegistration",
209
+ requestStream: false,
210
+ responseStream: false,
211
+ requestSerialize: (value) => Buffer.from(InputRegistrationRequest.encode(value).finish()),
212
+ requestDeserialize: (value) => InputRegistrationRequest.decode(value),
213
+ responseSerialize: (value) => Buffer.from(InputRegistrationResponse.encode(value).finish()),
214
+ responseDeserialize: (value) => InputRegistrationResponse.decode(value),
215
+ },
216
+ /** Params returns the parameters of the x/preflight module. */
217
+ params: {
218
+ path: "/inco.preflight.v1.Query/Params",
219
+ requestStream: false,
220
+ responseStream: false,
221
+ requestSerialize: (value) => Buffer.from(ParamsRequest.encode(value).finish()),
222
+ requestDeserialize: (value) => ParamsRequest.decode(value),
223
+ responseSerialize: (value) => Buffer.from(ParamsResponse.encode(value).finish()),
224
+ responseDeserialize: (value) => ParamsResponse.decode(value),
225
+ },
226
+ };
227
+ export const QueryClient = makeGenericClientConstructor(QueryService, "inco.preflight.v1.Query");
228
+ function bytesFromBase64(b64) {
229
+ if (globalThis.Buffer) {
230
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
231
+ }
232
+ else {
233
+ const bin = globalThis.atob(b64);
234
+ const arr = new Uint8Array(bin.length);
235
+ for (let i = 0; i < bin.length; ++i) {
236
+ arr[i] = bin.charCodeAt(i);
237
+ }
238
+ return arr;
239
+ }
240
+ }
241
+ function base64FromBytes(arr) {
242
+ if (globalThis.Buffer) {
243
+ return globalThis.Buffer.from(arr).toString("base64");
244
+ }
245
+ else {
246
+ const bin = [];
247
+ arr.forEach((byte) => {
248
+ bin.push(globalThis.String.fromCharCode(byte));
249
+ });
250
+ return globalThis.btoa(bin.join(""));
251
+ }
252
+ }
253
+ function isSet(value) {
254
+ return value !== null && value !== undefined;
255
+ }
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3RzL2luY28vcHJlZmxpZ2h0L3YxL3F1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyx3Q0FBd0M7QUFFeEMsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckUsT0FBTyxFQU9MLDRCQUE0QixHQUk3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBQztBQTJCbkQsU0FBUyxrQ0FBa0M7SUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBeUM7SUFDNUUsTUFBTSxDQUFDLE9BQWlDLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDakYsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsSUFBSSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDbEUsTUFBTSxPQUFPLEdBQUcsa0NBQWtDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNoQyxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9GLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBaUM7UUFDdEMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsR0FBRyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQTRELElBQVE7UUFDeEUsT0FBTyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFDRCxXQUFXLENBQTRELE1BQVM7UUFDOUUsTUFBTSxPQUFPLEdBQUcsa0NBQWtDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLG1DQUFtQztJQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBMEM7SUFDOUUsTUFBTSxDQUFDLE9BQWtDLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDbEYsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsRixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxtQ0FBbUMsRUFBRSxDQUFDO1FBQ3RELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUN6RSxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWtDO1FBQ3ZDLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkMsR0FBRyxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQTZELElBQVE7UUFDekUsT0FBTyx5QkFBeUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFDRCxXQUFXLENBQTZELE1BQVM7UUFDL0UsTUFBTSxPQUFPLEdBQUcsbUNBQW1DLEVBQUUsQ0FBQztRQUN0RCxPQUFPLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUM7WUFDeEYsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO1lBQ3BELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsdUJBQXVCO0lBQzlCLE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBOEI7SUFDdEQsTUFBTSxDQUFDLENBQWdCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDaEUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyx1QkFBdUIsRUFBRSxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQWdCO1FBQ3JCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQWlELElBQVE7UUFDN0QsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsV0FBVyxDQUFpRCxDQUFJO1FBQzlELE1BQU0sT0FBTyxHQUFHLHVCQUF1QixFQUFFLENBQUM7UUFDMUMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLHdCQUF3QjtJQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQStCO0lBQ3hELE1BQU0sQ0FBQyxPQUF1QixFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQ3ZFLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pFLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2xFLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixFQUFFLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUN4RCxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkYsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUF1QjtRQUM1QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBa0QsSUFBUTtRQUM5RCxPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxXQUFXLENBQWtELE1BQVM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUM7WUFDdEUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNuQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ2QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFJRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDMUIsMkVBQTJFO0lBQzNFLGlCQUFpQixFQUFFO1FBQ2pCLElBQUksRUFBRSw0Q0FBNEM7UUFDbEQsYUFBYSxFQUFFLEtBQUs7UUFDcEIsY0FBYyxFQUFFLEtBQUs7UUFDckIsZ0JBQWdCLEVBQUUsQ0FBQyxLQUErQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuSCxrQkFBa0IsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUM3RSxpQkFBaUIsRUFBRSxDQUFDLEtBQWdDLEVBQUUsRUFBRSxDQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvRCxtQkFBbUIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztLQUNoRjtJQUNELCtEQUErRDtJQUMvRCxNQUFNLEVBQUU7UUFDTixJQUFJLEVBQUUsaUNBQWlDO1FBQ3ZDLGFBQWEsRUFBRSxLQUFLO1FBQ3BCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLGdCQUFnQixFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdGLGtCQUFrQixFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNsRSxpQkFBaUIsRUFBRSxDQUFDLEtBQXFCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoRyxtQkFBbUIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDckU7Q0FDTyxDQUFDO0FBNENYLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyw0QkFBNEIsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBSTlGLENBQUM7QUFFRixTQUFTLGVBQWUsQ0FBQyxHQUFXO0lBQ2xDLElBQUssVUFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsR0FBZTtJQUN0QyxJQUFLLFVBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0IsT0FBTyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7UUFDekIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztBQUNILENBQUM7QUFjRCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMifQ==