@layerzerolabs/protocol-stellar-v2 0.2.21 → 0.2.23
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/.turbo/turbo-build.log +347 -271
- package/.turbo/turbo-lint.log +277 -208
- package/.turbo/turbo-test.log +1700 -1370
- package/Cargo.lock +22 -51
- package/Cargo.toml +6 -1
- package/contracts/common-macros/src/auth.rs +10 -9
- package/contracts/common-macros/src/contract_ttl.rs +1 -4
- package/contracts/common-macros/src/error.rs +1 -3
- package/contracts/common-macros/src/lib.rs +65 -61
- package/contracts/common-macros/src/storage.rs +212 -65
- package/contracts/common-macros/src/tests/auth.rs +75 -6
- package/contracts/common-macros/src/tests/contract_ttl.rs +383 -350
- package/contracts/common-macros/src/tests/error.rs +9 -21
- package/contracts/common-macros/src/tests/lz_contract.rs +80 -0
- package/contracts/common-macros/src/tests/mod.rs +2 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +20 -3
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +28 -1
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +8 -43
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contracttrait_code.snap +6 -29
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__lz_contract__snapshot_generated_lz_contract_code.snap +31 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_extendable__snapshot_generated_ttl_extendable_code.snap +8 -0
- package/contracts/common-macros/src/tests/storage/extract_fields.rs +87 -0
- package/contracts/common-macros/src/tests/storage/gen_accessor_methods.rs +223 -0
- package/contracts/common-macros/src/tests/storage/gen_args.rs +65 -0
- package/contracts/common-macros/src/tests/storage/gen_enum_variant.rs +78 -0
- package/contracts/common-macros/src/tests/storage/gen_key.rs +108 -0
- package/contracts/common-macros/src/tests/storage/gen_params.rs +105 -0
- package/contracts/common-macros/src/tests/{storage.rs → storage/generate_storage.rs} +54 -129
- package/contracts/common-macros/src/tests/storage/is_primitive_type.rs +48 -0
- package/contracts/common-macros/src/tests/storage/mod.rs +16 -0
- package/contracts/common-macros/src/tests/storage/parse_default.rs +164 -0
- package/contracts/common-macros/src/tests/storage/parse_name.rs +159 -0
- package/contracts/common-macros/src/tests/storage/parse_no_ttl_extension.rs +124 -0
- package/contracts/common-macros/src/tests/storage/parse_storage_type.rs +174 -0
- package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +412 -0
- package/contracts/common-macros/src/tests/storage/storage_kind.rs +39 -0
- package/contracts/common-macros/src/tests/storage/test_setup.rs +25 -0
- package/contracts/common-macros/src/tests/storage/validate_attrs.rs +138 -0
- package/contracts/common-macros/src/tests/storage/variant_config.rs +226 -0
- package/contracts/common-macros/src/tests/test_helpers.rs +4 -10
- package/contracts/common-macros/src/tests/ttl_configurable.rs +2 -2
- package/contracts/common-macros/src/tests/ttl_extendable.rs +32 -0
- package/contracts/common-macros/src/tests/upgradeable.rs +118 -2
- package/contracts/common-macros/src/ttl_configurable.rs +1 -4
- package/contracts/common-macros/src/upgradeable.rs +21 -3
- package/contracts/endpoint-v2/Cargo.toml +0 -4
- package/contracts/endpoint-v2/src/endpoint_v2.rs +37 -17
- package/contracts/endpoint-v2/src/errors.rs +26 -1
- package/contracts/endpoint-v2/src/interfaces/layerzero_endpoint_v2.rs +1 -1
- package/contracts/endpoint-v2/src/interfaces/message_lib_manager.rs +4 -4
- package/contracts/endpoint-v2/src/interfaces/messaging_composer.rs +2 -2
- package/contracts/endpoint-v2/src/lib.rs +0 -1
- package/contracts/endpoint-v2/src/message_lib_manager.rs +39 -8
- package/contracts/endpoint-v2/src/messaging_channel.rs +36 -4
- package/contracts/endpoint-v2/src/messaging_composer.rs +18 -4
- package/contracts/endpoint-v2/src/storage.rs +9 -1
- package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/pay_messaging_fees.rs +1 -1
- package/contracts/endpoint-v2/src/tests/endpoint_v2/require_oapp_auth.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +3 -3
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_receive_lib_for_eid.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_registered.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_send_lib_for_eid.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/require_supported_eid.rs +3 -3
- package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +4 -3
- package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +7 -2
- package/contracts/endpoint-v2/src/tests/messaging_composer/mod.rs +4 -0
- package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +7 -2
- package/contracts/layerzero-views/src/layerzero_view.rs +0 -1
- package/contracts/layerzero-views/src/tests/mod.rs +1 -0
- package/contracts/layerzero-views/src/tests/types_tests.rs +31 -0
- package/contracts/layerzero-views/src/types.rs +2 -3
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/constructor.rs +61 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_impl_ttl_extension.rs +97 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/contract_trait_ttl_extension.rs +99 -0
- package/contracts/macro-integration-tests/tests/runtime/contract_ttl/mod.rs +3 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/mod.rs +5 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_default.rs +86 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig.rs +47 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_multisig_upgradeable.rs +77 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable.rs +114 -0
- package/contracts/macro-integration-tests/tests/runtime/lz_contract/wrapper_upgradeable_no_migration.rs +105 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/admin_entrypoints.rs +242 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/mod.rs +9 -0
- package/contracts/macro-integration-tests/tests/runtime/multisig/self_auth.rs +54 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/initialization.rs +13 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/mod.rs +1 -0
- package/contracts/macro-integration-tests/tests/runtime/ownable/ownership_transfer.rs +70 -1
- package/contracts/macro-integration-tests/tests/runtime/ownable/two_step_transfer.rs +219 -0
- package/contracts/macro-integration-tests/tests/runtime/storage/keyed_roundtrip.rs +41 -0
- package/contracts/macro-integration-tests/tests/runtime/storage/ttl_extension.rs +48 -16
- package/contracts/macro-integration-tests/tests/runtime/storage/unkeyed_roundtrip.rs +10 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/configuration.rs +96 -3
- package/contracts/macro-integration-tests/tests/runtime/ttl_configurable/freeze.rs +4 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/extend_instance_ttl.rs +64 -0
- package/contracts/macro-integration-tests/tests/runtime/ttl_extendable/mod.rs +16 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/migrate_guard_and_state.rs +305 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/mod.rs +3 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/no_migration.rs +59 -0
- package/contracts/macro-integration-tests/tests/runtime/upgradeable/upgrade_then_migrate.rs +88 -0
- package/contracts/macro-integration-tests/tests/runtime.rs +5 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/fail/not_impl_item.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/contract_impl/pass/basic.rs +102 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/fail/not_a_trait.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/contract_trait/pass/basic.rs +83 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/discriminant_too_large.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/error/fail/non_enum_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic.rs +22 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.rs +6 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/invalid_option.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/multisig_rejects_ownable_api.stderr +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/not_a_struct.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_invalid_inner_option.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/fail/upgradeable_missing_internal.stderr +86 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/basic.rs +45 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig.rs +34 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/multisig_upgradeable.rs +30 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable.rs +39 -0
- package/contracts/macro-integration-tests/tests/ui/lz_contract/pass/upgradeable_no_migration.rs +28 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_api.stderr +12 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/fail/rejects_ownable_trait.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/multisig/pass/basic.rs +49 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.rs +19 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_auth.stderr +12 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.rs +1 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +0 -8
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/basic.rs +39 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +7 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/invalid_storage_type_param.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/missing_storage_type_param.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_default_values.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_name_attrs.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_no_ttl_extension.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/multiple_type_params.stderr +1 -1
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.rs +13 -0
- package/contracts/macro-integration-tests/tests/ui/storage/fail/no_ttl_extension_rejects_args.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/api_surface.rs +102 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/basic.rs +43 -0
- package/contracts/macro-integration-tests/tests/ui/storage/pass/multi_key.rs +38 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.rs +14 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/missing_auth_trait.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/{minimal_contract.rs → basic.rs} +2 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/multisig_contract.rs +28 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_configurable/pass/ownable_contract.rs +32 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/basic.rs +23 -0
- package/contracts/macro-integration-tests/tests/ui/ttl_extendable/pass/no_user_contractimpl.rs +21 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/attr_args.stderr +29 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.rs +20 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_auth_trait.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/missing_upgradeable_internal.stderr +79 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/fail/non_struct_input.stderr +7 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/basic.rs +43 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/multisig_contract.rs +35 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_migration.rs +30 -0
- package/contracts/macro-integration-tests/tests/ui/upgradeable/pass/no_user_contractimpl.rs +29 -0
- package/contracts/macro-integration-tests/tests/ui_contract_impl.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_contract_trait.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_lz_contract.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui_multisig.rs +11 -0
- package/contracts/macro-integration-tests/tests/ui_ttl_extendable.rs +12 -0
- package/contracts/macro-integration-tests/tests/ui_upgradeable.rs +11 -0
- package/contracts/message-libs/blocked-message-lib/Cargo.toml +1 -1
- package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -1
- package/contracts/message-libs/blocked-message-lib/src/tests/blocked_message_lib_tests.rs +108 -0
- package/contracts/message-libs/blocked-message-lib/src/tests/mod.rs +4 -0
- package/contracts/message-libs/blocked-message-lib/src/tests/setup.rs +40 -0
- package/contracts/message-libs/simple-message-lib/src/lib.rs +1 -1
- package/contracts/message-libs/simple-message-lib/src/tests/mod.rs +2 -0
- package/contracts/message-libs/simple-message-lib/src/tests/setup.rs +124 -0
- package/contracts/message-libs/simple-message-lib/src/tests/simple_message_lib_tests.rs +309 -0
- package/contracts/message-libs/uln-302/src/errors.rs +21 -0
- package/contracts/message-libs/uln-302/src/interfaces/receive_uln.rs +1 -1
- package/contracts/message-libs/uln-302/src/receive_uln.rs +6 -4
- package/contracts/message-libs/uln-302/src/send_uln.rs +15 -6
- package/contracts/message-libs/uln-302/src/storage.rs +5 -5
- package/contracts/message-libs/uln-302/src/tests/uln302/get_config.rs +71 -0
- package/contracts/message-libs/uln-302/src/tests/uln302/mod.rs +1 -0
- package/contracts/message-libs/uln-302/src/uln302.rs +3 -0
- package/contracts/oapps/counter/Cargo.toml +2 -0
- package/contracts/oapps/counter/integration_tests/mod.rs +1 -0
- package/contracts/oapps/counter/integration_tests/setup_sml.rs +6 -4
- package/contracts/oapps/counter/integration_tests/setup_uln.rs +12 -5
- package/contracts/oapps/counter/integration_tests/test_with_blocked.rs +67 -0
- package/contracts/oapps/counter/src/tests/mod.rs +1 -0
- package/contracts/oapps/counter/src/tests/test_u256_ext.rs +48 -0
- package/contracts/oapps/oapp/src/lib.rs +0 -3
- package/contracts/oapps/oapp/src/tests/mod.rs +1 -0
- package/contracts/oapps/oft/integration-tests/setup.rs +2 -3
- package/contracts/oapps/oft/src/lib.rs +3 -0
- package/contracts/oapps/oft/src/tests/extensions/mod.rs +3 -0
- package/contracts/oapps/oft/src/tests/extensions/oft_fee.rs +240 -0
- package/contracts/oapps/oft/src/tests/extensions/pausable.rs +141 -0
- package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +447 -0
- package/contracts/oapps/oft/src/tests/mod.rs +2 -0
- package/contracts/oapps/oft/src/tests/oft_types/lock_unlock.rs +180 -0
- package/contracts/oapps/oft/src/tests/oft_types/mod.rs +1 -0
- package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -3
- package/contracts/oapps/oft-core/src/lib.rs +2 -2
- package/contracts/oapps/oft-core/src/tests/mod.rs +1 -1
- package/contracts/oapps/oft-core/src/tests/{test_oft_version.rs → test_oft_version_and_approval.rs} +9 -0
- package/contracts/oapps/oft-core/src/tests/test_utils.rs +0 -43
- package/contracts/upgrader/src/tests/test_upgrader.rs +18 -0
- package/contracts/utils/src/auth.rs +2 -2
- package/contracts/utils/src/buffer_reader.rs +61 -10
- package/contracts/utils/src/buffer_writer.rs +35 -20
- package/contracts/utils/src/bytes_ext.rs +1 -2
- package/contracts/utils/src/errors.rs +5 -3
- package/contracts/utils/src/multisig.rs +59 -36
- package/contracts/utils/src/option_ext.rs +3 -3
- package/contracts/utils/src/ownable.rs +12 -6
- package/contracts/utils/src/tests/auth.rs +179 -0
- package/contracts/utils/src/tests/buffer_reader.rs +203 -1
- package/contracts/utils/src/tests/buffer_writer.rs +176 -5
- package/contracts/utils/src/tests/mod.rs +2 -0
- package/contracts/utils/src/tests/multisig.rs +170 -141
- package/contracts/utils/src/tests/option_ext.rs +1 -1
- package/contracts/utils/src/tests/ownable.rs +156 -161
- package/contracts/utils/src/tests/test_helper.rs +21 -1
- package/contracts/utils/src/tests/testing_utils.rs +84 -2
- package/contracts/utils/src/tests/ttl_configurable.rs +66 -86
- package/contracts/utils/src/tests/ttl_extendable.rs +64 -0
- package/contracts/utils/src/tests/upgradeable.rs +115 -6
- package/contracts/utils/src/ttl_configurable.rs +22 -12
- package/contracts/utils/src/ttl_extendable.rs +1 -3
- package/contracts/utils/src/upgradeable.rs +21 -24
- package/contracts/workers/dvn/src/auth.rs +1 -1
- package/contracts/workers/dvn/src/interfaces/dvn.rs +2 -2
- package/contracts/workers/dvn/src/storage.rs +1 -1
- package/contracts/workers/dvn/src/tests/auth.rs +136 -3
- package/contracts/workers/dvn/src/tests/mod.rs +0 -1
- package/contracts/workers/dvn/src/tests/setup.rs +4 -10
- package/contracts/workers/executor-helper/src/tests/executor_helper.rs +279 -0
- package/contracts/workers/executor-helper/src/tests/setup.rs +106 -1
- package/contracts/workers/worker/src/worker.rs +1 -1
- package/docs/oft-guide.md +5 -5
- package/package.json +5 -7
- package/sdk/.turbo/turbo-test.log +662 -466
- package/sdk/LICENSE +23 -0
- package/sdk/dist/generated/bml.d.ts +101 -106
- package/sdk/dist/generated/bml.js +108 -26
- package/sdk/dist/generated/counter.d.ts +123 -484
- package/sdk/dist/generated/counter.js +103 -25
- package/sdk/dist/generated/dvn.d.ts +141 -699
- package/sdk/dist/generated/dvn.js +106 -28
- package/sdk/dist/generated/dvn_fee_lib.d.ts +31 -248
- package/sdk/dist/generated/dvn_fee_lib.js +27 -24
- package/sdk/dist/generated/endpoint.d.ts +158 -836
- package/sdk/dist/generated/endpoint.js +107 -29
- package/sdk/dist/generated/executor.d.ts +139 -671
- package/sdk/dist/generated/executor.js +106 -28
- package/sdk/dist/generated/executor_fee_lib.d.ts +109 -264
- package/sdk/dist/generated/executor_fee_lib.js +106 -28
- package/sdk/dist/generated/executor_helper.d.ts +95 -92
- package/sdk/dist/generated/executor_helper.js +103 -25
- package/sdk/dist/generated/layerzero_view.d.ts +178 -335
- package/sdk/dist/generated/layerzero_view.js +172 -33
- package/sdk/dist/generated/oft.d.ts +137 -680
- package/sdk/dist/generated/oft.js +103 -25
- package/sdk/dist/generated/price_feed.d.ts +45 -444
- package/sdk/dist/generated/price_feed.js +27 -24
- package/sdk/dist/generated/sml.d.ts +119 -428
- package/sdk/dist/generated/sml.js +103 -25
- package/sdk/dist/generated/treasury.d.ts +109 -288
- package/sdk/dist/generated/treasury.js +103 -25
- package/sdk/dist/generated/uln302.d.ts +190 -527
- package/sdk/dist/generated/uln302.js +170 -31
- package/sdk/dist/generated/upgrader.d.ts +14 -34
- package/sdk/dist/generated/upgrader.js +24 -21
- package/sdk/package.json +3 -4
- package/sdk/test/counter-sml.test.ts +218 -142
- package/sdk/test/counter-uln.test.ts +189 -145
- package/sdk/test/oft-sml.test.ts +173 -156
- package/sdk/test/suites/constants.ts +7 -1
- package/sdk/test/suites/globalSetup.ts +140 -74
- package/sdk/turbo.json +1 -1
- package/tools/ts-bindings-gen/Cargo.toml +4 -4
- package/tools/ts-bindings-gen/src/main.rs +4 -0
- package/turbo.json +3 -0
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__storage__snapshot_generated_storage_code.snap +0 -1072
- package/contracts/endpoint-v2/src/constants.rs +0 -52
- package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/error/fail/attr_not_empty.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/error/pass/attr_on_variant_allowed.rs +0 -20
- package/contracts/macro-integration-tests/tests/ui/error/pass/basic_auto_discriminants.rs +0 -15
- package/contracts/macro-integration-tests/tests/ui/error/pass/mixed_discriminants.rs +0 -16
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/minimal_contract.rs +0 -26
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +0 -21
- package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.rs +0 -12
- package/contracts/macro-integration-tests/tests/ui/storage/fail/storage_attr_rejects_args.stderr +0 -7
- package/contracts/macro-integration-tests/tests/ui/storage/pass/default_value_on_variant.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_instance_unit_basic.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_persistent_named_fields_keyed.rs +0 -16
- package/contracts/macro-integration-tests/tests/ui/storage/pass/enum_temporary_unit_option.rs +0 -15
- package/contracts/macro-integration-tests/tests/ui/storage/pass/name_override.rs +0 -14
- package/contracts/macro-integration-tests/tests/ui/storage/pass/no_auto_ttl_extension.rs +0 -19
- package/contracts/macro-integration-tests/tests/ui/storage/pass/ttl_provider_basic.rs +0 -15
- package/contracts/message-libs/simple-message-lib/src/test.rs +0 -280
- package/contracts/oapps/oapp/src/macro_tests/mod.rs +0 -1
- package/contracts/workers/dvn/src/tests/multisig/mod.rs +0 -3
- package/contracts/workers/dvn/src/tests/multisig/set_signer.rs +0 -132
- package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +0 -109
- package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +0 -106
- /package/contracts/oapps/oapp/src/{macro_tests → tests}/test_macros.rs +0 -0
|
@@ -6,14 +6,14 @@ export * as contract from '@stellar/stellar-sdk/contract';
|
|
|
6
6
|
export * as rpc from '@stellar/stellar-sdk/rpc';
|
|
7
7
|
/**
|
|
8
8
|
* Embedded WASM bytecode (base64-encoded)
|
|
9
|
-
* Size:
|
|
9
|
+
* Size: 56531 bytes (55.21 KB)
|
|
10
10
|
*/
|
|
11
|
-
export declare const WASM_BASE64 = "AGFzbQEAAAABsAEdYAR+fn5+AX5gAn5+AX5gAX4BfmAAAX5gA35+fgF+YAN/f38AYAJ/fwF+YAJ+fgF/YAN/fn4AYAAAYAABf2ABfwBgAn9/AGABfwF/YAF/AX5gAn5/AGABfgBgAn9+AGAEf39/fwF+YAF+AX9gBX5/f39/AGACf38Bf2ADf39+AGAFfn5+fn4BfmAFf35/f34AYAh+fn5+fn5+fgF+YAJ+fgBgA35/fwF+YAN/f38BfwL9ASoBbAE3AAABbAExAAEBYQEwAAIBdgFkAAEBdgEzAAIBdgEyAAEBdgE2AAEBeAExAAEBdgFfAAMBdgExAAEBYgE4AAIBYgEzAAEBYgFlAAEBYgEwAAIBYwEwAAQBdgE4AAIBdgE5AAIBbAEyAAEBbAFfAAQBeAE3AAMBZAFfAAQBaQEwAAIBZAEwAAQBbAE2AAIBaQEzAAEBaQE1AAIBaQE0AAIBbQFhAAABdgFnAAEBYgFtAAQBaQE4AAIBaQE3AAIBaQE2AAEBaQFfAAIBYgFqAAEBbQE5AAQBeAEwAAEBeAEzAAMBeAE4AAMBbAEwAAEBbAE4AAEBeAE1AAIDqQGnAQUGBwcHBwgJCgsMDQoOBwMDAwsPCQsQDgsFEQgPAxERCwUCEhATDwMGCwwMCgwTDQsLEwoTCg4TDwwRFBERDAgRCBEEEQwCFREREQMCCQIWAQEBCwsBAQsBEAQBEAEQEAMCAwIDAgMCAgMDAQIDAxcYCBcBDAYBAhcRAxkMDBAAAgsCAwwDAwMDAhoBCQoIAwMBAREOAwwDAwkNGwUREQUODAURDBwcBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEGohcAAC38AQYCNwAALfwBBgI3AAAsHkgc1Bm1lbW9yeQIADF9fY2hlY2tfYXV0aABtCnNldF9wYXVzZWQAeAlzZXRfYWRtaW4AehlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAHsNc2V0X2FsbG93bGlzdAB8DHNldF9kZW55bGlzdAB/GnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAIABE3NldF9kZXBvc2l0X2FkZHJlc3MAggEac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAhAESc2V0X3dvcmtlcl9mZWVfbGliAIUBDnNldF9wcmljZV9mZWVkAIcBBnBhdXNlZACKAQhpc19hZG1pbgCLAQZhZG1pbnMAjAEYaXNfc3VwcG9ydGVkX21lc3NhZ2VfbGliAI0BDG1lc3NhZ2VfbGlicwCOAQ9pc19vbl9hbGxvd2xpc3QAjwEOYWxsb3dsaXN0X3NpemUAkAEOaXNfb25fZGVueWxpc3QAkQEHaGFzX2FjbACSARZkZWZhdWx0X211bHRpcGxpZXJfYnBzAJMBD2RlcG9zaXRfYWRkcmVzcwCUARpnZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwCWAQ53b3JrZXJfZmVlX2xpYgCXAQpwcmljZV9mZWVkAJgBCmFzc2lnbl9qb2IAmQEHZ2V0X2ZlZQCcAQ5zZXRfZHN0X2NvbmZpZwCgAQpkc3RfY29uZmlnAKEBC25hdGl2ZV9kcm9wAKIBCGVuZHBvaW50AKQBDV9fY29uc3RydWN0b3IApQEOd2l0aGRyYXdfdG9rZW4AqQEHdXBncmFkZQCqAQdtaWdyYXRlAKwBBmZyZWV6ZQCtAQlpc19mcm96ZW4ArwEKYXV0aG9yaXplcgCwAQVvd25lcgCxAQ1wZW5kaW5nX293bmVyALIBEnRyYW5zZmVyX293bmVyc2hpcACzARpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgC1ARBhY2NlcHRfb3duZXJzaGlwALkBEnJlbm91bmNlX293bmVyc2hpcAC6ARNleHRlbmRfaW5zdGFuY2VfdHRsALsBD3NldF90dGxfY29uZmlncwC8AQt0dGxfY29uZmlncwC/ARJmcmVlemVfdHRsX2NvbmZpZ3MAwQEVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAMIBAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwqFrgGnAScAQQAgABCrgICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEICAgIAAGgubAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQQFxRQ0AIAJBjYPAgABBCBDDgICAACACKAIADQIgAiACKQMIEMSAgIAADAELIAJBhIPAgABBCRDDgICAACACKAIADQEgAiACKQMIIAGtQiCGQgSEEMWAgIAACyACKQMIIQMgAikDAFANAQsACyACQRBqJICAgIAAIAMLDwAgACABEK2AgIAAQQFzCw0AIAAgARCkgICAAFALDwAgACABEK+AgIAAQQFzC6IBAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkAgAEL/AYNCDlINACABQv8Bg0IOUQ0BCyAAIAEQpICAgABQIQMMAQsgAiABQgiINwMIIAIgAEIIiDcDAAJAA0AgAhDEgYCAACEDIAJBCGoQxIGAgAAhBCADQYCAxABGDQEgAyAERg0AC0EAIQMMAQsgBEGAgMQARiEDCyACQRBqJICAgIAAIAMLNwEBfkIAIQMCQAJAIAFCAlENACABp0EBcQ0BIAAgAjcDCEIBIQMLIAAgAzcDAA8LELGAgIAAAAsJABDDgYCAAAALWAECfyOAgICAAEEQayIAJICAgIAAIABBBGoQs4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELSAgIAAC0EAELWAgIAAIQEgAEEQaiSAgICAACABQf0BcQsMACAAQQEQy4GAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQqICAgAAaC0cCAX8BfkECIQECQCAAEMqBgIAAIgJCAhC4gICAAEUNAEEBIQECQAJAIAJCAhCBgICAAKdB/wFxDgIBAgALAAtBACEBCyABC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqELOAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC0gICAAAtBACEBAkBBABC3gICAACICQgIQuICAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUG2iMCAAEEGEMOAgIAAIAEoAgANAyABIAEpAwgQxICAgAAMAgsgAUG8iMCAAEEIEMOAgIAAIAEoAgANAiABIAEpAwgQxICAgAAMAQsgAUHEiMCAAEEKEMOAgIAAIAEoAgANASABIAEpAwgQxICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPACAAIAEQp4CAgABCAVELFQEBfhC6gICAACIAEIKAgIAAGiAAC2YCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQs4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELSAgIAACyAAELyAgIAAIAApAwghASAAKQMAQYoIEL2AgIAAIABBEGokgICAgAAgAQtKAgF/AX4jgICAgABBEGsiACSAgICAACAAELyAgIAAIAApAwghASAAKQMAQYoIEL2AgIAAIAEQgoCAgAAaIABBEGokgICAgAAgAQtQAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALIAAQwoCAgAAgAUEQaiSAgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EMCAgIAAAAtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABC/gICAAAJAIAApAwBQDQBCg4CAgLCBARDAgICAAAALIABBEGokgICAgAALkwECAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQs4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELSAgIAAC0IAIQICQAJAQQEQwYCAgAAiA0IAELiAgIAARQ0AIANCABCBgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAgAUEQaiSAgICAAA8LAAsLACAAEKmAgIAAGguSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFByYfAgABBDBDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBxIfAgABBBRDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQwYCAgAAiAkICELiAgIAARQ0AIAJCAhCBgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQxoGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEJ+BgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCfgYCAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAvNAgMBfwJ+AX8jgICAgABBMGsiAiSAgICAABDHgICAACIDIAAQg4CAgAAhBAJAAkACQAJAAkAgAQ0AIAJBCGogBBDIgICAACACKAIIIgVBAkYNASAFQQFxRQ0CIAIoAgwiBSADEISAgIAAQiCIp08NBCADIAWtQiCGQgSEEIWAgIAAIQMMBAsgBEICUQ0CQoOAgICAlgEQwICAgAAACxCxgICAAAALQoOAgICQlgEQwICAgAAACyADIAAQhoCAgAAhAwsgAkEBNgIgIAJBIGogAxDJgICAACACQRRqEMqAgIAAAkAgAigCFEEBRw0AIAJBIGogAigCGCACKAIcEMuAgIAAC0KO5q656ozk1TgQzICAgAAhAyACIAA3AyggAiABrTcDICADQeSIwIAAQQIgAkEgakECEM2AgIAAEIeAgIAAGiACQTBqJICAgIAAC6kBAgF/A34jgICAgABBMGsiACSAgICAACAAQRBqELOAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC0gICAAAsgAEEBNgIAIABBEGogABDVgICAAAJAIAApAxAiAVANACAAQSRqEMqAgIAAIAAoAiRBAUcNACAAIAAoAiggACgCLBDLgICAAAsQiICAgAAhAiAAKQMYIQMgAEEwaiSAgICAACADIAIgAacbCz0BAn8CQAJAIAFCAlINAEEAIQIMAQtBAUECIAFC/wGDQgRRGyECIAFCIIinIQMLIAAgAzYCBCAAIAI2AgALFQAgABDggICAACABQgEQkoCAgAAaCwwAIABBAhDLgYCAAAslACAAEOCAgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQgICAgAAaC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCfgYCAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEKOAgIAACycAIAAQgoCAgAAaAkAgABDPgICAAA0AQoOAgIDAlwEQwICAgAAACwtdAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALEMeAgIAAIAAQg4CAgAAhACABQRBqJICAgIAAIABCAlIL0QIDAX8CfgF/I4CAgIAAQTBrIgIkgICAgAAQ0YCAgAAiAyAAEIOAgIAAIQQCQAJAAkACQAJAIAENACACQQhqIAQQyICAgAAgAigCCCIFQQJGDQEgBUEBcUUNAiACKAIMIgUgAxCEgICAAEIgiKdPDQQgAyAFrUIghkIEhBCFgICAACEDDAQLIARCAlENAkKDgICA0JYBEMCAgIAAAAsQsYCAgAAAC0KDgICA4JYBEMCAgIAAAAsgAyAAEIaAgIAAIQMLIAJBAjYCICACQSBqIAMQyYCAgAAgAkEUahDKgICAAAJAIAIoAhRBAUcNACACQSBqIAIoAhggAigCHBDLgICAAAtB9IjAgABBGRDSgICAABDMgICAACEDIAIgAa03AyggAiAANwMgIANBpInAgABBAiACQSBqQQIQzYCAgAAQh4CAgAAaIAJBMGokgICAgAALqQECAX8DfiOAgICAAEEwayIAJICAgIAAIABBEGoQs4CAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELSAgIAACyAAQQI2AgAgAEEQaiAAENWAgIAAAkAgACkDECIBUA0AIABBJGoQyoCAgAAgACgCJEEBRw0AIAAgACgCKCAAKAIsEMuAgIAACxCIgICAACECIAApAxghAyAAQTBqJICAgIAAIAMgAiABpxsLRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQxoGAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEKNgIAIAAgARDUgICAACABQRBqJICAgIAAC00BAn5CACECAkACQCABEOCAgIAAIgNCAhC4gICAAEUNACADQgIQgYCAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC00BAn5CACECAkACQCABEOCAgIAAIgNCARC4gICAAEUNACADQgEQgYCAgAAiAkL/AYNCywBSDQEgACACNwMIQgEhAgsgACACNwMADwsAC3cBA38jgICAgABBIGsiACSAgICAACAAQRBqELOAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC0gICAAAsgAEEENgIQIABBCGogAEEQahDXgICAACAAKAIIIQEgACgCDCECIABBIGokgICAgAAgAkEAIAFBAXEbC1oCAX4BfwJAAkACQCABEOCAgIAAIgJCAhC4gICAAA0AQQAhAQwBCyACQgIQgYCAgAAiAkL/AYNCBFINASACQiCIpyEDQQEhAQsgACADNgIEIAAgATYCAA8LAAuMAQECfyOAgICAAEEgayIBJICAgIAAIAEQs4CAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELSAgIAACyABQQU2AgAgASAANwMIAkAgARDZgICAACICRQ0AIAFBFGoQyoCAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcEMuAgIAACyABQSBqJICAgIAAIAILEgAgABDggICAAEIBELiAgIAAC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEJNgIAIAAgARDUgICAACABQRBqJICAgIAAC1YBAX8jgICAgABBEGsiASSAgICAACABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEHNgIAIAAgARDUgICAACABQRBqJICAgIAAC4wBAQJ/I4CAgIAAQSBrIgEkgICAgAAgARCzgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtICAgAALIAFBAzYCACABIAA3AwgCQCABENmAgIAAIgJFDQAgAUEUahDKgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQy4CAgAALIAFBIGokgICAgAAgAgt3AQN/I4CAgIAAQSBrIgAkgICAgAAgAEEQahCzgICAAAJAIAAoAhBBAUcNACAAKAIUIAAoAhgQtICAgAALIABBBjYCECAAQQhqIABBEGoQ14CAgAAgACgCCCEBIAAoAgwhAiAAQSBqJICAgIAAIAJBACABQQFxGwtdAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEEahCzgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtICAgAALENGAgIAAIAAQg4CAgAAhACABQRBqJICAgIAAIABCAlILjwECAn8BfiOAgICAAEEQayIAJICAgIAAIAAQs4CAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIELSAgIAAC0EAIQEgAEEANgIAAkAgABDggICAACICQgIQuICAgABFDQBBASEBAkACQCACQgIQgYCAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC6YEAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4LAAECAwQFBgcICQoACyABQYCMwIAAQQYQw4CAgAAgASgCAA0LIAEgASkDCBDEgICAAAwKCyABQYaMwIAAQQYQw4CAgAAgASgCAA0KIAEgASkDCBDEgICAAAwJCyABQYyMwIAAQQsQw4CAgAAgASgCAA0JIAEgASkDCBDEgICAAAwICyABQZeMwIAAQQkQw4CAgAAgASgCAA0IIAEgASkDCCAAKQMIEMWAgIAADAcLIAFBoIzAgABBDRDDgICAACABKAIADQcgASABKQMIEMSAgIAADAYLIAFBrYzAgABBCBDDgICAACABKAIADQYgASABKQMIIAApAwgQxYCAgAAMBQsgAUG1jMCAAEEUEMOAgIAAIAEoAgANBSABIAEpAwgQxICAgAAMBAsgAUHJjMCAAEEOEMOAgIAAIAEoAgANBCABIAEpAwgQxICAgAAMAwsgAUHXjMCAAEEUEMOAgIAAIAEoAgANAyABIAEpAwggADUCBEIghkIEhBDFgICAAAwCCyABQeuMwIAAQQwQw4CAgAAgASgCAA0CIAEgASkDCBDEgICAAAwBCyABQfeMwIAAQQkQw4CAgAAgASgCAA0BIAEgASkDCBDEgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC3wBAn8jgICAgABBEGsiASSAgICAACABQQRqELOAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC0gICAAAsCQAJAIAAQ2ICAgABFDQBBACECDAELAkAQ1oCAgAANAEEBIQIMAQsgABDcgICAACECCyABQRBqJICAgIAAIAILKQACQCAAp0EBcUUNAA8LIAFB0HZqrUIghkKDgICAgJYBhBDAgICAAAALaQIBfwF+AkAgASgCCCICIAEoAgxJDQAgAEICNwMADwsgASkDACACrUIghkIEhBCJgICAACEDAkAgAkEBaiICRQ0AIAAgAzcDCCABIAI2AgggACADQv8Bg0LNAFKtNwMADwsQsYCAgAAAC9wCAgJ/Bn4jgICAgABB0ABrIgIkgICAgABBACEDAkADQCADQShGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCACEEQgEhBQJAIAFC/wGDQswAUg0AIAFByIHAgABBBSACQQhqQQUQ5YCAgAAgAkEwaiACKQMIEOaAgIAAIAIoAjBBAUYNACACKQNIIQEgAikDQCEGIAJBMGogAikDEBDngICAACACKAIwDQAgAikDOCEHIAJBMGogAikDGBDngICAACACKAIwDQAgAikDICIIQv8Bg0IEUg0AIAIpAzghCSACQTBqIAIpAygQ5oCAgAAgAigCMEEBRg0AIAIpA0AhBCAAIAIpA0g3AyggACAENwMgIAAgATcDGCAAIAY3AxAgACAIQiCIpzYCQCAAIAc3AzggACAJNwMwQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkHQAGokgICAgAALMQACQCACIARGDQAACyAAIAGtQiCGQgSEIAOtQiCGQgSEIAKtQiCGQgSEEJuAgIAAGgt7AgF/AX4CQAJAAkAgAadB/wFxIgJBxABGDQAgAkEKRw0BQgAhAyAAQgA3AxggACABQgiINwMQDAILIAEQmYCAgAAhAyABEJqAgIAAIQEgACADNwMYIAAgATcDEEIAIQMMAQsgAEKDkICAgAE3AwhCASEDCyAAIAM3AwALXQIBfwF+AkACQCABp0H/AXEiAkHAAEYNAAJAIAJBBkYNAEIBIQNCg5CAgIABIQEMAgsgAUIIiCEBQgAhAwwBC0IAIQMgARCVgICAACEBCyAAIAM3AwAgACABNwMIC/wBAgF/BX4jgICAgABBMGsiAiSAgICAACACQQhqIAEpAwAgASkDCBDpgICAAEIBIQMCQCACKAIIDQAgAikDECEEIAJBCGogASkDKBDqgICAACACKAIIDQAgAikDECEFIAJBCGogASkDIBDqgICAACACKAIIDQAgAikDECEGIAE1AjAhByACQQhqIAEpAxAgASkDGBDpgICAACACKAIIDQAgAiACKQMQNwMoIAIgBjcDGCACIAU3AxAgAiAENwMIIAIgB0IghkIEhDcDICAAQciBwIAAQQUgAkEIakEFEM2AgIAANwMIQgAhAwsgACADNwMAIAJBMGokgICAgAALRgACQAJAIAFC//////////8AViACQgBSIAJQGw0AIAFCCIZCCoQhAgwBCyACIAEQmICAgAAhAgsgAEIANwMAIAAgAjcDCAtCAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABEKOBgIAAIAIpAwghASAAIAIpAwA3AwAgACABNwMIIAJBEGokgICAgAALgQEBAn8jgICAgABBIGsiAySAgICAAAJAAkAgAadBAXENACAAQoGAgIAwNwMADAELIAMgAhDsgICAAAJAAkAgAygCAEEBRw0AIABBAzYCBEEBIQQMAQsgACADKQMYNwMYIAAgAykDEDcDEEEAIQQLIAAgBDYCAAsgA0EgaiSAgICAAAt9AgF/AX4CQAJAAkACQCABp0H/AXEiAkHFAEYNACACQQtHDQIgACABQj+HNwMYIAAgAUIIhzcDEAwBCyABEJ6AgIAAIQMgARCfgICAACEBIAAgAzcDGCAAIAE3AxALQgAhAQwBCyAAQoOQgICAATcDCEIBIQELIAAgATcDAAuuDQUBfwF+AX8DfgF/I4CAgIAAQcAAayIDJICAgIAAIANBEGogABDugICAAAJAIAMoAhBBAUYNACADKQMYIQRBACEFAkADQCAFQRBGDQEgA0EwaiAFakICNwMAIAVBCGohBQwACwsgAUL/AYNCzABSDQAgAUH0gsCAAEECIANBMGpBAhDlgICAACADQRBqIAMpAzAQ7oCAgAAgAygCEA0AIAMpAzgiAUL/AYNCyABSDQAgAykDGCEAIAEQioCAgABCgICAgHCDQoCAgICACFINACACQv8Bg0LLAFINACADQRBqELOAgIAAAkAgAygCEEEBRw0AIAMoAhQgAygCGBC0gICAAAtBqIXAgACtQiCGQgSEQoSAgIDAARCLgICAACAAEIyAgIAAEI2AgIAAIgZC/wGDQs0AUg0AAkACQCAGEM+AgIAADQBCg4CAgCAhAQwBCyAAIAQgARCOgICAABoCQAJAAkACQCACEISAgIAAQv////8vVg0AIAIQhICAgABCgICAgBBUDQAgAhCPgICAACIBQv8Bg0LLAFINBSABEISAgIAAIQAgA0EANgIIIAMgATcDACADIABCIIg+AgwgA0EQaiADEO+AgIAAIAMpAxAiAUICUQ0FIAGnQQFxDQUCQCADKQMYIgGnQf8BcSIFQcoARg0AIAVBDkcNBgsCQAJAAkACQAJAIAEQ8ICAgABCIIinDgMAAQIKCyADKAIIIAMoAgwQ8YCAgABBAUsNCSADQTBqIAMQ74CAgAAgAykDMCIBQgJRDQkgAadBAXENCSADQRBqIAMpAzgQ8oCAgAAgAygCEEEBRg0JIAMpAyghBiADKQMYIQAgAykDICIBQaSCwIAAQRAQ0oCAgAAQr4CAgAANAyABQbSCwIAAQRAQ0oCAgAAQr4CAgAANAwJAIAFBxILAgABBChDSgICAABCugICAAEUNACABQc6CwIAAQQoQ0oCAgAAQroCAgAANBQsgBhCEgICAAEL/////D1YNAiADQQM2AhQMBgsgAygCCCADKAIMEPGAgIAAQQFLDQggA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPOAgIAAIAMoAhBFDQMMCAsgAygCCCADKAIMEPGAgIAAQQFLDQcgA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0HIAGnQQFxDQcgA0EQaiADKQM4EPSAgIAAIAMoAhANBwwCCyADQRBqQgEgBhCQgICAABDrgICAACADKAIQQQFxDQMgAykDKCEBIAMpAyAhACACEISAgIAAQiCIIQYCQCAAIAGEQgBSDQAgBkIBUg0CDAMLIAZCAlINAQJAAkAgAhCEgICAAEKAgICAIFQNACACQoSAgIAQEImAgIAAIgJC/wGDQssAUg0IIAIQhICAgAAhBiADQQA2AgggAyACNwMAIAMgBkIgiD4CDCADQRBqIAMQ74CAgAAgAykDECICQgJRDQggAqdBAXENCAJAIAMpAxgiAqdB/wFxIgVBygBGDQAgBUEORw0JCwJAAkACQCACEPCAgIAAQiCIpw4DAAECCwsgAygCCCADKAIMEPGAgIAAQQFLDQogA0EwaiADEO+AgIAAIAMpAzAiAkICUQ0KIAKnQQFxDQogA0EQaiADKQM4EPKAgIAAIAMoAhBBAUYNCiADKQMgIQYgAykDGCEEIAMpAyghAhD1gICAABD2gICAACEHIAIQhICAgABC/////y9WDQMgA0EDNgIUDAcLIAMoAgggAygCDBDxgICAAEEBSw0JIANBMGogAxDvgICAACADKQMwIgFCAlENCSABp0EBcQ0JIANBEGogAykDOBDzgICAACADKAIQDQkMBAsgAygCCCADKAIMEPGAgIAAQQFLDQggA0EwaiADEO+AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPSAgIAAIAMoAhANCAwDCxD3gICAAAALIANBEGpCASACQoSAgIAgEImAgIAAEOuAgIAAIAMoAhBBAXENAyADKQMoIQIgAykDICEIQQMhBSAGQdiCwIAAQQgQ0oCAgAAQroCAgAANBCAEIAcQrICAgAAhCSAIIACFIAIgAYWEQgBSDQQgCUUNAgwECyACEISAgIAAQoCAgIBwg0KAgICAEFINACAAEPWAgIAAEKyAgIAARQ0BC0KDgICAMCEBDAMLQgIhAQwCCyADKAIUIQULIAVBf2qtQiCGQoOAgIAQfCEBCyADQcAAaiSAgICAACABDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCKgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAtKAgF+AX9CAiECAkAgASgCCCIDIAEoAgxPDQAgACABKQMAIAOtQiCGQgSEEImAgIAANwMIIAEgA0EBajYCCEIAIQILIAAgAjcDAAsSACAAQbiAwIAAQQMQxYGAgAALGQACQCABIABJDQAgASAAaw8LELGAgIAAAAvTAQICfwN+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHMhcCAAEEDIAJBCGpBAxDlgICAACACKQMIIgFC/wGDQssAUg0AIAIpAxAiBUL/AYNCzQBSDQACQCACKQMYIganQf8BcSIDQcoARg0AIANBDkcNAQsgACABNwMYIAAgBjcDECAAIAU3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAu+AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH0hcCAAEECIAJBAhDlgICAACACQRBqIAIpAwAQx4GAgAAgAigCEA0AIAIpAxghASACQRBqIAIpAwgQ7oCAgAAgAigCEA0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAvgAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGUhsCAAEEDIAJBCGpBAxDlgICAACACKQMIIgFC/wGDQssAUg0AIAJBIGogAikDEBDHgYCAACACKAIgDQAgAikDKCEFIAJBIGogAikDGBDugICAACACKAIgDQAgAikDKCEEIAAgATcDGCAAIAQ3AxAgACAFNwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALhwECAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQs4CAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELSAgIAACwJAAkBBASAAEKuAgIAAIgFCAhC4gICAAEUNACABQgIQgYCAgAAiAUL/AYNCzQBRDQEACxD3gICAAAALIABBEGokgICAgAAgAQs2AAJAIABBvIPAgABBDBDSgICAABCIgICAABCUgICAACIAQv8Bg0LNAFENABCxgICAAAALIAALCQAQsYCAgAAAC50CAgJ/AX4jgICAgABBEGsiASSAgICAAAJAAkBBASAAp0H/AXEiAkEAR0EBdCACQQFGGyICQQJGDQAgARCzgICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtICAgAALELmAgIAAIQAQ34CAgAAgAnNBAXFFDQEgAUEANgIAIAEgAkICEPmAgIAAAkACQCACQQFxDQBCjtKq3O6sz/UAEMyAgIAAIQMgASAANwMAIANBmIrAgABBASABQQEQzYCAgAAQh4CAgAAaDAELQo7SqtzurAMQzICAgAAhAyABIAA3AwAgA0GIisCAAEEBIAFBARDNgICAABCHgICAABoLIAFBEGokgICAgABCAg8LAAtCg4CAgKCXARDAgICAAAALGgAgABDggICAACABrUL/AYMgAhCSgICAABoLjQEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBBGoQs4CAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELSAgIAACxC5gICAABogACADQQFxEMaAgIAAIAJBEGokgICAgABCAg8LAAuNAQECfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEEahCzgICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQtICAgAALELmAgIAAGiAAIANBAXEQ0ICAgAAgAkEQaiSAgICAAEICDwsAC6MDAQN/I4CAgIAAQSBrIgIkgICAgAACQAJAAkACQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACQRBqELOAgIAAAkAgAigCEEEBRw0AIAIoAhQgAigCGBC0gICAAAsQuYCAgAAaIAAQ3ICAgAAhBAJAAkAgA0EBcQ0AIARFDQMgAkEDNgIQIAIgADcDGCACQRBqEOCAgIAAQgEQkYCAgAAaENaAgIAAIgRFDQUgBEF/aiEEDAELIAQNAyACQQM2AhAgAiAANwMYIAJBEGoQ/YCAgAAgAkEEahDKgICAAAJAIAIoAgRBAUcNACACQRBqIAIoAgggAigCDBDLgICAAAsQ1oCAgABBAWoiBEUNBAsgBBD+gICAAEG0icCAAEENENKAgIAAEMyAgIAAIQEgAiAANwMYIAIgA603AxAgAUHMicCAAEECIAJBEGpBAhDNgICAABCHgICAABogAkEgaiSAgICAAEICDwsAC0KDgICAgJcBEMCAgIAAAAtCg4CAgKCWARDAgICAAAALELGAgIAAAAsOACAAQQFCARD5gICAAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEENgIAIAEgABDOgYCAACABQRBqJICAgIAAC+4CAQN/I4CAgIAAQSBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEQahCzgICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQtICAgAALELmAgIAAGiAAENiAgIAAIQQCQAJAIANBAXENACAERQ0DIAJBBTYCECACIAA3AxggAkEQahDggICAAEIBEJGAgIAAGgwBCyAEDQMgAkEFNgIQIAIgADcDGCACQRBqEP2AgIAAIAJBBGoQyoCAgAAgAigCBEEBRw0AIAJBEGogAigCCCACKAIMEMuAgIAAC0HcicCAAEEMENKAgIAAEMyAgIAAIQEgAiAANwMYIAIgA603AxAgAUHwicCAAEECIAJBEGpBAhDNgICAABCHgICAABogAkEgaiSAgICAAEICDwsAC0KDgICAkJcBEMCAgIAAAAtCg4CAgLCWARDAgICAAAALegEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQQRqELOAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC0gICAAAsgABDOgICAACABQiCIpxCBgYCAACACQRBqJICAgIAAQgIPCwALcgIBfwF+I4CAgIAAQRBrIgEkgICAgAAgAUEGNgIAIAEgABDOgYCAAEGgisCAAEEaENKAgIAAEMyAgIAAIQIgASAArUIghkIEhDcDACACQciKwIAAQQEgAUEBEM2AgIAAEIeAgIAAGiABQRBqJICAgIAAC6wBAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACELOAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBC0gICAAAsgABDOgICAACABEIOBgIAAQdCKwIAAQRMQ0oCAgAAQzICAgAAhACACIAE3AwAgAEH0isCAAEEBIAJBARDNgICAABCHgICAABogAkEQaiSAgICAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQc2AgAgASAAEM2BgIAAIAFBEGokgICAgAALlwIBAX8jgICAgABBIGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkL/AYNCyABSDQAgA0EQahCzgICAAAJAIAMoAhBBAUcNACADKAIUIAMoAhgQtICAgAALIAAQzoCAgAAgA0EINgIQIAMgAUIgiD4CFCADQRBqEOCAgIAAIAJCARCSgICAABogA0EEahDKgICAAAJAIAMoAgRBAUcNACADQRBqIAMoAgggAygCDBDLgICAAAtBnIvAgABBGhDSgICAABDMgICAACEAIAMgAjcDGCADIAFChICAgHCDNwMQIABBzIvAgABBAiADQRBqQQIQzYCAgAAQh4CAgAAaIANBIGokgICAgABCAg8LAAusAQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAhCzgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtICAgAALIAAQzoCAgAAgARCGgYCAAEHci8CAAEESENKAgIAAEMyAgIAAIQAgAiABNwMAIABB+IvAgABBASACQQEQzYCAgAAQh4CAgAAaIAJBEGokgICAgABCAg8LAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEJNgIAIAEgABDNgYCAACABQRBqJICAgIAAC38BAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAJBBGoQs4CAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELSAgIAACyAAEM6AgIAAIAEQiIGAgAAgARCJgYCAACACQRBqJICAgIAAQgIPCwALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBCjYCACABIAAQzYGAgAAgAUEQaiSAgICAAAtdAgF/AX4jgICAgABBEGsiASSAgICAAEH8isCAAEEOENKAgIAAEMyAgIAAIQIgASAANwMIIAJBlIvAgABBASABQQhqQQEQzYCAgAAQh4CAgAAaIAFBEGokgICAgAALCQAQ34CAgACtCxsAAkAgAEL/AYNCzQBRDQAACyAAEM+AgIAArQsIABDHgICAAAsbAAJAIABC/wGDQs0AUQ0AAAsgABDegICAAK0LCAAQ0YCAgAALGwACQCAAQv8Bg0LNAFENAAALIAAQ3ICAgACtCw8AENaAgIAArUIghkIEhAsbAAJAIABC/wGDQs0AUQ0AAAsgABDYgICAAK0LGwACQCAAQv8Bg0LNAFENAAALIAAQ4YCAgACtCw8AEN2AgIAArUIghkIEhAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENuAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbC8gBAgJ/AX4jgICAgABBIGsiASSAgICAAAJAIABC/wGDQgRSDQAgAEIgiKchAiABELOAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC0gICAAAsgAUEINgIAIAEgAjYCBEICIQACQCABEOCAgIAAIgNCARC4gICAAEUNACADQgEQgYCAgAAiAEL/AYNCyABSDQEgAUEUahDKgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQy4CAgAALIAFBIGokgICAgAAgAA8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENqAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAENOAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQuzAgEBfyOAgICAAEHAAGsiBSSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANC/wGDQgRSDQAgBEL/AYNCyABSDQAgBRCzgICAAAJAIAUoAgBBAUcNACAFKAIEIAUoAggQtICAgAALIAAQgoCAgAAaIAAQ3oCAgABFDQEgBSABIAJCIIinIANCIIinIAQQmoGAgAAgBUEwahDbgICAACAFKQM4IQAgBSkDMEG0CRDigICAACAFQTBqIAUpAwAgBSkDCBCbgYCAACAFKAIwQQFHDQILAAtCg4CAgNCXARDAgICAAAALIAUpAzghASAFIAA3AyggBSABNwMgQdCDwIAAQQIgBUEgakECEM2AgIAAIQAgBUHAAGokgICAgAAgAAvGBQQBfwl+AX8BfiOAgICAAEHwAGsiBSSAgICAACAFELOAgIAAAkAgBSgCAEEBRw0AIAUoAgQgBSgCCBC0gICAAAsCQBDfgICAAA0AAkAgARDhgICAAEUNACAFIAIQnoGAgAACQAJAIAUoAgBBAXFFDQAgBSkDKCEGIAUpAyAhByAFNQJAIQggBSkDOCEJIAUpAzAhCiAFKQMYIQsgBSkDECEMIAUQ04CAgAAgBSkDCCENIAUpAwBBuwkQ4oCAgAAgBRDagICAACAFKQMIIQ4gBSkDAEG+CRDigICAABDdgICAACEPEJOAgIAAIRAgBUHgAGogDCALEOmAgIAAIAUoAmANASAFKQNoIQsgBUHgAGogCRDqgICAACAFKAJgDQEgBSkDaCEMIAVB4ABqIAoQ6oCAgAAgBSgCYA0BIAUpA2ghCSAFQeAAaiAHIAYQ6YCAgAAgBSgCYEEBRg0BIAUpA2ghCiAFIAE3A1AgBSANNwNIIAUgBDcDQCAFIAo3AzggBSAJNwMoIAUgDDcDICAFIAs3AxggBSACrUIghkIEhDcDECAFIA+tQiCGQgSENwMIIAUgA61CIIZCBIQ3AwAgBSAIQiCGQgSENwMwIAVB0ITAgABBCyAFQQsQzYCAgAA3A2ggBSAQNwNgQQAhAgJAA0ACQCACQRBHDQBBACECAkADQCACQRBGDQEgBSACaiAFQeAAaiACaikDADcDACACQQhqIQIMAAsLIAUgDkKO1Oq1kNeyASAFQQIQn4GAgAAQlICAgAAQ7ICAgAAgBSgCAEEBRg0CIAUpAxAhASAAIAUpAxg3AwggACABNwMAIAVB8ABqJICAgIAADwsgBSACakICNwMAIAJBCGohAgwACwsQsYCAgAAAC0KDgICAEBDAgICAAAsAC0KDgICA8JYBEMCAgIAAAAtCg4CAgPCXARDAgICAAAALWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQoICAgAAhAQsgAEIANwMAIAAgATcDCAuLAQEBfyOAgICAAEEQayIFJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCBFINACADQv8Bg0IEUg0AIARC/wGDQsgAUg0AIAUgASACQiCIpyADQiCIpyAEEJqBgIAAIAUpAwAgBSkDCBCdgYCAACEBIAVBEGokgICAgAAgAQ8LAAtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQm4GAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABC90BAgF/AX4jgICAgABB0ABrIgIkgICAgAAgAhCzgICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtICAgAALAkACQAJAQQAgARCrgICAACIDQgEQuICAgABFDQAgAiADQgEQgYCAgAAQ5ICAgAAgAigCAEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgAEEQaiACQRBqQcAAENCBgIAAGiAAQgA3AwggAEIBNwMAIAIQyoCAgAAgAigCAEEBRw0AIAEgAigCBCACKAIIEKqAgIAACyACQdAAaiSAgICAAAsaACAArUIghkIEhCABrUIghkIEhBCcgICAAAvzBAUBfwF+AX8BfgJ/I4CAgIAAQaACayICJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LLAFINACACQdABahCzgICAAAJAIAIoAtABQQFHDQAgAigC1AEgAigC2AEQtICAgAALIAAQzoCAgAAgARCEgICAAEIgiCEDIAJB0AFqQRBqIQRCACEAAkADQCAAIANRDQEgASAAQiCGQgSEEImAgIAAIQVBACEGAkADQCAGQRBGDQEgAkGAAWogBmpCAjcDACAGQQhqIQYMAAsLAkACQCAFQv8Bg0LMAFINACAFQfyBwIAAQQIgAkGAAWpBAhDlgICAACACQdABaiACKQOAARDkgICAACACKALQAUEBcQ0AIAJBkAFqIARBwAAQ0IGAgAAaIAIpA4gBIgVC/wGDQgRRDQELIABC/////w9RDQQgAiACQcAAakHAABDQgYCAABoMBAsgAkHAAGogAkGQAWpBwAAQ0IGAgAAaIABC/////w9RDQMgAiACQcAAakHAABDQgYCAACIGQdABaiAGQcAAENCBgIAAGiAGIAVCIIinIgc2ApACQQAgBxCrgICAACEFIAZBkAFqIAZB0AFqEOiAgIAAIAYoApABQQFGDQIgBSAGKQOYAUIBEJKAgIAAGiAGQZABahDKgICAAAJAIAYoApABQQFHDQAgByAGKAKUASAGKAKYARCqgICAAAsgAEIBfCEADAALC0HQgMCAAEEOENKAgIAAEMyAgIAAIQAgAiABNwPQASAAQeSAwIAAQQEgAkHQAWpBARDNgICAABCHgICAABogAkGgAmokgICAgABCAg8LAAsQsYCAgAAAC3oBAX8jgICAgABB4ABrIgEkgICAgAACQCAAQv8Bg0IEUg0AIAEgAEIgiKcQnoGAgAACQAJAIAEoAgBBAXENAEICIQAMAQsgAUHQAGogAUEQahDogICAACABKAJQQQFxDQEgASkDWCEACyABQeAAaiSAgICAACAADwsAC+AGAgJ/B34jgICAgABBwABrIgUkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBACEGAkADQCAGQRhGDQEgBSAGakICNwMAIAZBCGohBgwACwsgAUL/AYNCzABSDQAgAUGkg8CAAEEDIAVBAxDlgICAAAJAAkAgBSkDACIBp0H/AXEiBkHAAEYNACAGQQZHDQIgAUIIiCEHDAELIAEQlYCAgAAhBwsgBUEoaiAFKQMIEO6AgIAAIAUoAigNACAFKQMQIghC/wGDQgRSDQAgAkL/AYNCBFINACADQv8Bg0LNAFINACAEQv8Bg0LLAFINACAFKQMwIQkgBRCz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IAAQjYCAgABC/wGDQgJSDQJBABCrgYCAACABQRBqJICAgIAAQgIPCwALQoOAgICwgwEQwICAgAAAC0KDgICAoIMBEMCAgIAAAAtbAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahCzgICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQtICAgAALELmAgIAAGkEAQQEQroGAgAAgAEEQaiSAgICAAEICCxoAIAAQyoGAgAAgAa1C/wGDQgIQkoCAgAAaCwkAELKAgIAArQsIABC6gICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAELyAgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEL+AgIAAIAApAwAgACkDCBCVgYCAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQs4CAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELSAgIAACxC7gICAACECEL6AgIAAIAAQqIGAgAAgAiAAELSBgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEG9hsCAAEEVENKAgIAAEMyAgIAAIQMgAiAANwMIIAIgATcDACADQeSGwIAAQQIgAkECEM2AgIAAEIeAgIAAGiACQRBqJICAgIAAC9wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQs4CAgAACQCACKAIIQQFHDQAgAigCDCACKAIQELSAgIAACxC7gICAACEDAkACQCABQv////8PVg0AIAJBCGoQv4CAgAAgAikDECEBIAIpAwhBiAgQvYCAgAAgASAAEK2AgIAARQ0DELaBgIAADAELELeBgIAAIAFCIIinSQ0DQQEgAEIAELiBgIAAQQEQwYCAgABCACABQoSAgIBwgyIBIAEQgICAgAAaQfSGwIAAQRYQ0oCAgAAQzICAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQZCHwIAAQQMgAkEIakEDEM2AgIAAEIeAgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABEMCAgIAAAAtCg4CAgPCAARDAgICAAAALEwBBARDBgICAAEIAEJGAgIAAGgszAQJ+EKWAgIAAIQACQBCmgICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxCxgICAAAALFQAgABDBgICAACABIAIQkoCAgAAaC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAELOAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC0gICAAAsgABC/gICAACAAKQMIIQEgACkDAEGICBC9gICAACABEIKAgIAAGiAAEMKAgIAAAkAgACgCAA0AEPeAgIAAAAsgACkDCCECELaBgIAAIAEQqIGAgAAgAiABELSBgIAAIABBEGokgICAgABCAgugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABCzgICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtICAgAALELuAgIAAIQEQvoCAgABBABDBgICAAEICEJGAgIAAGkGoh8CAAEETENKAgIAAEMyAgIAAIQIgACABNwMAIAJBvIfAgABBASAAQQEQzYCAgAAQh4CAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxC0gICAAEICDwsAC98EAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABC9gYCAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEL2BgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQs4CAgAACQCACKAIoQQFHDQAgAigCLCACKAIwELSAgIAACxC5gICAABoCQAJAAkAQtoCAgAANABC3gYCAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABDAgICAAAALQoOAgIDA/wAQwICAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBCmgYCAAAwBC0EBELeAgIAAQgIQkYCAgAAaCwJAAkAgAigCGEEBRw0AIAIoAhwgAigC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IgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBzojAgABBCRDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBtojAgABBBhDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABELeAgIAAIgRCAhC4gICAAEUNACACQQRqIARCAhCBgICAABDIgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABC3gICAACEEIAMgASACEMmBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQkoCAgAAaIANBEGokgICAgAALFQAgABDggICAACABQgIQkoCAgAAaCxwAIAAQ4ICAgAAgAa1CIIZCBIRCAhCSgICAABoLuQcBDH8jgICAgABBEGshAwJAAkAgAkEQTw0AIAAhBAwBCwJAIAAgAEEAIABrQQNxIgVqIgZPDQAgBUF/aiEHIAAhBCABIQgCQCAFRQ0AIAUhCSAAIQQgASEIA0AgBCAILQAAOgAAIAhBAWohCCAEQQFqIQQgCUF/aiIJDQALCyAHQQdJDQADQCAEIAgtAAA6AAAgBEEBaiAIQQFqLQAAOgAAIARBAmogCEECai0AADoAACAEQQNqIAhBA2otAAA6AAAgBEEEaiAIQQRqLQAAOgAAIARBBWogCEEFai0AADoAACAEQQZqIAhBBmotAAA6AAAgBEEHaiAIQQdqLQAAOgAAIAhBCGohCCAEQQhqIgQgBkcNAAsLIAYgAiAFayIJQXxxIgdqIQQCQAJAIAEgBWoiCEEDcSIBDQAgBiAETw0BIAghAQNAIAYgASgCADYCACABQQRqIQEgBkEEaiIGIARJDQAMAgsLQQAhAiADQQA2AgwgA0EMaiABciEFAkBBBCABayIKQQFxRQ0AIAUgCC0AADoAAEEBIQILAkAgCkECcUUNACAFIAJqIAggAmovAQA7AQALIAggAWshAiABQQN0IQsgAygCDCEFAkACQCAGQQRqIARJDQAgBiEMDAELQQAgC2tBGHEhDQNAIAYgBSALdiACQQRqIgIoAgAiBSANdHI2AgAgBkEIaiEKIAZBBGoiDCEGIAogBEkNAAsLQQAhBiADQQA6AAggA0EAOgAGAkACQCABQQFHDQAgA0EIaiENQQAhAUEAIQpBACEODAELIAJBBWotAAAhCiADIAJBBGotAAAiAToACCAKQQh0IQpBAiEOIANBBmohDQsCQCAIQQFxRQ0AIA0gAkEEaiAOai0AADoAACADLQAGQRB0IQYgAy0ACCEBCyAMIAogBnIgAUH/AXFyQQAgC2tBGHF0IAUgC3ZyNgIACyAJQQNxIQIgCCAHaiEBCwJAIAQgBCACaiIGTw0AIAJBf2ohCQJAIAJBB3EiCEUNAANAIAQgAS0AADoAACABQQFqIQEgBEEBaiEEIAhBf2oiCA0ACwsgCUEHSQ0AA0AgBCABLQAAOgAAIARBAWogAUEBai0AADoAACAEQQJqIAFBAmotAAA6AAAgBEEDaiABQQNqLQAAOgAAIARBBGogAUEEai0AADoAACAEQQVqIAFBBWotAAA6AAAgBEEGaiABQQZqLQAAOgAAIARBB2ogAUEHai0AADoAACABQQhqIQEgBEEIaiIEIAZHDQALCyAACw4AIAAgASACEM+BgIAACwuKDQEAQYCAwAALgA1Db250cmFjdENyZWF0ZUNvbnRyYWN0SG9zdEZuQ3JlYXRlQ29udHJhY3RXaXRoQ3Rvckhvc3RGbgAAEAAIAAAACAAQABQAAAAcABAAHAAAAGRzdF9jb25maWdfc2V0cGFyYW1zXgAQAAYAAABuYXRpdmVfZHJvcF9hcHBsaWVkbmF0aXZlX2Ryb3BfcGFyYW1zb3JpZ2luc3VjY2VzcwAAtgUQAAcAAAB/ABAAEgAAAMgEEAAEAAAAkQAQAAYAAACXABAABwAAAPYBEAAQAAAAIAIQABMAAAAzAhAAEwAAADoFEAAOAAAARgIQAAoAAABkc3RfY29uZmlnAADwABAACgAAALYFEAAHAAAAcmVjZWl2ZXLIARAABgAAAAwBEAAIAAAAbHpfcmVjZWl2ZV9hbGVydGx6X2NvbXBvc2VfYWxlcnRsel9yZWNlaXZlbHpfY29tcG9zZXRyYW5zZmVycHVibGljX2tleXNpZ25hdHVyZQBgARAACgAAAGoBEAAJAAAARHN0Q29uZmlnRW5kcG9pbnRub25jZXNyY19laWQAAACVARAABQAAAA0CEAAGAAAAmgEQAAcAAABuYXRpdmVfdG9rZW5hbW91bnR0b8gBEAAGAAAAzgEQAAIAAABkZWZhdWx0X211bHRpcGxpZXJfYnBzZmxvb3JfbWFyZ2luX3VzZG9wdGlvbnNzZW5kZXJjYWxsZGF0YV9zaXplbHpfY29tcG9zZV9iYXNlX2dhc2x6X3JlY2VpdmVfYmFzZV9nYXNuYXRpdmVfY2FwEwIQAA0AAADgARAAFgAAALYFEAAHAAAA9gEQABAAAAAgAhAAEwAAADMCEAATAAAAOgUQAA4AAABGAhAACgAAAAYCEAAHAAAAigUQAAoAAAANAhAABgAAAAAAABIAAAAAAAAAAFdhc21hcmdzY29udHJhY3Rmbl9uYW1lALgCEAAEAAAAvAIQAAgAAADEAhAABwAAAGV4ZWN1dGFibGVzYWx0AADkAhAACgAAAO4CEAAEAAAAY29uc3RydWN0b3JfYXJncwQDEAAQAAAA5AIQAAoAAADuAhAABAAAALQCEAAEAAAAdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVyUgMQAAkAAABbAxAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAABSAxAACQAAAFsDEAAJAAAAigMQAAMAAABvd25lcnNoaXBfcmVub3VuY2VkAFsDEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AANUDEAAJAAAANAMQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAAD/AxAACAAAAAcEEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50TWlncmF0aW5nYWN0aXZlYWRtaW4AAFcEEAAGAAAAXQQQAAUAAABzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGlibWVzc2FnZV9saWJzdXBwb3J0ZWQAAACNBBAACwAAAJgEEAAJAAAAc2V0X2FsbG93bGlzdGFsbG93ZWRvYXBwwQQQAAcAAADIBBAABAAAAHNldF9kZW55bGlzdGRlbmllZAAA6AQQAAYAAADIBBAABAAAAHBhdXNlcgAAAAUQAAYAAAB1bnBhdXNlchAFEAAIAAAAc2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHNtdWx0aXBsaWVyX2JwczoFEAAOAAAAc2V0X2RlcG9zaXRfYWRkcmVzc2RlcG9zaXRfYWRkcmVzcwAAYwUQAA8AAABzZXRfcHJpY2VfZmVlZHByaWNlX2ZlZWSKBRAACgAAAHNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzZHN0X2VpZG9wdGlvbl90eXBlcwAAALYFEAAHAAAAvQUQAAwAAABzZXRfd29ya2VyX2ZlZV9saWJmZWVfbGliAAAA7gUQAAcAAABQYXVzZWRBZG1pbnNNZXNzYWdlTGlic0FsbG93bGlzdEFsbG93bGlzdFNpemVEZW55bGlzdERlZmF1bHRNdWx0aXBsaWVyQnBzRGVwb3NpdEFkZHJlc3NTdXBwb3J0ZWRPcHRpb25UeXBlc1dvcmtlckZlZUxpYlByaWNlRmVlZADX9AEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAANRXhlY3V0b3JFcnJvcgAAAAAAAAMAAAAAAAAAD0VpZE5vdFN1cHBvcnRlZAAAAAABAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAACAAAAAAAAABNVbmF1dGhvcml6ZWRDb250ZXh0AAAAAAMAAAAFAAAAAAAAAAAAAAAMRHN0Q29uZmlnU2V0AAAAAQAAAA5kc3RfY29uZmlnX3NldAAAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAAAAAACAAAABQAAAAAAAAAAAAAAEU5hdGl2ZURyb3BBcHBsaWVkAAAAAAAAAQAAABNuYXRpdmVfZHJvcF9hcHBsaWVkAAAAAAUAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAAAAAAAHc3VjY2VzcwAAAAPqAAAAAQAAAAAAAAACAAAAAQAAANtEZXN0aW5hdGlvbiBjaGFpbiBjb25maWd1cmF0aW9uIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBnYXMgY29zdHMgYW5kIGZlZSBwYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGVhY2ggZGVzdGluYXRpb24gY2hhaW4uClRoZXNlIHBhcmFtZXRlcnMgYXJlIHVzZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSBhY2N1cmF0ZSBleGVjdXRpb24gZmVlcy4AAAAAAAAAAAlEc3RDb25maWcAAAAAAAAFAAAAO01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkgdG8gZW5zdXJlIHByb2ZpdGFiaWxpdHkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADpCYXNlIGdhcyBjb3N0IHBlciBsekNvbXBvc2UgY2FsbCBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAATbHpfY29tcG9zZV9iYXNlX2dhcwAAAAAGAAAAP0Jhc2UgZ2FzIGNvc3QgZm9yIGx6UmVjZWl2ZSBleGVjdXRpb24gb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAAUUZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyBmb3IgdGhpcyBkZXN0aW5hdGlvbiAoMCA9IHVzZSBkZWZhdWx0IG11bHRpcGxpZXIpLgAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAEZNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSB0cmFuc2ZlcnJlZCB0byB0aGUgZGVzdGluYXRpb24uAAAAAAAKbmF0aXZlX2NhcAAAAAAACgAAAAEAAAB8UGFyYW1ldGVycyBmb3Igc2V0dGluZyBkZXN0aW5hdGlvbiBjb25maWd1cmF0aW9uLgoKVXNlZCB3aGVuIGNvbmZpZ3VyaW5nIGV4ZWN1dG9yIHNldHRpbmdzIGZvciBhIHNwZWNpZmljIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAAAARU2V0RHN0Q29uZmlnUGFyYW0AAAAAAAACAAAAKENvbmZpZ3VyYXRpb24gZm9yIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAKZHN0X2NvbmZpZwAAAAAH0AAAAAlEc3RDb25maWcAAAAAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAGhQYXJhbWV0ZXJzIGZvciBhIG5hdGl2ZSB0b2tlbiBkcm9wLgoKVXNlZCB0byBzcGVjaWZ5IG5hdGl2ZSB0b2tlbiB0cmFuc2ZlcnMgYXMgcGFydCBvZiBleGVjdXRvciBvcHRpb25zLgAAAAAAAAAQTmF0aXZlRHJvcFBhcmFtcwAAAAIAAAAkQW1vdW50IG9mIG5hdGl2ZSB0b2tlbnMgdG8gdHJhbnNmZXIuAAAABmFtb3VudAAAAAAACwAAAC9SZWNlaXZlciBhZGRyZXNzIGZvciB0aGUgbmF0aXZlIHRva2VuIHRyYW5zZmVyLgAAAAAIcmVjZWl2ZXIAAAATAAAAAAAAALhWZXJpZmllcyBhdXRob3JpemF0aW9uIGZvciB0aGUgZXhlY3V0b3IgY29udHJhY3QuCgpUaGUgcHVibGljIGtleSBtdXN0IGNvcnJlc3BvbmQgdG8gYSByZWdpc3RlcmVkIGFkbWluIGFuZCBtdXN0IGhhdmUgc2lnbmVkIHRoZSBzaWduYXR1cmVfcGF5bG9hZC4KVXNlcyBFZDI1NTE5IHNpZ25hdHVyZSB2ZXJpZmljYXRpb24uAAAADF9fY2hlY2tfYXV0aAAAAAMAAAAAAAAAEXNpZ25hdHVyZV9wYXlsb2FkAAAAAAAD7gAAACAAAAAAAAAACWF1dGhfZGF0YQAAAAAAB9AAAAARRXhlY3V0b3JTaWduYXR1cmUAAAAAAAAAAAAADWF1dGhfY29udGV4dHMAAAAAAAPqAAAH0AAAAAdDb250ZXh0AAAAAAEAAAPpAAAAAgAAAAMAAAABAAAAjFNpZ25hdHVyZSBkYXRhIGZvciBDdXN0b20gQWNjb3VudCBhdXRob3JpemF0aW9uLgpDb250YWlucyB0aGUgYWRtaW4ncyBwdWJsaWMga2V5IGFuZCB0aGVpciBFZDI1NTE5IHNpZ25hdHVyZSBvdmVyIHRoZSBhdXRob3JpemF0aW9uIHBheWxvYWQuAAAAAAAAABFFeGVjdXRvclNpZ25hdHVyZQAAAAAAAAIAAABNQWRtaW4ncyBFZDI1NTE5IHB1YmxpYyBrZXkgKDMyIGJ5dGVzKSAtIG11c3QgY29ycmVzcG9uZCB0byBhIHJlZ2lzdGVyZWQgYWRtaW4AAAAAAAAKcHVibGljX2tleQAAAAAD7gAAACAAAAA3RWQyNTUxOSBzaWduYXR1cmUgKDY0IGJ5dGVzKSBvdmVyIHRoZSBzaWduYXR1cmVfcGF5bG9hZAAAAAAJc2lnbmF0dXJlAAAAAAAD7gAAAEAAAAAAAAAA5FNldHMgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgd29ya2VyLgoKV2hlbiBwYXVzZWQsIHRoZSB3b3JrZXIgd2lsbCByZWplY3QgbmV3IGpvYiBhc3NpZ25tZW50cyAoZS5nLiwgYXNzaWduX2pvYiwgZ2V0X2ZlZSkuCkV4aXN0aW5nIGpvYnMgaW4gcHJvZ3Jlc3MgYXJlIG5vdCBhZmZlY3RlZC4KCiMgQXJndW1lbnRzCiogYHBhdXNlZGAgLSBgdHJ1ZWAgdG8gcGF1c2UsIGBmYWxzZWAgdG8gdW5wYXVzZQAAAApzZXRfcGF1c2VkAAAAAAABAAAAAAAAAAZwYXVzZWQAAAAAAAEAAAAAAAAAAAAAAP1TZXRzIGFkbWluIHN0YXR1cyBmb3IgYW4gYWRkcmVzcy4KCkFkbWlucyBjYW4gY29uZmlndXJlIHdvcmtlciBzZXR0aW5ncyBsaWtlIGZlZSBtdWx0aXBsaWVycywgZGVwb3NpdCBhZGRyZXNzZXMsCmFuZCBzdXBwb3J0ZWQgb3B0aW9uIHR5cGVzLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAACXNldF9hZG1pbgAAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAAE3U2V0cyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZCBieSB0aGlzIHdvcmtlci4KCk1lc3NhZ2UgbGlicmFyaWVzIChlLmcuLCBVTE4zMDIpIGNhbGwgd29ya2VycyB0byBhc3NpZ24gam9icy4gT25seSBzdXBwb3J0ZWQKbGlicmFyaWVzIGNhbiBpbnRlcmFjdCB3aXRoIHRoaXMgd29ya2VyLgoKIyBBcmd1bWVudHMKKiBgbWVzc2FnZV9saWJgIC0gVGhlIG1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzCiogYHN1cHBvcnRlZGAgLSBgdHJ1ZWAgdG8gYWRkIHN1cHBvcnQsIGBmYWxzZWAgdG8gcmVtb3ZlIHN1cHBvcnQAAAAAGXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAAAAAACAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAAAAAFYU2V0cyBhbGxvd2xpc3Qgc3RhdHVzIGZvciBhbiBPQXBwIGFkZHJlc3MuCgpXaGVuIHRoZSBhbGxvd2xpc3QgaXMgZW1wdHksIGFsbCBPQXBwcyBhcmUgYWxsb3dlZCAodW5sZXNzIG9uIGRlbnlsaXN0KS4KV2hlbiB0aGUgYWxsb3dsaXN0IGlzIG5vdCBlbXB0eSwgb25seSBhbGxvd2xpc3RlZCBPQXBwcyBhcmUgYWxsb3dlZC4KRGVueWxpc3QgYWx3YXlzIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgYWxsb3dlZGAgLSBgdHJ1ZWAgdG8gYWRkIHRvIGFsbG93bGlzdCwgYGZhbHNlYCB0byByZW1vdmUAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAAAAAQlTZXRzIGRlbnlsaXN0IHN0YXR1cyBmb3IgYW4gT0FwcCBhZGRyZXNzLgoKRGVueWxpc3RlZCBPQXBwcyBhcmUgYmxvY2tlZCBmcm9tIHVzaW5nIHRoaXMgd29ya2VyLCBldmVuIGlmIHRoZXkncmUgb24KdGhlIGFsbG93bGlzdCAoZGVueWxpc3QgdGFrZXMgcHJlY2VkZW5jZSkuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIFRoZSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MKKiBgZGVuaWVkYCAtIGB0cnVlYCB0byBhZGQgdG8gZGVueWxpc3QsIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAADHNldF9kZW55bGlzdAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAZkZW5pZWQAAAAAAAEAAAAAAAAAAAAAATtTZXRzIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4KClRoZSBtdWx0aXBsaWVyIGlzIGFwcGxpZWQgdG8gYmFzZSBmZWVzIGR1cmluZyBmZWUgY2FsY3VsYXRpb24uIFVzZWQgd2hlbgpubyBkZXN0aW5hdGlvbi1zcGVjaWZpYyBtdWx0aXBsaWVyIGlzIGNvbmZpZ3VyZWQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgbXVsdGlwbGllcl9icHNgIC0gTXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDEwMDAwID0gMXgsIDEyMDAwID0gMS4yeCkAAAAAGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAAAAAADxU2V0cyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIHdvcmtlciBmZWVzIGFyZSBjb2xsZWN0ZWQuCgpXaGVuIGpvYnMgYXJlIGFzc2lnbmVkLCBmZWVzIGFyZSBkaXJlY3RlZCB0byB0aGlzIGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZGVwb3NpdF9hZGRyZXNzYCAtIEFkZHJlc3MgdG8gcmVjZWl2ZSBjb2xsZWN0ZWQgZmVlcwAAAAAAABNzZXRfZGVwb3NpdF9hZGRyZXNzAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAAQlTZXRzIHN1cHBvcnRlZCBleGVjdXRvciBvcHRpb24gdHlwZXMgZm9yIGEgZGVzdGluYXRpb24gZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgZWlkYCAtIERlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKQoqIGBvcHRpb25fdHlwZXNgIC0gU3VwcG9ydGVkIG9wdGlvbiB0eXBlcy4gRWFjaCBieXRlIHJlcHJlc2VudHMgYW4gb3B0aW9uIHR5cGUuAAAAAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAADAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAAAAAESU2V0cyB0aGUgd29ya2VyIGZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MuCgpUaGUgZmVlIGxpYnJhcnkgY2FsY3VsYXRlcyBmZWVzIGJhc2VkIG9uIGV4ZWN1dG9yIG9wdGlvbnMgYW5kIHByaWNlIGZlZWQgZGF0YS4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBGZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUV4ZWN1dG9yRmVlTGliYAAAAAAAEnNldF93b3JrZXJfZmVlX2xpYgAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAAAAABElNldHMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4KClRoZSBwcmljZSBmZWVkIHByb3ZpZGVzIGdhcyBwcmljZXMgYW5kIGV4Y2hhbmdlIHJhdGVzIGZvciBjcm9zcy1jaGFpbgpmZWUgY2FsY3VsYXRpb25zLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYHByaWNlX2ZlZWRgIC0gUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGltcGxlbWVudGluZyBgSUxheWVyWmVyb1ByaWNlRmVlZGAAAAAAAA5zZXRfcHJpY2VfZmVlZAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAAAAAAAAlUmV0dXJucyB3aGV0aGVyIHRoZSB3b3JrZXIgaXMgcGF1c2VkLgAAAAAAAAZwYXVzZWQAAAAAAAAAAAABAAAAAQAAAAAAAABVUmV0dXJucyB3aGV0aGVyIGFuIGFkZHJlc3MgaXMgYW4gYWRtaW4uCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBUaGUgYWRkcmVzcyB0byBjaGVjawAAAAAAAAhpc19hZG1pbgAAAAEAAAAAAAAABWFkbWluAAAAAAAAEwAAAAEAAAABAAAAAAAAABxSZXR1cm5zIGFsbCBhZG1pbiBhZGRyZXNzZXMuAAAABmFkbWlucwAAAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABvUmV0dXJucyB3aGV0aGVyIGEgbWVzc2FnZSBsaWJyYXJ5IGlzIHN1cHBvcnRlZC4KCiMgQXJndW1lbnRzCiogYG1lc3NhZ2VfbGliYCAtIE1lc3NhZ2UgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzAAAAABhpc19zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAABAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAQAAAAEAAAAAAAAAc1JldHVybnMgYWxsIHN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgYWRkcmVzc2VzLgoKIyBSZXR1cm5zClZlY3RvciBvZiBzdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3Nlcy4AAAAADG1lc3NhZ2VfbGlicwAAAAAAAAABAAAD6gAAABMAAAAAAAAAWlJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBhbGxvd2xpc3QuCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcwAAAAAAD2lzX29uX2FsbG93bGlzdAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBudW1iZXIgb2YgYWRkcmVzc2VzIG9uIHRoZSBhbGxvd2xpc3QuAAAAAAAADmFsbG93bGlzdF9zaXplAAAAAAAAAAAAAQAAAAQAAAAAAAAAWVJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBkZW55bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAADmlzX29uX2RlbnlsaXN0AAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAAPlSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBoYXMgYWNjZXNzIGNvbnRyb2wgbGlzdCAoQUNMKSBwZXJtaXNzaW9uLgoKQUNMIGV2YWx1YXRpb24gb3JkZXI6CjEuIElmIG9uIGRlbnlsaXN0IOKGkiBkZW5pZWQKMi4gSWYgYWxsb3dsaXN0IGlzIGVtcHR5IE9SIG9uIGFsbG93bGlzdCDihpIgYWxsb3dlZAozLiBPdGhlcndpc2Ug4oaSIGRlbmllZAoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MgdG8gY2hlY2sAAAAAAAAHaGFzX2FjbAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAADNSZXR1cm5zIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4AAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAAAAAABAAAABAAAAAAAAAA1UmV0dXJucyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIGZlZXMgYXJlIGNvbGxlY3RlZC4AAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAfFJldHVybnMgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcyBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikAAAAaZ2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAA+gAAAAOAAAAAAAAADBSZXR1cm5zIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4AAAAOd29ya2VyX2ZlZV9saWIAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAKFJldHVybnMgdGhlIHByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcy4AAAAKcHJpY2VfZmVlZAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABEQXNzaWducyBhIGpvYiB0byB0aGUgZXhlY3V0b3IgYW5kIHJldHVybnMgZmVlIHJlY2lwaWVudCBpbmZvcm1hdGlvbi4AAAAKYXNzaWduX2pvYgAAAAAABQAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANY2FsbGRhdGFfc2l6ZQAAAAAAAAQAAAAAAAAAB29wdGlvbnMAAAAADgAAAAEAAAfQAAAADEZlZVJlY2lwaWVudAAAAAAAAAA3Q2FsY3VsYXRlcyB0aGUgZXhlY3V0aW9uIGZlZSBmb3IgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAHZ2V0X2ZlZQAAAAAFAAAAAAAAAAhzZW5kX2xpYgAAABMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAAAsAAAAAAAAAQFNldHMgZGVzdGluYXRpb24tc3BlY2lmaWMgY29uZmlndXJhdGlvbnMgZm9yIG11bHRpcGxlIGVuZHBvaW50cy4AAAAOc2V0X2RzdF9jb25maWcAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAAAAAAAAAAAPlJldHVybnMgdGhlIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgZW5kcG9pbnQuAAAAAAAKZHN0X2NvbmZpZwAAAAAAAQAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAA+gAAAfQAAAACURzdENvbmZpZwAAAAAAAAAAAACRTmF0aXZlIHRva2VuIGRyb3BzLgoKVHJhbnNmZXJzIG5hdGl2ZSB0b2tlbnMgdG8gZWFjaCByZWNlaXZlciBzcGVjaWZpZWQgaW4gdGhlIHBhcmFtZXRlcnMgYW5kCnRyYWNrcyB0aGUgc3VjY2Vzcy9mYWlsdXJlIHN0YXR1cyBvZiBlYWNoIHRyYW5zZmVyLgAAAAAAAAtuYXRpdmVfZHJvcAAAAAAFAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAARvYXBwAAAAEwAAAAAAAAASbmF0aXZlX2Ryb3BfcGFyYW1zAAAAAAPqAAAH0AAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAAAAAAAAAAAqUmV0dXJucyB0aGUgZW5kcG9pbnQgYWRkcmVzcyBmcm9tIHN0b3JhZ2UuAAAAAAAIZW5kcG9pbnQAAAAAAAAAAQAAABMAAAAAAAACSUluaXRpYWxpemVzIHRoZSBleGVjdXRvciBjb250cmFjdC4KClNldHMgdXAgb3duZXJzaGlwLCB3b3JrZXIgY29uZmlndXJhdGlvbiwgYW5kIGVuZHBvaW50IGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGBlbmRwb2ludGAgLSBMYXllclplcm8gRW5kcG9pbnQgVjIgY29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBDb250cmFjdCBvd25lciBhZGRyZXNzCiogYGFkbWluc2AgLSBJbml0aWFsIGFkbWluIGFkZHJlc3NlcyAobXVzdCBub3QgYmUgZW1wdHkpCiogYG1lc3NhZ2VfbGlic2AgLSBTdXBwb3J0ZWQgbWVzc2FnZSBsaWJyYXJ5IGFkZHJlc3NlcyAoZS5nLiwgVUxOMzAyKQoqIGBwcmljZV9mZWVkYCAtIFByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZmVlIGNhbGN1bGF0aW9ucwoqIGBkZWZhdWx0X211bHRpcGxpZXJfYnBzYCAtIERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDF4KQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBXb3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcwoqIGBkZXBvc2l0X2FkZHJlc3NgIC0gQWRkcmVzcyB0byByZWNlaXZlIGZlZSBwYXltZW50cwAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAACAAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAABmFkbWlucwAAAAAD6gAAABMAAAAAAAAADG1lc3NhZ2VfbGlicwAAA+oAAAATAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAABZkZWZhdWx0X211bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAA53b3JrZXJfZmVlX2xpYgAAAAAAEwAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAALJXaXRoZHJhd3MgYSB0b2tlbiBmcm9tIHRoZSBjb250cmFjdCB0byBhIHNwZWNpZmllZCBhZGRyZXNzLgoKIyBBcmd1bWVudHMKKiBgdG9rZW5gIC0gVGhlIHRva2VuIGNvbnRyYWN0IGFkZHJlc3MKKiBgdG9gIC0gVGhlIHJlY2lwaWVudCBhZGRyZXNzCiogYGFtb3VudGAgLSBUaGUgYW1vdW50IHRvIHdpdGhkcmF3AAAAAAAOd2l0aGRyYXdfdG9rZW4AAAAAAAQAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAAAAACVVGhlIHR5cGUgb2YgZGF0YSByZXF1aXJlZCBmb3IgbWlncmF0aW9uLgpVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAHZSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpDYW4gb25seSBiZSBjYWxsZWQgd2hlbiB0aGUgbWlncmF0aW9uIGZsYWcgaXMgc2V0IGJ5IGEgcHJldmlvdXMgYHVwZ3JhZGVgIGNhbGwuAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAADgAAAAAAAAAAAAAAXlBlcm1hbmVudGx5IGZyZWV6ZXMgdGhlIGNvbnRyYWN0LCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgdXBncmFkZXMuClRoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZS4AAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAgAAAAAAAAAAAAAAD0V4ZWN1dG9yU3RvcmFnZQAAAAACAAAAAQAAAAAAAAAJRHN0Q29uZmlnAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAUAAAAAAAAAAAAAAApQYWNrZXRTZW50AAAAAAABAAAAC3BhY2tldF9zZW50AAAAAAMAAAAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAAAAAAAMc2VuZF9saWJyYXJ5AAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAAD3BhY2tldF92ZXJpZmllZAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1BhY2tldERlbGl2ZXJlZAAAAAABAAAAEHBhY2tldF9kZWxpdmVyZWQAAAACAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAgAAAAUAAAAAAAAAAAAAAA5MelJlY2VpdmVBbGVydAAAAAAAAQAAABBsel9yZWNlaXZlX2FsZXJ0AAAACQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAIZXhlY3V0b3IAAAATAAAAAQAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAADZ2FzAAAAAAsAAAAAAAAAAAAAAAV2YWx1ZQAAAAAAAAsAAAAAAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAAAAAAAApleHRyYV9kYXRhAAAAAAAOAAAAAAAAAAAAAAAGcmVhc29uAAAAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGWnJvU2V0AAAAAAABAAAAB3pyb19zZXQAAAAAAQAAAAAAAAADenJvAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtEZWxlZ2F0ZVNldAAAAAABAAAADGRlbGVnYXRlX3NldAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAQAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAE0luYm91bmROb25jZVNraXBwZWQAAAAAAQAAABVpbmJvdW5kX25vbmNlX3NraXBwZWQAAAAAAAAEAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAAFbm9uY2UAAAAAAAAGAAAAAQAAAAIAAAAFAAAAAAAAAAAAAAAOUGFja2V0TmlsaWZpZWQAAAAAAAEAAAAPcGFja2V0X25pbGlmaWVkAAAAAAUAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPoAAAD7gAAACAAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtQYWNrZXRCdXJudAAAAAABAAAADHBhY2tldF9idXJudAAAAAUAAAAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAVub25jZQAAAAAAAAYAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAACAAAABQAAAAAAAAAAAAAAEUxpYnJhcnlSZWdpc3RlcmVkAAAAAAAAAQAAABJsaWJyYXJ5X3JlZ2lzdGVyZWQAAAAAAAEAAAAAAAAAB25ld19saWIAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAFURlZmF1bHRTZW5kTGlicmFyeVNldAAAAAAAAAEAAAAYZGVmYXVsdF9zZW5kX2xpYnJhcnlfc2V0AAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAYRGVmYXVsdFJlY2VpdmVMaWJyYXJ5U2V0AAAAAQAAABtkZWZhdWx0X3JlY2VpdmVfbGlicmFyeV9zZXQAAAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAAAAAAAHbmV3X2xpYgAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAbRGVmYXVsdFJlY2VpdmVMaWJUaW1lb3V0U2V0AAAAAAEAAAAfZGVmYXVsdF9yZWNlaXZlX2xpYl90aW1lb3V0X3NldAAAAAACAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAOU2VuZExpYnJhcnlTZXQAAAAAAAEAAAAQc2VuZF9saWJyYXJ5X3NldAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAAAAAAAB25ld19saWIAAAAD6AAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFSZWNlaXZlTGlicmFyeVNldAAAAAAAAAEAAAATcmVjZWl2ZV9saWJyYXJ5X3NldAAAAAADAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAAAAAAAduZXdfbGliAAAAA+gAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAYUmVjZWl2ZUxpYnJhcnlUaW1lb3V0U2V0AAAAAQAAABtyZWNlaXZlX2xpYnJhcnlfdGltZW91dF9zZXQAAAAAAwAAAAAAAAAIcmVjZWl2ZXIAAAATAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAAAAAAAAd0aW1lb3V0AAAAA+gAAAfQAAAAB1RpbWVvdXQAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAALQ29tcG9zZVNlbnQAAAAAAQAAAAxjb21wb3NlX3NlbnQAAAAFAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAQQ29tcG9zZURlbGl2ZXJlZAAAAAEAAAARY29tcG9zZV9kZWxpdmVyZWQAAAAAAAAEAAAAAAAAAARmcm9tAAAAEwAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAQAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAQAAAAAAAAAFaW5kZXgAAAAAAAAEAAAAAQAAAAIAAAAFAAAAAAAAAAAAAAAOTHpDb21wb3NlQWxlcnQAAAAAAAEAAAAQbHpfY29tcG9zZV9hbGVydAAAAAoAAAAAAAAABGZyb20AAAATAAAAAQAAAAAAAAACdG8AAAAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAAVpbmRleAAAAAAAAAQAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAgAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAAAAAABBJbnZhbGlkRmVlQW1vdW50AAAACAAAAAAAAAANSW52YWxpZEV4cGlyeQAAAAAAAAkAAAAAAAAADEludmFsaWRJbmRleAAAAAoAAAAAAAAADEludmFsaWROb25jZQAAAAsAAAAAAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAAAAAAAVSW52YWxpZFJlY2VpdmVMaWJyYXJ5AAAAAAAADQAAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAAAAAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAAAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAAAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAAAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAAAAAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAAB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AAAABG9hcHAAAAATAAAAAAAAAAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAABAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VyAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAIVW5wYXVzZWQAAAABAAAACHVucGF1c2VkAAAAAQAAAAAAAAAIdW5wYXVzZXIAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0RGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAQAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAQAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFTZXREZXBvc2l0QWRkcmVzcwAAAAAAAAEAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAABAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldFByaWNlRmVlZAAAAAEAAAAOc2V0X3ByaWNlX2ZlZWQAAAAAAAEAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAABAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPU2V0V29ya2VyRmVlTGliAAAAAAEAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAABAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA1Xb3JrZXJTdG9yYWdlAAAAAAAACwAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAAAAAAAAAAAGQWRtaW5zAAAAAAAAAAAAAAAAAAtNZXNzYWdlTGlicwAAAAABAAAAAAAAAAlBbGxvd2xpc3QAAAAAAAABAAAAEwAAAAAAAAAAAAAADUFsbG93bGlzdFNpemUAAAAAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAQAAAAAAAAAUU3VwcG9ydGVkT3B0aW9uVHlwZXMAAAABAAAABAAAAAAAAAAAAAAADFdvcmtlckZlZUxpYgAAAAAAAAAAAAAACVByaWNlRmVlZAAAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4wLjEjOTQxNDQ4MDc5ZWNjZjk1NjI3ZDJmZmVhMTNiYTI2OGUzMDVhOTA3NwAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABsAEdYAJ+fgF+YAR+fn5+AX5gAX4BfmAAAX5gA35+fgF+YAJ+fgF/YAN/fn4AYAAAYAABf2ABfwF/YAF/AX5gAX8AYAJ/fwF+YAJ+fwBgAX4AYAN/f38AYAJ/fgBgBH9/f38BfmABfgF/YAJ/fwBgBX5/f39/AGACf38Bf2ADf39+AGAFfn5+fn4BfmAFf35/f34AYAh+fn5+fn5+fgF+YAJ+fgBgA35/fwF+YAN/f38BfwL9ASoBbAExAAABbAE3AAEBYQEwAAIBdgFkAAABdgEzAAIBdgEyAAABdgE2AAABeAExAAABdgFfAAMBdgExAAABYgE4AAIBYgEzAAABYgFlAAABYgEwAAIBYwEwAAQBdgE4AAIBdgE5AAIBbAEyAAABbAFfAAQBeAE3AAMBZAFfAAQBZAEwAAQBbAE2AAIBaQEwAAIBaQEzAAABaQE1AAIBaQE0AAIBbQFhAAEBdgFnAAABYgFtAAQBaQE4AAIBaQE3AAIBaQE2AAABaQFfAAIBYgFqAAABbQE5AAQBeAEwAAABeAEzAAMBeAE4AAMBbAEwAAABbAE4AAABeAE1AAIDqgGoAQUFBQUGBwgHCQgKBQsLDAMDAwsNDgcLCgsPEAYNAxAQCwIRDhINAwwLExMIExIJCwsSCBIIChINExAUEBATBhAGEAQQEwIVEBAQAwIHAhYAAAALCwAACwAOBAAOAA4OAwIDAgMCAwICAwMAAgMDFxgGFwATDAACFwMZExMOAQILAgMTAwMDAwIaAAcIBgMDABMAEAoDCxMDAwcQCRsPEBAPChMPEBMcHAQFAXABAQEFAwEAEQYhBH8BQYCAwAALfwBBqIXAAAt/AEHIjcAAC38AQdCNwAALB5EHNQZtZW1vcnkCAAxfX2NoZWNrX2F1dGgAbApzZXRfcGF1c2VkAHcJc2V0X2FkbWluAHkZc2V0X3N1cHBvcnRlZF9tZXNzYWdlX2xpYgB6DXNldF9hbGxvd2xpc3QAewxzZXRfZGVueWxpc3QAfhpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwB/E3NldF9kZXBvc2l0X2FkZHJlc3MAgQEac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAgwESc2V0X3dvcmtlcl9mZWVfbGliAIQBDnNldF9wcmljZV9mZWVkAIYBBnBhdXNlZACJAQhpc19hZG1pbgCKAQZhZG1pbnMAiwEYaXNfc3VwcG9ydGVkX21lc3NhZ2VfbGliAIwBDG1lc3NhZ2VfbGlicwCNAQ9pc19vbl9hbGxvd2xpc3QAjgEOYWxsb3dsaXN0X3NpemUAjwEOaXNfb25fZGVueWxpc3QAkAEHaGFzX2FjbACRARZkZWZhdWx0X211bHRpcGxpZXJfYnBzAJIBD2RlcG9zaXRfYWRkcmVzcwCTARpnZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwCVAQ53b3JrZXJfZmVlX2xpYgCWAQpwcmljZV9mZWVkAJcBCmFzc2lnbl9qb2IAmAEHZ2V0X2ZlZQCbAQ5zZXRfZHN0X2NvbmZpZwCfAQpkc3RfY29uZmlnAKABC25hdGl2ZV9kcm9wAKEBCGVuZHBvaW50AKIBDV9fY29uc3RydWN0b3IAowEOd2l0aGRyYXdfdG9rZW4ApwEHdXBncmFkZQCoAQdtaWdyYXRlAKoBBmZyZWV6ZQCrAQlpc19mcm96ZW4ArQEKYXV0aG9yaXplcgCuAQVvd25lcgCvAQ1wZW5kaW5nX293bmVyALABEnRyYW5zZmVyX293bmVyc2hpcACxARpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgCzARBhY2NlcHRfb3duZXJzaGlwALcBEnJlbm91bmNlX293bmVyc2hpcAC4ARNleHRlbmRfaW5zdGFuY2VfdHRsALkBD3NldF90dGxfY29uZmlncwC7AQt0dGxfY29uZmlncwC+ARJmcmVlemVfdHRsX2NvbmZpZ3MAwQEVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAMIBAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwq1nQGoAQ8AIAAgARCrgICAAEEBcwuiAQEDfyOAgICAAEEQayICJICAgIAAAkACQAJAIABC/wGDQg5SDQAgAUL/AYNCDlENAQsgACABEKSAgIAAUCEDDAELIAIgAUIIiDcDCCACIABCCIg3AwACQANAIAIQxYGAgAAhAyACQQhqEMWBgIAAIQQgA0GAgMQARg0BIAMgBEYNAAtBACEDDAELIARBgIDEAEYhAwsgAkEQaiSAgICAACADCw8AIAAgARCtgICAAEEBcwsNACAAIAEQpICAgABQCzcBAX5CACEDAkACQCABQgJRDQAgAadBAXENASAAIAI3AwhCASEDCyAAIAM3AwAPCxCvgICAAAALCQAQw4GAgAAACxQAELGAgIAAQQAQsoCAgABB/QFxC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqEL+BgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC6gYCAAAsgAEEQaiSAgICAAAtHAgF/AX5BAiEBAkAgABDLgYCAACICQgIQtYCAgABFDQBBASEBAkACQCACQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAQsgAQtNAgF/AX4QsYCAgABBACEAAkBBABC0gICAACIBQgIQtYCAgABFDQBBASEAAkACQCABQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAAsgAAvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB/ojAgABBBhDDgICAACABKAIADQMgASABKQMIEMSAgIAADAILIAFBhInAgABBCBDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBjInAgABBChDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEKeAgIAAQgFRC2sCAX8CfiOAgICAAEEQayIBJICAgIAAIAFBBGoQt4CAgAACQCABKAIEQQFHDQAgATUCDCECIAE1AgghA0EAIAAQuICAgABCASADQiCGQgSEIAJCIIZCBIQQgYCAgAAaCyABQRBqJICAgIAACwwAIABBAhDMgYCAAAubAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQQFxRQ0AIAJBjYPAgABBCBDDgICAACACKAIADQIgAiACKQMIEMSAgIAADAELIAJBhIPAgABBCRDDgICAACACKAIADQEgAiACKQMIIAGtQiCGQgSEEMWAgIAACyACKQMIIQMgAikDAFANAQsACyACQRBqJICAgIAAIAMLFQEBfhC6gICAACIAEIKAgIAAGiAAC0cCAX8BfiOAgICAAEEQayIAJICAgIAAELGAgIAAIAAQvICAgAAgACkDCCEBIAApAwBBiwgQvYCAgAAgAEEQaiSAgICAACABC2wCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQvICAgAAgACkDCCEBIAApAwBBiwgQvYCAgAACQCABELqAgIAAEK2AgIAADQBCg4CAgOCAARC+gICAAAALIAEQgoCAgAAaIABBEGokgICAgAAgAQsQABCxgICAACAAEMKAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQvoCAgAAACwsAIAAQqYCAgAAaC0IBAX8jgICAgABBEGsiACSAgICAACAAEMCAgIAAAkAgACkDAFANAEKDgICAwIEBEL6AgIAAAAsgAEEQaiSAgICAAAtTAQJ+ELGAgIAAQgAhAQJAAkBBARDBgICAACICQgAQtYCAgABFDQAgAkIAEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFBkYjAgABBDBDDgICAACABKAIADQIgASABKQMIEMSAgIAADAELIAFBjIjAgABBBRDDgICAACABKAIADQEgASABKQMIEMSAgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQwYCAgAAiAkICELWAgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQx4GAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEJ6BgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCegYCAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAurAgMBfwJ+AX8jgICAgABBIGsiAiSAgICAABDHgICAACIDIAAQg4CAgAAhBAJAAkACQAJAAkAgAQ0AIAJBCGogBBDIgICAACACKAIIIgVBAkYNASAFQQFxRQ0CIAIoAgwiBSADEISAgIAAQiCIp08NBCADIAWtQiCGQgSEEIWAgIAAIQMMBAsgBEICUQ0CQoOAgICAlgEQvoCAgAAACxCvgICAAAALQoOAgICQlgEQvoCAgAAACyADIAAQhoCAgAAhAwsgAkEBNgIQIAJBEGogAxDJgICAACACQRBqEMqAgIAAQo7mrrnqjOTVOBDLgICAACEDIAIgADcDGCACIAGtNwMQIANBrInAgABBAiACQRBqQQIQzICAgAAQh4CAgAAaIAJBIGokgICAgAALaAIBfwN+I4CAgIAAQSBrIgAkgICAgAAQsYCAgAAgAEEBNgIAIABBEGogABDUgICAAAJAIAApAxAiAVANACAAEMqAgIAACxCIgICAACECIAApAxghAyAAQSBqJICAgIAAIAMgAiABpxsLPQECfwJAAkAgAUICUg0AQQAhAgwBC0EBQQIgAUL/AYNCBFEbIQIgAUIgiKchAwsgACADNgIEIAAgAjYCAAsVACAAEN+AgIAAIAFCARCSgICAABoLaQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahC3gICAAAJAIAEoAgRBAUcNACABNQIMIQIgATUCCCEDIAAQ34CAgABCASADQiCGQgSEIAJCIIZCBIQQgYCAgAAaCyABQRBqJICAgIAAC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARCegYCAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEKOAgIAACycAIAAQgoCAgAAaAkAgABDOgICAAA0AQoOAgIDAlwEQvoCAgAAACwsZABCxgICAABDHgICAACAAEIOAgIAAQgJSC68CAwF/An4BfyOAgICAAEEgayICJICAgIAAENCAgIAAIgMgABCDgICAACEEAkACQAJAAkACQCABDQAgAkEIaiAEEMiAgIAAIAIoAggiBUECRg0BIAVBAXFFDQIgAigCDCIFIAMQhICAgABCIIinTw0EIAMgBa1CIIZCBIQQhYCAgAAhAwwECyAEQgJRDQJCg4CAgNCWARC+gICAAAALEK+AgIAAAAtCg4CAgOCWARC+gICAAAALIAMgABCGgICAACEDCyACQQI2AhAgAkEQaiADEMmAgIAAIAJBEGoQyoCAgABBvInAgABBGRDRgICAABDLgICAACEDIAIgAa03AxggAiAANwMQIANB7InAgABBAiACQRBqQQIQzICAgAAQh4CAgAAaIAJBIGokgICAgAALaAIBfwN+I4CAgIAAQSBrIgAkgICAgAAQsYCAgAAgAEECNgIAIABBEGogABDUgICAAAJAIAApAxAiAVANACAAEMqAgIAACxCIgICAACECIAApAxghAyAAQSBqJICAgIAAIAMgAiABpxsLRQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQx4GAgAACQCACKAIAQQFHDQAACyACKQMIIQMgAkEQaiSAgICAACADCzcBAX8jgICAgABBEGsiASSAgICAABCxgICAACABQQo2AgAgACABENOAgIAAIAFBEGokgICAgAALTQECfkIAIQICQAJAIAEQ34CAgAAiA0ICELWAgIAARQ0AIANCAhCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALTQECfkIAIQICQAJAIAEQ34CAgAAiA0IBELWAgIAARQ0AIANCARCAgICAACICQv8Bg0LLAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALVQEDfyOAgICAAEEgayIAJICAgIAAELGAgIAAIABBBDYCECAAQQhqIABBEGoQ1oCAgAAgACgCCCEBIAAoAgwhAiAAQSBqJICAgIAAIAJBACABQQFxGwtaAgF+AX8CQAJAAkAgARDfgICAACICQgIQtYCAgAANAEEAIQEMAQsgAkICEICAgIAAIgJC/wGDQgRSDQEgAkIgiKchA0EBIQELIAAgAzYCBCAAIAE2AgAPCwALTgECfyOAgICAAEEQayIBJICAgIAAELGAgIAAIAFBBTYCACABIAA3AwgCQCABENiAgIAAIgJFDQAgARDKgICAAAsgAUEQaiSAgICAACACCxIAIAAQ34CAgABCARC1gICAAAs3AQF/I4CAgIAAQRBrIgEkgICAgAAQsYCAgAAgAUEJNgIAIAAgARDTgICAACABQRBqJICAgIAACzcBAX8jgICAgABBEGsiASSAgICAABCxgICAACABQQc2AgAgACABENOAgIAAIAFBEGokgICAgAALTgECfyOAgICAAEEQayIBJICAgIAAELGAgIAAIAFBAzYCACABIAA3AwgCQCABENiAgIAAIgJFDQAgARDKgICAAAsgAUEQaiSAgICAACACC1UBA38jgICAgABBIGsiACSAgICAABCxgICAACAAQQY2AhAgAEEIaiAAQRBqENaAgIAAIAAoAgghASAAKAIMIQIgAEEgaiSAgICAACACQQAgAUEBcRsLGQAQsYCAgAAQ0ICAgAAgABCDgICAAEICUgtwAgJ/AX4jgICAgABBEGsiACSAgICAABCxgICAAEEAIQEgAEEANgIAAkAgABDfgICAACICQgIQtYCAgABFDQBBASEBAkACQCACQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC6YEAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCAA4LAAECAwQFBgcICQoACyABQciMwIAAQQYQw4CAgAAgASgCAA0LIAEgASkDCBDEgICAAAwKCyABQc6MwIAAQQYQw4CAgAAgASgCAA0KIAEgASkDCBDEgICAAAwJCyABQdSMwIAAQQsQw4CAgAAgASgCAA0JIAEgASkDCBDEgICAAAwICyABQd+MwIAAQQkQw4CAgAAgASgCAA0IIAEgASkDCCAAKQMIEMWAgIAADAcLIAFB6IzAgABBDRDDgICAACABKAIADQcgASABKQMIEMSAgIAADAYLIAFB9YzAgABBCBDDgICAACABKAIADQYgASABKQMIIAApAwgQxYCAgAAMBQsgAUH9jMCAAEEUEMOAgIAAIAEoAgANBSABIAEpAwgQxICAgAAMBAsgAUGRjcCAAEEOEMOAgIAAIAEoAgANBCABIAEpAwgQxICAgAAMAwsgAUGfjcCAAEEUEMOAgIAAIAEoAgANAyABIAEpAwggADUCBEIghkIEhBDFgICAAAwCCyABQbONwIAAQQwQw4CAgAAgASgCAA0CIAEgASkDCBDEgICAAAwBCyABQb+NwIAAQQkQw4CAgAAgASgCAA0BIAEgASkDCBDEgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCy8AELGAgIAAAkAgABDXgICAAEUNAEEADwsCQBDVgICAAA0AQQEPCyAAENuAgIAACykAAkAgAKdBAXFFDQAPCyABQdB2aq1CIIZCg4CAgICWAYQQvoCAgAAAC2kCAX8BfgJAIAEoAggiAiABKAIMSQ0AIABCAjcDAA8LIAEpAwAgAq1CIIZCBIQQiYCAgAAhAwJAIAJBAWoiAkUNACAAIAM3AwggASACNgIIIAAgA0L/AYNCzQBSrTcDAA8LEK+AgIAAAAvcAgICfwZ+I4CAgIAAQdAAayICJICAgIAAQQAhAwJAA0AgA0EoRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQgAhBEIBIQUCQCABQv8Bg0LMAFINACABQciBwIAAQQUgAkEIakEFEOSAgIAAIAJBMGogAikDCBDlgICAACACKAIwQQFGDQAgAikDSCEBIAIpA0AhBiACQTBqIAIpAxAQ5oCAgAAgAigCMA0AIAIpAzghByACQTBqIAIpAxgQ5oCAgAAgAigCMA0AIAIpAyAiCEL/AYNCBFINACACKQM4IQkgAkEwaiACKQMoEOWAgIAAIAIoAjBBAUYNACACKQNAIQQgACACKQNINwMoIAAgBDcDICAAIAE3AxggACAGNwMQIAAgCEIgiKc2AkAgACAHNwM4IAAgCTcDMEIAIQVCACEECyAAIAU3AwAgACAENwMIIAJB0ABqJICAgIAACzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBCbgICAABoLewIBfwF+AkACQAJAIAGnQf8BcSICQcQARg0AIAJBCkcNAUIAIQMgAEIANwMYIAAgAUIIiDcDEAwCCyABEJmAgIAAIQMgARCagICAACEBIAAgAzcDGCAAIAE3AxBCACEDDAELIABCg5CAgIABNwMIQgEhAwsgACADNwMAC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQl4CAgAAhAQsgACADNwMAIAAgATcDCAv8AQIBfwV+I4CAgIAAQTBrIgIkgICAgAAgAkEIaiABKQMAIAEpAwgQ6ICAgABCASEDAkAgAigCCA0AIAIpAxAhBCACQQhqIAEpAygQ6YCAgAAgAigCCA0AIAIpAxAhBSACQQhqIAEpAyAQ6YCAgAAgAigCCA0AIAIpAxAhBiABNQIwIQcgAkEIaiABKQMQIAEpAxgQ6ICAgAAgAigCCA0AIAIgAikDEDcDKCACIAY3AxggAiAFNwMQIAIgBDcDCCACIAdCIIZCBIQ3AyAgAEHIgcCAAEEFIAJBCGpBBRDMgICAADcDCEIAIQMLIAAgAzcDACACQTBqJICAgIAAC0YAAkACQCABQv//////////AFYgAkIAUiACUBsNACABQgiGQgqEIQIMAQsgAiABEJiAgIAAIQILIABCADcDACAAIAI3AwgLQgEBfyOAgICAAEEQayICJICAgIAAIAIgARDEgYCAACACKQMIIQEgACACKQMANwMAIAAgATcDCCACQRBqJICAgIAAC4EBAQJ/I4CAgIAAQSBrIgMkgICAgAACQAJAIAGnQQFxDQAgAEKBgICAMDcDAAwBCyADIAIQ64CAgAACQAJAIAMoAgBBAUcNACAAQQM2AgRBASEEDAELIAAgAykDGDcDGCAAIAMpAxA3AxBBACEECyAAIAQ2AgALIANBIGokgICAgAALfQIBfwF+AkACQAJAAkAgAadB/wFxIgJBxQBGDQAgAkELRw0CIAAgAUI/hzcDGCAAIAFCCIc3AxAMAQsgARCegICAACEDIAEQn4CAgAAhASAAIAM3AxggACABNwMQC0IAIQEMAQsgAEKDkICAgAE3AwhCASEBCyAAIAE3AwALjA0FAX8BfgF/A34BfyOAgICAAEHAAGsiAySAgICAACADQRBqIAAQ7YCAgAACQCADKAIQQQFGDQAgAykDGCEEQQAhBQJAA0AgBUEQRg0BIANBMGogBWpCAjcDACAFQQhqIQUMAAsLIAFC/wGDQswAUg0AIAFB9ILAgABBAiADQTBqQQIQ5ICAgAAgA0EQaiADKQMwEO2AgIAAIAMoAhANACADKQM4IgFC/wGDQsgAUg0AIAMpAxghACABEIqAgIAAQoCAgIBwg0KAgICAgAhSDQAgAkL/AYNCywBSDQAQsYCAgABBqIXAgACtQiCGQgSEQoSAgIDAARCLgICAACAAEIyAgIAAEI2AgIAAIgZC/wGDQs0AUg0AAkACQCAGEM6AgIAADQBCg4CAgCAhAQwBCyAAIAQgARCOgICAABoCQAJAAkACQCACEISAgIAAQv////8vVg0AIAIQhICAgABCgICAgBBUDQAgAhCPgICAACIBQv8Bg0LLAFINBSABEISAgIAAIQAgA0EANgIIIAMgATcDACADIABCIIg+AgwgA0EQaiADEO6AgIAAIAMpAxAiAUICUQ0FIAGnQQFxDQUCQCADKQMYIgGnQf8BcSIFQcoARg0AIAVBDkcNBgsCQAJAAkACQAJAIAEQ74CAgABCIIinDgMAAQIKCyADKAIIIAMoAgwQ8ICAgABBAUsNCSADQTBqIAMQ7oCAgAAgAykDMCIBQgJRDQkgAadBAXENCSADQRBqIAMpAzgQ8YCAgAAgAygCEEEBRg0JIAMpAyghBiADKQMYIQAgAykDICIBQaSCwIAAQRAQ0YCAgAAQq4CAgAANAyABQbSCwIAAQRAQ0YCAgAAQq4CAgAANAwJAIAFBxILAgABBChDRgICAABCqgICAAEUNACABQc6CwIAAQQoQ0YCAgAAQqoCAgAANBQsgBhCEgICAAEL/////D1YNAiADQQM2AhQMBgsgAygCCCADKAIMEPCAgIAAQQFLDQggA0EwaiADEO6AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPKAgIAAIAMoAhBFDQMMCAsgAygCCCADKAIMEPCAgIAAQQFLDQcgA0EwaiADEO6AgIAAIAMpAzAiAUICUQ0HIAGnQQFxDQcgA0EQaiADKQM4EPOAgIAAIAMoAhANBwwCCyADQRBqQgEgBhCQgICAABDqgICAACADKAIQQQFxDQMgAykDKCEBIAMpAyAhACACEISAgIAAQiCIIQYCQCAAIAGEQgBSDQAgBkIBUg0CDAMLIAZCAlINAQJAAkAgAhCEgICAAEKAgICAIFQNACACQoSAgIAQEImAgIAAIgJC/wGDQssAUg0IIAIQhICAgAAhBiADQQA2AgggAyACNwMAIAMgBkIgiD4CDCADQRBqIAMQ7oCAgAAgAykDECICQgJRDQggAqdBAXENCAJAIAMpAxgiAqdB/wFxIgVBygBGDQAgBUEORw0JCwJAAkACQCACEO+AgIAAQiCIpw4DAAECCwsgAygCCCADKAIMEPCAgIAAQQFLDQogA0EwaiADEO6AgIAAIAMpAzAiAkICUQ0KIAKnQQFxDQogA0EQaiADKQM4EPGAgIAAIAMoAhBBAUYNCiADKQMgIQYgAykDGCEEIAMpAyghAhD0gICAABD1gICAACEHIAIQhICAgABC/////y9WDQMgA0EDNgIUDAcLIAMoAgggAygCDBDwgICAAEEBSw0JIANBMGogAxDugICAACADKQMwIgFCAlENCSABp0EBcQ0JIANBEGogAykDOBDygICAACADKAIQDQkMBAsgAygCCCADKAIMEPCAgIAAQQFLDQggA0EwaiADEO6AgIAAIAMpAzAiAUICUQ0IIAGnQQFxDQggA0EQaiADKQM4EPOAgIAAIAMoAhANCAwDCxD2gICAAAALIANBEGpCASACQoSAgIAgEImAgIAAEOqAgIAAIAMoAhBBAXENAyADKQMoIQIgAykDICEIQQMhBSAGQdiCwIAAQQgQ0YCAgAAQqoCAgAANBCAEIAcQrICAgAAhCSAIIACFIAIgAYWEQgBSDQQgCUUNAgwECyACEISAgIAAQoCAgIBwg0KAgICAEFINACAAEPSAgIAAEKyAgIAARQ0BC0KDgICAMCEBDAMLQgIhAQwCCyADKAIUIQULIAVBf2qtQiCGQoOAgIAQfCEBCyADQcAAaiSAgICAACABDwsAC0IBAX5CASECAkAgAUL/AYNCyABSDQAgARCKgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAtKAgF+AX9CAiECAkAgASgCCCIDIAEoAgxPDQAgACABKQMAIAOtQiCGQgSEEImAgIAANwMIIAEgA0EBajYCCEIAIQILIAAgAjcDAAsSACAAQbiAwIAAQQMQxoGAgAALGQACQCABIABJDQAgASAAaw8LEK+AgIAAAAvTAQICfwN+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHMhcCAAEEDIAJBCGpBAxDkgICAACACKQMIIgFC/wGDQssAUg0AIAIpAxAiBUL/AYNCzQBSDQACQCACKQMYIganQf8BcSIDQcoARg0AIANBDkcNAQsgACABNwMYIAAgBjcDECAAIAU3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAu+AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUH0hcCAAEECIAJBAhDkgICAACACQRBqIAIpAwAQyIGAgAAgAigCEA0AIAIpAxghASACQRBqIAIpAwgQ7YCAgAAgAigCEA0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAvgAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGUhsCAAEEDIAJBCGpBAxDkgICAACACKQMIIgFC/wGDQssAUg0AIAJBIGogAikDEBDIgYCAACACKAIgDQAgAikDKCEFIAJBIGogAikDGBDtgICAACACKAIgDQAgAikDKCEEIAAgATcDGCAAIAQ3AxAgACAFNwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALSQIBfwF+ELGAgIAAAkACQEEBIAAQuICAgAAiAUICELWAgIAARQ0AIAFCAhCAgICAACIBQv8Bg0LNAFENAQALEPaAgIAAAAsgAQs2AAJAIABBvIPAgABBDBDRgICAABCIgICAABCUgICAACIAQv8Bg0LNAFENABCvgICAAAALIAALCQAQr4CAgAAAC/4BAgJ/AX4jgICAgABBEGsiASSAgICAAAJAAkBBASAAp0H/AXEiAkEAR0EBdCACQQFGGyICQQJGDQAQsYCAgAAQuYCAgAAhABDegICAACACc0EBcUUNASABQQA2AgAgASACQgIQ+ICAgAACQAJAIAJBAXENAEKO0qrc7qzP9QAQy4CAgAAhAyABIAA3AwAgA0HgisCAAEEBIAFBARDMgICAABCHgICAABoMAQtCjtKq3O6sAxDLgICAACEDIAEgADcDACADQdCKwIAAQQEgAUEBEMyAgIAAEIeAgIAAGgsgAUEQaiSAgICAAEICDwsAC0KDgICAoJcBEL6AgIAAAAsaACAAEN+AgIAAIAGtQv8BgyACEJKAgIAAGgtPAQF/AkAgAEL/AYNCzQBSDQBBASABp0H/AXEiAkEAR0EBdCACQQFGGyICQQJGDQAQsYCAgAAQuYCAgAAaIAAgAkEBcRDGgICAAEICDwsAC08BAX8CQCAAQv8Bg0LNAFINAEEBIAGnQf8BcSICQQBHQQF0IAJBAUYbIgJBAkYNABCxgICAABC5gICAABogACACQQFxEM+AgIAAQgIPCwAL0wIBA38jgICAgABBEGsiAiSAgICAAAJAAkACQAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AELGAgIAAELmAgIAAGiAAENuAgIAAIQQCQAJAIANBAXENACAERQ0DIAJBAzYCACACIAA3AwggAhDfgICAAEIBEJGAgIAAGhDVgICAACIERQ0FIARBf2ohBAwBCyAEDQMgAkEDNgIAIAIgADcDCCACEPyAgIAAIAIQyoCAgAAQ1YCAgABBAWoiBEUNBAsgBBD9gICAAEH8icCAAEENENGAgIAAEMuAgIAAIQEgAiAANwMIIAIgA603AwAgAUGUisCAAEECIAJBAhDMgICAABCHgICAABogAkEQaiSAgICAAEICDwsAC0KDgICAgJcBEL6AgIAAAAtCg4CAgKCWARC+gICAAAALEK+AgIAAAAsOACAAQQFCARD4gICAAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEENgIAIAEgABDPgYCAACABQRBqJICAgIAAC6ECAQN/I4CAgIAAQRBrIgIkgICAgAACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAQsYCAgAAQuYCAgAAaIAAQ14CAgAAhBAJAAkAgA0EBcQ0AIARFDQMgAkEFNgIAIAIgADcDCCACEN+AgIAAQgEQkYCAgAAaDAELIAQNAyACQQU2AgAgAiAANwMIIAIQ/ICAgAAgAhDKgICAAAtBpIrAgABBDBDRgICAABDLgICAACEBIAIgADcDCCACIAOtNwMAIAFBuIrAgABBAiACQQIQzICAgAAQh4CAgAAaIAJBEGokgICAgABCAg8LAAtCg4CAgJCXARC+gICAAAALQoOAgICwlgEQvoCAgAAACzoAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINABCxgICAACAAEM2AgIAAIAFCIIinEICBgIAAQgIPCwALcgIBfwF+I4CAgIAAQRBrIgEkgICAgAAgAUEGNgIAIAEgABDPgYCAAEHoisCAAEEaENGAgIAAEMuAgIAAIQIgASAArUIghkIEhDcDACACQZCLwIAAQQEgAUEBEMyAgIAAEIeAgIAAGiABQRBqJICAgIAAC5ABAQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINABCxgICAACAAEM2AgIAAIAEQgoGAgABBmIvAgABBExDRgICAABDLgICAACEAIAIgATcDCCAAQbyLwIAAQQEgAkEIakEBEMyAgIAAEIeAgIAAGiACQRBqJICAgIAAQgIPCwALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBBzYCACABIAAQzoGAgAAgAUEQaiSAgICAAAvKAQEBfyOAgICAAEEQayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCBFINACACQv8Bg0LIAFINABCxgICAACAAEM2AgIAAIANBCDYCACADIAFCIIg+AgQgAxDfgICAACACQgEQkoCAgAAaIAMQyoCAgABB5IvAgABBGhDRgICAABDLgICAACEAIAMgAjcDCCADIAFChICAgHCDNwMAIABBlIzAgABBAiADQQIQzICAgAAQh4CAgAAaIANBEGokgICAgABCAg8LAAuQAQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAQsYCAgAAgABDNgICAACABEIWBgIAAQaSMwIAAQRIQ0YCAgAAQy4CAgAAhACACIAE3AwggAEHAjMCAAEEBIAJBCGpBARDMgICAABCHgICAABogAkEQaiSAgICAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQk2AgAgASAAEM6BgIAAIAFBEGokgICAgAALPwACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINABCxgICAACAAEM2AgIAAIAEQh4GAgAAgARCIgYCAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQo2AgAgASAAEM6BgIAAIAFBEGokgICAgAALXQIBfwF+I4CAgIAAQRBrIgEkgICAgABBxIvAgABBDhDRgICAABDLgICAACECIAEgADcDCCACQdyLwIAAQQEgAUEIakEBEMyAgIAAEIeAgIAAGiABQRBqJICAgIAACwkAEN6AgIAArQsbAAJAIABC/wGDQs0AUQ0AAAsgABDOgICAAK0LCAAQx4CAgAALGwACQCAAQv8Bg0LNAFENAAALIAAQ3YCAgACtCwgAENCAgIAACxsAAkAgAEL/AYNCzQBRDQAACyAAENuAgIAArQsPABDVgICAAK1CIIZCBIQLGwACQCAAQv8Bg0LNAFENAAALIAAQ14CAgACtCxsAAkAgAEL/AYNCzQBR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IAAQvICAgAAgACkDACAAKQMIEJSBgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQwICAgAAgACkDACAAKQMIEJSBgIAAIQEgAEEQaiSAgICAACABCzwBAX4CQCAAQv8Bg0LNAFENAAALELGAgIAAELuAgIAAIQEQv4CAgAAgABCmgYCAACABIAAQsoGAgABCAgthAgF/AX4jgICAgABBEGsiAiSAgICAAEG9hsCAAEEVENGAgIAAEMuAgIAAIQMgAiAANwMIIAIgATcDACADQeSGwIAAQQIgAkECEMyAgIAAEIeAgIAAGiACQRBqJICAgIAAC/wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AELGAgIAAELuAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahDAgICAACACKQMQIQEgAikDCEGJCBC9gICAACABIAAQrYCAgABFDQMQtIGAgABBqIfAgABBHBDRgICAABDLgICAACEAIAIgAzcDECACIAE3AwggAEHgh8CAAEECIAJBCGpBAhDMgICAABCHgICAABoMAQsQtYGAgAAgAUIgiKdJDQNBASAAQgAQtoGAgABBARDBgICAAEIAIAFChICAgHCDIgEgARCBgICAABpB9IbAgABBFhDRgICAABDLgICAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARBkIfAgABBAyACQQhqQQMQzICAgAAQh4CAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDwgAEQvoCAgAAAC0KDgICAgIEBEL6AgIAAAAsTAEEBEMGAgIAAQgAQkYCAgAAaCzMBAn4QpYCAgAAhAAJAEKaAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEK+AgIAAAAsVACAAEMGAgIAAIAEgAhCSgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAELGAgIAAIAAQwICAgAAgACkDCCEBIAApAwBBiQgQvYCAgAAgARCCgICAABogABDCgICAAAJAIAAoAgANABD2gICAAAALIAApAwghAhC0gYCAACABEKaBgIAAIAIgARCygYCAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAA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AAJAAkAgAUL/AYNCywBRDQAgAEIBNwMADAELIAEQhICAgAAhAyACQQA2AgggAiABNwMAIAIgA0IgiD4CDCACQRBqIAIQ7oCAgAACQCACKQMQIgFCAlENACABp0EBcQ0AAkAgAikDGCIBp0H/AXEiBEHKAEYNACAEQQ5HDQELAkAgAUGshsCAAEEBEMaBgIAAQv////8PVg0AIAIoAgggAigCDBDwgICAAEEBSw0AIAJBEGogAhDugICAACACKQMQIgFCAlENACABp0EBcQ0AIAJBEGogAikDGBDtgICAACACKAIQDQAgAikDGCEBIABCADcDACAAIAE3AwgMAgsgAEIBNwMADAELIABCATcDAAsgAkEgaiSAgICAAAutAQICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtBASEDAkAgAUL/AYNCzABSDQAgAUGoiMCAAEECIAJBAhDkgICAACACKQMAIgFC/wGDQgRSDQAgAikDCCIEQv8Bg0IEUg0AIAAgAUIgiKc2AgggACAEQiCIPgIEQQAhAwsgACADNgIAIAJBEGokgICAgAALYAIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABrUIghkIEhDcDCCADIAKtQiCGQgSENwMAQaiIwIAAQQIgA0ECEMyAgIAAIQQgAEIANwMAIAAgBDcDCCADQRBqJICAgIAAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUGWicCAAEEJEMOAgIAAIAEoAgANAiABIAEpAwgQxICAgAAMAQsgAUH+iMCAAEEGEMOAgIAAIAEoAgANASABIAEpAwgQxICAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgt3AgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQAJAIAEQtICAgAAiBEICELWAgIAARQ0AIAJBBGogBEICEICAgIAAEMmBgIAAQQEhAyACKAIEQQFGDQEgACACKQIINwIECyAAIAM2AgAgAkEQaiSAgICAAA8LAAtWAgF/AX4jgICAgABBEGsiAySAgICAACAAELSAgIAAIQQgAyABIAIQyoGAgAACQCADKAIAQQFHDQAACyAEIAMpAwhCAhCSgICAABog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AOQCEAAKAAAA7gIQAAQAAABjb25zdHJ1Y3Rvcl9hcmdzBAMQABAAAADkAhAACgAAAO4CEAAEAAAAtAIQAAQAAAB0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXJSAxAACQAAAFsDEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAFIDEAAJAAAAWwMQAAkAAACKAxAAAwAAAG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWRjYW5jZWxsZWRfcGVuZGluZ19vd25lcm93bmVyxAMQABcAAADbAxAABQAAAG93bmVyc2hpcF9yZW5vdW5jZWQAWwMQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAAHQQQAAkAAAA0AxAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAEcEEAAIAAAATwQQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmdhY3RpdmVhZG1pbgAAnwQQAAYAAAClBBAABQAAAHNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWJtZXNzYWdlX2xpYnN1cHBvcnRlZAAAANUEEAALAAAA4AQQAAkAAABzZXRfYWxsb3dsaXN0YWxsb3dlZG9hcHAJBRAABwAAABAFEAAEAAAAc2V0X2RlbnlsaXN0ZGVuaWVkAAAwBRAABgAAABAFEAAEAAAAcGF1c2VyAABIBRAABgAAAHVucGF1c2VyWAUQAAgAAABzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2Jwc211bHRpcGxpZXJfYnBzggUQAA4AAABzZXRfZGVwb3NpdF9hZGRyZXNzZGVwb3NpdF9hZGRyZXNzAACrBRAADwAAAHNldF9wcmljZV9mZWVkcHJpY2VfZmVlZNIFEAAKAAAAc2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXNkc3RfZWlkb3B0aW9uX3R5cGVzAAAA/gUQAAcAAAAFBhAADAAAAHNldF93b3JrZXJfZmVlX2xpYmZlZV9saWIAAAA2BhAABwAAAFBhdXNlZEFkbWluc01lc3NhZ2VMaWJzQWxsb3dsaXN0QWxsb3dsaXN0U2l6ZURlbnlsaXN0RGVmYXVsdE11bHRpcGxpZXJCcHNEZXBvc2l0QWRkcmVzc1N1cHBvcnRlZE9wdGlvblR5cGVzV29ya2VyRmVlTGliUHJpY2VGZWVkAJOAAg5jb250cmFjdHNwZWN2MAAAAAQAAAAAAAAAAAAAAA1FeGVjdXRvckVycm9yAAAAAAAAAwAAAAAAAAAPRWlkTm90U3VwcG9ydGVkAAAAAAEAAAAAAAAADFVuYXV0aG9yaXplZAAAAAIAAAAAAAAAE1VuYXV0aG9yaXplZENvbnRleHQAAAAAAwAAAAUAAAAAAAAAAAAAAAxEc3RDb25maWdTZXQAAAABAAAADmRzdF9jb25maWdfc2V0AAAAAAABAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAEVNldERzdENvbmZpZ1BhcmFtAAAAAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAARTmF0aXZlRHJvcEFwcGxpZWQAAAAAAAABAAAAE25hdGl2ZV9kcm9wX2FwcGxpZWQAAAAABQAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAABJuYXRpdmVfZHJvcF9wYXJhbXMAAAAAA+oAAAfQAAAAEE5hdGl2ZURyb3BQYXJhbXMAAAAAAAAAAAAAAAdzdWNjZXNzAAAAA+oAAAABAAAAAAAAAAIAAAABAAAA20Rlc3RpbmF0aW9uIGNoYWluIGNvbmZpZ3VyYXRpb24gZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGdhcyBjb3N0cyBhbmQgZmVlIHBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gZWFjaCBkZXN0aW5hdGlvbiBjaGFpbi4KVGhlc2UgcGFyYW1ldGVycyBhcmUgdXNlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGFjY3VyYXRlIGV4ZWN1dGlvbiBmZWVzLgAAAAAAAAAACURzdENvbmZpZwAAAAAAAAUAAAA7TWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKSB0byBlbnN1cmUgcHJvZml0YWJpbGl0eS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAAOkJhc2UgZ2FzIGNvc3QgcGVyIGx6Q29tcG9zZSBjYWxsIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAA/QmFzZSBnYXMgY29zdCBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAABNsel9yZWNlaXZlX2Jhc2VfZ2FzAAAAAAYAAABRRmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzIGZvciB0aGlzIGRlc3RpbmF0aW9uICgwID0gdXNlIGRlZmF1bHQgbXVsdGlwbGllcikuAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAARk1heGltdW0gbmF0aXZlIHRva2VuIHZhbHVlIHRoYXQgY2FuIGJlIHRyYW5zZmVycmVkIHRvIHRoZSBkZXN0aW5hdGlvbi4AAAAAAApuYXRpdmVfY2FwAAAAAAAKAAAAAQAAAHxQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIGRlc3RpbmF0aW9uIGNvbmZpZ3VyYXRpb24uCgpVc2VkIHdoZW4gY29uZmlndXJpbmcgZXhlY3V0b3Igc2V0dGluZ3MgZm9yIGEgc3BlY2lmaWMgZGVzdGluYXRpb24gY2hhaW4uAAAAAAAAABFTZXREc3RDb25maWdQYXJhbQAAAAAAAAIAAAAoQ29uZmlndXJhdGlvbiBmb3IgdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAApkc3RfY29uZmlnAAAAAAfQAAAACURzdENvbmZpZwAAAAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAAaFBhcmFtZXRlcnMgZm9yIGEgbmF0aXZlIHRva2VuIGRyb3AuCgpVc2VkIHRvIHNwZWNpZnkgbmF0aXZlIHRva2VuIHRyYW5zZmVycyBhcyBwYXJ0IG9mIGV4ZWN1dG9yIG9wdGlvbnMuAAAAAAAAABBOYXRpdmVEcm9wUGFyYW1zAAAAAgAAACRBbW91bnQgb2YgbmF0aXZlIHRva2VucyB0byB0cmFuc2Zlci4AAAAGYW1vdW50AAAAAAALAAAAL1JlY2VpdmVyIGFkZHJlc3MgZm9yIHRoZSBuYXRpdmUgdG9rZW4gdHJhbnNmZXIuAAAAAAhyZWNlaXZlcgAAABMAAAAAAAAAuFZlcmlmaWVzIGF1dGhvcml6YXRpb24gZm9yIHRoZSBleGVjdXRvciBjb250cmFjdC4KClRoZSBwdWJsaWMga2V5IG11c3QgY29ycmVzcG9uZCB0byBhIHJlZ2lzdGVyZWQgYWRtaW4gYW5kIG11c3QgaGF2ZSBzaWduZWQgdGhlIHNpZ25hdHVyZV9wYXlsb2FkLgpVc2VzIEVkMjU1MTkgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi4AAAAMX19jaGVja19hdXRoAAAAAwAAAAAAAAARc2lnbmF0dXJlX3BheWxvYWQAAAAAAAPuAAAAIAAAAAAAAAAJYXV0aF9kYXRhAAAAAAAH0AAAABFFeGVjdXRvclNpZ25hdHVyZQAAAAAAAAAAAAANYXV0aF9jb250ZXh0cwAAAAAAA+oAAAfQAAAAB0NvbnRleHQAAAAAAQAAA+kAAAACAAAAAwAAAAEAAACMU2lnbmF0dXJlIGRhdGEgZm9yIEN1c3RvbSBBY2NvdW50IGF1dGhvcml6YXRpb24uCkNvbnRhaW5zIHRoZSBhZG1pbidzIHB1YmxpYyBrZXkgYW5kIHRoZWlyIEVkMjU1MTkgc2lnbmF0dXJlIG92ZXIgdGhlIGF1dGhvcml6YXRpb24gcGF5bG9hZC4AAAAAAAAAEUV4ZWN1dG9yU2lnbmF0dXJlAAAAAAAAAgAAAE1BZG1pbidzIEVkMjU1MTkgcHVibGljIGtleSAoMzIgYnl0ZXMpIC0gbXVzdCBjb3JyZXNwb25kIHRvIGEgcmVnaXN0ZXJlZCBhZG1pbgAAAAAAAApwdWJsaWNfa2V5AAAAAAPuAAAAIAAAADdFZDI1NTE5IHNpZ25hdHVyZSAoNjQgYnl0ZXMpIG92ZXIgdGhlIHNpZ25hdHVyZV9wYXlsb2FkAAAAAAlzaWduYXR1cmUAAAAAAAPuAAAAQAAAAAAAAADkU2V0cyB0aGUgcGF1c2VkIHN0YXRlIG9mIHRoZSB3b3JrZXIuCgpXaGVuIHBhdXNlZCwgdGhlIHdvcmtlciB3aWxsIHJlamVjdCBuZXcgam9iIGFzc2lnbm1lbnRzIChlLmcuLCBhc3NpZ25fam9iLCBnZXRfZmVlKS4KRXhpc3Rpbmcgam9icyBpbiBwcm9ncmVzcyBhcmUgbm90IGFmZmVjdGVkLgoKIyBBcmd1bWVudHMKKiBgcGF1c2VkYCAtIGB0cnVlYCB0byBwYXVzZSwgYGZhbHNlYCB0byB1bnBhdXNlAAAACnNldF9wYXVzZWQAAAAAAAEAAAAAAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAAAAAA/VNldHMgYWRtaW4gc3RhdHVzIGZvciBhbiBhZGRyZXNzLgoKQWRtaW5zIGNhbiBjb25maWd1cmUgd29ya2VyIHNldHRpbmdzIGxpa2UgZmVlIG11bHRpcGxpZXJzLCBkZXBvc2l0IGFkZHJlc3NlcywKYW5kIHN1cHBvcnRlZCBvcHRpb24gdHlwZXMuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBUaGUgYWRkcmVzcyB0byBzZXQgYWRtaW4gc3RhdHVzIGZvcgoqIGBhY3RpdmVgIC0gYHRydWVgIHRvIGFkZCBhZG1pbiwgYGZhbHNlYCB0byByZW1vdmUAAAAAAAAJc2V0X2FkbWluAAAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAATdTZXRzIHdoZXRoZXIgYSBtZXNzYWdlIGxpYnJhcnkgaXMgc3VwcG9ydGVkIGJ5IHRoaXMgd29ya2VyLgoKTWVzc2FnZSBsaWJyYXJpZXMgKGUuZy4sIFVMTjMwMikgY2FsbCB3b3JrZXJzIHRvIGFzc2lnbiBqb2JzLiBPbmx5IHN1cHBvcnRlZApsaWJyYXJpZXMgY2FuIGludGVyYWN0IHdpdGggdGhpcyB3b3JrZXIuCgojIEFyZ3VtZW50cwoqIGBtZXNzYWdlX2xpYmAgLSBUaGUgbWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MKKiBgc3VwcG9ydGVkYCAtIGB0cnVlYCB0byBhZGQgc3VwcG9ydCwgYGZhbHNlYCB0byByZW1vdmUgc3VwcG9ydAAAAAAZc2V0X3N1cHBvcnRlZF9tZXNzYWdlX2xpYgAAAAAAAAIAAAAAAAAAC21lc3NhZ2VfbGliAAAAABMAAAAAAAAACXN1cHBvcnRlZAAAAAAAAAEAAAAAAAAAAAAAAVhTZXRzIGFsbG93bGlzdCBzdGF0dXMgZm9yIGFuIE9BcHAgYWRkcmVzcy4KCldoZW4gdGhlIGFsbG93bGlzdCBpcyBlbXB0eSwgYWxsIE9BcHBzIGFyZSBhbGxvd2VkICh1bmxlc3Mgb24gZGVueWxpc3QpLgpXaGVuIHRoZSBhbGxvd2xpc3QgaXMgbm90IGVtcHR5LCBvbmx5IGFsbG93bGlzdGVkIE9BcHBzIGFyZSBhbGxvd2VkLgpEZW55bGlzdCBhbHdheXMgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGFsbG93bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gVGhlIE9BcHAgY29udHJhY3QgYWRkcmVzcwoqIGBhbGxvd2VkYCAtIGB0cnVlYCB0byBhZGQgdG8gYWxsb3dsaXN0LCBgZmFsc2VgIHRvIHJlbW92ZQAAAA1zZXRfYWxsb3dsaXN0AAAAAAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAB2FsbG93ZWQAAAAAAQAAAAAAAAAAAAABCVNldHMgZGVueWxpc3Qgc3RhdHVzIGZvciBhbiBPQXBwIGFkZHJlc3MuCgpEZW55bGlzdGVkIE9BcHBzIGFyZSBibG9ja2VkIGZyb20gdXNpbmcgdGhpcyB3b3JrZXIsIGV2ZW4gaWYgdGhleSdyZSBvbgp0aGUgYWxsb3dsaXN0IChkZW55bGlzdCB0YWtlcyBwcmVjZWRlbmNlKS4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gVGhlIE9BcHAgY29udHJhY3QgYWRkcmVzcwoqIGBkZW5pZWRgIC0gYHRydWVgIHRvIGFkZCB0byBkZW55bGlzdCwgYGZhbHNlYCB0byByZW1vdmUAAAAAAAAMc2V0X2RlbnlsaXN0AAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAABmRlbmllZAAAAAAAAQAAAAAAAAAAAAABO1NldHMgdGhlIGRlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzLgoKVGhlIG11bHRpcGxpZXIgaXMgYXBwbGllZCB0byBiYXNlIGZlZXMgZHVyaW5nIGZlZSBjYWxjdWxhdGlvbi4gVXNlZCB3aGVuCm5vIGRlc3RpbmF0aW9uLXNwZWNpZmljIG11bHRpcGxpZXIgaXMgY29uZmlndXJlZC4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGBtdWx0aXBsaWVyX2Jwc2AgLSBNdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMTAwMDAgPSAxeCwgMTIwMDAgPSAxLjJ4KQAAAAAac2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAAAAAPFTZXRzIHRoZSBkZXBvc2l0IGFkZHJlc3Mgd2hlcmUgd29ya2VyIGZlZXMgYXJlIGNvbGxlY3RlZC4KCldoZW4gam9icyBhcmUgYXNzaWduZWQsIGZlZXMgYXJlIGRpcmVjdGVkIHRvIHRoaXMgYWRkcmVzcy4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGBkZXBvc2l0X2FkZHJlc3NgIC0gQWRkcmVzcyB0byByZWNlaXZlIGNvbGxlY3RlZCBmZWVzAAAAAAAAE3NldF9kZXBvc2l0X2FkZHJlc3MAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAAAAAABCVNldHMgc3VwcG9ydGVkIGV4ZWN1dG9yIG9wdGlvbiB0eXBlcyBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIEFkbWluIGFkZHJlc3MgKG11c3QgcHJvdmlkZSBhdXRob3JpemF0aW9uKQoqIGBlaWRgIC0gRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpCiogYG9wdGlvbl90eXBlc2AgLSBTdXBwb3J0ZWQgb3B0aW9uIHR5cGVzLiBFYWNoIGJ5dGUgcmVwcmVzZW50cyBhbiBvcHRpb24gdHlwZS4AAAAAAAAac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAMAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAADZWlkAAAAAAQAAAAAAAAADG9wdGlvbl90eXBlcwAAAA4AAAAAAAAAAAAAARJTZXRzIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4KClRoZSBmZWUgbGlicmFyeSBjYWxjdWxhdGVzIGZlZXMgYmFzZWQgb24gZXhlY3V0b3Igb3B0aW9ucyBhbmQgcHJpY2UgZmVlZCBkYXRhLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYHdvcmtlcl9mZWVfbGliYCAtIEZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MgaW1wbGVtZW50aW5nIGBJRXhlY3V0b3JGZWVMaWJgAAAAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADndvcmtlcl9mZWVfbGliAAAAAAATAAAAAAAAAAAAAAESU2V0cyB0aGUgcHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzLgoKVGhlIHByaWNlIGZlZWQgcHJvdmlkZXMgZ2FzIHByaWNlcyBhbmQgZXhjaGFuZ2UgcmF0ZXMgZm9yIGNyb3NzLWNoYWluCmZlZSBjYWxjdWxhdGlvbnMuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgcHJpY2VfZmVlZGAgLSBQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgaW1wbGVtZW50aW5nIGBJTGF5ZXJaZXJvUHJpY2VGZWVkYAAAAAAADnNldF9wcmljZV9mZWVkAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAAAAACVSZXR1cm5zIHdoZXRoZXIgdGhlIHdvcmtlciBpcyBwYXVzZWQuAAAAAAAABnBhdXNlZAAAAAAAAAAAAAEAAAABAAAAAAAAAFVSZXR1cm5zIHdoZXRoZXIgYW4gYWRkcmVzcyBpcyBhbiBhZG1pbi4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIFRoZSBhZGRyZXNzIHRvIGNoZWNrAAAAAAAACGlzX2FkbWluAAAAAQAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAQAAAAEAAAAAAAAAHFJldHVybnMgYWxsIGFkbWluIGFkZHJlc3Nlcy4AAAAGYWRtaW5zAAAAAAAAAAAAAQAAA+oAAAATAAAAAAAAAG9SZXR1cm5zIHdoZXRoZXIgYSBtZXNzYWdlIGxpYnJhcnkgaXMgc3VwcG9ydGVkLgoKIyBBcmd1bWVudHMKKiBgbWVzc2FnZV9saWJgIC0gTWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MAAAAAGGlzX3N1cHBvcnRlZF9tZXNzYWdlX2xpYgAAAAEAAAAAAAAAC21lc3NhZ2VfbGliAAAAABMAAAABAAAAAQAAAAAAAABzUmV0dXJucyBhbGwgc3VwcG9ydGVkIG1lc3NhZ2UgbGlicmFyeSBhZGRyZXNzZXMuCgojIFJldHVybnMKVmVjdG9yIG9mIHN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzc2VzLgAAAAAMbWVzc2FnZV9saWJzAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABaUmV0dXJucyB3aGV0aGVyIGFuIE9BcHAgaXMgb24gdGhlIGFsbG93bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAPaXNfb25fYWxsb3dsaXN0AAAAAAEAAAAAAAAABG9hcHAAAAATAAAAAQAAAAEAAAAAAAAAMVJldHVybnMgdGhlIG51bWJlciBvZiBhZGRyZXNzZXMgb24gdGhlIGFsbG93bGlzdC4AAAAAAAAOYWxsb3dsaXN0X3NpemUAAAAAAAAAAAABAAAABAAAAAAAAABZUmV0dXJucyB3aGV0aGVyIGFuIE9BcHAgaXMgb24gdGhlIGRlbnlsaXN0LgoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBPQXBwIGNvbnRyYWN0IGFkZHJlc3MAAAAAAAAOaXNfb25fZGVueWxpc3QAAAAAAAEAAAAAAAAABG9hcHAAAAATAAAAAQAAAAEAAAAAAAAA+VJldHVybnMgd2hldGhlciBhbiBPQXBwIGhhcyBhY2Nlc3MgY29udHJvbCBsaXN0IChBQ0wpIHBlcm1pc3Npb24uCgpBQ0wgZXZhbHVhdGlvbiBvcmRlcjoKMS4gSWYgb24gZGVueWxpc3Qg4oaSIGRlbmllZAoyLiBJZiBhbGxvd2xpc3QgaXMgZW1wdHkgT1Igb24gYWxsb3dsaXN0IOKGkiBhbGxvd2VkCjMuIE90aGVyd2lzZSDihpIgZGVuaWVkCgojIEFyZ3VtZW50cwoqIGBvYXBwYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcyB0byBjaGVjawAAAAAAAAdoYXNfYWNsAAAAAAEAAAAAAAAABG9hcHAAAAATAAAAAQAAAAEAAAAAAAAAM1JldHVybnMgdGhlIGRlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzLgAAAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAAAAAAEAAAAEAAAAAAAAADVSZXR1cm5zIHRoZSBkZXBvc2l0IGFkZHJlc3Mgd2hlcmUgZmVlcyBhcmUgY29sbGVjdGVkLgAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAB8UmV0dXJucyBzdXBwb3J0ZWQgb3B0aW9uIHR5cGVzIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIERlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKQAAABpnZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwAAAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAD6AAAAA4AAAAAAAAAMFJldHVybnMgdGhlIHdvcmtlciBmZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzLgAAAA53b3JrZXJfZmVlX2xpYgAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAAoUmV0dXJucyB0aGUgcHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzLgAAAApwcmljZV9mZWVkAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAERBc3NpZ25zIGEgam9iIHRvIHRoZSBleGVjdXRvciBhbmQgcmV0dXJucyBmZWUgcmVjaXBpZW50IGluZm9ybWF0aW9uLgAAAAphc3NpZ25fam9iAAAAAAAFAAAAAAAAAAhzZW5kX2xpYgAAABMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAAAAADdDYWxjdWxhdGVzIHRoZSBleGVjdXRpb24gZmVlIGZvciBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAdnZXRfZmVlAAAAAAUAAAAAAAAACHNlbmRfbGliAAAAEwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAAAAAAAAdvcHRpb25zAAAAAA4AAAABAAAACwAAAAAAAABAU2V0cyBkZXN0aW5hdGlvbi1zcGVjaWZpYyBjb25maWd1cmF0aW9ucyBmb3IgbXVsdGlwbGUgZW5kcG9pbnRzLgAAAA5zZXRfZHN0X2NvbmZpZwAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAAEVNldERzdENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAAAA+UmV0dXJucyB0aGUgZGVzdGluYXRpb24gY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBlbmRwb2ludC4AAAAAAApkc3RfY29uZmlnAAAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAJRHN0Q29uZmlnAAAAAAAAAAAAAJFOYXRpdmUgdG9rZW4gZHJvcHMuCgpUcmFuc2ZlcnMgbmF0aXZlIHRva2VucyB0byBlYWNoIHJlY2VpdmVyIHNwZWNpZmllZCBpbiB0aGUgcGFyYW1ldGVycyBhbmQKdHJhY2tzIHRoZSBzdWNjZXNzL2ZhaWx1cmUgc3RhdHVzIG9mIGVhY2ggdHJhbnNmZXIuAAAAAAAAC25hdGl2ZV9kcm9wAAAAAAUAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAABG9hcHAAAAATAAAAAAAAABJuYXRpdmVfZHJvcF9wYXJhbXMAAAAAA+oAAAfQAAAAEE5hdGl2ZURyb3BQYXJhbXMAAAAAAAAAAAAAACpSZXR1cm5zIHRoZSBlbmRwb2ludCBhZGRyZXNzIGZyb20gc3RvcmFnZS4AAAAAAAhlbmRwb2ludAAAAAAAAAABAAAAEwAAAAAAAAJJSW5pdGlhbGl6ZXMgdGhlIGV4ZWN1dG9yIGNvbnRyYWN0LgoKU2V0cyB1cCBvd25lcnNoaXAsIHdvcmtlciBjb25maWd1cmF0aW9uLCBhbmQgZW5kcG9pbnQgYWRkcmVzcy4KCiMgQXJndW1lbnRzCiogYGVuZHBvaW50YCAtIExheWVyWmVybyBFbmRwb2ludCBWMiBjb250cmFjdCBhZGRyZXNzCiogYG93bmVyYCAtIENvbnRyYWN0IG93bmVyIGFkZHJlc3MKKiBgYWRtaW5zYCAtIEluaXRpYWwgYWRtaW4gYWRkcmVzc2VzIChtdXN0IG5vdCBiZSBlbXB0eSkKKiBgbWVzc2FnZV9saWJzYCAtIFN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgYWRkcmVzc2VzIChlLmcuLCBVTE4zMDIpCiogYHByaWNlX2ZlZWRgIC0gUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBmZWUgY2FsY3VsYXRpb25zCiogYGRlZmF1bHRfbXVsdGlwbGllcl9icHNgIC0gRGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDEwMDAwID0gMXgpCiogYHdvcmtlcl9mZWVfbGliYCAtIFdvcmtlciBmZWUgbGlicmFyeSBjb250cmFjdCBhZGRyZXNzCiogYGRlcG9zaXRfYWRkcmVzc2AgLSBBZGRyZXNzIHRvIHJlY2VpdmUgZmVlIHBheW1lbnRzAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAAIAAAAAAAAAAhlbmRwb2ludAAAABMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAGYWRtaW5zAAAAAAPqAAAAEwAAAAAAAAAMbWVzc2FnZV9saWJzAAAD6gAAABMAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAADndvcmtlcl9mZWVfbGliAAAAAAATAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAAAAAAAsldpdGhkcmF3cyBhIHRva2VuIGZyb20gdGhlIGNvbnRyYWN0IHRvIGEgc3BlY2lmaWVkIGFkZHJlc3MuCgojIEFyZ3VtZW50cwoqIGB0b2tlbmAgLSBUaGUgdG9rZW4gY29udHJhY3QgYWRkcmVzcwoqIGB0b2AgLSBUaGUgcmVjaXBpZW50IGFkZHJlc3MKKiBgYW1vdW50YCAtIFRoZSBhbW91bnQgdG8gd2l0aGRyYXcAAAAAAA53aXRoZHJhd190b2tlbgAAAAAABAAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAV0b2tlbgAAAAAAABMAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAAAAAGxVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAIdSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpQYXJzZXMgWERSLWVuY29kZWQgYG1pZ3JhdGlvbl9kYXRhYCBhbmQgY2FsbHMgYF9fbWlncmF0ZWAuIENsZWFycyB0aGUgbWlncmF0aW9uIGZsYWcgb24gc3VjY2Vzcy4AAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAE9QZXJtYW5lbnRseSBmcmVlemVzIHRoZSBjb250cmFjdCwgcHJldmVudGluZyBhbnkgZnV0dXJlIHVwZ3JhZGVzLiBJcnJldmVyc2libGUuAAAAAAZmcmVlemUAAAAAAAAAAAAAAAAAAAAAADtSZXR1cm5zIHdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIGZyb3plbiAodXBncmFkZXMgZGlzYWJsZWQpLgAAAAAJaXNfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAgAAAAAAAAAAAAAAD0V4ZWN1dG9yU3RvcmFnZQAAAAACAAAAAQAAAAAAAAAJRHN0Q29uZmlnAAAAAAAAAQAAAAQAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAUAAAAAAAAAAAAAAApQYWNrZXRTZW50AAAAAAABAAAAC3BhY2tldF9zZW50AAAAAAMAAAAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAAAAAAAMc2VuZF9saWJyYXJ5AAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADlBhY2tldFZlcmlmaWVkAAAAAAABAAAAD3BhY2tldF92ZXJpZmllZAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAABAAAAAAAAAAhyZWNlaXZlcgAAABMAAAABAAAAAAAAAAxwYXlsb2FkX2hhc2gAAAPuAAAAIAAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1BhY2tldERlbGl2ZXJlZAAAAAABAAAAEHBhY2tldF9kZWxpdmVyZWQAAAAC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b2ludEVycm9yAAAAAAAAGQAAAC9MaWJyYXJ5IGlzIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbmRwb2ludAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAANkNvbXBvc2UgbWVzc2FnZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBHVUlEIGFuZCBpbmRleAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAANkNvbXBvc2UgbWVzc2FnZSBub3QgZm91bmQgZm9yIHRoZSBnaXZlbiBHVUlEIGFuZCBpbmRleAAAAAAAD0NvbXBvc2VOb3RGb3VuZAAAAAADAAAAOkRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGlzIG5vdCBzZXQgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQAAAAAABxEZWZhdWx0UmVjZWl2ZUxpYlVuYXZhaWxhYmxlAAAABAAAADxEZWZhdWx0IHNlbmQgbGlicmFyeSBpcyBub3Qgc2V0IGZvciB0aGUgZGVzdGluYXRpb24gZW5kcG9pbnQAAAAZRGVmYXVsdFNlbmRMaWJVbmF2YWlsYWJsZQAAAAAAAAUAAAAvU3VwcGxpZWQgbmF0aXZlIHRva2VuIGZlZSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQAAAAAFUluc3VmZmljaWVudE5hdGl2ZUZlZQAAAAAAAAYAAAAsU3VwcGxpZWQgWlJPIHRva2VuIGZlZSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAK1RpbWVvdXQgZXhwaXJ5IGlzIGludmFsaWQgKGFscmVhZHkgZXhwaXJlZCkAAAAADUludmFsaWRFeHBpcnkAAAAAAAAIAAAAIEZlZSBhbW91bnQgaXMgaW52YWxpZCAobmVnYXRpdmUpAAAAEEludmFsaWRGZWVBbW91bnQAAAAJAAAAK0NvbXBvc2UgaW5kZXggZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgdmFsdWUAAAAADEludmFsaWRJbmRleAAAAAoAAAAsTm9uY2UgaXMgaW52YWxpZCBmb3IgdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24AAAAMSW52YWxpZE5vbmNlAAAACwAAADBQYXlsb2FkIGhhc2ggaXMgaW52YWxpZCAoZW1wdHkgaGFzaCBub3QgYWxsb3dlZCkAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAQVJlY2VpdmUgbGlicmFyeSBpcyBub3QgdmFsaWQgZm9yIHRoZSByZWNlaXZlciBhbmQgc291cmNlIGVuZHBvaW50AAAAAAAAFUludmFsaWRSZWNlaXZlTGlicmFyeQAAAAAAAA0AAAAxT3BlcmF0aW9uIHJlcXVpcmVzIGEgbm9uLWRlZmF1bHQgKGN1c3RvbSkgbGlicmFyeQAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAnTGlicmFyeSBtdXN0IHN1cHBvcnQgcmVjZWl2aW5nIG1lc3NhZ2VzAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAACxMaWJyYXJ5IG11c3QgYmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbmRwb2ludAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAlTGlicmFyeSBtdXN0IHN1cHBvcnQgc2VuZGluZyBtZXNzYWdlcwAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAOU1lc3NhZ2luZyBwYXRoIGNhbm5vdCBiZSBpbml0aWFsaXplZCBmb3IgdGhlIGdpdmVuIG9yaWdpbgAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAvTWVzc2FnZSBjYW5ub3QgYmUgdmVyaWZpZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAACtQYXlsb2FkIGhhc2ggZG9lcyBub3QgbWF0Y2ggdGhlIHN0b3JlZCBoYXNoAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAnTmV3IHZhbHVlIGlzIHRoZSBzYW1lIGFzIGV4aXN0aW5nIHZhbHVlAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAL0NhbGxlciBpcyBub3QgYXV0aG9yaXplZCAobm90IE9BcHAgb3IgZGVsZWdhdGUpAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAK0VuZHBvaW50IElEIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGxpYnJhcnkAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAOVpSTyBmZWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybyB3aGVuIHBheV9pbl96cm8gaXMgdHJ1ZQAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAHFpSTyB0b2tlbiBhZGRyZXNzIGlzIG5vdCBzZXQAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAzVW5peCB0aW1lc3RhbXAgaW4gc2Vjb25kcyB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAAAAZleHBpcnkAAAAAAAYAAABDVGhlIG9sZCBsaWJyYXJ5IGFkZHJlc3MgdGhhdCByZW1haW5zIHZhbGlkIGR1cmluZyB0aGUgZ3JhY2UgcGVyaW9kLgAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAQAAAOFQYXJhbWV0ZXJzIGZvciBEVk4gZmVlIGNhbGN1bGF0aW9uLgoKQ29udGFpbnMgYWxsIGlucHV0cyBuZWVkZWQgYnkgdGhlIGZlZSBsaWJyYXJ5IHRvIGNhbGN1bGF0ZSB2ZXJpZmljYXRpb24gZmVlcwpmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnZXMuIEluY2x1ZGVzIG1lc3NhZ2UgcGFyYW1ldGVycywgY29tbW9uIGNvbmZpZ3VyYXRpb24sCmFuZCBkZXN0aW5hdGlvbi1zcGVjaWZpYyBzZXR0aW5ncy4AAAAAAAAAAAAADER2bkZlZVBhcmFtcwAAAAoAAAAnTnVtYmVyIG9mIGJsb2NrIGNvbmZpcm1hdGlvbnMgcmVxdWlyZWQuAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkdhcyBlc3RpbWF0ZSBmb3IgdmVyaWZpY2F0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAANnYXMAAAAACgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAALRFZOIG9wdGlvbnMAAAAAB29wdGlvbnMAAAAADgAAARA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDb21tb24gQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgZm9yIGdhcyBwcmljZSBhbmQgZXhjaGFuZ2UgcmF0ZSBkYXRhLgAAAApwcmljZV9mZWVkAAAAAAATAAAAJ051bWJlciBvZiByZXF1aXJlZCBzaWduYXR1cmVzIChxdW9ydW0pLgAAAAAGcXVvcnVtAAAAAAAEAAAA5T09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ck1lc3NhZ2UgUGFyYW1ldGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgT0FwcCBzZW5kZXIgYWRkcmVzcy4AAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAONQYXJhbWV0ZXJzIGZvciBleGVjdXRvciBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIGV4ZWN1dGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAACUZlZVBhcmFtcwAAAAAAAAsAAAAmU2l6ZSBvZiB0aGUgbWVzc2FnZSBjYWxsZGF0YSBpbiBieXRlcy4AAAAAAA1jYWxsZGF0YV9zaXplAAAAAAAABAAAAExEZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAodXNlZCBpZiBubyBkc3Qtc3BlY2lmaWMgbXVsdGlwbGllcikuAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAI01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAADZCYXNlIGdhcyBmb3IgZWFjaCBsekNvbXBvc2UgY2FsbCBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAABNsel9jb21wb3NlX2Jhc2VfZ2FzAAAAAAYAAAETPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KRGVzdGluYXRpb24tU3BlY2lmaWMgQ29uZmlndXJhdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpCYXNlIGdhcyBmb3IgbHpSZWNlaXZlIGV4ZWN1dGlvbiBvbiBkZXN0aW5hdGlvbiBjaGFpbi4AAAAAE2x6X3JlY2VpdmVfYmFzZV9nYXMAAAAABgAAAEZEZXN0aW5hdGlvbi1zcGVjaWZpYyBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMgKDAgPSB1c2UgZGVmYXVsdCkuAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAsTWF4aW11bSBuYXRpdmUgdG9rZW4gdmFsdWUgdGhhdCBjYW4gYmUgc2VudC4AAAAKbmF0aXZlX2NhcAAAAAAACgAAAEZFbmNvZGVkIGV4ZWN1dG9yIG9wdGlvbnMgKGx6UmVjZWl2ZSBnYXMsIGx6Q29tcG9zZSwgbmF0aXZlRHJvcCwgZXRjLikuAAAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAhEdhcyBwcmljZSBpbmZvcm1hdGlvbiBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCkNvbnRhaW5zIHRoZSBleGNoYW5nZSByYXRlIGFuZCBnYXMgY29zdHMgbmVlZGVkIGZvciBjcm9zcy1jaGFpbiBmZWUgY2FsY3VsYXRpb25zLgAAAAAAAAAFUHJpY2UAAAAAAAADAAAAN0dhcyBjb3N0IHBlciBieXRlIG9mIGNhbGxkYXRhIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAADGdhc19wZXJfYnl0ZQAAAAQAAABCR2FzIHByaWNlIGluIHRoZSBzbWFsbGVzdCB1bml0ICh3ZWkgZm9yIEVWTSwgc3Ryb29wcyBmb3IgU3RlbGxhcikuAAAAAAARZ2FzX3ByaWNlX2luX3VuaXQAAAAAAAAGAAAAqVByaWNlIHJhdGlvID0gKHJlbW90ZSBuYXRpdmUgdG9rZW4gcHJpY2UgLyBsb2NhbCBuYXRpdmUgdG9rZW4gcHJpY2UpICogUFJJQ0VfUkFUSU9fREVOT01JTkFUT1IuClVzZWQgdG8gY29udmVydCBkZXN0aW5hdGlvbiBjaGFpbiBnYXMgY29zdHMgdG8gc291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAAAEAAACARmVlIGVzdGltYXRpb24gcmVzdWx0IHdpdGggZGV0YWlsZWQgYnJlYWtkb3duLgoKQ29udGFpbnMgdGhlIGNhbGN1bGF0ZWQgZmVlIGFuZCBhbGwgaW50ZXJtZWRpYXRlIHZhbHVlcyB1c2VkIGluIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAAAC0ZlZUVzdGltYXRlAAAAAAQAAAAwU291cmNlIGNoYWluIG5hdGl2ZSB0b2tlbiBwcmljZSBpbiBVU0QgKHNjYWxlZCkuAAAAEG5hdGl2ZV9wcmljZV91c2QAAAAKAAAAJVByaWNlIHJhdGlvIHVzZWQgZm9yIHRoZSBjYWxjdWxhdGlvbi4AAAAAAAALcHJpY2VfcmF0aW8AAAAACgAAADJEZW5vbWluYXRvciBmb3IgdGhlIHByaWNlIHJhdGlvICh0eXBpY2FsbHkgMTBeMjApLgAAAAAAF3ByaWNlX3JhdGlvX2Rlbm9taW5hdG9yAAAAAAoAAAAxVG90YWwgZ2FzIGZlZSBpbiBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHVuaXRzLgAAAAAAAA10b3RhbF9nYXNfZmVlAAAAAAAACwAAAAQAAAAdUGFja2V0Q29kZWNWMUVycm9yOiAxMTAwLTExMDkAAAAAAAAAAAAAElBhY2tldENvZGVjVjFFcnJvcgAAAAAAAgAAAAAAAAATSW52YWxpZFBhY2tldEhlYWRlcgAAAARMAAAAAAAAABRJbnZhbGlkUGFja2V0VmVyc2lvbgAABE0AAAAEAAAAHVdvcmtlck9wdGlvbnNFcnJvcjogMTExMC0xMTE5AAAAAAAAAAAAABJXb3JrZXJPcHRpb25zRXJyb3IAAAAAAAkAAAAAAAAAEkludmFsaWRCeXRlc0xlbmd0aAAAAAAEVgAAAAAAAAAZSW52YWxpZExlZ2FjeU9wdGlvbnNUeXBlMQAAAAAABFcAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTIAAAAAAARYAAAAAAAAABFJbnZhbGlkT3B0aW9uVHlwZQAAAAAABFkAAAAAAAAADkludmFsaWRPcHRpb25zAAAAAARaAAAAAAAAAA9JbnZhbGlkV29ya2VySWQAAAAEWwAAAAAAAAAdTGVnYWN5T3B0aW9uc1R5cGUxR2FzT3ZlcmZsb3cAAAAAAARcAAAAAAAAACBMZWdhY3lPcHRpb25zVHlwZTJBbW91bnRPdmVyZmxvdwAABF0AAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMkdhc092ZXJmbG93AAAAAAAEXgAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABwAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQGAAAAAAAAABNJbnZhbGlkUGVuZGluZ093bmVyAAAABAcAAAAAAAAACkludmFsaWRUdGwAAAAABAgAAAAAAAAAEU5vUGVuZGluZ1RyYW5zZmVyAAAAAAAECQAAAAAAAAAPT3duZXJBbHJlYWR5U2V0AAAABAoAAAAAAAAAC093bmVyTm90U2V0AAAABAsAAAAAAAAAElRyYW5zZmVySW5Qcm9ncmVzcwAAAAAEDAAAAAQAAAAYQnl0ZXNFeHRFcnJvcjogMTA0MC0xMDQ5AAAAAAAAAA1CeXRlc0V4dEVycm9yAAAAAAAAAQAAAAAAAAAOTGVuZ3RoTWlzbWF0Y2gAAAAABBAAAAAEAAAAG1VwZ3JhZGVhYmxlRXJyb3I6IDEwNTAtMTA1OQAAAAAAAAAAEFVwZ3JhZGVhYmxlRXJyb3IAAAADAAAAAAAAABRJbnZhbGlkTWlncmF0aW9uRGF0YQAABBoAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGwAAAAAAAAAOVXBncmFkZXNGcm96ZW4AAAAABBwAAAAEAAAAGE11bHRpU2lnRXJyb3I6IDEwNjAtMTA2OQAAAAAAAAANTXVsdGlTaWdFcnJvcgAAAAAAAAkAAAAAAAAAEkFscmVhZHlJbml0aWFsaXplZAAAAAAEJAAAAAAAAAARSW52YWxpZEF1dGhvcml6ZXIAAAAAAAQlAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJgAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCcAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEKAAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCkAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKgAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCsAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQsAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpU2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAADxFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIGNhbmNlbGxlZC4AAAAAAAAAGk93bmVyc2hpcFRyYW5zZmVyQ2FuY2VsbGVkAAAAAAABAAAAHG93bmVyc2hpcF90cmFuc2Zlcl9jYW5jZWxsZWQAAAACAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAABdjYW5jZWxsZWRfcGVuZGluZ19vd25lcgAAAAATAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAAAABAAAABZXb3JrZXJFcnJvcjogMTIwMC0xMjk5AAAAAAAAAAAAC1dvcmtlckVycm9yAAAAABAAAAAAAAAAEkFkbWluQWxyZWFkeUV4aXN0cwAAAAAEsAAAAAAAAAANQWRtaW5Ob3RGb3VuZAAAAAAABLEAAAAAAAAAEkFscmVhZHlPbkFsbG93bGlzdAAAAAAEsgAAAAAAAAARQWxyZWFkeU9uRGVueWxpc3QAAAAAAASzAAAAAAAAABREZXBvc2l0QWRkcmVzc05vdFNldAAABLQAAAAAAAAAGk1lc3NhZ2VMaWJBbHJlYWR5U3VwcG9ydGVkAAAAAAS1AAAAAAAAABZNZXNzYWdlTGliTm90U3VwcG9ydGVkAAAAAAS2AAAAAAAAAApOb3RBbGxvd2VkAAAAAAS3AAAAAAAAAA5Ob3RPbkFsbG93bGlzdAAAAAAEuAAAAAAAAAANTm90T25EZW55bGlzdAAAAAAABLkAAAAAAAAAFFBhdXNlU3RhdHVzVW5jaGFuZ2VkAAAEugAAAAAAAAAPUHJpY2VGZWVkTm90U2V0AAAABLsAAAAAAAAADFVuYXV0aG9yaXplZAAABLwAAAAAAAAAFVVuc3VwcG9ydGVkTWVzc2FnZUxpYgAAAAAABL0AAAAAAAAAEldvcmtlckZlZUxpYk5vdFNldAAAAAAEvgAAAAAAAAAOV29ya2VySXNQYXVzZWQAAAAABL8AAAAFAAAAAAAAAAAAAAAIU2V0QWRtaW4AAAABAAAACXNldF9hZG1pbgAAAAAAAAIAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAAFlNldFN1cHBvcnRlZE1lc3NhZ2VMaWIAAAAAAAEAAAAZc2V0X3N1cHBvcnRlZF9tZXNzYWdlX2xpYgAAAAAAAAIAAAAAAAAAC21lc3NhZ2VfbGliAAAAABMAAAAAAAAAAAAAAAlzdXBwb3J0ZWQAAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAMU2V0QWxsb3dsaXN0AAAAAQAAAA1zZXRfYWxsb3dsaXN0AAAAAAAAAgAAAAAAAAAEb2FwcAAAABMAAAAAAAAAAAAAAAdhbGxvd2VkAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtTZXREZW55bGlzdAAAAAABAAAADHNldF9kZW55bGlzdAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAABAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAGcGF1c2VyAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAIVW5wYXVzZWQAAAABAAAACHVucGF1c2VkAAAAAQAAAAAAAAAIdW5wYXVzZXIAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0RGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAQAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAQAAAAAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABFTZXREZXBvc2l0QWRkcmVzcwAAAAAAAAEAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAABAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldFByaWNlRmVlZAAAAAEAAAAOc2V0X3ByaWNlX2ZlZWQAAAAAAAEAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABdTZXRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAABAAAAGnNldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAAAAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAAAAAAAxvcHRpb25fdHlwZXMAAAAOAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAPU2V0V29ya2VyRmVlTGliAAAAAAEAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAABAAAAAAAAAAdmZWVfbGliAAAAABMAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA1Xb3JrZXJTdG9yYWdlAAAAAAAACwAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAAAAAAAAAAAGQWRtaW5zAAAAAAAAAAAAAAAAAAtNZXNzYWdlTGlicwAAAAABAAAAAAAAAAlBbGxvd2xpc3QAAAAAAAABAAAAEwAAAAAAAAAAAAAADUFsbG93bGlzdFNpemUAAAAAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAQAAAAAAAAAUU3VwcG9ydGVkT3B0aW9uVHlwZXMAAAABAAAABAAAAAAAAAAAAAAADFdvcmtlckZlZUxpYgAAAAAAAAAAAAAACVByaWNlRmVlZAAAAACLAQ5jb250cmFjdG1ldGF2MAAAAAAAAAAGYmludmVyAAAAAAAFMC4wLjEAAAAAAAAAAAAABXJzdmVyAAAAAAAABjEuOTAuMAAAAAAAAAAAAAhyc3Nka3ZlcgAAAC8yNS4xLjAjODZjNTBhMWVhNGY4N2I0MGFkZDMwNjRmZjlkZjk1Yzc1NTM1NjVjNQAAHhFjb250cmFjdGVudm1ldGF2MAAAAAAAAAAZAAAAAABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
|
|
12
12
|
/**
|
|
13
13
|
* Pre-computed WASM hash (SHA-256)
|
|
14
14
|
* Use this when the WASM is already uploaded on-chain
|
|
15
15
|
*/
|
|
16
|
-
export declare const WASM_HASH = "
|
|
16
|
+
export declare const WASM_HASH = "e5a4eee90ddc18340e6246821de2fd98e5bf50163fcce06bdcbcbf53f2b8fcd4";
|
|
17
17
|
/**
|
|
18
18
|
* Get the WASM bytecode as a Buffer
|
|
19
19
|
* Use this to upload the WASM to the network
|
|
@@ -110,78 +110,153 @@ export type ExecutorStorage = {
|
|
|
110
110
|
values: void;
|
|
111
111
|
};
|
|
112
112
|
export declare const EndpointError: {
|
|
113
|
+
/**
|
|
114
|
+
* Library is already registered with the endpoint
|
|
115
|
+
*/
|
|
113
116
|
1: {
|
|
114
117
|
message: string;
|
|
115
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* Compose message already exists for this GUID and index
|
|
121
|
+
*/
|
|
116
122
|
2: {
|
|
117
123
|
message: string;
|
|
118
124
|
};
|
|
125
|
+
/**
|
|
126
|
+
* Compose message not found for the given GUID and index
|
|
127
|
+
*/
|
|
119
128
|
3: {
|
|
120
129
|
message: string;
|
|
121
130
|
};
|
|
131
|
+
/**
|
|
132
|
+
* Default receive library is not set for the source endpoint
|
|
133
|
+
*/
|
|
122
134
|
4: {
|
|
123
135
|
message: string;
|
|
124
136
|
};
|
|
137
|
+
/**
|
|
138
|
+
* Default send library is not set for the destination endpoint
|
|
139
|
+
*/
|
|
125
140
|
5: {
|
|
126
141
|
message: string;
|
|
127
142
|
};
|
|
143
|
+
/**
|
|
144
|
+
* Supplied native token fee is less than required
|
|
145
|
+
*/
|
|
128
146
|
6: {
|
|
129
147
|
message: string;
|
|
130
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* Supplied ZRO token fee is less than required
|
|
151
|
+
*/
|
|
131
152
|
7: {
|
|
132
153
|
message: string;
|
|
133
154
|
};
|
|
155
|
+
/**
|
|
156
|
+
* Timeout expiry is invalid (already expired)
|
|
157
|
+
*/
|
|
134
158
|
8: {
|
|
135
159
|
message: string;
|
|
136
160
|
};
|
|
161
|
+
/**
|
|
162
|
+
* Fee amount is invalid (negative)
|
|
163
|
+
*/
|
|
137
164
|
9: {
|
|
138
165
|
message: string;
|
|
139
166
|
};
|
|
167
|
+
/**
|
|
168
|
+
* Compose index exceeds maximum allowed value
|
|
169
|
+
*/
|
|
140
170
|
10: {
|
|
141
171
|
message: string;
|
|
142
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
* Nonce is invalid for the requested operation
|
|
175
|
+
*/
|
|
143
176
|
11: {
|
|
144
177
|
message: string;
|
|
145
178
|
};
|
|
179
|
+
/**
|
|
180
|
+
* Payload hash is invalid (empty hash not allowed)
|
|
181
|
+
*/
|
|
146
182
|
12: {
|
|
147
183
|
message: string;
|
|
148
184
|
};
|
|
185
|
+
/**
|
|
186
|
+
* Receive library is not valid for the receiver and source endpoint
|
|
187
|
+
*/
|
|
149
188
|
13: {
|
|
150
189
|
message: string;
|
|
151
190
|
};
|
|
191
|
+
/**
|
|
192
|
+
* Operation requires a non-default (custom) library
|
|
193
|
+
*/
|
|
152
194
|
14: {
|
|
153
195
|
message: string;
|
|
154
196
|
};
|
|
197
|
+
/**
|
|
198
|
+
* Library must support receiving messages
|
|
199
|
+
*/
|
|
155
200
|
15: {
|
|
156
201
|
message: string;
|
|
157
202
|
};
|
|
203
|
+
/**
|
|
204
|
+
* Library must be registered with the endpoint
|
|
205
|
+
*/
|
|
158
206
|
16: {
|
|
159
207
|
message: string;
|
|
160
208
|
};
|
|
209
|
+
/**
|
|
210
|
+
* Library must support sending messages
|
|
211
|
+
*/
|
|
161
212
|
17: {
|
|
162
213
|
message: string;
|
|
163
214
|
};
|
|
215
|
+
/**
|
|
216
|
+
* Messaging path cannot be initialized for the given origin
|
|
217
|
+
*/
|
|
164
218
|
18: {
|
|
165
219
|
message: string;
|
|
166
220
|
};
|
|
221
|
+
/**
|
|
222
|
+
* Message cannot be verified for the given origin
|
|
223
|
+
*/
|
|
167
224
|
19: {
|
|
168
225
|
message: string;
|
|
169
226
|
};
|
|
227
|
+
/**
|
|
228
|
+
* Payload hash does not match the stored hash
|
|
229
|
+
*/
|
|
170
230
|
20: {
|
|
171
231
|
message: string;
|
|
172
232
|
};
|
|
233
|
+
/**
|
|
234
|
+
* New value is the same as existing value
|
|
235
|
+
*/
|
|
173
236
|
21: {
|
|
174
237
|
message: string;
|
|
175
238
|
};
|
|
239
|
+
/**
|
|
240
|
+
* Caller is not authorized (not OApp or delegate)
|
|
241
|
+
*/
|
|
176
242
|
22: {
|
|
177
243
|
message: string;
|
|
178
244
|
};
|
|
245
|
+
/**
|
|
246
|
+
* Endpoint ID is not supported by the library
|
|
247
|
+
*/
|
|
179
248
|
23: {
|
|
180
249
|
message: string;
|
|
181
250
|
};
|
|
251
|
+
/**
|
|
252
|
+
* ZRO fee must be greater than zero when pay_in_zro is true
|
|
253
|
+
*/
|
|
182
254
|
24: {
|
|
183
255
|
message: string;
|
|
184
256
|
};
|
|
257
|
+
/**
|
|
258
|
+
* ZRO token address is not set
|
|
259
|
+
*/
|
|
185
260
|
25: {
|
|
186
261
|
message: string;
|
|
187
262
|
};
|
|
@@ -296,11 +371,11 @@ export interface MessageLibVersion {
|
|
|
296
371
|
*/
|
|
297
372
|
export interface Timeout {
|
|
298
373
|
/**
|
|
299
|
-
* Unix timestamp when the timeout expires.
|
|
374
|
+
* Unix timestamp in seconds when the timeout expires.
|
|
300
375
|
*/
|
|
301
376
|
expiry: u64;
|
|
302
377
|
/**
|
|
303
|
-
* The
|
|
378
|
+
* The old library address that remains valid during the grace period.
|
|
304
379
|
*/
|
|
305
380
|
lib: string;
|
|
306
381
|
}
|
|
@@ -658,6 +733,9 @@ export declare const OwnableError: {
|
|
|
658
733
|
1035: {
|
|
659
734
|
message: string;
|
|
660
735
|
};
|
|
736
|
+
1036: {
|
|
737
|
+
message: string;
|
|
738
|
+
};
|
|
661
739
|
};
|
|
662
740
|
/**
|
|
663
741
|
* BytesExtError: 1040-1049
|
|
@@ -682,9 +760,9 @@ export declare const UpgradeableError: {
|
|
|
682
760
|
};
|
|
683
761
|
};
|
|
684
762
|
/**
|
|
685
|
-
*
|
|
763
|
+
* MultiSigError: 1060-1069
|
|
686
764
|
*/
|
|
687
|
-
export declare const
|
|
765
|
+
export declare const MultiSigError: {
|
|
688
766
|
1060: {
|
|
689
767
|
message: string;
|
|
690
768
|
};
|
|
@@ -709,8 +787,11 @@ export declare const MultisigError: {
|
|
|
709
787
|
1067: {
|
|
710
788
|
message: string;
|
|
711
789
|
};
|
|
790
|
+
1068: {
|
|
791
|
+
message: string;
|
|
792
|
+
};
|
|
712
793
|
};
|
|
713
|
-
export type
|
|
794
|
+
export type MultiSigStorage = {
|
|
714
795
|
tag: "Signers";
|
|
715
796
|
values: void;
|
|
716
797
|
} | {
|
|
@@ -854,20 +935,7 @@ export interface Client {
|
|
|
854
935
|
*/
|
|
855
936
|
set_paused: ({ paused }: {
|
|
856
937
|
paused: boolean;
|
|
857
|
-
}, txnOptions?:
|
|
858
|
-
/**
|
|
859
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
860
|
-
*/
|
|
861
|
-
fee?: number;
|
|
862
|
-
/**
|
|
863
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
864
|
-
*/
|
|
865
|
-
timeoutInSeconds?: number;
|
|
866
|
-
/**
|
|
867
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
868
|
-
*/
|
|
869
|
-
simulate?: boolean;
|
|
870
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
938
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
871
939
|
/**
|
|
872
940
|
* Construct and simulate a set_admin 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.
|
|
873
941
|
* Sets admin status for an address.
|
|
@@ -882,20 +950,7 @@ export interface Client {
|
|
|
882
950
|
set_admin: ({ admin, active }: {
|
|
883
951
|
admin: string;
|
|
884
952
|
active: boolean;
|
|
885
|
-
}, txnOptions?:
|
|
886
|
-
/**
|
|
887
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
888
|
-
*/
|
|
889
|
-
fee?: number;
|
|
890
|
-
/**
|
|
891
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
892
|
-
*/
|
|
893
|
-
timeoutInSeconds?: number;
|
|
894
|
-
/**
|
|
895
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
896
|
-
*/
|
|
897
|
-
simulate?: boolean;
|
|
898
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
953
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
899
954
|
/**
|
|
900
955
|
* Construct and simulate a set_supported_message_lib 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.
|
|
901
956
|
* Sets whether a message library is supported by this worker.
|
|
@@ -910,20 +965,7 @@ export interface Client {
|
|
|
910
965
|
set_supported_message_lib: ({ message_lib, supported }: {
|
|
911
966
|
message_lib: string;
|
|
912
967
|
supported: boolean;
|
|
913
|
-
}, txnOptions?:
|
|
914
|
-
/**
|
|
915
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
916
|
-
*/
|
|
917
|
-
fee?: number;
|
|
918
|
-
/**
|
|
919
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
920
|
-
*/
|
|
921
|
-
timeoutInSeconds?: number;
|
|
922
|
-
/**
|
|
923
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
924
|
-
*/
|
|
925
|
-
simulate?: boolean;
|
|
926
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
968
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
927
969
|
/**
|
|
928
970
|
* Construct and simulate a set_allowlist 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.
|
|
929
971
|
* Sets allowlist status for an OApp address.
|
|
@@ -939,20 +981,7 @@ export interface Client {
|
|
|
939
981
|
set_allowlist: ({ oapp, allowed }: {
|
|
940
982
|
oapp: string;
|
|
941
983
|
allowed: boolean;
|
|
942
|
-
}, txnOptions?:
|
|
943
|
-
/**
|
|
944
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
945
|
-
*/
|
|
946
|
-
fee?: number;
|
|
947
|
-
/**
|
|
948
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
949
|
-
*/
|
|
950
|
-
timeoutInSeconds?: number;
|
|
951
|
-
/**
|
|
952
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
953
|
-
*/
|
|
954
|
-
simulate?: boolean;
|
|
955
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
984
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
956
985
|
/**
|
|
957
986
|
* Construct and simulate a set_denylist 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.
|
|
958
987
|
* Sets denylist status for an OApp address.
|
|
@@ -967,20 +996,7 @@ export interface Client {
|
|
|
967
996
|
set_denylist: ({ oapp, denied }: {
|
|
968
997
|
oapp: string;
|
|
969
998
|
denied: boolean;
|
|
970
|
-
}, txnOptions?:
|
|
971
|
-
/**
|
|
972
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
973
|
-
*/
|
|
974
|
-
fee?: number;
|
|
975
|
-
/**
|
|
976
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
977
|
-
*/
|
|
978
|
-
timeoutInSeconds?: number;
|
|
979
|
-
/**
|
|
980
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
981
|
-
*/
|
|
982
|
-
simulate?: boolean;
|
|
983
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
999
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
984
1000
|
/**
|
|
985
1001
|
* Construct and simulate a set_default_multiplier_bps 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.
|
|
986
1002
|
* Sets the default fee multiplier in basis points.
|
|
@@ -995,20 +1011,7 @@ export interface Client {
|
|
|
995
1011
|
set_default_multiplier_bps: ({ admin, multiplier_bps }: {
|
|
996
1012
|
admin: string;
|
|
997
1013
|
multiplier_bps: u32;
|
|
998
|
-
}, txnOptions?:
|
|
999
|
-
/**
|
|
1000
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1001
|
-
*/
|
|
1002
|
-
fee?: number;
|
|
1003
|
-
/**
|
|
1004
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1005
|
-
*/
|
|
1006
|
-
timeoutInSeconds?: number;
|
|
1007
|
-
/**
|
|
1008
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1009
|
-
*/
|
|
1010
|
-
simulate?: boolean;
|
|
1011
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1014
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1012
1015
|
/**
|
|
1013
1016
|
* Construct and simulate a set_deposit_address 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.
|
|
1014
1017
|
* Sets the deposit address where worker fees are collected.
|
|
@@ -1022,20 +1025,7 @@ export interface Client {
|
|
|
1022
1025
|
set_deposit_address: ({ admin, deposit_address }: {
|
|
1023
1026
|
admin: string;
|
|
1024
1027
|
deposit_address: string;
|
|
1025
|
-
}, txnOptions?:
|
|
1026
|
-
/**
|
|
1027
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1028
|
-
*/
|
|
1029
|
-
fee?: number;
|
|
1030
|
-
/**
|
|
1031
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1032
|
-
*/
|
|
1033
|
-
timeoutInSeconds?: number;
|
|
1034
|
-
/**
|
|
1035
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1036
|
-
*/
|
|
1037
|
-
simulate?: boolean;
|
|
1038
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1028
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1039
1029
|
/**
|
|
1040
1030
|
* Construct and simulate a set_supported_option_types 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.
|
|
1041
1031
|
* Sets supported executor option types for a destination endpoint.
|
|
@@ -1049,20 +1039,7 @@ export interface Client {
|
|
|
1049
1039
|
admin: string;
|
|
1050
1040
|
eid: u32;
|
|
1051
1041
|
option_types: Buffer;
|
|
1052
|
-
}, txnOptions?:
|
|
1053
|
-
/**
|
|
1054
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1055
|
-
*/
|
|
1056
|
-
fee?: number;
|
|
1057
|
-
/**
|
|
1058
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1059
|
-
*/
|
|
1060
|
-
timeoutInSeconds?: number;
|
|
1061
|
-
/**
|
|
1062
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1063
|
-
*/
|
|
1064
|
-
simulate?: boolean;
|
|
1065
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1042
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1066
1043
|
/**
|
|
1067
1044
|
* Construct and simulate a set_worker_fee_lib 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.
|
|
1068
1045
|
* Sets the worker fee library contract address.
|
|
@@ -1076,20 +1053,7 @@ export interface Client {
|
|
|
1076
1053
|
set_worker_fee_lib: ({ admin, worker_fee_lib }: {
|
|
1077
1054
|
admin: string;
|
|
1078
1055
|
worker_fee_lib: string;
|
|
1079
|
-
}, txnOptions?:
|
|
1080
|
-
/**
|
|
1081
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1082
|
-
*/
|
|
1083
|
-
fee?: number;
|
|
1084
|
-
/**
|
|
1085
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1086
|
-
*/
|
|
1087
|
-
timeoutInSeconds?: number;
|
|
1088
|
-
/**
|
|
1089
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1090
|
-
*/
|
|
1091
|
-
simulate?: boolean;
|
|
1092
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1056
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1093
1057
|
/**
|
|
1094
1058
|
* Construct and simulate a set_price_feed 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.
|
|
1095
1059
|
* Sets the price feed contract address.
|
|
@@ -1104,38 +1068,12 @@ export interface Client {
|
|
|
1104
1068
|
set_price_feed: ({ admin, price_feed }: {
|
|
1105
1069
|
admin: string;
|
|
1106
1070
|
price_feed: string;
|
|
1107
|
-
}, txnOptions?:
|
|
1108
|
-
/**
|
|
1109
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1110
|
-
*/
|
|
1111
|
-
fee?: number;
|
|
1112
|
-
/**
|
|
1113
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1114
|
-
*/
|
|
1115
|
-
timeoutInSeconds?: number;
|
|
1116
|
-
/**
|
|
1117
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1118
|
-
*/
|
|
1119
|
-
simulate?: boolean;
|
|
1120
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1071
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1121
1072
|
/**
|
|
1122
1073
|
* Construct and simulate a paused 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.
|
|
1123
1074
|
* Returns whether the worker is paused.
|
|
1124
1075
|
*/
|
|
1125
|
-
paused: (
|
|
1126
|
-
/**
|
|
1127
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1128
|
-
*/
|
|
1129
|
-
fee?: number;
|
|
1130
|
-
/**
|
|
1131
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1132
|
-
*/
|
|
1133
|
-
timeoutInSeconds?: number;
|
|
1134
|
-
/**
|
|
1135
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1136
|
-
*/
|
|
1137
|
-
simulate?: boolean;
|
|
1138
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1076
|
+
paused: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1139
1077
|
/**
|
|
1140
1078
|
* Construct and simulate a is_admin 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.
|
|
1141
1079
|
* Returns whether an address is an admin.
|
|
@@ -1145,38 +1083,12 @@ export interface Client {
|
|
|
1145
1083
|
*/
|
|
1146
1084
|
is_admin: ({ admin }: {
|
|
1147
1085
|
admin: string;
|
|
1148
|
-
}, txnOptions?:
|
|
1149
|
-
/**
|
|
1150
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1151
|
-
*/
|
|
1152
|
-
fee?: number;
|
|
1153
|
-
/**
|
|
1154
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1155
|
-
*/
|
|
1156
|
-
timeoutInSeconds?: number;
|
|
1157
|
-
/**
|
|
1158
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1159
|
-
*/
|
|
1160
|
-
simulate?: boolean;
|
|
1161
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1086
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1162
1087
|
/**
|
|
1163
1088
|
* Construct and simulate a admins 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.
|
|
1164
1089
|
* Returns all admin addresses.
|
|
1165
1090
|
*/
|
|
1166
|
-
admins: (
|
|
1167
|
-
/**
|
|
1168
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1169
|
-
*/
|
|
1170
|
-
fee?: number;
|
|
1171
|
-
/**
|
|
1172
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1173
|
-
*/
|
|
1174
|
-
timeoutInSeconds?: number;
|
|
1175
|
-
/**
|
|
1176
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1177
|
-
*/
|
|
1178
|
-
simulate?: boolean;
|
|
1179
|
-
}) => Promise<AssembledTransaction<Array<string>>>;
|
|
1091
|
+
admins: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
|
|
1180
1092
|
/**
|
|
1181
1093
|
* Construct and simulate a is_supported_message_lib 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.
|
|
1182
1094
|
* Returns whether a message library is supported.
|
|
@@ -1186,20 +1098,7 @@ export interface Client {
|
|
|
1186
1098
|
*/
|
|
1187
1099
|
is_supported_message_lib: ({ message_lib }: {
|
|
1188
1100
|
message_lib: string;
|
|
1189
|
-
}, txnOptions?:
|
|
1190
|
-
/**
|
|
1191
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1192
|
-
*/
|
|
1193
|
-
fee?: number;
|
|
1194
|
-
/**
|
|
1195
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1196
|
-
*/
|
|
1197
|
-
timeoutInSeconds?: number;
|
|
1198
|
-
/**
|
|
1199
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1200
|
-
*/
|
|
1201
|
-
simulate?: boolean;
|
|
1202
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1101
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1203
1102
|
/**
|
|
1204
1103
|
* Construct and simulate a message_libs 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.
|
|
1205
1104
|
* Returns all supported message library addresses.
|
|
@@ -1207,20 +1106,7 @@ export interface Client {
|
|
|
1207
1106
|
* # Returns
|
|
1208
1107
|
* Vector of supported message library contract addresses.
|
|
1209
1108
|
*/
|
|
1210
|
-
message_libs: (
|
|
1211
|
-
/**
|
|
1212
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1213
|
-
*/
|
|
1214
|
-
fee?: number;
|
|
1215
|
-
/**
|
|
1216
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1217
|
-
*/
|
|
1218
|
-
timeoutInSeconds?: number;
|
|
1219
|
-
/**
|
|
1220
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1221
|
-
*/
|
|
1222
|
-
simulate?: boolean;
|
|
1223
|
-
}) => Promise<AssembledTransaction<Array<string>>>;
|
|
1109
|
+
message_libs: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
|
|
1224
1110
|
/**
|
|
1225
1111
|
* Construct and simulate a is_on_allowlist 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.
|
|
1226
1112
|
* Returns whether an OApp is on the allowlist.
|
|
@@ -1230,38 +1116,12 @@ export interface Client {
|
|
|
1230
1116
|
*/
|
|
1231
1117
|
is_on_allowlist: ({ oapp }: {
|
|
1232
1118
|
oapp: string;
|
|
1233
|
-
}, txnOptions?:
|
|
1234
|
-
/**
|
|
1235
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1236
|
-
*/
|
|
1237
|
-
fee?: number;
|
|
1238
|
-
/**
|
|
1239
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1240
|
-
*/
|
|
1241
|
-
timeoutInSeconds?: number;
|
|
1242
|
-
/**
|
|
1243
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1244
|
-
*/
|
|
1245
|
-
simulate?: boolean;
|
|
1246
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1119
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1247
1120
|
/**
|
|
1248
1121
|
* Construct and simulate a allowlist_size 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.
|
|
1249
1122
|
* Returns the number of addresses on the allowlist.
|
|
1250
1123
|
*/
|
|
1251
|
-
allowlist_size: (
|
|
1252
|
-
/**
|
|
1253
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1254
|
-
*/
|
|
1255
|
-
fee?: number;
|
|
1256
|
-
/**
|
|
1257
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1258
|
-
*/
|
|
1259
|
-
timeoutInSeconds?: number;
|
|
1260
|
-
/**
|
|
1261
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1262
|
-
*/
|
|
1263
|
-
simulate?: boolean;
|
|
1264
|
-
}) => Promise<AssembledTransaction<u32>>;
|
|
1124
|
+
allowlist_size: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>;
|
|
1265
1125
|
/**
|
|
1266
1126
|
* Construct and simulate a is_on_denylist 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.
|
|
1267
1127
|
* Returns whether an OApp is on the denylist.
|
|
@@ -1271,20 +1131,7 @@ export interface Client {
|
|
|
1271
1131
|
*/
|
|
1272
1132
|
is_on_denylist: ({ oapp }: {
|
|
1273
1133
|
oapp: string;
|
|
1274
|
-
}, txnOptions?:
|
|
1275
|
-
/**
|
|
1276
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1277
|
-
*/
|
|
1278
|
-
fee?: number;
|
|
1279
|
-
/**
|
|
1280
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1281
|
-
*/
|
|
1282
|
-
timeoutInSeconds?: number;
|
|
1283
|
-
/**
|
|
1284
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1285
|
-
*/
|
|
1286
|
-
simulate?: boolean;
|
|
1287
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1134
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1288
1135
|
/**
|
|
1289
1136
|
* Construct and simulate a has_acl 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.
|
|
1290
1137
|
* Returns whether an OApp has access control list (ACL) permission.
|
|
@@ -1299,56 +1146,17 @@ export interface Client {
|
|
|
1299
1146
|
*/
|
|
1300
1147
|
has_acl: ({ oapp }: {
|
|
1301
1148
|
oapp: string;
|
|
1302
|
-
}, txnOptions?:
|
|
1303
|
-
/**
|
|
1304
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1305
|
-
*/
|
|
1306
|
-
fee?: number;
|
|
1307
|
-
/**
|
|
1308
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1309
|
-
*/
|
|
1310
|
-
timeoutInSeconds?: number;
|
|
1311
|
-
/**
|
|
1312
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1313
|
-
*/
|
|
1314
|
-
simulate?: boolean;
|
|
1315
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1149
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1316
1150
|
/**
|
|
1317
1151
|
* Construct and simulate a default_multiplier_bps 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.
|
|
1318
1152
|
* Returns the default fee multiplier in basis points.
|
|
1319
1153
|
*/
|
|
1320
|
-
default_multiplier_bps: (
|
|
1321
|
-
/**
|
|
1322
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1323
|
-
*/
|
|
1324
|
-
fee?: number;
|
|
1325
|
-
/**
|
|
1326
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1327
|
-
*/
|
|
1328
|
-
timeoutInSeconds?: number;
|
|
1329
|
-
/**
|
|
1330
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1331
|
-
*/
|
|
1332
|
-
simulate?: boolean;
|
|
1333
|
-
}) => Promise<AssembledTransaction<u32>>;
|
|
1154
|
+
default_multiplier_bps: (options?: MethodOptions) => Promise<AssembledTransaction<u32>>;
|
|
1334
1155
|
/**
|
|
1335
1156
|
* Construct and simulate a deposit_address 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.
|
|
1336
1157
|
* Returns the deposit address where fees are collected.
|
|
1337
1158
|
*/
|
|
1338
|
-
deposit_address: (
|
|
1339
|
-
/**
|
|
1340
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1341
|
-
*/
|
|
1342
|
-
fee?: number;
|
|
1343
|
-
/**
|
|
1344
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1345
|
-
*/
|
|
1346
|
-
timeoutInSeconds?: number;
|
|
1347
|
-
/**
|
|
1348
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1349
|
-
*/
|
|
1350
|
-
simulate?: boolean;
|
|
1351
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1159
|
+
deposit_address: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
1352
1160
|
/**
|
|
1353
1161
|
* Construct and simulate a get_supported_option_types 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.
|
|
1354
1162
|
* Returns supported option types for a destination endpoint.
|
|
@@ -1358,56 +1166,17 @@ export interface Client {
|
|
|
1358
1166
|
*/
|
|
1359
1167
|
get_supported_option_types: ({ eid }: {
|
|
1360
1168
|
eid: u32;
|
|
1361
|
-
}, txnOptions?:
|
|
1362
|
-
/**
|
|
1363
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1364
|
-
*/
|
|
1365
|
-
fee?: number;
|
|
1366
|
-
/**
|
|
1367
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1368
|
-
*/
|
|
1369
|
-
timeoutInSeconds?: number;
|
|
1370
|
-
/**
|
|
1371
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1372
|
-
*/
|
|
1373
|
-
simulate?: boolean;
|
|
1374
|
-
}) => Promise<AssembledTransaction<Option<Buffer>>>;
|
|
1169
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<Buffer>>>;
|
|
1375
1170
|
/**
|
|
1376
1171
|
* Construct and simulate a worker_fee_lib 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.
|
|
1377
1172
|
* Returns the worker fee library contract address.
|
|
1378
1173
|
*/
|
|
1379
|
-
worker_fee_lib: (
|
|
1380
|
-
/**
|
|
1381
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1382
|
-
*/
|
|
1383
|
-
fee?: number;
|
|
1384
|
-
/**
|
|
1385
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1386
|
-
*/
|
|
1387
|
-
timeoutInSeconds?: number;
|
|
1388
|
-
/**
|
|
1389
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1390
|
-
*/
|
|
1391
|
-
simulate?: boolean;
|
|
1392
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1174
|
+
worker_fee_lib: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
1393
1175
|
/**
|
|
1394
1176
|
* Construct and simulate a price_feed 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.
|
|
1395
1177
|
* Returns the price feed contract address.
|
|
1396
1178
|
*/
|
|
1397
|
-
price_feed: (
|
|
1398
|
-
/**
|
|
1399
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1400
|
-
*/
|
|
1401
|
-
fee?: number;
|
|
1402
|
-
/**
|
|
1403
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1404
|
-
*/
|
|
1405
|
-
timeoutInSeconds?: number;
|
|
1406
|
-
/**
|
|
1407
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1408
|
-
*/
|
|
1409
|
-
simulate?: boolean;
|
|
1410
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1179
|
+
price_feed: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
1411
1180
|
/**
|
|
1412
1181
|
* Construct and simulate a assign_job 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.
|
|
1413
1182
|
* Assigns a job to the executor and returns fee recipient information.
|
|
@@ -1418,20 +1187,7 @@ export interface Client {
|
|
|
1418
1187
|
dst_eid: u32;
|
|
1419
1188
|
calldata_size: u32;
|
|
1420
1189
|
options: Buffer;
|
|
1421
|
-
}, txnOptions?:
|
|
1422
|
-
/**
|
|
1423
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1424
|
-
*/
|
|
1425
|
-
fee?: number;
|
|
1426
|
-
/**
|
|
1427
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1428
|
-
*/
|
|
1429
|
-
timeoutInSeconds?: number;
|
|
1430
|
-
/**
|
|
1431
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1432
|
-
*/
|
|
1433
|
-
simulate?: boolean;
|
|
1434
|
-
}) => Promise<AssembledTransaction<FeeRecipient>>;
|
|
1190
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<FeeRecipient>>;
|
|
1435
1191
|
/**
|
|
1436
1192
|
* Construct and simulate a get_fee 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.
|
|
1437
1193
|
* Calculates the execution fee for a cross-chain message.
|
|
@@ -1442,20 +1198,7 @@ export interface Client {
|
|
|
1442
1198
|
dst_eid: u32;
|
|
1443
1199
|
calldata_size: u32;
|
|
1444
1200
|
options: Buffer;
|
|
1445
|
-
}, txnOptions?:
|
|
1446
|
-
/**
|
|
1447
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1448
|
-
*/
|
|
1449
|
-
fee?: number;
|
|
1450
|
-
/**
|
|
1451
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1452
|
-
*/
|
|
1453
|
-
timeoutInSeconds?: number;
|
|
1454
|
-
/**
|
|
1455
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1456
|
-
*/
|
|
1457
|
-
simulate?: boolean;
|
|
1458
|
-
}) => Promise<AssembledTransaction<i128>>;
|
|
1201
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<i128>>;
|
|
1459
1202
|
/**
|
|
1460
1203
|
* Construct and simulate a set_dst_config 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.
|
|
1461
1204
|
* Sets destination-specific configurations for multiple endpoints.
|
|
@@ -1463,40 +1206,14 @@ export interface Client {
|
|
|
1463
1206
|
set_dst_config: ({ admin, params }: {
|
|
1464
1207
|
admin: string;
|
|
1465
1208
|
params: Array<SetDstConfigParam>;
|
|
1466
|
-
}, txnOptions?:
|
|
1467
|
-
/**
|
|
1468
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1469
|
-
*/
|
|
1470
|
-
fee?: number;
|
|
1471
|
-
/**
|
|
1472
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1473
|
-
*/
|
|
1474
|
-
timeoutInSeconds?: number;
|
|
1475
|
-
/**
|
|
1476
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1477
|
-
*/
|
|
1478
|
-
simulate?: boolean;
|
|
1479
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1209
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1480
1210
|
/**
|
|
1481
1211
|
* Construct and simulate a dst_config 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.
|
|
1482
1212
|
* Returns the destination configuration for a specific endpoint.
|
|
1483
1213
|
*/
|
|
1484
1214
|
dst_config: ({ dst_eid }: {
|
|
1485
1215
|
dst_eid: u32;
|
|
1486
|
-
}, txnOptions?:
|
|
1487
|
-
/**
|
|
1488
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1489
|
-
*/
|
|
1490
|
-
fee?: number;
|
|
1491
|
-
/**
|
|
1492
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1493
|
-
*/
|
|
1494
|
-
timeoutInSeconds?: number;
|
|
1495
|
-
/**
|
|
1496
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1497
|
-
*/
|
|
1498
|
-
simulate?: boolean;
|
|
1499
|
-
}) => Promise<AssembledTransaction<Option<DstConfig>>>;
|
|
1216
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<DstConfig>>>;
|
|
1500
1217
|
/**
|
|
1501
1218
|
* 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.
|
|
1502
1219
|
* Native token drops.
|
|
@@ -1510,38 +1227,12 @@ export interface Client {
|
|
|
1510
1227
|
dst_eid: u32;
|
|
1511
1228
|
oapp: string;
|
|
1512
1229
|
native_drop_params: Array<NativeDropParams>;
|
|
1513
|
-
}, txnOptions?:
|
|
1514
|
-
/**
|
|
1515
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1516
|
-
*/
|
|
1517
|
-
fee?: number;
|
|
1518
|
-
/**
|
|
1519
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1520
|
-
*/
|
|
1521
|
-
timeoutInSeconds?: number;
|
|
1522
|
-
/**
|
|
1523
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1524
|
-
*/
|
|
1525
|
-
simulate?: boolean;
|
|
1526
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1230
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1527
1231
|
/**
|
|
1528
1232
|
* Construct and simulate a endpoint 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.
|
|
1529
1233
|
* Returns the endpoint address from storage.
|
|
1530
1234
|
*/
|
|
1531
|
-
endpoint: (
|
|
1532
|
-
/**
|
|
1533
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1534
|
-
*/
|
|
1535
|
-
fee?: number;
|
|
1536
|
-
/**
|
|
1537
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1538
|
-
*/
|
|
1539
|
-
timeoutInSeconds?: number;
|
|
1540
|
-
/**
|
|
1541
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1542
|
-
*/
|
|
1543
|
-
simulate?: boolean;
|
|
1544
|
-
}) => Promise<AssembledTransaction<string>>;
|
|
1235
|
+
endpoint: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
1545
1236
|
/**
|
|
1546
1237
|
* Construct and simulate a withdraw_token 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.
|
|
1547
1238
|
* Withdraws a token from the contract to a specified address.
|
|
@@ -1556,153 +1247,47 @@ export interface Client {
|
|
|
1556
1247
|
token: string;
|
|
1557
1248
|
to: string;
|
|
1558
1249
|
amount: i128;
|
|
1559
|
-
}, txnOptions?:
|
|
1560
|
-
/**
|
|
1561
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1562
|
-
*/
|
|
1563
|
-
fee?: number;
|
|
1564
|
-
/**
|
|
1565
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1566
|
-
*/
|
|
1567
|
-
timeoutInSeconds?: number;
|
|
1568
|
-
/**
|
|
1569
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1570
|
-
*/
|
|
1571
|
-
simulate?: boolean;
|
|
1572
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1250
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1573
1251
|
/**
|
|
1574
1252
|
* Construct and simulate a upgrade 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.
|
|
1575
|
-
* The type of data required for migration.
|
|
1576
1253
|
* Upgrades the contract to new WASM bytecode.
|
|
1577
1254
|
* Sets a migration flag that must be cleared by calling `migrate`.
|
|
1578
1255
|
*/
|
|
1579
1256
|
upgrade: ({ new_wasm_hash }: {
|
|
1580
1257
|
new_wasm_hash: Buffer;
|
|
1581
|
-
}, txnOptions?:
|
|
1582
|
-
/**
|
|
1583
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1584
|
-
*/
|
|
1585
|
-
fee?: number;
|
|
1586
|
-
/**
|
|
1587
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1588
|
-
*/
|
|
1589
|
-
timeoutInSeconds?: number;
|
|
1590
|
-
/**
|
|
1591
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1592
|
-
*/
|
|
1593
|
-
simulate?: boolean;
|
|
1594
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1258
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1595
1259
|
/**
|
|
1596
1260
|
* Construct and simulate a migrate 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.
|
|
1597
1261
|
* Runs migration logic after an upgrade.
|
|
1598
|
-
*
|
|
1262
|
+
* Parses XDR-encoded `migration_data` and calls `__migrate`. Clears the migration flag on success.
|
|
1599
1263
|
*/
|
|
1600
1264
|
migrate: ({ migration_data }: {
|
|
1601
1265
|
migration_data: Buffer;
|
|
1602
|
-
}, txnOptions?:
|
|
1603
|
-
/**
|
|
1604
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1605
|
-
*/
|
|
1606
|
-
fee?: number;
|
|
1607
|
-
/**
|
|
1608
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1609
|
-
*/
|
|
1610
|
-
timeoutInSeconds?: number;
|
|
1611
|
-
/**
|
|
1612
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1613
|
-
*/
|
|
1614
|
-
simulate?: boolean;
|
|
1615
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1266
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1616
1267
|
/**
|
|
1617
1268
|
* Construct and simulate a freeze 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.
|
|
1618
|
-
* Permanently freezes the contract, preventing any future upgrades.
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
freeze: (txnOptions?: {
|
|
1622
|
-
/**
|
|
1623
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1624
|
-
*/
|
|
1625
|
-
fee?: number;
|
|
1626
|
-
/**
|
|
1627
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1628
|
-
*/
|
|
1629
|
-
timeoutInSeconds?: number;
|
|
1630
|
-
/**
|
|
1631
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1632
|
-
*/
|
|
1633
|
-
simulate?: boolean;
|
|
1634
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1269
|
+
* Permanently freezes the contract, preventing any future upgrades. Irreversible.
|
|
1270
|
+
*/
|
|
1271
|
+
freeze: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1635
1272
|
/**
|
|
1636
1273
|
* Construct and simulate a is_frozen 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.
|
|
1637
1274
|
* Returns whether the contract is frozen (upgrades disabled).
|
|
1638
1275
|
*/
|
|
1639
|
-
is_frozen: (
|
|
1640
|
-
/**
|
|
1641
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1642
|
-
*/
|
|
1643
|
-
fee?: number;
|
|
1644
|
-
/**
|
|
1645
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1646
|
-
*/
|
|
1647
|
-
timeoutInSeconds?: number;
|
|
1648
|
-
/**
|
|
1649
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1650
|
-
*/
|
|
1651
|
-
simulate?: boolean;
|
|
1652
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1276
|
+
is_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1653
1277
|
/**
|
|
1654
1278
|
* Construct and simulate a authorizer 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.
|
|
1655
1279
|
*/
|
|
1656
|
-
authorizer: (
|
|
1657
|
-
/**
|
|
1658
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1659
|
-
*/
|
|
1660
|
-
fee?: number;
|
|
1661
|
-
/**
|
|
1662
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1663
|
-
*/
|
|
1664
|
-
timeoutInSeconds?: number;
|
|
1665
|
-
/**
|
|
1666
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1667
|
-
*/
|
|
1668
|
-
simulate?: boolean;
|
|
1669
|
-
}) => Promise<AssembledTransaction<string>>;
|
|
1280
|
+
authorizer: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
1670
1281
|
/**
|
|
1671
1282
|
* Construct and simulate a owner 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.
|
|
1672
1283
|
* Returns the current owner address, or None if no owner is set.
|
|
1673
1284
|
*/
|
|
1674
|
-
owner: (
|
|
1675
|
-
/**
|
|
1676
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1677
|
-
*/
|
|
1678
|
-
fee?: number;
|
|
1679
|
-
/**
|
|
1680
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1681
|
-
*/
|
|
1682
|
-
timeoutInSeconds?: number;
|
|
1683
|
-
/**
|
|
1684
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1685
|
-
*/
|
|
1686
|
-
simulate?: boolean;
|
|
1687
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1285
|
+
owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
1688
1286
|
/**
|
|
1689
1287
|
* Construct and simulate a pending_owner 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.
|
|
1690
1288
|
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
1691
1289
|
*/
|
|
1692
|
-
pending_owner: (
|
|
1693
|
-
/**
|
|
1694
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1695
|
-
*/
|
|
1696
|
-
fee?: number;
|
|
1697
|
-
/**
|
|
1698
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1699
|
-
*/
|
|
1700
|
-
timeoutInSeconds?: number;
|
|
1701
|
-
/**
|
|
1702
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1703
|
-
*/
|
|
1704
|
-
simulate?: boolean;
|
|
1705
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1290
|
+
pending_owner: (options?: MethodOptions) => Promise<AssembledTransaction<Option<string>>>;
|
|
1706
1291
|
/**
|
|
1707
1292
|
* Construct and simulate a transfer_ownership 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.
|
|
1708
1293
|
* Transfers ownership immediately to a new address.
|
|
@@ -1716,20 +1301,7 @@ export interface Client {
|
|
|
1716
1301
|
*/
|
|
1717
1302
|
transfer_ownership: ({ new_owner }: {
|
|
1718
1303
|
new_owner: string;
|
|
1719
|
-
}, txnOptions?:
|
|
1720
|
-
/**
|
|
1721
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1722
|
-
*/
|
|
1723
|
-
fee?: number;
|
|
1724
|
-
/**
|
|
1725
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1726
|
-
*/
|
|
1727
|
-
timeoutInSeconds?: number;
|
|
1728
|
-
/**
|
|
1729
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1730
|
-
*/
|
|
1731
|
-
simulate?: boolean;
|
|
1732
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1304
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1733
1305
|
/**
|
|
1734
1306
|
* Construct and simulate a propose_ownership_transfer 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.
|
|
1735
1307
|
* Proposes an ownership transfer to a new address.
|
|
@@ -1751,20 +1323,7 @@ export interface Client {
|
|
|
1751
1323
|
propose_ownership_transfer: ({ new_owner, ttl }: {
|
|
1752
1324
|
new_owner: string;
|
|
1753
1325
|
ttl: u32;
|
|
1754
|
-
}, txnOptions?:
|
|
1755
|
-
/**
|
|
1756
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1757
|
-
*/
|
|
1758
|
-
fee?: number;
|
|
1759
|
-
/**
|
|
1760
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1761
|
-
*/
|
|
1762
|
-
timeoutInSeconds?: number;
|
|
1763
|
-
/**
|
|
1764
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1765
|
-
*/
|
|
1766
|
-
simulate?: boolean;
|
|
1767
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1326
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1768
1327
|
/**
|
|
1769
1328
|
* Construct and simulate a accept_ownership 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.
|
|
1770
1329
|
* Accepts a pending 2-step ownership transfer.
|
|
@@ -1774,20 +1333,7 @@ export interface Client {
|
|
|
1774
1333
|
* # Panics
|
|
1775
1334
|
* - `NoPendingTransfer` if there is no pending transfer (or it expired)
|
|
1776
1335
|
*/
|
|
1777
|
-
accept_ownership: (
|
|
1778
|
-
/**
|
|
1779
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1780
|
-
*/
|
|
1781
|
-
fee?: number;
|
|
1782
|
-
/**
|
|
1783
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1784
|
-
*/
|
|
1785
|
-
timeoutInSeconds?: number;
|
|
1786
|
-
/**
|
|
1787
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1788
|
-
*/
|
|
1789
|
-
simulate?: boolean;
|
|
1790
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1336
|
+
accept_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1791
1337
|
/**
|
|
1792
1338
|
* Construct and simulate a renounce_ownership 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.
|
|
1793
1339
|
* Permanently renounces ownership.
|
|
@@ -1796,20 +1342,7 @@ export interface Client {
|
|
|
1796
1342
|
* - `OwnerNotSet` if no owner is currently set
|
|
1797
1343
|
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
1798
1344
|
*/
|
|
1799
|
-
renounce_ownership: (
|
|
1800
|
-
/**
|
|
1801
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1802
|
-
*/
|
|
1803
|
-
fee?: number;
|
|
1804
|
-
/**
|
|
1805
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1806
|
-
*/
|
|
1807
|
-
timeoutInSeconds?: number;
|
|
1808
|
-
/**
|
|
1809
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1810
|
-
*/
|
|
1811
|
-
simulate?: boolean;
|
|
1812
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1345
|
+
renounce_ownership: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1813
1346
|
/**
|
|
1814
1347
|
* Construct and simulate a extend_instance_ttl 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.
|
|
1815
1348
|
* Extends the instance TTL.
|
|
@@ -1822,20 +1355,7 @@ export interface Client {
|
|
|
1822
1355
|
extend_instance_ttl: ({ threshold, extend_to }: {
|
|
1823
1356
|
threshold: u32;
|
|
1824
1357
|
extend_to: u32;
|
|
1825
|
-
}, txnOptions?:
|
|
1826
|
-
/**
|
|
1827
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1828
|
-
*/
|
|
1829
|
-
fee?: number;
|
|
1830
|
-
/**
|
|
1831
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1832
|
-
*/
|
|
1833
|
-
timeoutInSeconds?: number;
|
|
1834
|
-
/**
|
|
1835
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1836
|
-
*/
|
|
1837
|
-
simulate?: boolean;
|
|
1838
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1358
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1839
1359
|
/**
|
|
1840
1360
|
* Construct and simulate a set_ttl_configs 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.
|
|
1841
1361
|
* Sets TTL configs for instance and persistent storage.
|
|
@@ -1854,38 +1374,12 @@ export interface Client {
|
|
|
1854
1374
|
set_ttl_configs: ({ instance, persistent }: {
|
|
1855
1375
|
instance: Option<TtlConfig>;
|
|
1856
1376
|
persistent: Option<TtlConfig>;
|
|
1857
|
-
}, txnOptions?:
|
|
1858
|
-
/**
|
|
1859
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1860
|
-
*/
|
|
1861
|
-
fee?: number;
|
|
1862
|
-
/**
|
|
1863
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1864
|
-
*/
|
|
1865
|
-
timeoutInSeconds?: number;
|
|
1866
|
-
/**
|
|
1867
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1868
|
-
*/
|
|
1869
|
-
simulate?: boolean;
|
|
1870
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1377
|
+
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1871
1378
|
/**
|
|
1872
1379
|
* Construct and simulate a ttl_configs 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.
|
|
1873
1380
|
* Returns the current TTL configs as (instance_config, persistent_config).
|
|
1874
1381
|
*/
|
|
1875
|
-
ttl_configs: (
|
|
1876
|
-
/**
|
|
1877
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1878
|
-
*/
|
|
1879
|
-
fee?: number;
|
|
1880
|
-
/**
|
|
1881
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1882
|
-
*/
|
|
1883
|
-
timeoutInSeconds?: number;
|
|
1884
|
-
/**
|
|
1885
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1886
|
-
*/
|
|
1887
|
-
simulate?: boolean;
|
|
1888
|
-
}) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
1382
|
+
ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
1889
1383
|
/**
|
|
1890
1384
|
* Construct and simulate a freeze_ttl_configs 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.
|
|
1891
1385
|
* Permanently freezes TTL configs, preventing any future modifications.
|
|
@@ -1896,38 +1390,12 @@ export interface Client {
|
|
|
1896
1390
|
* # Panics
|
|
1897
1391
|
* - `TtlConfigAlreadyFrozen` if already frozen
|
|
1898
1392
|
*/
|
|
1899
|
-
freeze_ttl_configs: (
|
|
1900
|
-
/**
|
|
1901
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1902
|
-
*/
|
|
1903
|
-
fee?: number;
|
|
1904
|
-
/**
|
|
1905
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1906
|
-
*/
|
|
1907
|
-
timeoutInSeconds?: number;
|
|
1908
|
-
/**
|
|
1909
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1910
|
-
*/
|
|
1911
|
-
simulate?: boolean;
|
|
1912
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1393
|
+
freeze_ttl_configs: (options?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1913
1394
|
/**
|
|
1914
1395
|
* Construct and simulate a is_ttl_configs_frozen 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.
|
|
1915
1396
|
* Returns whether TTL configs are frozen.
|
|
1916
1397
|
*/
|
|
1917
|
-
is_ttl_configs_frozen: (
|
|
1918
|
-
/**
|
|
1919
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1920
|
-
*/
|
|
1921
|
-
fee?: number;
|
|
1922
|
-
/**
|
|
1923
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1924
|
-
*/
|
|
1925
|
-
timeoutInSeconds?: number;
|
|
1926
|
-
/**
|
|
1927
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1928
|
-
*/
|
|
1929
|
-
simulate?: boolean;
|
|
1930
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1398
|
+
is_ttl_configs_frozen: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1931
1399
|
}
|
|
1932
1400
|
export declare class Client extends ContractClient {
|
|
1933
1401
|
readonly options: ContractClientOptions;
|