@layerzerolabs/protocol-stellar-v2 0.2.20 → 0.2.21
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 +783 -802
- package/.turbo/turbo-lint.log +320 -157
- package/.turbo/turbo-test.log +1414 -1457
- package/Cargo.lock +109 -108
- package/Cargo.toml +32 -18
- package/contracts/common-macros/Cargo.toml +7 -7
- package/contracts/common-macros/src/auth.rs +18 -37
- package/contracts/common-macros/src/contract_ttl.rs +2 -2
- package/contracts/common-macros/src/lib.rs +27 -10
- package/contracts/common-macros/src/lz_contract.rs +38 -7
- package/contracts/common-macros/src/storage.rs +251 -292
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_multisig_code.snap +6 -12
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__auth__snapshot_generated_ownable_code.snap +12 -17
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__ttl_configurable__snapshot_generated_ttl_configurable_code.snap +2 -7
- package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +20 -9
- package/contracts/common-macros/src/tests/upgradeable.rs +26 -4
- package/contracts/common-macros/src/ttl_configurable.rs +2 -10
- package/contracts/common-macros/src/ttl_extendable.rs +2 -10
- package/contracts/common-macros/src/upgradeable.rs +56 -15
- package/contracts/common-macros/src/utils.rs +0 -9
- package/contracts/endpoint-v2/src/lib.rs +3 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/lz_receive_alert.rs +3 -3
- package/contracts/endpoint-v2/src/tests/endpoint_v2/send.rs +4 -4
- package/contracts/endpoint-v2/src/tests/endpoint_v2/set_delegate.rs +17 -5
- package/contracts/endpoint-v2/src/tests/endpoint_v2/set_zro.rs +4 -4
- package/contracts/endpoint-v2/src/tests/endpoint_v2/verify.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/register_library.rs +2 -2
- package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_lib_timeout.rs +6 -6
- package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_receive_library.rs +67 -37
- package/contracts/endpoint-v2/src/tests/message_lib_manager/set_default_send_library.rs +5 -5
- package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library.rs +44 -54
- package/contracts/endpoint-v2/src/tests/message_lib_manager/set_receive_library_timeout.rs +7 -7
- package/contracts/endpoint-v2/src/tests/message_lib_manager/set_send_library.rs +8 -8
- package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +3 -3
- package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +4 -4
- package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +3 -3
- package/contracts/endpoint-v2/src/tests/messaging_composer/clear_compose.rs +2 -2
- package/contracts/endpoint-v2/src/tests/messaging_composer/lz_compose_alert.rs +3 -3
- package/contracts/endpoint-v2/src/tests/messaging_composer/send_compose.rs +2 -2
- package/contracts/layerzero-views/Cargo.toml +0 -1
- package/contracts/layerzero-views/src/layerzero_view.rs +1 -13
- package/contracts/macro-integration-tests/Cargo.toml +5 -15
- package/contracts/macro-integration-tests/tests/runtime/oapp/mod.rs +48 -0
- package/contracts/macro-integration-tests/tests/runtime/oapp/oapp_core.rs +170 -0
- package/contracts/macro-integration-tests/tests/runtime/oapp/options_type3.rs +154 -0
- package/contracts/macro-integration-tests/tests/runtime/oapp/receiver.rs +338 -0
- package/contracts/macro-integration-tests/tests/runtime/oapp/sender.rs +435 -0
- package/contracts/macro-integration-tests/tests/runtime.rs +1 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/custom_wrong_value.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/missing_lz_receive_internal.stderr +71 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.rs +10 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/non_struct_input.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/unknown_custom_option.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.rs +8 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/fail/wrong_key.stderr +5 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_all.rs +38 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/custom_single_trait.rs +96 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/minimal_contract.rs +64 -0
- package/contracts/macro-integration-tests/tests/ui/oapp/pass/struct_with_fields.rs +46 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/fail/only_auth_missing_env.stderr +8 -0
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/namespacing_and_imports.rs +1 -1
- package/contracts/macro-integration-tests/tests/ui/ownable/pass/only_auth_env_param_variants.rs +1 -1
- package/contracts/macro-integration-tests/tests/ui_oapp.rs +11 -0
- package/contracts/message-libs/message-lib-common/Cargo.toml +0 -1
- package/contracts/message-libs/message-lib-common/src/errors.rs +1 -1
- package/contracts/message-libs/treasury/Cargo.toml +0 -2
- package/contracts/message-libs/treasury/src/tests/treasury_tests.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/receive_uln302/effective_receive_uln_config.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/receive_uln302/set_default_receive_uln_configs.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/receive_uln302/verify.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_executor_config.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/send_uln302/effective_send_uln_config.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +7 -27
- package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_executor_configs.rs +2 -2
- package/contracts/message-libs/uln-302/src/tests/send_uln302/set_default_send_uln_configs.rs +2 -2
- package/contracts/oapps/counter/Cargo.toml +4 -6
- package/contracts/oapps/counter/integration_tests/utils.rs +19 -12
- package/contracts/oapps/oapp/src/errors.rs +1 -1
- package/contracts/oapps/oapp/src/interfaces/mod.rs +3 -0
- package/contracts/oapps/oapp/src/interfaces/oapp_msg_inspector.rs +47 -0
- package/contracts/oapps/oapp/src/lib.rs +1 -0
- package/contracts/oapps/oapp/src/macro_tests/test_macros.rs +4 -4
- package/contracts/oapps/oapp/src/oapp_core.rs +5 -5
- package/contracts/oapps/oapp/src/oapp_options_type3.rs +12 -4
- package/contracts/oapps/oapp/src/oapp_receiver.rs +14 -9
- package/contracts/oapps/oapp/src/tests/mod.rs +4 -4
- package/contracts/oapps/oapp/src/tests/{test_oapp_core.rs → oapp_core.rs} +4 -4
- package/contracts/oapps/oapp/src/tests/{test_oapp_options_type3.rs → oapp_options_type3.rs} +3 -4
- package/contracts/oapps/oapp-macros/Cargo.toml +8 -4
- package/contracts/oapps/oapp-macros/src/generators.rs +9 -34
- package/contracts/oapps/oapp-macros/src/lib.rs +3 -0
- package/contracts/oapps/oapp-macros/src/tests/mod.rs +2 -0
- package/contracts/oapps/oapp-macros/src/tests/oapp.rs +88 -0
- package/contracts/oapps/oapp-macros/src/tests/parse_custom_impls.rs +86 -0
- package/contracts/oapps/oapp-macros/src/tests/snapshots/oapp_macros__tests__oapp__snapshot_generate_oapp.snap +103 -0
- package/contracts/oapps/oft/integration-tests/utils.rs +28 -8
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +136 -74
- package/contracts/oapps/oft/src/extensions/pausable.rs +44 -10
- package/contracts/oapps/oft/src/extensions/rate_limiter.rs +170 -130
- package/contracts/oapps/oft/src/oft.rs +19 -12
- package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +1 -1
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +1 -1
- package/contracts/oapps/oft-core/Cargo.toml +1 -4
- package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -2
- package/contracts/oapps/oft-core/integration-tests/utils.rs +21 -3
- package/contracts/oapps/oft-core/src/errors.rs +3 -2
- package/contracts/oapps/oft-core/src/events.rs +6 -0
- package/contracts/oapps/oft-core/src/lib.rs +1 -1
- package/contracts/oapps/oft-core/src/oft_core.rs +115 -60
- package/contracts/oapps/oft-core/src/storage.rs +7 -3
- package/contracts/oapps/oft-core/src/tests/mod.rs +1 -0
- package/contracts/oapps/oft-core/src/tests/test_decimals.rs +37 -2
- package/contracts/oapps/oft-core/src/tests/test_lz_receive.rs +2 -2
- package/contracts/oapps/oft-core/src/tests/test_msg_inspector.rs +323 -0
- package/contracts/oapps/oft-core/src/tests/test_send.rs +2 -2
- package/contracts/oapps/oft-core/src/tests/test_utils.rs +59 -14
- package/contracts/utils/Cargo.toml +0 -1
- package/contracts/utils/src/errors.rs +1 -1
- package/contracts/utils/src/multisig.rs +17 -8
- package/contracts/utils/src/ownable.rs +6 -6
- package/contracts/utils/src/testing_utils.rs +124 -54
- package/contracts/utils/src/tests/multisig.rs +12 -12
- package/contracts/utils/src/tests/ownable.rs +6 -6
- package/contracts/utils/src/tests/testing_utils.rs +50 -167
- package/contracts/utils/src/tests/ttl_configurable.rs +5 -5
- package/contracts/utils/src/tests/upgradeable.rs +1 -1
- package/contracts/utils/src/ttl_configurable.rs +10 -4
- package/contracts/utils/src/upgradeable.rs +5 -5
- package/contracts/workers/dvn/Cargo.toml +5 -6
- package/contracts/workers/dvn/src/dvn.rs +2 -12
- package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
- package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +37 -19
- package/contracts/workers/dvn-fee-lib/src/lib.rs +12 -2
- package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +15 -13
- package/contracts/workers/executor/Cargo.toml +3 -0
- package/contracts/workers/executor/src/executor.rs +2 -12
- package/contracts/workers/executor/src/lib.rs +2 -2
- package/contracts/workers/executor/src/tests/auth.rs +394 -0
- package/contracts/workers/executor/src/tests/executor.rs +410 -0
- package/contracts/workers/executor/src/tests/mod.rs +3 -0
- package/contracts/workers/executor/src/tests/setup.rs +250 -0
- package/contracts/workers/executor-fee-lib/Cargo.toml +5 -0
- package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +1 -12
- package/contracts/workers/executor-fee-lib/src/lib.rs +8 -2
- package/contracts/workers/executor-helper/Cargo.toml +0 -1
- package/contracts/workers/price-feed/Cargo.toml +5 -0
- package/contracts/workers/price-feed/src/lib.rs +9 -4
- package/contracts/workers/price-feed/src/price_feed.rs +1 -11
- package/contracts/workers/worker/src/errors.rs +1 -1
- package/contracts/workers/worker/src/tests/setup.rs +1 -1
- package/contracts/workers/worker/src/tests/worker.rs +55 -41
- package/contracts/workers/worker/src/worker.rs +34 -25
- package/docs/error-spec.md +55 -0
- package/docs/layerzero-v2-on-stellar.md +447 -0
- package/docs/oapp-guide.md +212 -0
- package/docs/oft-guide.md +314 -0
- package/package.json +3 -3
- package/sdk/.turbo/turbo-test.log +260 -257
- package/sdk/dist/generated/bml.d.ts +3 -3
- package/sdk/dist/generated/bml.js +4 -4
- package/sdk/dist/generated/counter.d.ts +295 -295
- package/sdk/dist/generated/counter.js +43 -43
- package/sdk/dist/generated/dvn.d.ts +91 -91
- package/sdk/dist/generated/dvn.js +24 -24
- package/sdk/dist/generated/dvn_fee_lib.d.ts +92 -92
- package/sdk/dist/generated/dvn_fee_lib.js +25 -25
- package/sdk/dist/generated/endpoint.d.ts +99 -99
- package/sdk/dist/generated/endpoint.js +16 -16
- package/sdk/dist/generated/executor.d.ts +91 -91
- package/sdk/dist/generated/executor.js +24 -24
- package/sdk/dist/generated/executor_fee_lib.d.ts +92 -92
- package/sdk/dist/generated/executor_fee_lib.js +25 -25
- package/sdk/dist/generated/executor_helper.d.ts +3 -3
- package/sdk/dist/generated/executor_helper.js +4 -4
- package/sdk/dist/generated/layerzero_view.d.ts +186 -186
- package/sdk/dist/generated/layerzero_view.js +35 -35
- package/sdk/dist/generated/oft.d.ts +366 -352
- package/sdk/dist/generated/oft.js +74 -79
- package/sdk/dist/generated/price_feed.d.ts +198 -198
- package/sdk/dist/generated/price_feed.js +39 -39
- package/sdk/dist/generated/sml.d.ts +99 -99
- package/sdk/dist/generated/sml.js +16 -16
- package/sdk/dist/generated/treasury.d.ts +99 -99
- package/sdk/dist/generated/treasury.js +16 -16
- package/sdk/dist/generated/uln302.d.ts +99 -99
- package/sdk/dist/generated/uln302.js +16 -16
- package/sdk/dist/generated/upgrader.d.ts +3 -3
- package/sdk/dist/generated/upgrader.js +3 -3
- package/sdk/package.json +1 -1
- package/sdk/test/suites/localnet.ts +84 -20
- package/contracts/ERROR_SPEC.md +0 -51
- package/contracts/endpoint-v2/ARCHITECTURE.md +0 -233
- /package/contracts/oapps/oapp/src/tests/{test_oapp_receiver.rs → oapp_receiver.rs} +0 -0
- /package/contracts/oapps/oapp/src/tests/{test_oapp_sender.rs → oapp_sender.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: 61037 bytes (59.61 KB)
|
|
10
10
|
*/
|
|
11
|
-
export declare const WASM_BASE64 = "AGFzbQEAAAAB+gEoYAF+AX5gAn5+AX5gA35+fgF+YAR+fn5+AX5gAAF+YAF+AX9gAn9/AX9gBX5+fn5+AGACf38BfmADfn5+AGADf39/AGAEf39/fwBgBH9/fn4AYAN/f38BfmABfwBgAn9/AGACfn8BfmABfgBgAn5+AX9gAn9+AGAAAGAAAX9gAX8BfmACfn8AYAN/fn4AYAV/fn9+fgBgA35/fwBgAX8Bf2ACf34Bf2AFfn9/f38AYAR/f39/AX5gBn9+fn5+fwBgBX9+fn5+AGAGfn5+fn5+AX5gBH5+fn4AYAJ+fwF/YAR+fn9/AX5gAn5+AGAEf35+fwBgA39/fwF/AuUBJgF2ATMAAAF2ATEAAQFiAW0AAgFsATcAAwFsAV8AAgFiATgAAAFiAWUAAQFsATEAAQFiATQABAFhATAAAAFiAV8AAAFiAWYAAgF4ATEAAQFsATIAAQF2AV8ABAF4ATcABAFkAV8AAgFhATYAAAFpAV8AAAFpATAAAAFiATEAAwFiATMAAQF2AWcAAQFpATgAAAFpATcAAAFpATYAAQFiAWoAAQFiATIAAwFtATkAAgFtAWEAAwF4ATAAAQFiATAAAAF4ATQABAF4ATMABAF4ATgABAFsATAAAQFsATgAAQF4ATUAAAO4AbYBBQYHAQgJBwoICwgMAA0ODwgOEBEIEg4LDwgTCgQUFRYUBAQOFxQOFg4EChMPBBYYERkOExoTGxwcFBYTBAQUFQwGDwoKDAoEBBMPGw4WFR0YEx4KHwMIAAEBAQEAAQAAEgAABAAEAAQAEwggBAQFFAQEAhYTIAMVABMhDw8RIgQEAQACABMBIRYIIwEUJAIEBAABAQABExUWBA8EBAEEBAAlARQYBAQUChMKDwofJiAgJiAnJyAEBQFwAQEBBQMBABEGIQR/AUGAgMAAC38AQZCJwAALfwBBvovAAAt/AEHAi8AACwesBzYGbWVtb3J5AgAOc2V0X3JhdGVfbGltaXQAexB1bnNldF9yYXRlX2xpbWl0AH4RcmF0ZV9saW1pdF9jb25maWcAfxRyYXRlX2xpbWl0X2luX2ZsaWdodACAARNyYXRlX2xpbWl0X2NhcGFjaXR5AIEBE3NldF9kZWZhdWx0X2ZlZV9icHMAggELc2V0X2ZlZV9icHMAgwENdW5zZXRfZmVlX2JwcwCEARdzZXRfZmVlX2RlcG9zaXRfYWRkcmVzcwCFAQtoYXNfZmVlX2JwcwCHARFlZmZlY3RpdmVfZmVlX2JwcwCIAQ9kZWZhdWx0X2ZlZV9icHMAiQEHZmVlX2JwcwCKARNmZWVfZGVwb3NpdF9hZGRyZXNzAIsBCnNldF9wYXVzZWQAjAEJaXNfcGF1c2VkAI0BCXF1b3RlX29mdACOAQV0b2tlbgCSAQ9zaGFyZWRfZGVjaW1hbHMAkwEXZGVjaW1hbF9jb252ZXJzaW9uX3JhdGUAlgERYXBwcm92YWxfcmVxdWlyZWQAlwEKcXVvdGVfc2VuZACYAQRzZW5kAJwBDV9fY29uc3RydWN0b3IAoAEIb2Z0X3R5cGUApQEKYXV0aG9yaXplcgCmARBlbmZvcmNlZF9vcHRpb25zAKcBFHNldF9lbmZvcmNlZF9vcHRpb25zAKgBD2NvbWJpbmVfb3B0aW9ucwCpARVhbGxvd19pbml0aWFsaXplX3BhdGgAqgEKbmV4dF9ub25jZQCsAQpsel9yZWNlaXZlAK0BFWlzX2NvbXBvc2VfbXNnX3NlbmRlcgC0AQxvYXBwX3ZlcnNpb24AtQEIZW5kcG9pbnQAtgEEcGVlcgC3AQhzZXRfcGVlcgC5AQxzZXRfZGVsZWdhdGUAugEPc2V0X3R0bF9jb25maWdzALsBC3R0bF9jb25maWdzAL8BEmZyZWV6ZV90dGxfY29uZmlncwDBARVpc190dGxfY29uZmlnc19mcm96ZW4AwgETZXh0ZW5kX2luc3RhbmNlX3R0bADDAQVvd25lcgDEAQ1wZW5kaW5nX293bmVyAMUBEnRyYW5zZmVyX293bmVyc2hpcADGARpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgDIARBhY2NlcHRfb3duZXJzaGlwAMsBEnJlbm91bmNlX293bmVyc2hpcADMAQFfAwELb2Z0X3ZlcnNpb24AtQEKX19kYXRhX2VuZAMCC19faGVhcF9iYXNlAwMK3OsBtgGuAQMBfwF+An9BAiEBAkAgAEL/AYNCywBSDQAgABCAgICAACICQoCAgIAQVA0AAkAgAEIEEIGAgIAAIgCnQf8BcSIDQcoARg0AIANBDkcNAQsgAkIgiKchAwJAAkACQCAAQeCBwIAArUIghkIEhEKEgICAIBCCgICAAEIgiKcOAgABAwtBASADEKeAgIAADQJBACEEDAELQQEhBEEBIAMQp4CAgAANAQsgBCEBCyABCxkAAkAgASAASQ0AIAEgAGsPCxDfgICAAAALsQEBAn8jgICAgABBMGsiBSSAgICAACAFIAMgBBCpgICAADcDECAFIAI3AwggBSABNwMAQQAhBgNAAkAgBkEYRw0AQQAhBgJAA0AgBkEYRg0BIAVBGGogBmogBSAGaikDADcDACAGQQhqIQYMAAsLIABCju7qlb623vMAIAVBGGpBAxCqgICAABCrgICAACAFQTBqJICAgIAADwsgBUEYaiAGakICNwMAIAZBCGohBgwACwtDAQF/I4CAgIAAQRBrIgIkgICAgAAgAiAAIAEQ9oCAgAACQCACKAIAQQFHDQAACyACKQMIIQEgAkEQaiSAgICAACABCxoAIACtQiCGQgSEIAGtQiCGQgSEEJaAgIAACyEAAkAgACABIAIQkICAgABC/wGDQgJRDQAQ34CAgAAACwuxAQECfyOAgICAAEEwayIFJICAgIAAIAUgAyAEEKmAgIAANwMQIAUgAjcDCCAFIAE3AwBBACEGA0ACQCAGQRhHDQBBACEGAkADQCAGQRhGDQEgBUEYaiAGaiAFIAZqKQMANwMAIAZBCGohBgwACwsgAEKO7uqVvrbe8wAgBUEYakEDEKqAgIAAEKuAgIAAIAVBMGokgICAgAAPCyAFQRhqIAZqQgI3AwAgBkEIaiEGDAALCycAQQEgABCugICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEIOAgIAAGgvHAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAAkAgAA4DAAECAAsgAkGAgMCAAEENENCAgIAAIAIoAgANAyACIAIpAwgQ0YCAgAAMAgsgAkGNgMCAAEEGENCAgIAAIAIoAgANAiACIAIpAwggAa1CIIZCBIQQ1YCAgAAMAQsgAkGTgMCAAEERENCAgIAAIAIoAgANASACIAIpAwgQ0YCAgAALIAIpAwghAyACKQMAUA0BCwALIAJBEGokgICAgAAgAwsnACAAIAEQsICAgABCASACrUIghkIEhCADrUIghkIEhBCDgICAABoL+gECAX8CfiOAgICAAEEwayICJICAgIAAIAJBIGpByILAgABBCRDQgICAAAJAAkAgAigCIA0AIAIpAyghAwJAAkAgAUEBcUUNACACQSBqQdeBwIAAQQgQ0ICAgAAgAigCIA0CIAJBIGogAikDKBDRgICAAAwBCyACQSBqQdCBwIAAQQcQ0ICAgAAgAigCIA0BIAJBIGogAikDKBDRgICAAAsgAikDKCEEIAIpAyCnDQAgAiAENwMQIAIgAzcDCCACIACtQiCGQgSENwMYIAJBIGogAkEIahDSgICAACACKAIgRQ0BCwALIAIpAyghAyACQTBqJICAgIAAIAMLHQAgACABEK6AgIAAIAIQsoCAgAAgAxCEgICAABoLQQEBfyOAgICAAEEQayIBJICAgIAAIAEgABD3gICAAAJAIAEoAgBBAUcNAAALIAEpAwghACABQRBqJICAgIAAIAALzwECAX8DfiOAgICAAEEQayIDJICAgIAAIANBBGoQtICAgAACQCADKAIEQQFHDQAgAygCCCADKAIMELWAgIAACyAAIAEQtoCAgAAiBBCFgICAACEFIAIpAwAhBgJAAkAgBUKAgICAEFQNAAJAIAYQhYCAgABCgICAgBBaDQAgBCEGDAELIAYQhYCAgABC/////x9YDQEgAhC3gICAACAEIAZBAhC4gICAABCGgICAACEGCyADQRBqJICAgIAAIAYPC0KDgICAgPoBELmAgIAAAAsMACAAQQEQ0YGAgAALGwAgAK1CIIZCBIQgAa1CIIZCBIQQpICAgAAaC70BBAF/AX4BfwF+I4CAgIAAQRBrIgIkgICAgAAgAkEEahC0gICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQtYCAgAALAkACQCAAIAEQuoCAgAAiA0IBELuAgIAAIgRFDQAgA0IBEIeAgIAAIgVC/wGDQsgAUg0BIAJBBGoQvICAgAAgAigCBEEBRw0AIAAgASACKAIIIAIoAgwQvYCAgAALEIiAgIAAIQMgAkEQaiSAgICAACAFIAMgBBsPCwALvQECAX8BfiOAgICAAEEQayIBJICAgIAAIAFBADYCCCABIAA2AgQCQAJAAkAgAUEEakECEK+BgIAAIgIQhYCAgABCgICAgHCDQoCAgIAgUg0AIAFBADsBDiACEIWAgIAAQoCAgIBwg0KAgICAIFINASACIAFBDmpBAhDagICAACABLwEOQYAGRw0CIAFBEGokgICAgAAPC0KDgICAgIIBELmAgIAAAAsQsoGAgAAAC0KDgICAgPoBELmAgIAAAAslACAAIAGtQiCGQgSEIAAQhYCAgABCgICAgHCDQgSEEIuAgIAACwsAIAAQpYCAgAAaC4oBAgF/AX4jgICAgABBMGsiAiSAgICAACACQSBqQeCFwIAAQQ8Q0ICAgAACQAJAIAIoAiANACACIAIpAyg3AwggAiABrUIghkIEhDcDGCACIACtQiCGQgSENwMQIAJBIGogAkEIahDSgICAACACKAIgRQ0BCwALIAIpAyghAyACQTBqJICAgIAAIAMLDwAgACABEKOAgIAAQgFRCwwAIABBAhDRgYCAAAsnACAAIAEQuoCAgABCASACrUIghkIEhCADrUIghkIEhBCDgICAABoLxgECAX8BfiOAgICAAEEQayICJICAgIAAIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAACwJAAkACQEEBIAEQv4CAgAAiA0IBELuAgIAARQ0AIAIgA0IBEIeAgIAAEMCAgIAAIAIoAgBBAUcNAQALIABCADcDAAwBCyACKQMIIQMgAEIBNwMAIAAgAzcDCCACELyAgIAAIAIoAgBBAUcNACABIAIoAgQgAigCCBDBgICAAAsgAkEQaiSAgICAAAubAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQQFxRQ0AIAJBnIXAgABBBBDQgICAACACKAIADQIgAiACKQMIIAGtQiCGQgSEENWAgIAADAELIAJBlIXAgABBCBDQgICAACACKAIADQEgAiACKQMIENGAgIAACyACKQMIIQMgAikDAFANAQsACyACQRBqJICAgIAAIAMLIwACQCABQv8Bg0LIAFENACAAQgE3AwAPCyAAIAEQ24CAgAALJwBBASAAEL+AgIAAQgEgAa1CIIZCBIQgAq1CIIZCBIQQg4CAgAAaC4cBAgF/AX4jgICAgABBEGsiACSAgICAACAAQQRqELSAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC1gICAAAsCQAJAQQAgABC/gICAACIBQgIQu4CAgABFDQAgAUICEIeAgIAAIgFC/wGDQs0AUQ0BAAsQw4CAgAAACyAAQRBqJICAgIAAIAELCQAQ34CAgAAAC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqELSAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC1gICAAAtBACEBAkBBABDFgICAACICQgIQu4CAgABFDQBBASEBAkACQCACQgIQh4CAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABC8IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAAkACQCAAQf8BcQ4DAAECAAsgAUGmi8CAAEEGENCAgIAAIAEoAgANAyABIAEpAwgQ0YCAgAAMAgsgAUGsi8CAAEEIENCAgIAAIAEoAgANAiABIAEpAwgQ0YCAgAAMAQsgAUG0i8CAAEEKENCAgIAAIAEoAgANASABIAEpAwgQ0YCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgsPABDHgICAABCJgICAABoLZgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABC0gICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtYCAgAALIAAQyYCAgAAgACkDCCEBIAApAwBBiggQyoCAgAAgAEEQaiSAgICAACABC0oCAX8BfiOAgICAAEEQayIAJICAgIAAIAAQyYCAgAAgACkDCCEBIAApAwBBiggQyoCAgAAgARCJgICAABogAEEQaiSAgICAACABC1ABAX8jgICAgABBEGsiASSAgICAACABQQRqELSAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC1gICAAAsgABDOgICAACABQRBqJICAgIAACykAAkAgAKdBAXFFDQAPCyABQfp3aq1CIIZCg4CAgOCAAXwQuYCAgAAAC0IBAX8jgICAgABBEGsiACSAgICAACAAEMyAgIAAAkAgACkDAFANAEKDgICAsIEBELmAgIAAAAsgAEEQaiSAgICAAAuTAQIBfwJ+I4CAgIAAQRBrIgEkgICAgAAgAUEEahC0gICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtYCAgAALQgAhAgJAAkBBARDNgICAACIDQgAQu4CAgABFDQAgA0IAEIeAgIAAIgJC/wGDQs0AUg0BIAAgAjcDCEIBIQILIAAgAjcDACABQRBqJICAgIAADwsAC5IBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQAJAIABBAXFFDQAgAUG5isCAAEEMENCAgIAAIAEoAgANAiABIAEpAwgQ0YCAgAAMAQsgAUG0isCAAEEFENCAgIAAIAEoAgANASABIAEpAwgQ0YCAgAALIAEpAwghAiABKQMAUA0BCwALIAFBEGokgICAgAAgAgtNAQJ+QgAhAQJAAkBBABDNgICAACICQgIQu4CAgABFDQAgAkICEIeAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAtgAgF/AX4jgICAgABBEGsiACSAgICAACAAQcODwIAAQQcQ0ICAgAACQAJAIAAoAgANACAAIAApAwgQ0YCAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQzoGAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBEKqAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC10CAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDEDcDGCACIAEpAwg3AxAgAiABKQMANwMIIAJBCGpBAxCqgICAACEDIABCADcDACAAIAM3AwggAkEgaiSAgICAAAtgAgF/AX4jgICAgABBEGsiACSAgICAACAAQbCBwIAAQQYQ0ICAgAACQAJAIAAoAgANACAAIAApAwgQ0YCAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQdeBwIAAQQgQ0ICAgAAgASgCAA0CIAEgASkDCBDRgICAAAwBCyABQdCBwIAAQQcQ0ICAgAAgASgCAA0BIAEgASkDCBDRgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC0gBAX8jgICAgABBEGsiAySAgICAACADIAI3AwggAyABNwMAIANBAhCqgICAACECIABCADcDACAAIAI3AwggA0EQaiSAgICAAAseAAJAIACnQQFxRQ0ADwtCg4CAgJD6ARC5gICAAAAL7gUDAX8FfgN/I4CAgIAAQdAAayIFJICAgIAAIAIpAzAiBhCFgICAACEHIAVBEGoQ2ICAgAACQAJAAkACQCAFKQMQIgggBSkDGCIJhFANACACKQMgIQoCQCADIARCgICAgICAgICAf4WEQgBSDQAgCCAJg0J/UQ0BCyAFIAMgBCAIIAkQ1oGAgAAgBSkDCEIBWQ0BIAUpAwAhBAJAAkAgB0L/////D1YNACAFIAQ3AzggBSAKNwMwQgAhBiAFQgA3AxAgBUEgaiELQQEhDAwBCyAFQRBqIAEQioCAgABBBBC4gICAACIDQgRChICAgMAAEIuAgIAAENmAgIAAIAUoAhBBAUYNBCAFKQMYIQggBUEANgJAIAggBUHAAGpBBBDagICAACAFKAJAIgtB////B3ENAwJAAkACQCALQRh2DgIAAQYLIAVBwABqIANChICAgMAAQoSAgICAARCLgICAABDZgICAACAFKAJAQQFGDQYgBSkDSCEIIAVBADYCQCAIIAVBwABqQQQQ2oCAgAAgBSgCQA0FIAVBwABqIANChICAgIABQoSAgICABRCLgICAABDbgICAACAFKAJAQQFHDQEMBgsgBUHAAGogA0KEgICAwABChICAgMAEEIuAgIAAENuAgIAAIAUoAkBBAUYNBQsgBSkDSCEDIAVBKGohCyAFIAQ3AzggBSAKNwMwIAVCATcDICAFIAM3AxggBUIBNwMQQQIhDAsgCyAGNwMAIAVBEGoQ3ICAgAAhCyAFEIiAgIAANwNAIAVBwABqIAoQ3YCAgAAgBBDegICAACENAkACQCALDQAgDSkDACEEDAELIAdC/////w9YDQMgDSADEN2AgIAAIQsgBSgCIEUNAyALKQMAIAUpAygQhoCAgAAhBAsgACACKAJAIAwgAkEoahCzgICAADcDCCAAIAQ3AwAgBUHQAGokgICAgAAPCxDfgICAAAALQoOAgICg9wIQuYCAgAAACxDDgICAAAALAAuBAQIBfwF+I4CAgIAAQSBrIgEkgICAgAACQAJAQQAQ4ICAgAAiAkICELuAgIAARQ0AIAEgAkICEIeAgIAAEOGAgIAAIAEoAgBBAUcNAQALQoOAgICQ9wIQuYCAgAAACyABKQMQIQIgACABKQMYNwMIIAAgAjcDACABQSBqJICAgIAACzYBAX5CASECAkAgARCFgICAAEKAgICAcINCgICAgMAAUg0AIAAgATcDCEIAIQILIAAgAjcDAAsfACAAQgQgAa1CIIZCBIQgAq1CIIZCBIQQlICAgAAaCzYBAX5CASECAkAgARCFgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAszAQF/QQAhAQJAIAApAwBQDQAgACgCEEEBRw0AIAApAxgQhYCAgABC/////w9WIQELIAELwgEBBH8jgICAgABBwABrIgIkgICAgAAgAkEgakEYaiIDQgA3AwAgAkEgakEQaiIEQgA3AwAgAkEgakEIaiIFQgA3AwAgAkIANwMgIAEgAkEgakEgENqAgIAAIAJBGGogAykDADcDACACQRBqIAQpAwA3AwAgAkEIaiAFKQMANwMAIAIgAikDIDcDACAAKQMAIQEgACABIAEQhYCAgABCgICAgHCDQgSEIAJBIBCzgYCAADcDACACQcAAaiSAgICAACAAC6cBAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABQjiGIAFCgP4Dg0IohoQgAUKAgPwHg0IYhiABQoCAgPgPg0IIhoSEIAFCCIhCgICA+A+DIAFCGIhCgID8B4OEIAFCKIhCgP4DgyABQjiIhISENwMIIAApAwAhASAAIAEgARCFgICAAEKAgICAcINCBIQgAkEIakEIELOBgIAANwMAIAJBEGokgICAgAAgAAsJABDNgYCAAAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQcWHwIAAQQUQ0ICAgAAgASgCAA0CIAEgASkDCBDRgICAAAwBCyABQbCHwIAAQRUQ0ICAgAAgASgCAA0BIAEgASkDCBDRgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQl4CAgAAhAyABEJiAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMAC0cBAX4CQAJAQQEQ4ICAgAAiAEICELuAgIAARQ0AIABCAhCHgICAACIAQv8Bg0LNAFENAQALQoOAgICQ9wIQuYCAgAAACyAAC1QCAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQtICAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELWAgIAACxDigICAACEBIABBEGokgICAgAAgAQsdAAJAEOWAgIAADQAPC0KDgICA4IQDELmAgIAAAAtFAgF/AX5BACEAAkAQ04CAgAAiAUICELuAgIAARQ0AQQEhAAJAAkAgAUICEIeAgIAAp0H/AXEOAgECAAsAC0EAIQALIAALuAIEAX8CfgF/BH4jgICAgABB8ABrIgQkgICAgAACQAJAAkACQCAAIAEQ54CAgABFDQAgACABEOiAgIAAIARBMGogACABEOmAgIAAIAQoAjBBAXFFDQJCACEFQgAhBgJAIAQgBEHAAGpBMBDagYCAACIHKQMAIgggBykDECIJViAHKQMIIgogBykDGCILVSAKIAtRG0UNACAKIAuFIAogCiALfSAIIAlUrX0iBoWDQgBTDQIgCCAJfSEFCyACIAVWIAMgBlUgAyAGURsNAyALIAOFQn+FIAsgCyADfCAJIAJ8IgMgCVStfCIChYNCAFMNASAHIAM3AxAgByACNwMYIAAgASAHEOqAgIAACyAEQfAAaiSAgICAAA8LEN+AgIAAAAsQw4CAgAAAC0KDgICAgIYDELmAgIAAAAtlAQJ/I4CAgIAAQRBrIgIkgICAgAACQCABIAAQsICAgABCARC7gICAACIDRQ0AIAJBBGoQvICAgAAgAigCBEEBRw0AIAEgACACKAIIIAIoAgwQr4CAgAALIAJBEGokgICAgAAgAwuZAQIBfwJ+I4CAgIAAQfAAayICJICAgIAAIAJBMGogACABEOyAgIAAIAIpAzghAyACKQMwIQQgAkEwaiAAIAEQ6YCAgAACQCACKAIwQQFxDQAQw4CAgAAACyACIAJBwABqQTAQ2oGAgAAiAiADNwMYIAIgBDcDECACEO2AgIAANwMoIAAgASACEOqAgIAAIAJB8ABqJICAgIAAC5oDBAF/AX4BfwV+I4CAgIAAQcAAayIDJICAgIAAAkACQAJAIAIgARCwgICAACIEQgEQu4CAgABFDQAgBEIBEIeAgIAAIQRBACEFAkADQCAFQSBGDQEgAyAFakICNwMAIAVBCGohBQwACwsCQCAEQv8Bg0LMAFINACAEQaiCwIAAQQQgA0EEEPWAgIAAIANBIGogAykDABDhgICAACADKAIgQQFGDQAgAykDOCEEIAMpAzAhBiADQSBqIAMpAwgQ74CAgAAgAygCIA0AIAMpAyghByADQSBqIAMpAxAQ4YCAgAAgAygCIEEBRg0AIAMpAzghCCADKQMwIQkgA0EgaiADKQMYEO+AgIAAIAMoAiBBAUcNAgsACyAAQgA3AwggAEIANwMADAELIAMpAyghCiAAIAY3AyAgACAJNwMQIABCADcDCCAAQgE3AwAgACAHNwM4IAAgCjcDMCAAIAQ3AyggACAINwMYIANBIGoQvICAgAAgAygCIEUNACACIAEgAygCJCADKAIoEK+AgIAACyADQcAAaiSAgICAAAuWAgIBfwR+I4CAgIAAQTBrIgMkgICAgAAgASAAELCAgIAAIQQgA0EgaiACKQMQIAIpAxgQ9oCAgAACQCADKAIgDQAgAykDKCEFIANBIGogAikDKBD3gICAACADKAIgDQAgAykDKCEGIANBIGogAikDACACKQMIEPaAgIAAIAMoAiANACADKQMoIQcgA0EgaiACKQMgEPeAgIAAIAMoAiBBAUYNACADIAMpAyg3AxggAyAHNwMQIAMgBjcDCCADIAU3AwAgBEGogsCAAEEEIANBBBD4gICAAEIBEISAgIAAGiADELyAgIAAAkAgAygCAEEBRw0AIAEgACADKAIEIAMoAggQr4CAgAALIANBMGokgICAgAAPCwAL5gEEAX8CfgF/An4jgICAgABB8ABrIgQkgICAgAACQAJAAkAgACABEOeAgIAARQ0AIAAgARDogICAACAEQTBqIAAgARDpgICAACAEKAIwQQFxRQ0BQgAhBUIAIQYCQCACIAQgBEHAAGpBMBDagYCAACIHKQMQIghUIAMgBykDGCIJUyADIAlRG0UNACAJIAOFIAkgCSADfSAIIAJUrX0iBoWDQgBTDQMgCCACfSEFCyAHIAU3AxAgByAGNwMYIAAgASAHEOqAgIAACyAEQfAAaiSAgICAAA8LEMOAgIAAAAsQ34CAgAAAC80CAgF/B34jgICAgABB8ABrIgMkgICAgABCACEEQgAhBQJAAkACQAJAIAEgAhDngICAAEUNACADQTBqIAEgAhDpgICAACADKAIwQQFxRQ0CIAMpA1ghBiADKQNQIQcgAykDSCEEIAMpA0AhCCADKQNgIQkgAykDaCEFEO2AgIAAIgogBVQNAyADQQA2AiwgA0EQaiAKIAV9QgAgCCAEIANBLGoQ04GAgAAgAygCLA0BIAlQDQFCACEEIAMgAykDECADKQMYIAlCABDWgYCAAEIAIQUgAykDACIIIAdaIAMpAwgiCSAGWSAJIAZRGw0AIAYgCYUgBiAGIAl9IAcgCFStfSIFhYNCAFMNASAHIAh9IQQLIAAgBDcDACAAIAU3AwggA0HwAGokgICAgAAPCxDfgICAAAALEMOAgIAAAAtCg4CAgJCGAxC5gICAAAALPQIBfgF/AkAQoICAgAAiAKdB/wFxIgFBBkYNAAJAIAFBwABHDQAgABCTgICAAA8LEN+AgIAAAAsgAEIIiAtqAgF/An4jgICAgABBEGsiACSAgICAAEIAIQECQAJAQQAgABCugICAACICQgIQu4CAgABFDQAgACACQgIQh4CAgAAQ74CAgAAgACgCAEEBRg0BIAApAwghAQsgAEEQaiSAgICAACABDwsAC10CAX8BfgJAAkAgAadB/wFxIgJBwABGDQACQCACQQZGDQBCASEDQoOQgICAASEBDAILIAFCCIghAUIAIQMMAQtCACEDIAEQk4CAgAAhAQsgACADNwMAIAAgATcDCAufAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkBBASABEK6AgIAAIgNCARC7gICAAEUNACACIANCARCHgICAABDvgICAACACKAIAQQFHDQEACyAAQgA3AwAMAQsgAikDCCEDIABCATcDACAAIAM3AwggAhC8gICAACACKAIARQ0AIAEgAigCBCACKAIIEK2AgIAACyACQRBqJICAgIAAC2MBAn8jgICAgABBEGsiASSAgICAAAJAQQEgABCugICAAEIBELuAgIAAIgJFDQAgAUEEahC8gICAACABKAIEQQFHDQAgACABKAIIIAEoAgwQrYCAgAALIAFBEGokgICAgAAgAgtPAQJ+QgAhAQJAAkBBAiAAEK6AgIAAIgJCAhC7gICAAEUNACACQgIQh4CAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsAC4cBAgF/AX4jgICAgABBEGsiASSAgICAACABELSAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC1gICAAAsCQAJAAkAgABDxgICAAA0AEO6AgIAAIQIMAQsgASAAEPCAgIAAIAEoAgBFDQEgASkDCCECCyABQRBqJICAgIAAIAIPCxDDgICAAAALUgECfyOAgICAAEEQayIAJICAgIAAIABBBGoQtICAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELWAgIAACxDlgICAACEBIABBEGokgICAgAAgAQsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQnYCAgAAaC1sAAkACQCABQoCAgICAgIDAAHxC//////////8AVg0AIAEgAYUgAiABQj+HhYRCAFINACABQgiGQguEIQEMAQsgAiABEJmAgIAAIQELIABCADcDACAAIAE3AwgLOwACQAJAIAFC//////////8AVg0AIAFCCIZCBoQhAQwBCyABEJKAgIAAIQELIABCADcDACAAIAE3AwgLLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBCcgICAAAuKAgIBfwZ+I4CAgIAAQcAAayIDJICAgIAAIAMQtICAgAACQCADKAIAQQFHDQAgAygCBCADKAIIELWAgIAACwJAAkACQAJAIAEgAhDngICAAA0AQv///////////wAhBEJ/IQUMAQsgAyABIAIQ6YCAgAAgAygCAEEBcUUNAiADKQMQIQYgAykDGCEHIAMgASACEOyAgIAAQgAhBUIAIQQgBiADKQMAIghWIAcgAykDCCIJVSAHIAlRG0UNACAHIAmFIAcgByAJfSAGIAhUrX0iBIWDQgBTDQEgBiAIfSEFCyAAIAU3AwAgACAENwMIIANBwABqJICAgIAADwsQ34CAgAAACxDDgICAAAALkwQCAX8FfiOAgICAAEHwAGsiBiSAgICAABDkgICAACAGQeAAahDYgICAACAGKQNoIQcgBikDYCEIAkACQAJAAkACQAJAIAUQ8YCAgAANABDugICAACEJDAELIAZB4ABqIAUQ8ICAgAAgBigCYEUNASAGKQNoIQkLAkACQCAJUEUNAEIAIQpCACEJDAELIAZB4ABqEPKAgIAAIAYoAmBFDQIgBkEANgJcIAZBwABqIAEgAiAJQgAgBkHcAGoQ04GAgAAgBigCXA0DIAZBMGogBikDQCAGKQNIQpDOAEIAENaBgIAAIAYpAzghCSAGKQMwIQoLIAIgCYUgAiACIAl9IAEgClStfSILhYNCAFMNAiAIIAeEUA0CAkAgASAKfSICIAtCgICA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gAAgAikDACACKQMIEKmAgIAAIQEgAkEQaiSAgICAACABDwsAC2cBAn8jgICAgABBEGsiAiSAgICAAAJAIAAQpoCAgABB/wFxIgNBAkYNACABQv8Bg0IEUg0AIAIgAyABQiCIpxD5gICAACACKQMAIAIpAwgQqYCAgAAhASACQRBqJICAgIAAIAEPCwAL8wECAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABDvgICAAAJAAkACQCABKAIAQQFGDQAgASkDCCEAEMaAgIAAIAEQtICAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELWAgIAACyAAQpHOAFoNARDugICAACAAUQ0CQQAgASAAQgIQsYCAgABBpIDAgABBExD8gICAABD9gICAACECIAEgABCygICAADcDACACQcCAwIAAQQEgAUEBEPiAgIAAEIyAgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgIDAgwMQuYCAgAAAC0KDgICA8IMDELmAgIAAAAvdAgICfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQCAAQv8Bg0IEUg0AIAIgARDvgICAACACKAIAQQFGDQAgAikDCCEBEMaAgIAAIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAACyABQpHOAFoNASAAQiCIpyIDEPGAgIAARQ0DIAIgAxDwgICAACACKAIARQ0CIAIpAwggAVINA0KDgICA8IMDELmAgIAACwALQoOAgIDAgwMQuYCAgAAACxDDgICAAAALQQEgAyABQgEQsYCAgAAgAhC8gICAAAJAIAIoAgBBAUcNACADIAIoAgQgAigCCBCtgICAAAtByIDAgABBCxD8gICAABD9gICAACEEIAIgARCygICAADcDCCACIABChICAgHCDNwMAIARB1IDAgABBAiACQQIQ+ICAgAAQjICAgAAaIAJBEGokgICAgABCAgvWAQICfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAIABC/wGDQgRSDQAgAEIgiKchAhDGgICAACABELSAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC1gICAAAsgAhDxgICAAEUNAUEBIAIQroCAgABCARCNgICAABpB5IDAgABBDRD8gICAABD9gICAACEDIAEgAEKEgICAcIM3AwAgA0H0gMCA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AiggASgCLBC9gICAAAsgA0IBfCEDDAALC0HvhcCAAEETEPyAgIAAEP2AgIAAIQMgASAANwMIIANBmIbAgABBASABQQhqQQEQ+ICAgAAQjICAgAAaIAFBMGokgICAgABCAg8LAAsQ34CAgAAAC2kBAX8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACACQv8Bg0LIAFINACADIAI3AwggAEIgiKcgAUIgiKcgA0EIahCzgICAACEAIANBEGokgICAgAAgAA8LAAubAQICfwF+I4CAgIAAQSBrIgEkgICAgAAgASAAEKuBgIAAAkAgASgCAEEBRg0AIAEoAhghAiABKQMIIQMgARC0gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtYCAgAALIAEgAhC+gICAAEIAIQACQCABKAIAQQFHDQAgASkDCCADEIaBgIAArSEACyABQSBqJICAgIAAIAAPCwAL4gECAn8CfiOAgICAAEEwayICJICAgIAAQQAhAwJAA0AgA0EYRg0BIAJBCGogA2pCAjcDACADQQhqIQMMAAsLQgEhBAJAIAFC/wGDQswAUg0AIAFBmITAgABBAyACQQhqQQMQ9YCAgAAgAkEgaiACKQMIEO+AgIAAIAIoAiANACACKQMoIQEgAkEgaiACKQMQEMCAgIAAIAIoAiANACACKQMYIgVC/wGDQgRSDQAgAikDKCEEIAAgATcDECAAIAQ3AwggACAFQiCIPgIYQgAhBAsgACAENwMAIAJBMGokgICAgAALdQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCBFINACACIAEQwICAgAAgAigCAEEBRg0AIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAAC0IAELKAgIAAIQAgAkEQaiSAgICAACAADwsAC7oPBAJ/A34BfwF+I4CAgIAAQbABayIGJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAZBIGogARCrgYCAACAGKAIgQQFGDQAgBigCOCEHIAYpAzAhCCAGKQMoIQEgBkEgaiACEMCAgIAAIAYoAiBBAUYNACADQv8Bg0LIAFINACAGKQMoIQkgBiADNwMYIARC/wGDQsgAUg0AIAZBIGogBRDhgICAACAGKAIgQQFGDQAgBikDOCEC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AwF/AX4CfyOAgICAAEHAAGsiASSAgICAAAJAAkAgAEEgEK+BgIAAIgIQhYCAgABCgICAgHCDQoCAgICABFINACABQSBqQRhqIgBCADcDACABQSBqQRBqIgNCADcDACABQSBqQQhqIgRCADcDACABQgA3AyAgAhCFgICAAEKAgICAcINCgICAgIAEUg0BIAIgAUEgakEgENqAgIAAIAFBGGogACkDADcDACABQRBqIAMpAwA3AwAgAUEIaiAEKQMANwMAIAEgASkDIDcDACABQSAQkIGAgAAhAiABQcAAaiSAgICAACACDwtCg4CAgICCARC5gICAAAALELKBgIAAAAt1AgJ/AX4CQAJAIAAoAgQiAiABaiIBIAJJDQAgASAAKAIAIgMpAwAQhYCAgABCIIinSw0BIAMpAwAgAq1CIIZCBIQgAa1CIIZCBIQQi4CAgAAhBCAAIAE2AgQgBA8LEN+AgIAAAAtCg4CAgID9ABC5gICAAAALJwEBfwJAIAAQhYCAgABCIIinIgIgAUkNACACIAFrDwsQ34CAgAAAC0YBAX8CQEGcicCAAEGQicCAACAAp0EBcSICG0EIQQwgAhsQkIGAgAAgARCGgICAABCfgICAACIAQv8Bg0LNAFENAAALIAALCQAQ34CAgAAACx4AIAAgASACrUIghkIEhCADrUIghkIEhBCbgICAAAuJAQECfyOAgICAAEEgayIDJICAgIAAIAMgABCrgYCAAAJAIAMoAgBBAUYNACABQv8Bg0LIAFINACACQv8Bg0LNAFINACADELSAgIAAAkAgAygCAEEBRw0AIAMoAgQgAygCCBC1gICAAAsQj4CAgAAgAhCGgYCAACEEIANBIGokgICAgAAgBK0PCwALogECAX8BfiOAgICAAEEgayIAJICAgIAAIABBEGoQtICAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELWAgIAACyAAQRBqQgEQ94CAgAACQAJAIAAoAhANACAAKQMYIQEgAEEQakIBEPeAgIAAIAAoAhBBAUcNAQsACyAAIAApAxg3AwggACABNwMAIABBAhCqgICAACEBIABBIGokgICAgAAgAQsIABDCgICAAAtRAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgASAAQiCIpxC+gICAACABKQMAIAEpAwgQuIGAgAAhACABQRBqJICAgIAAIAALDQAgAUICIACnQQFxGwu6AgQBfwF+AX8BfiOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCBFINAAJAAkAgAUICUg0AQgAhAQwBCyACIAEQwICAgAAgAigCAEEBRg0BIAIpAwghA0IBIQELEMaAgIAAIAIQtICAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELWAgIAAC0EBIABCIIinIgQQv4CAgAAhBQJAAkAgAVANACAFIANCARCEgICAABogAhC8gICAACACKAIAQQFHDQEgBCACKAIEIAIoAggQwYCAgAAMAQsgBUIBEI2AgIAAGgtCjvKqvPDWqusAEP2AgIAAIQUgAiABIAMQuIGAgAA3AwggAiAAQoSAgIBwgzcDACAFQaiFwIAAQQIgAkECEPiAgIAAEIyAgIAAGiACQRBqJICAgIAAQgIPCwALhwECAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABCfgYCAAAJAIAEpAwAiAEICUQ0AIAEpAwghAhDGgICAACABELSAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC1gICAAAsQwoCAgAAQj4CAgAAgACACEKSBgIAAIAFBEGokgICAgABCAg8LAAveBAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQvIGAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARC8gYCAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGCACQShqELSAgIAAAkAgAigCKEEBRw0AIAIoAiwgAigCMBC1gICAAAsQxoCAgAACQAJAAkAQxICAgAANABC9gYCAACIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABC5gICAAAALQoOAgIDA/wAQuYCAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBChgYCAAAwBC0EBEMWAgIAAQgIQjYCAgAAaCwJAAkAgAigCGEEBRw0AIAIoAhwgAigCIBCigYCAAAwBC0ECEMWAgIAAQgIQjYCAgAAaCyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRB4IrAgABBDxD8gICAABD9gICAACEAIAJBKGoQvoGAgAAhASACIAJBNGoQvoGAgAA3A0ggAiABNwNAIABBhIvAgABBAiACQcAAakECEPiAgIAAEIyAgIAAGiACQdAAaiSAgICAAEICDwsAC2gBAX8jgICAgABBEGsiAiSAgICAAAJAAkAgAUICUQ0AIAJBBGogARDPgYCAAAJAIAIoAgRFDQAgAEECNgIADAILIAAgAikCCDcCBCAAQQE2AgAMAQsgAEEANgIACyACQRBqJICAgIAACzMBAn4QoYCAgAAhAAJAEKKAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEN+AgIAAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQwIGAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC8IBAgJ/AX4jgICAgABBwABrIgAkgICAgAAgAEEIahC0gICAAAJAIAAoAghBAUcNACAAKAIMIAAoAhAQtYCAgAALIABBCGoQtICAgAAgAEEUaiIBELyAgIAAIABBMGogAEEIahDAgYCAAAJAAkAgACgCMA0AIAApAzghAiAAQTBqIAEQwIGAgAAgACgCMEEBRw0BCwALIAAgACkDODcDKCAAIAI3AyAgAEEgakECEKqAgIAAIQIgAEHAAGokgICAgAAgAgswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBDQgYCAAA8LIABCADcDACAAQgI3AwgLqgEBAX8jgICAgABBIGsiACSAgICAACAAQQxqELSAgIAAAkAgACgCDEEBRw0AIAAoAhAgACgCFBC1gICAAAsQxoCAgAACQBDEgICAAEUNAEKDgICA4P8AELmAgIAAAAtBABDFgICAAEIBQgIQhICAgAAaQZSLwIAAQRIQ/ICAgAAQ/YCAgABBBEEAIABBGGpBABD4gICAABCMgICAABogAEEgaiSAgICAAEICCwkAEMSAgIAArQsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxC1gICAAEICDwsACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQyYCAgAAgACkDACAAKQMIELiBgIAAIQEgAEEQaiSAgICAACABCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQzICAgAAgACkDACAAKQMIELiBgIAAIQEgAEEQaiSAgICAACABC30CAX8BfiOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCzQBSDQAgAUEEahC0gICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtYCAgAALEMiAgIAAIQIQy4CAgAAgABCjgYCAACACIAAQx4GAgAAgAUEQaiSAgICAAEICDwsAC2ECAX8BfiOAgICAAEEQayICJICAgIAAQa2JwIAAQRUQ/ICAgAAQ/YCAgAAhAyACIAA3AwggAiABNwMAIANB1InAgABBAiACQQIQ+ICAgAAQjICAgAAaIAJBEGokgICAgAAL3AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEIahC0gICAAAJAIAIoAghBAUcNACACKAIMIAIoAhAQtYCAgAALEMiAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahDMgICAACACKQMQIQEgAikDCEGICBDKgICAACABIAAQhoGAgABFDQMQyYGAgAAMAQsQvYGAgAAgAUIgiKdJDQNBASAAQgAQyoGAgABBARDNgICAAEIAIAFChICAgHCDIgEgARCDgICAABpB5InAgABBFhD8gICAABD9gICAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARBgIrAgABBAyACQQhqQQMQ+ICAgAAQjICAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDggAEQuYCAgAAAC0KDgICA8IABELmAgIAAAAsTAEEBEM2AgIAAQgAQjYCAgAAaCxUAIAAQzYCAgAAgASACEISAgIAAGgunAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABC0gICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtYCAgAALIAAQzICAgAAgACkDCCEBIAApAwBBiAgQyoCAgAAgARCJgICAABogABDOgICAAAJAIAAoAgANABDDgICAAAALIAApAwghAhDJgYCAACABEKOBgIAAIAIgARDHgYCAACAAQRBq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BCANfSEBIAYgDCALfEJ/fCIMIAtUrXwhBgwKCyAFQYABaiAMIAqAIgxCACAIIAlrIggQ1IGAgAAgBUHwAGogAyAEIAxCABDbgYCAACAFQeAAaiAFKQNwIAUpA3ggCBDUgYCAACAFKQOIASAGfCAFKQOAASIGIAt8IgsgBlStfCEGIAcgAiAFKQNofSABIAUpA2AiDFStfSICeSABIAx9IgF5QsAAfCACQgBSG6ciCE0NASAIQT9NDQALIANQRQ0BDAILIAEgA1QiCCACIARUIAIgBFEbRQ0CIAshDAwHCyABIAOAIQILIAEgA4IhASAGIAsgAnwiDCALVK18IQZCACECDAULIAIgBH0gCK19IQIgASADfSEBIAYgC0IBfCIMUK18IQYMBAsgAiAEQgAgASADWiACIARaIAIgBFEbIggbfSABIANCACAIGyIEVK19IQIgASAEfSEBIAitIQwMAwsgASABIAOAIgwgA359IQFCACEGQgAhAgwCCyACIAIgA0L/////D4MiBIAiBiADfn1CIIYgAUIgiCIMhCAEgCICQiCGIAwgAiADfn1CIIYgAUL/////D4OEIgEgBIAiA4QhDCABIAMgBH59IQEgAkIgiCAGhCEGQgAhAgwBCyAFQTBqIAMgBEHAACAIayIIENeBgIAAIAVBIGogASACIAgQ14GAgABCACEGIAVBEGogA0IAIAUpAyAgBSkDMIAiDEIAENuBgIAAIAUgBEIAIAxCABDbgYCAACAFKQMQIQoCQAJAIAUpAwggBSkDGCINIAUpAwB8IgsgDVStfEIAUg0AIAEgClQiCCACIAtUIAIgC1EbRQ0BCyAEIAJ8IAMgAXwiASADVK18IAt9IAEgClStfSECIAxCf3whDCABIAp9IQEMAQsgAiALfSAIrX0hAiABIAp9IQFCACEGCyAAIAE3AxAgACAMNwMAIAAgAjcDGCAAIAY3AwggBUGwAWokgICAgAALoQEBAn8jgICAgABBIGsiBSSAgICAACAFQgAgAX0gASACQgBTIgYbQgAgAiABQgBSrXx9IAIgBhtCACADfSADIARCAFMiBhtCACAEIANCAFKtfH0gBCAGGxDVgYCAACAFKQMIIQMgAEIAIAUpAwAiAX0gASAEIAKFQgBTIgYbNwMAIABCACADIAFCAFKtfH0gAyAGGzcDCCAFQSBqJICA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AAAAEQIQAAYAAACEAxAABwAAAG5hdGl2ZV9mZWV6cm9fZmVlAAAAMAIQAAoAAAA6AhAABwAAAGZlZQBUAhAAAwAAAEsDEAAEAAAADAIQAAUAAABuYXRpdmVfdG9rZW5zZXRfZGVsZWdhdGVzZW5kX2NvbXBvc2VFbmRwb2ludFBlZXJlaWRwZWVyAKACEAADAAAAowIQAAQAAABtc2dfdHlwZW9wdGlvbnMAoAIQAAMAAAC4AhAACAAAAMACEAAHAAAARW5mb3JjZWRPcHRpb25zZW5mb3JjZWRfb3B0aW9uX3NldGVuZm9yY2VkX29wdGlvbl9wYXJhbXMCAxAAFgAAAGFtb3VudF9yZWNlaXZlZF9sZGFtb3VudF9zZW50X2xkZHN0X2VpZGZyb21ndWlkACADEAASAAAAMgMQAA4AAABAAxAABwAAAEcDEAAEAAAASwMQAAQAAABvZnRfcmVjZWl2ZWRzcmNfZWlkdG8AAAAgAxAAEgAAAEsDEAAEAAAAhAMQAAcAAACLAxAAAgAAAERlY2ltYWxDb252ZXJzaW9uUmF0ZVRva2VuYW1vdW50X2xkY29tcG9zZV9tc2dleHRyYV9vcHRpb25zbWluX2Ftb3VudF9sZG9mdF9jbWQAygMQAAkAAADTAxAACwAAAEADEAAHAAAA3gMQAA0AAADrAxAADQAAAPgDEAAHAAAAiwMQAAIAAABtYXhfYW1vdW50X2xkAAAAOAQQAA0AAADrAxAADQAAACADEAASAAAAMgMQAA4AAABkZXNjcmlwdGlvbmZlZV9hbW91bnRfbGRoBBAACwAAAHMEEAANAAAAAAAAEgAAAAAAAAAAAAAAEgAAAAF0aHJlc2hvbGRvd25lcnNoaXBfdHJhbnNmZXJyZWRuZXdfb3duZXJvbGRfb3duZXLCBBAACQAAAMsEEAAJAAAAb3duZXJzaGlwX3RyYW5zZmVycmluZ3R0bAAAAMIEEAAJAAAAywQQAAkAAAD6BBAAAwAAAG93bmVyc2hpcF9yZW5vdW5jZWQAywQQAAkAAABPd25lclBlbmRpbmdPd25lcmV4dGVuZF90bwAARQUQAAkAAACkBBAACQAAAHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAG8FEAAIAAAAdwUQAAoAAAB0dGxfY29uZmlnc19m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cyB1c2VkIGZvciBjcm9zcy1jaGFpbiBub3JtYWxpemF0aW9uLgAAAAAAAA9zaGFyZWRfZGVjaW1hbHMAAAAAAAAAAAEAAAAEAAAAAAAAAElSZXRyaWV2ZXMgdGhlIGRlY2ltYWwgY29udmVyc2lvbiByYXRlIHVzZWQgZm9yIGNyb3NzLWNoYWluIG5vcm1hbGl6YXRpb24uAAAAAAAAF2RlY2ltYWxfY29udmVyc2lvbl9yYXRlAAAAAAAAAAABAAAACwAAAAAAAADqV2hldGhlciBhIHNlcGFyYXRlIHRva2VuIGFwcHJvdmFsIGlzIHJlcXVpcmVkIGJlZm9yZSBzZW5kaW5nLgoKSGVscHMgd2FsbGV0IGltcGxlbWVudGVycyBkZXRlcm1pbmUgaW50ZWdyYXRpb24gcmVxdWlyZW1lbnRzLgoKIyBSZXR1cm5zCi0gYHRydWVgIGlmIGEgc2VwYXJhdGUgdG9rZW4gYXBwcm92YWwgc3RlcCBpcyByZXF1aXJlZAotIGBmYWxzZWAgaWYgbm8gc2VwYXJhdGUgYXBwcm92YWwgaXMgbmVlZGVkAAAAAAARYXBwcm92YWxfcmVxdWlyZWQAAAAAAAAAAAAAAQAAAAEAAAAAAAAAO1F1b3RlcyBhIHNlbmQgb3BlcmF0aW9uIGluY2x1ZGluZyBMYXllclplcm8gbWVzc2FnaW5nIGZlZXMuAAAAAApxdW90ZV9zZW5kAAAAAAADAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAKc2VuZF9wYXJhbQAAAAAH0AAAAAlTZW5kUGFyYW0AAAAAAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAABAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAAAAAAAdFNlbmRzIHRva2VucyBjcm9zcy1jaGFpbiB0byBhbm90aGVyIGVuZHBvaW50LgoKRnJvbSBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQuCgojIFJldHVybnMKKE1lc3NhZ2luZ1JlY2VpcHQsIE9GVFJlY2VpcHQpAAAABHNlbmQAAAAEAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAKc2VuZF9wYXJhbQAAAAAH0AAAAAlTZW5kUGFyYW0AAAAAAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAAAAAAAAOcmVmdW5kX2FkZHJlc3MAAAAAABMAAAABAAAD7QAAAAIAAAfQAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAfQAAAACk9GVFJlY2VpcHQAAAAAAAAAAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAAGAAAAAAAAAAV0b2tlbgAAAAAAABMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAIZW5kcG9pbnQAAAATAAAAAAAAAAhkZWxlZ2F0ZQAAA+gAAAATAAAAAAAAAA9zaGFyZWRfZGVjaW1hbHMAAAAABAAAAAAAAAAIb2Z0X3R5cGUAAAfQAAAAB09mdFR5cGUAAAAAAAAAAAAAAABDUmV0dXJucyB0aGUgdHlwZSBvZiBvcGVyYXRpb24gZm9yIHRoaXMgT0ZUIChMb2NrVW5sb2NrIG9yIE1pbnRCdXJuKQAAAAAIb2Z0X3R5cGUAAAAAAAAAAQAAB9AAAAAHT2Z0VHlwZQAAAAAAAAAAAAAAAAphdXRob3JpemVyAAAAAAAAAAAAAQAAABMAAAAAAAAA2VJldHJpZXZlcyB0aGUgZW5mb3JjZWQgb3B0aW9ucyBmb3IgYSBnaXZlbiBlbmRwb2ludCBhbmQgbWVzc2FnZSB0eXBlLgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIFRoZSBlbmRwb2ludCBJRAoqIGBtc2dfdHlwZWAgLSBUaGUgT0FwcCBtZXNzYWdlIHR5cGUKCiMgUmV0dXJucwpUaGUgZW5mb3JjZWQgb3B0aW9ucyBmb3IgdGhlIGdpdmVuIGVuZHBvaW50IGFuZCBtZXNzYWdlIHR5cGUAAAAAAAAQZW5mb3JjZWRfb3B0aW9ucwAAAAIAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAhtc2dfdHlwZQAAAAQAAAABAAAADgAAAAAAAAKbU2V0cyB0aGUgZW5mb3JjZWQgb3B0aW9ucyBmb3Igc3BlY2lmaWMgZW5kcG9pbnQgYW5kIG1lc3NhZ2UgdHlwZSBjb21iaW5hdGlvbnMuCgpPbmx5IHRoZSBgYXV0aG9yaXplcmAgb2YgdGhlIE9BcHAgY2FuIGNhbGwgdGhpcyBmdW5jdGlvbi4KUHJvdmlkZXMgYSB3YXkgZm9yIHRoZSBPQXBwIHRvIGVuZm9yY2UgdGhpbmdzIGxpa2UgcGF5aW5nIGZvciBQcmVDcmltZSwgQU5EL09SIG1pbmltdW0gZHN0IGx6UmVjZWl2ZSBnYXMgYW1vdW50cyBldGMuClRoZXNlIGVuZm9yY2VkIG9wdGlvbnMgY2FuIHZhcnkgYXMgdGhlIHBvdGVudGlhbCBvcHRpb25zL2V4ZWN1dGlvbiBvbiB0aGUgcmVtb3RlIG1heSBkaWZmZXIgYXMgcGVyIHRoZSBtc2dfdHlwZS4KZS5nLiBBbW91bnQgb2YgbHpSZWNlaXZlKCkgZ2FzIG5lY2Vzc2FyeSB0byBkZWxpdmVyIGEgbHpDb21wb3NlKCkgbWVzc2FnZSBhZGRzIG92ZXJoZWFkIHlvdSBkb24ndCB3YW50IHRvIHBheQppZiB5b3UgYXJlIG9ubHkgbWFraW5nIGEgc3RhbmRhcmQgTGF5ZXJaZXJvIG1lc3NhZ2UgaWUuIGx6UmVjZWl2ZSgpIFdJVEhPVVQgc2VuZENvbXBvc2UoKS4KCiMgQXJndW1lbnRzCiogYG9wdGlvbnNgIC0gQSB2ZWN0b3Igb2YgRW5mb3JjZWRPcHRpb25QYXJhbSBzdHJ1Y3R1cmVzIHNwZWNpZnlpbmcgZW5mb3JjZWQgb3B0aW9ucwAAAAAUc2V0X2VuZm9yY2VkX29wdGlvbnMAAAABAAAAAAAAAAdvcHRpb25zAAAAA+oAAAfQAAAAE0VuZm9yY2VkT3B0aW9uUGFyYW0AAAAAAAAAAAAAAAJ6Q29tYmluZXMgb3B0aW9ucyBmb3IgYSBnaXZlbiBlbmRwb2ludCBhbmQgbWVzc2FnZSB0eXBlLgoKSWYgdGhlcmUgaXMgYW4gZW5mb3JjZWQgbHpSZWNlaXZlIG9wdGlvbjoKLSB7Z2FzX2xpbWl0OiAyMDBrLCB2YWx1ZTogMSBYTE19IEFORCBhIGNhbGxlciBzdXBwbGllcyBhIGx6UmVjZWl2ZSBvcHRpb246IHtnYXNfbGltaXQ6IDEwMGssIHZhbHVlOiAwLjUgWExNfQotIFRoZSByZXN1bHRpbmcgb3B0aW9ucyB3aWxsIGJlIHtnYXNfbGltaXQ6IDMwMGssIHZhbHVlOiAxLjUgWExNfSB3aGVuIHRoZSBtZXNzYWdlIGlzIGV4ZWN1dGVkIG9uIHRoZSByZW1vdGUgbHpfcmVjZWl2ZSgpIGZ1bmN0aW9uLgpUaGUgcHJlc2VuY2Ugb2YgZHVwbGljYXRlZCBvcHRpb25zIGlzIGhhbmRsZWQgb2ZmLWNoYWluIGluIHRoZSB2ZXJpZmllci9leGVjdXRvci4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgbXNnX3R5cGVgIC0gVGhlIE9BcHAgbWVzc2FnZSB0eXBlCiogYGV4dHJhX29wdGlvbnNgIC0gQWRkaXRpb25hbCBvcHRpb25zIHBhc3NlZCBieSB0aGUgY2FsbGVyCgojIFJldHVybnMKVGhlIGNvbWJpbmF0aW9uIG9mIGNhbGxlciBzcGVjaWZpZWQgb3B0aW9ucyBBTkQgZW5mb3JjZWQgb3B0aW9ucwAAAAAAD2NvbWJpbmVfb3B0aW9ucwAAAAADAAAAAAAAAANlaWQAAAAABAAAAAAAAAAIbXNnX3R5cGUAAAAEAAAAAAAAAA1leHRyYV9vcHRpb25zAAAAAAAADgAAAAEAAAAOAAAAAAAAALdDaGVja3MgaWYgYSBtZXNzYWdpbmcgcGF0aCBjYW4gYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4uCgojIEFyZ3VtZW50cwoqIGBvcmlnaW5gIC0gVGhlIG9yaWdpbiBvZiB0aGUgbWVzc2FnZQoKIyBSZXR1cm5zClRydWUgaWYgdGhlIHBhdGggY2FuIGJlIGluaXRpYWxpemVkLCBmYWxzZSBvdGhlcndpc2UAAAAAFWFsbG93X2luaXRpYWxpemVfcGF0aAAAAAAAAAEAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAEAAAABAAAAAAAAAfhSZXRyaWV2ZXMgdGhlIG5leHQgbm9uY2UgZm9yIGEgZ2l2ZW4gc291cmNlIGVuZHBvaW50IGFuZCBzZW5kZXIgYWRkcmVzcy4KClRoZSBwYXRoIG5vbmNlIHN0YXJ0cyBmcm9tIDEuIElmIDAgaXMgcmV0dXJuZWQgaXQgbWVhbnMgdGhhdCB0aGVyZSBpcyBOTyBub25jZSBvcmRlcmVkIGVuZm9yY2VtZW50LgpUaGlzIGlzIHJlcXVpcmVkIGJ5IHRoZSBvZmYtY2hhaW4gZXhlY3V0b3IgdG8gZGV0ZXJtaW5lIGlmIHRoZSBPQXBwIGV4cGVjdHMgbWVzc2FnZSBleGVjdXRpb24gdG8gYmUgb3JkZXJlZC4KVGhpcyBpcyBhbHNvIGVuZm9yY2VkIGJ5IHRoZSBPQXBwLgpCeSBkZWZhdWx0IHRoaXMgaXMgTk9UIGVuYWJsZWQsIGkuZS4gbmV4dF9ub25jZSBpcyBoYXJkY29kZWQgdG8gcmV0dXJuIDAuCgojIEFyZ3VtZW50cwoqIGBzcmNfZWlkYCAtIFRoZSBzb3VyY2UgZW5kcG9pbnQgSUQKKiBgc2VuZGVyYCAtIFRoZSBzZW5kZXIgT0FwcCBhZGRyZXNzCgojIFJldHVybnMKVGhlIG5leHQgbm9uY2UAAAAKbmV4dF9ub25jZQAAAAAAAgAAAAAAAAAHc3JjX2VpZAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAAQAAAAYAAAAAAAADI0VudHJ5IHBvaW50IGZvciByZWNlaXZpbmcgbWVzc2FnZXMgb3IgcGFja2V0cyBmcm9tIHRoZSBMYXllclplcm8gZW5kcG9pbnQuCgpUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjYWxscyBgY2xlYXJfcGF5bG9hZF9hbmRfdHJhbnNmZXJgIHRvIHZhbGlkYXRlIHRoZSBtZXNzYWdlCmFuZCBjbGVhciBpdCBmcm9tIHRoZSBlbmRwb2ludCwgdGhlbiBkZWxlZ2F0ZXMgdG8gYF9fbHpfcmVjZWl2ZWAgZm9yIGFwcGxpY2F0aW9uIGxvZ2ljLgoKIyBBcmd1bWVudHMKKiBgZXhlY3V0b3JgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGV4ZWN1dG9yIGZvciB0aGUgcmVjZWl2ZWQgbWVzc2FnZQoqIGBvcmlnaW5gIC0gVGhlIG9yaWdpbiBpbmZvcm1hdGlvbiBjb250YWluaW5nIHRoZSBzb3VyY2UgZW5kcG9pbnQgYW5kIHNlbmRlciBhZGRyZXNzOgotIGBzcmNfZWlkYDogVGhlIHNvdXJjZSBjaGFpbiBlbmRwb2ludCBJRAotIGBzZW5kZXJgOiBUaGUgc2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbgotIGBub25jZWA6IFRoZSBub25jZSBvZiB0aGUgbWVzc2FnZQoqIGBndWlkYCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHJlY2VpdmVkIExheWVyWmVybyBtZXNzYWdlCiogYG1lc3NhZ2VgIC0gVGhlIHBheWxvYWQgb2YgdGhlIHJlY2VpdmVkIG1lc3NhZ2UKKiBgZXh0cmFfZGF0YWAgLSBBZGRpdGlvbmFsIGFyYml0cmFyeSBkYXRhIHByb3ZpZGVkIGJ5IHRoZSBjb3JyZXNwb25kaW5nIGV4ZWN1dG9yCiogYHZhbHVlYCAtIFRoZSBuYXRpdmUgdG9rZW4gdmFsdWUgc2VudCB3aXRoIHRoZSBtZXNzYWdlAAAAAApsel9yZWNlaXZlAAAAAAAGAAAAAAAAAAhleGVjdXRvcgAAABMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAEZ3VpZAAAA+4AAAAgAAAAAAAAAAdtZXNzYWdlAAAAAA4AAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAB7EluZGljYXRlcyB3aGV0aGVyIGFuIGFkZHJlc3MgaXMgYW4gYXBwcm92ZWQgY29tcG9zZU1zZyBzZW5kZXIgdG8gdGhlIEVuZHBvaW50LgoKQXBwbGljYXRpb25zIGNhbiBvcHRpb25hbGx5IGNob29zZSB0byBpbXBsZW1lbnQgc2VwYXJhdGUgY29tcG9zZU1zZyBzZW5kZXJzIHRoYXQgYXJlIE5PVCB0aGUgYnJpZGdpbmcgbGF5ZXIuClRoZSBkZWZhdWx0IHNlbmRlciBJUyB0aGUgT0FwcFJlY2VpdmVyIGltcGxlbWVudGVyLgoKIyBBcmd1bWVudHMKKiBgb3JpZ2luYCAtIFRoZSBvcmlnaW4gaW5mb3JtYXRpb24gY29udGFpbmluZyB0aGUgc291cmNlIGVuZHBvaW50IGFuZCBzZW5kZXIgYWRkcmVzcwoqIGBtZXNzYWdlYCAtIFRoZSBselJlY2VpdmUgcGF5bG9hZAoqIGBzZW5kZXJgIC0gVGhlIHNlbmRlciBhZGRyZXNzIHRvIGNoZWNrCgojIFJldHVybnMKVHJ1ZSBpZiB0aGUgc2VuZGVyIGlzIGEgdmFsaWQgY29tcG9zZU1zZyBzZW5kZXIsIGZhbHNlIG90aGVyd2lzZQAAABVpc19jb21wb3NlX21zZ19zZW5kZXIAAAAAAAADAAAAAAAAAAZvcmlnaW4AAAAAB9AAAAAGT3JpZ2luAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAQAAAAEAAAAAAAAArlJldHJpZXZlcyB0aGUgT0FwcCB2ZXJzaW9uIGluZm9ybWF0aW9uLgoKIyBSZXR1cm5zCkEgdHVwbGUgY29udGFpbmluZzoKLSBgc2VuZGVyX3ZlcnNpb25gOiBUaGUgdmVyc2lvbiBvZiB0aGUgT0FwcFNlbmRlcgotIGByZWNlaXZlcl92ZXJzaW9uYDogVGhlIHZlcnNpb24gb2YgdGhlIE9BcHBSZWNlaXZlcgAAAAAADG9hcHBfdmVyc2lvbgAAAAAAAAABAAAD7QAAAAIAAAAGAAAABgAAAAAAAABsUmV0cmlldmVzIHRoZSBMYXllclplcm8gZW5kcG9pbnQgYWRkcmVzcyBhc3NvY2lhdGVkIHdpdGggdGhlIE9BcHAuCgojIFJldHVybnMKVGhlIExheWVyWmVybyBlbmRwb2ludCBhZGRyZXNzAAAACGVuZHBvaW50AAAAAAAAAAEAAAATAAAAAAAAAMFSZXRyaWV2ZXMgdGhlIHBlZXIgKE9BcHApIGFzc29jaWF0ZWQgd2l0aCBhIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnQuCgojIEFyZ3VtZW50cwoqIGBlaWRgIC0gVGhlIGVuZHBvaW50IElECgojIFJldHVybnMKVGhlIHBlZXIgYWRkcmVzcyAoT0FwcCBpbnN0YW5jZSkgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGVuZHBvaW50AAAAAAAABHBlZXIAAAABAAAAAAAAAANlaWQAAAAABAAAAAEAAAPoAAAD7gAAACAAAAAAAAAA5VNldHMgb3IgcmVtb3ZlcyB0aGUgcGVlciBhZGRyZXNzIChPQXBwIGluc3RhbmNlKSBmb3IgYSBjb3JyZXNwb25kaW5nIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIFRoZSBlbmRwb2ludCBJRAoqIGBwZWVyYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBwZWVyIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBlbmRwb2ludCwgb3IgTm9uZSB0byByZW1vdmUgdGhlIHBlZXIAAAAAAAAIc2V0X3BlZXIAAAACAAAAAAAAAANlaWQAAAAABAAAAAAAAAAEcGVlcgAAA+gAAAPuAAAAIAAAAAAAAAAAAAAAjlNldHMgdGhlIGRlbGVnYXRlIGFkZHJlc3MgZm9yIHRoZSBPQXBwIENvcmUuCgojIEFyZ3VtZW50cwoqIGBkZWxlZ2F0ZWAgLSBUaGUgYWRkcmVzcyBvZiB0aGUgZGVsZWdhdGUgdG8gYmUgc2V0LCBvciBOb25lIHRvIHJlbW92ZSB0aGUgZGVsZWdhdGUAAAAAAAxzZXRfZGVsZWdhdGUAAAABAAAAAAAAAAhkZWxlZ2F0ZQAAA+gAAAATAAAAAAAAAAAAAAGPU2V0cyBUVEwgY29uZmlncyBmb3IgaW5zdGFuY2UgYW5kIHBlcnNpc3RlbnQgc3RvcmFnZS4KCi0gYE5vbmVgIHZhbHVlcyByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgY29uZmlnIChkaXNhYmxlcyBhdXRvLWV4dGVuc2lvbiBmb3IgdGhhdCB0eXBlKQotIFZhbGlkYXRlcyB0aGF0IGB0aHJlc2hvbGQgPD0gZXh0ZW5kX3RvIDw9IE1BWF9UVExgCgojIEFyZ3VtZW50cwotIGBpbnN0YW5jZWAgLSBUVEwgY29uZmlnIGZvciBpbnN0YW5jZSBzdG9yYWdlCi0gYHBlcnNpc3RlbnRgIC0gVFRMIGNvbmZpZyBmb3IgcGVyc2lzdGVudCBzdG9yYWdlCgojIFBhbmljcwotIGBUdGxDb25maWdGcm96ZW5gIGlmIGNvbmZpZ3MgYXJlIGZyb3plbgotIGBJbnZhbGlkVHRsQ29uZmlnYCBpZiB2YWxpZGF0aW9uIGZhaWxzAAAAAA9zZXRfdHRsX2NvbmZpZ3MAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAACnBlcnNpc3RlbnQAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAAAAAASFJldHVybnMgdGhlIGN1cnJlbnQgVFRMIGNvbmZpZ3MgYXMgKGluc3RhbmNlX2NvbmZpZywgcGVyc2lzdGVudF9jb25maWcpLgAAAAt0dGxfY29uZmlncwAAAAAAAAAAAQAAA+0AAAACAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAOFQZXJtYW5lbnRseSBmcmVlemVzIFRUTCBjb25maWdzLCBwcmV2ZW50aW5nIGFueSBmdXR1cmUgbW9kaWZpY2F0aW9ucy4KClRoaXMgaXMgaXJyZXZlcnNpYmxlIGFuZCBwcm92aWRlcyBpbW11dGFiaWxpdHkgZ3VhcmFudGVlcyB0byB1c2Vycy4KRW1pdHMgYFR0bENvbmZpZ3NGcm96ZW5gIGV2ZW50LgoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnQWxyZWFkeUZyb3plbmAgaWYgYWxyZWFkeSBmcm96ZW4AAAAAAAASZnJlZXplX3R0bF9jb25maWdzAAAAAAAAAAAAAAAAAAAAAAAnUmV0dXJucyB3aGV0aGVyIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAABVpc190dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAAAAQAAAAEAAAAAAAAApUV4dGVuZHMgdGhlIGluc3RhbmNlIFRUTC4KCiMgQXJndW1lbnRzCgoqIGB0aHJlc2hvbGRgIC0gVGhlIHRocmVzaG9sZCB0byBleHRlbmQgdGhlIFRUTCAoaWYgY3VycmVudCBUVEwgaXMgYmVsb3cgdGhpcywgZXh0ZW5kKS4KKiBgZXh0ZW5kX3RvYCAtIFRoZSBUVEwgdG8gZXh0ZW5kIHRvLgAAAAAAABNleHRlbmRfaW5zdGFuY2VfdHRsAAAAAAIAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAACWV4dGVuZF90bwAAAAAAAAQAAAAAAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAAAAAAAA1Db21wb3NlRXhpc3RzAAAAAAAAAgAAAAAAAAAPQ29tcG9zZU5vdEZvdW5kAAAAAAMAAAAAAAAAHERlZmF1bHRSZWNlaXZlTGliVW5hdmFpbGFibGUAAAAEAAAAAAAAABlEZWZhdWx0U2VuZExpYlVuYXZhaWxhYmxlAAAAAAAABQAAAAAAAAAVSW5zdWZmaWNpZW50TmF0aXZlRmVlAAAAAAAABgAAAAAAAAAS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bmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAoVW5peCB0aW1lc3RhbXAgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAZleHBpcnkAAAAAAAYAAAApVGhlIG5ldyBsaWJyYXJ5IGFkZHJlc3MgdG8gdHJhbnNpdGlvbiB0by4AAAAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRvIHBheS4AAAAAAAAGYW1vdW50AAAAAAALAAAAH1RoZSBhZGRyZXNzIHRvIHNlbmQgdGhlIGZlZSB0by4AAAAAAnRvAAAAAAATAAAAAQAAADxSZXN1bHQgb2Ygc2VuZCBvcGVyYXRpb24gY29udGFpbmluZyBmZWVzIGFuZCBlbmNvZGVkIHBhY2tldC4AAAAAAAAADUZlZXNBbmRQYWNrZXQAAAAAAAADAAAAKlRoZSBlbmNvZGVkIHBhY2tldCByZWFkeSBmb3IgdHJhbnNtaXNzaW9uLgAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAP0xpc3Qgb2YgbmF0aXZlIHRva2VuIGZlZSByZWNpcGllbnRzIChleGVjdXRvciwgRFZOcywgdHJlYXN1cnkpLgAAAAAVbmF0aXZlX2ZlZV9yZWNpcGllbnRzAAAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAALExpc3Qgb2YgWlJPIHRva2VuIGZlZSByZWNpcGllbnRzICh0cmVhc3VyeSkuAAAAEnpyb19mZWVfcmVjaXBpZW50cwAAAAAD6gAAB9AAAAAMRmVlUmVjaXBpZW50AAAABAAAABRPQXBwRXJyb3I6IDIwMDAtMjA5OQAAAAAAAAAJT0FwcEVycm9yAAAAAAAABAAAAAAAAAAOSW52YWxpZE9wdGlvbnMAAAAAB9AAAAAAAAAABk5vUGVlcgAAAAAH0QAAAAAAAAAIT25seVBlZXIAAAfSAAAAAAAAABNacm9Ub2tlblVuYXZhaWxhYmxlAAAAB9MAAAACAAAAAAAAAAAAAAAPT0FwcENvcmVTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAhFbmRwb2ludAAAAAEAAAAAAAAABFBlZXIAAAABAAAABAAAAAUAAAAAAAAAAAAAAAdQZWVyU2V0AAAAAAEAAAAIcGVlcl9zZXQAAAACAAAAAAAAAANlaWQAAAAABAAAAAAAAAAAAAAABHBlZXIAAAPoAAAD7gAAACAAAAAAAAAAAgAAAAEAAAAAAAAAAAAAABNFbmZvcmNlZE9wdGlvblBhcmFtAAAAAAMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAhtc2dfdHlwZQAAAAQAAAAAAAAAB29wdGlvbnMAAAAADgAAAAIAAAAAAAAAAAAAABdPQXBwT3B0aW9uc1R5cGUzU3RvcmFnZQAAAAABAAAAAQAAAAAAAAAPRW5mb3JjZWRPcHRpb25zAAAAAAIAAAAEAAAABAAAAAUAAAAAAAAAAAAAABFFbmZvcmNlZE9wdGlvblNldAAAAAAAAAEAAAATZW5mb3JjZWRfb3B0aW9uX3NldAAAAAABAAAAAAAAABZlbmZvcmNlZF9vcHRpb25fcGFyYW1zAAAAAAPqAAAH0AAAABNFbmZvcmNlZE9wdGlvblBhcmFtAAAAAAAAAAACAAAABAAAABNPRlRFcnJvcjogMzAwMC0zMDk5AAAAAAAAAAAIT0ZURXJyb3IAAAAEAAAAAAAAABRJbnZhbGlkTG9jYWxEZWNpbWFscwAAC7gAAAAAAAAADk5vdEluaXRpYWxpemVkAAAAAAu5AAAAAAAAAAhPdmVyZmxvdwAAC7oAAAAAAAAAEFNsaXBwYWdlRXhjZWVkZWQAAAu7AAAABQAAAAAAAAAAAAAAB09GVFNlbnQAAAAAAQAAAAhvZnRfc2VudAAAAAUAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAAAAAAABGZyb20AAAATAAAAAAAAAAAAAAAOYW1vdW50X3NlbnRfbGQAAAAAAAsAAAAAAAAAAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAtPRlRSZWNlaXZlZAAAAAABAAAADG9mdF9yZWNlaXZlZAAAAAQAAAAAAAAABGd1aWQAAAPuAAAAIAAAAAAAAAAAAAAAB3NyY19laWQAAAAABAAAAAAAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAAAAAASYW1vdW50X3JlY2VpdmVkX2xkAAAAAAALAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKT0ZUU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAAFURlY2ltYWxDb252ZXJzaW9uUmF0ZQAAAAAAAAAAAAAAAAAABVRva2VuAAAAAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIE9GVCB0b2tlbnMgY3Jvc3MtY2hhaW4AAAAAAAAAAAAACVNlbmRQYXJhbQAAAAAAAAcAAAAkVGhlIGFtb3VudCB0byBzZW5kIGluIGxvY2FsIGRlY2ltYWxzAAAACWFtb3VudF9sZAAAAAAAAAsAAAA4Q29tcG9zZSBtZXNzYWdlIHRvIGV4ZWN1dGUgb24gdGhlIGRlc3RpbmF0aW9uIChPcHRpb25hbCkAAAALY29tcG9zZV9tc2cAAAAADgAAABtUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAB2RzdF9laWQAAAAABAAAADdBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSBMYXllclplcm8gbWVzc2FnZSAoT3B0aW9uYWwpAAAAAA1leHRyYV9vcHRpb25zAAAAAAAADgAAAEVUaGUgbWluaW11bSBhbW91bnQgdG8gcmVjZWl2ZSBpbiBsb2NhbCBkZWNpbWFscyAoc2xpcHBhZ2UgcHJvdGVjdGlvbikAAAAAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAAqT0ZUIGNvbW1hbmQgZm9yIGN1c3RvbSBiZWhhdmlvciAoT3B0aW9uYWwpAAAAAAAHb2Z0X2NtZAAAAAAOAAAAOVRoZSByZWNpcGllbnQgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKQAAAAAAAAJ0bwAAAAAD7gAAACAAAAABAAAAIlRyYW5zZmVyIGxpbWl0cyBmb3IgT0ZUIG9wZXJhdGlvbnMAAAAAAAAAAAAIT0ZUTGltaXQAAAACAAAALFRoZSBtYXhpbXVtIGFtb3VudCB0byBzZW5kIGluIGxvY2FsIGRlY2ltYWxzAAAADW1heF9hbW91bnRfbGQAAAAAAAALAAAALFRoZSBtaW5pbXVtIGFtb3VudCB0byBzZW5kIGluIGxvY2FsIGRlY2ltYWxzAAAADW1pbl9hbW91bnRfbGQAAAAAAAALAAAAAQAAAD9SZWNlaXB0IGNvbnRhaW5pbmcgYW1vdW50cyBzZW50IGFuZCByZWNlaXZlZCBpbiBhbiBPRlQgdHJhbnNmZXIAAAAAAAAAAApPRlRSZWNlaXB0AAAAAAACAAAAM1RoZSBhbW91bnQgcmVjZWl2ZWQgaW4gbG9jYWwgZGVjaW1hbHMgb24gdGhlIHJlbW90ZQAAAAASYW1vdW50X3JlY2VpdmVkX2xkAAAAAAALAAAAIVRoZSBhbW91bnQgc2VudCBpbiBsb2NhbCBkZWNpbWFscwAAAAAAAA5hbW91bnRfc2VudF9sZAAAAAAACwAAAAEAAAAuRGV0YWlscyBhYm91dCBmZWVzIGNoYXJnZWQgaW4gYW4gT0ZUIG9wZXJhdGlvbgAAAAAAAAAAAAxPRlRGZWVEZXRhaWwAAAACAAAAGlRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZmVlAAAAAAALZGVzY3JpcHRpb24AAAAADgAAAH9UaGUgYW1vdW50IG9mIHRoZSBmZWUgaW4gbG9jYWwgZGVjaW1hbHMuIFBvc2l0aXZlIHZhbHVlcyByZXByZXNlbnQgZmVlcyBjaGFyZ2VkLAp3aGlsZSBuZWdhdGl2ZSB2YWx1ZXMgcmVwcmVzZW50IHJld2FyZHMgZ2l2ZW4uAAAAAA1mZWVfYW1vdW50X2xkAAAAAAAACwAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AA==";
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABgQIpYAF+AX5gAn5+AX5gA35+fgF+YAR+fn5+AX5gAAF+YAF+AX9gAn9/AX9gBX5+fn5+AGACf38BfmADfn5+AGAEf39/fwBgA39/fwBgBH9/fn4AYAN/f38BfmABfwBgAn9/AGACfn8BfmABfgBgAn5+AX9gAn9+AGAAAGAAAX9gAX8BfmACfn8AYAN/fn4AYAR/fn5+AGAEf39/fwF+YAV/fn9+fgBgA35/fwBgAX8Bf2ACf34Bf2AFfn9/f38AYAZ/fn5+fn8AYAV/fn5+fgBgBn5+fn5+fgF+YAR+fn5+AGACfn4AYAJ+fwF/YAR+fn9/AX5gBH9+fn8AYAN/f38BfwLlASYBdgEzAAABdgExAAEBYgFtAAIBbAE3AAMBbAFfAAIBYgE4AAABYgFlAAEBbAExAAEBYgE0AAQBYQEwAAABYgFfAAABYgFmAAIBeAE3AAQBeAExAAEBbAEyAAEBdgFfAAQBZAFfAAIBYQE2AAABaQFfAAABaQEwAAABYgExAAMBYgEzAAEBdgFnAAEBaQE4AAABaQE3AAABaQE2AAEBYgFqAAEBYgEyAAMBbQE5AAIBbQFhAAMBeAEwAAEBYgEwAAABeAE0AAQBeAEzAAQBeAE4AAQBbAEwAAEBbAE4AAEBeAE1AAADuwG5AQUGBwEICQcKCAsIDAANDg8IDhARCBIOCg8IEwsEFBUWFAQEDhcUDhYOBAsTGAETBBYZDxgaERsOExwTHR4eDhQOBA8EFg8EBA4UFQwLDwQLDBMTHxMOCAALICECAQEBAAEAEgQAAAQABAATCCEEBAUEBAQBABMTFgIWEyEDFQAiDw8RIwQEBAQAJAEUFRgEBAEBExYEDwQEBAQAAQAAEwEiFgglARQmAgEAAhQLEwsPCyAnISEnKCghBAUBcAEBAQUDAQARBiEEfwFBgIDAAAt/AEH0iMAAC38AQaKLwAALfwBBsIvAAAsHoQc1Bm1lbW9yeQIADnNldF9yYXRlX2xpbWl0AIEBEXJhdGVfbGltaXRfY29uZmlnAIIBFHJhdGVfbGltaXRfaW5fZmxpZ2h0AIMBE3JhdGVfbGltaXRfY2FwYWNpdHkAhAETc2V0X2RlZmF1bHRfZmVlX2JwcwCFAQtzZXRfZmVlX2JwcwCGARdzZXRfZmVlX2RlcG9zaXRfYWRkcmVzcwCHAQ9kZWZhdWx0X2ZlZV9icHMAiQEHZmVlX2JwcwCKARFlZmZlY3RpdmVfZmVlX2JwcwCLARNmZWVfZGVwb3NpdF9hZGRyZXNzAIwBCnNldF9wYXVzZWQAjQEJaXNfcGF1c2VkAI4BCXF1b3RlX29mdACPAQV0b2tlbgCTAQ9zaGFyZWRfZGVjaW1hbHMAlAEXZGVjaW1hbF9jb252ZXJzaW9uX3JhdGUAlgERYXBwcm92YWxfcmVxdWlyZWQAlwENbXNnX2luc3BlY3RvcgCYARFzZXRfbXNnX2luc3BlY3RvcgCaAQpxdW90ZV9zZW5kAJ4BBHNlbmQAogENX19jb25zdHJ1Y3RvcgClAQhvZnRfdHlwZQCqAQphdXRob3JpemVyAKsBBW93bmVyAKwBDXBlbmRpbmdfb3duZXIArQESdHJhbnNmZXJfb3duZXJzaGlwAK4BGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyALABEGFjY2VwdF9vd25lcnNoaXAAtAEScmVub3VuY2Vfb3duZXJzaGlwALUBE2V4dGVuZF9pbnN0YW5jZV90dGwAtgEPc2V0X3R0bF9jb25maWdzALcBC3R0bF9jb25maWdzALoBEmZyZWV6ZV90dGxfY29uZmlncwC8ARVpc190dGxfY29uZmlnc19mcm96ZW4AvQEMb2FwcF92ZXJzaW9uAL4BCGVuZHBvaW50AL8BBHBlZXIAwAEIc2V0X3BlZXIAwQEMc2V0X2RlbGVnYXRlAMIBFWFsbG93X2luaXRpYWxpemVfcGF0aADDAQpuZXh0X25vbmNlAMUBCmx6X3JlY2VpdmUAxgEVaXNfY29tcG9zZV9tc2dfc2VuZGVyAM0BEGVuZm9yY2VkX29wdGlvbnMAzgEUc2V0X2VuZm9yY2VkX29wdGlvbnMAzwEPY29tYmluZV9vcHRpb25zANABAV8DAQtvZnRfdmVyc2lvbgC+AQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwq46wG5Aa4BAwF/AX4Cf0ECIQECQCAAQv8Bg0LLAFINACAAEICAgIAAIgJCgICAgBBUDQACQCAAQgQQgYCAgAAiAKdB/wFxIgNBygBGDQAgA0EORw0BCyACQiCIpyEDAkACQAJAIABByIHAgACtQiCGQgSEQoSAgIAgEIKAgIAAQiCIpw4CAAEDC0EBIAMQp4CAgAANAkEAIQQMAQtBASEEQQEgAxCngICAAA0BCyAEIQELIAELGQACQCABIABJDQAgASAAaw8LEOWAgIAAAAuxAQECfyOAgICAAEEwayIFJICAgIAAIAUgAyAEEKmAgIAANwMQIAUgAjcDCCAFIAE3AwBBACEGA0ACQCAGQRhHDQBBACEGAkADQCAGQRhGDQEgBUEYaiAGaiAFIAZqKQMANwMAIAZBCGohBgwACwsgAEKO7uqVvrbe8wAgBUEYakEDEKqAgIAAEKuAgIAAIAVBMGokgICAgAAPCyAFQRhqIAZqQgI3AwAgBkEIaiEGDAALC0MBAX8jgICAgABBEGsiAiSAgICAACACIAAgARDZgICAAAJAIAIoAgBBAUcNAAALIAIpAwghASACQRBqJICAgIAAIAELGgAgAK1CIIZCBIQgAa1CIIZCBIQQloCAgAALIQACQCAAIAEgAhCQgICAAEL/AYNCAlENABDlgICAAAALC7EBAQJ/I4CAgIAAQTBrIgUkgICAgAAgBSADIAQQqYCAgAA3AxAgBSACNwMIIAUgATcDAEEAIQYDQAJAIAZBGEcNAEEAIQYCQANAIAZBGEYNASAFQRhqIAZqIAUgBmopAwA3AwAgBkEIaiEGDAALCyAAQo7u6pW+tt7zACAFQRhqQQMQqoCAgAAQq4CAgAAgBUEwaiSAgICAAA8LIAVBGGogBmpCAjcDACAGQQhqIQYMAAsLJwAgACABEK6AgIAAQgEgAq1CIIZCBIQgA61CIIZCBIQQg4CAgAAaC/oBAgF/An4jgICAgABBMGsiAiSAgICAACACQSBqQcCCwIAAQQkQ0ICAgAACQAJAIAIoAiANACACKQMoIQMCQAJAIAFBAXFFDQAgAkEgakG/gcCAAEEIENCAgIAAIAIoAiANAiACQSBqIAIpAygQ0YCAgAAMAQsgAkEgakG4gcCAAEEHENCAgIAAIAIoAiANASACQSBqIAIpAygQ0YCAgAALIAIpAyghBCACKQMgpw0AIAIgBDcDECACIAM3AwggAiAArUIghkIEhDcDGCACQSBqIAJBCGoQ2ICAgAAgAigCIEUNAQsACyACKQMoIQMgAkEwaiSAgICAACADCycAQQEgABCwgICAAEIBIAGtQiCGQgSEIAKtQiCGQgSEEIOAgIAAGgvHAQIBfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAAkACQAJAAkAgAA4DAAECAAsgAkGAgMCAAEENENCAgIAAIAIoAgANAyACIAIpAwgQ0YCAgAAMAgsgAkGNgMCAAEEGENCAgIAAIAIoAgANAiACIAIpAwggAa1CIIZCBIQQ0oCAgAAMAQsgAkGTgMCAAEERENCAgIAAIAIoAgANASACIAIpAwgQ0YCAgAALIAIpAwghAyACKQMAUA0BCwALIAJBEGokgICAgAAgAwsdACAAIAEQsICAgAAgAhCygICAACADEISAgIAAGgtBAQF/I4CAgIAAQRBrIgEkgICAgAAgASAAENSAgIAAAkAgASgCAEEBRw0AAAsgASkDCCEAIAFBEGokgICAgAAgAAvPAQIBfwN+I4CAgIAAQRBrIgMkgICAgAAgA0EEahC0gICAAAJAIAMoAgRBAUcNACADKAIIIAMoAgwQtYCAgAALIAAgARC2gICAACIEEIWAgIAAIQUgAikDACEGAkACQCAFQoCAgIAQVA0AAkAgBhCFgICAAEKAgICAEFoNACAEIQYMAQsgBhCFgICAAEL/////H1gNASACELeAgIAAIAQgBkECELiAgIAAEIaAgIAAIQYLIANBEGokgICAgAAgBg8LQoOAgICA+gEQuYCAgAAACwwAIABBARDVgYCAAAsbACAArUIghkIEhCABrUIghkIEhBCkgICAABoLvQEEAX8BfgF/AX4jgICAgABBEGsiAiSAgICAACACQQRqELSAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC1gICAAAsCQAJAIAAgARC6gICAACIDQgEQu4CAgAAiBEUNACADQgEQh4CAgAAiBUL/AYNCyABSDQEgAkEEahC8gICAACACKAIEQQFHDQAgACABIAIoAgggAigCDBC9gICAAAsQiICAgAAhAyACQRBqJICAgIAAIAUgAyAEGw8LAAu9AQIBfwF+I4CAgIAAQRBrIgEkgICAgAAgAUEANgIIIAEgADYCBAJAAkACQCABQQRqQQIQyIGAgAAiAhCFgICAAEKAgICAcINCgICAgCBSDQAgAUEAOwEOIAIQhYCAgABCgICAgHCDQoCAgIAgUg0BIAIgAUEOakECEN+AgIAAIAEvAQ5BgAZHDQIgAUEQaiSAgICAAA8LQoOAgICAggEQuYCAgAAACxDLgYCAAAALQoOAgICA+gEQuYCAgAAACyUAIAAgAa1CIIZCBIQgABCFgICAAEKAgICAcINCBIQQi4CAgAALCwAgABClgICAABoLigECAX8BfiOAgICAAEEwayICJICAgIAAIAJBIGpBnIXAgABBDxDQgICAAAJAAkAgAigCIA0AIAIgAikDKDcDCCACIAGtQiCGQgSENwMYIAIgAK1CIIZCBIQ3AxAgAkEgaiACQQhqENiAgIAAIAIoAiBFDQELAAsgAikDKCEDIAJBMGokgICAgAAgAwsPACAAIAEQo4CAgABCAVELDAAgAEECENWBgIAACycAIAAgARC6gICAAEIBIAKtQiCGQgSEIAOtQiCGQgSEEIOAgIAAGgvGAQIBfwF+I4CAgIAAQRBrIgIkgICAgAAgAhC0gICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQtYCAgAALAkACQAJAQQEgARC/gICAACIDQgEQu4CAgABFDQAgAiADQgEQh4CAgAAQwICAgAAgAigCAEEBRw0BAAsgAEIANwMADAELIAIpAwghAyAAQgE3AwAgACADNwMIIAIQvICAgAAgAigCAEEBRw0AIAEgAigCBCACKAIIEMGAgIAACyACQRBqJICAgIAAC5sBAgF/AX4jgICAgABBEGsiAiSAgICAAAJAAkACQAJAIABBAXFFDQAgAkHYhMCAAEEEENCAgIAAIAIoAgANAiACIAIpAwggAa1CIIZCBIQQ0oCAgAAMAQsgAkHQhMCAAEEIENCAgIAAIAIoAgANASACIAIpAwgQ0YCAgAALIAIpAwghAyACKQMAUA0BCwALIAJBEGokgICAgAAgAwsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDggICAAAsnAEEBIAAQv4CAgABCASABrUIghkIEhCACrUIghkIEhBCDgICAABoLhwECAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQtICAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELWAgIAACwJAAkBBACAAEL+AgIAAIgFCAhC7gICAAEUNACABQgIQh4CAgAAiAUL/AYNCzQBRDQEACxDDgICAAAALIABBEGokgICAgAAgAQsJABDlgICAAAALiwECAn8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQtICAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELWAgIAAC0EAIQECQEEAEMWAgIAAIgJCAhC7gICAAEUNAEEBIQECQAJAIAJCAhCHgICAAKdB/wFxDgIBAgALAAtBACEBCyAAQRBqJICAgIAAIAELwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQYqLwIAAQQYQ0ICAgAAgASgCAA0DIAEgASkDCBDRgICAAAwCCyABQZCLwIAAQQgQ0ICAgAAgASgCAA0CIAEgASkDCBDRgICAAAwBCyABQZiLwIAAQQoQ0ICAgAAgASgCAA0BIAEgASkDCBDRgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AEMeAgIAAEImAgIAAGgtmAgF/AX4jgICAgABBEGsiACSAgICAACAAELSAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC1gICAAAsgABDJgICAACAAKQMIIQEgACkDAEGKCBDKgICAACAAQRBqJICAgIAAIAELSgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABDJgICAACAAKQMIIQEgACkDAEGKCBDKgICAACABEImAgIAAGiAAQRBqJICAgIAAIAELUAEBfyOAgICAAEEQayIBJICAgIAAIAFBBGoQtICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELWAgIAACyAAEM6AgIAAIAFBEGokgICAgAALKQACQCAAp0EBcUUNAA8LIAFB+ndqrUIghkKDgICA4IABfBC5gICAAAALQgEBfyOAgICAAEEQayIAJICAgIAAIAAQzICAgAACQCAAKQMAUA0AQoOAgICwgQEQuYCAgAAACyAAQRBqJICAgIAAC5MBAgF/An4jgICAgABBEGsiASSAgICAACABQQRqELSAgIAAAkAgASgCBEEBRw0AIAEoAgggASgCDBC1gICAAAtCACECAkACQEEBEM2AgIAAIgNCABC7gICAAEUNACADQgAQh4CAgAAiAkL/AYNCzQBSDQEgACACNwMIQgEhAgsgACACNwMAIAFBEGokgICAgAAPCwALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQZ2KwIAAQQwQ0ICAgAAgASgCAA0CIAEgASkDCBDRgICAAAwBCyABQZiKwIAAQQUQ0ICAgAAgASgCAA0BIAEgASkDCBDRgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC00BAn5CACEBAkACQEEAEM2AgIAAIgJCAhC7gICAAEUNACACQgIQh4CAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsAC2ACAX8BfiOAgICAAEEQayIAJICAgIAAIABB/4LAgABBBxDQgICAAAJAAkAgACgCAA0AIAAgACkDCBDRgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDSgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQqoCAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEKqAgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC1YBAX8jgICAgABBEGsiAiSAgICAAAJAAkACQCAAp0EBcQ0AQgIhAAwBCyACIAEQ1ICAgAAgAigCAEEBcQ0BIAIpAwghAAsgAkEQaiSAgICAACAADwsACzsAAkACQCABQv//////////AFYNACABQgiGQgaEIQEMAQsgARCSgICAACEBCyAAQgA3AwAgACABNwMIC2ACAX8BfiOAgICAAEEQayIAJICAgIAAIABBmIHAgABBBhDQgICAAAJAAkAgACgCAA0AIAAgACkDCBDRgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQtnAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkACQCAAKAIAQQFxDQBCAiECDAELIAEgACkDECAAKQMYIAApAyAQ14CAgAAgASgCAEEBcQ0BIAEpAwghAgsgAUEQaiSAgICAACACDwsAC4UBAQF/I4CAgIAAQRBrIgQkgICAgAAgBCABIAIQ2YCAgABCASECAkAgBCgCAA0AIAQpAwghASAEIAMQ1ICAgAAgBCgCAA0AIAQgBCkDCDcDCCAEIAE3AwAgAEHsgcCAAEECIARBAhDagICAADcDCEIAIQILIAAgAjcDACAEQRBqJICAgIAAC10CAX8BfiOAgICAAEEgayICJICAgIAAIAIgASkDEDcDGCACIAEpAwg3AxAgAiABKQMANwMIIAJBCGpBAxCqgICAACEDIABCADcDACAAIAM3AwggAkEgaiSAgICAAAtbAAJAAkAgAUKAgICAgICAwAB8Qv//////////AFYNACABIAGFIAIgAUI/h4WEQgBSDQAgAUIIhkILhCEBDAELIAIgARCZgICAACEBCyAAQgA3AwAgACABNwMICy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQnICAgAALHgACQCAAp0EBcUUNAA8LQoOAgICQ+gEQuYCAgAAAC6cHAwF/BX4DfyOAgICAAEHwAGsiBSSAgICAACACKQMwIgYQhYCAgAAhByAFQRBqEN2AgIAAAkACQAJAIAUpAxAiCCAFKQMYIgmEUA0AIAIpAyAhCgJAIAMgBEKAgICAgICAgIB/hYRCAFINACAIIAmDQn9RDQELIAUgAyAEIAggCRDagYCAAAJAIAUpAwhCAVkNACAFKQMAIQQCQAJAAkAgB0L/////D1YNACAFIAQ3AzggBSAKNwMwQgAhBiAFQgA3AxAgBUEgaiELQQEhDAwBCyAFQRBqIAEQioCAgABBBBC4gICAACIDQgRChICAgMAAEIuAgIAAEN6AgIAAIAUoAhBBAUYNBSAFKQMYIQggBUEANgJYIAggBUHYAGpBBBDfgICAACAFKAJYIgtB////B3ENAQJAAkACQCALQRh2DgIAAQQLIAVB2ABqIANChICAgMAAQoSAgICAARCLgICAABDegICAACAFKAJYQQFGDQcgBSkDYCEIIAVBADYCWCAIIAVB2ABqQQQQ34CAgAAgBSgCWA0DIAVB2ABqIANChICAgIABQoSAgICABRCLgICAABDggICAACAFKAJYQQFHDQEMBwsgBUHYAGogA0KEgICAwABChICAgMAEEIuAgIAAEOCAgIAAIAUoAlhBAUYNBgsgBSkDYCEDIAVBKGohCyAFIAQ3AzggBSAKNwMwIAVCATcDICAFIAM3AxggBUIBNwMQQQIhDAsgCyAGNwMAIAVBEGoQ4YCAgAAhCyAFEIiAgIAANwNYIAVB2ABqIAoQ4oCAgAAgBBDjgICAACENAkACQCALDQAgDSkDACEEDAELIAdC/////w9YDQEgDSADEOKAgIAAIQsgBSgCIEUNASALKQMAIAUpAygQhoCAgAAhBAsgAigCQCAMIAJBKGoQs4CAgAAhAyAFQcgAahDkgICAACAFKAJIQQFHDQMgBSkDUCEKEIyAgIAAIQggBSADNwNoIAUgBDcDYCAFIAg3A1hBACECA0ACQCACQRhHDQBBACECAkADQCACQRhGDQEgBUEQaiACaiAFQdgAaiACaikDADcDACACQQhqIQIMAAsLIApCjvKotY2fuwEgBUEQakEDEKqAgIAAEKuAgIAADAULIAVBEGogAmpCAjcDACACQQhqIQIMAAsLEMOAgIAAAAtCg4CAgLD3AhC5gICAAAALEOWAgIAAAAsgACADNwMIIAAgBDcDACAFQfAAaiSAgICAAA8LAAuQAgICfwR+I4CAgIAAQcAAayIBJICAgIAAIAFBOGoQ5oCAgAACQAJAIAEoAjhBAXFFDQACQCABKAI8IgINAEIAIQNCASEEDAILQgAhA0IKIQVCASEEQgAhBgJAA0ACQCACQQFxRQ0AIAFBADYCNCABQSBqIAQgAyAFIAYgAUE0ahDXgYCAACABKAI0DQIgASkDKCEDIAEpAyAhBCACQQFGDQQLIAFBADYCHCABIAUgBiAFIAYgAUEcahDXgYCAACABKAIcDQEgASkDCCEGIAEpAwAhBSACQQF2IQIMAAsLEOWAgIAAAAtCg4CAgKD3AhC5gICAAAALIAAgBDcDACAAIAM3AwggAUHAAGokgICAgAALNgEBfkIBIQICQCABEIWAgIAAQoCAgIBwg0KAgICAwABSDQAgACABNwMIQgAhAgsgACACNwMACx8AIABCBCABrUIghkIEhCACrUIghkIEhBCUgICAABoLNgEBfkIBIQICQCABEIWAgIAAQoCAgIBwg0KAgICAgARSDQAgACABNwMIQgAhAgsgACACNwMACzMBAX9BACEBAkAgACkDAFANACAAKAIQQQFHDQAgACkDGBCFgICAAEL/////D1YhAQsgAQvCAQEEfyOAgICAAEHAAGsiAiSAgICAACACQSBqQRhqIgNCADcDACACQSBqQRBqIgRCADcDACACQSBqQQhqIgVCADcDACACQgA3AyAgASACQSBqQSAQ34CAgAAgAkEYaiADKQMANwMAIAJBEGogBCkDADcDACACQQhqIAUpAwA3AwAgAiACKQMgNwMAIAApAwAhASAAIAEgARCFgICAAEKAgICAcINCBIQgAkEgEMyBgIAANwMAIAJBwABqJICAgIAAIAALpwEBAX8jgICAgABBEGsiAiSAgICAACACIAFCOIYgAUKA/gODQiiGhCABQoCA/AeDQhiGIAFCgICA+A+DQgiGhIQgAUIIiEKAgID4D4MgAUIYiEKAgPwHg4QgAUIoiEKA/gODIAFCOIiEhIQ3AwggACkDACEBIAAgASABEIWAgIAAQoCAgIBwg0IEhCACQQhqQQgQzIGAgAA3AwAgAkEQaiSAgICAACAACwwAIABBAhDogICAAAsJABDRgYCAAAALWAMBfwF+AX9BACEBAkACQEEAEJ2BgIAAIgJCAhC7gICAAEUNACACQgIQh4CAgAAiAkL/AYNCBFINASACQiCIpyEDQQEhAQsgACADNgIEIAAgATYCAA8LAAtOAgF/AX4jgICAgABBEGsiACSAgICAACAAQQEQ6ICAgAACQCAAKAIADQBCg4CAgKD3AhC5gICAAAALIAApAwghASAAQRBqJICAgIAAIAELTQECfkIAIQICQAJAIAEQnYGAgAAiA0ICELuAgIAARQ0AIANCAhCHgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALVAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC0gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQtYCAgAALEOeAgIAAIQEgAEEQaiSAgICAACABC5MBAgF/AX4jgICAgABBEGsiASSAgICAAAJAAkBBASAAELCAgIAAQgEQu4CAgABFDQAgARC8gICAAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBCvgICAAAsgASAAEOuAgIAAAkAgASgCAEUNACABKQMIIQIMAgsQw4CAgAAACxDsgICAACECCyABQRBqJICAgIAAIAILnwECAX8BfiOAgICAAEEQayICJICAgIAAAkACQAJAQQEgARCwgICAACIDQgEQu4CAgABFDQAgAiADQgEQh4CAgAAQ94CAgAAgAigCAEEBRw0BAAsgAEIANwMADAELIAIpAwgh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ACACIAAgARDSgYCAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAMLYwMBfwF+AX8jgICAgABBEGsiASSAgICAACABIAA3AwBCAiECQQEhAwJAA0AgA0UNASADQX9qIQMgACECDAALCyABIAI3AwggAUEIakEBEKqAgIAAIQAgAUEQaiSAgICAACAAC/EBAgF/BH4jgICAgABB4ABrIgMkgICAgAAgAxC0gICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQtYCAgAALIAMgASACEPKAgIAAAkACQAJAIAMoAgBBAXENAEL///////////8AIQRCfyEFDAELIAMpAxAhBiADKQMYIQQgA0HQAGogA0EQahDzgICAACAEIAMpA1giBYUgBCAEIAV9IAYgAykDUCIHVK19IgWFg0J/Vw0BIAVCACAFQgBVGyEEQgAgBiAHfSAFQgBTGyEFCyAAIAU3AwAgACAENwMIIANB4ABqJICAgIAADwsQ5YCAgAAAC6IDAgF/BX4jgICAgABBwABrIgYkgICAgAAQ74CAgAAgBkEwahDdgICAACAGKQM4IQcgBikDMCEIAkACQAJAAkACQCAFEOqAgIAAIglQDQBBAiAGELCAgIAAQgIQu4CAgABFDQIgBkEANgIsIAZBEGogASACIAlCACAGQSxqENeBgIAAIAYoAiwNAyAGKQMQIglCj84AfCIKQp6cAVYgBikDGCILIAogCVStfCIKQgBSIApQGw0BCyAGQTBqIAEgAiAIIAcQgIGAgAAgBikDMCIIIQEgBikDOCIHIQIMAwsgBiAJIAtCkM4AQgAQ2oGAgAAgAiAGKQMIIgmFIAIgAiAJfSABIAYpAwAiCVStfSIKhYNCAFMNASAGQTBqIAEgCX0gCiAIIAcQgIGAgAAgBikDOCEHIAYpAzAhCAwCC0KDgICA0IMDELmAgIAAAAsQ5YCAgAAACwJAIAggA1QgByAEUyAHIARRG0UNAEKDgICAwPcCELmAgIAAAAsgACAINwMQIAAgATcDACAAIAc3AxggACACNwMIIAZBwABqJICAgIAAC60BAQF/I4CAgIAAQTBrIgUkgICAgAACQAJAIAMgBIRQDQACQCABIAJCgICAgICAgICAf4WEQgBSDQAgAyAEg0J/UQ0BCyAFQSBqIAEgAiADIAQQ2oGAgAAgBUEANgIcIAUgBSkDICAFKQMoIAMgBCAFQRxqENeBgIAAIAUoAhxFDQELEOWAgIAAAAsgBSkDCCEEIAAgBSkDADcDACAAIAQ3AwggBUEwaiSAgICAAAveBAMCfwJ+A38jgICAgABB0AFrIgMkgICAgAACQAJAAkACQAJAIAAQpoCAgABB/wFxIgRBAkYNACABQv8Bg0IEUg0AAkACQCACQgJSDQBCACEFDAELIAMgAhD4gICAACADKAIAQQFxDQEgAykDGCECIAMpAxAhBiADKQMgIQBCASEFCyABQiCIpyEHEMaAgIAAIAMQtICAgAACQCADKAIAQQFHDQAgAygCBCADKAIIELWAgIAACyADIAQgBxDygICAACAFpyEIAkACQCADKAIAIglBAXFFDQAgCEEBcUUNACADKQMQIAaFIAMpAxggAoWEQgBSDQEgAykDICAAUg0BDAYLIAkgCHJBAXFFDQULIAhBAXFFDQEgAkIAUw0CIABCAFENAgJAAkAgCUEBcUUNACADQdAAaiADQRBqIghBwAAQ3YGAgAAaIANB8ABqIAgQ84CAgAAQ9ICAgAAhAQwBCxD0gICAACEBIANCADcDeCADQgA3A3ALIAMgBjcDUCADIAA3A2AgAyABNwOAASADIAI3A1ggBCAHIANB0ABqEPWAgIAAIAMgAjcDqAEgAyAGNwOgASADQgA3A5gBIAMgBTcDkAEgAyAHNgLAASADIAQ6AMQBIAMgADcDsAEgA0GQAWoQ+4CAgAAMAwsACyAHIAQQroCAgABCARCOgICAABogA0IANwOYASADQgA3A5ABIAMgBzYCwAEgAyAEOgDEASADQZABahD7gICAAAwBC0KDgICAsIYDELmAgIAAAAsgA0HQAWokgICAgABCAg8LQoOAgIDAhgMQuYCAgAAAC9YBAQN/I4CAgIAAQYABayICJICAgIAAAkAgABCmgICAAEH/AXEiA0ECRg0AIAFC/wGDQgRSDQAgAUIgiKchBCACQTBqELSAgIAAAkAgAigCMEEBRw0AIAIoAjQgAigCOBC1gICAAAsgAkEwaiADIAQQ8oCAgAACQAJAIAIoAjBBAXENAEIAIQEMAQsgAiACKQNINwMYIAIgAikDQDcDECACIAIpA1A3AyBCASEBCyACIAE3AwAgAkIANwMIIAIQ1oCAgAAhASACQYABaiSAgICAACABDwsAC8QBAQN/I4CAgIAAQfAAayICJICAgIAAAkAgABCmgICAAEH/AXEiA0ECRg0AIAFC/wGDQgRSDQAgAUIgiKchBCACELSAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBC1gICAAAsgAiADIAQQ8oCAgABCACEBQgAhAAJAIAIoAgBBAXFFDQAgAkHQAGpBEGogAkEQahDzgICAACACKQNoIQAgAikDYCEBCyABIAAQqYCAgAAhASACQfAAaiSAgICAACABDwsAC2cBAn8jgICAgABBEGsiAiSAgICAAAJAIAAQpoCAgABB/wFxIgNBAkYNACABQv8Bg0IEUg0AIAIgAyABQiCIpxD+gICAACACKQMAIAIpAwgQqYCAgAAhASACQRBqJICAgIAAIAEPCwAL8wECAX8BfiOAgICAAEEQayIBJICAgIAAIAEgABD3gICAAAJAAkACQCABKAIAQQFGDQAgASkDCCEAEMaAgIAAIAEQtICAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELWAgIAACyAAQpHOAFoNARDsgICAACAAUQ0CQQAgASAAQgIQsYCAgABBpIDAgABBExD8gICAABD9gICAACECIAEgABCygICAADcDACACQcCAwIAAQQEgAUEBENqAgIAAEI2AgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgIDAgwMQuYCAgAAAC0KDgICA4IMDELmAgIAAAAu1AwQBfwF+A38BfiOAgICAAEEgayICJICAgIAAAkACQAJAAkACQCAAQv8Bg0IEUg0AAkACQCABQgJSDQBCACEDDAELIAJBEGogARD3gICAACACKAIQQQFGDQEgAikDGCEBQgEhAwsgAEIgiKchBBDGgICAACACQRBqELSAgIAAAkAgAigCEEEBRw0AIAIoAhQgAigCGBC1gICAAAsgAiAEEOuAgIAAIAOnIQUCQAJAIAIoAgAiBkEBRw0AIAVFDQAgAikDCCABUg0BDAYLIAYgBXJBAXFFDQULIAVFDQEgAUKRzgBaDQJBASAEIAFCARCxgICAACACQRBqELyAgIAAIAIoAhBBAUcNAyAEIAIoAhQgAigCGBCvgICAAAwDCwALQQEgBBCwgICAAEIBEI6AgIAAGgwBC0KDgICAwIMDELmAgIAAAAtByIDAgABBCxD8gICAABD9gICAACEHIAIgAyABENOAgIAANwMYIAIgAEKEgICAcIM3AxAgB0HUgMCAAEECIAJBEGpBAhDagICAABCNgICAABogAkEgaiSAgICAAEICDwtCg4CAgOCDAxC5gICAAAAL4wECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQCAAQv8Bg0LNAFINABDGgICAACABELSAgIAAAkAgASgCAEEBRw0AIAEoAgQgASgCCBC1gICAAAsgARDugICAAAJAIAEoAgBBAUcNACABKQMIIAAQiIGAgAANAgtBAiABELCAgIAAIABCAhCEgICAABpB5IDAgABBFxD8gICAABD9gICAACECIAEgADcDACACQZCBwIAAQQEgAUEBENqAgIAAEI2AgIAAGiABQRBqJICAgIAAQgIPCwALQoOAgIDggwMQuYCAgAAACw0AIAAgARCegICAAFALWgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC0gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQtYCAgAALEOyAgIAAELKAgIAAIQEgAEEQaiSAgICAACABC3cBAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgRSDQAgARC0gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtYCAgAALIAEgAEIgiKcQ64CAgAAgASkDACABKQMIENOAgIAAIQAgAUEQaiSAgICAACAADwsAC24BAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgRSDQAgAUEEahC0gICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQtYCAgAALIABCIIinEOqAgIAAELKAgIAAIQAgAUEQaiSAgICAACAADwsAC1QCAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQtICAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELWAgIAACxDtgICAACEBIABBEGokgICAgAAgAQvfAQICfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAQQEgAKdB/wFxIgJBAEdBAXQgAkEBRhsiAkECRg0AEMaAgIAAIAEQtICAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELWAgIAACxDwgICAACACc0EBcUUNARDVgICAACACrSIAQgIQhICAgAAaQZ6BwIAAQQoQ/ICAgAAQ/YCA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gICAECEDC0GAyx5BgNIfEKaBgIAAQYDLHkGA0h8Qp4GAgABBABDNgICAAEICELuAgIAADQEgARCogYCAAEEAIAYQv4CAgAAgAkICEISAgIAAGiACEIyAgIAAIAcgCBCpgYCAACAAEJWBgIAAIgkgBEIgiKciCkkNAkEBIAAQnIGAgABBABCdgYCAACAJIAprrUIghkIEhEICEISAgIAAGhDPgICAACADQgIQhICAgAAaIAZBEGokgICAgABCAg8LAAtCg4CAgJCBARC5gICAAAALQoOAgICQ9wIQuYCAgAAACw4AQQEgACABENaBgIAACw4AQQIgACABENaBgIAACw4AQQAgAEICELOBgIAAC7YBAwF/AX4BfyOAgICAAEEgayIEJICAgIAAQbiEwIAAQQwQ/ICAgAAhBSAEIAIgAxCZgYCAADcDCCAEIAE3AwBBACEGA0ACQCAGQRBHDQBBACEGAkADQCAGQRBGDQEgBEEQaiAGaiAEIAZqKQMANwMAIAZBCGohBgwACwsgACAFIARBEGpBAhCqgICAABCrgICAACAEQSBqJICAgIAADwsgBEEQaiAGakICNwMAIAZBCGohBgwACwsRAEKEgICAEEIEEKOBgIAAGwsIABDHgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMmAgIAAIAApAwAgACkDCBCZgYCAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEMyAgIAAIAApAwAgACkDCBCZgYCAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQtICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELWAgIAACxDIgICAACECEMuAgIAAIAAQqIGAgAAgAiAAEK+BgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEGRicCAAEEVEPyAgIAAEP2AgIAAIQMgAiAANwMIIAIgATcDACADQbiJwIAAQQIgAkECENqAgIAAEI2AgIAAGiACQRBqJICAgIAAC9wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQtICAgAACQCACKAIIQQFHDQAgAigCDCACKAIQELWAgIAACxDIgICAACEDAkACQCABQv////8PVg0AIAJBCGoQzICAgAAgAikDECEBIAIpAwhBiAgQyoCAgAAgASAAEIiBgIAARQ0DELGBgIAADAELELKBgIAAIAFCIIinSQ0DQQEgAEIAELOBgIAAQQEQzYCAgABCACABQoSAgIBwgyIBIAEQg4CAgAAaQciJwIAAQRYQ/ICAgAAQ/YCAgAAhBCACIAE3AxggAiADNwMQIAIgADcDCCAEQeSJwIAAQQMgAkEIakEDENqAgIAAEI2AgIAAGgsgAkEgaiSAgICAAEICDwsAC0KDgICA4IABELmAgIAAAAtCg4CAgPCAARC5gICAAAALEwBBARDNgICAAEIAEI6AgIAAGgszAQJ+EKGAgIAAIQACQBCigICAAEIgiCIBIABCIIgiAFQNACABpyAAp2sPCxDlgICAAAALFQAgABDNgICAACABIAIQhICAgAAaC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAELSAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC1gICAAAsgABDMgICAACAAKQMIIQEgACkDAEGICBDKgICAACABEImAgIAAGiAAEM6AgIAAAkAgACgCAA0AEMOAgIAAAAsgACkDCCECELGBgIAAIAEQqIGAgAAgAiABEK+BgIAAIABBEGokgICAgABCAgugAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAgABC0gICAAAJAIAAoAgBBAUcNACAAKAIEIAAoAggQtYCAgAALEMiAgIAAIQEQy4CAgABBABDNgICAAEICEI6AgIAAGkH8icCAAEETEPyAgIAAEP2AgIAAIQIgACABNwMAIAJBkIrAgABBASAAQQEQ2oCAgAAQjYCAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxC1gICAAEICDwsAC94EAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABC4gYCAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABELiBgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQtICAgAACQCACKAIoQQFHDQAgAigCLCACKAIwELWAgIAACxDGgICAAAJAAkACQBDEgICAAA0AELKBgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AELmAgIAAAAtCg4CAgMD/ABC5gICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQEKaBgIAADAELQQEQxYCAgABCAhCOgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgEKeBgIAADAELQQIQxYCAgABCAhCOgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEHEisCAAEEPEPyAgIAAEP2AgIAAIQAgAkEoahC5gYCAACEBIAIgAkE0ahC5gYCAADcDSCACIAE3A0AgAEHoisCAAEECIAJBwABqQQIQ2oCAgAAQjYCAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABENOBgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAELuBgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQtICAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQELWAgIAACyAAQQhqELSAgIAAIABBFGoiARC8gICAACAAQTBqIABBCGoQu4GAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABELuBgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhCqgICAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ1IGAgAAPCyAAQgA3AwAgAEICNwMIC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahC0gICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQtYCAgAALEMaAgIAAAkAQxICAgABFDQBCg4CAgOD/ABC5gICAAAALQQAQxYCAgABCAUICEISAgIAAGkH4isCAAEESEPyAgIAAEP2AgIAAQQRBACAAQRhqQQAQ2oCAgAAQjYCAgAAaIABBIGokgICAgABCAgsJABDEgICAAK0LogECAX8BfiOAgICAAEEgayIAJICAgIAAIABBEGoQtICAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELWAgIAACyAAQRBqQgEQ1ICAgAACQAJAIAAoAhANACAAKQMYIQEgAEEQakIBENSAgIAAIAAoAhBBAUcNAQsACyAAIAApAxg3AwggACABNwMAIABBAhCqgICAACEBIABBIGokgICAgAAgAQsIABDCgICAAAtRAQF/I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0IEUQ0AAAsgASAAQiCIpxC+gICAACABKQMAIAEpAwgQmYGAgAAhACABQRBqJICAgIAAIAALugIEAX8BfgF/AX4jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQgRSDQACQAJAIAFCAlINAEIAIQEMAQsgAiABEMCAgIAAIAIoAgBBAUYNASACKQMIIQNCASEBCxDGgICAACACELSAgIAAAkAgAigCAEEBRw0AIAIoAgQgAigCCBC1gICAAAtBASAAQiCIpyIEEL+AgIAAIQUCQAJAIAFQDQAgBSADQgEQhICAgAAaIAIQvICAgAAgAigCAEEBRw0BIAQgAigCBCACKAIIEMGAgIAADAELIAVCARCOgICAABoLQo7yqrzw1qrrABD9gICAACEFIAIgASADEJmBgIAANwMIIAIgAEKEgICAcIM3AwAgBUHkhMCAAEECIAJBAhDagICAABCNgICAABogAkEQaiSAgICAAEICDwsAC4cBAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQm4GAgAACQCABKQMAIgBCAlENACABKQMIIQIQxoCAgAAgARC0gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQtYCAgAALEMKAgIAAEIyAgIAAIAAgAhCpgYCAACABQRBqJICAgIAAQgIPCwALmwECAn8BfiOAgICAAEEgayIBJICAgIAAIAEg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fCEGDAsLIAIgBHwgASADfCIEIAFUrXwgCn0gBCANVK19IQIgBCANfSEBIAYgDCALfEJ/fCIMIAtUrXwhBgwKCyAFQYABaiAMIAqAIgxCACAIIAlrIggQ2IGAgAAgBUHwAGogAyAEIAxCABDegYCAACAFQeAAaiAFKQNwIAUpA3ggCBDYgYCAACAFKQOIASAGfCAFKQOAASIGIAt8IgsgBlStfCEGIAcgAiAFKQNofSABIAUpA2AiDFStfSICeSABIAx9IgF5QsAAfCACQgBSG6ciCE0NASAIQT9NDQALIANQRQ0BDAILIAEgA1QiCCACIARUIAIgBFEbRQ0CIAshDAwHCyABIAOAIQILIAEgA4IhASAGIAsgAnwiDCALVK18IQZCACECDAULIAIgBH0gCK19IQIgASADfSEBIAYgC0IBfCIMUK18IQYMBAsgAiAEQgAgASADWiACIARaIAIgBFEbIggbfSABIANCACAIGyIEVK19IQIgASAEfSEBIAitIQwMAwsgASABIAOAIgwgA359IQFCACEGQgAhAgwCCyACIAIgA0L/////D4MiBIAiBiADfn1CIIYgAUIgiCIMhCAEgCICQiCGIAwgAiADfn1CIIYgAUL/////D4OEIgEgBIAiA4QhDCABIAMgBH59IQEgAkIgiCAGhCEGQgAhAgwBCyAFQTBqIAMgBEHAACAIayIIENuBgIAAIAVBIGogASACIAgQ24GAgABCACEGIAVBEGogA0IAIAUpAyAgBSkDMIAiDEIAEN6BgIAAIAUgBEIAIAxCABDegYCAACAFKQMQIQoCQAJAIAUpAwggBSkDGCINIAUpAwB8IgsgDVStfEIAUg0AIAEgClQiCCACIAtUIAIgC1EbRQ0BCyAEIAJ8IAMgAXwiASADVK18IAt9IAEgClStfSECIAxCf3whDCABIAp9IQEMAQsgAiALfSAIrX0hAiABIAp9IQFCACEGCyAAIAE3AxAgACAMNwMAIAAgAjcDGCAAIAY3AwggBUGwAWokgICAgAALoQEBAn8jgICAgABBIGsiBSSAgICAACAFQgAgAX0gASACQgBTIgYbQgAgAiABQgBSrXx9IAIgBhtCACADfSADIARCAFMiBhtCACAEIANCAFKtfH0gBCAGGxDZgYCAACAFKQMIIQMgAEIAIAUpAwAiAX0gASAEIAKFQgBT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dGVzZW5kX2NvbXBvc2VFbmRwb2ludFBlZXJlaWRwZWVyAFwCEAADAAAAXwIQAAQAAABtc2dfdHlwZW9wdGlvbnMAXAIQAAMAAAB0AhAACAAAAHwCEAAHAAAARW5mb3JjZWRPcHRpb25zZW5mb3JjZWRfb3B0aW9uX3NldGVuZm9yY2VkX29wdGlvbl9wYXJhbXO+AhAAFgAAAGFtb3VudF9yZWNlaXZlZF9sZGFtb3VudF9zZW50X2xkZHN0X2VpZGZyb21ndWlkANwCEAASAAAA7gIQAA4AAAD8AhAABwAAAAMDEAAEAAAABwMQAAQAAABvZnRfcmVjZWl2ZWRzcmNfZWlkdG8AAADcAhAAEgAAAAcDEAAEAAAAQAMQAAcAAABHAxAAAgAAAG1zZ19pbnNwZWN0b3Jfc2V0aW5zcGVjdG9yAAB9AxAACQAAAERlY2ltYWxzRGlmZlRva2VuTXNnSW5zcGVjdG9yYW1vdW50X2xkY29tcG9zZV9tc2dleHRyYV9vcHRpb25zbWluX2Ftb3VudF9sZG9mdF9jbWQAAK0DEAAJAAAAtgMQAAsAAAD8AhAABwAAAMEDEAANAAAAzgMQAA0AAADbAxAABwAAAEcDEAACAAAAbWF4X2Ftb3VudF9sZAAAABwEEAANAAAAzgMQAA0AAADcAhAAEgAAAO4CEAAOAAAAZGVzY3JpcHRpb25mZWVfYW1vdW50X2xkTAQQAAsAAABXBBAADQAAAAAAABIAAAAAAAAAAAAAABIAAAABdGhyZXNob2xkb3duZXJzaGlwX3RyYW5zZmVycmVkbmV3X293bmVyb2xkX293bmVypgQQAAkAAACvBBAACQAAAG93bmVyc2hpcF90cmFuc2ZlcnJpbmd0dGwAAACmBBAACQAAAK8EEAAJAAAA3gQQAAMAAABvd25lcnNoaXBfcmVub3VuY2VkAK8EEAAJAAAAT3duZXJQZW5kaW5nT3duZXJleHRlbmRfdG8AACkFEAAJAAAAiAQQAAkAAAB0dGxfY29uZmlnc19zZXRpbnN0YW5jZXBlcnNpc3RlbnQAAABTBRAACAAAAFsFEAAKAAAAdHRsX2NvbmZpZ3NfZnJvemVuRnJvemVuSW5zdGFuY2VQZXJzaXN0ZW50AJPXAQ5jb250cmFjdHNwZWN2MAAAAAIAAAAAAAAAAAAAAA1PRlRGZWVTdG9yYWdlAAAAAAAAAwAAAAAAAAAAAAAADURlZmF1bHRGZWVCcHMAAAAAAAABAAAAAAAAAAZGZWVCcHMAAAAAAAEAAAAEAAAAAAAAAAAAAAARRmVlRGVwb3NpdEFkZHJlc3MAAAAAAAAEAAAAAAAAAAAAAAALT0ZURmVlRXJyb3IAAAAAAwAAAAAAAAANSW52YWxpZEZlZUJwcwAAAAAADBwAAAAAAAAAGEludmFsaWRGZWVEZXBvc2l0QWRkcmVzcwAADB0AAAAAAAAACVNhbWVWYWx1ZQAAAAAADB4AAAAFAAAAAAAAAAAAAAAQRGVmYXVsdEZlZUJwc1NldAAAAAEAAAATZGVmYXVsdF9mZWVfYnBzX3NldAAAAAABAAAAAAAAAAdmZWVfYnBzAAAAAAYAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAlGZWVCcHNTZXQAAAAAAAABAAAAC2ZlZV9icHNfc2V0AAAAAAIAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAA7VGhlIGZlZSByYXRlIGluIGJhc2lzIHBvaW50cywgb3IgTm9uZSBpZiB0aGUgZmVlIGlzIHJlbW92ZWQAAAAAB2ZlZV9icHMAAAAD6AAAAAYAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABRGZWVEZXBvc2l0QWRkcmVzc1NldAAAAAEAAAAXZmVlX2RlcG9zaXRfYWRkcmVzc19zZXQAAAAAAQAAAAAAAAATZmVlX2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAST0ZUUGF1c2FibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAAEAAAAAAAAAAAAAAAQT0ZUUGF1c2FibGVFcnJvcgAAAAIAAAAAAAAABlBhdXNlZAAAAAAMJgAAAAAAAAAUUGF1c2VTdGF0dXNVbmNoYW5nZWQAAAwnAAAABQAAAAAAAAAAAAAACVBhdXNlZFNldAAAAAAAAAEAAAAKcGF1c2VkX3NldAAAAAAAAQAAAAAAAAAGcGF1c2VkAAAAAAABAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJRGlyZWN0aW9uAAAAAAAAAgAAAAAAAAAAAAAAB0luYm91bmQAAAAAAAAAAAAAAAAIT3V0Ym91bmQAAAABAAAAOUNvbmZpZ3VyYXRpb24gZm9yIHJhdGUgbGltaXRpbmcsIHVzZWQgYXMgaW5wdXQgcGFyYW1ldGVyLgAAAAAAAAAAAAAPUmF0ZUxpbWl0Q29uZmlnAAAAAAIAAAAAAAAABWxpbWl0AAAAAAAACwAAAAAAAAAOd2luZG93X3NlY29uZHMAAAAAAAYAAAAEAAAAAAAAAAAAAAAOUmF0ZUxpbWl0RXJyb3IAAAAAAAUAAAAAAAAAEUV4Y2VlZGVkUmF0ZUxpbWl0AAAAAAAMMAAAAAAAAAANSW52YWxpZEFtb3VudAAAAAAADDEAAAAAAAAAEEludmFsaWRUaW1lc3RhbXAAAAwyAAAAAAAAAA1JbnZhbGlkQ29uZmlnAAAAAAAMMwAAAAAAAAAJU2FtZVZhbHVlAAAAAAAMNAAAAAUAAAAAAAAAAAAAAAxSYXRlTGltaXRTZXQAAAABAAAADnJhdGVfbGltaXRfc2V0AAAAAAADAAAAAAAAAAlkaXJlY3Rpb24AAAAAAAfQAAAACURpcmVjdGlvbgAAAAAAAAAAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAEJUaGUgcmF0ZSBsaW1pdCBjb25maWd1cmF0aW9uLCBvciBOb25lIGlmIHRoZSByYXRlIGxpbWl0IGlzIHJlbW92ZWQAAAAAAAZjb25maWcAAAAAA+gAAAfQAAAAD1JhdGVMaW1pdENvbmZpZwAAAAAAAAAAAgAAAAMAAAAeVGhlIHR5cGUgb2YgT0ZUIG9wZXJhdGlvbiBtb2RlAAAAAAAAAAAAB09mdFR5cGUAAAAAAgAAACZMb2NrIHRva2VucyBvbiBzZW5kLCB1bmxvY2sgb24gcmVjZWl2ZQAAAAAACkxvY2tVbmxvY2sAAAAAAAAAAAAkQnVybiB0b2tlbnMgb24gc2VuZCwgbWludCBvbiByZWNlaXZlAAAACE1pbnRCdXJuAAAAAQAAAAAAAADqU2V0cyBvciByZW1vdmVzIGEgcmF0ZSBsaW1pdCBmb3IgYSBzcGVjaWZpYyBkaXJlY3Rpb24gYW5kIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgZGlyZWN0aW9uYCAtIFRoZSBkaXJlY3Rpb24gKEluYm91bmQgb3IgT3V0Ym91bmQpCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgY29uZmlnYCAtIFRoZSByYXRlIGxpbWl0IGNvbmZpZ3VyYXRpb24sIG9yIE5vbmUgdG8gcmVtb3ZlIHRoZSByYXRlIGxpbWl0AAAAAAAOc2V0X3JhdGVfbGltaXQAAAAAAAMAAAAAAAAACWRpcmVjdGlvbgAAAAAAB9AAAAAJRGlyZWN0aW9uAAAAAAAAAAAAAANlaWQAAAAABAAAAAAAAAAGY29uZmlnAAAAAAPoAAAH0AAAAA9SYXRlTGltaXRDb25maWcAAAAAAAAAAAAAAABvUmV0dXJucyB0aGUgcmF0ZSBsaW1pdCBjb25maWd1cmF0aW9uIGZvciBhIGRpcmVjdGlvbiBhbmQgZW5kcG9pbnQuClJldHVybnMgTm9uZSBpZiBubyByYXRlIGxpbWl0IGlzIGNvbmZpZ3VyZWQuAAAAABFyYXRlX2xpbWl0X2NvbmZpZwAAAAAAAAIAAAAAAAAACWRpcmVjdGlvbgAAAAAAB9AAAAAJRGlyZWN0aW9uAAAAAAAAAAAAAANlaWQAAAAABAAAAAEAAAPoAAAH0AAAAA9SYXRlTGltaXRDb25maWcAAAAAAAAAAEJSZXR1cm5zIHRoZSBjdXJyZW50IGluLWZsaWdodCBhbW91bnQgZm9yIGEgZGlyZWN0aW9uIGFuZCBlbmRwb2ludC4AAAAAABRyYXRlX2xpbWl0X2luX2ZsaWdodAAAAAIAAAAAAAAACWRpcmVjdGlvbgAAAAAAB9AAAAAJRGlyZWN0aW9uAAAAAAAAAAAAAANlaWQAAAAABAAAAAEAAAALAAAAAAAAAG5SZXR1cm5zIHRoZSBhdmFpbGFibGUgY2FwYWNpdHkgZm9yIGEgZGlyZWN0aW9uIGFuZCBlbmRwb2ludC4KUmV0dXJucyBpMTI4OjpNQVggaWYgbm8gcmF0ZSBsaW1pdCBpcyBjb25maWd1cmVkLgAAAAAAE3JhdGVfbGltaXRfY2FwYWNpdHkAAAAAAgAAAAAAAAAJZGlyZWN0aW9uAAAAAAAH0AAAAAlEaXJlY3Rpb24AAAAAAAAAAAAAA2VpZAAAAAAEAAAAAQAAAAsAAAAAAAAAKlNldHMgdGhlIGRlZmF1bHQgZmVlIHJhdGUgaW4gYmFzaXMgcG9pbnRzLgAAAAAAE3NldF9kZWZhdWx0X2ZlZV9icHMAAAAAAQAAAAAAAAAPZGVmYXVsdF9mZWVfYnBzAAAAAAYAAAAAAAAAAAAAAMdTZXRzIG9yIHJlbW92ZXMgdGhlIGZlZSByYXRlIGZvciBhIHNwZWNpZmljIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgZHN0X2VpZGAgLSBUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQKKiBgZmVlX2Jwc2AgLSBUaGUgZmVlIHJhdGUgKDAtMTAsMDAwKSwgb3IgTm9uZSB0byByZW1vdmUgdGhlIGZlZSBjb25maWd1cmF0aW9uAAAAAAtzZXRfZmVlX2JwcwAAAAACAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAAAAAAAB2ZlZV9icHMAAAAD6AAAAAYAAAAAAAAAAAAAADhTZXRzIHRoZSBhZGRyZXNzIHdoZXJlIGNvbGxlY3RlZCBmZWVzIHdpbGwgYmUgZGVwb3NpdGVkLgAAABdzZXRfZmVlX2RlcG9zaXRfYWRkcmVzcwAAAAABAAAAAAAAABNmZWVfZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAAAAAC1SZXR1cm5zIHRoZSBkZWZhdWx0IGZlZSByYXRlIGluIGJhc2lzIHBvaW50cy4AAAAAAAAPZGVmYXVsdF9mZWVfYnBzAAAAAAAAAAABAAAABgAAAAAAAAA4UmV0dXJucyB0aGUgZmVlIHJhdGUgZm9yIGEgc3BlY2lmaWMgZGVzdGluYXRpb24sIGlmIHNldC4AAAAHZmVlX2JwcwAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAAAYAAAAAAAAAU1JldHVybnMgdGhlIGVmZmVjdGl2ZSBmZWUgcmF0ZSBmb3IgYSBkZXN0aW5hdGlvbiAoZGVzdGluYXRpb24tc3BlY2lmaWMgb3IgZGVmYXVsdCkuAAAAABFlZmZlY3RpdmVfZmVlX2JwcwAAAAAAAAEAAAAAAAAAB2RzdF9laWQAAAAABAAAAAEAAAAGAAAAAAAAACBSZXR1cm5zIHRoZSBmZWUgZGVwb3NpdCBhZGRyZXNzLgAAABNmZWVfZGVwb3NpdF9hZGRyZXNzAAAAAAAAAAABAAAAEwAAAAAAAACzU2V0cyB0aGUgcGF1c2VkIHN0YXRlIG9mIHRoZSBPRlQuCgpXaGVuIHBhdXNlZCwgdGhlIE9GVCB3aWxsIHJlamVjdCBuZXcgc2VuZC9yZWNlaXZlL3F1b3RlX3NlbmQvcXVvdGVfb2Z0IG9wZXJhdGlvbnMuCgojIEFyZ3VtZW50cwoqIGBwYXVzZWRgIC0gYHRydWVgIHRvIHBhdXNlLCBgZmFsc2VgIHRvIHVucGF1c2UAAAAACnNldF9wYXVzZWQAAAAAAAEAAAAAAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAAAAAAJFJldHVybnMgdGhlIHBhdXNlZCBzdGF0ZSBvZiB0aGUgT0ZULgAAAAlpc19wYXVzZWQAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAAAAAAlxdW90ZV9vZnQAAAAAAAABAAAAAAAAAApzZW5kX3BhcmFtAAAAAAfQAAAACVNlbmRQYXJhbQAAAAAAAAEAAAPtAAAAAwAAB9AAAAAIT0ZUTGltaXQAAAPqAAAH0AAAAAxPRlRGZWVEZXRhaWwAAAfQAAAACk9GVFJlY2VpcHQAAAAAAAAAAAA1UmV0cmlldmVzIHRoZSB0b2tlbiBhZGRyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIE9GVC4AAAAAAAAFdG9rZW4AAAAAAAAAAAAAAQAAABMAAAAAAAAAJlJldHVybnMgT0ZUIHZlcnNpb24gYXMgKG1ham9yLCBtaW5vcikuAAAAAAALb2Z0X3ZlcnNpb24AAAAAAAAAAAEAAAPtAAAAAgAAAAYAAAAGAAAAAAAAAEFSZXRyaWV2ZXMgdGhlIHNoYXJlZCBkZWNpbWFscyB1c2VkIGZvciBjcm9zcy1jaGFpbiBub3JtYWxpemF0aW9uLgAAAAAAAA9zaGFyZWRfZGVjaW1hbHMAAAAAAAAAAAEAAAAEAAAAAAAAAElSZXRyaWV2ZXMgdGhlIGRlY2ltYWwgY29udmVyc2lvbiByYXRlIHVzZWQgZm9yIGNyb3NzLWNoYWluIG5vcm1hbGl6YXRpb24uAAAAAAAAF2RlY2ltYWxfY29udmVyc2lvbl9yYXRlAAAAAAAAAAABAAAACwAAAAAAAADqV2hldGhlciBhIHNlcGFyYXRlIHRva2VuIGFwcHJvdmFsIGlzIHJlcXVpcmVkIGJlZm9yZSBzZW5kaW5nLgoKSGVscHMgd2FsbGV0IGltcGxlbWVudGVycyBkZXRlcm1pbmUgaW50ZWdyYXRpb24gcmVxdWlyZW1lbnRzLgoKIyBSZXR1cm5zCi0gYHRydWVgIGlmIGEgc2VwYXJhdGUgdG9rZW4gYXBwcm92YWwgc3RlcCBpcyByZXF1aXJlZAotIGBmYWxzZWAgaWYgbm8gc2VwYXJhdGUgYXBwcm92YWwgaXMgbmVlZGVkAAAAAAARYXBwcm92YWxfcmVxdWlyZWQAAAAAAAAAAAAAAQAAAAEAAAAAAAAALVJldHVybnMgdGhlIG1lc3NhZ2UgaW5zcGVjdG9yIGFkZHJlc3MgaWYgc2V0LgAAAAAAAA1tc2dfaW5zcGVjdG9yAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAAFlU2V0cyBvciByZW1vdmVzIHRoZSBtZXNzYWdlIGluc3BlY3RvciBhZGRyZXNzLgoKVGhlIG1lc3NhZ2UgaW5zcGVjdG9yIGlzIGFuIG9wdGlvbmFsIGNvbnRyYWN0IHRoYXQgdmFsaWRhdGVzIG91dGdvaW5nIG1lc3NhZ2VzCmFuZCBvcHRpb25zIGJlZm9yZSB0aGV5IGFyZSBzZW50IGNyb3NzLWNoYWluLiBJZiBzZXQsIHRoZSBpbnNwZWN0b3IncyBgaW5zcGVjdGAKbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGR1cmluZyBgc2VuZGAgYW5kIGBxdW90ZV9zZW5kYCBvcGVyYXRpb25zLgoKIyBBcmd1bWVudHMKKiBgaW5zcGVjdG9yYCAtIFRoZSBhZGRyZXNzIG9mIHRoZSBpbnNwZWN0b3IgY29udHJhY3QsIG9yIE5vbmUgdG8gcmVtb3ZlAAAAAAAAEXNldF9tc2dfaW5zcGVjdG9yAAAAAAAAAQAAAAAAAAAJaW5zcGVjdG9yAAAAAAAD6AAAABMAAAAAAAAAAAAAADtRdW90ZXMgYSBzZW5kIG9wZXJhdGlvbiBpbmNsdWRpbmcgTGF5ZXJaZXJvIG1lc3NhZ2luZyBmZWVzLgAAAAAKcXVvdGVfc2VuZAAAAAAAAwAAAAAAAAAEZnJvbQAAABMAAAAAAAAACnNlbmRfcGFyYW0AAAAAB9AAAAAJU2VuZFBhcmFtAAAAAAAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAAAQAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAAAAAAHRTZW5kcyB0b2tlbnMgY3Jvc3MtY2hhaW4gdG8gYW5vdGhlciBlbmRwb2ludC4KCkZyb20gbXVzdCBiZSBhdXRoZW50aWNhdGVkLgoKIyBSZXR1cm5zCihNZXNzYWdpbmdSZWNlaXB0LCBPRlRSZWNlaXB0KQAAAARzZW5kAAAABAAAAAAAAAAEZnJvbQAAABMAAAAAAAAACnNlbmRfcGFyYW0AAAAAB9AAAAAJU2VuZFBhcmFtAAAAAAAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAAAAAAADnJlZnVuZF9hZGRyZXNzAAAAAAATAAAAAQAAA+0AAAACAAAH0AAAABBNZXNzYWdpbmdSZWNlaXB0AAAH0AAAAApPRlRSZWNlaXB0AAAAAAAAAAAAAAAAAA1fX2NvbnN0cnVjdG9yAAAAAAAABgAAAAAAAAAFdG9rZW4AAAAAAAATAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAACGVuZHBvaW50AAAAEwAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAAPc2hhcmVkX2RlY2ltYWxzAAAAAAQAAAAAAAAACG9mdF90eXBlAAAH0AAAAAdPZnRUeXBlAAAAAAAAAAAAAAAAQ1JldHVybnMgdGhlIHR5cGUgb2Ygb3BlcmF0aW9uIGZvciB0aGlzIE9GVCAoTG9ja1VubG9jayBvciBNaW50QnVybikAAAAACG9mdF90eXBlAAAAAAAAAAEAAAfQAAAAB09mdFR5cGUAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAK5SZXRyaWV2ZXMgdGhlIE9BcHAgdmVyc2lvbiBpbmZvcm1hdGlvbi4KCiMgUmV0dXJucwpBIHR1cGxlIGNvbnRhaW5pbmc6Ci0gYHNlbmRlcl92ZXJzaW9uYDogVGhlIHZlcnNpb24gb2YgdGhlIE9BcHBTZW5kZXIKLSBgcmVjZWl2ZXJfdmVyc2lvbmA6IFRoZSB2ZXJzaW9uIG9mIHRoZSBPQXBwUmVjZWl2ZXIAAAAAAAxvYXBwX3ZlcnNpb24AAAAAAAAAAQAAA+0AAAACAAAABgAAAAYAAAAAAAAAbFJldHJpZXZlcyB0aGUgTGF5ZXJaZXJvIGVuZHBvaW50IGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBPQXBwLgoKIyBSZXR1cm5zClRoZSBMYXllclplcm8gZW5kcG9pbnQgYWRkcmVzcwAAAAhlbmRwb2ludAAAAAAAAAABAAAAEwAAAAAAAADBUmV0cmlldmVzIHRoZSBwZWVyIChPQXBwKSBhc3NvY2lhdGVkIHdpdGggYSBjb3JyZXNwb25kaW5nIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIFRoZSBlbmRwb2ludCBJRAoKIyBSZXR1cm5zClRoZSBwZWVyIGFkZHJlc3MgKE9BcHAgaW5zdGFuY2UpIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBlbmRwb2ludAAAAAAAAARwZWVyAAAAAQAAAAAAAAADZWlkAAAAAAQAAAABAAAD6AAAA+4AAAAgAAAAAAAAAOVTZXRzIG9yIHJlbW92ZXMgdGhlIHBlZXIgYWRkcmVzcyAoT0FwcCBpbnN0YW5jZSkgZm9yIGEgY29ycmVzcG9uZGluZyBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBUaGUgZW5kcG9pbnQgSUQKKiBgcGVlcmAgLSBUaGUgYWRkcmVzcyBvZiB0aGUgcGVlciB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnQsIG9yIE5vbmUgdG8gcmVtb3ZlIHRoZSBwZWVyAAAAAAAACHNldF9wZWVyAAAAAgAAAAAAAAADZWlkAAAAAAQAAAAAAAAABHBlZXIAAAPoAAAD7gAAACAAAAAAAAAAAAAAAI5TZXRzIHRoZSBkZWxlZ2F0ZSBhZGRyZXNzIGZvciB0aGUgT0FwcCBDb3JlLgoKIyBBcmd1bWVudHMKKiBgZGVsZWdhdGVgIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIGRlbGVnYXRlIHRvIGJlIHNldCwgb3IgTm9uZSB0byByZW1vdmUgdGhlIGRlbGVnYXRlAAAAAAAMc2V0X2RlbGVnYXRlAAAAAQAAAAAAAAAIZGVsZWdhdGUAAAPoAAAAEwAAAAAAAAAAAAAAt0NoZWNrcyBpZiBhIG1lc3NhZ2luZyBwYXRoIGNhbiBiZSBpbml0aWFsaXplZCBmb3IgdGhlIGdpdmVuIG9yaWdpbi4KCiMgQXJndW1lbnRzCiogYG9yaWdpbmAgLSBUaGUgb3JpZ2luIG9mIHRoZSBtZXNzYWdlCgojIFJldHVybnMKVHJ1ZSBpZiB0aGUgcGF0aCBjYW4gYmUgaW5pdGlhbGl6ZWQsIGZhbHNlIG90aGVyd2lzZQAAAAAVYWxsb3dfaW5pdGlhbGl6ZV9wYXRoAAAAAAAAAQAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAQAAAAEAAAAAAAAB+FJldHJpZXZlcyB0aGUgbmV4dCBub25jZSBmb3IgYSBnaXZlbiBzb3VyY2UgZW5kcG9pbnQgYW5kIHNlbmRlciBhZGRyZXNzLgoKVGhlIHBhdGggbm9uY2Ugc3RhcnRzIGZyb20gMS4gSWYgMCBpcyByZXR1cm5lZCBpdCBtZWFucyB0aGF0IHRoZXJlIGlzIE5PIG5vbmNlIG9yZGVyZWQgZW5mb3JjZW1lbnQuClRoaXMgaXMgcmVxdWlyZWQgYnkgdGhlIG9mZi1jaGFpbiBleGVjdXRvciB0byBkZXRlcm1pbmUgaWYgdGhlIE9BcHAgZXhwZWN0cyBtZXNzYWdlIGV4ZWN1dGlvbiB0byBiZSBvcmRlcmVkLgpUaGlzIGlzIGFsc28gZW5mb3JjZWQgYnkgdGhlIE9BcHAuCkJ5IGRlZmF1bHQgdGhpcyBpcyBOT1QgZW5hYmxlZCwgaS5lLiBuZXh0X25vbmNlIGlzIGhhcmRjb2RlZCB0byByZXR1cm4gMC4KCiMgQXJndW1lbnRzCiogYHNyY19laWRgIC0gVGhlIHNvdXJjZSBlbmRwb2ludCBJRAoqIGBzZW5kZXJgIC0gVGhlIHNlbmRlciBPQXBwIGFkZHJlc3MKCiMgUmV0dXJucwpUaGUgbmV4dCBub25jZQAAAApuZXh0X25vbmNlAAAAAAACAAAAAAAAAAdzcmNfZWlkAAAAAAQAAAAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAABAAAABgAAAAAAAAMjRW50cnkgcG9pbnQgZm9yIHJlY2VpdmluZyBtZXNzYWdlcyBvciBwYWNrZXRzIGZyb20gdGhlIExheWVyWmVybyBlbmRwb2ludC4KClRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGNhbGxzIGBjbGVhcl9wYXlsb2FkX2FuZF90cmFuc2ZlcmAgdG8gdmFsaWRhdGUgdGhlIG1lc3NhZ2UKYW5kIGNsZWFyIGl0IGZyb20gdGhlIGVuZHBvaW50LCB0aGVuIGRlbGVnYXRlcyB0byBgX19sel9yZWNlaXZlYCBmb3IgYXBwbGljYXRpb24gbG9naWMuCgojIEFyZ3VtZW50cwoqIGBleGVjdXRvcmAgLSBUaGUgYWRkcmVzcyBvZiB0aGUgZXhlY3V0b3IgZm9yIHRoZSByZWNlaXZlZCBtZXNzYWdlCiogYG9yaWdpbmAgLSBUaGUgb3JpZ2luIGluZm9ybWF0aW9uIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBlbmRwb2ludCBhbmQgc2VuZGVyIGFkZHJlc3M6Ci0gYHNyY19laWRgOiBUaGUgc291cmNlIGNoYWluIGVuZHBvaW50IElECi0gYHNlbmRlcmA6IFRoZSBzZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluCi0gYG5vbmNlYDogVGhlIG5vbmNlIG9mIHRoZSBtZXNzYWdlCiogYGd1aWRgIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcmVjZWl2ZWQgTGF5ZXJaZXJvIG1lc3NhZ2UKKiBgbWVzc2FnZWAgLSBUaGUgcGF5bG9hZCBvZiB0aGUgcmVjZWl2ZWQgbWVzc2FnZQoqIGBleHRyYV9kYXRhYCAtIEFkZGl0aW9uYWwgYXJiaXRyYXJ5IGRhdGEgcHJvdmlkZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgZXhlY3V0b3IKKiBgdmFsdWVgIC0gVGhlIG5hdGl2ZSB0b2tlbiB2YWx1ZSBzZW50IHdpdGggdGhlIG1lc3NhZ2UAAAAACmx6X3JlY2VpdmUAAAAAAAYAAAAAAAAACGV4ZWN1dG9yAAAAEwAAAAAAAAAGb3JpZ2luAAAAAAfQAAAABk9yaWdpbgAAAAAAAAAAAARndWlkAAAD7gAAACAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAKZXh0cmFfZGF0YQAAAAAADgAAAAAAAAAFdmFsdWUAAAAAAAALAAAAAAAAAAAAAAHsSW5kaWNhdGVzIHdoZXRoZXIgYW4gYWRkcmVzcyBpcyBhbiBhcHByb3ZlZCBjb21wb3NlTXNnIHNlbmRlciB0byB0aGUgRW5kcG9pbnQuCgpBcHBsaWNhdGlvbnMgY2FuIG9wdGlvbmFsbHkgY2hvb3NlIHRvIGltcGxlbWVudCBzZXBhcmF0ZSBjb21wb3NlTXNnIHNlbmRlcnMgdGhhdCBhcmUgTk9UIHRoZSBicmlkZ2luZyBsYXllci4KVGhlIGRlZmF1bHQgc2VuZGVyIElTIHRoZSBPQXBwUmVjZWl2ZXIgaW1wbGVtZW50ZXIuCgojIEFyZ3VtZW50cwoqIGBvcmlnaW5gIC0gVGhlIG9yaWdpbiBpbmZvcm1hdGlvbiBjb250YWluaW5nIHRoZSBzb3VyY2UgZW5kcG9pbnQgYW5kIHNlbmRlciBhZGRyZXNzCiogYG1lc3NhZ2VgIC0gVGhlIGx6UmVjZWl2ZSBwYXlsb2FkCiogYHNlbmRlcmAgLSBUaGUgc2VuZGVyIGFkZHJlc3MgdG8gY2hlY2sKCiMgUmV0dXJucwpUcnVlIGlmIHRoZSBzZW5kZXIgaXMgYSB2YWxpZCBjb21wb3NlTXNnIHNlbmRlciwgZmFsc2Ugb3RoZXJ3aXNlAAAAFWlzX2NvbXBvc2VfbXNnX3NlbmRlcgAAAAAAAAMAAAAAAAAABm9yaWdpbgAAAAAH0AAAAAZPcmlnaW4AAAAAAAAAAAAHbWVzc2FnZQAAAAAOAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAQAAAAAAAADZUmV0cmlldmVzIHRoZSBlbmZvcmNlZCBvcHRpb25zIGZvciBhIGdpdmVuIGVuZHBvaW50IGFuZCBtZXNzYWdlIHR5cGUuCgojIEFyZ3VtZW50cwoqIGBlaWRgIC0gVGhlIGVuZHBvaW50IElECiogYG1zZ190eXBlYCAtIFRoZSBPQXBwIG1lc3NhZ2UgdHlwZQoKIyBSZXR1cm5zClRoZSBlbmZvcmNlZCBvcHRpb25zIGZvciB0aGUgZ2l2ZW4gZW5kcG9pbnQgYW5kIG1lc3NhZ2UgdHlwZQAAAAAAABBlbmZvcmNlZF9vcHRpb25zAAAAAgAAAAAAAAADZWlkAAAAAAQAAAAAAAAACG1zZ190eXBlAAAABAAAAAEAAAAOAAAAAAAAAptTZXRzIHRoZSBlbmZvcmNlZCBvcHRpb25zIGZvciBzcGVjaWZpYyBlbmRwb2ludCBhbmQgbWVzc2FnZSB0eXBlIGNvbWJpbmF0aW9ucy4KCk9ubHkgdGhlIGBhdXRob3JpemVyYCBvZiB0aGUgT0FwcCBjYW4gY2FsbCB0aGlzIGZ1bmN0aW9uLgpQcm92aWRlcyBhIHdheSBmb3IgdGhlIE9BcHAgdG8gZW5mb3JjZSB0aGluZ3MgbGlrZSBwYXlpbmcgZm9yIFByZUNyaW1lLCBBTkQvT1IgbWluaW11bSBkc3QgbHpSZWNlaXZlIGdhcyBhbW91bnRzIGV0Yy4KVGhlc2UgZW5mb3JjZWQgb3B0aW9ucyBjYW4gdmFyeSBhcyB0aGUgcG90ZW50aWFsIG9wdGlvbnMvZXhlY3V0aW9uIG9uIHRoZSByZW1vdGUgbWF5IGRpZmZlciBhcyBwZXIgdGhlIG1zZ190eXBlLgplLmcuIEFtb3VudCBvZiBselJlY2VpdmUoKSBnYXMgbmVjZXNzYXJ5IHRvIGRlbGl2ZXIgYSBsekNvbXBvc2UoKSBtZXNzYWdlIGFkZHMgb3ZlcmhlYWQgeW91IGRvbid0IHdhbnQgdG8gcGF5CmlmIHlvdSBhcmUgb25seSBtYWtpbmcgYSBzdGFuZGFyZCBMYXllclplcm8gbWVzc2FnZSBpZS4gbHpSZWNlaXZlKCkgV0lUSE9VVCBzZW5kQ29tcG9zZSgpLgoKIyBBcmd1bWVudHMKKiBgb3B0aW9uc2AgLSBBIHZlY3RvciBvZiBFbmZvcmNlZE9wdGlvblBhcmFtIHN0cnVjdHVyZXMgc3BlY2lmeWluZyBlbmZvcmNlZCBvcHRpb25zAAAAABRzZXRfZW5mb3JjZWRfb3B0aW9ucwAAAAEAAAAAAAAAB29wdGlvbnMAAAAD6gAAB9AAAAATRW5mb3JjZWRPcHRpb25QYXJhbQAAAAAAAAAAAAAAAnpDb21iaW5lcyBvcHRpb25zIGZvciBhIGdpdmVuIGVuZHBvaW50IGFuZCBtZXNzYWdlIHR5cGUuCgpJZiB0aGVyZSBpcyBhbiBlbmZvcmNlZCBselJlY2VpdmUgb3B0aW9uOgotIHtnYXNfbGltaXQ6IDIwMGssIHZhbHVlOiAxIFhMTX0gQU5EIGEgY2FsbGVyIHN1cHBsaWVzIGEgbHpSZWNlaXZlIG9wdGlvbjoge2dhc19saW1pdDogMTAwaywgdmFsdWU6IDAuNSBYTE19Ci0gVGhlIHJlc3VsdGluZyBvcHRpb25zIHdpbGwgYmUge2dhc19saW1pdDogMzAwaywgdmFsdWU6IDEuNSBYTE19IHdoZW4gdGhlIG1lc3NhZ2UgaXMgZXhlY3V0ZWQgb24gdGhlIHJlbW90ZSBsel9yZWNlaXZlKCkgZnVuY3Rpb24uClRoZSBwcmVzZW5jZSBvZiBkdXBsaWNhdGVkIG9wdGlvbnMgaXMgaGFuZGxlZCBvZmYtY2hhaW4gaW4gdGhlIHZlcmlmaWVyL2V4ZWN1dG9yLgoKIyBBcmd1bWVudHMKKiBgZWlkYCAtIFRoZSBlbmRwb2ludCBJRAoqIGBtc2dfdHlwZWAgLSBUaGUgT0FwcCBtZXNzYWdlIHR5cGUKKiBgZXh0cmFfb3B0aW9uc2AgLSBBZGRpdGlvbmFsIG9wdGlvbnMgcGFzc2VkIGJ5IHRoZSBjYWxsZXIKCiMgUmV0dXJucwpUaGUgY29tYmluYXRpb24gb2YgY2FsbGVyIHNwZWNpZmllZCBvcHRpb25zIEFORCBlbmZvcmNlZCBvcHRpb25zAAAAAAAPY29tYmluZV9vcHRpb25zAAAAAAMAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAhtc2dfdHlwZQAAAAQAAAAAAAAADWV4dHJhX29wdGlvbnMAAAAAAAAOAAAAAQAAAA4A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AAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAAAAAAAE1BheWxvYWRIYXNoTm90Rm91bmQAAAAAFAAAAAAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAAAAAAAMVW5hdXRob3JpemVkAAAAFgAAAAAAAAAOVW5zdXBwb3J0ZWRFaWQAAAAAABcAAAAAAAAAClplcm9acm9GZWUAAAAAABgAAAAAAAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAKFVuaXggdGltZXN0YW1wIHdoZW4gdGhlIHRpbWVvdXQgZXhwaXJlcy4AAAAGZXhwaXJ5AAAAAAAGAAAAKVRoZSBuZXcgbGlicmFyeSBhZGRyZXNzIHRvIHRyYW5zaXRpb24gdG8uAAAAAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5l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IChPcHRpb25hbCkAAAALY29tcG9zZV9tc2cAAAAADgAAABtUaGUgZGVzdGluYXRpb24gZW5kcG9pbnQgSUQAAAAAB2RzdF9laWQAAAAABAAAADdBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIHRoZSBMYXllclplcm8gbWVzc2FnZSAoT3B0aW9uYWwpAAAAAA1leHRyYV9vcHRpb25zAAAAAAAADgAAAEVUaGUgbWluaW11bSBhbW91bnQgdG8gcmVjZWl2ZSBpbiBsb2NhbCBkZWNpbWFscyAoc2xpcHBhZ2UgcHJvdGVjdGlvbikAAAAAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAAqT0ZUIGNvbW1hbmQgZm9yIGN1c3RvbSBiZWhhdmlvciAoT3B0aW9uYWwpAAAAAAAHb2Z0X2NtZAAAAAAOAAAAOVRoZSByZWNpcGllbnQgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKQAAAAAAAAJ0bwAAAAAD7gAAACAAAAABAAAAIlRyYW5zZmVyIGxpbWl0cyBmb3IgT0ZUIG9wZXJhdGlvbnMAAAAAAAAAAAAIT0ZUTGltaXQAAAACAAAALFRoZSBtYXhpbXVtIGFtb3VudCB0byBzZW5kIGluIGxvY2FsIGRlY2ltYWxzAAAADW1heF9hbW91bnRfbGQAAAAAAAALAAAALFRoZSBtaW5pbXVtIGFtb3VudCB0byBzZW5kIGluIGxvY2FsIGRlY2ltYWxzAAAADW1pbl9hbW91bnRfbGQAAAAAAAALAAAAAQAAAD9SZWNlaXB0IGNvbnRhaW5pbmcgYW1vdW50cyBzZW50IGFuZCByZWNlaXZlZCBpbiBhbiBPRlQgdHJhbnNmZXIAAAAAAAAAAApPRlRSZWNlaXB0AAAAAAACAAAAM1RoZSBhbW91bnQgcmVjZWl2ZWQgaW4gbG9jYWwgZGVjaW1hbHMgb24gdGhlIHJlbW90ZQAAAAASYW1vdW50X3JlY2VpdmVkX2xkAAAAAAALAAAAIVRoZSBhbW91bnQgc2VudCBpbiBsb2NhbCBkZWNpbWFscwAAAAAAAA5hbW91bnRfc2VudF9sZAAAAAAACwAAAAEAAAAuRGV0YWlscyBhYm91dCBmZWVzIGNoYXJnZWQgaW4gYW4gT0ZUIG9wZXJhdGlvbgAAAAAAAAAAAAxPRlRGZWVEZXRhaWwAAAACAAAAGlRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZmVlAAAAAAALZGVzY3JpcHRpb24AAAAADgAAAH9UaGUgYW1vdW50IG9mIHRoZSBmZWUgaW4gbG9jYWwgZGVjaW1hbHMuIFBvc2l0aXZlIHZhbHVlcyByZXByZXNlbnQgZmVlcyBjaGFyZ2VkLAp3aGlsZSBuZWdhdGl2ZSB2YWx1ZXMgcmVwcmVzZW50IHJld2FyZHMgZ2l2ZW4uAAAAAA1mZWVfYW1vdW50X2xkAAAAAAAACwAAAAQAAAAcQnVmZmVyUmVhZGVyRXJyb3I6IDEwMDAtMTAwOQAAAAAAAAARQnVmZmVyUmVhZGVyRXJyb3IAAAAAAAACAAAAAAAAAA1JbnZhbGlkTGVuZ3RoAAAAAAAD6AAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD6QAAAAQAAAAcQnVmZmVyV3JpdGVyRXJyb3I6IDEwMTAtMTAxOQAAAAAAAAARQnVmZmVyV3JpdGVyRXJyb3IAAAAAAAABAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPyAAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4AAAAEAAAAF093bmFibGVFcnJvcjogMTAzMC0xMDM5AAAAAAAAAAAMT3duYWJsZUVycm9yAAAABgAAAAAAAAATSW52YWxpZFBlbmRpbmdPd25lcgAAAAQGAAAAAAAAAApJbnZhbGlkVHRsAAAAAAQHAAAAAAAAABFOb1BlbmRpbmdUcmFuc2ZlcgAAAAAABAgAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQJAAAAAAAAAAtPd25lck5vdFNldAAAAAQKAAAAAAAAABJUcmFuc2ZlckluUHJvZ3Jlc3MAAAAABAsAAAAEAAAAGEJ5dGVzRXh0RXJyb3I6IDEwNDAtMTA0OQAAAAAAAAANQnl0ZXNFeHRFcnJvcgAAAAAAAAEAAAAAAAAADkxlbmd0aE1pc21hdGNoAAAAAAQQAAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAwAAAAAAAAAUSW52YWxpZE1pZ3JhdGlvbkRhdGEAAAQaAAAAAAAAABNNaWdyYXRpb25Ob3RBbGxvd2VkAAAABBsAAAAAAAAADlVwZ3JhZGVzRnJvemVuAAAAAAQcAAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCsAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHNpZ25lciBpcyBhZGRlZCBvciByZW1vdmVkLgAAAAAAAAAJU2lnbmVyU2V0AAAAAAAAAQAAAApzaWduZXJfc2V0AAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAQAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAANkV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgc2lnbmF0dXJlIHRocmVzaG9sZCBpcyBjaGFuZ2VkLgAAAAAAAAAAAAxUaHJlc2hvbGRTZXQAAAABAAAADXRocmVzaG9sZF9zZXQAAAAAAAABAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAPTXVsdGlzaWdTdG9yYWdlAAAAAAIAAAAAAAAAAAAAAAdTaWduZXJzAAAAAAAAAAAAAAAACVRocmVzaG9sZAAAAAAAAAUAAABXRXZlbnQgZW1pdHRlZCB3aGVuIG93bmVyc2hpcCBpcyB0cmFuc2ZlcnJlZCAoYm90aCBzaW5nbGUtc3RlcCBhbmQgdHdvLXN0ZXAgY29tcGxldGlvbikuAAAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAIAAAAFAAAAO0V2ZW50IGVtaXR0ZWQgd2hlbiBhIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIgaXMgcHJvcG9zZWQuAAAAAAAAAAAVT3duZXJzaGlwVHJhbnNmZXJyaW5nAAAAAAAAAQAAABZvd25lcnNoaXBfdHJhbnNmZXJyaW5nAAAAAAADAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAAAAAAAA3R0bAAAAAAEAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgcmVub3VuY2VkLgAAAAAAAAAAABJPd25lcnNoaXBSZW5vdW5jZWQAAAAAAAEAAAATb3duZXJzaGlwX3Jlbm91bmNlZAAAAAABAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAOT3duYWJsZVN0b3JhZ2UAAAAAAAIAAAAAAAAAAAAAAAVPd25lcgAAAAAAAAAAAAAAAAAADFBlbmRpbmdPd25lcgAAAAEAAABJVFRMIGNvbmZpZ3VyYXRpb246IHRocmVzaG9sZCAod2hlbiB0byBleHRlbmQpIGFuZCBleHRlbmRfdG8gKHRhcmdldCBUVEwpLgAAAAAAAAAAAAAJVHRsQ29uZmlnAAAAAAAAAgAAAChUYXJnZXQgVFRMIGFmdGVyIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAACWV4dGVuZF90bwAAAAAAAAQAAAAzVFRMIHRocmVzaG9sZCB0aGF0IHRyaWdnZXJzIGV4dGVuc2lvbiAoaW4gbGVkZ2VycykuAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAgAAAAUAAAAqRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBmcm96ZW4uAAAAAAAAAAAAEFR0bENvbmZpZ3NGcm96ZW4AAAABAAAAEnR0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAQVHRsQ29uZmlnU3RvcmFnZQAAAAMAAAAAAAAAAAAAAAZGcm96ZW4AAAAAAAAAAAAAAAAACEluc3RhbmNlAAAAAAAAAAAAAAAKUGVyc2lzdGVudAAAAAAAAgAAAAAAAAAAAAAAElVwZ3JhZGVhYmxlU3RvcmFnZQAAAAAAAgAAAAAAAAAAAAAABkZyb3plbgAAAAAAAAAAAAAAAAAJTWlncmF0aW5nAAAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAbw5jb250cmFjdG1ldGF2MAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzI1LjAuMSM5NDE0NDgwNzllY2NmOTU2MjdkMmZmZWExM2JhMjY4ZTMwNWE5MDc3AABTDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZjbGl2ZXIAAAAAAC8yNS4wLjAjYTY0OTI1ZTkzOTFjM2QzYjNlZjhlNTNkYzYwYzIzZGI5ZTZhODJlNAA=";
|
|
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 = "6ded194b3d2189d1ab1b2bb0c877f3f758363aff666fbff8a67c25b545bad453";
|
|
17
17
|
/**
|
|
18
18
|
* Get the WASM bytecode as a Buffer
|
|
19
19
|
* Use this to upload the WASM to the network
|
|
@@ -39,9 +39,6 @@ export declare const OFTFeeError: {
|
|
|
39
39
|
3102: {
|
|
40
40
|
message: string;
|
|
41
41
|
};
|
|
42
|
-
3103: {
|
|
43
|
-
message: string;
|
|
44
|
-
};
|
|
45
42
|
};
|
|
46
43
|
export type OFTPausableStorage = {
|
|
47
44
|
tag: "Paused";
|
|
@@ -62,16 +59,13 @@ export type Direction = {
|
|
|
62
59
|
tag: "Outbound";
|
|
63
60
|
values: void;
|
|
64
61
|
};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Configuration for rate limiting, used as input parameter.
|
|
64
|
+
*/
|
|
65
|
+
export interface RateLimitConfig {
|
|
68
66
|
limit: i128;
|
|
69
67
|
window_seconds: u64;
|
|
70
68
|
}
|
|
71
|
-
export type RateLimitStorage = {
|
|
72
|
-
tag: "RateLimit";
|
|
73
|
-
values: readonly [Direction, u32];
|
|
74
|
-
};
|
|
75
69
|
export declare const RateLimitError: {
|
|
76
70
|
3120: {
|
|
77
71
|
message: string;
|
|
@@ -433,13 +427,19 @@ export declare const OFTError: {
|
|
|
433
427
|
3003: {
|
|
434
428
|
message: string;
|
|
435
429
|
};
|
|
430
|
+
3004: {
|
|
431
|
+
message: string;
|
|
432
|
+
};
|
|
436
433
|
};
|
|
437
434
|
export type OFTStorage = {
|
|
438
|
-
tag: "
|
|
435
|
+
tag: "DecimalsDiff";
|
|
439
436
|
values: void;
|
|
440
437
|
} | {
|
|
441
438
|
tag: "Token";
|
|
442
439
|
values: void;
|
|
440
|
+
} | {
|
|
441
|
+
tag: "MsgInspector";
|
|
442
|
+
values: void;
|
|
443
443
|
};
|
|
444
444
|
/**
|
|
445
445
|
* Parameters for sending OFT tokens cross-chain
|
|
@@ -668,32 +668,17 @@ export type UpgradeableStorage = {
|
|
|
668
668
|
export interface Client {
|
|
669
669
|
/**
|
|
670
670
|
* Construct and simulate a set_rate_limit 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.
|
|
671
|
+
* Sets or removes a rate limit for a specific direction and endpoint.
|
|
672
|
+
*
|
|
673
|
+
* # Arguments
|
|
674
|
+
* * `direction` - The direction (Inbound or Outbound)
|
|
675
|
+
* * `eid` - The endpoint ID
|
|
676
|
+
* * `config` - The rate limit configuration, or None to remove the rate limit
|
|
671
677
|
*/
|
|
672
|
-
set_rate_limit: ({ direction, eid,
|
|
673
|
-
direction: Direction;
|
|
674
|
-
eid: u32;
|
|
675
|
-
limit: i128;
|
|
676
|
-
window_seconds: u64;
|
|
677
|
-
}, txnOptions?: {
|
|
678
|
-
/**
|
|
679
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
680
|
-
*/
|
|
681
|
-
fee?: number;
|
|
682
|
-
/**
|
|
683
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
684
|
-
*/
|
|
685
|
-
timeoutInSeconds?: number;
|
|
686
|
-
/**
|
|
687
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
688
|
-
*/
|
|
689
|
-
simulate?: boolean;
|
|
690
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
691
|
-
/**
|
|
692
|
-
* Construct and simulate a unset_rate_limit 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.
|
|
693
|
-
*/
|
|
694
|
-
unset_rate_limit: ({ direction, eid }: {
|
|
678
|
+
set_rate_limit: ({ direction, eid, config }: {
|
|
695
679
|
direction: Direction;
|
|
696
680
|
eid: u32;
|
|
681
|
+
config: Option<RateLimitConfig>;
|
|
697
682
|
}, txnOptions?: {
|
|
698
683
|
/**
|
|
699
684
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -710,6 +695,8 @@ export interface Client {
|
|
|
710
695
|
}) => Promise<AssembledTransaction<null>>;
|
|
711
696
|
/**
|
|
712
697
|
* Construct and simulate a rate_limit_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.
|
|
698
|
+
* Returns the rate limit configuration for a direction and endpoint.
|
|
699
|
+
* Returns None if no rate limit is configured.
|
|
713
700
|
*/
|
|
714
701
|
rate_limit_config: ({ direction, eid }: {
|
|
715
702
|
direction: Direction;
|
|
@@ -727,9 +714,10 @@ export interface Client {
|
|
|
727
714
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
728
715
|
*/
|
|
729
716
|
simulate?: boolean;
|
|
730
|
-
}) => Promise<AssembledTransaction<
|
|
717
|
+
}) => Promise<AssembledTransaction<Option<RateLimitConfig>>>;
|
|
731
718
|
/**
|
|
732
719
|
* Construct and simulate a rate_limit_in_flight 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.
|
|
720
|
+
* Returns the current in-flight amount for a direction and endpoint.
|
|
733
721
|
*/
|
|
734
722
|
rate_limit_in_flight: ({ direction, eid }: {
|
|
735
723
|
direction: Direction;
|
|
@@ -750,6 +738,8 @@ export interface Client {
|
|
|
750
738
|
}) => Promise<AssembledTransaction<i128>>;
|
|
751
739
|
/**
|
|
752
740
|
* Construct and simulate a rate_limit_capacity 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.
|
|
741
|
+
* Returns the available capacity for a direction and endpoint.
|
|
742
|
+
* Returns i128::MAX if no rate limit is configured.
|
|
753
743
|
*/
|
|
754
744
|
rate_limit_capacity: ({ direction, eid }: {
|
|
755
745
|
direction: Direction;
|
|
@@ -770,6 +760,7 @@ export interface Client {
|
|
|
770
760
|
}) => Promise<AssembledTransaction<i128>>;
|
|
771
761
|
/**
|
|
772
762
|
* Construct and simulate a set_default_fee_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.
|
|
763
|
+
* Sets the default fee rate in basis points.
|
|
773
764
|
*/
|
|
774
765
|
set_default_fee_bps: ({ default_fee_bps }: {
|
|
775
766
|
default_fee_bps: u64;
|
|
@@ -789,29 +780,15 @@ export interface Client {
|
|
|
789
780
|
}) => Promise<AssembledTransaction<null>>;
|
|
790
781
|
/**
|
|
791
782
|
* Construct and simulate a set_fee_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.
|
|
783
|
+
* Sets or removes the fee rate for a specific destination endpoint.
|
|
784
|
+
*
|
|
785
|
+
* # Arguments
|
|
786
|
+
* * `dst_eid` - The destination endpoint ID
|
|
787
|
+
* * `fee_bps` - The fee rate (0-10,000), or None to remove the fee configuration
|
|
792
788
|
*/
|
|
793
789
|
set_fee_bps: ({ dst_eid, fee_bps }: {
|
|
794
790
|
dst_eid: u32;
|
|
795
|
-
fee_bps: u64
|
|
796
|
-
}, txnOptions?: {
|
|
797
|
-
/**
|
|
798
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
799
|
-
*/
|
|
800
|
-
fee?: number;
|
|
801
|
-
/**
|
|
802
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
803
|
-
*/
|
|
804
|
-
timeoutInSeconds?: number;
|
|
805
|
-
/**
|
|
806
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
807
|
-
*/
|
|
808
|
-
simulate?: boolean;
|
|
809
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
810
|
-
/**
|
|
811
|
-
* Construct and simulate a unset_fee_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.
|
|
812
|
-
*/
|
|
813
|
-
unset_fee_bps: ({ dst_eid }: {
|
|
814
|
-
dst_eid: u32;
|
|
791
|
+
fee_bps: Option<u64>;
|
|
815
792
|
}, txnOptions?: {
|
|
816
793
|
/**
|
|
817
794
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -828,6 +805,7 @@ export interface Client {
|
|
|
828
805
|
}) => Promise<AssembledTransaction<null>>;
|
|
829
806
|
/**
|
|
830
807
|
* Construct and simulate a set_fee_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.
|
|
808
|
+
* Sets the address where collected fees will be deposited.
|
|
831
809
|
*/
|
|
832
810
|
set_fee_deposit_address: ({ fee_deposit_address }: {
|
|
833
811
|
fee_deposit_address: string;
|
|
@@ -846,11 +824,10 @@ export interface Client {
|
|
|
846
824
|
simulate?: boolean;
|
|
847
825
|
}) => Promise<AssembledTransaction<null>>;
|
|
848
826
|
/**
|
|
849
|
-
* Construct and simulate a
|
|
827
|
+
* Construct and simulate a default_fee_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.
|
|
828
|
+
* Returns the default fee rate in basis points.
|
|
850
829
|
*/
|
|
851
|
-
|
|
852
|
-
dst_eid: u32;
|
|
853
|
-
}, txnOptions?: {
|
|
830
|
+
default_fee_bps: (txnOptions?: {
|
|
854
831
|
/**
|
|
855
832
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
856
833
|
*/
|
|
@@ -863,11 +840,12 @@ export interface Client {
|
|
|
863
840
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
864
841
|
*/
|
|
865
842
|
simulate?: boolean;
|
|
866
|
-
}) => Promise<AssembledTransaction<
|
|
843
|
+
}) => Promise<AssembledTransaction<u64>>;
|
|
867
844
|
/**
|
|
868
|
-
* Construct and simulate a
|
|
845
|
+
* Construct and simulate a fee_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.
|
|
846
|
+
* Returns the fee rate for a specific destination, if set.
|
|
869
847
|
*/
|
|
870
|
-
|
|
848
|
+
fee_bps: ({ dst_eid }: {
|
|
871
849
|
dst_eid: u32;
|
|
872
850
|
}, txnOptions?: {
|
|
873
851
|
/**
|
|
@@ -882,28 +860,12 @@ export interface Client {
|
|
|
882
860
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
883
861
|
*/
|
|
884
862
|
simulate?: boolean;
|
|
885
|
-
}) => Promise<AssembledTransaction<u64
|
|
886
|
-
/**
|
|
887
|
-
* Construct and simulate a default_fee_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.
|
|
888
|
-
*/
|
|
889
|
-
default_fee_bps: (txnOptions?: {
|
|
890
|
-
/**
|
|
891
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
892
|
-
*/
|
|
893
|
-
fee?: number;
|
|
894
|
-
/**
|
|
895
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
896
|
-
*/
|
|
897
|
-
timeoutInSeconds?: number;
|
|
898
|
-
/**
|
|
899
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
900
|
-
*/
|
|
901
|
-
simulate?: boolean;
|
|
902
|
-
}) => Promise<AssembledTransaction<u64>>;
|
|
863
|
+
}) => Promise<AssembledTransaction<Option<u64>>>;
|
|
903
864
|
/**
|
|
904
|
-
* Construct and simulate a
|
|
865
|
+
* Construct and simulate a effective_fee_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.
|
|
866
|
+
* Returns the effective fee rate for a destination (destination-specific or default).
|
|
905
867
|
*/
|
|
906
|
-
|
|
868
|
+
effective_fee_bps: ({ dst_eid }: {
|
|
907
869
|
dst_eid: u32;
|
|
908
870
|
}, txnOptions?: {
|
|
909
871
|
/**
|
|
@@ -918,9 +880,10 @@ export interface Client {
|
|
|
918
880
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
919
881
|
*/
|
|
920
882
|
simulate?: boolean;
|
|
921
|
-
}) => Promise<AssembledTransaction<
|
|
883
|
+
}) => Promise<AssembledTransaction<u64>>;
|
|
922
884
|
/**
|
|
923
885
|
* Construct and simulate a fee_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.
|
|
886
|
+
* Returns the fee deposit address.
|
|
924
887
|
*/
|
|
925
888
|
fee_deposit_address: (txnOptions?: {
|
|
926
889
|
/**
|
|
@@ -938,6 +901,12 @@ export interface Client {
|
|
|
938
901
|
}) => Promise<AssembledTransaction<string>>;
|
|
939
902
|
/**
|
|
940
903
|
* Construct and simulate a set_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.
|
|
904
|
+
* Sets the paused state of the OFT.
|
|
905
|
+
*
|
|
906
|
+
* When paused, the OFT will reject new send/receive/quote_send/quote_oft operations.
|
|
907
|
+
*
|
|
908
|
+
* # Arguments
|
|
909
|
+
* * `paused` - `true` to pause, `false` to unpause
|
|
941
910
|
*/
|
|
942
911
|
set_paused: ({ paused }: {
|
|
943
912
|
paused: boolean;
|
|
@@ -957,6 +926,7 @@ export interface Client {
|
|
|
957
926
|
}) => Promise<AssembledTransaction<null>>;
|
|
958
927
|
/**
|
|
959
928
|
* Construct and simulate a is_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.
|
|
929
|
+
* Returns the paused state of the OFT.
|
|
960
930
|
*/
|
|
961
931
|
is_paused: (txnOptions?: {
|
|
962
932
|
/**
|
|
@@ -1087,6 +1057,51 @@ export interface Client {
|
|
|
1087
1057
|
*/
|
|
1088
1058
|
simulate?: boolean;
|
|
1089
1059
|
}) => Promise<AssembledTransaction<boolean>>;
|
|
1060
|
+
/**
|
|
1061
|
+
* Construct and simulate a msg_inspector 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.
|
|
1062
|
+
* Returns the message inspector address if set.
|
|
1063
|
+
*/
|
|
1064
|
+
msg_inspector: (txnOptions?: {
|
|
1065
|
+
/**
|
|
1066
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1067
|
+
*/
|
|
1068
|
+
fee?: number;
|
|
1069
|
+
/**
|
|
1070
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1071
|
+
*/
|
|
1072
|
+
timeoutInSeconds?: number;
|
|
1073
|
+
/**
|
|
1074
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1075
|
+
*/
|
|
1076
|
+
simulate?: boolean;
|
|
1077
|
+
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1078
|
+
/**
|
|
1079
|
+
* Construct and simulate a set_msg_inspector 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.
|
|
1080
|
+
* Sets or removes the message inspector address.
|
|
1081
|
+
*
|
|
1082
|
+
* The message inspector is an optional contract that validates outgoing messages
|
|
1083
|
+
* and options before they are sent cross-chain. If set, the inspector's `inspect`
|
|
1084
|
+
* method will be called during `send` and `quote_send` operations.
|
|
1085
|
+
*
|
|
1086
|
+
* # Arguments
|
|
1087
|
+
* * `inspector` - The address of the inspector contract, or None to remove
|
|
1088
|
+
*/
|
|
1089
|
+
set_msg_inspector: ({ inspector }: {
|
|
1090
|
+
inspector: Option<string>;
|
|
1091
|
+
}, txnOptions?: {
|
|
1092
|
+
/**
|
|
1093
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1094
|
+
*/
|
|
1095
|
+
fee?: number;
|
|
1096
|
+
/**
|
|
1097
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1098
|
+
*/
|
|
1099
|
+
timeoutInSeconds?: number;
|
|
1100
|
+
/**
|
|
1101
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1102
|
+
*/
|
|
1103
|
+
simulate?: boolean;
|
|
1104
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1090
1105
|
/**
|
|
1091
1106
|
* Construct and simulate a quote_send 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.
|
|
1092
1107
|
* Quotes a send operation including LayerZero messaging fees.
|
|
@@ -1173,20 +1188,10 @@ export interface Client {
|
|
|
1173
1188
|
simulate?: boolean;
|
|
1174
1189
|
}) => Promise<AssembledTransaction<string>>;
|
|
1175
1190
|
/**
|
|
1176
|
-
* Construct and simulate a
|
|
1177
|
-
*
|
|
1178
|
-
*
|
|
1179
|
-
* # Arguments
|
|
1180
|
-
* * `eid` - The endpoint ID
|
|
1181
|
-
* * `msg_type` - The OApp message type
|
|
1182
|
-
*
|
|
1183
|
-
* # Returns
|
|
1184
|
-
* The enforced options for the given endpoint and message type
|
|
1191
|
+
* 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.
|
|
1192
|
+
* Returns the current owner address, or None if no owner is set.
|
|
1185
1193
|
*/
|
|
1186
|
-
|
|
1187
|
-
eid: u32;
|
|
1188
|
-
msg_type: u32;
|
|
1189
|
-
}, txnOptions?: {
|
|
1194
|
+
owner: (txnOptions?: {
|
|
1190
1195
|
/**
|
|
1191
1196
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1192
1197
|
*/
|
|
@@ -1199,22 +1204,38 @@ export interface Client {
|
|
|
1199
1204
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1200
1205
|
*/
|
|
1201
1206
|
simulate?: boolean;
|
|
1202
|
-
}) => Promise<AssembledTransaction<
|
|
1207
|
+
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1203
1208
|
/**
|
|
1204
|
-
* Construct and simulate a
|
|
1205
|
-
*
|
|
1209
|
+
* 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.
|
|
1210
|
+
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
1211
|
+
*/
|
|
1212
|
+
pending_owner: (txnOptions?: {
|
|
1213
|
+
/**
|
|
1214
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1215
|
+
*/
|
|
1216
|
+
fee?: number;
|
|
1217
|
+
/**
|
|
1218
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1219
|
+
*/
|
|
1220
|
+
timeoutInSeconds?: number;
|
|
1221
|
+
/**
|
|
1222
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1223
|
+
*/
|
|
1224
|
+
simulate?: boolean;
|
|
1225
|
+
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1226
|
+
/**
|
|
1227
|
+
* 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.
|
|
1228
|
+
* Transfers ownership immediately to a new address.
|
|
1206
1229
|
*
|
|
1207
|
-
*
|
|
1208
|
-
*
|
|
1209
|
-
* These enforced options can vary as the potential options/execution on the remote may differ as per the msg_type.
|
|
1210
|
-
* e.g. Amount of lzReceive() gas necessary to deliver a lzCompose() message adds overhead you don't want to pay
|
|
1211
|
-
* if you are only making a standard LayerZero message ie. lzReceive() WITHOUT sendCompose().
|
|
1230
|
+
* Use with caution - if you transfer to a wrong address, ownership is lost forever.
|
|
1231
|
+
* Consider using `propose_ownership_transfer` instead.
|
|
1212
1232
|
*
|
|
1213
|
-
* #
|
|
1214
|
-
*
|
|
1233
|
+
* # Panics
|
|
1234
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1235
|
+
* - `TransferInProgress` if a 2-step transfer is in progress
|
|
1215
1236
|
*/
|
|
1216
|
-
|
|
1217
|
-
|
|
1237
|
+
transfer_ownership: ({ new_owner }: {
|
|
1238
|
+
new_owner: string;
|
|
1218
1239
|
}, txnOptions?: {
|
|
1219
1240
|
/**
|
|
1220
1241
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1230,26 +1251,26 @@ export interface Client {
|
|
|
1230
1251
|
simulate?: boolean;
|
|
1231
1252
|
}) => Promise<AssembledTransaction<null>>;
|
|
1232
1253
|
/**
|
|
1233
|
-
* Construct and simulate a
|
|
1234
|
-
*
|
|
1254
|
+
* 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.
|
|
1255
|
+
* Proposes an ownership transfer to a new address.
|
|
1235
1256
|
*
|
|
1236
|
-
*
|
|
1237
|
-
*
|
|
1238
|
-
* - The resulting options will be {gas_limit: 300k, value: 1.5 XLM} when the message is executed on the remote lz_receive() function.
|
|
1239
|
-
* The presence of duplicated options is handled off-chain in the verifier/executor.
|
|
1257
|
+
* The new owner must call `accept_ownership()` within `ttl` ledgers
|
|
1258
|
+
* to complete the transfer. The pending transfer will automatically expire after.
|
|
1240
1259
|
*
|
|
1241
1260
|
* # Arguments
|
|
1242
|
-
*
|
|
1243
|
-
*
|
|
1244
|
-
*
|
|
1261
|
+
* - `new_owner` - The proposed new owner
|
|
1262
|
+
* - `ttl` - Number of ledgers the new owner has to accept.
|
|
1263
|
+
* Use `0` to cancel a pending transfer (new_owner must match pending).
|
|
1245
1264
|
*
|
|
1246
|
-
* #
|
|
1247
|
-
*
|
|
1265
|
+
* # Panics
|
|
1266
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1267
|
+
* - `NoPendingTransfer` when cancelling and no pending transfer exists
|
|
1268
|
+
* - `InvalidTtl` if ttl exceeds max TTL
|
|
1269
|
+
* - `InvalidPendingOwner` when cancelling with wrong new_owner address
|
|
1248
1270
|
*/
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
extra_options: Buffer;
|
|
1271
|
+
propose_ownership_transfer: ({ new_owner, ttl }: {
|
|
1272
|
+
new_owner: string;
|
|
1273
|
+
ttl: u32;
|
|
1253
1274
|
}, txnOptions?: {
|
|
1254
1275
|
/**
|
|
1255
1276
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1263,20 +1284,17 @@ export interface Client {
|
|
|
1263
1284
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1264
1285
|
*/
|
|
1265
1286
|
simulate?: boolean;
|
|
1266
|
-
}) => Promise<AssembledTransaction<
|
|
1287
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1267
1288
|
/**
|
|
1268
|
-
* Construct and simulate a
|
|
1269
|
-
*
|
|
1289
|
+
* 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.
|
|
1290
|
+
* Accepts a pending 2-step ownership transfer.
|
|
1270
1291
|
*
|
|
1271
|
-
*
|
|
1272
|
-
* * `origin` - The origin of the message
|
|
1292
|
+
* Must be called by the pending owner before the TTL expires.
|
|
1273
1293
|
*
|
|
1274
|
-
* #
|
|
1275
|
-
*
|
|
1294
|
+
* # Panics
|
|
1295
|
+
* - `NoPendingTransfer` if there is no pending transfer (or it expired)
|
|
1276
1296
|
*/
|
|
1277
|
-
|
|
1278
|
-
origin: Origin;
|
|
1279
|
-
}, txnOptions?: {
|
|
1297
|
+
accept_ownership: (txnOptions?: {
|
|
1280
1298
|
/**
|
|
1281
1299
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1282
1300
|
*/
|
|
@@ -1289,27 +1307,16 @@ export interface Client {
|
|
|
1289
1307
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1290
1308
|
*/
|
|
1291
1309
|
simulate?: boolean;
|
|
1292
|
-
}) => Promise<AssembledTransaction<
|
|
1310
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1293
1311
|
/**
|
|
1294
|
-
* Construct and simulate a
|
|
1295
|
-
*
|
|
1296
|
-
*
|
|
1297
|
-
* The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.
|
|
1298
|
-
* This is required by the off-chain executor to determine if the OApp expects message execution to be ordered.
|
|
1299
|
-
* This is also enforced by the OApp.
|
|
1300
|
-
* By default this is NOT enabled, i.e. next_nonce is hardcoded to return 0.
|
|
1301
|
-
*
|
|
1302
|
-
* # Arguments
|
|
1303
|
-
* * `src_eid` - The source endpoint ID
|
|
1304
|
-
* * `sender` - The sender OApp address
|
|
1312
|
+
* 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.
|
|
1313
|
+
* Permanently renounces ownership.
|
|
1305
1314
|
*
|
|
1306
|
-
* #
|
|
1307
|
-
*
|
|
1315
|
+
* # Panics
|
|
1316
|
+
* - `OwnerNotSet` if no owner is currently set
|
|
1317
|
+
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
1308
1318
|
*/
|
|
1309
|
-
|
|
1310
|
-
src_eid: u32;
|
|
1311
|
-
sender: Buffer;
|
|
1312
|
-
}, txnOptions?: {
|
|
1319
|
+
renounce_ownership: (txnOptions?: {
|
|
1313
1320
|
/**
|
|
1314
1321
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1315
1322
|
*/
|
|
@@ -1322,32 +1329,19 @@ export interface Client {
|
|
|
1322
1329
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1323
1330
|
*/
|
|
1324
1331
|
simulate?: boolean;
|
|
1325
|
-
}) => Promise<AssembledTransaction<
|
|
1332
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1326
1333
|
/**
|
|
1327
|
-
* Construct and simulate a
|
|
1328
|
-
*
|
|
1329
|
-
*
|
|
1330
|
-
* The default implementation calls `clear_payload_and_transfer` to validate the message
|
|
1331
|
-
* and clear it from the endpoint, then delegates to `__lz_receive` for application logic.
|
|
1334
|
+
* 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.
|
|
1335
|
+
* Extends the instance TTL.
|
|
1332
1336
|
*
|
|
1333
1337
|
* # Arguments
|
|
1334
|
-
*
|
|
1335
|
-
* * `
|
|
1336
|
-
*
|
|
1337
|
-
* - `sender`: The sender address on the source chain
|
|
1338
|
-
* - `nonce`: The nonce of the message
|
|
1339
|
-
* * `guid` - The unique identifier for the received LayerZero message
|
|
1340
|
-
* * `message` - The payload of the received message
|
|
1341
|
-
* * `extra_data` - Additional arbitrary data provided by the corresponding executor
|
|
1342
|
-
* * `value` - The native token value sent with the message
|
|
1338
|
+
*
|
|
1339
|
+
* * `threshold` - The threshold to extend the TTL (if current TTL is below this, extend).
|
|
1340
|
+
* * `extend_to` - The TTL to extend to.
|
|
1343
1341
|
*/
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
guid: Buffer;
|
|
1348
|
-
message: Buffer;
|
|
1349
|
-
extra_data: Buffer;
|
|
1350
|
-
value: i128;
|
|
1342
|
+
extend_instance_ttl: ({ threshold, extend_to }: {
|
|
1343
|
+
threshold: u32;
|
|
1344
|
+
extend_to: u32;
|
|
1351
1345
|
}, txnOptions?: {
|
|
1352
1346
|
/**
|
|
1353
1347
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1363,24 +1357,23 @@ export interface Client {
|
|
|
1363
1357
|
simulate?: boolean;
|
|
1364
1358
|
}) => Promise<AssembledTransaction<null>>;
|
|
1365
1359
|
/**
|
|
1366
|
-
* Construct and simulate a
|
|
1367
|
-
*
|
|
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.
|
|
1361
|
+
* Sets TTL configs for instance and persistent storage.
|
|
1368
1362
|
*
|
|
1369
|
-
*
|
|
1370
|
-
*
|
|
1363
|
+
* - `None` values remove the corresponding config (disables auto-extension for that type)
|
|
1364
|
+
* - Validates that `threshold <= extend_to <= MAX_TTL`
|
|
1371
1365
|
*
|
|
1372
1366
|
* # Arguments
|
|
1373
|
-
*
|
|
1374
|
-
*
|
|
1375
|
-
* * `sender` - The sender address to check
|
|
1367
|
+
* - `instance` - TTL config for instance storage
|
|
1368
|
+
* - `persistent` - TTL config for persistent storage
|
|
1376
1369
|
*
|
|
1377
|
-
* #
|
|
1378
|
-
*
|
|
1370
|
+
* # Panics
|
|
1371
|
+
* - `TtlConfigFrozen` if configs are frozen
|
|
1372
|
+
* - `InvalidTtlConfig` if validation fails
|
|
1379
1373
|
*/
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
sender: string;
|
|
1374
|
+
set_ttl_configs: ({ instance, persistent }: {
|
|
1375
|
+
instance: Option<TtlConfig>;
|
|
1376
|
+
persistent: Option<TtlConfig>;
|
|
1384
1377
|
}, txnOptions?: {
|
|
1385
1378
|
/**
|
|
1386
1379
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1394,6 +1387,66 @@ export interface Client {
|
|
|
1394
1387
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1395
1388
|
*/
|
|
1396
1389
|
simulate?: boolean;
|
|
1390
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1391
|
+
/**
|
|
1392
|
+
* 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.
|
|
1393
|
+
* Returns the current TTL configs as (instance_config, persistent_config).
|
|
1394
|
+
*/
|
|
1395
|
+
ttl_configs: (txnOptions?: {
|
|
1396
|
+
/**
|
|
1397
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1398
|
+
*/
|
|
1399
|
+
fee?: number;
|
|
1400
|
+
/**
|
|
1401
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1402
|
+
*/
|
|
1403
|
+
timeoutInSeconds?: number;
|
|
1404
|
+
/**
|
|
1405
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1406
|
+
*/
|
|
1407
|
+
simulate?: boolean;
|
|
1408
|
+
}) => Promise<AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>>;
|
|
1409
|
+
/**
|
|
1410
|
+
* 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.
|
|
1411
|
+
* Permanently freezes TTL configs, preventing any future modifications.
|
|
1412
|
+
*
|
|
1413
|
+
* This is irreversible and provides immutability guarantees to users.
|
|
1414
|
+
* Emits `TtlConfigsFrozen` event.
|
|
1415
|
+
*
|
|
1416
|
+
* # Panics
|
|
1417
|
+
* - `TtlConfigAlreadyFrozen` if already frozen
|
|
1418
|
+
*/
|
|
1419
|
+
freeze_ttl_configs: (txnOptions?: {
|
|
1420
|
+
/**
|
|
1421
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1422
|
+
*/
|
|
1423
|
+
fee?: number;
|
|
1424
|
+
/**
|
|
1425
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1426
|
+
*/
|
|
1427
|
+
timeoutInSeconds?: number;
|
|
1428
|
+
/**
|
|
1429
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1430
|
+
*/
|
|
1431
|
+
simulate?: boolean;
|
|
1432
|
+
}) => Promise<AssembledTransaction<null>>;
|
|
1433
|
+
/**
|
|
1434
|
+
* 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.
|
|
1435
|
+
* Returns whether TTL configs are frozen.
|
|
1436
|
+
*/
|
|
1437
|
+
is_ttl_configs_frozen: (txnOptions?: {
|
|
1438
|
+
/**
|
|
1439
|
+
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1440
|
+
*/
|
|
1441
|
+
fee?: number;
|
|
1442
|
+
/**
|
|
1443
|
+
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1444
|
+
*/
|
|
1445
|
+
timeoutInSeconds?: number;
|
|
1446
|
+
/**
|
|
1447
|
+
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1448
|
+
*/
|
|
1449
|
+
simulate?: boolean;
|
|
1397
1450
|
}) => Promise<AssembledTransaction<boolean>>;
|
|
1398
1451
|
/**
|
|
1399
1452
|
* Construct and simulate a oapp_version 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.
|
|
@@ -1514,23 +1567,17 @@ export interface Client {
|
|
|
1514
1567
|
simulate?: boolean;
|
|
1515
1568
|
}) => Promise<AssembledTransaction<null>>;
|
|
1516
1569
|
/**
|
|
1517
|
-
* Construct and simulate a
|
|
1518
|
-
*
|
|
1519
|
-
*
|
|
1520
|
-
* - `None` values remove the corresponding config (disables auto-extension for that type)
|
|
1521
|
-
* - Validates that `threshold <= extend_to <= MAX_TTL`
|
|
1570
|
+
* Construct and simulate a allow_initialize_path 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.
|
|
1571
|
+
* Checks if a messaging path can be initialized for the given origin.
|
|
1522
1572
|
*
|
|
1523
1573
|
* # Arguments
|
|
1524
|
-
*
|
|
1525
|
-
* - `persistent` - TTL config for persistent storage
|
|
1574
|
+
* * `origin` - The origin of the message
|
|
1526
1575
|
*
|
|
1527
|
-
* #
|
|
1528
|
-
*
|
|
1529
|
-
* - `InvalidTtlConfig` if validation fails
|
|
1576
|
+
* # Returns
|
|
1577
|
+
* True if the path can be initialized, false otherwise
|
|
1530
1578
|
*/
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
persistent: Option<TtlConfig>;
|
|
1579
|
+
allow_initialize_path: ({ origin }: {
|
|
1580
|
+
origin: Origin;
|
|
1534
1581
|
}, txnOptions?: {
|
|
1535
1582
|
/**
|
|
1536
1583
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1544,12 +1591,27 @@ export interface Client {
|
|
|
1544
1591
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1545
1592
|
*/
|
|
1546
1593
|
simulate?: boolean;
|
|
1547
|
-
}) => Promise<AssembledTransaction<
|
|
1594
|
+
}) => Promise<AssembledTransaction<boolean>>;
|
|
1548
1595
|
/**
|
|
1549
|
-
* Construct and simulate a
|
|
1550
|
-
*
|
|
1596
|
+
* Construct and simulate a next_nonce 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
|
+
* Retrieves the next nonce for a given source endpoint and sender address.
|
|
1598
|
+
*
|
|
1599
|
+
* The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.
|
|
1600
|
+
* This is required by the off-chain executor to determine if the OApp expects message execution to be ordered.
|
|
1601
|
+
* This is also enforced by the OApp.
|
|
1602
|
+
* By default this is NOT enabled, i.e. next_nonce is hardcoded to return 0.
|
|
1603
|
+
*
|
|
1604
|
+
* # Arguments
|
|
1605
|
+
* * `src_eid` - The source endpoint ID
|
|
1606
|
+
* * `sender` - The sender OApp address
|
|
1607
|
+
*
|
|
1608
|
+
* # Returns
|
|
1609
|
+
* The next nonce
|
|
1551
1610
|
*/
|
|
1552
|
-
|
|
1611
|
+
next_nonce: ({ src_eid, sender }: {
|
|
1612
|
+
src_eid: u32;
|
|
1613
|
+
sender: Buffer;
|
|
1614
|
+
}, txnOptions?: {
|
|
1553
1615
|
/**
|
|
1554
1616
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1555
1617
|
*/
|
|
@@ -1562,18 +1624,33 @@ export interface Client {
|
|
|
1562
1624
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1563
1625
|
*/
|
|
1564
1626
|
simulate?: boolean;
|
|
1565
|
-
}) => Promise<AssembledTransaction<
|
|
1627
|
+
}) => Promise<AssembledTransaction<u64>>;
|
|
1566
1628
|
/**
|
|
1567
|
-
* Construct and simulate a
|
|
1568
|
-
*
|
|
1629
|
+
* Construct and simulate a lz_receive 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.
|
|
1630
|
+
* Entry point for receiving messages or packets from the LayerZero endpoint.
|
|
1569
1631
|
*
|
|
1570
|
-
*
|
|
1571
|
-
*
|
|
1632
|
+
* The default implementation calls `clear_payload_and_transfer` to validate the message
|
|
1633
|
+
* and clear it from the endpoint, then delegates to `__lz_receive` for application logic.
|
|
1572
1634
|
*
|
|
1573
|
-
* #
|
|
1574
|
-
*
|
|
1635
|
+
* # Arguments
|
|
1636
|
+
* * `executor` - The address of the executor for the received message
|
|
1637
|
+
* * `origin` - The origin information containing the source endpoint and sender address:
|
|
1638
|
+
* - `src_eid`: The source chain endpoint ID
|
|
1639
|
+
* - `sender`: The sender address on the source chain
|
|
1640
|
+
* - `nonce`: The nonce of the message
|
|
1641
|
+
* * `guid` - The unique identifier for the received LayerZero message
|
|
1642
|
+
* * `message` - The payload of the received message
|
|
1643
|
+
* * `extra_data` - Additional arbitrary data provided by the corresponding executor
|
|
1644
|
+
* * `value` - The native token value sent with the message
|
|
1575
1645
|
*/
|
|
1576
|
-
|
|
1646
|
+
lz_receive: ({ executor, origin, guid, message, extra_data, value }: {
|
|
1647
|
+
executor: string;
|
|
1648
|
+
origin: Origin;
|
|
1649
|
+
guid: Buffer;
|
|
1650
|
+
message: Buffer;
|
|
1651
|
+
extra_data: Buffer;
|
|
1652
|
+
value: i128;
|
|
1653
|
+
}, txnOptions?: {
|
|
1577
1654
|
/**
|
|
1578
1655
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1579
1656
|
*/
|
|
@@ -1588,35 +1665,24 @@ export interface Client {
|
|
|
1588
1665
|
simulate?: boolean;
|
|
1589
1666
|
}) => Promise<AssembledTransaction<null>>;
|
|
1590
1667
|
/**
|
|
1591
|
-
* Construct and simulate a
|
|
1592
|
-
*
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1597
|
-
*/
|
|
1598
|
-
fee?: number;
|
|
1599
|
-
/**
|
|
1600
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1601
|
-
*/
|
|
1602
|
-
timeoutInSeconds?: number;
|
|
1603
|
-
/**
|
|
1604
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1605
|
-
*/
|
|
1606
|
-
simulate?: boolean;
|
|
1607
|
-
}) => Promise<AssembledTransaction<boolean>>;
|
|
1608
|
-
/**
|
|
1609
|
-
* 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.
|
|
1610
|
-
* Extends the instance TTL.
|
|
1668
|
+
* Construct and simulate a is_compose_msg_sender 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.
|
|
1669
|
+
* Indicates whether an address is an approved composeMsg sender to the Endpoint.
|
|
1670
|
+
*
|
|
1671
|
+
* Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.
|
|
1672
|
+
* The default sender IS the OAppReceiver implementer.
|
|
1611
1673
|
*
|
|
1612
1674
|
* # Arguments
|
|
1675
|
+
* * `origin` - The origin information containing the source endpoint and sender address
|
|
1676
|
+
* * `message` - The lzReceive payload
|
|
1677
|
+
* * `sender` - The sender address to check
|
|
1613
1678
|
*
|
|
1614
|
-
*
|
|
1615
|
-
*
|
|
1679
|
+
* # Returns
|
|
1680
|
+
* True if the sender is a valid composeMsg sender, false otherwise
|
|
1616
1681
|
*/
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1682
|
+
is_compose_msg_sender: ({ origin, message, sender }: {
|
|
1683
|
+
origin: Origin;
|
|
1684
|
+
message: Buffer;
|
|
1685
|
+
sender: string;
|
|
1620
1686
|
}, txnOptions?: {
|
|
1621
1687
|
/**
|
|
1622
1688
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1630,56 +1696,21 @@ export interface Client {
|
|
|
1630
1696
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1631
1697
|
*/
|
|
1632
1698
|
simulate?: boolean;
|
|
1633
|
-
}) => Promise<AssembledTransaction<
|
|
1634
|
-
/**
|
|
1635
|
-
* 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.
|
|
1636
|
-
* Returns the current owner address, or None if no owner is set.
|
|
1637
|
-
*/
|
|
1638
|
-
owner: (txnOptions?: {
|
|
1639
|
-
/**
|
|
1640
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1641
|
-
*/
|
|
1642
|
-
fee?: number;
|
|
1643
|
-
/**
|
|
1644
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1645
|
-
*/
|
|
1646
|
-
timeoutInSeconds?: number;
|
|
1647
|
-
/**
|
|
1648
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1649
|
-
*/
|
|
1650
|
-
simulate?: boolean;
|
|
1651
|
-
}) => Promise<AssembledTransaction<Option<string>>>;
|
|
1652
|
-
/**
|
|
1653
|
-
* 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.
|
|
1654
|
-
* Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
|
|
1655
|
-
*/
|
|
1656
|
-
pending_owner: (txnOptions?: {
|
|
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<Option<string>>>;
|
|
1699
|
+
}) => Promise<AssembledTransaction<boolean>>;
|
|
1670
1700
|
/**
|
|
1671
|
-
* Construct and simulate a
|
|
1672
|
-
*
|
|
1701
|
+
* Construct and simulate a enforced_options 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.
|
|
1702
|
+
* Retrieves the enforced options for a given endpoint and message type.
|
|
1673
1703
|
*
|
|
1674
|
-
*
|
|
1675
|
-
*
|
|
1704
|
+
* # Arguments
|
|
1705
|
+
* * `eid` - The endpoint ID
|
|
1706
|
+
* * `msg_type` - The OApp message type
|
|
1676
1707
|
*
|
|
1677
|
-
* #
|
|
1678
|
-
*
|
|
1679
|
-
* - `TransferInProgress` if a 2-step transfer is in progress
|
|
1708
|
+
* # Returns
|
|
1709
|
+
* The enforced options for the given endpoint and message type
|
|
1680
1710
|
*/
|
|
1681
|
-
|
|
1682
|
-
|
|
1711
|
+
enforced_options: ({ eid, msg_type }: {
|
|
1712
|
+
eid: u32;
|
|
1713
|
+
msg_type: u32;
|
|
1683
1714
|
}, txnOptions?: {
|
|
1684
1715
|
/**
|
|
1685
1716
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1693,28 +1724,22 @@ export interface Client {
|
|
|
1693
1724
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1694
1725
|
*/
|
|
1695
1726
|
simulate?: boolean;
|
|
1696
|
-
}) => Promise<AssembledTransaction<
|
|
1727
|
+
}) => Promise<AssembledTransaction<Buffer>>;
|
|
1697
1728
|
/**
|
|
1698
|
-
* Construct and simulate a
|
|
1699
|
-
*
|
|
1729
|
+
* Construct and simulate a set_enforced_options 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.
|
|
1730
|
+
* Sets the enforced options for specific endpoint and message type combinations.
|
|
1700
1731
|
*
|
|
1701
|
-
*
|
|
1702
|
-
*
|
|
1732
|
+
* Only the `authorizer` of the OApp can call this function.
|
|
1733
|
+
* Provides a way for the OApp to enforce things like paying for PreCrime, AND/OR minimum dst lzReceive gas amounts etc.
|
|
1734
|
+
* These enforced options can vary as the potential options/execution on the remote may differ as per the msg_type.
|
|
1735
|
+
* e.g. Amount of lzReceive() gas necessary to deliver a lzCompose() message adds overhead you don't want to pay
|
|
1736
|
+
* if you are only making a standard LayerZero message ie. lzReceive() WITHOUT sendCompose().
|
|
1703
1737
|
*
|
|
1704
1738
|
* # Arguments
|
|
1705
|
-
*
|
|
1706
|
-
* - `ttl` - Number of ledgers the new owner has to accept.
|
|
1707
|
-
* Use `0` to cancel a pending transfer (new_owner must match pending).
|
|
1708
|
-
*
|
|
1709
|
-
* # Panics
|
|
1710
|
-
* - `OwnerNotSet` if no owner is currently set
|
|
1711
|
-
* - `NoPendingTransfer` when cancelling and no pending transfer exists
|
|
1712
|
-
* - `InvalidTtl` if ttl exceeds max TTL
|
|
1713
|
-
* - `InvalidPendingOwner` when cancelling with wrong new_owner address
|
|
1739
|
+
* * `options` - A vector of EnforcedOptionParam structures specifying enforced options
|
|
1714
1740
|
*/
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
ttl: u32;
|
|
1741
|
+
set_enforced_options: ({ options }: {
|
|
1742
|
+
options: Array<EnforcedOptionParam>;
|
|
1718
1743
|
}, txnOptions?: {
|
|
1719
1744
|
/**
|
|
1720
1745
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
@@ -1730,37 +1755,27 @@ export interface Client {
|
|
|
1730
1755
|
simulate?: boolean;
|
|
1731
1756
|
}) => Promise<AssembledTransaction<null>>;
|
|
1732
1757
|
/**
|
|
1733
|
-
* Construct and simulate a
|
|
1734
|
-
*
|
|
1758
|
+
* Construct and simulate a combine_options 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.
|
|
1759
|
+
* Combines options for a given endpoint and message type.
|
|
1735
1760
|
*
|
|
1736
|
-
*
|
|
1761
|
+
* If there is an enforced lzReceive option:
|
|
1762
|
+
* - {gas_limit: 200k, value: 1 XLM} AND a caller supplies a lzReceive option: {gas_limit: 100k, value: 0.5 XLM}
|
|
1763
|
+
* - The resulting options will be {gas_limit: 300k, value: 1.5 XLM} when the message is executed on the remote lz_receive() function.
|
|
1764
|
+
* The presence of duplicated options is handled off-chain in the verifier/executor.
|
|
1737
1765
|
*
|
|
1738
|
-
* #
|
|
1739
|
-
*
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
/**
|
|
1743
|
-
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1744
|
-
*/
|
|
1745
|
-
fee?: number;
|
|
1746
|
-
/**
|
|
1747
|
-
* The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
|
|
1748
|
-
*/
|
|
1749
|
-
timeoutInSeconds?: number;
|
|
1750
|
-
/**
|
|
1751
|
-
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1752
|
-
*/
|
|
1753
|
-
simulate?: boolean;
|
|
1754
|
-
}) => Promise<AssembledTransaction<null>>;
|
|
1755
|
-
/**
|
|
1756
|
-
* 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.
|
|
1757
|
-
* Permanently renounces ownership.
|
|
1766
|
+
* # Arguments
|
|
1767
|
+
* * `eid` - The endpoint ID
|
|
1768
|
+
* * `msg_type` - The OApp message type
|
|
1769
|
+
* * `extra_options` - Additional options passed by the caller
|
|
1758
1770
|
*
|
|
1759
|
-
* #
|
|
1760
|
-
*
|
|
1761
|
-
* - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
|
|
1771
|
+
* # Returns
|
|
1772
|
+
* The combination of caller specified options AND enforced options
|
|
1762
1773
|
*/
|
|
1763
|
-
|
|
1774
|
+
combine_options: ({ eid, msg_type, extra_options }: {
|
|
1775
|
+
eid: u32;
|
|
1776
|
+
msg_type: u32;
|
|
1777
|
+
extra_options: Buffer;
|
|
1778
|
+
}, txnOptions?: {
|
|
1764
1779
|
/**
|
|
1765
1780
|
* The fee to pay for the transaction. Default: BASE_FEE
|
|
1766
1781
|
*/
|
|
@@ -1773,7 +1788,7 @@ export interface Client {
|
|
|
1773
1788
|
* Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
|
|
1774
1789
|
*/
|
|
1775
1790
|
simulate?: boolean;
|
|
1776
|
-
}) => Promise<AssembledTransaction<
|
|
1791
|
+
}) => Promise<AssembledTransaction<Buffer>>;
|
|
1777
1792
|
}
|
|
1778
1793
|
export declare class Client extends ContractClient {
|
|
1779
1794
|
readonly options: ContractClientOptions;
|
|
@@ -1799,18 +1814,15 @@ export declare class Client extends ContractClient {
|
|
|
1799
1814
|
constructor(options: ContractClientOptions);
|
|
1800
1815
|
readonly fromJSON: {
|
|
1801
1816
|
set_rate_limit: (json: string) => AssembledTransaction<null>;
|
|
1802
|
-
|
|
1803
|
-
rate_limit_config: (json: string) => AssembledTransaction<readonly [bigint, bigint]>;
|
|
1817
|
+
rate_limit_config: (json: string) => AssembledTransaction<Option<RateLimitConfig>>;
|
|
1804
1818
|
rate_limit_in_flight: (json: string) => AssembledTransaction<bigint>;
|
|
1805
1819
|
rate_limit_capacity: (json: string) => AssembledTransaction<bigint>;
|
|
1806
1820
|
set_default_fee_bps: (json: string) => AssembledTransaction<null>;
|
|
1807
1821
|
set_fee_bps: (json: string) => AssembledTransaction<null>;
|
|
1808
|
-
unset_fee_bps: (json: string) => AssembledTransaction<null>;
|
|
1809
1822
|
set_fee_deposit_address: (json: string) => AssembledTransaction<null>;
|
|
1810
|
-
has_fee_bps: (json: string) => AssembledTransaction<boolean>;
|
|
1811
|
-
effective_fee_bps: (json: string) => AssembledTransaction<bigint>;
|
|
1812
1823
|
default_fee_bps: (json: string) => AssembledTransaction<bigint>;
|
|
1813
1824
|
fee_bps: (json: string) => AssembledTransaction<Option<bigint>>;
|
|
1825
|
+
effective_fee_bps: (json: string) => AssembledTransaction<bigint>;
|
|
1814
1826
|
fee_deposit_address: (json: string) => AssembledTransaction<string>;
|
|
1815
1827
|
set_paused: (json: string) => AssembledTransaction<null>;
|
|
1816
1828
|
is_paused: (json: string) => AssembledTransaction<boolean>;
|
|
@@ -1820,32 +1832,34 @@ export declare class Client extends ContractClient {
|
|
|
1820
1832
|
shared_decimals: (json: string) => AssembledTransaction<number>;
|
|
1821
1833
|
decimal_conversion_rate: (json: string) => AssembledTransaction<bigint>;
|
|
1822
1834
|
approval_required: (json: string) => AssembledTransaction<boolean>;
|
|
1835
|
+
msg_inspector: (json: string) => AssembledTransaction<Option<string>>;
|
|
1836
|
+
set_msg_inspector: (json: string) => AssembledTransaction<null>;
|
|
1823
1837
|
quote_send: (json: string) => AssembledTransaction<MessagingFee>;
|
|
1824
1838
|
send: (json: string) => AssembledTransaction<readonly [MessagingReceipt, OFTReceipt]>;
|
|
1825
1839
|
oft_type: (json: string) => AssembledTransaction<OftType>;
|
|
1826
1840
|
authorizer: (json: string) => AssembledTransaction<string>;
|
|
1827
|
-
enforced_options: (json: string) => AssembledTransaction<Buffer<ArrayBufferLike>>;
|
|
1828
|
-
set_enforced_options: (json: string) => AssembledTransaction<null>;
|
|
1829
|
-
combine_options: (json: string) => AssembledTransaction<Buffer<ArrayBufferLike>>;
|
|
1830
|
-
allow_initialize_path: (json: string) => AssembledTransaction<boolean>;
|
|
1831
|
-
next_nonce: (json: string) => AssembledTransaction<bigint>;
|
|
1832
|
-
lz_receive: (json: string) => AssembledTransaction<null>;
|
|
1833
|
-
is_compose_msg_sender: (json: string) => AssembledTransaction<boolean>;
|
|
1834
|
-
oapp_version: (json: string) => AssembledTransaction<readonly [bigint, bigint]>;
|
|
1835
|
-
endpoint: (json: string) => AssembledTransaction<string>;
|
|
1836
|
-
peer: (json: string) => AssembledTransaction<Option<Buffer<ArrayBufferLike>>>;
|
|
1837
|
-
set_peer: (json: string) => AssembledTransaction<null>;
|
|
1838
|
-
set_delegate: (json: string) => AssembledTransaction<null>;
|
|
1839
|
-
set_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
1840
|
-
ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
|
|
1841
|
-
freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
1842
|
-
is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
|
|
1843
|
-
extend_instance_ttl: (json: string) => AssembledTransaction<null>;
|
|
1844
1841
|
owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
1845
1842
|
pending_owner: (json: string) => AssembledTransaction<Option<string>>;
|
|
1846
1843
|
transfer_ownership: (json: string) => AssembledTransaction<null>;
|
|
1847
1844
|
propose_ownership_transfer: (json: string) => AssembledTransaction<null>;
|
|
1848
1845
|
accept_ownership: (json: string) => AssembledTransaction<null>;
|
|
1849
1846
|
renounce_ownership: (json: string) => AssembledTransaction<null>;
|
|
1847
|
+
extend_instance_ttl: (json: string) => AssembledTransaction<null>;
|
|
1848
|
+
set_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
1849
|
+
ttl_configs: (json: string) => AssembledTransaction<readonly [Option<TtlConfig>, Option<TtlConfig>]>;
|
|
1850
|
+
freeze_ttl_configs: (json: string) => AssembledTransaction<null>;
|
|
1851
|
+
is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
|
|
1852
|
+
oapp_version: (json: string) => AssembledTransaction<readonly [bigint, bigint]>;
|
|
1853
|
+
endpoint: (json: string) => AssembledTransaction<string>;
|
|
1854
|
+
peer: (json: string) => AssembledTransaction<Option<Buffer<ArrayBufferLike>>>;
|
|
1855
|
+
set_peer: (json: string) => AssembledTransaction<null>;
|
|
1856
|
+
set_delegate: (json: string) => AssembledTransaction<null>;
|
|
1857
|
+
allow_initialize_path: (json: string) => AssembledTransaction<boolean>;
|
|
1858
|
+
next_nonce: (json: string) => AssembledTransaction<bigint>;
|
|
1859
|
+
lz_receive: (json: string) => AssembledTransaction<null>;
|
|
1860
|
+
is_compose_msg_sender: (json: string) => AssembledTransaction<boolean>;
|
|
1861
|
+
enforced_options: (json: string) => AssembledTransaction<Buffer<ArrayBufferLike>>;
|
|
1862
|
+
set_enforced_options: (json: string) => AssembledTransaction<null>;
|
|
1863
|
+
combine_options: (json: string) => AssembledTransaction<Buffer<ArrayBufferLike>>;
|
|
1850
1864
|
};
|
|
1851
1865
|
}
|