@layerzerolabs/protocol-stellar-v2 0.2.33 → 0.2.35
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 +351 -367
- package/.turbo/turbo-lint.log +220 -223
- package/.turbo/turbo-test.log +1993 -1796
- package/Cargo.lock +10 -10
- package/Cargo.toml +1 -1
- package/contracts/common-macros/src/storage.rs +7 -5
- package/contracts/common-macros/src/tests/storage/snapshots/common_macros__tests__storage__generate_storage__snapshot_generated_storage_code.snap +3 -3
- package/contracts/endpoint-v2/src/endpoint_v2.rs +5 -4
- package/contracts/endpoint-v2/src/interfaces/messaging_channel.rs +7 -8
- package/contracts/endpoint-v2/src/messaging_channel.rs +78 -45
- package/contracts/endpoint-v2/src/storage.rs +8 -3
- package/contracts/endpoint-v2/src/tests/endpoint_setup.rs +2 -2
- package/contracts/endpoint-v2/src/tests/endpoint_v2/clear.rs +12 -15
- package/contracts/endpoint-v2/src/tests/endpoint_v2/verifiable.rs +46 -9
- package/contracts/endpoint-v2/src/tests/messaging_channel/burn.rs +7 -23
- package/contracts/endpoint-v2/src/tests/messaging_channel/clear_payload.rs +23 -20
- package/contracts/endpoint-v2/src/tests/messaging_channel/inbound.rs +94 -1
- package/contracts/endpoint-v2/src/tests/messaging_channel/inbound_nonce.rs +17 -15
- package/contracts/endpoint-v2/src/tests/messaging_channel/mod.rs +1 -1
- package/contracts/endpoint-v2/src/tests/messaging_channel/nilify.rs +48 -13
- package/contracts/endpoint-v2/src/tests/messaging_channel/pending_inbound_nonces.rs +111 -0
- package/contracts/endpoint-v2/src/tests/messaging_channel/skip.rs +15 -25
- package/contracts/layerzero-views/src/layerzero_view.rs +2 -2
- package/contracts/layerzero-views/src/tests/layerzero_view_tests.rs +3 -4
- package/contracts/layerzero-views/src/tests/setup.rs +0 -21
- package/contracts/message-libs/blocked-message-lib/src/lib.rs +4 -4
- package/contracts/message-libs/uln-302/src/send_uln.rs +5 -5
- package/contracts/oapps/counter/src/counter.rs +6 -0
- package/contracts/oapps/oapp/src/oapp_sender.rs +3 -2
- package/contracts/oapps/oft/integration-tests/extensions/test_oft_fee.rs +5 -11
- package/contracts/oapps/oft/integration-tests/extensions/test_pausable.rs +7 -14
- package/contracts/oapps/oft/integration-tests/extensions/test_rate_limiter.rs +11 -22
- package/contracts/oapps/oft/integration-tests/setup.rs +59 -7
- package/contracts/oapps/oft/integration-tests/utils.rs +28 -2
- package/contracts/oapps/oft/src/extensions/oft_fee.rs +5 -0
- package/contracts/oapps/oft/src/interfaces/mintable.rs +14 -0
- package/contracts/oapps/oft/src/interfaces/mod.rs +2 -2
- package/contracts/oapps/oft/src/oft.rs +8 -7
- package/contracts/oapps/oft/src/oft_types/mint_burn.rs +8 -8
- package/contracts/oapps/oft/src/oft_types/mod.rs +3 -4
- package/contracts/oapps/oft/src/tests/extensions/rate_limiter.rs +7 -5
- package/contracts/oapps/sac-manager/src/errors.rs +14 -0
- package/contracts/{sac-manager → oapps/sac-manager}/src/lib.rs +0 -4
- package/contracts/oapps/sac-manager/src/sac_manager.rs +115 -0
- package/contracts/oapps/sac-manager/src/storage.rs +20 -0
- package/contracts/{sac-manager → oapps/sac-manager}/src/tests/mod.rs +0 -4
- package/contracts/oapps/sac-manager/src/tests/sac_manager/clawback.rs +86 -0
- package/contracts/oapps/sac-manager/src/tests/sac_manager/mint.rs +58 -0
- package/contracts/{sac-manager → oapps/sac-manager}/src/tests/sac_manager/mod.rs +1 -3
- package/contracts/oapps/sac-manager/src/tests/sac_manager/set_minter.rs +69 -0
- package/contracts/oapps/sac-manager/src/tests/sac_manager/test_helper.rs +18 -0
- package/contracts/oapps/sac-manager/src/tests/sac_manager/view_functions.rs +28 -0
- package/contracts/{sac-manager → oapps/sac-manager}/src/tests/test_helper.rs +16 -59
- package/docs/layerzero-v2-on-stellar.md +46 -2
- package/package.json +8 -3
- package/sdk/.turbo/turbo-test.log +424 -429
- package/sdk/dist/generated/bml.d.ts +3 -3
- package/sdk/dist/generated/bml.js +3 -3
- package/sdk/dist/generated/counter.d.ts +32 -3
- package/sdk/dist/generated/counter.js +6 -3
- package/sdk/dist/generated/dvn.d.ts +3 -3
- package/sdk/dist/generated/dvn.js +3 -3
- package/sdk/dist/generated/dvn_fee_lib.d.ts +2 -2
- package/sdk/dist/generated/dvn_fee_lib.js +2 -2
- package/sdk/dist/generated/endpoint.d.ts +12 -13
- package/sdk/dist/generated/endpoint.js +7 -7
- package/sdk/dist/generated/executor.d.ts +3 -3
- package/sdk/dist/generated/executor.js +3 -3
- package/sdk/dist/generated/executor_fee_lib.d.ts +2 -2
- package/sdk/dist/generated/executor_fee_lib.js +2 -2
- package/sdk/dist/generated/executor_helper.d.ts +2 -2
- package/sdk/dist/generated/executor_helper.js +2 -2
- package/sdk/dist/generated/layerzero_view.d.ts +3 -3
- package/sdk/dist/generated/layerzero_view.js +3 -3
- package/sdk/dist/generated/oft.d.ts +32 -3
- package/sdk/dist/generated/oft.js +7 -4
- package/sdk/dist/generated/price_feed.d.ts +3 -3
- package/sdk/dist/generated/price_feed.js +3 -3
- package/sdk/dist/generated/sac_manager.d.ts +47 -318
- package/sdk/dist/generated/sac_manager.js +24 -129
- package/sdk/dist/generated/sml.d.ts +2 -2
- package/sdk/dist/generated/sml.js +2 -2
- package/sdk/dist/generated/treasury.d.ts +2 -2
- package/sdk/dist/generated/treasury.js +2 -2
- package/sdk/dist/generated/uln302.d.ts +3 -3
- package/sdk/dist/generated/uln302.js +3 -3
- package/sdk/dist/generated/upgrader.d.ts +2 -2
- package/sdk/dist/generated/upgrader.js +2 -2
- package/sdk/package.json +6 -1
- package/sdk/test/oft-sml.test.ts +72 -36
- package/sdk/test/sac-manager-redistribution.test.ts +38 -182
- package/contracts/endpoint-v2/src/tests/messaging_channel/lazy_inbound_nonce.rs +0 -39
- package/contracts/oapps/oft/src/interfaces/mint_burnable.rs +0 -18
- package/contracts/sac-manager/src/errors.rs +0 -18
- package/contracts/sac-manager/src/extensions/mod.rs +0 -6
- package/contracts/sac-manager/src/extensions/redistribution.rs +0 -109
- package/contracts/sac-manager/src/extensions/supply_control/mod.rs +0 -488
- package/contracts/sac-manager/src/extensions/supply_control/rate_limit.rs +0 -126
- package/contracts/sac-manager/src/interfaces/mod.rs +0 -3
- package/contracts/sac-manager/src/interfaces/sac_manager.rs +0 -52
- package/contracts/sac-manager/src/sac_manager.rs +0 -193
- package/contracts/sac-manager/src/storage.rs +0 -20
- package/contracts/sac-manager/src/tests/redistribution/mod.rs +0 -1
- package/contracts/sac-manager/src/tests/redistribution/redistribute_funds.rs +0 -82
- package/contracts/sac-manager/src/tests/sac_manager/admin_mint.rs +0 -206
- package/contracts/sac-manager/src/tests/sac_manager/burn.rs +0 -215
- package/contracts/sac-manager/src/tests/sac_manager/clawback.rs +0 -209
- package/contracts/sac-manager/src/tests/sac_manager/mint.rs +0 -252
- package/contracts/sac-manager/src/tests/sac_manager/set_oft_address.rs +0 -47
- package/contracts/sac-manager/src/tests/sac_manager/test_helper.rs +0 -75
- package/contracts/sac-manager/src/tests/sac_manager/view_functions.rs +0 -60
- package/contracts/sac-manager/src/tests/supply_control/enumerable_set.rs +0 -256
- package/contracts/sac-manager/src/tests/supply_control/mod.rs +0 -8
- package/contracts/sac-manager/src/tests/supply_control/refill.rs +0 -90
- package/contracts/sac-manager/src/tests/supply_control/set_mint_whitelist.rs +0 -245
- package/contracts/sac-manager/src/tests/supply_control/set_supply_controller.rs +0 -267
- package/contracts/sac-manager/src/tests/supply_control/set_supply_controller_manager.rs +0 -122
- package/contracts/sac-manager/src/tests/supply_control/test_helper.rs +0 -38
- package/contracts/sac-manager/src/tests/supply_control/update_allow_any_mint_burn.rs +0 -114
- package/contracts/sac-manager/src/tests/supply_control/update_limit_config.rs +0 -257
- /package/contracts/{sac-manager → oapps/sac-manager}/Cargo.toml +0 -0
- /package/contracts/{sac-manager → oapps/sac-manager}/src/tests/sac_manager/set_admin.rs +0 -0
- /package/contracts/{sac-manager → oapps/sac-manager}/src/tests/sac_manager/set_authorized.rs +0 -0
|
@@ -6,186 +6,31 @@ 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: 31206 bytes (30.47 KB)
|
|
10
10
|
*/
|
|
11
|
-
export declare const WASM_BASE64 = "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gIAARQ0AIANCAhCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQaKGwIAAQQoQtoCAgAAgASgCAA0CIAEgASkDCBC3gICAAAwBCyABQZqGwIAAQQgQtoCAgAAgASgCAA0BIAEgASkDCBC3gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCxUAIAAQpICAgAAgAUICEIGAgIAAGgtNAgF/AX4Qp4CAgABBACEAAkBBABCogICAACIBQgIQoYCAgABFDQBBASEAAkACQCABQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAAsgAAtIAQF/I4CAgIAAQRBrIgAkgICAgAAgAEEEahCTgYCAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQjoGAgAALIABBEGokgICAgAALwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQY6JwIAAQQYQtoCAgAAgASgCAA0DIAEgASkDCBC3gICAAAwCCyABQZSJwIAAQQgQtoCAgAAgASgCAA0CIAEgASkDCBC3gICAAAwBCyABQZyJwIAAQQoQtoCAgAAgASgCAA0BIAEgASkDCBC3gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC2sCAX8CfiOAgICAAEEQayICJICAgIAAIAJBBGoQqoCAgAACQCACKAIEQQFHDQAgAjUCDCEDIAI1AgghBCAAIAEQoICAgABCASAEQiCGQgSEIANCIIZCBIQQgoCAgAAaCyACQRBqJICAgIAACwwAIABBAhCbgYCAAAsPABCsgICAABCDgICAABoLRwIBfwF+I4CAgIAAQRBrIgAkgICAgAAQp4CAgAAgABCugICAACAAKQMIIQEgACkDAEGLCBCvgICAACAAQRBqJICAgIAAIAELbAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCugICAACAAKQMIIQEgACkDAEGLCBCvgICAAAJAIAEQrICAgAAQsICAgAANAEKDgICA4IABELGAgIAAAAsgARCDgICAABogAEEQaiSAgICAACABCxAAEKeAgIAAIAAQtYCAgAALKQACQCAAp0EBcUUNAA8LIAFB+ndqrUIghkKDgICA4IABfBCxgICAAAALDQAgACABEJiAgIAAUAsLACAAEJ6AgIAAGgtCAQF/I4CAgIAAQRBrIgAkgICAgAAgABCzgICAAAJAIAApAwBQDQBCg4CAgMCBARCxgICAAAALIABBEGokgICAgAALUwECfhCngICAAEIAIQECQAJAQQEQtICAgAAiAkIAEKGAgIAARQ0AIAJCABCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQaGIwIAAQQwQtoCAgAAgASgCAA0CIAEgASkDCBC3gICAAAwBCyABQZyIwIAAQQUQtoCAgAAgASgCAA0BIAEgASkDCBC3gICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACC00BAn5CACEBAkACQEEAELSAgIAAIgJCAhChgICAAEUNACACQgIQgICAgAAiAUL/AYNCzQBSDQEgACABNwMIQgEhAQsgACABNwMADwsAC1ECAX8BfiOAgICAAEEQayIDJICAgIAAIAMgASACEJiBgIAAQgEhBAJAIAMoAgANACAAIAMpAwg3AwhCACEECyAAIAQ3AwAgA0EQaiSAgICAAAtEAQF/I4CAgIAAQRBrIgIkgICAgAAgAiABNwMIIAJBCGpBARC4gICAACEBIABCADcDACAAIAE3AwggAkEQaiSAgICAAAsaACAArUIghkIEhCABrUIghkIEhBCQgICAAAtgAgF/AX4jgICAgABBEGsiACSAgICAACAAQayAwIAAQRUQtoCAgAACQAJAIAAoAgANACAAIAApAwgQt4CAgAAgACgCAEEBRw0BCwALIAApAwghASAAQRBqJICAgIAAIAELRwEBfyOAgICAAEEQayIEJICAgIAAIAQgACABIAIgAxC7gICAAAJAIAQoAgBBAUcNAAALIAQpAwghAyAEQRBqJICAgIAAIAMLhwEBAX8jgICAgABBEGsiBSSAgICAACAFIAEgAhDMgICAAEIBIQICQCAFKAIADQAgBSkDCCEBIAUgAyAEEMyAgIAAIAUoAgANACAFIAUpAwg3AwggBSABNwMAIABB4IDAgABBAiAFQQIQyICAgAA3AwhCACECCyAAIAI3AwAgBUEQaiSAgICAAAsZAAJAIAENAEEADwsgACABKQMAELCAgIAACxAAELmAgIAAQgIQoYCAgAALFgEBfkIAIAAQoICAgABCAhChgICAAAtVAQF/I4CAgIAAQdAAayICJICAgIAAIAIgARDAgICAAAJAIAItAEhBAkcNAEKDgICA0BkQsYCAgAAACyAAIAJB0AAQn4GAgAAaIAJB0ABqJICAgIAAC4EEBAF/AX4CfwJ+I4CAgIAAQcABayICJICAgIAAAkACQAJAQgEgARCggICAACIDQgEQoYCAgAANACAAQQI6AEgMAQsgA0IBEICAgIAAIQNBACEEAkADQCAEQRBGDQEgAiAEakICNwMAIARBCGohBAwACwsgA0L/AYNCzABSDQEgA0G4hcCAAEECIAJBAhDKgICAACACQcAAaiACKQMAEM6AgIAAIAItAGgiBUECRg0BIAJBgAFqIAJBwABqQSgQn4GAgAAaIAIgAkHsAGooAAA2AHsgAiACKABpNgJ4QQAhBAJAA0AgBEEQRg0BIAJBsAFqIARqQgI3AwAgBEEIaiEEDAALCyACKQMIIgNC/wGDQswAUg0BIANBkIHAgABBAiACQbABakECEMqAgIAAAkACQCACKQOwASIDp0H/AXEiBEHAAEYNACAEQQZHDQMgA0IIiCEDDAELIAMQhYCAgAAhAwsgAkHAAGogAikDuAEQy4CAgAAgAigCQEEBRg0BIAIpA1AhBiACKQNYIQcgAkEYaiACQYABakEoEJ+BgIAAGiAAQcwAaiACKAB7NgAAIAAgAigCeDYASSAAIAc3AwggACAGNwMAIAAgAzcDECAAQRhqIAJBEGpBMBCfgYCAABogACAFOgBIQgEgARCpgICAAAsgAkHAAWokgICAgAAPCwALJgAgABCDgICAABoCQCAAEMKAgIAADQBCg4CAgJAaELGAgIAAAAsLWgECfyOAgICAAEEQayIBJICAgIAAEKeAgIAAIAFBCGoQ1ICAgAAgABCIgICAABDVgICAAAJAIAEoAggiAkECRw0AENaAgIAAAAsgAUEQaiSAgICAACACQQBHCyQAAkACQCABQgBTDQAgA0J/VQ0BC0KDgICAwBkQsYCAgAAACwttAgF/AX4jgICAgABBEGsiAySAgICAAEGAgMCAAEESEMWAgIAAEMaAgIAAIQQgACABEMeAgIAAIQEgAyACNwMIIAMgATcDACAEQZyAwIAAQQIgA0ECEMiAgIAAEISAgIAAGiADQRBqJICAgIAAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEJiBgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQuICAgAAhACABQRBqJICAgIAAIAALQwEBfyOAgICAAEEQayICJICAgIAAIAIgACABEMyAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEBIAJBEGokgICAgAAgAQsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJaAgIAAC+8BAgJ/A34jgICAgABBMGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0IAIQRCASEFAkAgAUL/AYNCzABSDQAgAUHggMCAAEECIAJBAhDKgICAACACQRBqIAIpAwAQy4CAgAAgAigCEEEBRg0AIAIpAyghASACKQMgIQYgAkEQaiACKQMIEMuAgIAAIAIoAhBBAUYNACACKQMgIQQgACACKQMoNwMoIAAgBDcDICAAIAE3AxggACAGNwMQQgAhBUIAIQQLIAAgBTcDACAAIAQ3AwggAkEwaiSAgICAAAsxAAJAIAIgBEYNAAALIAAgAa1CIIZCBIQgA61CIIZCBIQgAq1CIIZCBIQQl4CAgAAaC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQkYCAgAAhAyABEJKAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMAC1sAAkACQCABQoCAgICAgIDAAHxC//////////8AVg0AIAEgAYUgAiABQj+HhYRCAFINACABQgiGQguEIQEMAQsgAiABEJOAgIAAIQELIABCADcDACAAIAE3AwgLfwIBfwF+I4CAgIAAQSBrIgEkgICAgABBuITAgABB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QQhqIQUMAAsLIABCjvKz1wwgBEEQakECELiAgIAAEPCAgIAAIARBIGokgICAgAAPCyAEQRBqIAVqQgI3AwAgBUEIaiEFDAALCw8AEKeAgIAAEL2AgIAArQvUAgEDfyOAgICAAEEgayICJICAgIAAAkACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAQq4CAgAAQp4CAgAAgAkEIahDUgICAACIBIAAQiICAgAAQ1YCAgAAgAigCCCIEQQJGDQECQAJAIANBAXENACAERQ0EIAIoAgwiBCABEImAgIAAQiCIp08NASABIAStQiCGQgSEEIqAgIAAIQEMAQsgBA0EIAEgABCLgICAACEBC0IDIAEQooCAgABCAyAAEKmAgIAAQdSDwIAAQRcQxYCAgAAQxoCAgAAhASACIAA3AxggAiADrTcDECABQfSDwIAAQQIgAkEQakECEMiAgIAAEISAgIAAGiACQSBqJICAgIAAQgIPCwALENaAgIAAAAtCg4CAgNAZELGAgIAAAAtCg4CAgIAZELGAgIAAAAu/BQMCfwR+AX8jgICAgABBsAFrIgMkgICAgAACQAJAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AAkACQCACQgJSDQBBAiEEDAELIANBEGogAhDOgICAACADLQA4IgRBAkYNASADKQMoIQUgAykDICEGIAMpAxghByADKQMQIQIgAykDMCEICxCngICAACAAEMGAgIAAIAEQ0YCAgAAhCQJAAkAgBEECRg0AIAkNAyACIAcgBiAFEMOAgIAAEOCAgIAAIQAgAyAFNwNIIAMgBjcDQCADIAc3AzggAyACNwMwIAMgBzcDGCADIAI3AxAgAyAEOgBYIAMgCDcDUCADIAA3AyAgASADQRBqENCAgIAAENKAgIAAIAEQi4CAgAAQ04CAgAAgAyAFNwN4IAMgBjcDcCADIAc3A2ggAyACNwNgIAMgBDoAiAEgAyAINwOAASADIAE3A5ABQaCBwIAAQRcQxYCAgAAQxoCAgAAhACADQaABaiADQeAAahDPgICAACADKAKgAUEBRg0CIAMpA6gBIQIgAyABNwOoASADIAI3A6ABIABB0IHAgABBAiADQaABakECEMiAgIAAEISAgIAAGgwBCyAJRQ0DQgEgARCggICAAEIBEIyAgIAAGiADQQhqENKAgIAAIgAgARCIgICAABDVgICAACADKAIIIgRBAkYNBCAEQQFxRQ0FAkAgAygCDCIEIAAQiYCAgABCIIinTw0AIAAgBK1CIIZCBIQQioCAgAAhAAsgABDTgICAAEHggcCAAEEZEMWAgIAAEMaAgIAAIQAgAyABNwMQIABB/IHAgABBASADQRBqQQEQyICAgAAQhICAgAAaCyADQbABaiSAgICAAEICDwsAC0KDgICAgBkQsYCAgAAAC0KDgICA0BkQsYCAgAAACxDWgICAAAALENqAgIAAAAs9AgF+AX8CQBCZgICAACIAp0H/AXEiAUEGRg0AAkAgAUHAAEcNACAAEIWAgIAADwsQ1oCAgAAACyAAQgiIC/UCAgF/B34jgICAgABB8ABrIgMkgICAgAACQAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAMgAhDJgICAACADKAIAQQFxDQAgAykDKCEEIAMpAyAhBSADKQMYIQIgAykDECEGEKeAgIAAIAAQwYCAgAAgBiACIAUgBBDDgICAACADIAEQv4CAgAAgAykDOCEAIAMpAzAhBwJAIAYgAykDICIIhSACIAMpAygiCYWEQgBSDQAgByAFhSAAIASFhEIAUQ0CCyADIAU3AzAgAyAGNwMgIAMgBDcDOCADIAI3AyggASADENCAgIAAQYSCwIAAQRQQxYCAgAAQxoCAgAAhCiAGIAIgBSAEELqAgIAAIQIgCCAJIAcgABC6gICAACEGIAMgATcDaCADIAY3A2AgAyACNwNYIApBuILAgABBAyADQdgAakEDEMiAgIAAEISAgIAAGiADQfAAaiSAgICAAEICDwsAC0KDgICAgBoQsYCAgAAAC/EBAQN/I4CAgIAAQfAAayIDJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINAEEBIAKnQf8BcSIEQQBHQQF0IARBAUYbIgRBAkYNABCngICAACAAEMGAgIAAIAMgARC/gICAACADLQBIIgUgBEYNASADIAQ6AEggASADENCAgIAAQdCCwIAAQRsQxYCAgAAQxoCAgAAhACADIAE3A2ggAyAFrTcDYCADIAStNwNYIABBgIPAgABBAyADQdgAakEDEMiAgIAAEISAgIAAGiADQfAAaiSAgICAAEICDwsAC0KDgICAgBoQsYCAgAAAC4cDAQN/I4CAgIAAQYABayIEJICAgIAAAkACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAkL/AYNCzQBSDQBBASADp0H/AXEiBUEAR0EBdCAFQQFGGyIFQQJGDQAQp4CAgAAgABDBgICAACAEQRBqIAEQv4CAgAAgBEEIaiAEKQNQIgAgAhCIgICAABDVgICAACAEKAIIIgZBAkYNAQJAAkACQCAFQQFxDQAgBkUNBSAEKAIMIgYgABCJgICAAEIgiKdPDQIgACAGrUIghkIEhBCKgICAACEADAELIAYNBSAAIAIQi4CAgAAhAAsgBCAANwNQCyABIARBEGoQ0ICAgABBmIPAgABBEhDFgICAABDGgICAACEAIAQgATcDeCAEIAI3A3AgBCAFrTcDaCAAQbyDwIAAQQMgBEHoAGpBAxDIgICAABCEgICAABogBEGAAWokgICAgABCAg8LAAsQ1oCAgAAAC0KDgICA0BkQsYCAgAAAC0KDgICAgBkQsYCAgAAACxsAAkAgAEL/AYNCzQBRDQAACyAAEMKAgIAArQsIABDUgICAAAuZAQECfyOAgICAAEGAAWsiASSAgICAAAJAIABC/wGDQs0AUg0AEKeAgIAAIAFBMGogABDAgICAAAJAAkACQCABLQB4QQJGDQAgASABQdAAakEwEJ+BgIAAIgItAChBAkcNAQtCAiEADAELIAJBMGogAhDPgICAACACKAIwQQFxDQEgAikDOCEACyABQYABaiSAgICAACAADwsAC04BAX8jgICAgABB0ABrIgEkgICAgAACQCAAQv8Bg0LNAFENAAALEKeAgIAAIAEgABDAgICAACABMQBIIQAgAUHQAGokgICAgAAgAEIBgwsOABCngICAABDSgICAAAt1AQF/I4CAgIAAQdAAayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAQp4CAgAAgAiAAEMCAgIAAQgAhAAJAIAItAEhBAkYNACACKQNAIAEQiICAgABCAlKtIQALIAJB0ABqJICAgIAAIAAPCwAL1gIDAX8HfgF/I4CAgIAAQfAAayIBJICAgIAAAkAgAEL/AYNCzQBSDQAQp4CAgAAgAUEgaiAAEMCAgIAAAkACQCABLQBoQQJGDQAgASkDWCECIAEpA1AhAyABKQNIIQAgASkDQCEEIAEpAyghBSABKQMgIQYgASkDMCEHEOCAgIAAIQgCQCADIAKEUEUNAEL///////////8AIQBCfyEEDAILAkAgCCAHVA0AIAFBADYCHCABIAggB31CACADIAIgAUEcahCdgYCAACABKAIcDQIgBSABKQMIIgKFQn+FIAUgBSACfCAGIAEpAwB8IgMgBlStfCIChYNCAFMNAiAAIAIgBCADVCAAIAJTIAAgAlEbIgkbIQAgBCADIAkbIQQMAgtCg4CAgOAZELGAgIAAAAtCACEEQgAhAAsgBCAAEMeAgIAAIQAgAUHwAGokgICAgAAgAA8LAAsPABCngICAABC+gICAAK0LZwEBfyOAgICAAEEgayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAyACEMuAgIAAIAMoAgBBAUYNACAAIAEgAykDECADKQMYEO2AgIAAIANBIGokgICAgABCAg8LAAu2BQMBfwV+AX8jgICAgABBkAFrIgQkgICAgAAQp4CAgAAgABCDgICAABoCQAJAAkACQBC+gICAAA0AIARBIGoQroCAgAAgACAEQShqQQAgBCgCIBsQvICAgAANASAAEPaAgIAAELCAgIAADQFCg4CAgDAQsYCAgAAACyAEQSBqIAAQv4CAgAACQCAELQBoDQAgBCkDYCABEIiAgIAAQgJRDQILEOCAgIAAIQUCQCAEKQNQIgYgBCkDWCIHhFANAAJAAkACQCADQgBZDQBCg4CAgLAZIQAMAQsCQCAFIAQpAzAiCFoNAEKDgICA4BkhAAwBCyAEQQA2AhwgBCAFIAh9QgAgBiAHIARBHGoQnYGAgAACQAJAIAQoAhwNACAEKQMoIgcgBCkDCCIGhUJ/hSAHIAcgBnwgBCkDICIGIAQpAwB8IgggBlStfCIGhYNCAFMNACAEKQNIIgcgBiAEKQNAIgkgCFQgByAGUyAHIAZRGyIKGyEGIAkgCCAKGyEHDAELIAQpA0ghBiAEKQNAIQcLIAQgBTcDMCAHIAJUIgogBiADUyAGIANRG0UNAUKDgICA8BkhAAsgABCxgICAAAALIAQgByACfTcDICAEIAYgA30gCq19NwMoCyAAIARBIGoQ0ICAgABBhITAgABBEBDFgICAABDGgICAACEFIAIgAxDHgICAACEGIAQgATcDiAEgBCAANwOAASAEIAY3A3ggBUGghMCAAEEDIARB+ABqQQMQyICAgAAQhICAgAAaCwJAEL2AgIAARQ0AENiAgIAAIAEQ2YCAgAANACACIAMgARDEgICAACAEQSBqEK6AgIAAIAQoAiBFDQIgBCkDKCEBCxDYgICAACABIAIgAxDcgICAACAEQZABaiSAgICAAA8LQoOAgICgGRCxgICAAAALENqAgIAAAAuHAgIBfwF+I4CAgIAAQdAAayIDJICAgIAAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACADIAIQy4CAgAAgAygCAEEBRg0AIAMpAxghAiADKQMQIQQQp4CAgAAgABCDgICAABoCQAJAEL6AgIAADQAgAxCugICAACAAIANBCGpBACADKAIAGxC8gICAAA0BQoOAgIAwELGAgIAAAAsgAyAAEL+AgIAAIAMtAEhFDQIgAyAENwMAIAMgATcDGCADIAA3AxAgAyACNwMIIAMQzYCAgAALENiAgIAAIAEgBCACENuAgIAAIANB0ABqJICAgIAAQgIPCwALQoOAgICQGRCxgICAAAALbgIBfwF+I4CAgIAAQRBrIgEkgICAgAACQCAAQv8Bg0LNAFENAAALEKuAgIAAEKeAgIAAENiAgIAAIQIgASAANwMIIAJCjuauueqM5NU4IAFBCGpBARC4gICAABDwgICAACABQRBqJICAgIAAQgILIQACQCAAIAEgAhCVgICAAEL/AYNCAlENABDWgICAAAALC/EBAgN/AX4jgICAgABBIGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQAhA0EBIAGnQf8BcSIEQQBHQQF0IARBAUYbIgRBAkYNABCrgICAABCngICAABDYgICAACEBQayGwIAAQQ4QxYCAgAAhBSACIAStNwMIIAIgADcDAANAAkAgA0EQRw0AQQAhAwJAA0AgA0EQRg0BIAJBEGogA2ogAiADaikDADcDACADQQhqIQMMAAsLIAEgBSACQRBqQQIQuICAgAAQ8ICAgAAgAkEgaiSAgICAAEICDwsgAkEQaiADakICNwMAIANBCGohAwwACwsAC3gBAX8jgICAgABBEGsiASSAgICAAAJAAkAgAEL/AYNCzQBSDQAQq4CAgAAQp4CAgAAgARDzgICAACAAIAFBCGpBACABKAIAGxC8gICAAA0BQQEgABClgICAACABQRBqJICAgIAAQgIPCwALQoOAgIAgELGAgIAAAAsMACAAQQEQo4CAgAALCAAQ2ICAgAALCAAQ9oCAgAALUAIBfwF+I4CAgIAAQRBrIgAkgICAgAAQp4CAgAAgABDzgICAAAJAIAAoAgANAEKDgICAEBCxgICAAAALIAApAwghASAAQRBqJICAgIAAIAELbwIBfwF+I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINACACIAEQy4CAgAAgAigCAEEBRg0AIAIpAxghASACKQMQIQMQp4CAgAAQ9oCAgAAgACADIAEQ7YCAgAAgAkEgaiSAgICAAEICDwsAC9QCAwF/An4BfyOAgICAAEHgAGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAIgARDLgICAACACKAIAQQFGDQAgAikDGCEBIAIpAxAhAxCngICAACAAEIOAgIAAGhD2gICAACIEEIOAgIAAGgJAAkAQvoCAgABFDQAgAiAEEL+AgIAAIAItAEhFDQEgAiADNwMAIAIgADcDGCACIAQ3AxAgAiABNwMIIAIQzYCAgAALENiAgIAAIQQgAiADIAEQx4CAgAA3A1ggAiAANwNQQQAhBQNAAkAgBUEQRw0AQQAhBQJAA0AgBUEQRg0BIAIgBWogAkHQAGogBWopAwA3AwAgBUEIaiEFDAALCyAEQo7mt/0JIAJBAhC4gICAABDwgICAACACQeAAaiSAgICAAEICDwsgAiAFakICNwMAIAVBCGohBQwACwtCg4CAgJAZELGAgIAAAAsAC/ABAQJ/AkACQAJAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQBBASACp0H/AXEiBEEAR0EBdCAEQQFGGyIFQQJGDQBBASADp0H/AXEiBEEAR0EBdCAEQQFGGyIEQQJGDQBBgMseQYDSHxD6gICAAEGAyx5BgNIfEPuAgIAAQQAQtICAgABCAhChgICAAA0BIAEQ/ICAgABBACAAEKWAgIAAIAVBAXENAgwDCwALQoOAgICggQEQsYCAgAAACxC5gICAAEIBQgIQgYCAgAAaCwJAIARBAXFFDQBCACAAEKCAgIAAQgFCAhCBgICAABoLQgILDgBBASAAIAEQnIGAgAALDgBBAiAAIAEQnIGAgAALDgBBACAAQgIQioGAgAALTQACQAJAIABC/wGDQsgAUg0AIAAQjYCAgABCgICAgHCDQoCAgICABFENAQsACxCrgICAABCngICAAEEBEP6AgIAAIAAQjoCAgAAaQgILGAAQgIGAgAAgAK1C/wGDQgIQgYCAgAAaC4oBAQF+AkACQCAAQv8Bg0LIAFINABCrgICAABCngICAAAJAAkAQgIGAgAAiAUICEKGAgIAARQ0AIAFCAhCAgICAAKdB/wFxDgIAAQILQoOAgICwgwEQsYCAgAAACyAAEI+AgIAAQv8Bg0ICUg0BQQAQ/oCAgABCAg8LAAtCg4CAgKCDARCxgICAAAALYAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEGmicCAAEEJELaAgIAAAkACQCAAKAIADQAgACAAKQMIELeAgIAAIAAoAgBBAUcNAQsACyAAKQMIIQEgAEEQaiSAgICAACABCwgAEKyAgIAACz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQroCAgAAgACkDACAAKQMIEIOBgIAAIQEgAEEQaiSAgICAACABCw0AIAFCAiAAp0EBcRsLPgIBfwF+I4CAgIAAQRBrIgAkgICAgAAgABCzgICAACAAKQMAIAApAwgQg4GAgAAhASAAQRBqJICAgIAAIAELPAEBfgJAIABC/wGDQs0AUQ0AAAsQp4CAgAAQrYCAgAAhARCygICAACAAEPyAgIAAIAEgABCGgYCAAEICC2ECAX8BfiOAgICAAEEQayICJICAgIAAQc2GwIAAQRUQxYCAgAAQxoCAgAAhAyACIAA3AwggAiABNwMAIANB9IbAgABBAiACQQIQyICAgAAQhICAgAAaIAJBEGokgICAgAAL/AICAX8CfiOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAQp4CAgAAQrYCAgAAhAwJAAkAgAUL/////D1YNACACQQhqELOAgIAAIAIpAxAhASACKQMIQYkIEK+AgIAAIAEgABCwgICAAEUNAxCIgYCAAEG4h8CAAEEcEMWAgIAAEMaAgIAAIQAgAiADNwMQIAIgATcDCCAAQfCHwIAAQQIgAkEIakECEMiAgIAAEISAgIAAGgwBCxCJgYCAACABQiCIp0kNA0EBIABCABCKgYCAAEEBELSAgIAAQgAgAUKEgICAcIMiASABEIKAgIAAGkGEh8CAAEEWEMWAgIAAEMaAgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEGgh8CAAEEDIAJBCGpBAxDIgICAABCEgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgPCAARCxgICAAAALQoOAgICAgQEQsYCAgAAACxMAQQEQtICAgABCABCMgICAABoLMwECfhCagICAACEAAkAQm4CAgABCIIgiASAAQiCIIgBUDQAgAacgAKdrDwsQ1oCAgAAACxUAIAAQtICAgAAgASACEIGAgIAAGguIAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAQp4CAgAAgABCzgICAACAAKQMIIQEgACkDAEGJCBCvgICAACABEIOAgIAAGiAAELWAgIAAAkAgACgCAA0AENqAgIAAAAsgACkDCCECEIiBgIAAIAEQ/ICAgAAgAiABEIaBgIAAIABBEGokgICAgABCAguEAQIBfwJ+I4CAgIAAQRBrIgAkgICAgAAQp4CAgAAQrYCAgAAhARCygICAAEEAELSAgIAAQgIQjICAgAAaQYCIwIAAQRMQxYCAgAAQxoCAgAAhAiAAIAE3AwggAkGUiMCAAEEBIABBCGpBARDIgICAABCEgICAABogAEEQaiSAgICAAEICCzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinEI6BgIAAQgIPCwALGwAgAK1CIIZCBIQgAa1CIIZCBIQQnYCAgAAaC7wEAQV/I4CAgIAAQdAAayICJICAgIAAIAJBKGogABCQgYCAAAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABEJCBgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYEKuAgIAAEKeAgIAAAkACQAJAEKaAgIAADQAQiYGAgAAiA0GA+4ADIANBgPuAA0kbIQQgAiACQRhqNgIsIAIgAkEIajYCKEEAIQMDQCADQQhGDQMCQCACQShqIANqKAIAIgUoAgBBAXFFDQAgBSgCCCIGIARLDQMgBSgCBCAGSw0DCyADQQRqIQMMAAsLQoOAgIDQ/wAQsYCAgAAAC0KDgICAwP8AELGAgIAAAAsCQAJAIAIoAghBAUcNACACKAIMIAIoAhAQ+oCAgAAMAQtBARCogICAAEICEIyAgIAAGgsCQAJAIAIoAhhBAUcNACACKAIcIAIoAiAQ+4CAgAAMAQtBAhCogICAAEICEIyAgIAAGgsgAkEoakEIaiACQQhqQQhqKAIANgIAIAJBPGogAkEYakEIaigCADYCACACIAIpAwg3AyggAiACKQMYNwI0QciIwIAAQQ8QxYCAgAAQxoCAgAAhACACQShqEJGBgIAAIQEgAiACQTRqEJGBgIAANwNIIAIgATcDQCAAQeyIwIAAQQIgAkHAAGpBAhDIgICAABCEgICAABogAkHQAGokgICAgABCAg8LAAtoAQF/I4CAgIAAQRBrIgIkgICAgAACQAJAIAFCAlENACACQQRqIAEQmYGAgAACQCACKAIERQ0AIABBAjYCAAwCCyAAIAIpAgg3AgQgAEEBNgIADAELIABBADYCAAsgAkEQaiSAgICAAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQlIGAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACC6ABAgJ/AX4jgICAgABBwABrIgAkgICAgAAQp4CAgAAgAEEIahCTgYCAACAAQRRqIgEQqoCAgAAgAEEwaiAAQQhqEJSBgIAAAkACQCAAKAIwDQAgACkDOCECIABBMGogARCUgYCAACAAKAIwQQFHDQELAAsgACAAKQM4NwMoIAAgAjcDICAAQSBqQQIQuICAgAAhAiAAQcAAaiSAgICAACACCwwAIABBARCbgYCAAAswAAJAIAEoAgBBAUcNACAAIAEoAgQgASgCCBCagYCAAA8LIABCADcDACAAQgI3AwgLiAEBAX8jgICAgABBEGsiACSAgICAABCrgICAABCngICAAAJAEKaAgIAARQ0AQoOAgIDg/wAQsYCAgAAAC0EAEKiAgIAAQgFCAhCBgICAABpB/IjAgABBEhDFgICAABDGgICAAEEEQQAgAEEIakEAEMiAgIAAEISAgIAAGiAAQRBqJICAgIAAQgILCQAQpoCAgACtCwMAAAvbAQIBfgR/AkACQCACQQlLDQBCACEDIAIhBCABIQUDQAJAIAQNACADQgiGQg6EIQMMAwtBASEGAkAgBS0AACIHQd8ARg0AAkAgB0FQakH/AXFBCkkNAAJAIAdBv39qQf8BcUEaSQ0AIAdBn39qQf8BcUEZSw0EIAdBRWohBgwCCyAHQUtqIQYMAQsgB0FSaiEGCyADQgaGIAatQv8Bg4QhAyAEQX9qIQQgBUEBaiEFDAALCyABrUIghkIEhCACrUIghkIEhBCUgICAACEDCyAAQgA3AwAgACADNwMIC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQbiIwIAAQQIgAkECEMqAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBuIjAgABBAiADQQIQyICAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEKiAgIAAIgRCAhChgICAAEUNACACQQRqIARCAhCAgICAABCZgYCAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALVgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgABCogICAACEEIAMgASACEJqBgIAAAkAgAygCAEEBRw0AAAsgBCADKQMIQgIQgYCAgAAaIANBEGokgICAgAAL1QMDAX8CfgJ/I4CAgIAAQeAAayIGJICAgIAAQgAhB0IAIQhBACEJAkAgASAChFANACADIASEUA0AQgAgA30gAyAEQgBTIgkbIQdCACABfSABIAJCAFMiChshCEIAIAQgA0IAUq18fSAEIAkbIQMgBCAChSEEAkACQEIAIAIgAUIAUq18fSACIAobIgJQDQACQCADUA0AIAZB0ABqIAcgAyAIIAIQoIGAgABBASEJIAYpA1ghASAGKQNQIQIMAgsgBkHAAGogByADIAhCABCggYCAACAGQTBqIAcgAyACQgAQoIGAgAAgBikDSCICIAYpAzB8IgEgAlQgBikDOEIAUnIhCSAGKQNAIQIMAQsCQCADUA0AIAZBIGogB0IAIAggAhCggYCAACAGQRBqIANC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bGxlcnRvEgAQAAYAAAAUAhAACgAAAB4CEAACAAAAc3VwcGx5X2RlY3JlYXNlZGZyb20SABAABgAAABQCEAAKAAAASAIQAAQAAABhbGxvd19hbnlfbWludF9idXJubGltaXRfY29uZmlnd2hpdGVsaXN0X2FkZHJlc3NlcwAAZAIQABMAAAB3AhAADAAAAIMCEAATAAAAc3RhdGUAAAC3ABAABgAAALACEAAFAAAAU3VwcGx5Q29udHJvbEVuYWJsZWRTdXBwbHlDb250cm9sbGVyRW50cnlTdXBwbHlDb250cm9sbGVyc1N1cHBseUNvbnRyb2xsZXJNYW5hZ2Vyc1NhY1Rva2VuT2Z0QWRkcmVzc3NldF9hdXRob3JpemVkYXV0aG9yaXplZHRocmVzaG9sZG93bmVyc2hpcF90cmFuc2ZlcnJlZG5ld19vd25lcm9sZF9vd25lcmIDEAAJAAAAawMQAAkAAABvd25lcnNoaXBfdHJhbnNmZXJyaW5ndHRsAAAAYgMQAAkAAABrAxAACQAAAJoDEAADAAAAb3duZXJzaGlwX3RyYW5zZmVyX2NhbmNlbGxlZGNhbmNlbGxlZF9wZW5kaW5nX293bmVyb3duZXLUAxAAFwAAAOsDEAAFAAAAb3duZXJzaGlwX3Jlbm91bmNlZABrAxAACQAAAE93bmVyUGVuZGluZ093bmVyZXh0ZW5kX3RvAAAtBBAACQAAAEQDEAAJAAAAdHRsX2NvbmZpZ3Nfc2V0aW5zdGFuY2VwZXJzaXN0ZW50AAAAVwQQAAgAAABfBBAACgAAAHR0bF9jb25maWdzX2Zyb3plbkZyb3plbkluc3RhbmNlUGVyc2lzdGVudE1pZ3JhdGluZwDX3gEOY29udHJhY3RzcGVjdjAAAAAEAAAAAAAAAAAAAAATUmVkaXN0cmlidXRpb25FcnJvcgAAAAACAAAAOEFjY291bnQgaXMgbm90IGJsYWNrbGlzdGVkIChyZXF1aXJlZCBmb3IgcmVkaXN0cmlidXRpb24pAAAADk5vdEJsYWNrbGlzdGVkAAAAAABkAAAAHVJlZGlzdHJpYnV0aW9uIGlzIG5vdCBlbmFibGVkAAAAAAAAGFJlZGlzdHJpYnV0aW9uTm90RW5hYmxlZAAAAGUAAAAFAAAARkV2ZW50IGVtaXR0ZWQgd2hlbiBmdW5kcyBhcmUgcmVkaXN0cmlidXRlZCBmcm9tIGEgYmxhY2tsaXN0ZWQgYWNjb3VudC4AAAAAAAAAAAARUmVkaXN0cmlidXRlRnVuZHMAAAAAAAABAAAAEnJlZGlzdHJpYnV0ZV9mdW5kcwAAAAAAAgAAAAAAAAAEdXNlcgAAABMAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAgAAAAIAAAAAAAAAAAAAABVSZWRpc3RyaWJ1dGlvblN0b3JhZ2UAAAAAAAABAAAAAAAAAAAAAAAVUmVkaXN0cmlidXRpb25FbmFibGVkAAAAAAAAAQAAACZMaW1pdCBjb25maWd1cmF0aW9uIGZvciByYXRlIGxpbWl0aW5nLgAAAAAAAAAAAAtMaW1pdENvbmZpZwAAAAACAAAAHU1heCBhbW91bnQgZm9yIHRoZSByYXRlIGxpbWl0AAAAAAAADmxpbWl0X2NhcGFjaXR5AAAAAAALAAAAhUFtb3VudCB0byBhZGQgdG8gbGltaXQgZWFjaCBzZWNvbmQgdXAgdG8gdGhlIGxpbWl0Q2FwYWNpdHkuCkEgdmFsdWUgb2YgMCBtZWFucyByYXRlIGxpbWl0aW5nIGlzIGRpc2FibGVkICh1bmxpbWl0ZWQgbWludGluZyBhbGxvd2VkKS4AAAAAAAARcmVmaWxsX3Blcl9zZWNvbmQAAAAAAAALAAAAAQAAAElSYXRlIGxpbWl0IHN0YXRlICh0aGUgcnVudGltZSBzdGF0ZSB0aGF0IHBlcnNpc3RzIGFjcm9zcyBjb25maWcgdXBkYXRlcykuAAAAAAAAAAAAAA5SYXRlTGltaXRTdGF0ZQAAAAAAAgAAABhUaW1lc3RhbXAgb2YgbGFzdCByZWZpbGwAAAAQbGFzdF9yZWZpbGxfdGltZQAAAAYAAAAkUmVtYWluaW5nIGFtb3VudCBmb3IgdGhlIHRpbWUgcGVyaW9kAAAAEHJlbWFpbmluZ19hbW91bnQAAAALAAAABAAAACBTdXBwbHkgY29udHJvbCBlcnJvcnM6IDMyNTAtMzI5OQAAAAAAAAASU3VwcGx5Q29udHJvbEVycm9yAAAAAAAKAAAAR0VudHJ5IGFscmVhZHkgZXhpc3RzIChzdXBwbHkgY29udHJvbGxlciwgbWFuYWdlciwgb3Igd2hpdGVsaXN0IGFkZHJlc3MpAAAAAA1BbHJlYWR5RXhpc3RzAAAAAAAAyAAAAB1DYW5ub3QgYnVybiBmcm9tIHRoaXMgYWRkcmVzcwAAAAAAABVDYW5ub3RCdXJuRnJvbUFkZHJlc3MAAAAAAADJAAAALkNhbm5vdCBtaW50IHRvIHRoaXMgYWRkcmVzcyAobm90IGluIHdoaXRlbGlzdCkAAAAAABNDYW5ub3RNaW50VG9BZGRyZXNzAAAAAMoAAAAOSW52YWxpZCBhbW91bnQAAAAAAA1JbnZhbGlkQW1vdW50AAAAAAAAywAAABVJbnZhbGlkIGNvbmZpZ3VyYXRpb24AAAAAAAANSW52YWxpZENvbmZpZwAAAAAAAMwAAABCRW50cnkgbm90IGZvdW5kIChzdXBwbHkgY29udHJvbGxlciwgbWFuYWdlciwgb3Igd2hpdGVsaXN0IGFkZHJlc3MpAAAAAAAITm90Rm91bmQAAADNAAAALFRpbWVzdGFtcCBpcyBvbGRlciB0aGFuIHRoZSBsYXN0IHJlZmlsbCB0aW1lAAAADE9sZFRpbWVzdGFtcAAAAM4AAAATUmF0ZSBsaW1pdCBleGNlZWRlZAAAAAARUmF0ZUxpbWl0RXhjZWVkZWQAAAAAAADPAAAAJlZhbHVlIGlzIGFscmVhZHkgc2V0IHRvIHRoZSBzYW1lIHN0YXRlAAAAAAAJU2FtZVZhbHVlAAAAAAAA0AAAAD1DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBhIHN1cHBseSBjb250cm9sbGVyIG9yIG1hbmFnZXIpAAAAAAAADFVuYXV0aG9yaXplZAAAANEAAAAFAAAAMEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHN1cHBseSBjb250cm9sbGVyIGlzIGFkZGVkLgAAAAAAAAAVU3VwcGx5Q29udHJvbGxlckFkZGVkAAAAAAAAAQAAABdzdXBwbHlfY29udHJvbGxlcl9hZGRlZAAAAAACAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAAAAAAAZjb25maWcAAAAAB9AAAAAWU3VwcGx5Q29udHJvbGxlckNvbmZpZwAAAAAAAAAAAAIAAAAFAAAAMkV2ZW50IGVtaXR0ZWQgd2hlbiBhIHN1cHBseSBjb250cm9sbGVyIGlzIHJlbW92ZWQuAAAAAAAAAAAAF1N1cHBseUNvbnRyb2xsZXJSZW1vdmVkAAAAAAEAAAAZc3VwcGx5X2NvbnRyb2xsZXJfcmVtb3ZlZAAAAAAAAAEAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAAAAAACAAAABQAAAEpFdmVudCBlbWl0dGVkIHdoZW4gbGltaXQgY29uZmlndXJhdGlvbiBpcyB1cGRhdGVkIGZvciBhIHN1cHBseSBjb250cm9sbGVyLgAAAAAAAAAAABJMaW1pdENvbmZpZ1VwZGF0ZWQAAAAAAAEAAAAUbGltaXRfY29uZmlnX3VwZGF0ZWQAAAADAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAAAAAABBuZXdfbGltaXRfY29uZmlnAAAH0AAAAAtMaW1pdENvbmZpZwAAAAAAAAAAAAAAABBvbGRfbGltaXRfY29uZmlnAAAH0AAAAAtMaW1pdENvbmZpZwAAAAAAAAAAAgAAAAUAAABMRXZlbnQgZW1pdHRlZCB3aGVuIGBhbGxvd19hbnlfbWludF9idXJuYCBpcyB1cGRhdGVkIGZvciBhIHN1cHBseSBjb250cm9sbGVyLgAAAAAAAAAXQWxsb3dBbnlNaW50QnVyblVwZGF0ZWQAAAAAAQAAABthbGxvd19hbnlfbWludF9idXJuX3VwZGF0ZWQAAAAAAwAAAAAAAAARc3VwcGx5X2NvbnRyb2xsZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X2FsbG93AAAAAAAAAQAAAAAAAAAAAAAACW9sZF9hbGxvdwAAAAAAAAEAAAAAAAAAAgAAAAUAAAA+RXZlbnQgZW1pdHRlZCB3aGVuIGEgbWludCB3aGl0ZWxpc3QgZW50cnkgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAAAAAQTWludFdoaXRlbGlzdFNldAAAAAEAAAASbWludF93aGl0ZWxpc3Rfc2V0AAAAAAADAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAAAAAAAxtaW50X2FkZHJlc3MAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAQ0V2ZW50IGVtaXR0ZWQgd2hlbiBhIHN1cHBseSBjb250cm9sbGVyIG1hbmFnZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAAABRTdXBwbHlDdHJsTWFuYWdlclNldAAAAAEAAAAXc3VwcGx5X2N0cmxfbWFuYWdlcl9zZXQAAAAAAgAAAAAAAAAHbWFuYWdlcgAAAAATAAAAAAAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAIAAAAFAAAAJUV2ZW50IGVtaXR0ZWQgd2hlbiB0b2tlbnMgYXJlIG1pbnRlZC4AAAAAAAAAAAAAD1N1cHBseUluY3JlYXNlZAAAAAABAAAAEHN1cHBseV9pbmNyZWFzZWQAAAADAAAAAAAAAApjb250cm9sbGVyAAAAAAATAAAAAAAAAAAAAAACdG8AAAAAABMAAAAAAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAAgAAAAUAAAAlRXZlbnQgZW1pdHRlZCB3aGVuIHRva2VucyBhcmUgYnVybmVkLgAAAAAAAAAAAAAPU3VwcGx5RGVjcmVhc2VkAAAAAAEAAAAQc3VwcGx5X2RlY3JlYXNlZAAAAAMAAAAAAAAACmNvbnRyb2xsZXIAAAAAABMAAAAAAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAACAAAAAQAAAD5TdXBwbHkgY29udHJvbGxlciBjb25maWd1cmF0aW9uICh0aGUgY29uZmlndXJhYmxlIHBhcmFtZXRlcnMpLgAAAAAAAAAAABZTdXBwbHlDb250cm9sbGVyQ29uZmlnAAAAAAADAAAAk0lmIHRydWUsIGFsbG93cyB0aGUgc3VwcGx5IGNvbnRyb2xsZXIgdG8gbWludCB0byBhbmQgYnVybiBmcm9tIGFueSBhZGRyZXNzLgpXaGVuIGZhbHNlLCB0aGUgY29udHJvbGxlciBjYW4gb25seSBtaW50IHRvIGFkZHJlc3NlcyBpbiBpdHMgd2hpdGVsaXN0LgAAAAATYWxsb3dfYW55X21pbnRfYnVybgAAAAABAAAAE0xpbWl0IGNvbmZpZ3VyYXRpb24AAAAADGxpbWl0X2NvbmZpZwAAB9AAAAALTGltaXRDb25maWcAAAAAYkFkZHJlc3NlcyB0aGF0IHRoaXMgc3VwcGx5IGNvbnRyb2xsZXIgaXMgYWxsb3dlZCB0byBtaW50IHRvICh3aGVuIGBhbGxvd19hbnlfbWludF9idXJuYCBpcyBmYWxzZSkuAAAAAAATd2hpdGVsaXN0X2FkZHJlc3NlcwAAAAPqAAAAEwAAAAEAAAB3U3VwcGx5IGNvbnRyb2xsZXIgd2l0aCBib3RoIGNvbmZpZyBhbmQgc3RhdGUgbmVzdGVkIHRvZ2V0aGVyLgpTdG9yZWQgcGVyLWNvbnRyb2xsZXIgZm9yIE8oMSkgYWNjZXNzIG9uIGV2ZXJ5IG1pbnQvYnVybi4AAAAAAAAAABVTdXBwbHlDb250cm9sbGVyRW50cnkAAAAAAAACAAAALENvbmZpZ3VyYXRpb24gKGNhbiBiZSB1cGRhdGVkIGluZGVwZW5kZW50bHkpAAAABmNvbmZpZwAAAAAH0AAAABZTdXBwbHlDb250cm9sbGVyQ29uZmlnAAAAAAAyUmF0ZSBsaW1pdCBzdGF0ZSAocHJlc2VydmVkIGFjcm9zcyBjb25maWcgdXBkYXRlcykAAAAAAAVzdGF0ZQAAAAAAB9AAAAAOUmF0ZUxpbWl0U3RhdGUAAAAAAAIAAAAAAAAAAAAAABRTdXBwbHlDb250cm9sU3RvcmFnZQAAAAQAAAAAAAAAAAAAABRTdXBwbHlDb250cm9sRW5hYmxlZAAAAAEAAAAAAAAAFVN1cHBseUNvbnRyb2xsZXJFbnRyeQAAAAAAAAEAAAATAAAAAAAAAAAAAAARU3VwcGx5Q29udHJvbGxlcnMAAAAAAAAAAAAAAAAAABhTdXBwbHlDb250cm9sbGVyTWFuYWdlcnMAAAAEAAAAIkdlbmVyYWwgU2FjTWFuYWdlckVycm9yOiAzMjIwLTMyNDkAAAAAAAAAAAAPU2FjTWFuYWdlckVycm9yAAAAAAMAAAAgT0ZUIGFkZHJlc3MgaGFzIG5vdCBiZWVuIHNldCB5ZXQAAAAQT2Z0QWRkcmVzc05vdFNldAAAAAEAAAAXVGhlIHZhbHVlcyBhcmUgdGhlIHNhbWUAAAAACVNhbWVWYWx1ZQAAAAAAAAIAAAArQ2FsbGVyIGlzIG5vdCBhdXRob3JpemVkIGZvciB0aGlzIG9wZXJhdGlvbgAAAAAMVW5hdXRob3JpemVkAAAAAwAAAAAAAAA8UmVkaXN0cmlidXRlcyBmdW5kcyBmcm9tIGEgYmxhY2tsaXN0ZWQgYWNjb3VudCB0byB0aGUgb3duZXIuAAAAHnJlZGlzdHJpYnV0ZV9ibGFja2xpc3RlZF9mdW5kcwAAAAAAAgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAABZyZWRpc3RyaWJ1dGlvbl9lbmFibGVkAAAAAAAAAAAAAQAAAAEAAAAAAAAAQ1NldHMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGEgc3VwcGx5IGNvbnRyb2xsZXIgbWFuYWdlci4gT3duZXItb25seS4AAAAAHXNldF9zdXBwbHlfY29udHJvbGxlcl9tYW5hZ2VyAAAAAAAAAgAAAAAAAAAHbWFuYWdlcgAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAKlTZXRzIG9yIHJlbW92ZXMgYSBzdXBwbHkgY29udHJvbGxlci4gTWFuYWdlci1vbmx5LgoKLSBgU29tZShjb25maWcpYDogQWRkcyBhIG5ldyBzdXBwbHkgY29udHJvbGxlciB3aXRoIHRoZSBnaXZlbiBjb25maWd1cmF0aW9uLgotIGBOb25lYDogUmVtb3ZlcyB0aGUgc3VwcGx5IGNvbnRyb2xsZXIuAAAAAAAAFXNldF9zdXBwbHlfY29udHJvbGxlcgAAAAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAARc3VwcGx5X2NvbnRyb2xsZXIAAAAAAAATAAAAAAAAAAZjb25maWcAAAAAA+gAAAfQAAAAFlN1cHBseUNvbnRyb2xsZXJDb25maWcAAAAAAAAAAAAAAAAAoFVwZGF0ZXMgdGhlIHJhdGUgbGltaXQgY29uZmlndXJhdGlvbiBmb3IgYSBzdXBwbHkgY29udHJvbGxlci4gTWFuYWdlci1vbmx5LgpOb3RlOiBUaGlzIGRvZXMgTk9UIHJlc2V0IHRoZSByYXRlIGxpbWl0IHN0YXRlIChyZW1haW5pbmdfYW1vdW50LCBsYXN0X3JlZmlsbF90aW1lKS4AAAATdXBkYXRlX2xpbWl0X2NvbmZpZwAAAAADAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAAAAAAMbGltaXRfY29uZmlnAAAH0AAAAAtMaW1pdENvbmZpZwAAAAAAAAAAAAAAAFpVcGRhdGVzIHdoZXRoZXIgdGhlIHN1cHBseSBjb250cm9sbGVyIGNhbiBtaW50IHRvIGFuZCBidXJuIGZyb20gYW55IGFkZHJlc3MuIE1hbmFnZXItb25seS4AAAAAABp1cGRhdGVfYWxsb3dfYW55X21pbnRfYnVybgAAAAAAAwAAAAAAAAAGc2VuZGVyAAAAAAATAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAAAAAAAE2FsbG93X2FueV9taW50X2J1cm4AAAAAAQAAAAAAAAAAAAAAVlNldHMgd2hldGhlciBhbiBhZGRyZXNzIGlzIGluIHRoZSBtaW50IHdoaXRlbGlzdCBvZiBhIHN1cHBseSBjb250cm9sbGVyLiBNYW5hZ2VyLW9ubHkuAAAAAAASc2V0X21pbnRfd2hpdGVsaXN0AAAAAAAEAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAAAAAAMbWludF9hZGRyZXNzAAAAEwAAAAAAAAAGYWN0aXZlAAAAAAABAAAAAAAAAAAAAABBUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBhZGRyZXNzIGlzIGEgc3VwcGx5IGNvbnRyb2xsZXIgbWFuYWdlci4AAAAAAAAcaXNfc3VwcGx5X2NvbnRyb2xsZXJfbWFuYWdlcgAAAAEAAAAAAAAAB2FkZHJlc3MAAAAAEwAAAAEAAAABAAAAAAAAAC1HZXRzIGFsbCBzdXBwbHkgY29udHJvbGxlciBtYW5hZ2VyIGFkZHJlc3Nlcy4AAAAAAAAeZ2V0X3N1cHBseV9jb250cm9sbGVyX21hbmFnZXJzAAAAAAAAAAAAAQAAA+oAAAATAAAAAAAAACVHZXRzIHN1cHBseSBjb250cm9sbGVyIGNvbmZpZ3VyYXRpb24uAAAAAAAAHGdldF9zdXBwbHlfY29udHJvbGxlcl9jb25maWcAAAABAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAABAAAD6AAAB9AAAAAWU3VwcGx5Q29udHJvbGxlckNvbmZpZwAAAAAAAAAAAAAAAAATYWxsb3dfYW55X21pbnRfYnVybgAAAAABAAAAAAAAABFzdXBwbHlfY29udHJvbGxlcgAAAAAAABMAAAABAAAAAQAAAAAAAAAsR2V0cyBhbGwgYWN0aXZlIHN1cHBseSBjb250cm9sbGVyIGFkZHJlc3Nlcy4AAAAWZ2V0X3N1cHBseV9jb250cm9sbGVycwAAAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABNUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBhZGRyZXNzIGlzIGluIHRoZSB3aGl0ZWxpc3Qgb2YgYSBzdXBwbHkgY29udHJvbGxlci4AAAAAAAAWaXNfYWRkcmVzc193aGl0ZWxpc3RlZAAAAAAAAgAAAAAAAAARc3VwcGx5X2NvbnRyb2xsZXIAAAAAAAATAAAAAAAAAAxtaW50X2FkZHJlc3MAAAATAAAAAQAAAAEAAAAAAAAAP0dldHMgcmVtYWluaW5nIGFtb3VudCB3aGljaCBjYW4gYmUgbWludGVkIGF0IGN1cnJlbnQgdGltZXN0YW1wLgAAAAAZZ2V0X3JlbWFpbmluZ19taW50X2Ftb3VudAAAAAAAAAEAAAAAAAAAEXN1cHBseV9jb250cm9sbGVyAAAAAAAAEwAAAAEAAAALAAAAAAAAAAAAAAAWc3VwcGx5X2NvbnRyb2xfZW5hYmxlZAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAPYXV0aG9yaXplZF9taW50AAAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAAAhjbGF3YmFjawAAAAMAAAAAAAAABnNlbmRlcgAAAAAAEwAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAABFyZWxlYXNlX3NhY19hZG1pbgAAAAAAAAEAAAAAAAAAAnRvAAAAAAATAAAAAAAAAAAAAAAAAAAADnNldF9hdXRob3JpemVkAAAAAAACAAAAAAAAAAJpZAAAAAAAEwAAAAAAAAAJYXV0aG9yaXplAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA9zZXRfb2Z0X2FkZHJlc3MAAAAAAQAAAAAAAAAHbmV3X29mdAAAAAATAAAAAAAAAAAAAAAAAAAADnVuZGVybHlpbmdfc2FjAAAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAAtvZnRfYWRkcmVzcwAAAAAAAAAAAQAAABMAAAAAAAAAAAAAAARtaW50AAAAAgAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAAAAAAAAARidXJuAAAAAgAAAAAAAAAEZnJvbQAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAAAAACBENvbnN0cnVjdHMgdGhlIFNBQyBtYW5hZ2VyIGNvbnRyYWN0LgoKIyBBcmd1bWVudHMKKiBgc2FjX3Rva2VuYCAtIFRoZSB1bmRlcmx5aW5nIFN0ZWxsYXIgQXNzZXQgQ29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBUaGUgaW5pdGlhbCBvd25lciBhZGRyZXNzIChmb3IgdXBncmFkZXMsIG93bmVyIG9wcywgcmVkaXN0cmlidXRpb24gdGFyZ2V0KQoqIGByZWRpc3RyaWJ1dGlvbl9lbmFibGVkYCAtIFdoZXRoZXIgcmVkaXN0cmlidXRpb24gaXMgZW5hYmxlZCBnbG9iYWxseQoqIGBzdXBwbHlfY29udHJvbF9lbmFibGVkYCAtIFdoZXRoZXIgc3VwcGx5IGNvbnRyb2wgaXMgZW5hYmxlZCBnbG9iYWxseQoKTm90ZTogVGhlIE9GVCBhZGRyZXNzIG11c3QgYmUgc2V0IHNlcGFyYXRlbHkgdmlhIGBzZXRfb2Z0X2FkZHJlc3NgIGFmdGVyIGNvbnN0cnVjdGlvbiwKYmVjYXVzZSB0aGUgT0ZUIGFuZCBzYWMtbWFuYWdlciBoYXZlIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBvbiBlYWNoIG90aGVyJ3MgYWRkcmVzc2VzLgAAAA1fX2NvbnN0cnVjdG9yAAAAAAAABAAAAAAAAAAJc2FjX3Rva2VuAAAAAAAAEwAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAABZyZWRpc3RyaWJ1dGlvbl9lbmFibGVkAAAAAAABAAAAAAAAABZzdXBwbHlfY29udHJvbF9lbmFibGVkAAAAAAABAAAAAAAAAAAAAABsVXBncmFkZXMgdGhlIGNvbnRyYWN0IHRvIG5ldyBXQVNNIGJ5dGVjb2RlLgpTZXRzIGEgbWlncmF0aW9uIGZsYWcgdGhhdCBtdXN0IGJlIGNsZWFyZWQgYnkgY2FsbGluZyBgbWlncmF0ZWAuAAAAB3VwZ3JhZGUAAAAAAQAAAAAAAAANbmV3X3dhc21faGFzaAAAAAAAA+4AAAAgAAAAAAAAAAAAAACHUnVucyBtaWdyYXRpb24gbG9naWMgYWZ0ZXIgYW4gdXBncmFkZS4KUGFyc2VzIFhEUi1lbmNvZGVkIGBtaWdyYXRpb25fZGF0YWAgYW5kIGNhbGxzIGBfX21pZ3JhdGVgLiBDbGVhcnMgdGhlIG1pZ3JhdGlvbiBmbGFnIG9uIHN1Y2Nlc3MuAAAAAAdtaWdyYXRlAAAAAAEAAAAAAAAADm1pZ3JhdGlvbl9kYXRhAAAAAAAOAAAAAAAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAAAAAApUV4dGVuZHMgdGhlIGluc3RhbmNlIFRUTC4KCiMgQXJndW1lbnRzCgoqIGB0aHJlc2hvbGRgIC0gVGhlIHRocmVzaG9sZCB0byBleHRlbmQgdGhlIFRUTCAoaWYgY3VycmVudCBUVEwgaXMgYmVsb3cgdGhpcywgZXh0ZW5kKS4KKiBgZXh0ZW5kX3RvYCAtIFRoZSBUVEwgdG8gZXh0ZW5kIHRvLgAAAAAAABNleHRlbmRfaW5zdGFuY2VfdHRsAAAAAAIAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAACWV4dGVuZF90bwAAAAAAAAQAAAAAAAAAAAAAAY9TZXRzIFRUTCBjb25maWdzIGZvciBpbnN0YW5jZSBhbmQgcGVyc2lzdGVudCBzdG9yYWdlLgoKLSBgTm9uZWAgdmFsdWVzIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyBjb25maWcgKGRpc2FibGVzIGF1dG8tZXh0ZW5zaW9uIGZvciB0aGF0IHR5cGUpCi0gVmFsaWRhdGVzIHRoYXQgYHRocmVzaG9sZCA8PSBleHRlbmRfdG8gPD0gTUFYX1RUTGAKCiMgQXJndW1lbnRzCi0gYGluc3RhbmNlYCAtIFRUTCBjb25maWcgZm9yIGluc3RhbmNlIHN0b3JhZ2UKLSBgcGVyc2lzdGVudGAgLSBUVEwgY29uZmlnIGZvciBwZXJzaXN0ZW50IHN0b3JhZ2UKCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0Zyb3plbmAgaWYgY29uZmlncyBhcmUgZnJvemVuCi0gYEludmFsaWRUdGxDb25maWdgIGlmIHZhbGlkYXRpb24gZmFpbHMAAAAAD3NldF90dGxfY29uZmlncwAAAAACAAAAAAAAAAhpbnN0YW5jZQAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAABIUmV0dXJucyB0aGUgY3VycmVudCBUVEwgY29uZmlncyBhcyAoaW5zdGFuY2VfY29uZmlnLCBwZXJzaXN0ZW50X2NvbmZpZykuAAAAC3R0bF9jb25maWdzAAAAAAAAAAABAAAD7QAAAAIAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAA4VBlcm1hbmVudGx5IGZyZWV6ZXMgVFRMIGNvbmZpZ3MsIHByZXZlbnRpbmcgYW55IGZ1dHVyZSBtb2RpZmljYXRpb25zLgoKVGhpcyBpcyBpcnJldmVyc2libGUgYW5kIHByb3ZpZGVzIGltbXV0YWJpbGl0eSBndWFyYW50ZWVzIHRvIHVzZXJzLgpFbWl0cyBgVHRsQ29uZmlnc0Zyb3plbmAgZXZlbnQuCgojIFBhbmljcwotIGBUdGxDb25maWdBbHJlYWR5RnJvemVuYCBpZiBhbHJlYWR5IGZyb3plbgAAAAAAABJmcmVlemVfdHRsX2NvbmZpZ3MAAAAAAAAAAAAAAAAAAAAAACdSZXR1cm5zIHdoZXRoZXIgVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAFWlzX3R0bF9jb25maWdzX2Zyb3plbgAAAAAAAAAAAAABAAAAAQAAAAIAAAAAAAAAAAAAABFTYWNNYW5hZ2VyU3RvcmFnZQAAAAAAAAIAAAAAAAAAAAAAAAhTYWNUb2tlbgAAAAAAAAAAAAAACk9mdEFkZHJlc3MAAAAAAAUAAAAAAAAAAAAAAApQYWNrZXRTZW50AAAAAAABAAAAC3BhY2tldF9zZW50AAAAAAMAAAAAAAAADmVuY29kZWRfcGFja2V0AAAAAAAOAAAAAAAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAAAAAAAAAAAM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AAAAAQAAAAAAAAACdG8AAAAAABMAAAABAAAAAAAAAAhleGVjdXRvcgAAABMAAAABAAAAAAAAAARndWlkAAAD7gAAACAAAAABAAAAAAAAAAVpbmRleAAAAAAAAAQAAAABAAAAAAAAAANnYXMAAAAACwAAAAAAAAAAAAAABXZhbHVlAAAAAAAACwAAAAAAAAAAAAAAB21lc3NhZ2UAAAAADgAAAAAAAAAAAAAACmV4dHJhX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAZyZWFzb24AAAAAAA4AAAAAAAAAAgAAAAQAAAAAAAAAAAAAAA1FbmRwb2ludEVycm9yAAAAAAAAGQAAAC9MaWJyYXJ5IGlzIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbmRwb2ludAAAAAARQWxyZWFkeVJlZ2lzdGVyZWQAAAAAAAABAAAANkNvbXBvc2UgbWVzc2FnZSBhbHJlYWR5IGV4aXN0cyBmb3IgdGhpcyBHVUlEIGFuZCBpbmRleAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAANkNvbXBvc2UgbWVzc2FnZSBub3QgZm91bmQgZm9yIHRoZSBnaXZlbiBHVUlEIGFuZCBpbmRleAAAAAAAD0NvbXBvc2VOb3RGb3VuZAAAAAADAAAAOkRlZmF1bHQgcmVjZWl2ZSBsaWJyYXJ5IGlzIG5vdCBzZXQgZm9yIHRoZSBzb3VyY2UgZW5kcG9pbnQAAAAAABxEZWZhdWx0UmVjZWl2ZUxpYlVuYXZhaWxhYmxlAAAABAAAADxEZWZhdWx0IHNlbmQgbGlicmFyeSBpcyBub3Qgc2V0IGZvciB0aGUgZGVzdGluYXRpb24gZW5kcG9pbnQAAAAZRGVmYXVsdFNlbmRMaWJVbmF2YWlsYWJsZQAAAAAAAAUAAAAvU3VwcGxpZWQgbmF0aXZlIHRva2VuIGZlZSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQAAAAAFUluc3VmZmljaWVudE5hdGl2ZUZlZQAAAAAAAAYAAAAsU3VwcGxpZWQgWlJPIHRva2VuIGZlZSBpcyBsZXNzIHRoYW4gcmVxdWlyZWQAAAASSW5zdWZmaWNpZW50WnJvRmVlAAAAAAAHAAAAK1RpbWVvdXQgZXhwaXJ5IGlzIGludmFsaWQgKGFscmVhZHkgZXhwaXJlZCkAAAAADUludmFsaWRFeHBpcnkAAAAAAAAIAAAAIEZlZSBhbW91bnQgaXMgaW52YWxpZCAobmVnYXRpdmUpAAAAEEludmFsaWRGZWVBbW91bnQAAAAJAAAAK0NvbXBvc2UgaW5kZXggZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgdmFsdWUAAAAADEludmFsaWRJbmRleAAAAAoAAAAsTm9uY2UgaXMgaW52YWxpZCBmb3IgdGhlIHJlcXVlc3RlZCBvcGVyYXRpb24AAAAMSW52YWxpZE5vbmNlAAAACwAAADBQYXlsb2FkIGhhc2ggaXMgaW52YWxpZCAoZW1wdHkgaGFzaCBub3QgYWxsb3dlZCkAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAQVJlY2VpdmUgbGlicmFyeSBpcyBub3QgdmFsaWQgZm9yIHRoZSByZWNlaXZlciBhbmQgc291cmNlIGVuZHBvaW50AAAAAAAAFUludmFsaWRSZWNlaXZlTGlicmFyeQAAAAAAAA0AAAAxT3BlcmF0aW9uIHJlcXVpcmVzIGEgbm9uLWRlZmF1bHQgKGN1c3RvbSkgbGlicmFyeQAAAAAAABFPbmx5Tm9uRGVmYXVsdExpYgAAAAAAAA4AAAAnTGlicmFyeSBtdXN0IHN1cHBvcnQgcmVjZWl2aW5nIG1lc3NhZ2VzAAAAAA5Pbmx5UmVjZWl2ZUxpYgAAAAAADwAAACxMaWJyYXJ5IG11c3QgYmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBlbmRwb2ludAAAABFPbmx5UmVnaXN0ZXJlZExpYgAAAAAAABAAAAAlTGlicmFyeSBtdXN0IHN1cHBvcnQgc2VuZGluZyBtZXNzYWdlcwAAAAAAAAtPbmx5U2VuZExpYgAAAAARAAAAOU1lc3NhZ2luZyBwYXRoIGNhbm5vdCBiZSBpbml0aWFsaXplZCBmb3IgdGhlIGdpdmVuIG9yaWdpbgAAAAAAABRQYXRoTm90SW5pdGlhbGl6YWJsZQAAABIAAAAvTWVzc2FnZSBjYW5ub3QgYmUgdmVyaWZpZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAEVBhdGhOb3RWZXJpZmlhYmxlAAAAAAAAEwAAACtQYXlsb2FkIGhhc2ggZG9lcyBub3QgbWF0Y2ggdGhlIHN0b3JlZCBoYXNoAAAAABNQYXlsb2FkSGFzaE5vdEZvdW5kAAAAABQAAAAnTmV3IHZhbHVlIGlzIHRoZSBzYW1lIGFzIGV4aXN0aW5nIHZhbHVlAAAAAAlTYW1lVmFsdWUAAAAAAAAVAAAAL0NhbGxlciBpcyBub3QgYXV0aG9yaXplZCAobm90IE9BcHAgb3IgZGVsZWdhdGUpAAAAAAxVbmF1dGhvcml6ZWQAAAAWAAAAK0VuZHBvaW50IElEIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGxpYnJhcnkAAAAADlVuc3VwcG9ydGVkRWlkAAAAAAAXAAAAOVpSTyBmZWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybyB3aGVuIHBheV9pbl96cm8gaXMgdHJ1ZQAAAAAAAApaZXJvWnJvRmVlAAAAAAAYAAAAHFpSTyB0b2tlbiBhZGRyZXNzIGlzIG5vdCBzZXQAAAAOWnJvVW5hdmFpbGFibGUAAAAAABkAAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAAAAPTWVzc2FnaW5nUGFyYW1zAAAAAAUAAAArRGVzdGluYXRpb24gZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAHZHN0X2VpZAAAAAAEAAAAHFRoZSBtZXNzYWdlIHBheWxvYWQgdG8gc2VuZC4AAAAHbWVzc2FnZQAAAAAOAAAAIUVuY29kZWQgZXhlY3V0b3IgYW5kIERWTiBvcHRpb25zLgAAAAAAAAdvcHRpb25zAAAAAA4AAAA5V2hldGhlciB0byBwYXkgZmVlcyBpbiBaUk8gdG9rZW4gaW5zdGVhZCBvZiBuYXRpdmUgdG9rZW4uAAAAAAAACnBheV9pbl96cm8AAAAAAAEAAAA1UmVjZWl2ZXIgYWRkcmVzcyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAAEAAABNU291cmNlIG1lc3NhZ2UgaW5mb3JtYXRpb24gaWRlbnRpZnlpbmcgd2hlcmUgYSBjcm9zcy1jaGFpbiBtZXNzYWdlIGNhbWUgZnJvbS4AAAAAAAAAAAAABk9yaWdpbgAAAAAAAwAAABdOb25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAAFbm9uY2UAAAAAAAAGAAAALlNlbmRlciBhZGRyZXNzIG9uIHRoZSBzb3VyY2UgY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAZzZW5kZXIAAAAAA+4AAAAgAAAAJlNvdXJjZSBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAAChGZWUgc3RydWN0dXJlIGZvciBjcm9zcy1jaGFpbiBtZXNzYWdpbmcuAAAAAAAAAAxNZXNzYWdpbmdGZWUAAAACAAAAH0ZlZSBwYWlkIGluIG5hdGl2ZSB0b2tlbiAoWExNKS4AAAAACm5hdGl2ZV9mZWUAAAAAAAsAAAAoRmVlIHBhaWQgaW4gWlJPIHRva2VuIChMYXllclplcm8gdG9rZW4pLgAAAAd6cm9fZmVlAAAAAAsAAAABAAAAQlJlY2VpcHQgcmV0dXJuZWQgYWZ0ZXIgc3VjY2Vzc2Z1bGx5IHNlbmRpbmcgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgAAAAAAAAAAABBNZXNzYWdpbmdSZWNlaXB0AAAAAwAAAClUaGUgZmVlcyBjaGFyZ2VkIGZvciBzZW5kaW5nIHRoZSBtZXNzYWdlLgAAAAAAAANmZWUAAAAH0AAAAAxNZXNzYWdpbmdGZWUAAAArR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBtZXNzYWdlLgAAAAAEZ3VpZAAAA+4AAAAgAAAAJFRoZSBvdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAACAAAAOFR5cGUgb2YgbWVzc2FnZSBsaWJyYXJ5IGluZGljYXRpbmcgc3VwcG9ydGVkIG9wZXJhdGlvbnMuAAAAAAAAAA5NZXNzYWdlTGliVHlwZQAAAAAAAwAAAAAAAAAfU3VwcG9ydHMgb25seSBzZW5kaW5nIG1lc3NhZ2VzLgAAAAAEU2VuZAAAAAAAAAAhU3VwcG9ydHMgb25seSByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAAB1JlY2VpdmUAAAAAAAAAAC1TdXBwb3J0cyBib3RoIHNlbmRpbmcgYW5kIHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAOU2VuZEFuZFJlY2VpdmUAAAAAAAEAAAC3VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgYSBtZXNzYWdlIGxpYnJhcnkuCgpOb3RlOiBgbWlub3JgIGFuZCBgZW5kcG9pbnRfdmVyc2lvbmAgdXNlIGB1MzJgIGluc3RlYWQgb2YgYHU4YCBiZWNhdXNlIFN0ZWxsYXIgZG9lcyBub3QKc3VwcG9ydCBgdThgIHR5cGVzIGluIGNvbnRyYWN0IGludGVyZmFjZSBmdW5jdGlvbnMuAAAAAAAAAAARTWVzc2FnZUxpYlZlcnNpb24AAAAAAAADAAAAM0VuZHBvaW50IHZlcnNpb24gKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAQZW5kcG9pbnRfdmVyc2lvbgAAAAQAAAAVTWFqb3IgdmVyc2lvbiBudW1iZXIuAAAAAAAABW1ham9yAAAAAAAABgAAADdNaW5vciB2ZXJzaW9uIG51bWJlciAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAAAVtaW5vcgAAAAAAAAQAAAABAAAANlRpbWVvdXQgY29uZmlndXJhdGlvbiBmb3IgcmVjZWl2ZSBsaWJyYXJ5IHRyYW5zaXRpb25zLgAAAAAAAAAAAAdUaW1lb3V0AAAAAAIAAAAzVW5peCB0aW1lc3RhbXAgaW4gc2Vjb25kcyB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAAAAZleHBpcnkAAAAAAAYAAABDVGhlIG9sZCBsaWJyYXJ5IGFkZHJlc3MgdGhhdCByZW1haW5zIHZhbGlkIGR1cmluZyB0aGUgZ3JhY2UgcGVyaW9kLgAAAAADbGliAAAAABMAAAABAAAANVBhcmFtZXRlcnMgZm9yIHNldHRpbmcgbWVzc2FnZSBsaWJyYXJ5IGNvbmZpZ3VyYXRpb24uAAAAAAAAAAAAAA5TZXRDb25maWdQYXJhbQAAAAAAAwAAAB9YRFItZW5jb2RlZCBjb25maWd1cmF0aW9uIGRhdGEuAAAAAAZjb25maWcAAAAAAA4AAAAwVGhlIHR5cGUgb2YgY29uZmlndXJhdGlvbiAoZS5nLiwgZXhlY3V0b3IsIFVMTikuAAAAC2NvbmZpZ190eXBlAAAAAAQAAAAnVGhlIGVuZHBvaW50IElEIHRoaXMgY29uZmlnIGFwcGxpZXMgdG8uAAAAAANlaWQAAAAABAAAAAEAAAAxUmVzb2x2ZWQgbGlicmFyeSBpbmZvcm1hdGlvbiB3aXRoIGRlZmF1bHQgc3RhdHVzLgAAAAAAAAAAAAAPUmVzb2x2ZWRMaWJyYXJ5AAAAAAIAAABEV2hldGhlciB0aGlzIGlzIHRoZSBkZWZhdWx0IGxpYnJhcnkgKHRydWUpIG9yIE9BcHAtc3BlY2lmaWMgKGZhbHNlKS4AAAAKaXNfZGVmYXVsdAAAAAAAAQAAAB1UaGUgcmVzb2x2ZWQgbGlicmFyeSBhZGRyZXNzLgAAAAAAAANsaWIAAAAAEwAAAAEAAABIT3V0Ym91bmQgcGFja2V0IGNvbnRhaW5pbmcgYWxsIGluZm9ybWF0aW9uIGZvciBjcm9zcy1jaGFpbiB0cmFuc21pc3Npb24uAAAAAAAAAA5PdXRib3VuZFBhY2tldAAAAAAABwAAABhEZXN0aW5hdGlvbiBlbmRwb2ludCBJRC4AAAAHZHN0X2VpZAAAAAAEAAAALEdsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIG1lc3NhZ2UuAAAABGd1aWQAAAPuAAAAIAAAABRUaGUgbWVzc2FnZSBwYXlsb2FkLgAAAAdtZXNzYWdlAAAAAA4AAAAgT3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAMVJlY2VpdmVyIGFkZHJlc3Mgb24gZGVzdGluYXRpb24gY2hhaW4gKDMyIGJ5dGVzKS4AAAAAAAAIcmVjZWl2ZXIAAAPuAAAAIAAAAB9TZW5kZXIgYWRkcmVzcyBvbiBzb3VyY2UgY2hhaW4uAAAAAAZzZW5kZXIAAAAAABMAAAATU291cmNlIGVuZHBvaW50IElELgAAAAAHc3JjX2VpZAAAAAAEAAAAAQAAACtBIGZlZSByZWNpcGllbnQgd2l0aCB0aGUgYW1vdW50IHRvIGJlIHBhaWQuAAAAAAAAAAAMRmVlUmVjaXBpZW50AAAAAgAAABVBbW91bnQgb2YgZmVlIHRv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AAAACWluc3BlY3RvcgAAAAAAA+gAAAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKT0ZUU3RvcmFnZQAAAAAAAwAAAAAAAAAAAAAADERlY2ltYWxzRGlmZgAAAAAAAAAAAAAABVRva2VuAAAAAAAAAAAAAAAAAAAMTXNnSW5zcGVjdG9yAAAABAAAABNPRlRFcnJvcjogMzAwMC0zMDk5AAAAAAAAAAAIT0ZURXJyb3IAAAAGAAAAAAAAAA5JbnZhbGlkQWRkcmVzcwAAAAALuAAAAAAAAAANSW52YWxpZEFtb3VudAAAAAAAC7kAAAAAAAAAFEludmFsaWRMb2NhbERlY2ltYWxzAAALugAAAAAAAAAOTm90SW5pdGlhbGl6ZWQAAAAAC7sAAAAAAAAACE92ZXJmbG93AAALvAAAAAAAAAAQU2xpcHBhZ2VFeGNlZWRlZAAAC70AAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgT0ZUIHRva2VucyBjcm9zcy1jaGFpbgAAAAAAAAAAAAAJU2VuZFBhcmFtAAAAAAAABwAAACRUaGUgYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAAJYW1vdW50X2xkAAAAAAAACwAAADhDb21wb3NlIG1lc3NhZ2UgdG8gZXhlY3V0ZSBvbiB0aGUgZGVzdGluYXRpb24gKE9wdGlvbmFsKQAAAAtjb21wb3NlX21zZwAAAAAOAAAAG1RoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRAAAAAAHZHN0X2VpZAAAAAAEAAAAN0FkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIExheWVyWmVybyBtZXNzYWdlIChPcHRpb25hbCkAAAAADWV4dHJhX29wdGlvbnMAAAAAAAAOAAAARVRoZSBtaW5pbXVtIGFtb3VudCB0byByZWNlaXZlIGluIGxvY2FsIGRlY2ltYWxzIChzbGlwcGFnZSBwcm90ZWN0aW9uKQAAAAAAAA1taW5fYW1vdW50X2xkAAAAAAAACwAAACpPRlQgY29tbWFuZCBmb3IgY3VzdG9tIGJlaGF2aW9yIChPcHRpb25hbCkAAAAAAAdvZnRfY21kAAAAAA4AAAA5VGhlIHJlY2lwaWVudCBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpAAAAAAAAAnRvAAAAAAPuAAAAIAAAAAEAAAAiVHJhbnNmZXIgbGltaXRzIGZvciBPRlQgb3BlcmF0aW9ucwAAAAAAAAAAAAhPRlRMaW1pdAAAAAIAAAAsVGhlIG1heGltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWF4X2Ftb3VudF9sZAAAAAAAAAsAAAAsVGhlIG1pbmltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAABAAAAP1JlY2VpcHQgY29udGFpbmluZyBhbW91bnRzIHNlbnQgYW5kIHJlY2VpdmVkIGluIGFuIE9GVCB0cmFuc2ZlcgAAAAAAAAAACk9GVFJlY2VpcHQAAAAAAAIAAAAzVGhlIGFtb3VudCByZWNlaXZlZCBpbiBsb2NhbCBkZWNpbWFscyBvbiB0aGUgcmVtb3RlAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAhVGhlIGFtb3VudCBzZW50IGluIGxvY2FsIGRlY2ltYWxzAAAAAAAADmFtb3VudF9zZW50X2xkAAAAAAALAAAAAQAAAC5EZXRhaWxzIGFib3V0IGZlZXMgY2hhcmdlZCBpbiBhbiBPRlQgb3BlcmF0aW9uAAAAAAAAAAAADE9GVEZlZURldGFpbAAAAAIAAAAaVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBmZWUAAAAAAAtkZXNjcmlwdGlvbgAAAAAOAAAAf1RoZSBhbW91bnQgb2YgdGhlIGZlZSBpbiBsb2NhbCBkZWNpbWFscy4gUG9zaXRpdmUgdmFsdWVzIHJlcHJlc2VudCBmZWVzIGNoYXJnZWQsCndoaWxlIG5lZ2F0aXZlIHZhbHVlcyByZXByZXNlbnQgcmV3YXJkcyBnaXZlbi4AAAAADWZlZV9hbW91bnRfbGQAAAAAAAALAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAIAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELAAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aVNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAA8RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBjYW5jZWxsZWQuAAAAAAAAABpPd25lcnNoaXBUcmFuc2ZlckNhbmNlbGxlZAAAAAAAAQAAABxvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAXY2FuY2VsbGVkX3BlbmRpbmdfb3duZXIAAAAAEwAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4wIzg2YzUwYTFlYTRmODdiNDBhZGQzMDY0ZmY5ZGY5NWM3NTUzNTY1YzUAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
|
|
11
|
+
export declare const WASM_BASE64 = "AGFzbQEAAAABbRRgAn5+AX5gBH5+fn4BfmABfgF+YAN+fn4BfmAAAX5gAAF/YAAAYAF/AX5gAn5+AX9gAX8AYAJ+fwBgAX4AYAN/f38AYAJ/fgBgAn9/AX5gA35+fgBgAn9/AGACfn4AYAR/f39/AX5gA39+fgACqQEcAWwBMQAAAWwBNwABAWEBMAACAXYBZAAAAWwBXwADAXYBMwACAXYBMgAAAXYBNgAAAWIBOAACAWwBNgACAWIBMAACAXgBMQAAAWwBMgAAAXYBXwAEAXYBZwAAAWkBOAACAWkBNwACAWIBagAAAWkBNgAAAWQBXwADAW0BOQADAXgBMAAAAXgBMwAEAXgBOAAEAWwBMAAAAWwBOAAAAXgBNQACAW0BYQABA0xLBQYHCAYJBwYEBAkKCAsGCQcJDA0DDQQEAA4PABAQCwACAA4ABAYEBAYCCQIEBAQABAIRAAYCEgUTBAQAEAANBwQJEAQEBgwNDBAMBQMBABEGIQR/AUGAgMAAC38AQY+AwAALfwBBi4PAAAt/AEGQg8AACweOAxoGbWVtb3J5AgAEbWludAAwDV9fY29uc3RydWN0b3IANwhjbGF3YmFjawA7EXJlbGVhc2Vfc2FjX2FkbWluADwOc2V0X2F1dGhvcml6ZWQAPQpzZXRfbWludGVyAD8OdW5kZXJseWluZ19zYWMAQgdtaW50ZXJzAEMHdXBncmFkZQBFB21pZ3JhdGUARwphdXRob3JpemVyAEkFb3duZXIASg1wZW5kaW5nX293bmVyAEwSdHJhbnNmZXJfb3duZXJzaGlwAE0acHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXIATxBhY2NlcHRfb3duZXJzaGlwAFUScmVub3VuY2Vfb3duZXJzaGlwAFYTZXh0ZW5kX2luc3RhbmNlX3R0bABXD3NldF90dGxfY29uZmlncwBZC3R0bF9jb25maWdzAFwSZnJlZXplX3R0bF9jb25maWdzAF8VaXNfdHRsX2NvbmZpZ3NfZnJvemVuAGABXwMBCl9fZGF0YV9lbmQDAgtfX2hlYXBfYmFzZQMDCsM0S00CAX8BfhCdgICAAEEAIQACQEEAEJ6AgIAAIgFCAhCfgICAAEUNAEEBIQACQAJAIAFCAhCAgICAAKdB/wFxDgIBAgALAAtBACEACyAAC0gBAX8jgICAgABBEGsiACSAgICAACAAQQRqEN2AgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBDYgICAAAsgAEEQaiSAgICAAAvCAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkAgAEH/AXEOAwABAgALIAFB6oLAgABBBhCugICAACABKAIADQMgASABKQMIEK+AgIAADAILIAFB8ILAgABBCBCugICAACABKAIADQIgASABKQMIEK+AgIAADAELIAFB+ILAgABBChCugICAACABKAIADQEgASABKQMIEK+AgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILDwAgACABEJiAgIAAQgFRC2kCAX8CfiOAgICAAEEQayIAJICAgIAAIABBBGoQoYCAgAACQCAAKAIEQQFHDQAgADUCDCEBIAA1AgghAkEBEKKAgIAAQgEgAkIghkIEhCABQiCGQgSEEIGAgIAAGgsgAEEQaiSAgICAAAsMACAAQQIQ5YCAgAALkgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkAgAEEBcUUNACABQYiAwIAAQQcQroCAgAAgASgCAA0CIAEgASkDCBCvgICAAAwBCyABQYCAwIAAQQgQroCAgAAgASgCAA0BIAEgASkDCBCvgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AEKSAgIAAEIKAgIAAGgtHAgF/AX4jgICAgABBEGsiACSAgICAABCdgICAACAAEKaAgIAAIAApAwghASAAKQMAQYsIEKeAgIAAIABBEGokgICAgAAgAQtsAgF/AX4jgICAgABBEGsiACSAgICAACAAEKaAgIAAIAApAwghASAAKQMAQYsIEKeAgIAAAkAgARCkgICAABCogICAAA0AQoOAgIDggAEQqYCAgAAACyABEIKAgIAAGiAAQRBqJICAgIAAIAELEAAQnYCAgAAgABCtgICAAAspAAJAIACnQQFxRQ0ADwsgAUH6d2qtQiCGQoOAgIDggAF8EKmAgIAAAAsNACAAIAEQlYCAgABQCwsAIAAQmoCAgAAaC0IBAX8jgICAgABBEGsiACSAgICAACAAEKuAgIAAAkAgACkDAFANAEKDgICAwIEBEKmAgIAAAAsgAEEQaiSAgICAAAtTAQJ+EJ2AgIAAQgAhAQJAAkBBARCsgICAACICQgAQn4CAgABFDQAgAkIAEICAgIAAIgFC/wGDQs0AUg0BIAAgATcDCEIBIQELIAAgATcDAA8LAAuSAQIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQCAAQQFxRQ0AIAFB/YHAgABBDBCugICAACABKAIADQIgASABKQMIEK+AgIAADAELIAFB+IHAgABBBRCugICAACABKAIADQEgASABKQMIEK+AgIAACyABKQMIIQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQrICAgAAiAkICEJ+AgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ4oCAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC0QBAX8jgICAgABBEGsiAiSAgICAACACIAE3AwggAkEIakEBELWAgIAAIQEgAEIANwMAIAAgATcDCCACQRBqJICAgIAAC54CAwF/AX4BfyOAgICAAEEwayIDJICAgIAAAkAgAEL/AYNCzQBSDQAgAyABELGAgIAAIAMoAgBBAUYNACACQv8Bg0LNAFINACADKQMYIQEgAykDECEEEJ2AgIAAAkAQsoCAgAAgAhCDgICAAEICUQ0AIAIQgoCAgAAaELOAgIAAIQIgAyAEIAEQtICAgAA3AyggAyAANwMgQQAhBQNAAkAgBUEQRw0AQQAhBQJAA0AgBUEQRg0BIAMgBWogA0EgaiAFaikDADcDACAFQQhqIQUMAAsLIAJCjvKz1wwgA0ECELWAgIAAELaAgIAAIANBMGokgICAgABCAg8LIAMgBWpCAjcDACAFQQhqIQUMAAsLQoOAgIAwEKmAgIAAAAsAC30CAX8BfgJAAkACQAJAIAGnQf8BcSICQcUARg0AIAJBC0cNAiAAIAFCP4c3AxggACABQgiHNwMQDAELIAEQj4CAgAAhAyABEJCAgIAAIQEgACADNwMYIAAgATcDEAtCACEBDAELIABCg5CAgIABNwMIQgEhAQsgACABNwMACw4AEJ2AgIAAEMCAgIAAC0UBAX4QnYCAgAACQAJAQQAQooCAgAAiAEICEJ+AgIAARQ0AIABCAhCAgICAACIAQv8Bg0LNAFENAQALEMSAgIAAAAsgAAtFAAJAIABCgICAgICAgMAAfEL//////////wBWDQAgACAAhSABIABCP4eFhEIAUg0AIABCCIZCC4QPCyABIAAQkoCAgAALGgAgAK1CIIZCBIQgAa1CIIZCBIQQjoCAgAALIQACQCAAIAEgAhCTgICAAEL/AYNCAlENABDBgICAAAALC3wAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINAEGAyx5BgNIfELiAgIAAQYDLHkGA0h8QuYCAgABBABCsgICAAEICEJ+AgIAADQEgARC6gICAAEEAEKKAgIAAIABCAhCEgICAABpCAg8LAAtCg4CAgKCBARCpgICAAAALDgBBASAAIAEQ5oCAgAALDgBBAiAAIAEQ5oCAgAALDgBBACAAQgIQ1ICAgAAL8AEDAX8CfgF/I4CAgIAAQTBrIgIkgICAgAACQCAAQv8Bg0LNAFINACACIAEQsYCAgAAgAigCAEEBRg0AIAIpAxghASACKQMQIQMQo4CAgAAQnYCAgAAQs4CAgAAhBCACIAMgARC0gICAADcDKCACIAA3AyBBACEFA0ACQCAFQRBHDQBBACEFAkADQCAFQRBGDQEgAiAFaiACQSBqIAVqKQMANwMAIAVBCGohBQwACwsgBEKO4KjzybfG0QAgAkECELWAgIAAELaAgIAAIAJBMGokgICAgABCAg8LIAIgBWpCAjcDACAFQQhqIQUMAAsLAAtuAgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUQ0AAAsQo4CAgAAQnYCAgAAQs4CAgAAhAiABIAA3AwggAkKO5q656ozk1TggAUEIakEBELWAgIAAELaAgIAAIAFBEGokgICAgABCAgvxAQIDfwF+I4CAgIAAQSBrIgIkgICAgAACQCAAQv8Bg0LNAFINAEEAIQNBASABp0H/AXEiBEEAR0EBdCAEQQFGGyIEQQJGDQAQo4CAgAAQnYCAgAAQs4CAgAAhAUGPgMCAAEEOEL6AgIAAIQUgAiAErTcDCCACIAA3AwADQAJAIANBEEcNAEEAIQMCQANAIANBEEYNASACQRBqIANqIAIgA2opAwA3AwAgA0EIaiEDDAALCyABIAUgAkEQakECELWAgIAAELaAgIAAIAJBIGokgICAgABCAg8LIAJBEGogA2pCAjcDACADQQhqIQMMAAsLAAtFAgF/AX4jgICAgABBEGsiAiSAgICAACACIAAgARDigICAAAJAIAIoAgBBAUcNAAALIAIpAwghAyACQRBqJICAgIAAIAML9AECAX8BfgJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgJBAEdBAXQgAkEBRhsiAkECRg0AEKOAgIAAEJ2AgIAAAkACQAJAAkAQwICAgAAiASAAEIOAgIAAIgNCAlENACADQv8Bg0IEUQ0BEMGAgIAAAAsgAkEBcQ0BQoOAgIAgEKmAgIAAAAsCQCACQQFxDQAgA0IgiKciAiABEIWAgIAAQiCIp08NAiABIAKtQiCGQgSEEIaAgIAAIQEMAgtCg4CAgBAQqYCAgAAACyABIAAQh4CAgAAhAQtBARCigICAACABQgEQhICAgAAaEKCAgIAAQgIPCwALRgEBfgJAAkBBARCigICAACIAQgEQn4CAgABFDQAgAEIBEICAgIAAIgBC/wGDQssAUg0BEKCAgIAAIAAPCxCNgICAAA8LAAsJABDhgICAAAALCAAQs4CAgAALCAAQsoCAgAALCQAQwYCAgAAAC00AAkACQCAAQv8Bg0LIAFINACAAEIiAgIAAQoCAgIBwg0KAgICAgARRDQELAAsQo4CAgAAQnYCAgABBARDGgICAACAAEImAgIAAGkICCxgAEMiAgIAAIACtQv8Bg0ICEISAgIAAGguKAQEBfgJAAkAgAEL/AYNCyABSDQAQo4CAgAAQnYCAgAACQAJAEMiAgIAAIgFCAhCfgICAAEUNACABQgIQgICAgACnQf8BcQ4CAAECC0KDgICAsIMBEKmAgIAAAAsgABCKgICAAEL/AYNCAlINAUEAEMaAgIAAQgIPCwALQoOAgICggwEQqYCAgAAAC2ACAX8BfiOAgICAAEEQayIAJICAgIAAIABBgoPAgABBCRCugICAAAJAAkAgACgCAA0AIAAgACkDCBCvgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQsIABCkgICAAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKaAgIAAIAApAwAgACkDCBDLgICAACEBIABBEGokgICAgAAgAQsNACABQgIgAKdBAXEbCz4CAX8BfiOAgICAAEEQayIAJICAgIAAIAAQq4CAgAAgACkDACAAKQMIEMuAgIAAIQEgAEEQaiSAgICAACABCzwBAX4CQCAAQv8Bg0LNAFENAAALEJ2AgIAAEKWAgIAAIQEQqoCAgAAgABC6gICAACABIAAQzoCAgABCAgthAgF/AX4jgICAgABBEGsiAiSAgICAAEGmgMCAAEEVEL6AgIAAENGAgIAAIQMgAiAANwMIIAIgATcDACADQdCAwIAAQQIgAkECENKAgIAAEIuAgIAAGiACQRBqJICAgIAAC/wCAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AEJ2AgIAAEKWAgIAAIQMCQAJAIAFC/////w9WDQAgAkEIahCrgICAACACKQMQIQEgAikDCEGJCBCngICAACABIAAQqICAgABFDQMQ0ICAgABBlIHAgABBHBC+gICAABDRgICAACEAIAIgAzcDECACIAE3AwggAEHMgcCAAEECIAJBCGpBAhDSgICAABCLgICAABoMAQsQ04CAgAAgAUIgiKdJDQNBASAAQgAQ1ICAgABBARCsgICAAEIAIAFChICAgHCDIgEgARCBgICAABpB4IDAgABBFhC+gICAABDRgICAACEEIAIgATcDGCACIAM3AxAgAiAANwMIIARB/IDAgABBAyACQQhqQQMQ0oCAgAAQi4CAgAAaCyACQSBqJICAgIAAQgIPCwALQoOAgIDwgAEQqYCAgAAAC0KDgICAgIEBEKmAgIAAAAsTAEEBEKyAgIAAQgAQjICAgAAaC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARC1gICAACEAIAFBEGokgICAgAAgAAsuAAJAIAEgA0YNAAALIACtQiCGQgSEIAKtQiCGQgSEIAGtQiCGQgSEEJSAgIAACzMBAn4QloCAgAAhAAJAEJeAgIAAQiCIIgEgAEIgiCIAVA0AIAGnIACnaw8LEMGAgIAAAAsVACAAEKyAgIAAIAEgAhCEgICAABoLiAECAX8CfiOAgICAAEEQayIAJICAgIAAEJ2AgIAAIAAQq4CAgAAgACkDCCEBIAApAwBBiQgQp4CAgAAgARCCgICAABogABCtgICAAAJAIAAoAgANABDEgICAAAALIAApAwghAhDQgICAACABELqAgIAAIAIgARDOgICAACAAQRBqJICAgIAAQgILhAECAX8CfiOAgICAAEEQayIAJICAgIAAEJ2AgIAAEKWAgIAAIQEQqoCAgABBABCsgICAAEICEIyAgIAAGkHcgcCAAEETEL6AgIAAENGAgIAAIQIgACABNwMIIAJB8IHAgABBASAAQQhqQQEQ0oCAgAAQi4CAgAAaIABBEGokgICAgABCAgsxAAJAIABC/wGDQgRSDQAgAUL/AYNCBFINACAAQiCIpyABQiCIpxDYgICAAEICDwsACxsAIACtQiCGQgSEIAGtQiCGQgSEEJmAgIAAGgu8BAEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQ2oCAgAACQCACKAIoQQJGDQAgAkEIakEIaiACQShqQQhqIgMoAgA2AgAgAiACKQIoNwMIIAJBKGogARDagICAACACKAIoQQJGDQAgAkEYakEIaiADKAIANgIAIAIgAikCKDcDGBCjgICAABCdgICAAAJAAkACQBCcgICAAA0AENOAgIAAIgNBgPuAAyADQYD7gANJGyEEIAIgAkEYajYCLCACIAJBCGo2AihBACEDA0AgA0EIRg0DAkAgAkEoaiADaigCACIFKAIAQQFxRQ0AIAUoAggiBiAESw0DIAUoAgQgBksNAwsgA0EEaiEDDAALC0KDgICA0P8AEKmAgIAAAAtCg4CAgMD/ABCpgICAAAALAkACQCACKAIIQQFHDQAgAigCDCACKAIQELiAgIAADAELQQEQnoCAgABCAhCMgICAABoLAkACQCACKAIYQQFHDQAgAigCHCACKAIgELmAgIAADAELQQIQnoCAgABCAhCMgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEGkgsCAAEEPEL6AgIAAENGAgIAAIQAgAkEoahDbgICAACEBIAIgAkE0ahDbgICAADcDSCACIAE3A0AgAEHIgsCAAEECIAJBwABqQQIQ0oCAgAAQi4CAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJR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aW50ZXIgYWRkcmVzcyBub3QgaW4gdGhlIG1pbnRlcnMgbGlzdCAoZS5nLiB3aGVuIGRlYWN0aXZhdGluZykAAAAADk1pbnRlck5vdEZvdW5kAAAAAAACAAAAK0NhbGxlciBpcyBub3QgYXV0aG9yaXplZCBmb3IgdGhpcyBvcGVyYXRpb24AAAAADFVuYXV0aG9yaXplZAAAAAMAAAAAAAAAAAAAAARtaW50AAAAAwAAAAAAAAACdG8AAAAAABMAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAAJb3BlcmF0aW9uAAAAAAAAEwAAAAAAAAAAAAAA80NvbnN0cnVjdHMgdGhlIFNBQyBtYW5hZ2VyIGNvbnRyYWN0LgoKIyBBcmd1bWVudHMKKiBgc2FjX3Rva2VuYCAtIFRoZSB1bmRlcmx5aW5nIFN0ZWxsYXIgQXNzZXQgQ29udHJhY3QgYWRkcmVzcwoqIGBvd25lcmAgLSBUaGUgaW5pdGlhbCBvd25lciBhZGRyZXNzIChmb3IgdXBncmFkZXMsIG93bmVyIG9wcykKCk1pbnRlcnMgY2FuIGJlIHNldCBzZXBhcmF0ZWx5IHZpYSBgc2V0X21pbnRlcmAgYWZ0ZXIgY29uc3RydWN0aW9uLgAAAAANX19jb25zdHJ1Y3RvcgAAAAAAAAIAAAAAAAAACXNhY190b2tlbgAAAAAAABMAAAAAAAAABW93bmVyAAAAAAAAEwAAAAAAAAAAAAAASURlbGVnYXRlcyB0byB0aGUgdW5kZXJseWluZyBTQUMgdG8gY2xhd2JhY2sgYGFtb3VudGAgZnJvbSBgZnJvbWAgYWNjb3VudC4AAAAAAAAIY2xhd2JhY2sAAAACAAAAAAAAAARmcm9tAAAAEwAAAAAAAAAGYW1vdW50AAAAAAALAAAAAAAAAAAAAABoRGVsZWdhdGVzIHRvIHRoZSB1bmRlcmx5aW5nIFNBQyBgc2V0X2FkbWluYCB0byByZWxlYXNlIHRoZSBhZG1pbiByb2xlIGZyb20gdGhlIGN1cnJlbnQgY29udHJhY3QgdG8gYHRvYC4AAAARcmVsZWFzZV9zYWNfYWRtaW4AAAAAAAABAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAAAAAAZkRlbGVnYXRlcyB0byB0aGUgdW5kZXJseWluZyBTQUMgYHNldF9hdXRob3JpemVkYCB0byBzZXQgd2hldGhlciBgaWRgIGlzIGF1dGhvcml6ZWQgdG8gdXNlIGl0cyBiYWxhbmNlLgAAAAAADnNldF9hdXRob3JpemVkAAAAAAACAAAAAAAAAAJpZAAAAAAAEwAAAAAAAAAJYXV0aG9yaXplAAAAAAAAAQAAAAAAAAAAAAAAPkFkZHMgKGBhY3RpdmUgPSB0cnVlYCkgb3IgcmVtb3ZlcyAoYGFjdGl2ZSA9IGZhbHNlYCkgYSBtaW50ZXIuAAAAAAAKc2V0X21pbnRlcgAAAAAAAgAAAAAAAAAGbWludGVyAAAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAADxSZXR1cm5zIHRoZSB1bmRlcmx5aW5nIFNBQyAoU3RlbGxhciBBc3NldCBDb250cmFjdCkgYWRkcmVzcy4AAAAOdW5kZXJseWluZ19zYWMAAAAAAAAAAAABAAAAEwAAAAAAAAA2UmV0dXJucyB0aGUgbGlzdCBvZiBhZGRyZXNzZXMgYXV0aG9yaXplZCB0byBjYWxsIG1pbnQuAAAAAAAHbWludGVycwAAAAAAAAAAAQAAA+oAAAATAAAAAAAAAGxVcGdyYWRlcyB0aGUgY29udHJhY3QgdG8gbmV3IFdBU00gYnl0ZWNvZGUuClNldHMgYSBtaWdyYXRpb24gZmxhZyB0aGF0IG11c3QgYmUgY2xlYXJlZCBieSBjYWxsaW5nIGBtaWdyYXRlYC4AAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAIdSdW5zIG1pZ3JhdGlvbiBsb2dpYyBhZnRlciBhbiB1cGdyYWRlLgpQYXJzZXMgWERSLWVuY29kZWQgYG1pZ3JhdGlvbl9kYXRhYCBhbmQgY2FsbHMgYF9fbWlncmF0ZWAuIENsZWFycyB0aGUgbWlncmF0aW9uIGZsYWcgb24gc3VjY2Vzcy4AAAAAB21pZ3JhdGUAAAAAAQAAAAAAAAAObWlncmF0aW9uX2RhdGEAAAAAAA4AAAAAAAAAAAAAAAAAAAAKYXV0aG9yaXplcgAAAAAAAAAAAAEAAAATAAAAAAAAAD5SZXR1cm5zIHRoZSBjdXJyZW50IG93bmVyIGFkZHJlc3MsIG9yIE5vbmUgaWYgbm8gb3duZXIgaXMgc2V0LgAAAAAABW93bmVyAAAAAAAAAAAAAAEAAAPoAAAAEwAAAAAAAABZUmV0dXJucyB0aGUgcGVuZGluZyBvd25lciBhZGRyZXNzIGZvciAyLXN0ZXAgdHJhbnNmZXIsIG9yIE5vbmUgaWYgbm8gdHJhbnNmZXIgaXMgcGVuZGluZy4AAAAAAAANcGVuZGluZ19vd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAABK1RyYW5zZmVycyBvd25lcnNoaXAgaW1tZWRpYXRlbHkgdG8gYSBuZXcgYWRkcmVzcy4KClVzZSB3aXRoIGNhdXRpb24gLSBpZiB5b3UgdHJhbnNmZXIgdG8gYSB3cm9uZyBhZGRyZXNzLCBvd25lcnNoaXAgaXMgbG9zdCBmb3JldmVyLgpDb25zaWRlciB1c2luZyBgcHJvcG9zZV9vd25lcnNoaXBfdHJhbnNmZXJgIGluc3RlYWQuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzAAAAABJ0cmFuc2Zlcl9vd25lcnNoaXAAAAAAAAEAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAlxQcm9wb3NlcyBhbiBvd25lcnNoaXAgdHJhbnNmZXIgdG8gYSBuZXcgYWRkcmVzcy4KClRoZSBuZXcgb3duZXIgbXVzdCBjYWxsIGBhY2NlcHRfb3duZXJzaGlwKClgIHdpdGhpbiBgdHRsYCBsZWRnZXJzCnRvIGNvbXBsZXRlIHRoZSB0cmFuc2Zlci4gVGhlIHBlbmRpbmcgdHJhbnNmZXIgd2lsbCBhdXRvbWF0aWNhbGx5IGV4cGlyZSBhZnRlci4KCiMgQXJndW1lbnRzCi0gYG5ld19vd25lcmAgLSBUaGUgcHJvcG9zZWQgbmV3IG93bmVyCi0gYHR0bGAgLSBOdW1iZXIgb2YgbGVkZ2VycyB0aGUgbmV3IG93bmVyIGhhcyB0byBhY2NlcHQuClVzZSBgMGAgdG8gY2FuY2VsIGEgcGVuZGluZyB0cmFuc2ZlciAobmV3X293bmVyIG11c3QgbWF0Y2ggcGVuZGluZykuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBOb1BlbmRpbmdUcmFuc2ZlcmAgd2hlbiBjYW5jZWxsaW5nIGFuZCBubyBwZW5kaW5nIHRyYW5zZmVyIGV4aXN0cwotIGBJbnZhbGlkVHRsYCBpZiB0dGwgZXhjZWVkcyBtYXggVFRMCi0gYEludmFsaWRQZW5kaW5nT3duZXJgIHdoZW4gY2FuY2VsbGluZyB3aXRoIHdyb25nIG5ld19vd25lciBhZGRyZXNzAAAAGnByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyAAAAAAACAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAAAAAAuUFjY2VwdHMgYSBwZW5kaW5nIDItc3RlcCBvd25lcnNoaXAgdHJhbnNmZXIuCgpNdXN0IGJlIGNhbGxlZCBieSB0aGUgcGVuZGluZyBvd25lciBiZWZvcmUgdGhlIFRUTCBleHBpcmVzLgoKIyBQYW5pY3MKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIGlmIHRoZXJlIGlzIG5vIHBlbmRpbmcgdHJhbnNmZXIgKG9yIGl0IGV4cGlyZWQpAAAAAAAAEGFjY2VwdF9vd25lcnNoaXAAAAAAAAAAAAAAAAAAAACkUGVybWFuZW50bHkgcmVub3VuY2VzIG93bmVyc2hpcC4KCiMgUGFuaWNzCi0gYE93bmVyTm90U2V0YCBpZiBubyBvd25lciBpcyBjdXJyZW50bHkgc2V0Ci0gYFRyYW5zZmVySW5Qcm9ncmVzc2AgaWYgYSAyLXN0ZXAgdHJhbnNmZXIgaXMgaW4gcHJvZ3Jlc3MgKGNhbmNlbCBpdCBmaXJzdCkAAAAScmVub3VuY2Vfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAAAAClRXh0ZW5kcyB0aGUgaW5zdGFuY2UgVFRMLgoKIyBBcmd1bWVudHMKCiogYHRocmVzaG9sZGAgLSBUaGUgdGhyZXNob2xkIHRvIGV4dGVuZCB0aGUgVFRMIChpZiBjdXJyZW50IFRUTCBpcyBiZWxvdyB0aGlzLCBleHRlbmQpLgoqIGBleHRlbmRfdG9gIC0gVGhlIFRUTCB0byBleHRlbmQgdG8uAAAAAAAAE2V4dGVuZF9pbnN0YW5jZV90dGwAAAAAAgAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAJZXh0ZW5kX3RvAAAAAAAABAAAAAAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMu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b21wb3NlIG1lc3NhZ2Ugbm90IGZvdW5kIGZvciB0aGUgZ2l2ZW4gR1VJRCBhbmQgaW5kZXgAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAADpEZWZhdWx0IHJlY2VpdmUgbGlicmFyeSBpcyBub3Qgc2V0IGZvciB0aGUgc291cmNlIGVuZHBvaW50AAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAA8RGVmYXVsdCBzZW5kIGxpYnJhcnkgaXMgbm90IHNldCBmb3IgdGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50AAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAL1N1cHBsaWVkIG5hdGl2ZSB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAALFN1cHBsaWVkIFpSTyB0b2tlbiBmZWUgaXMgbGVzcyB0aGFuIHJlcXVpcmVkAAAAEkluc3VmZmljaWVudFpyb0ZlZQAAAAAABwAAACtUaW1lb3V0IGV4cGlyeSBpcyBpbnZhbGlkIChhbHJlYWR5IGV4cGlyZWQpAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACAAAACBGZWUgYW1vdW50IGlzIGludmFsaWQgKG5lZ2F0aXZlKQAAABBJbnZhbGlkRmVlQW1vdW50AAAACQAAACtDb21wb3NlIGluZGV4IGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIHZhbHVlAAAAAAxJbnZhbGlkSW5kZXgAAAAKAAAALE5vbmNlIGlzIGludmFsaWQgZm9yIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uAAAADEludmFsaWROb25jZQAAAAsAAAAwUGF5bG9hZCBoYXNoIGlzIGludmFsaWQgKGVtcHR5IGhhc2ggbm90IGFsbG93ZWQpAAAAEkludmFsaWRQYXlsb2FkSGFzaAAAAAAADAAAAEFSZWNlaXZlIGxpYnJhcnkgaXMgbm90IHZhbGlkIGZvciB0aGUgcmVjZWl2ZXIgYW5kIHNvdXJjZSBlbmRwb2ludAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJhcnkAAAAAAAANAAAAMU9wZXJhdGlvbiByZXF1aXJlcyBhIG5vbi1kZWZhdWx0IChjdXN0b20pIGxpYnJhcnkAAAAAAAART25seU5vbkRlZmF1bHRMaWIAAAAAAAAOAAAAJ0xpYnJhcnkgbXVzdCBzdXBwb3J0IHJlY2VpdmluZyBtZXNzYWdlcwAAAAAOT25seVJlY2VpdmVMaWIAAAAAAA8AAAAsTGlicmFyeSBtdXN0IGJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgZW5kcG9pbnQAAAART25seVJlZ2lzdGVyZWRMaWIAAAAAAAAQAAAAJUxpYnJhcnkgbXVzdCBzdXBwb3J0IHNlbmRpbmcgbWVzc2FnZXMAAAAAAAALT25seVNlbmRMaWIAAAAAEQAAADlNZXNzYWdpbmcgcGF0aCBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQgZm9yIHRoZSBnaXZlbiBvcmlnaW4AAAAAAAAUUGF0aE5vdEluaXRpYWxpemFibGUAAAASAAAAL01lc3NhZ2UgY2Fubm90IGJlIHZlcmlmaWVkIGZvciB0aGUgZ2l2ZW4gb3JpZ2luAAAAABFQYXRoTm90VmVyaWZpYWJsZQAAAAAAABMAAAArUGF5bG9hZCBoYXNoIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZWQgaGFzaAAAAAATUGF5bG9hZEhhc2hOb3RGb3VuZAAAAAAUAAAAJ05ldyB2YWx1ZSBpcyB0aGUgc2FtZSBhcyBleGlzdGluZyB2YWx1ZQAAAAAJU2FtZVZhbHVlAAAAAAAAFQAAAC9DYWxsZXIgaXMgbm90IGF1dGhvcml6ZWQgKG5vdCBPQXBwIG9yIGRlbGVnYXRlKQAAAAAMVW5hdXRob3JpemVkAAAAFgAAACtFbmRwb2ludCBJRCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBsaWJyYXJ5AAAAAA5VbnN1cHBvcnRlZEVpZAAAAAAAFwAAADlaUk8gZmVlIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gd2hlbiBwYXlfaW5fenJvIGlzIHRydWUAAAAAAAAKWmVyb1pyb0ZlZQAAAAAAGAAAABxaUk8gdG9rZW4gYWRkcmVzcyBpcyBub3Qgc2V0AAAADlpyb1VuYXZhaWxhYmxlAAAAAAAZAAAAAQAAAC1QYXJhbWV0ZXJzIGZvciBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAAD01lc3NhZ2luZ1BhcmFtcwAAAAAFAAAAK0Rlc3RpbmF0aW9uIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAB2RzdF9laWQAAAAABAAAABxUaGUgbWVzc2FnZSBwYXlsb2FkIHRvIHNlbmQuAAAAB21lc3NhZ2UAAAAADgAAACFFbmNvZGVkIGV4ZWN1dG9yIGFuZCBEVk4gb3B0aW9ucy4AAAAAAAAHb3B0aW9ucwAAAAAOAAAAOVdoZXRoZXIgdG8gcGF5IGZlZXMgaW4gWlJPIHRva2VuIGluc3RlYWQgb2YgbmF0aXZlIHRva2VuLgAAAAAAAApwYXlfaW5fenJvAAAAAAABAAAANVJlY2VpdmVyIGFkZHJlc3Mgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAABAAAATVNvdXJjZSBtZXNzYWdlIGluZm9ybWF0aW9uIGlkZW50aWZ5aW5nIHdoZXJlIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZSBjYW1lIGZyb20uAAAAAAAAAAAAAAZPcmlnaW4AAAAAAAMAAAAXTm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAABW5vbmNlAAAAAAAABgAAAC5TZW5kZXIgYWRkcmVzcyBvbiB0aGUgc291cmNlIGNoYWluICgzMiBieXRlcykuAAAAAAAGc2VuZGVyAAAAAAPuAAAAIAAAACZTb3VyY2UgZW5kcG9pbnQgSUQgKGNoYWluIGlkZW50aWZpZXIpLgAAAAAAB3NyY19laWQAAAAABAAAAAEAAAAoRmVlIHN0cnVjdHVyZSBmb3IgY3Jvc3MtY2hhaW4gbWVzc2FnaW5nLgAAAAAAAAAMTWVzc2FnaW5nRmVlAAAAAgAAAB9GZWUgcGFpZCBpbiBuYXRpdmUgdG9rZW4gKFhMTSkuAAAAAApuYXRpdmVfZmVlAAAAAAALAAAAKEZlZSBwYWlkIGluIFpSTyB0b2tlbiAoTGF5ZXJaZXJvIHRva2VuKS4AAAAHenJvX2ZlZQAAAAALAAAAAQAAAEJSZWNlaXB0IHJldHVybmVkIGFmdGVyIHN1Y2Nlc3NmdWxseSBzZW5kaW5nIGEgY3Jvc3MtY2hhaW4gbWVzc2FnZS4AAAAAAAAAAAAQTWVzc2FnaW5nUmVjZWlwdAAAAAMAAAApVGhlIGZlZXMgY2hhcmdlZCBmb3Igc2VuZGluZyB0aGUgbWVzc2FnZS4AAAAAAAADZmVlAAAAB9AAAAAMTWVzc2FnaW5nRmVlAAAAK0dsb2JhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbWVzc2FnZS4AAAAABGd1aWQAAAPuAAAAIAAAACRUaGUgb3V0Ym91bmQgbm9uY2UgZm9yIHRoaXMgcGF0aHdheS4AAAAFbm9uY2UAAAAAAAAGAAAAAgAAADhUeXBlIG9mIG1lc3NhZ2UgbGlicmFyeSBpbmRpY2F0aW5nIHN1cHBvcnRlZCBvcGVyYXRpb25zLgAAAAAAAAAOTWVzc2FnZUxpYlR5cGUAAAAAAAMAAAAAAAAAH1N1cHBvcnRzIG9ubHkgc2VuZGluZyBtZXNzYWdlcy4AAAAABFNlbmQAAAAAAAAAIVN1cHBvcnRzIG9ubHkgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAAdSZWNlaXZlAAAAAAAAAAAtU3VwcG9ydHMgYm90aCBzZW5kaW5nIGFuZCByZWNlaXZpbmcgbWVzc2FnZXMuAAAAAAAADlNlbmRBbmRSZWNlaXZlAAAAAAABAAAAt1ZlcnNpb24gaW5mb3JtYXRpb24gZm9yIGEgbWVzc2FnZSBsaWJyYXJ5LgoKTm90ZTogYG1pbm9yYCBhbmQgYGVuZHBvaW50X3ZlcnNpb25gIHVzZSBgdTMyYCBpbnN0ZWFkIG9mIGB1OGAgYmVjYXVzZSBTdGVsbGFyIGRvZXMgbm90CnN1cHBvcnQgYHU4YCB0eXBlcyBpbiBjb250cmFjdCBpbnRlcmZhY2UgZnVuY3Rpb25zLgAAAAAAAAAAEU1lc3NhZ2VMaWJWZXJzaW9uAAAAAAAAAwAAADNFbmRwb2ludCB2ZXJzaW9uIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAAEGVuZHBvaW50X3ZlcnNpb24AAAAEAAAAFU1ham9yIHZlcnNpb24gbnVtYmVyLgAAAAAAAAVtYWpvcgAAAAAAAAYAAAA3TWlub3IgdmVyc2lvbiBudW1iZXIgKHNob3VsZCBub3QgZXhjZWVkIHU4OjpNQVggPSAyNTUpLgAAAAAFbWlub3IAAAAAAAAEAAAAAQAAADZUaW1lb3V0IGNvbmZpZ3VyYXRpb24gZm9yIHJlY2VpdmUgbGlicmFyeSB0cmFuc2l0aW9ucy4AAAAAAAAAAAAHVGltZW91dAAAAAACAAAAM1VuaXggdGltZXN0YW1wIGluIHNlY29uZHMgd2hlbiB0aGUgdGltZW91dCBleHBpcmVzLgAAAAAGZXhwaXJ5AAAAAAAGAAAAQ1RoZSBvbGQgbGlicmFyeSBhZGRyZXNzIHRoYXQgcmVtYWlucyB2YWxpZCBkdXJpbmcgdGhlIGdyYWNlIHBlcmlvZC4AAAAAA2xpYgAAAAATAAAAAQAAADVQYXJhbWV0ZXJzIGZvciBzZXR0aW5nIG1lc3NhZ2UgbGlicmFyeSBjb25maWd1cmF0aW9uLgAAAAAAAAAAAAAOU2V0Q29uZmlnUGFyYW0AAAAAAAMAAAAfWERSLWVuY29kZWQgY29uZmlndXJhdGlvbiBkYXRhLgAAAAAGY29uZmlnAAAAAAAOAAAAMFRoZSB0eXBlIG9mIGNvbmZpZ3VyYXRpb24gKGUuZy4sIGV4ZWN1dG9yLCBVTE4pLgAAAAtjb25maWdfdHlwZQAAAAAEAAAAJ1RoZSBlbmRwb2ludCBJRCB0aGlzIGNvbmZpZyBhcHBsaWVzIHRvLgAAAAADZWlkAAAAAAQAAAABAAAAMVJlc29sdmVkIGxpYnJhcnkgaW5mb3JtYXRpb24gd2l0aCBkZWZhdWx0IHN0YXR1cy4AAAAAAAAAAAAAD1Jlc29sdmVkTGlicmFyeQAAAAACAAAARFdoZXRoZXIgdGhpcyBpcyB0aGUgZGVmYXVsdCBsaWJyYXJ5ICh0cnVlKSBvciBPQXBwLXNwZWNpZmljIChmYWxzZSkuAAAACmlzX2RlZmF1bHQAAAAAAAEAAAAdVGhlIHJlc29sdmVkIGxpYnJhcnkgYWRkcmVzcy4AAAAAAAADbGliAAAAABMAAAABAAAASE91dGJvdW5kIHBhY2tldCBjb250YWluaW5nIGFsbCBpbmZvcm1hdGlvbiBmb3IgY3Jvc3MtY2hhaW4gdHJhbnNtaXNzaW9uLgAAAAAAAAAOT3V0Ym91bmRQYWNrZXQAAAAAAAcAAAAYRGVzdGluYXRpb24gZW5kcG9pbnQgSUQuAAAAB2RzdF9laWQAAAAABAAAACxHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBtZXNzYWdlLgAAAARndWlkAAAD7gAAACAAAAAUVGhlIG1lc3NhZ2UgcGF5bG9hZC4AAAAHbWVzc2FnZQAAAAAOAAAAIE91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAADFSZWNlaXZlciBhZGRyZXNzIG9uIGRlc3RpbmF0aW9uIGNoYWluICgzMiBieXRlcykuAAAAAAAACHJlY2VpdmVyAAAD7gAAACAAAAAfU2VuZGVyIGFkZHJlc3Mgb24gc291cmNlIGNoYWluLgAAAAAGc2VuZGVyAAAAAAATAAAAE1NvdXJjZSBlbmRwb2ludCBJRC4AAAAAB3NyY19laWQAAAAABAAAAAEAAAArQSBmZWUgcmVjaXBpZW50IHdpdGggdGhlIGFtb3VudCB0byBiZSBwYWlkLgAAAAAAAAAADEZlZVJlY2lwaWVudAAAAAIAAAAVQW1vdW50IG9mIGZlZSB0byBwYXkuAAAAAAAABmFtb3VudAAAAAAACwAAAB9UaGUgYWRkcmVzcyB0byBzZW5kIHRoZSBmZWUgdG8uAAAAAAJ0bwAAAAAAEwAAAAEAAAA8UmVzdWx0IG9mIHNlbmQgb3BlcmF0aW9uIGNvbnRhaW5pbmcgZmVlcyBhbmQgZW5jb2RlZCBwYWNrZXQuAAAAAAAAAA1GZWVzQW5kUGFja2V0AAAAAAAAAwAAACpUaGUgZW5jb2RlZCBwYWNrZXQgcmVhZHkgZm9yIHRyYW5zbWlzc2lvbi4AAAAAAA5lbmNvZGVkX3BhY2tldAAAAAAADgAAAD9MaXN0IG9mIG5hdGl2ZSB0b2tlbiBmZWUgcmVjaXBpZW50cyAoZXhlY3V0b3IsIERWTnMsIHRyZWFzdXJ5KS4AAAAAFW5hdGl2ZV9mZWVfcmVjaXBpZW50cwAAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAACxMaXN0IG9mIFpSTyB0b2tlbiBmZWUgcmVjaXBpZW50cyAodHJlYXN1cnkpLgAAABJ6cm9fZmVlX3JlY2lwaWVudHMAAAAAA+oAAAfQAAAADEZlZVJlY2lwaWVudAAAAAIAAAAAAAAAAAAAAA9PQXBwQ29yZVN0b3JhZ2UAAAAAAgAAAAAAAAAAAAAACEVuZHBvaW50AAAAAQAAAAAAAAAEUGVlcgAAAAEAAAAEAAAABQAAAAAAAAAAAAAAB1BlZXJTZXQAAAAAAQAAAAhwZWVyX3NldAAAAAIAAAAAAAAAA2VpZAAAAAAEAAAAAAAAAAAAAAAEcGVlcgAAA+gAAAPuAAAAIAAAAAAAAAACAAAAAQAAAAAAAAAAAAAAE0VuZm9yY2VkT3B0aW9uUGFyYW0AAAAAAwAAAAAAAAADZWlkAAAAAAQAAAAAAAAACG1zZ190eXBlAAAABAAAAAAAAAAHb3B0aW9ucwAAAAPoAAAADgAAAAIAAAAAAAAAAAAAABdPQXBwT3B0aW9uc1R5cGUzU3RvcmFnZQAAAAABAAAAAQAAAAAAAAAPRW5mb3JjZWRPcHRpb25zAAAAAAIAAAAEAAAABAAAAAUAAAAAAAAAAAAAABFFbmZvcmNlZE9wdGlvblNldAAAAAAAAAEAAAATZW5mb3JjZWRfb3B0aW9uX3NldAAAAAABAAAAAAAAABBlbmZvcmNlZF9vcHRpb25zAAAD6gAAB9AAAAATRW5mb3JjZWRPcHRpb25QYXJhbQAAAAAAAAAAAgAAAAIAAAKqUmVwcmVzZW50cyBhIGZlZSBwYXllciBhZGRyZXNzIHdpdGggZXhwbGljaXQgYXV0aG9yaXphdGlvbiBzdGF0ZS4KClRoaXMgZW51bSBmb3JjZXMgY2FsbGVycyBvZiBgX19sel9zZW5kYCB0byBleHBsaWNpdGx5IGRlY2xhcmUgd2hldGhlcgpgcmVxdWlyZV9hdXRoKClgIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkIGZvciB0aGUgZmVlIHBheWVyIGFkZHJlc3MuClRoaXMgcHJldmVudHMgdGhlIGNvbW1vbiBtaXN0YWtlIG9mIGZvcmdldHRpbmcgdG8gYXV0aG9yaXplIHRoZSBmZWUgcGF5ZXIuCgojIFZhcmlhbnRzCi0gYFVudmVyaWZpZWRgIOKAlCBTYWZlIGRlZmF1bHQuIGBfX2x6X3NlbmRgIHdpbGwgY2FsbCBgcmVxdWlyZV9hdXRoKClgIG9uIHRoZSBhZGRyZXNzLgpVc2UgdGhpcyB3aGVuIHRoZSBjYWxsZXIgaGFzICoqbm90KiogYWxyZWFkeSBhdXRob3JpemVkIHRoZSBmZWUgcGF5ZXIuCi0gYFZlcmlmaWVkYCDigJQgQ2FsbGVyIGFzc2VydHMgdGhhdCBgcmVxdWlyZV9hdXRoKClgIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkLgpVc2UgdGhpcyB0byBhdm9pZCBhIGR1cGxpY2F0ZSBgcmVxdWlyZV9hdXRoKClgIG5vZGUgaW4gdGhlIFNvcm9iYW4gYXV0aCB0cmVlCihlLmcuLCB3aGVuIHRoZSBzYW1lIGFkZHJlc3Mgd2FzIGFscmVhZHkgYXV0aG9yaXplZCBhcyB0aGUgbWVzc2FnZSBzZW5kZXIpLgAAAAAAAAAAAAhGZWVQYXllcgAAAAIAAAABAAAAqlRoZSBmZWUgcGF5ZXIgaGFzICoqbm90KiogYmVlbiBhdXRob3JpemVkIHlldC4KYF9fbHpfc2VuZGAgd2lsbCBjYWxsIGBmZWVfcGF5ZXIucmVxdWlyZV9hdXRoKClgIGJlZm9yZSB0cmFuc2ZlcnJpbmcgZmVlcy4KVGhpcyBpcyB0aGUgc2FmZSBkZWZhdWx0IOKAlCB1c2UgdGhpcyBpZiB1bnN1cmUuAAAAAAAKVW52ZXJpZmllZAAAAAAAAQAAABMAAAABAAABb1RoZSBmZWUgcGF5ZXIgaGFzICoqYWxyZWFkeSoqIGJlZW4gYXV0aG9yaXplZCBieSB0aGUgY2FsbGVyIHZpYSBgcmVxdWlyZV9hdXRoKClgLgpgX19sel9zZW5kYCB3aWxsIHNraXAgdGhlIGF1dGggY2hlY2sgdG8gYXZvaWQgY3JlYXRpbmcgYSBkdXBsaWNhdGUgYXV0aCBub2RlCmluIHRoZSBTb3JvYmFuIGF1dGhvcml6YXRpb24gdHJlZS4KCiMgU2FmZXR5Ck9ubHkgdXNlIHRoaXMgdmFyaWFudCBpZiB5b3UgaGF2ZSBhbHJlYWR5IGNhbGxlZCBgcmVxdWlyZV9hdXRoKClgIG9uIHRoaXMgYWRkcmVzcwppbiB0aGUgY3VycmVudCBjb250cmFjdCBpbnZvY2F0aW9uLiBNaXN1c2UgbWF5IGFsbG93IHVuYXV0aG9yaXplZCBm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AAATAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAKT0ZUU3RvcmFnZQAAAAAAAwAAAAAAAAAAAAAADERlY2ltYWxzRGlmZgAAAAAAAAAAAAAABVRva2VuAAAAAAAAAAAAAAAAAAAMTXNnSW5zcGVjdG9yAAAABAAAABNPRlRFcnJvcjogMzAwMC0zMDk5AAAAAAAAAAAIT0ZURXJyb3IAAAAGAAAAAAAAAA5JbnZhbGlkQWRkcmVzcwAAAAALuAAAAAAAAAANSW52YWxpZEFtb3VudAAAAAAAC7kAAAAAAAAAFEludmFsaWRMb2NhbERlY2ltYWxzAAALugAAAAAAAAAOTm90SW5pdGlhbGl6ZWQAAAAAC7sAAAAAAAAACE92ZXJmbG93AAALvAAAAAAAAAAQU2xpcHBhZ2VFeGNlZWRlZAAAC70AAAABAAAALVBhcmFtZXRlcnMgZm9yIHNlbmRpbmcgT0ZUIHRva2VucyBjcm9zcy1jaGFpbgAAAAAAAAAAAAAJU2VuZFBhcmFtAAAAAAAABwAAACRUaGUgYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAAJYW1vdW50X2xkAAAAAAAACwAAADhDb21wb3NlIG1lc3NhZ2UgdG8gZXhlY3V0ZSBvbiB0aGUgZGVzdGluYXRpb24gKE9wdGlvbmFsKQAAAAtjb21wb3NlX21zZwAAAAAOAAAAG1RoZSBkZXN0aW5hdGlvbiBlbmRwb2ludCBJRAAAAAAHZHN0X2VpZAAAAAAEAAAAN0FkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIExheWVyWmVybyBtZXNzYWdlIChPcHRpb25hbCkAAAAADWV4dHJhX29wdGlvbnMAAAAAAAAOAAAARVRoZSBtaW5pbXVtIGFtb3VudCB0byByZWNlaXZlIGluIGxvY2FsIGRlY2ltYWxzIChzbGlwcGFnZSBwcm90ZWN0aW9uKQAAAAAAAA1taW5fYW1vdW50X2xkAAAAAAAACwAAACpPRlQgY29tbWFuZCBmb3IgY3VzdG9tIGJlaGF2aW9yIChPcHRpb25hbCkAAAAAAAdvZnRfY21kAAAAAA4AAAA5VGhlIHJlY2lwaWVudCBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpAAAAAAAAAnRvAAAAAAPuAAAAIAAAAAEAAAAiVHJhbnNmZXIgbGltaXRzIGZvciBPRlQgb3BlcmF0aW9ucwAAAAAAAAAAAAhPRlRMaW1pdAAAAAIAAAAsVGhlIG1heGltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWF4X2Ftb3VudF9sZAAAAAAAAAsAAAAsVGhlIG1pbmltdW0gYW1vdW50IHRvIHNlbmQgaW4gbG9jYWwgZGVjaW1hbHMAAAANbWluX2Ftb3VudF9sZAAAAAAAAAsAAAABAAAAP1JlY2VpcHQgY29udGFpbmluZyBhbW91bnRzIHNlbnQgYW5kIHJlY2VpdmVkIGluIGFuIE9GVCB0cmFuc2ZlcgAAAAAAAAAACk9GVFJlY2VpcHQAAAAAAAIAAAAzVGhlIGFtb3VudCByZWNlaXZlZCBpbiBsb2NhbCBkZWNpbWFscyBvbiB0aGUgcmVtb3RlAAAAABJhbW91bnRfcmVjZWl2ZWRfbGQAAAAAAAsAAAAhVGhlIGFtb3VudCBzZW50IGluIGxvY2FsIGRlY2ltYWxzAAAAAAAADmFtb3VudF9zZW50X2xkAAAAAAALAAAAAQAAAC5EZXRhaWxzIGFib3V0IGZlZXMgY2hhcmdlZCBpbiBhbiBPRlQgb3BlcmF0aW9uAAAAAAAAAAAADE9GVEZlZURldGFpbAAAAAIAAAAaVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBmZWUAAAAAAAtkZXNjcmlwdGlvbgAAAAAOAAAAf1RoZSBhbW91bnQgb2YgdGhlIGZlZSBpbiBsb2NhbCBkZWNpbWFscy4gUG9zaXRpdmUgdmFsdWVzIHJlcHJlc2VudCBmZWVzIGNoYXJnZWQsCndoaWxlIG5lZ2F0aXZlIHZhbHVlcyByZXByZXNlbnQgcmV3YXJkcyBnaXZlbi4AAAAADWZlZV9hbW91bnRfbGQAAAAAAAALAAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPpAAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/IAAAAEAAAAH1R0bENvbmZpZ3VyYWJsZUVycm9yOiAxMDIwLTEwMjkAAAAAAAAAABRUdGxDb25maWd1cmFibGVFcnJvcgAAAAMAAAAAAAAAEEludmFsaWRUdGxDb25maWcAAAP8AAAAAAAAAA9UdGxDb25maWdGcm96ZW4AAAAD/QAAAAAAAAAWVHRsQ29uZmlnQWxyZWFkeUZyb3plbgAAAAAD/gAAAAQAAAAXT3duYWJsZUVycm9yOiAxMDMwLTEwMzkAAAAAAAAAAAxPd25hYmxlRXJyb3IAAAAHAAAAAAAAABFJbnZhbGlkQXV0aG9yaXplcgAAAAAABAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBwAAAAAAAAAKSW52YWxpZFR0bAAAAAAECAAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQJAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECgAAAAAAAAALT3duZXJOb3RTZXQAAAAECwAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQMAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAIAAAAAAAAAFEludmFsaWRNaWdyYXRpb25EYXRhAAAEGgAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQbAAAABAAAABhNdWx0aVNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpU2lnRXJyb3IAAAAAAAAJAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAAEUludmFsaWRBdXRob3JpemVyAAAAAAAEJQAAAAAAAAANSW52YWxpZFNpZ25lcgAAAAAABCYAAAAAAAAADlNpZ25hdHVyZUVycm9yAAAAAAQnAAAAAAAAABNTaWduZXJBbHJlYWR5RXhpc3RzAAAABCgAAAAAAAAADlNpZ25lck5vdEZvdW5kAAAAAAQpAAAAAAAAAB1Ub3RhbFNpZ25lcnNMZXNzVGhhblRocmVzaG9sZAAAAAAABCoAAAAAAAAAD1Vuc29ydGVkU2lnbmVycwAAAAQrAAAAAAAAAA1aZXJvVGhyZXNob2xkAAAAAAAELAAAAAUAAAAwRXZlbnQgZW1pdHRlZCB3aGVuIGEgc2lnbmVyIGlzIGFkZGVkIG9yIHJlbW92ZWQuAAAAAAAAAAlTaWduZXJTZXQAAAAAAAABAAAACnNpZ25lcl9zZXQAAAAAAAIAAAAAAAAABnNpZ25lcgAAAAAD7gAAABQAAAABAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAA2RXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIGlzIGNoYW5nZWQuAAAAAAAAAAAADFRocmVzaG9sZFNldAAAAAEAAAANdGhyZXNob2xkX3NldAAAAAAAAAEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAA9NdWx0aVNpZ1N0b3JhZ2UAAAAAAgAAAAAAAAAAAAAAB1NpZ25lcnMAAAAAAAAAAAAAAAAJVGhyZXNob2xkAAAAAAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAgAAAAUAAAA7RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBwcm9wb3NlZC4AAAAAAAAAABVPd25lcnNoaXBUcmFuc2ZlcnJpbmcAAAAAAAABAAAAFm93bmVyc2hpcF90cmFuc2ZlcnJpbmcAAAAAAAMAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAgAAAAUAAAA8RXZlbnQgZW1pdHRlZCB3aGVuIGEgMi1zdGVwIG93bmVyc2hpcCB0cmFuc2ZlciBpcyBjYW5jZWxsZWQuAAAAAAAAABpPd25lcnNoaXBUcmFuc2ZlckNhbmNlbGxlZAAAAAAAAQAAABxvd25lcnNoaXBfdHJhbnNmZXJfY2FuY2VsbGVkAAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAAAAAAXY2FuY2VsbGVkX3BlbmRpbmdfb3duZXIAAAAAEwAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjUuMS4xIzk0YzJhM2IzYTVkZWQ2YjljZjljZWYwYzIwN2JmODgwNGYzZWIyOTQAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAGQAAAAAAUw5jb250cmFjdG1ldGF2MAAAAAAAAAAGY2xpdmVyAAAAAAAvMjUuMC4wI2E2NDkyNWU5MzkxYzNkM2IzZWY4ZTUzZGM2MGMyM2RiOWU2YTgyZTQA";
|
|
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 = "58e728063a91a34a0a9ec7ef6acb934f01b87c349e4e481a05d9cc710a07a75f";
|
|
17
17
|
/**
|
|
18
18
|
* Get the WASM bytecode as a Buffer
|
|
19
19
|
* Use this to upload the WASM to the network
|
|
20
20
|
*/
|
|
21
21
|
export declare function getWasmBuffer(): Buffer;
|
|
22
|
-
export declare const RedistributionError: {
|
|
23
|
-
/**
|
|
24
|
-
* Account is not blacklisted (required for redistribution)
|
|
25
|
-
*/
|
|
26
|
-
100: {
|
|
27
|
-
message: string;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* Redistribution is not enabled
|
|
31
|
-
*/
|
|
32
|
-
101: {
|
|
33
|
-
message: string;
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export type RedistributionStorage = {
|
|
37
|
-
tag: "RedistributionEnabled";
|
|
38
|
-
values: void;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Limit configuration for rate limiting.
|
|
42
|
-
*/
|
|
43
|
-
export interface LimitConfig {
|
|
44
|
-
/**
|
|
45
|
-
* Max amount for the rate limit
|
|
46
|
-
*/
|
|
47
|
-
limit_capacity: i128;
|
|
48
|
-
/**
|
|
49
|
-
* Amount to add to limit each second up to the limitCapacity.
|
|
50
|
-
* A value of 0 means rate limiting is disabled (unlimited minting allowed).
|
|
51
|
-
*/
|
|
52
|
-
refill_per_second: i128;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Rate limit state (the runtime state that persists across config updates).
|
|
56
|
-
*/
|
|
57
|
-
export interface RateLimitState {
|
|
58
|
-
/**
|
|
59
|
-
* Timestamp of last refill
|
|
60
|
-
*/
|
|
61
|
-
last_refill_time: u64;
|
|
62
|
-
/**
|
|
63
|
-
* Remaining amount for the time period
|
|
64
|
-
*/
|
|
65
|
-
remaining_amount: i128;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Supply control errors: 3250-3299
|
|
69
|
-
*/
|
|
70
|
-
export declare const SupplyControlError: {
|
|
71
|
-
/**
|
|
72
|
-
* Entry already exists (supply controller, manager, or whitelist address)
|
|
73
|
-
*/
|
|
74
|
-
200: {
|
|
75
|
-
message: string;
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* Cannot burn from this address
|
|
79
|
-
*/
|
|
80
|
-
201: {
|
|
81
|
-
message: string;
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* Cannot mint to this address (not in whitelist)
|
|
85
|
-
*/
|
|
86
|
-
202: {
|
|
87
|
-
message: string;
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Invalid amount
|
|
91
|
-
*/
|
|
92
|
-
203: {
|
|
93
|
-
message: string;
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* Invalid configuration
|
|
97
|
-
*/
|
|
98
|
-
204: {
|
|
99
|
-
message: string;
|
|
100
|
-
};
|
|
101
|
-
/**
|
|
102
|
-
* Entry not found (supply controller, manager, or whitelist address)
|
|
103
|
-
*/
|
|
104
|
-
205: {
|
|
105
|
-
message: string;
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* Timestamp is older than the last refill time
|
|
109
|
-
*/
|
|
110
|
-
206: {
|
|
111
|
-
message: string;
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Rate limit exceeded
|
|
115
|
-
*/
|
|
116
|
-
207: {
|
|
117
|
-
message: string;
|
|
118
|
-
};
|
|
119
|
-
/**
|
|
120
|
-
* Value is already set to the same state
|
|
121
|
-
*/
|
|
122
|
-
208: {
|
|
123
|
-
message: string;
|
|
124
|
-
};
|
|
125
|
-
/**
|
|
126
|
-
* Caller is not authorized (not a supply controller or manager)
|
|
127
|
-
*/
|
|
128
|
-
209: {
|
|
129
|
-
message: string;
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* Supply controller configuration (the configurable parameters).
|
|
134
|
-
*/
|
|
135
|
-
export interface SupplyControllerConfig {
|
|
136
|
-
/**
|
|
137
|
-
* If true, allows the supply controller to mint to and burn from any address.
|
|
138
|
-
* When false, the controller can only mint to addresses in its whitelist.
|
|
139
|
-
*/
|
|
140
|
-
allow_any_mint_burn: boolean;
|
|
141
|
-
/**
|
|
142
|
-
* Limit configuration
|
|
143
|
-
*/
|
|
144
|
-
limit_config: LimitConfig;
|
|
145
|
-
/**
|
|
146
|
-
* Addresses that this supply controller is allowed to mint to (when `allow_any_mint_burn` is false).
|
|
147
|
-
*/
|
|
148
|
-
whitelist_addresses: Array<string>;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Supply controller with both config and state nested together.
|
|
152
|
-
* Stored per-controller for O(1) access on every mint/burn.
|
|
153
|
-
*/
|
|
154
|
-
export interface SupplyControllerEntry {
|
|
155
|
-
/**
|
|
156
|
-
* Configuration (can be updated independently)
|
|
157
|
-
*/
|
|
158
|
-
config: SupplyControllerConfig;
|
|
159
|
-
/**
|
|
160
|
-
* Rate limit state (preserved across config updates)
|
|
161
|
-
*/
|
|
162
|
-
state: RateLimitState;
|
|
163
|
-
}
|
|
164
|
-
export type SupplyControlStorage = {
|
|
165
|
-
tag: "SupplyControlEnabled";
|
|
166
|
-
values: void;
|
|
167
|
-
} | {
|
|
168
|
-
tag: "SupplyControllerEntry";
|
|
169
|
-
values: readonly [string];
|
|
170
|
-
} | {
|
|
171
|
-
tag: "SupplyControllers";
|
|
172
|
-
values: void;
|
|
173
|
-
} | {
|
|
174
|
-
tag: "SupplyControllerManagers";
|
|
175
|
-
values: void;
|
|
176
|
-
};
|
|
177
22
|
/**
|
|
178
23
|
* General SacManagerError: 3220-3249
|
|
179
24
|
*/
|
|
180
25
|
export declare const SacManagerError: {
|
|
181
26
|
/**
|
|
182
|
-
*
|
|
27
|
+
* The address is already a minter
|
|
183
28
|
*/
|
|
184
29
|
1: {
|
|
185
30
|
message: string;
|
|
186
31
|
};
|
|
187
32
|
/**
|
|
188
|
-
*
|
|
33
|
+
* Minter address not in the minters list (e.g. when deactivating)
|
|
189
34
|
*/
|
|
190
35
|
2: {
|
|
191
36
|
message: string;
|
|
@@ -201,7 +46,7 @@ export type SacManagerStorage = {
|
|
|
201
46
|
tag: "SacToken";
|
|
202
47
|
values: void;
|
|
203
48
|
} | {
|
|
204
|
-
tag: "
|
|
49
|
+
tag: "Minters";
|
|
205
50
|
values: void;
|
|
206
51
|
};
|
|
207
52
|
export declare const EndpointError: {
|
|
@@ -583,6 +428,27 @@ export type OAppOptionsType3Storage = {
|
|
|
583
428
|
tag: "EnforcedOptions";
|
|
584
429
|
values: readonly [u32, u32];
|
|
585
430
|
};
|
|
431
|
+
/**
|
|
432
|
+
* Represents a fee payer address with explicit authorization state.
|
|
433
|
+
*
|
|
434
|
+
* This enum forces callers of `__lz_send` to explicitly declare whether
|
|
435
|
+
* `require_auth()` has already been called for the fee payer address.
|
|
436
|
+
* This prevents the common mistake of forgetting to authorize the fee payer.
|
|
437
|
+
*
|
|
438
|
+
* # Variants
|
|
439
|
+
* - `Unverified` — Safe default. `__lz_send` will call `require_auth()` on the address.
|
|
440
|
+
* Use this when the caller has **not** already authorized the fee payer.
|
|
441
|
+
* - `Verified` — Caller asserts that `require_auth()` has already been called.
|
|
442
|
+
* Use this to avoid a duplicate `require_auth()` node in the Soroban auth tree
|
|
443
|
+
* (e.g., when the same address was already authorized as the message sender).
|
|
444
|
+
*/
|
|
445
|
+
export type FeePayer = {
|
|
446
|
+
tag: "Unverified";
|
|
447
|
+
values: readonly [string];
|
|
448
|
+
} | {
|
|
449
|
+
tag: "Verified";
|
|
450
|
+
values: readonly [string];
|
|
451
|
+
};
|
|
586
452
|
/**
|
|
587
453
|
* OAppError: 2000-2099
|
|
588
454
|
*/
|
|
@@ -941,172 +807,54 @@ export type UpgradeableStorage = {
|
|
|
941
807
|
};
|
|
942
808
|
export interface Client {
|
|
943
809
|
/**
|
|
944
|
-
* Construct and simulate a
|
|
945
|
-
* Redistributes funds from a blacklisted account to the owner.
|
|
946
|
-
*/
|
|
947
|
-
redistribute_blacklisted_funds: ({ from, amount }: {
|
|
948
|
-
from: string;
|
|
949
|
-
amount: i128;
|
|
950
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
951
|
-
/**
|
|
952
|
-
* Construct and simulate a redistribution_enabled 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.
|
|
953
|
-
*/
|
|
954
|
-
redistribution_enabled: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
955
|
-
/**
|
|
956
|
-
* Construct and simulate a set_supply_controller_manager 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.
|
|
957
|
-
* Sets whether an address is a supply controller manager. Owner-only.
|
|
958
|
-
*/
|
|
959
|
-
set_supply_controller_manager: ({ manager, active }: {
|
|
960
|
-
manager: string;
|
|
961
|
-
active: boolean;
|
|
962
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
963
|
-
/**
|
|
964
|
-
* Construct and simulate a set_supply_controller 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.
|
|
965
|
-
* Sets or removes a supply controller. Manager-only.
|
|
966
|
-
*
|
|
967
|
-
* - `Some(config)`: Adds a new supply controller with the given configuration.
|
|
968
|
-
* - `None`: Removes the supply controller.
|
|
969
|
-
*/
|
|
970
|
-
set_supply_controller: ({ sender, supply_controller, config }: {
|
|
971
|
-
sender: string;
|
|
972
|
-
supply_controller: string;
|
|
973
|
-
config: Option<SupplyControllerConfig>;
|
|
974
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
975
|
-
/**
|
|
976
|
-
* Construct and simulate a update_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.
|
|
977
|
-
* Updates the rate limit configuration for a supply controller. Manager-only.
|
|
978
|
-
* Note: This does NOT reset the rate limit state (remaining_amount, last_refill_time).
|
|
979
|
-
*/
|
|
980
|
-
update_limit_config: ({ sender, supply_controller, limit_config }: {
|
|
981
|
-
sender: string;
|
|
982
|
-
supply_controller: string;
|
|
983
|
-
limit_config: LimitConfig;
|
|
984
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
985
|
-
/**
|
|
986
|
-
* Construct and simulate a update_allow_any_mint_burn 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.
|
|
987
|
-
* Updates whether the supply controller can mint to and burn from any address. Manager-only.
|
|
988
|
-
*/
|
|
989
|
-
update_allow_any_mint_burn: ({ sender, supply_controller, allow_any_mint_burn }: {
|
|
990
|
-
sender: string;
|
|
991
|
-
supply_controller: string;
|
|
992
|
-
allow_any_mint_burn: boolean;
|
|
993
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
994
|
-
/**
|
|
995
|
-
* Construct and simulate a set_mint_whitelist 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.
|
|
996
|
-
* Sets whether an address is in the mint whitelist of a supply controller. Manager-only.
|
|
997
|
-
*/
|
|
998
|
-
set_mint_whitelist: ({ sender, supply_controller, mint_address, active }: {
|
|
999
|
-
sender: string;
|
|
1000
|
-
supply_controller: string;
|
|
1001
|
-
mint_address: string;
|
|
1002
|
-
active: boolean;
|
|
1003
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1004
|
-
/**
|
|
1005
|
-
* Construct and simulate a is_supply_controller_manager 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.
|
|
1006
|
-
* Returns whether the given address is a supply controller manager.
|
|
1007
|
-
*/
|
|
1008
|
-
is_supply_controller_manager: ({ address }: {
|
|
1009
|
-
address: string;
|
|
1010
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1011
|
-
/**
|
|
1012
|
-
* Construct and simulate a get_supply_controller_managers 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.
|
|
1013
|
-
* Gets all supply controller manager addresses.
|
|
1014
|
-
*/
|
|
1015
|
-
get_supply_controller_managers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
|
|
1016
|
-
/**
|
|
1017
|
-
* Construct and simulate a get_supply_controller_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.
|
|
1018
|
-
* Gets supply controller configuration.
|
|
1019
|
-
*/
|
|
1020
|
-
get_supply_controller_config: ({ supply_controller }: {
|
|
1021
|
-
supply_controller: string;
|
|
1022
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<Option<SupplyControllerConfig>>>;
|
|
1023
|
-
/**
|
|
1024
|
-
* Construct and simulate a allow_any_mint_burn 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.
|
|
1025
|
-
*/
|
|
1026
|
-
allow_any_mint_burn: ({ supply_controller }: {
|
|
1027
|
-
supply_controller: string;
|
|
1028
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1029
|
-
/**
|
|
1030
|
-
* Construct and simulate a get_supply_controllers 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.
|
|
1031
|
-
* Gets all active supply controller addresses.
|
|
1032
|
-
*/
|
|
1033
|
-
get_supply_controllers: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
|
|
1034
|
-
/**
|
|
1035
|
-
* Construct and simulate a is_address_whitelisted 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.
|
|
1036
|
-
* Returns whether the given address is in the whitelist of a supply controller.
|
|
1037
|
-
*/
|
|
1038
|
-
is_address_whitelisted: ({ supply_controller, mint_address }: {
|
|
1039
|
-
supply_controller: string;
|
|
1040
|
-
mint_address: string;
|
|
1041
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1042
|
-
/**
|
|
1043
|
-
* Construct and simulate a get_remaining_mint_amount 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.
|
|
1044
|
-
* Gets remaining amount which can be minted at current timestamp.
|
|
1045
|
-
*/
|
|
1046
|
-
get_remaining_mint_amount: ({ supply_controller }: {
|
|
1047
|
-
supply_controller: string;
|
|
1048
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<i128>>;
|
|
1049
|
-
/**
|
|
1050
|
-
* Construct and simulate a supply_control_enabled 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.
|
|
1051
|
-
*/
|
|
1052
|
-
supply_control_enabled: (options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
|
|
1053
|
-
/**
|
|
1054
|
-
* Construct and simulate a authorized_mint 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.
|
|
810
|
+
* Construct and simulate a mint 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.
|
|
1055
811
|
*/
|
|
1056
|
-
|
|
1057
|
-
sender: string;
|
|
812
|
+
mint: ({ to, amount, operation }: {
|
|
1058
813
|
to: string;
|
|
1059
814
|
amount: i128;
|
|
815
|
+
operation: string;
|
|
1060
816
|
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1061
817
|
/**
|
|
1062
818
|
* Construct and simulate a clawback 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.
|
|
819
|
+
* Delegates to the underlying SAC to clawback `amount` from `from` account.
|
|
1063
820
|
*/
|
|
1064
|
-
clawback: ({
|
|
1065
|
-
sender: string;
|
|
821
|
+
clawback: ({ from, amount }: {
|
|
1066
822
|
from: string;
|
|
1067
823
|
amount: i128;
|
|
1068
824
|
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1069
825
|
/**
|
|
1070
826
|
* Construct and simulate a release_sac_admin transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
827
|
+
* Delegates to the underlying SAC `set_admin` to release the admin role from the current contract to `to`.
|
|
1071
828
|
*/
|
|
1072
829
|
release_sac_admin: ({ to }: {
|
|
1073
830
|
to: string;
|
|
1074
831
|
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1075
832
|
/**
|
|
1076
833
|
* Construct and simulate a set_authorized 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.
|
|
834
|
+
* Delegates to the underlying SAC `set_authorized` to set whether `id` is authorized to use its balance.
|
|
1077
835
|
*/
|
|
1078
836
|
set_authorized: ({ id, authorize }: {
|
|
1079
837
|
id: string;
|
|
1080
838
|
authorize: boolean;
|
|
1081
839
|
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1082
840
|
/**
|
|
1083
|
-
* Construct and simulate a
|
|
841
|
+
* Construct and simulate a set_minter 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.
|
|
842
|
+
* Adds (`active = true`) or removes (`active = false`) a minter.
|
|
1084
843
|
*/
|
|
1085
|
-
|
|
1086
|
-
|
|
844
|
+
set_minter: ({ minter, active }: {
|
|
845
|
+
minter: string;
|
|
846
|
+
active: boolean;
|
|
1087
847
|
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1088
848
|
/**
|
|
1089
849
|
* Construct and simulate a underlying_sac 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.
|
|
850
|
+
* Returns the underlying SAC (Stellar Asset Contract) address.
|
|
1090
851
|
*/
|
|
1091
852
|
underlying_sac: (options?: MethodOptions) => Promise<AssembledTransaction<string>>;
|
|
1092
853
|
/**
|
|
1093
|
-
* Construct and simulate a
|
|
854
|
+
* Construct and simulate a minters 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.
|
|
855
|
+
* Returns the list of addresses authorized to call mint.
|
|
1094
856
|
*/
|
|
1095
|
-
|
|
1096
|
-
/**
|
|
1097
|
-
* Construct and simulate a mint 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.
|
|
1098
|
-
*/
|
|
1099
|
-
mint: ({ to, amount }: {
|
|
1100
|
-
to: string;
|
|
1101
|
-
amount: i128;
|
|
1102
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
1103
|
-
/**
|
|
1104
|
-
* Construct and simulate a burn 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.
|
|
1105
|
-
*/
|
|
1106
|
-
burn: ({ from, amount }: {
|
|
1107
|
-
from: string;
|
|
1108
|
-
amount: i128;
|
|
1109
|
-
}, txnOptions?: MethodOptions) => Promise<AssembledTransaction<null>>;
|
|
857
|
+
minters: (options?: MethodOptions) => Promise<AssembledTransaction<Array<string>>>;
|
|
1110
858
|
/**
|
|
1111
859
|
* Construct and simulate a upgrade transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
|
|
1112
860
|
* Upgrades the contract to new WASM bytecode.
|
|
@@ -1250,11 +998,9 @@ export declare class Client extends ContractClient {
|
|
|
1250
998
|
readonly options: ContractClientOptions;
|
|
1251
999
|
static deploy<T = Client>(
|
|
1252
1000
|
/** Constructor/Initialization Args for the contract's `__constructor` method */
|
|
1253
|
-
{ sac_token, owner
|
|
1001
|
+
{ sac_token, owner }: {
|
|
1254
1002
|
sac_token: string;
|
|
1255
1003
|
owner: string;
|
|
1256
|
-
redistribution_enabled: boolean;
|
|
1257
|
-
supply_control_enabled: boolean;
|
|
1258
1004
|
},
|
|
1259
1005
|
/** Options for initializing a Client as well as for calling a method, with extras specific to deploying. */
|
|
1260
1006
|
options: MethodOptions & Omit<ContractClientOptions, "contractId"> & {
|
|
@@ -1267,30 +1013,13 @@ export declare class Client extends ContractClient {
|
|
|
1267
1013
|
}): Promise<AssembledTransaction<T>>;
|
|
1268
1014
|
constructor(options: ContractClientOptions);
|
|
1269
1015
|
readonly fromJSON: {
|
|
1270
|
-
|
|
1271
|
-
redistribution_enabled: (json: string) => AssembledTransaction<boolean>;
|
|
1272
|
-
set_supply_controller_manager: (json: string) => AssembledTransaction<null>;
|
|
1273
|
-
set_supply_controller: (json: string) => AssembledTransaction<null>;
|
|
1274
|
-
update_limit_config: (json: string) => AssembledTransaction<null>;
|
|
1275
|
-
update_allow_any_mint_burn: (json: string) => AssembledTransaction<null>;
|
|
1276
|
-
set_mint_whitelist: (json: string) => AssembledTransaction<null>;
|
|
1277
|
-
is_supply_controller_manager: (json: string) => AssembledTransaction<boolean>;
|
|
1278
|
-
get_supply_controller_managers: (json: string) => AssembledTransaction<string[]>;
|
|
1279
|
-
get_supply_controller_config: (json: string) => AssembledTransaction<Option<SupplyControllerConfig>>;
|
|
1280
|
-
allow_any_mint_burn: (json: string) => AssembledTransaction<boolean>;
|
|
1281
|
-
get_supply_controllers: (json: string) => AssembledTransaction<string[]>;
|
|
1282
|
-
is_address_whitelisted: (json: string) => AssembledTransaction<boolean>;
|
|
1283
|
-
get_remaining_mint_amount: (json: string) => AssembledTransaction<bigint>;
|
|
1284
|
-
supply_control_enabled: (json: string) => AssembledTransaction<boolean>;
|
|
1285
|
-
authorized_mint: (json: string) => AssembledTransaction<null>;
|
|
1016
|
+
mint: (json: string) => AssembledTransaction<null>;
|
|
1286
1017
|
clawback: (json: string) => AssembledTransaction<null>;
|
|
1287
1018
|
release_sac_admin: (json: string) => AssembledTransaction<null>;
|
|
1288
1019
|
set_authorized: (json: string) => AssembledTransaction<null>;
|
|
1289
|
-
|
|
1020
|
+
set_minter: (json: string) => AssembledTransaction<null>;
|
|
1290
1021
|
underlying_sac: (json: string) => AssembledTransaction<string>;
|
|
1291
|
-
|
|
1292
|
-
mint: (json: string) => AssembledTransaction<null>;
|
|
1293
|
-
burn: (json: string) => AssembledTransaction<null>;
|
|
1022
|
+
minters: (json: string) => AssembledTransaction<string[]>;
|
|
1294
1023
|
upgrade: (json: string) => AssembledTransaction<null>;
|
|
1295
1024
|
migrate: (json: string) => AssembledTransaction<null>;
|
|
1296
1025
|
authorizer: (json: string) => AssembledTransaction<string>;
|