@layerzerolabs/lz-v2-stellar-sdk 0.2.8 → 0.2.10

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.
@@ -0,0 +1,843 @@
1
+ import { Buffer } from "buffer";
2
+ import { Address } from '@stellar/stellar-sdk';
3
+ import {
4
+ AssembledTransaction,
5
+ Client as ContractClient,
6
+ ClientOptions as ContractClientOptions,
7
+ MethodOptions,
8
+ Result,
9
+ Spec as ContractSpec,
10
+ } from '@stellar/stellar-sdk/contract';
11
+ import type {
12
+ u32,
13
+ i32,
14
+ u64,
15
+ i64,
16
+ u128,
17
+ i128,
18
+ u256,
19
+ i256,
20
+ Option,
21
+ Typepoint,
22
+ Duration,
23
+ } from '@stellar/stellar-sdk/contract';
24
+ export * from '@stellar/stellar-sdk'
25
+ export * as contract from '@stellar/stellar-sdk/contract'
26
+ export * as rpc from '@stellar/stellar-sdk/rpc'
27
+
28
+
29
+
30
+ /**
31
+ * Parameters for `lz_receive` execution.
32
+ */
33
+ export interface ExecutionParams {
34
+ extra_data: Buffer;
35
+ gas_limit: i128;
36
+ guid: Buffer;
37
+ message: Buffer;
38
+ origin: Origin;
39
+ receiver: string;
40
+ value: i128;
41
+ }
42
+
43
+
44
+ /**
45
+ * Parameters for `lz_compose` execution.
46
+ */
47
+ export interface ComposeParams {
48
+ extra_data: Buffer;
49
+ from: string;
50
+ gas_limit: i128;
51
+ guid: Buffer;
52
+ index: u32;
53
+ message: Buffer;
54
+ to: string;
55
+ value: i128;
56
+ }
57
+
58
+ export const EndpointError = {
59
+ 1: {message:"AlreadyRegistered"},
60
+ 2: {message:"ComposeExists"},
61
+ 3: {message:"ComposeNotFound"},
62
+ 4: {message:"DefaultReceiveLibUnavailable"},
63
+ 5: {message:"DefaultSendLibUnavailable"},
64
+ 6: {message:"InsufficientNativeFee"},
65
+ 7: {message:"InsufficientZROFee"},
66
+ 8: {message:"InvalidExpiry"},
67
+ 9: {message:"InvalidIndex"},
68
+ 10: {message:"InvalidNonce"},
69
+ 11: {message:"InvalidPayloadHash"},
70
+ 12: {message:"InvalidReceiveLibrary"},
71
+ 13: {message:"OnlyNonDefaultLib"},
72
+ 14: {message:"OnlyReceiveLib"},
73
+ 15: {message:"OnlyRegisteredLib"},
74
+ 16: {message:"OnlySendLib"},
75
+ 17: {message:"PathNotInitializable"},
76
+ 18: {message:"PathNotVerifiable"},
77
+ 19: {message:"PayloadHashNotFound"},
78
+ 20: {message:"SameValue"},
79
+ 21: {message:"Unauthorized"},
80
+ 22: {message:"UnsupportedEid"},
81
+ 23: {message:"ZeroZROFee"},
82
+ 24: {message:"ZROUnavailable"}
83
+ }
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ /**
106
+ * Parameters for sending a cross-chain message.
107
+ */
108
+ export interface MessagingParams {
109
+ /**
110
+ * Destination endpoint ID (chain identifier).
111
+ */
112
+ dst_eid: u32;
113
+ /**
114
+ * The message payload to send.
115
+ */
116
+ message: Buffer;
117
+ /**
118
+ * Encoded executor and DVN options.
119
+ */
120
+ options: Buffer;
121
+ /**
122
+ * Whether to pay fees in ZRO token instead of native token.
123
+ */
124
+ pay_in_zro: boolean;
125
+ /**
126
+ * Receiver address on the destination chain (32 bytes).
127
+ */
128
+ receiver: Buffer;
129
+ }
130
+
131
+
132
+ /**
133
+ * Source message information identifying where a cross-chain message came from.
134
+ */
135
+ export interface Origin {
136
+ /**
137
+ * Nonce for this pathway.
138
+ */
139
+ nonce: u64;
140
+ /**
141
+ * Sender address on the source chain (32 bytes).
142
+ */
143
+ sender: Buffer;
144
+ /**
145
+ * Source endpoint ID (chain identifier).
146
+ */
147
+ src_eid: u32;
148
+ }
149
+
150
+
151
+ /**
152
+ * Fee structure for cross-chain messaging.
153
+ */
154
+ export interface MessagingFee {
155
+ /**
156
+ * Fee paid in native token (XLM).
157
+ */
158
+ native_fee: i128;
159
+ /**
160
+ * Fee paid in ZRO token (LayerZero token).
161
+ */
162
+ zro_fee: i128;
163
+ }
164
+
165
+
166
+ /**
167
+ * Receipt returned after successfully sending a cross-chain message.
168
+ */
169
+ export interface MessagingReceipt {
170
+ /**
171
+ * The fees charged for sending the message.
172
+ */
173
+ fee: MessagingFee;
174
+ /**
175
+ * Globally unique identifier for the message.
176
+ */
177
+ guid: Buffer;
178
+ /**
179
+ * The outbound nonce for this pathway.
180
+ */
181
+ nonce: u64;
182
+ }
183
+
184
+ /**
185
+ * Type of message library indicating supported operations.
186
+ */
187
+ export type MessageLibType = {tag: "Send", values: void} | {tag: "Receive", values: void} | {tag: "SendAndReceive", values: void};
188
+
189
+
190
+ /**
191
+ * Version information for a message library.
192
+ *
193
+ * Note: `minor` and `endpoint_version` use `u32` instead of `u8` because Stellar does not
194
+ * support `u8` types in contract interface functions.
195
+ */
196
+ export interface MessageLibVersion {
197
+ /**
198
+ * Endpoint version (should not exceed u8::MAX = 255).
199
+ */
200
+ endpoint_version: u32;
201
+ /**
202
+ * Major version number.
203
+ */
204
+ major: u64;
205
+ /**
206
+ * Minor version number (should not exceed u8::MAX = 255).
207
+ */
208
+ minor: u32;
209
+ }
210
+
211
+
212
+ /**
213
+ * Timeout configuration for receive library transitions.
214
+ */
215
+ export interface Timeout {
216
+ /**
217
+ * Unix timestamp when the timeout expires.
218
+ */
219
+ expiry: u64;
220
+ /**
221
+ * The new library address to transition to.
222
+ */
223
+ lib: string;
224
+ }
225
+
226
+
227
+ /**
228
+ * Parameters for setting message library configuration.
229
+ */
230
+ export interface SetConfigParam {
231
+ /**
232
+ * XDR-encoded configuration data.
233
+ */
234
+ config: Buffer;
235
+ /**
236
+ * The type of configuration (e.g., executor, ULN).
237
+ */
238
+ config_type: u32;
239
+ /**
240
+ * The endpoint ID this config applies to.
241
+ */
242
+ eid: u32;
243
+ }
244
+
245
+
246
+ /**
247
+ * Resolved library information with default status.
248
+ */
249
+ export interface ResolvedLibrary {
250
+ /**
251
+ * Whether this is the default library (true) or OApp-specific (false).
252
+ */
253
+ is_default: boolean;
254
+ /**
255
+ * The resolved library address.
256
+ */
257
+ lib: string;
258
+ }
259
+
260
+
261
+ /**
262
+ * Outbound packet containing all information for cross-chain transmission.
263
+ */
264
+ export interface OutboundPacket {
265
+ /**
266
+ * Destination endpoint ID.
267
+ */
268
+ dst_eid: u32;
269
+ /**
270
+ * Globally unique identifier for this message.
271
+ */
272
+ guid: Buffer;
273
+ /**
274
+ * The message payload.
275
+ */
276
+ message: Buffer;
277
+ /**
278
+ * Outbound nonce for this pathway.
279
+ */
280
+ nonce: u64;
281
+ /**
282
+ * Receiver address on destination chain (32 bytes).
283
+ */
284
+ receiver: Buffer;
285
+ /**
286
+ * Sender address on source chain.
287
+ */
288
+ sender: string;
289
+ /**
290
+ * Source endpoint ID.
291
+ */
292
+ src_eid: u32;
293
+ }
294
+
295
+
296
+ /**
297
+ * A fee recipient with the amount to be paid.
298
+ */
299
+ export interface FeeRecipient {
300
+ /**
301
+ * Amount of fee to pay.
302
+ */
303
+ amount: i128;
304
+ /**
305
+ * The address to send the fee to.
306
+ */
307
+ to: string;
308
+ }
309
+
310
+
311
+ /**
312
+ * Result of send operation containing fees and encoded packet.
313
+ */
314
+ export interface FeesAndPacket {
315
+ /**
316
+ * The encoded packet ready for transmission.
317
+ */
318
+ encoded_packet: Buffer;
319
+ /**
320
+ * List of native token fee recipients (executor, DVNs, treasury).
321
+ */
322
+ native_fee_recipients: Array<FeeRecipient>;
323
+ /**
324
+ * List of ZRO token fee recipients (treasury).
325
+ */
326
+ zro_fee_recipients: Array<FeeRecipient>;
327
+ }
328
+
329
+
330
+ /**
331
+ * Destination chain configuration for executor fee calculation.
332
+ *
333
+ * Contains gas costs and fee parameters specific to each destination chain.
334
+ * These parameters are used by the fee library to calculate accurate execution fees.
335
+ */
336
+ export interface DstConfig {
337
+ /**
338
+ * Minimum fee margin in USD (scaled) to ensure profitability.
339
+ */
340
+ floor_margin_usd: u128;
341
+ /**
342
+ * Base gas cost per lzCompose call on the destination chain.
343
+ */
344
+ lz_compose_base_gas: u64;
345
+ /**
346
+ * Base gas cost for lzReceive execution on the destination chain.
347
+ */
348
+ lz_receive_base_gas: u64;
349
+ /**
350
+ * Fee multiplier in basis points for this destination (0 = use default multiplier).
351
+ */
352
+ multiplier_bps: u32;
353
+ /**
354
+ * Maximum native token value that can be transferred to the destination.
355
+ */
356
+ native_cap: u128;
357
+ }
358
+
359
+
360
+ /**
361
+ * Parameters for setting destination configuration.
362
+ *
363
+ * Used when configuring executor settings for a specific destination chain.
364
+ */
365
+ export interface SetDstConfigParam {
366
+ /**
367
+ * Configuration for the destination chain.
368
+ */
369
+ dst_config: DstConfig;
370
+ /**
371
+ * Destination endpoint ID (chain identifier).
372
+ */
373
+ dst_eid: u32;
374
+ }
375
+
376
+
377
+ /**
378
+ * Parameters for a native token drop.
379
+ *
380
+ * Used to specify native token transfers as part of executor options.
381
+ */
382
+ export interface NativeDropParams {
383
+ /**
384
+ * Amount of native tokens to transfer.
385
+ */
386
+ amount: i128;
387
+ /**
388
+ * Receiver address for the native token transfer.
389
+ */
390
+ receiver: string;
391
+ }
392
+
393
+ export const PacketCodecV1Error = {
394
+ 1001: {message:"InvalidPacketHeader"},
395
+ 1002: {message:"InvalidPacketVersion"}
396
+ }
397
+
398
+ export const WorkerOptionsError = {
399
+ 1101: {message:"InvalidBytesLength"},
400
+ 1102: {message:"InvalidLegacyOptionsType1"},
401
+ 1103: {message:"InvalidLegacyOptionsType2"},
402
+ 1104: {message:"InvalidOptionType"},
403
+ 1105: {message:"InvalidOptions"},
404
+ 1106: {message:"InvalidWorkerId"},
405
+ 1107: {message:"LegacyOptionsType1GasOverflow"},
406
+ 1108: {message:"LegacyOptionsType2AmountOverflow"},
407
+ 1109: {message:"LegacyOptionsType2GasOverflow"}
408
+ }
409
+
410
+ export const BufferReaderError = {
411
+ 1000: {message:"InvalidLength"},
412
+ 1001: {message:"InvalidAddressPayload"}
413
+ }
414
+
415
+ export const BufferWriterError = {
416
+ 1100: {message:"InvalidAddressPayload"}
417
+ }
418
+
419
+ export const TtlError = {
420
+ 1200: {message:"InvalidTtlConfig"},
421
+ 1201: {message:"TtlConfigFrozen"},
422
+ 1202: {message:"TtlConfigAlreadyFrozen"}
423
+ }
424
+
425
+ export const OwnableError = {
426
+ 1300: {message:"OwnerAlreadySet"},
427
+ 1301: {message:"OwnerNotSet"}
428
+ }
429
+
430
+ export const BytesExtError = {
431
+ 1400: {message:"LengthMismatch"}
432
+ }
433
+
434
+
435
+
436
+ export type DefaultOwnableStorage = {tag: "Owner", values: void};
437
+
438
+
439
+ /**
440
+ * A pair of TTL values: threshold (when to trigger extension) and extend_to (target TTL).
441
+ */
442
+ export interface TtlConfig {
443
+ /**
444
+ * Target TTL after extension (in ledgers).
445
+ */
446
+ extend_to: u32;
447
+ /**
448
+ * TTL threshold that triggers extension (in ledgers).
449
+ */
450
+ threshold: u32;
451
+ }
452
+
453
+ export type TtlConfigStorage = {tag: "Frozen", values: void} | {tag: "Instance", values: void} | {tag: "Persistent", values: void};
454
+
455
+ export const WorkerError = {
456
+ 1200: {message:"AdminAlreadyExists"},
457
+ 1201: {message:"AdminNotFound"},
458
+ 1202: {message:"AlreadyOnAllowlist"},
459
+ 1203: {message:"AlreadyOnDenylist"},
460
+ 1204: {message:"AttemptingToRemoveOnlyAdmin"},
461
+ 1205: {message:"DepositAddressNotSet"},
462
+ 1206: {message:"MessageLibAlreadySupported"},
463
+ 1207: {message:"MessageLibNotSupported"},
464
+ 1208: {message:"NoAdminsProvided"},
465
+ 1209: {message:"NotAllowed"},
466
+ 1210: {message:"NotOnAllowlist"},
467
+ 1211: {message:"NotOnDenylist"},
468
+ 1212: {message:"PauseStatusUnchanged"},
469
+ 1213: {message:"PriceFeedNotSet"},
470
+ 1214: {message:"ReInitialize"},
471
+ 1215: {message:"Unauthorized"},
472
+ 1216: {message:"UnsupportedMessageLib"},
473
+ 1217: {message:"WorkerFeeLibNotSet"},
474
+ 1218: {message:"WorkerIsPaused"}
475
+ }
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+
486
+
487
+
488
+
489
+ /**
490
+ * Parameters for DVN fee calculation.
491
+ *
492
+ * Contains all inputs needed by the fee library to calculate verification fees
493
+ * for cross-chain messages. Includes message parameters, common configuration,
494
+ * and destination-specific settings.
495
+ */
496
+ export interface DvnFeeParams {
497
+ /**
498
+ * Number of block confirmations required.
499
+ */
500
+ confirmations: u64;
501
+ /**
502
+ * Default fee multiplier in basis points (used if no dst-specific multiplier).
503
+ */
504
+ default_multiplier_bps: u32;
505
+ /**
506
+ * Destination endpoint ID (chain identifier).
507
+ */
508
+ dst_eid: u32;
509
+ /**
510
+ * Minimum fee margin in USD (scaled).
511
+ */
512
+ floor_margin_usd: u128;
513
+ /**
514
+ * ============================================================================================
515
+ * Destination-Specific Configuration
516
+ * ============================================================================================
517
+ * Gas estimate for verification on destination chain.
518
+ */
519
+ gas: u128;
520
+ /**
521
+ * Destination-specific fee multiplier in basis points (0 = use default).
522
+ */
523
+ multiplier_bps: u32;
524
+ /**
525
+ * DVN options
526
+ */
527
+ options: Buffer;
528
+ /**
529
+ * ============================================================================================
530
+ * Common Configuration
531
+ * ============================================================================================
532
+ * Price feed contract address for gas price and exchange rate data.
533
+ */
534
+ price_feed: string;
535
+ /**
536
+ * Number of required signatures (quorum).
537
+ */
538
+ quorum: u32;
539
+ /**
540
+ * ============================================================================================
541
+ * Message Parameters
542
+ * ============================================================================================
543
+ * The OApp sender address.
544
+ */
545
+ sender: string;
546
+ }
547
+
548
+
549
+ /**
550
+ * Parameters for executor fee calculation.
551
+ *
552
+ * Contains all inputs needed by the fee library to calculate execution fees
553
+ * for cross-chain messages. Includes message parameters, common configuration,
554
+ * and destination-specific settings.
555
+ */
556
+ export interface FeeParams {
557
+ /**
558
+ * Size of the message calldata in bytes.
559
+ */
560
+ calldata_size: u32;
561
+ /**
562
+ * Default fee multiplier in basis points (used if no dst-specific multiplier).
563
+ */
564
+ default_multiplier_bps: u32;
565
+ /**
566
+ * Destination endpoint ID (chain identifier).
567
+ */
568
+ dst_eid: u32;
569
+ /**
570
+ * Minimum fee margin in USD (scaled).
571
+ */
572
+ floor_margin_usd: u128;
573
+ /**
574
+ * Base gas for each lzCompose call on destination chain.
575
+ */
576
+ lz_compose_base_gas: u64;
577
+ /**
578
+ * ============================================================================================
579
+ * Destination-Specific Configuration
580
+ * ============================================================================================
581
+ * Base gas for lzReceive execution on destination chain.
582
+ */
583
+ lz_receive_base_gas: u64;
584
+ /**
585
+ * Destination-specific fee multiplier in basis points (0 = use default).
586
+ */
587
+ multiplier_bps: u32;
588
+ /**
589
+ * Maximum native token value that can be sent.
590
+ */
591
+ native_cap: u128;
592
+ /**
593
+ * Encoded executor options (lzReceive gas, lzCompose, nativeDrop, etc.).
594
+ */
595
+ options: Buffer;
596
+ /**
597
+ * ============================================================================================
598
+ * Common Configuration
599
+ * ============================================================================================
600
+ * Price feed contract address for gas price and exchange rate data.
601
+ */
602
+ price_feed: string;
603
+ /**
604
+ * ============================================================================================
605
+ * Message Parameters
606
+ * ============================================================================================
607
+ * The OApp sender address.
608
+ */
609
+ sender: string;
610
+ }
611
+
612
+
613
+ /**
614
+ * Gas price information for a destination endpoint.
615
+ *
616
+ * Contains the exchange rate and gas costs needed for cross-chain fee calculations.
617
+ */
618
+ export interface Price {
619
+ /**
620
+ * Gas cost per byte of calldata on the destination chain.
621
+ */
622
+ gas_per_byte: u32;
623
+ /**
624
+ * Gas price in the smallest unit (wei for EVM, stroops for Stellar).
625
+ */
626
+ gas_price_in_unit: u64;
627
+ /**
628
+ * Price ratio = (remote native token price / local native token price) * PRICE_RATIO_DENOMINATOR.
629
+ * Used to convert destination chain gas costs to source chain native token.
630
+ */
631
+ price_ratio: u128;
632
+ }
633
+
634
+
635
+ /**
636
+ * Fee estimation result with detailed breakdown.
637
+ *
638
+ * Contains the calculated fee and all intermediate values used in the calculation.
639
+ */
640
+ export interface FeeEstimate {
641
+ /**
642
+ * Source chain native token price in USD (scaled).
643
+ */
644
+ native_price_usd: u128;
645
+ /**
646
+ * Price ratio used for the calculation.
647
+ */
648
+ price_ratio: u128;
649
+ /**
650
+ * Denominator for the price ratio (typically 10^20).
651
+ */
652
+ price_ratio_denominator: u128;
653
+ /**
654
+ * Total gas fee in source chain native token units.
655
+ */
656
+ total_gas_fee: i128;
657
+ }
658
+
659
+ export type WorkerStorage = {tag: "Paused", values: void} | {tag: "DepositAddress", values: void} | {tag: "PriceFeed", values: void} | {tag: "WorkerFeeLib", values: void} | {tag: "DefaultMultiplierBps", values: void} | {tag: "SupportedOptionTypes", values: readonly [u32]} | {tag: "MessageLibs", values: void} | {tag: "Allowlist", values: readonly [string]} | {tag: "Denylist", values: readonly [string]} | {tag: "AllowlistSize", values: void} | {tag: "Admins", values: void};
660
+
661
+ export interface Client {
662
+ /**
663
+ * Construct and simulate a execute transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
664
+ * Executes `lz_receive` on the target OApp; falls back to `lz_receive_alert` on failure.
665
+ */
666
+ execute: ({executor, params, value_payer}: {executor: string, params: ExecutionParams, value_payer: string}, txnOptions?: {
667
+ /**
668
+ * The fee to pay for the transaction. Default: BASE_FEE
669
+ */
670
+ fee?: number;
671
+
672
+ /**
673
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
674
+ */
675
+ timeoutInSeconds?: number;
676
+
677
+ /**
678
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
679
+ */
680
+ simulate?: boolean;
681
+ }) => Promise<AssembledTransaction<null>>
682
+
683
+ /**
684
+ * Construct and simulate a compose transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
685
+ * Executes `lz_compose` on the target composer; falls back to `lz_compose_alert` on failure.
686
+ */
687
+ compose: ({executor, params, value_payer}: {executor: string, params: ComposeParams, value_payer: string}, txnOptions?: {
688
+ /**
689
+ * The fee to pay for the transaction. Default: BASE_FEE
690
+ */
691
+ fee?: number;
692
+
693
+ /**
694
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
695
+ */
696
+ timeoutInSeconds?: number;
697
+
698
+ /**
699
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
700
+ */
701
+ simulate?: boolean;
702
+ }) => Promise<AssembledTransaction<null>>
703
+
704
+ /**
705
+ * Construct and simulate a native_drop transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
706
+ * Delegates `native_drop` to the executor contract.
707
+ */
708
+ native_drop: ({executor, admin, origin, dst_eid, oapp, params}: {executor: string, admin: string, origin: Origin, dst_eid: u32, oapp: string, params: Array<NativeDropParams>}, txnOptions?: {
709
+ /**
710
+ * The fee to pay for the transaction. Default: BASE_FEE
711
+ */
712
+ fee?: number;
713
+
714
+ /**
715
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
716
+ */
717
+ timeoutInSeconds?: number;
718
+
719
+ /**
720
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
721
+ */
722
+ simulate?: boolean;
723
+ }) => Promise<AssembledTransaction<null>>
724
+
725
+ /**
726
+ * Construct and simulate a native_drop_and_execute transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
727
+ * Executes `native_drop` followed by `lz_receive`.
728
+ */
729
+ native_drop_and_execute: ({executor, admin, origin, dst_eid, oapp, native_drop_params, execute_params}: {executor: string, admin: string, origin: Origin, dst_eid: u32, oapp: string, native_drop_params: Array<NativeDropParams>, execute_params: ExecutionParams}, txnOptions?: {
730
+ /**
731
+ * The fee to pay for the transaction. Default: BASE_FEE
732
+ */
733
+ fee?: number;
734
+
735
+ /**
736
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
737
+ */
738
+ timeoutInSeconds?: number;
739
+
740
+ /**
741
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
742
+ */
743
+ simulate?: boolean;
744
+ }) => Promise<AssembledTransaction<null>>
745
+
746
+ }
747
+ export class Client extends ContractClient {
748
+ static async deploy<T = Client>(
749
+ /** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
750
+ options: MethodOptions &
751
+ Omit<ContractClientOptions, "contractId"> & {
752
+ /** The hash of the Wasm blob, which must already be installed on-chain. */
753
+ wasmHash: Buffer | string;
754
+ /** Salt used to generate the contract's ID. Passed through to {@link Operation.createCustomContract}. Default: random. */
755
+ salt?: Buffer | Uint8Array;
756
+ /** The format used to decode `wasmHash`, if it's provided as a string. */
757
+ format?: "hex" | "base64";
758
+ }
759
+ ): Promise<AssembledTransaction<T>> {
760
+ return ContractClient.deploy(null, options)
761
+ }
762
+ constructor(public readonly options: ContractClientOptions) {
763
+ super(
764
+ new ContractSpec([ "AAAAAQAAACZQYXJhbWV0ZXJzIGZvciBgbHpfcmVjZWl2ZWAgZXhlY3V0aW9uLgAAAAAAAAAAAA9FeGVjdXRpb25QYXJhbXMAAAAABwAAAAAAAAAKZXh0cmFfZGF0YQAAAAAADgAAAAAAAAAJZ2FzX2xpbWl0AAAAAAAACwAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAAAV2YWx1ZQAAAAAAAAs=",
765
+ "AAAAAQAAACZQYXJhbWV0ZXJzIGZvciBgbHpfY29tcG9zZWAgZXhlY3V0aW9uLgAAAAAAAAAAAA1Db21wb3NlUGFyYW1zAAAAAAAACAAAAAAAAAAKZXh0cmFfZGF0YQAAAAAADgAAAAAAAAAEZnJvbQAAABMAAAAAAAAACWdhc19saW1pdAAAAAAAAAsAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAnRvAAAAAAATAAAAAAAAAAV2YWx1ZQAAAAAAAAs=",
766
+ "AAAAAAAAAFZFeGVjdXRlcyBgbHpfcmVjZWl2ZWAgb24gdGhlIHRhcmdldCBPQXBwOyBmYWxscyBiYWNrIHRvIGBsel9yZWNlaXZlX2FsZXJ0YCBvbiBmYWlsdXJlLgAAAAAAB2V4ZWN1dGUAAAAAAwAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAAAAAAZwYXJhbXMAAAAAB9AAAAAPRXhlY3V0aW9uUGFyYW1zAAAAAAAAAAALdmFsdWVfcGF5ZXIAAAAAEwAAAAA=",
767
+ "AAAAAAAAAFpFeGVjdXRlcyBgbHpfY29tcG9zZWAgb24gdGhlIHRhcmdldCBjb21wb3NlcjsgZmFsbHMgYmFjayB0byBgbHpfY29tcG9zZV9hbGVydGAgb24gZmFpbHVyZS4AAAAAAAdjb21wb3NlAAAAAAMAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAfQAAAADUNvbXBvc2VQYXJhbXMAAAAAAAAAAAAAC3ZhbHVlX3BheWVyAAAAABMAAAAA",
768
+ "AAAAAAAAADFEZWxlZ2F0ZXMgYG5hdGl2ZV9kcm9wYCB0byB0aGUgZXhlY3V0b3IgY29udHJhY3QuAAAAAAAAC25hdGl2ZV9kcm9wAAAAAAYAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAEb2FwcAAAABMAAAAAAAAABnBhcmFtcwAAAAAD6gAAB9AAAAAQTmF0aXZlRHJvcFBhcmFtcwAAAAA=",
769
+ "AAAAAAAAADBFeGVjdXRlcyBgbmF0aXZlX2Ryb3BgIGZvbGxvd2VkIGJ5IGBsel9yZWNlaXZlYC4AAAAXbmF0aXZlX2Ryb3BfYW5kX2V4ZWN1dGUAAAAABwAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAARvYXBwAAAAEwAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAA5leGVjdXRlX3BhcmFtcwAAAAAH0AAAAA9FeGVjdXRpb25QYXJhbXMAAAAAAA==",
770
+ "AAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAYAAAAAAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAAAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAAAAAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRaUk9GZWUAAAAAAAcAAAAAAAAADUludmFsaWRFeHBpcnkAAAAAAAAIAAAAAAAAAAxJbnZhbGlkSW5kZXgAAAAJAAAAAAAAAAxJbnZhbGlkTm9uY2UAAAAKAAAAAAAAABJJbnZhbGlkUGF5bG9hZEhhc2gAAAAAAAsAAAAAAAAAFUludmFsaWRSZWNlaXZlTGlicmFyeQAAAAAAAAwAAAAAAAAAEU9ubHlOb25EZWZhdWx0TGliAAAAAAAADQAAAAAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA4AAAAAAAAAEU9ubHlSZWdpc3RlcmVkTGliAAAAAAAADwAAAAAAAAALT25seVNlbmRMaWIAAAAAEAAAAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAARAAAAAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABIAAAAAAAAAE1BheWxvYWRIYXNoTm90Rm91bmQAAAAAEwAAAAAAAAAJU2FtZVZhbHVlAAAAAAAAFAAAAAAAAAAMVW5hdXRob3JpemVkAAAAFQAAAAAAAAAOVW5zdXBwb3J0ZWRFaWQAAAAAABYAAAAAAAAAClplcm9aUk9GZWUAAAAAABcAAAAAAAAADlpST1VuYXZhaWxhYmxlAAAAAAAY",
771
+ "AAAABQAAAAAAAAAAAAAAClBhY2tldFNlbnQAAAAAAAEAAAAKUGFja2V0U2VudAAAAAAAAwAAAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAAAAAAAAAAAAAdvcHRpb25zAAAAAA4AAAAAAAAAAAAAAAxzZW5kX2xpYnJhcnkAAAATAAAAAAAAAAI=",
772
+ "AAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAADlBhY2tldFZlcmlmaWVkAAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAAC",
773
+ "AAAABQAAAAAAAAAAAAAAD1BhY2tldERlbGl2ZXJlZAAAAAABAAAAD1BhY2tldERlbGl2ZXJlZAAAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAg==",
774
+ "AAAABQAAAAAAAAAAAAAADkx6UmVjZWl2ZUFsZXJ0AAAAAAABAAAADkx6UmVjZWl2ZUFsZXJ0AAAAAAAJAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAg==",
775
+ "AAAABQAAAAAAAAAAAAAABlpST1NldAAAAAAAAQAAAAZaUk9TZXQAAAAAAAEAAAAAAAAAA3pybwAAAAATAAAAAAAAAAI=",
776
+ "AAAABQAAAAAAAAAAAAAAC0RlbGVnYXRlU2V0AAAAAAEAAAALRGVsZWdhdGVTZXQAAAAAAgAAAAAAAAAEb2FwcAAAABMAAAABAAAAAAAAAAhkZWxlZ2F0ZQAAA+gAAAATAAAAAAAAAAI=",
777
+ "AAAABQAAAAAAAAAAAAAAE0luYm91bmROb25jZVNraXBwZWQAAAAAAQAAABNJbmJvdW5kTm9uY2VTa2lwcGVkAAAAAAQAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAAAg==",
778
+ "AAAABQAAAAAAAAAAAAAADlBhY2tldE5pbGlmaWVkAAAAAAABAAAADlBhY2tldE5pbGlmaWVkAAAAAAAFAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAAAAAAMcGF5bG9hZF9oYXNoAAAD6AAAA+4AAAAgAAAAAAAAAAI=",
779
+ "AAAABQAAAAAAAAAAAAAAC1BhY2tldEJ1cm50AAAAAAEAAAALUGFja2V0QnVybnQAAAAABQAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAAAEAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAABW5vbmNlAAAAAAAABgAAAAEAAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAAI=",
780
+ "AAAABQAAAAAAAAAAAAAAEUxpYnJhcnlSZWdpc3RlcmVkAAAAAAAAAQAAABFMaWJyYXJ5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAAC",
781
+ "AAAABQAAAAAAAAAAAAAAFURlZmF1bHRTZW5kTGlicmFyeVNldAAAAAAAAAEAAAAVRGVmYXVsdFNlbmRMaWJyYXJ5U2V0AAAAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAI=",
782
+ "AAAABQAAAAAAAAAAAAAAGERlZmF1bHRSZWNlaXZlTGlicmFyeVNldAAAAAEAAAAYRGVmYXVsdFJlY2VpdmVMaWJyYXJ5U2V0AAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAI=",
783
+ "AAAABQAAAAAAAAAAAAAAH0RlZmF1bHRSZWNlaXZlTGlicmFyeVRpbWVvdXRTZXQAAAAAAQAAAB9EZWZhdWx0UmVjZWl2ZUxpYnJhcnlUaW1lb3V0U2V0AAAAAAIAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAAB3RpbWVvdXQAAAAD6AAAB9AAAAAHVGltZW91dAAAAAAAAAAAAg==",
784
+ "AAAABQAAAAAAAAAAAAAADlNlbmRMaWJyYXJ5U2V0AAAAAAABAAAADlNlbmRMaWJyYXJ5U2V0AAAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAI=",
785
+ "AAAABQAAAAAAAAAAAAAAEVJlY2VpdmVMaWJyYXJ5U2V0AAAAAAAAAQAAABFSZWNlaXZlTGlicmFyeVNldAAAAAAAAAMAAAAAAAAACHJlY2VpdmVyAAAAEwAAAAEAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAAB25ld19saWIAAAAD6AAAABMAAAAAAAAAAg==",
786
+ "AAAABQAAAAAAAAAAAAAAGFJlY2VpdmVMaWJyYXJ5VGltZW91dFNldAAAAAEAAAAYUmVjZWl2ZUxpYnJhcnlUaW1lb3V0U2V0AAAAAwAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAI=",
787
+ "AAAABQAAAAAAAAAAAAAAC0NvbXBvc2VTZW50AAAAAAEAAAALQ29tcG9zZVNlbnQAAAAABQAAAAAAAAAEZnJvbQAAABMAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAEAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAEAAAAAAAAABWluZGV4AAAAAAAABAAAAAEAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAC",
788
+ "AAAABQAAAAAAAAAAAAAAEENvbXBvc2VEZWxpdmVyZWQAAAABAAAAEENvbXBvc2VEZWxpdmVyZWQAAAAEAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAI=",
789
+ "AAAABQAAAAAAAAAAAAAADkx6Q29tcG9zZUFsZXJ0AAAAAAABAAAADkx6Q29tcG9zZUFsZXJ0AAAAAAAKAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAI=",
790
+ "AAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACA=",
791
+ "AAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQ=",
792
+ "AAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAs=",
793
+ "AAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAG",
794
+ "AAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAA=",
795
+ "AAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABA==",
796
+ "AAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAAT",
797
+ "AAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQ=",
798
+ "AAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAAT",
799
+ "AAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQ=",
800
+ "AAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAAT",
801
+ "AAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50",
802
+ "AAAAAQAAANtEZXN0aW5hdGlvbiBjaGFpbiBjb25maWd1cmF0aW9uIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBnYXMgY29zdHMgYW5kIGZlZSBwYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGVhY2ggZGVzdGluYXRpb24gY2hhaW4uClRoZXNlIHBhcmFtZXRlcnMgYXJlIHVzZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSBhY2N1cmF0ZSBleGVjdXRpb24gZmVlcy4AAAAAAAAAAAlEc3RDb25maWcAAAAAAAAFAAAAO01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkgdG8gZW5zdXJlIHByb2ZpdGFiaWxpdHkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADpCYXNlIGdhcyBjb3N0IHBlciBsekNvbXBvc2UgY2FsbCBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAATbHpfY29tcG9zZV9iYXNlX2dhcwAAAAAGAAAAP0Jhc2UgZ2FzIGNvc3QgZm9yIGx6UmVjZWl2ZSBleGVjdXRpb24gb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAAUUZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyBmb3IgdGhpcyBkZXN0aW5hdGlvbiAoMCA9IHVzZSBkZWZhdWx0IG11bHRpcGxpZXIpLgAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAEZNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgZGVzdGluYXRpb24uAAAAAAAKbmF0aXZlX2NhcAAAAAAACg==",
803
+ "AAAAAQAAAHxQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24uCgpVc2VkIHdoZW4gY29uZmlndXJpbmcgZXhlY3V0b3Igc2V0dGluZ3MgZm9yIGEgc3BlY2lmaWMgZGVzdGluYXRpb24gY2hhaW4uAAAAAAAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAIAAAAoQ29uZmlndXJhdGlvbiBmb3IgdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAApkc3RfY29uZmlnAAAAAAfQAAAACURzdENvbmZpZwAAAAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQ=",
804
+ "AAAAAQAAAGhQYXJhbWV0ZXJzIGZvciBhIG5hdGl2ZSB0b2tlbiBkcm9wLgoKVXNlZCB0byBzcGVjaWZ5IG5hdGl2ZSB0b2tlbiB0cmFuc2ZlcnMgYXMgcGFydCBvZiBleGVjdXRvciBvcHRpb25zLgAAAAAAAAAQTmF0aXZlRHJvcFBhcmFtcwAAAAIAAAAkQW1vdW50IG9mIG5hdGl2ZSB0b2tlbnMgdG8gdHJhbnNmZXIuAAAABmFtb3VudAAAAAAACwAAAC9SZWNlaXZlciBhZGRyZXNzIGZvciB0aGUgbmF0aXZlIHRva2VuIHRyYW5zZmVyLgAAAAAIcmVjZWl2ZXIAAAAT",
805
+ "AAAABAAAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAAPpAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAAA+o=",
806
+ "AAAABAAAAAAAAAAAAAAAEldvcmtlck9wdGlvbnNFcnJvcgAAAAAACQAAAAAAAAASSW52YWxpZEJ5dGVzTGVuZ3RoAAAAAARNAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUxAAAAAAAETgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMgAAAAAABE8AAAAAAAAAEUludmFsaWRPcHRpb25UeXBlAAAAAAAEUAAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAABFEAAAAAAAAAD0ludmFsaWRXb3JrZXJJZAAAAARSAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTFHYXNPdmVyZmxvdwAAAAAABFMAAAAAAAAAIExlZ2FjeU9wdGlvbnNUeXBlMkFtb3VudE92ZXJmbG93AAAEVAAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUyR2FzT3ZlcmZsb3cAAAAAAARV",
807
+ "AAAABAAAAAAAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+k=",
808
+ "AAAABAAAAAAAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAETA==",
809
+ "AAAABAAAAAAAAAAAAAAACFR0bEVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAABLAAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAASxAAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAASy",
810
+ "AAAABAAAAAAAAAAAAAAADE93bmFibGVFcnJvcgAAAAIAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAUUAAAAAAAAAAtPd25lck5vdFNldAAAAAUV",
811
+ "AAAABAAAAAAAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAFeA==",
812
+ "AAAABQAAACxFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkLgAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
813
+ "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAEk93bmVyc2hpcFJlbm91bmNlZAAAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
814
+ "AAAAAgAAAAAAAAAAAAAAFURlZmF1bHRPd25hYmxlU3RvcmFnZQAAAAAAAAEAAAAAAAAAAAAAAAVPd25lcgAAAA==",
815
+ "AAAAAQAAAFdBIHBhaXIgb2YgVFRMIHZhbHVlczogdGhyZXNob2xkICh3aGVuIHRvIHRyaWdnZXIgZXh0ZW5zaW9uKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
816
+ "AAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAA==",
817
+ "AAAABAAAAAAAAAAAAAAAC1dvcmtlckVycm9yAAAAABMAAAAAAAAAEkFkbWluQWxyZWFkeUV4aXN0cwAAAAAEsAAAAAAAAAANQWRtaW5Ob3RGb3VuZAAAAAAABLEAAAAAAAAAEkFscmVhZHlPbkFsbG93bGlzdAAAAAAEsgAAAAAAAAARQWxyZWFkeU9uRGVueWxpc3QAAAAAAASzAAAAAAAAABtBdHRlbXB0aW5nVG9SZW1vdmVPbmx5QWRtaW4AAAAEtAAAAAAAAAAURGVwb3NpdEFkZHJlc3NOb3RTZXQAAAS1AAAAAAAAABpNZXNzYWdlTGliQWxyZWFkeVN1cHBvcnRlZAAAAAAEtgAAAAAAAAAWTWVzc2FnZUxpYk5vdFN1cHBvcnRlZAAAAAAEtwAAAAAAAAAQTm9BZG1pbnNQcm92aWRlZAAABLgAAAAAAAAACk5vdEFsbG93ZWQAAAAABLkAAAAAAAAADk5vdE9uQWxsb3dsaXN0AAAAAAS6AAAAAAAAAA1Ob3RPbkRlbnlsaXN0AAAAAAAEuwAAAAAAAAAUUGF1c2VTdGF0dXNVbmNoYW5nZWQAAAS8AAAAAAAAAA9QcmljZUZlZWROb3RTZXQAAAAEvQAAAAAAAAAMUmVJbml0aWFsaXplAAAEvgAAAAAAAAAMVW5hdXRob3JpemVkAAAEvwAAAAAAAAAVVW5zdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAAEwAAAAAAAAAASV29ya2VyRmVlTGliTm90U2V0AAAAAATBAAAAAAAAAA5Xb3JrZXJJc1BhdXNlZAAAAAAEwg==",
818
+ "AAAABQAAAAAAAAAAAAAACFNldEFkbWluAAAAAQAAAAhTZXRBZG1pbgAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
819
+ "AAAABQAAAAAAAAAAAAAAFlNldFN1cHBvcnRlZE1lc3NhZ2VMaWIAAAAAAAEAAAAWU2V0U3VwcG9ydGVkTWVzc2FnZUxpYgAAAAAAAgAAAAAAAAALbWVzc2FnZV9saWIAAAAAEwAAAAAAAAAAAAAACXN1cHBvcnRlZAAAAAAAAAEAAAAAAAAAAg==",
820
+ "AAAABQAAAAAAAAAAAAAADFNldEFsbG93bGlzdAAAAAEAAAAMU2V0QWxsb3dsaXN0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAg==",
821
+ "AAAABQAAAAAAAAAAAAAAC1NldERlbnlsaXN0AAAAAAEAAAALU2V0RGVueWxpc3QAAAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAg==",
822
+ "AAAABQAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAQAAAAZQYXVzZWQAAAAAAAEAAAAAAAAABnBhdXNlcgAAAAAAEwAAAAAAAAAC",
823
+ "AAAABQAAAAAAAAAAAAAACFVucGF1c2VkAAAAAQAAAAhVbnBhdXNlZAAAAAEAAAAAAAAACHVucGF1c2VyAAAAEwAAAAAAAAAC",
824
+ "AAAABQAAAAAAAAAAAAAAF1NldERlZmF1bHRNdWx0aXBsaWVyQnBzAAAAAAEAAAAXU2V0RGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAQAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAg==",
825
+ "AAAABQAAAAAAAAAAAAAAEVNldERlcG9zaXRBZGRyZXNzAAAAAAAAAQAAABFTZXREZXBvc2l0QWRkcmVzcwAAAAAAAAEAAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAAAAAAI=",
826
+ "AAAABQAAAAAAAAAAAAAADFNldFByaWNlRmVlZAAAAAEAAAAMU2V0UHJpY2VGZWVkAAAAAQAAAAAAAAAKcHJpY2VfZmVlZAAAAAAAEwAAAAAAAAAC",
827
+ "AAAABQAAAAAAAAAAAAAAF1NldFN1cHBvcnRlZE9wdGlvblR5cGVzAAAAAAEAAAAXU2V0U3VwcG9ydGVkT3B0aW9uVHlwZXMAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAMb3B0aW9uX3R5cGVzAAAADgAAAAAAAAAC",
828
+ "AAAABQAAAAAAAAAAAAAAD1NldFdvcmtlckZlZUxpYgAAAAABAAAAD1NldFdvcmtlckZlZUxpYgAAAAABAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAAg==",
829
+ "AAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAAT",
830
+ "AAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABM=",
831
+ "AAAAAQAAAIRHYXMgcHJpY2UgaW5mb3JtYXRpb24gZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgpDb250YWlucyB0aGUgZXhjaGFuZ2UgcmF0ZSBhbmQgZ2FzIGNvc3RzIG5lZWRlZCBmb3IgY3Jvc3MtY2hhaW4gZmVlIGNhbGN1bGF0aW9ucy4AAAAAAAAABVByaWNlAAAAAAAAAwAAADdHYXMgY29zdCBwZXIgYnl0ZSBvZiBjYWxsZGF0YSBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAxnYXNfcGVyX2J5dGUAAAAEAAAAQkdhcyBwcmljZSBpbiB0aGUgc21hbGxlc3QgdW5pdCAod2VpIGZvciBFVk0sIHN0cm9vcHMgZm9yIFN0ZWxsYXIpLgAAAAAAEWdhc19wcmljZV9pbl91bml0AAAAAAAABgAAAKlQcmljZSByYXRpbyA9IChyZW1vdGUgbmF0aXZlIHRva2VuIHByaWNlIC8gbG9jYWwgbmF0aXZlIHRva2VuIHByaWNlKSAqIFBSSUNFX1JBVElPX0RFTk9NSU5BVE9SLgpVc2VkIHRvIGNvbnZlcnQgZGVzdGluYXRpb24gY2hhaW4gZ2FzIGNvc3RzIHRvIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4uAAAAAAAAC3ByaWNlX3JhdGlvAAAAAAo=",
832
+ "AAAAAQAAAIBGZWUgZXN0aW1hdGlvbiByZXN1bHQgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24uCgpDb250YWlucyB0aGUgY2FsY3VsYXRlZCBmZWUgYW5kIGFsbCBpbnRlcm1lZGlhdGUgdmFsdWVzIHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAALRmVlRXN0aW1hdGUAAAAABAAAADBTb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAoc2NhbGVkKS4AAAAQbmF0aXZlX3ByaWNlX3VzZAAAAAoAAAAlUHJpY2UgcmF0aW8gdXNlZCBmb3IgdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAMkRlbm9taW5hdG9yIGZvciB0aGUgcHJpY2UgcmF0aW8gKHR5cGljYWxseSAxMF4yMCkuAAAAAAAXcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAACgAAADFUb3RhbCBnYXMgZmVlIGluIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gdW5pdHMuAAAAAAAADXRvdGFsX2dhc19mZWUAAAAAAAAL",
833
+ "AAAAAgAAAAAAAAAAAAAADVdvcmtlclN0b3JhZ2UAAAAAAAALAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAAAAAAAAAAAJUHJpY2VGZWVkAAAAAAAAAAAAAAAAAAAMV29ya2VyRmVlTGliAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAABAAAAAAAAABRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAEAAAAEAAAAAAAAAAAAAAALTWVzc2FnZUxpYnMAAAAAAQAAAAAAAAAJQWxsb3dsaXN0AAAAAAAAAQAAABMAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAANQWxsb3dsaXN0U2l6ZQAAAAAAAAAAAAAAAAAABkFkbWlucwAA" ]),
834
+ options
835
+ )
836
+ }
837
+ public readonly fromJSON = {
838
+ execute: this.txFromJSON<null>,
839
+ compose: this.txFromJSON<null>,
840
+ native_drop: this.txFromJSON<null>,
841
+ native_drop_and_execute: this.txFromJSON<null>
842
+ }
843
+ }