@layerzerolabs/protocol-stellar-v2 0.2.18 → 0.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/.turbo/turbo-build.log +275 -248
  2. package/.turbo/turbo-lint.log +52 -58
  3. package/.turbo/turbo-test.log +1224 -1358
  4. package/Cargo.lock +8 -5
  5. package/Cargo.toml +1 -1
  6. package/contracts/ERROR_SPEC.md +1 -1
  7. package/contracts/message-libs/uln-302/src/send_uln.rs +1 -1
  8. package/contracts/oapps/oapp/src/oapp_receiver.rs +1 -1
  9. package/contracts/oapps/oft/Cargo.toml +10 -7
  10. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_oft_fee.rs +3 -4
  11. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_pausable.rs +2 -3
  12. package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/test_rate_limiter.rs +1 -1
  13. package/contracts/oapps/oft/integration-tests/mod.rs +1 -1
  14. package/contracts/oapps/oft/integration-tests/setup.rs +28 -127
  15. package/contracts/oapps/oft/integration-tests/utils.rs +254 -21
  16. package/contracts/oapps/oft/src/extensions/oft_fee.rs +5 -6
  17. package/contracts/oapps/oft/src/lib.rs +10 -14
  18. package/contracts/oapps/oft/src/oft.rs +151 -189
  19. package/contracts/oapps/oft/src/oft_types/lock_unlock.rs +9 -11
  20. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +32 -12
  21. package/contracts/oapps/oft/src/oft_types/mod.rs +13 -0
  22. package/contracts/oapps/{oft-std → oft-core}/Cargo.toml +6 -4
  23. package/contracts/oapps/{oft-std → oft-core}/integration-tests/mod.rs +1 -1
  24. package/contracts/oapps/{oft-std → oft-core}/integration-tests/setup.rs +126 -29
  25. package/contracts/oapps/{oft → oft-core}/integration-tests/test_with_sml.rs +3 -3
  26. package/contracts/oapps/oft-core/integration-tests/utils.rs +201 -0
  27. package/contracts/oapps/oft-core/src/lib.rs +18 -0
  28. package/contracts/oapps/oft-core/src/oft_core.rs +439 -0
  29. package/contracts/oapps/{oft → oft-core}/src/tests/mod.rs +0 -2
  30. package/contracts/oapps/{oft → oft-core}/src/tests/test_lz_receive.rs +7 -7
  31. package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_msg_codec.rs +4 -4
  32. package/contracts/oapps/{oft → oft-core}/src/tests/test_resolve_address.rs +3 -3
  33. package/contracts/oapps/{oft → oft-core}/src/tests/test_utils.rs +44 -25
  34. package/contracts/oapps/{oft → oft-core}/src/utils.rs +1 -1
  35. package/contracts/utils/src/errors.rs +5 -1
  36. package/contracts/utils/src/ownable.rs +125 -3
  37. package/contracts/utils/src/tests/option_ext.rs +1 -1
  38. package/contracts/utils/src/tests/ownable.rs +445 -7
  39. package/contracts/utils/src/tests/ttl_configurable.rs +2 -2
  40. package/package.json +4 -5
  41. package/sdk/.turbo/turbo-test.log +216 -206
  42. package/sdk/dist/generated/bml.d.ts +30 -0
  43. package/sdk/dist/generated/bml.js +28 -5
  44. package/sdk/dist/generated/counter.d.ts +122 -2
  45. package/sdk/dist/generated/counter.js +36 -7
  46. package/sdk/dist/generated/dvn.d.ts +30 -0
  47. package/sdk/dist/generated/dvn.js +28 -5
  48. package/sdk/dist/generated/dvn_fee_lib.d.ts +122 -2
  49. package/sdk/dist/generated/dvn_fee_lib.js +36 -7
  50. package/sdk/dist/generated/endpoint.d.ts +122 -2
  51. package/sdk/dist/generated/endpoint.js +36 -7
  52. package/sdk/dist/generated/executor.d.ts +122 -2
  53. package/sdk/dist/generated/executor.js +36 -7
  54. package/sdk/dist/generated/executor_fee_lib.d.ts +122 -2
  55. package/sdk/dist/generated/executor_fee_lib.js +36 -7
  56. package/sdk/dist/generated/executor_helper.d.ts +30 -0
  57. package/sdk/dist/generated/executor_helper.js +28 -5
  58. package/sdk/dist/generated/oft.d.ts +1842 -0
  59. package/sdk/dist/generated/oft.js +345 -0
  60. package/sdk/dist/generated/price_feed.d.ts +122 -2
  61. package/sdk/dist/generated/price_feed.js +36 -7
  62. package/sdk/dist/generated/sml.d.ts +122 -2
  63. package/sdk/dist/generated/sml.js +36 -7
  64. package/sdk/dist/generated/treasury.d.ts +122 -2
  65. package/sdk/dist/generated/treasury.js +36 -7
  66. package/sdk/dist/generated/uln302.d.ts +122 -2
  67. package/sdk/dist/generated/uln302.js +36 -7
  68. package/sdk/dist/generated/upgrader.d.ts +15 -0
  69. package/sdk/dist/generated/upgrader.js +18 -0
  70. package/sdk/dist/index.d.ts +1 -2
  71. package/sdk/dist/index.js +1 -3
  72. package/sdk/package.json +3 -2
  73. package/sdk/src/index.ts +1 -4
  74. package/sdk/test/oft-sml.test.ts +16 -16
  75. package/sdk/turbo.json +8 -0
  76. package/tools/ts-bindings-gen/Cargo.toml +2 -0
  77. package/tools/ts-bindings-gen/src/main.rs +51 -4
  78. package/turbo.json +0 -2
  79. package/contracts/oapps/oft/src/interfaces/mint_burn_token.rs +0 -23
  80. package/contracts/oapps/oft/src/interfaces/mod.rs +0 -3
  81. package/contracts/oapps/oft/src/oft_impl.rs +0 -201
  82. package/contracts/oapps/oft/src/tests/extensions/mod.rs +0 -11
  83. package/contracts/oapps/oft/src/tests/extensions/setup.rs +0 -917
  84. package/contracts/oapps/oft/src/tests/extensions/test_oft_fee.rs +0 -751
  85. package/contracts/oapps/oft/src/tests/extensions/test_pausable.rs +0 -434
  86. package/contracts/oapps/oft/src/tests/extensions/test_rate_limiter.rs +0 -1080
  87. package/contracts/oapps/oft-std/integration-tests/utils.rs +0 -427
  88. package/contracts/oapps/oft-std/src/lib.rs +0 -16
  89. package/contracts/oapps/oft-std/src/oft.rs +0 -174
  90. package/sdk/dist/generated/oft_std.d.ts +0 -1722
  91. package/sdk/dist/generated/oft_std.js +0 -316
  92. package/sdk/dist/wasm/blocked-message-lib.d.ts +0 -1
  93. package/sdk/dist/wasm/blocked-message-lib.js +0 -2
  94. package/sdk/dist/wasm/counter.d.ts +0 -1
  95. package/sdk/dist/wasm/counter.js +0 -2
  96. package/sdk/dist/wasm/dvn-fee-lib.d.ts +0 -1
  97. package/sdk/dist/wasm/dvn-fee-lib.js +0 -2
  98. package/sdk/dist/wasm/dvn.d.ts +0 -1
  99. package/sdk/dist/wasm/dvn.js +0 -2
  100. package/sdk/dist/wasm/endpoint-v2.d.ts +0 -1
  101. package/sdk/dist/wasm/endpoint-v2.js +0 -2
  102. package/sdk/dist/wasm/executor-fee-lib.d.ts +0 -1
  103. package/sdk/dist/wasm/executor-fee-lib.js +0 -2
  104. package/sdk/dist/wasm/executor-helper.d.ts +0 -1
  105. package/sdk/dist/wasm/executor-helper.js +0 -2
  106. package/sdk/dist/wasm/executor.d.ts +0 -1
  107. package/sdk/dist/wasm/executor.js +0 -2
  108. package/sdk/dist/wasm/layerzero-views.d.ts +0 -1
  109. package/sdk/dist/wasm/layerzero-views.js +0 -2
  110. package/sdk/dist/wasm/oft-std.d.ts +0 -1
  111. package/sdk/dist/wasm/oft-std.js +0 -2
  112. package/sdk/dist/wasm/price-feed.d.ts +0 -1
  113. package/sdk/dist/wasm/price-feed.js +0 -2
  114. package/sdk/dist/wasm/simple-message-lib.d.ts +0 -1
  115. package/sdk/dist/wasm/simple-message-lib.js +0 -2
  116. package/sdk/dist/wasm/treasury.d.ts +0 -1
  117. package/sdk/dist/wasm/treasury.js +0 -2
  118. package/sdk/dist/wasm/uln302.d.ts +0 -1
  119. package/sdk/dist/wasm/uln302.js +0 -2
  120. package/sdk/dist/wasm/upgrader.d.ts +0 -1
  121. package/sdk/dist/wasm/upgrader.js +0 -2
  122. package/sdk/dist/wasm.d.ts +0 -15
  123. package/sdk/dist/wasm.js +0 -15
  124. /package/contracts/oapps/{oft-std → oft}/integration-tests/extensions/mod.rs +0 -0
  125. /package/contracts/oapps/{oft → oft-core}/src/codec/mod.rs +0 -0
  126. /package/contracts/oapps/{oft → oft-core}/src/codec/oft_compose_msg_codec.rs +0 -0
  127. /package/contracts/oapps/{oft → oft-core}/src/codec/oft_msg_codec.rs +0 -0
  128. /package/contracts/oapps/{oft → oft-core}/src/errors.rs +0 -0
  129. /package/contracts/oapps/{oft → oft-core}/src/events.rs +0 -0
  130. /package/contracts/oapps/{oft → oft-core}/src/storage.rs +0 -0
  131. /package/contracts/oapps/{oft → oft-core}/src/tests/test_decimals.rs +0 -0
  132. /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_compose_msg_codec.rs +0 -0
  133. /package/contracts/oapps/{oft → oft-core}/src/tests/test_oft_version.rs +0 -0
  134. /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_oft.rs +0 -0
  135. /package/contracts/oapps/{oft → oft-core}/src/tests/test_quote_send.rs +0 -0
  136. /package/contracts/oapps/{oft → oft-core}/src/tests/test_send.rs +0 -0
  137. /package/contracts/oapps/{oft → oft-core}/src/tests/test_token.rs +0 -0
  138. /package/contracts/oapps/{oft → oft-core}/src/types.rs +0 -0
@@ -1,7 +1,25 @@
1
+ import { Buffer } from "buffer";
1
2
  import { Client as ContractClient, Spec as ContractSpec, } from '@stellar/stellar-sdk/contract';
2
3
  export * from '@stellar/stellar-sdk';
3
4
  export * as contract from '@stellar/stellar-sdk/contract';
4
5
  export * as rpc from '@stellar/stellar-sdk/rpc';
6
+ /**
7
+ * Embedded WASM bytecode (base64-encoded)
8
+ * Size: 56667 bytes (55.34 KB)
9
+ */
10
+ export const WASM_BASE64 = "AGFzbQEAAAABzgEhYAJ+fgF+YAF+AX5gA35+fgF+YAABfmAEfn5+fgF+YAN/f38AYAF/AX5gA35+fgBgA39+fgBgAABgAAF/YAF/AGACf38AYAJ+fgF/YAJ+fgBgA35+fwBgAn9+AGABfgBgAn5/AGAEf39/fwF+YAF+AX9gAn9/AX5gAX8Bf2AFfn9/f38AYAN+f38BfmACf38Bf2ADf35+AX5gA39/fgBgB35+fn5+fn4BfmAFf35/fn4AYAR+fn9/AX5gCX5+fn5+fn5+fgF+YAN/f38BfwKhAjABbAExAAABYQEwAAEBdgEzAAEBdgExAAABYgE4AAEBYgE2AAABYgFmAAIBYwEyAAIBYwExAAEBdgFkAAABdgEyAAABdgE2AAABeAExAAABdgFfAAMBeAE0AAMBaQEwAAEBdgE4AAEBeAE3AAMBeAEwAAABYgFlAAABYgEwAAEBYwEwAAIBbAFfAAIBbAEyAAABaQFfAAEBZAFfAAIBaQE4AAEBaQE3AAEBYgE0AAMBYgFfAAEBbAE2AAEBeAEzAAMBeAE4AAMBYgEzAAABbQFhAAQBdgFnAAABYgFtAAIBaQE2AAABYgFqAAABYgEyAAQBbQE5AAIBbAEwAAABbAE4AAABeAE1AAEBbAE3AAQBaQEzAAABaQE1AAEBaQE0AAEDogGgAQUGBwgJCgsMBg0DAw4KDwMQDQwNEQkKBRAIEgMQEAsFARMRFBIDFQMMEgwKDBQWAwMUChQKBhQMEBcQDAgCEBAMGBkKEBAQFhUaARsAAAsLAAALABECABEAEREBAwMBAwEBAQMDAwMBAxwdCBwMFQABAwIeHwwMBgwRCwIAAQsBAwMAEAYDDAMDAAAQERIBAwMBAwACCQUQEAUMBQwQICAEBQFwAQEBBQMBABEGIQR/AUGAgMAAC38AQcyCwAALfwBB+IrAAAt/AEGAi8AACweNBzUGbWVtb3J5AgAMX19jaGVja19hdXRoAG0Kc2V0X3BhdXNlZAB6GXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAfA1zZXRfYWxsb3dsaXN0AH0Mc2V0X2RlbnlsaXN0AIABGnNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzAIEBE3NldF9kZXBvc2l0X2FkZHJlc3MAgwEac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAhQESc2V0X3dvcmtlcl9mZWVfbGliAIYBDnNldF9wcmljZV9mZWVkAIgBCGlzX2FkbWluAIsBBmFkbWlucwCMAQZwYXVzZWQAjQEYaXNfc3VwcG9ydGVkX21lc3NhZ2VfbGliAI4BDG1lc3NhZ2VfbGlicwCPAQ9pc19vbl9hbGxvd2xpc3QAkAEOaXNfb25fZGVueWxpc3QAkQEHaGFzX2FjbACSAQ5hbGxvd2xpc3Rfc2l6ZQCTARZkZWZhdWx0X211bHRpcGxpZXJfYnBzAJQBD2RlcG9zaXRfYWRkcmVzcwCVAQpwcmljZV9mZWVkAJYBGmdldF9zdXBwb3J0ZWRfb3B0aW9uX3R5cGVzAJcBDndvcmtlcl9mZWVfbGliAJgBB2dldF9mZWUAmQEKYXNzaWduX2pvYgCcAQ5zZXRfZHN0X2NvbmZpZwCfAQpkc3RfY29uZmlnAKABA3ZpZAChAQ5oYXNoX2NhbGxfZGF0YQCiAQ1fX2NvbnN0cnVjdG9yAKQBCXNldF9hZG1pbgCrARNxdW9ydW1fY2hhbmdlX2FkbWluAKwBB3VwZ3JhZGUArQEHbWlncmF0ZQCvAQphdXRob3JpemVyALEBD3NldF90dGxfY29uZmlncwCyAQt0dGxfY29uZmlncwC1ARJmcmVlemVfdHRsX2NvbmZpZ3MAtwEVaXNfdHRsX2NvbmZpZ3NfZnJvemVuALgBE2V4dGVuZF9pbnN0YW5jZV90dGwAuQEKc2V0X3NpZ25lcgC6AQ1zZXRfdGhyZXNob2xkAL4BC2dldF9zaWduZXJzAL8BDXRvdGFsX3NpZ25lcnMAwAEJaXNfc2lnbmVyAMEBCXRocmVzaG9sZADCARF2ZXJpZnlfc2lnbmF0dXJlcwDDARN2ZXJpZnlfbl9zaWduYXR1cmVzAMQBAV8DAQpfX2RhdGFfZW5kAwILX19oZWFwX2Jhc2UDAwqsswGgASIAIAAQsYCAgAAgAa1CIIZCBIQgAq1CIIZCBIQQsoCAgAAL0QECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIAAoAgAOAwABAgALIAFBmILAgABBAxDHgICAACABKAIADQMgASABKQMIEMiAgIAADAILIAFBm4LAgABBCRDHgICAACABKAIADQIgASABKQMIIAA1AgRCIIZCBIQQyYCAgAAMAQsgAUGkgsCAAEEIEMeAgIAAIAEoAgANASABIAEpAwggACkDCBDJgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCxEAIABCASABIAIQrICAgAAaCzcBAX5CACEDAkACQCABQgJRDQAgAadBAXENASAAIAI3AwhCASEDCyAAIAM3AwAPCxC0gICAAAALCQAQxYGAgAAAC4sBAgJ/AX4jgICAgABBEGsiACSAgICAACAAQQRqELaAgIAAAkAgACgCBEEBRw0AIAAoAgggACgCDBC3gICAAAtBACEBAkBBABC4gICAACICQgIQuYCAgABFDQBBASEBAkACQCACQgIQgICAgACnQf8BcQ4CAQIACwALQQAhAQsgAEEQaiSAgICAACABCwwAIABBARDKgYCAAAsbACAArUIghkIEhCABrUIghkIEhBCqgICAABoLwgECAX8BfiOAgICAAEEQayIBJICAgIAAAkACQAJAAkACQAJAIABB/wFxDgMAAQIACyABQZKFwIAAQQYQx4CAgAAgASgCAA0DIAEgASkDCBDIgICAAAwCCyABQZiFwIAAQQgQx4CAgAAgASgCAA0CIAEgASkDCBDIgICAAAwBCyABQaCFwIAAQQoQx4CAgAAgASgCAA0BIAEgASkDCBDIgICAAAsgASkDCCECIAEpAwBQDQELAAsgAUEQaiSAgICAACACCw8AIAAgARCpgICAAEIBUQsVAQF+ELuAgIAAIgAQgYCAgAAaIAALVAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC2gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQt4CAgAALEJGAgIAAIQEgAEEQaiSAgICAACABC1gBAX8jgICAgABBEGsiAiSAgICAACACQQRqELaAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC3gICAAAsgACABEL2AgIAAEL6AgIAAIAJBEGokgICAgAALRgIBfwF+QQAhAAJAAkBBARCngYCAACIBQgIQuYCAgABFDQAgAUICEICAgIAAIgFC/wGDQgRSDQEgAUIgiKchAAsgAA8LAAuSBQQBfwV+An8BfiOAgICAAEEwayIDJICAgIAAIANBIGoQtoCAgAACQCADKAIgQQFHDQAgAygCJCADKAIoELeAgIAACwJAAkACQAJAAkACQCACRQ0AIAIgARCCgICAAEIgiKdLDQEQv4CAgAAhBCABEIKAgIAAQiCIIQVCACEGQQAhAgJAA0AgBiAFUQ0FAkAgASAGQiCGQgSEEIOAgIAAIgdC/wGDQsgAUg0AIAcQhICAgAAhCCAGQv////8PUQ0CIAhCgICAgHCDQoCAgICQCFINAiAHEISAgIAAQv////+PCFgNBSAHQoSAgICACBCFgICAACEIIAdCBEKEgICAgAgQhoCAgAAiBxCEgICAAEKAgICAcINCgICAgIAIUg0CIANBIGogACAHIAhCIIinIglBZWoiCiAJIApB/wFxQQRJG61C/wGDQiCGQgSEEIeAgIAAQoSAgIAQQoSAgICQCBCGgICAABCIgICAAEKEgICAwAFChICAgIAEEIaAgIAAEMCAgIAAIAMoAiBBAUYNAiADKQMoIQcCQCACQQFxRQ0AIAcgCxDBgICAAEEYdEEYdUEATA0ICyAEEIKAgIAAIQggA0EANgIIIAMgBDcDACADIAhCIIg+AgwDQCADQSBqIAMQwoCAgAAgA0EQaiADKQMgIAMpAygQs4CAgAAgAygCEEEBRw0JIAMpAxggBxDDgICAAEUNAAsgBkIBfCEGQQEhAiAHIQsMAQsLIAZC/////w9SGgsQtICAgAAAC0KDgICAsIUBEMSAgIAAAAtCg4CAgOCEARDEgICAAAALEMWAgIAAAAsgA0EwaiSAgICAAA8LQoOAgICghQEQxICAgAAAC0KDgICAgIUBEMSAgIAAAAuNAQQBfwF+AX8BfiOAgICAAEEQayIAJICAgIAAAkACQEEAEKeBgIAAIgFCARC5gICAACICRQ0AIAFCARCAgICAACIDQv8Bg0LLAFINASAAQQRqEM6AgIAAIAAoAgRFDQAgACgCCCAAKAIMEKiBgIAACxCNgICAACEBIABBEGokgICAgAAgAyABIAIbDwsACzYBAX5CASECAkAgARCEgICAAEKAgICAcINCgICAgMACUg0AIAAgATcDCEIAIQILIAAgAjcDAAsXACAAIAEQkoCAgAAiAUIAVSABQgBTawuRAQICfwF+I4CAgIAAQRBrIgIkgICAgAACQAJAIAEoAggiAyABKAIMSQ0AIABCAjcDAAwBCyACIAEpAwAgA61CIIZCBIQQg4CAgAAQu4GAgAACQCADQQFqIgNFDQAgAikDACEEIAAgAikDCDcDCCAAIAQ3AwAgASADNgIIDAELELSAgIAAAAsgAkEQaiSAgICAAAsRACAAIAEQwYCAgABB/wFxRQsLACAAEKuAgIAAGgsJABC0gICAAAALUgECfyOAgICAAEEQayIAJICAgIAAIABBBGoQtoCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELeAgIAACxC9gICAACEBIABBEGokgICAgAAgAQtRAgF/AX4jgICAgABBEGsiAySAgICAACADIAEgAhDGgYCAAEIBIQQCQCADKAIADQAgACADKQMINwMIQgAhBAsgACAENwMAIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQnoGAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAALSAEBfyOAgICAAEEQayIDJICAgIAAIAMgAjcDCCADIAE3AwAgA0ECEJ6BgIAAIQIgAEIANwMAIAAgAjcDCCADQRBqJICAgIAAC/YCAwF/AX4BfyOAgICAAEEwayICJICAgIAAEMuAgIAAIQMCQAJAAkACQAJAAkAgAQ0AIAMQgoCAgABC/////x9YDQEgAkEIaiADIAAQiYCAgAAQzICAgAAgAigCCCIEQQJGDQIgBEEBcUUNAyACKAIMIgQgAxCCgICAAEIgiKdPDQUgAyAErUIghkIEhBCKgICAACEDDAULIAMgABCJgICAAEICUQ0DQoOAgICAlgEQxICAgAAAC0KDgICAwJYBEMSAgIAAAAsQtICAgAAAC0KDgICAkJYBEMSAgIAAAAsgAyAAEIuAgIAAIQMLIAJBCjYCICACQSBqIAMQzYCAgAAgAkEUahDOgICAAAJAIAIoAhRBAUcNACACQSBqIAIoAhggAigCHBDPgICAAAtCjuauueqM5NU4ENCAgIAAIQMgAiAANwMoIAIgAa03AyAgA0HAhcCAAEECIAJBIGpBAhDRgICAABCMgICAABogAkEwaiSAgICAAAusAQIBfwN+I4CAgIAAQTBrIgAkgICAgAAgAEEQahC2gICAAAJAIAAoAhBBAUcNACAAKAIUIAAoAhgQt4CAgAALIABBCjYCECAAIABBEGoQ2oCAgAACQCAAKQMAIgFQDQAgAEEkahDOgICAACAAKAIkQQFHDQAgAEEQaiAAKAIoIAAoAiwQz4CAgAALIAApAwghAhCNgICAACEDIABBMGokgICAgAAgAiADIAGnGws9AQJ/AkACQCABQgJSDQBBACECDAELQQFBAiABQv8Bg0IEURshAiABQiCIpyEDCyAAIAM2AgQgACACNgIACxUAIAAQ5YCAgAAgAUIBEJaAgIAAGgsMACAAQQIQyoGAgAALIgAgABDlgICAACABrUIghkIEhCACrUIghkIEhBCygICAAAtjAwF/AX4BfyOAgICAAEEQayIBJICAgIAAIAEgADcDAEICIQJBASEDAkADQCADRQ0BIANBf2ohAyAAIQIMAAsLIAEgAjcDCCABQQhqQQEQnoGAgAAhACABQRBqJICAgIAAIAALLgACQCABIANGDQAACyAArUIghkIEhCACrUIghkIEhCABrUIghkIEhBCogICAAAsnACAAEIGAgIAAGgJAIAAQ04CAgAANAEKDgICA8JcBEMSAgIAAAAsLXQEBfyOAgICAAEEQayIBJICAgIAAIAFBBGoQtoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELeAgIAACxDLgICAACAAEImAgIAAIQAgAUEQaiSAgICAACAAQgJSC9ECAwF/An4BfyOAgICAAEEwayICJICAgIAAENWAgIAAIgMgABCJgICAACEEAkACQAJAAkACQCABDQAgAkEIaiAEEMyAgIAAIAIoAggiBUECRg0BIAVBAXFFDQIgAigCDCIFIAMQgoCAgABCIIinTw0EIAMgBa1CIIZCBIQQioCAgAAhAwwECyAEQgJRDQJCg4CAgOCWARDEgICAAAALELSAgIAAAAtCg4CAgPCWARDEgICAAAALIAMgABCLgICAACEDCyACQQY2AiAgAkEgaiADEM2AgIAAIAJBFGoQzoCAgAACQCACKAIUQQFHDQAgAkEgaiACKAIYIAIoAhwQz4CAgAALQdCFwIAAQRkQ1oCAgAAQ0ICAgAAhAyACIAGtNwMoIAIgADcDICADQYCGwIAAQQIgAkEgakECENGAgIAAEIyAgIAAGiACQTBqJICAgIAAC6wBAgF/A34jgICAgABBMGsiACSAgICAACAAQRBqELaAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC3gICAAAsgAEEGNgIQIAAgAEEQahDagICAAAJAIAApAwAiAVANACAAQSRqEM6AgIAAIAAoAiRBAUcNACAAQRBqIAAoAiggACgCLBDPgICAAAsgACkDCCECEI2AgIAAIQMgAEEwaiSAgICAACACIAMgAacbC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABEMaBgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwt1AgF/AX4jgICAgABBIGsiACSAgICAACAAQRBqELaAgIAAAkAgACgCEEEBRw0AIAAoAhQgACgCGBC3gICAAAsgAEECNgIQIAAgAEEQahDYgICAACAAKQMIIQEgACkDAEG9CRDZgICAACAAQSBqJICAgIAAIAELTQECfkIAIQICQAJAIAEQ5YCAgAAiA0ICELmAgIAARQ0AIANCAhCAgICAACICQv8Bg0LNAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALKQACQCAAp0EBcUUNAA8LIAFB0HZqrUIghkKDgICAgJYBfBDEgICAAAALTQECfkIAIQICQAJAIAEQ5YCAgAAiA0IBELmAgIAARQ0AIANCARCAgICAACICQv8Bg0LLAFINASAAIAI3AwhCASECCyAAIAI3AwAPCwALdwEDfyOAgICAAEEgayIAJICAgIAAIABBEGoQtoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELeAgIAACyAAQQk2AhAgAEEIaiAAQRBqENyAgIAAIAAoAgghASAAKAIMIQIgAEEgaiSAgICAACACQQAgAUEBcRsLWgIBfgF/AkACQAJAIAEQ5YCAgAAiAkICELmAgIAADQBBACEBDAELIAJCAhCAgICAACICQv8Bg0IEUg0BIAJCIIinIQNBASEBCyAAIAM2AgQgACABNgIADwsAC4wBAQJ/I4CAgIAAQSBrIgEkgICAgAAgARC2gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQt4CAgAALIAFBCDYCACABIAA3AwgCQCABEN6AgIAAIgJFDQAgAUEUahDOgICAACABKAIUQQFHDQAgASABKAIYIAEoAhwQz4CAgAALIAFBIGokgICAgAAgAgsSACAAEOWAgIAAQgEQuYCAgAALdQIBfwF+I4CAgIAAQSBrIgAkgICAgAAgAEEQahC2gICAAAJAIAAoAhBBAUcNACAAKAIUIAAoAhgQt4CAgAALIABBAzYCECAAIABBEGoQ2ICAgAAgACkDCCEBIAApAwBBwQkQ2YCAgAAgAEEgaiSAgICAACABC3UCAX8BfiOAgICAAEEgayIAJICAgIAAIABBEGoQtoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELeAgIAACyAAQQE2AhAgACAAQRBqENiAgIAAIAApAwghASAAKQMAQbUJENmAgIAAIABBIGokgICAgAAgAQuMAQECfyOAgICAAEEgayIBJICAgIAAIAEQtoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELeAgIAACyABQQc2AgAgASAANwMIAkAgARDegICAACICRQ0AIAFBFGoQzoCAgAAgASgCFEEBRw0AIAEgASgCGCABKAIcEM+AgIAACyABQSBqJICAgIAAIAILdwEDfyOAgICAAEEgayIAJICAgIAAIABBEGoQtoCAgAACQCAAKAIQQQFHDQAgACgCFCAAKAIYELeAgIAACyAAQQQ2AhAgAEEIaiAAQRBqENyAgIAAIAAoAgghASAAKAIMIQIgAEEgaiSAgICAACACQQAgAUEBcRsLXQEBfyOAgICAAEEQayIBJICAgIAAIAFBBGoQtoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMELeAgIAACxDVgICAACAAEImAgIAAIQAgAUEQaiSAgICAACAAQgJSC48BAgJ/AX4jgICAgABBEGsiACSAgICAACAAELaAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC3gICAAAtBACEBIABBADYCAAJAIAAQ5YCAgAAiAkICELmAgIAARQ0AQQEhAQJAAkAgAkICEICAgIAAp0H/AXEOAgECAAsAC0EAIQELIABBEGokgICAgAAgAQumBAIBfwF+I4CAgIAAQRBrIgEkgICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAAoAgAOCwABAgMEBQYHCAkKAAsgAUH4icCAAEEGEMeAgIAAIAEoAgANCyABIAEpAwgQyICAgAAMCgsgAUH+icCAAEEOEMeAgIAAIAEoAgANCiABIAEpAwgQyICAgAAMCQsgAUGMisCAAEEJEMeAgIAAIAEoAgANCSABIAEpAwgQyICAgAAMCAsgAUGVisCAAEEMEMeAgIAAIAEoAgANCCABIAEpAwgQyICA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yABSDQAgARCEgICAAEKAgICAcINCgICAgIAEUg0AIAAgATcDCEIAIQILIAAgAjcDAAtdAgF/AX4CQAJAIAGnQf8BcSICQcAARg0AAkAgAkEGRg0AQgEhA0KDkICAgAEhAQwCCyABQgiIIQFCACEDDAELQgAhAyABEI+AgIAAIQELIAAgAzcDACAAIAE3AwgLSgIBfgF/QgIhAgJAIAEoAggiAyABKAIMTw0AIAAgASkDACADrUIghkIEhBCDgICAADcDCCABIANBAWo2AghCACECCyAAIAI3AwALHAAgACABrUIghkIEhCACrUIghkIEhBCkgICAAAsZAAJAIAEgAEkNACABIABrDwsQtICAgAAAC4wBAgF/AX4jgICAgABBEGsiACSAgICAACAAELaAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBC3gICAAAsgAEEANgIAAkACQCAAELGAgIAAIgFCAhC5gICAAEUNACABQgIQgICAgAAiAUL/AYNCBFENAQALEMWAgIAAAAsgAEEQaiSAgICAACABQiCIpwvTAQICfwN+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUHwgsCAAEEDIAJBCGpBAxDpgICAACACKQMIIgFC/wGDQssAUg0AIAIpAxAiBUL/AYNCzQBSDQACQCACKQMYIganQf8BcSIDQcoARg0AIANBDkcNAQsgACABNwMYIAAgBjcDECAAIAU3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAu+AQICfwF+I4CAgIAAQSBrIgIkgICAgABBACEDAkADQCADQRBGDQEgAiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUGYg8CAAEECIAJBAhDpgICAACACQRBqIAIpAwAQx4GAgAAgAigCEA0AIAIpAxghASACQRBqIAIpAwgQ7oCAgAAgAigCEA0AIAAgAikDGDcDECAAIAE3AwhCACEECyAAIAQ3AwAgAkEgaiSAgICAAAvgAQICfwJ+I4CAgIAAQTBrIgIkgICAgABBACEDAkADQCADQRhGDQEgAkEIaiADakICNwMAIANBCGohAwwACwtCASEEAkAgAUL/AYNCzABSDQAgAUG4g8CAAEEDIAJBCGpBAxDpgICAACACKQMIIgFC/wGDQssAUg0AIAJBIGogAikDEBDHgYCAACACKAIgDQAgAikDKCEFIAJBIGogAikDGBDugICAACACKAIgDQAgAikDKCEEIAAgATcDGCAAIAQ3AxAgACAFNwMIQgAhBAsgACAENwMAIAJBMGokgICAgAALlgECAX4CfyAAKQMAIQEDQAJAIAFQRQ0AQYCAxAAPCwJAAkAgAUIwiKdBP3EiAkEBRw0AQd8AIQIMAQsCQAJAAkAgAkF/akELTw0AQS4hAwwBCwJAIAJBdGpBGk8NAEE1IQMMAQsgAkElTQ0BQTshAwsgAiADaiECDAELIAAgAUIGhiIBNwMADAELCyAAIAFCBoY3AwAgAgsaACAArUIghkIEhCABrUIghkIEhBChgICAAAujAgIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAxC2gICAAAJAIAMoAgBBAUcNACADKAIEIAMoAggQt4CAgAALEJyAgIAAIQQgAyAAQRh0IABBgP4DcUEIdHIgAEEIdkGA/gNxIABBGHZycjYCACAEIAQQhICAgABCgICAgHCDQgSEIANBBBCjgYCAACEEIAMgAUI4hiABQoD+A4NCKIaEIAFCgID8B4NCGIYgAUKAgID4D4NCCIaEhCABQgiIQoCAgPgPgyABQhiIQoCA/AeDhCABQiiIQoD+A4MgAUI4iISEhDcDACAEIAQQhICAgABCgICAgHCDQgSEIANBCBCjgYCAACACEJ2AgIAAEJOAgIAAEIiAgIAAIQEgA0EQaiSAgICAACABC50CAgJ/AX4jgICAgABBEGsiASSAgICAAAJAAkBBASAAp0H/AXEiAkEAR0EBdCACQQFGGyICQQJGDQAgARC2gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQt4CAgAALELqAgIAAIQAQ5ICAgAAgAnNBAXFFDQEgAUEANgIAIAEgAkICEPuAgIAAAkACQCACQQFxDQBCjtKq3O6sz/UAENCAgIAAIQMgASAANwMAIANB9IbAgABBASABQQEQ0YCAgAAQjICAgAAaDAELQo7SqtzurAMQ0ICAgAAhAyABIAA3AwAgA0HkhsCAAEEBIAFBARDRgICAABCMgICAABoLIAFBEGokgICAgABCAg8LAAtCg4CAgMCXARDEgICAAAALGgAgABDlgICAACABrUL/AYMgAhCWgICAABoLjQEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBBGoQtoCAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELeAgIAACxC6gICAABogACADQQFxENSAgIAAIAJBEGokgICAgABCAg8LAAujAwEDfyOAgICAAEEgayICJICAgIAAAkACQAJAAkAgAEL/AYNCzQBSDQBBASABp0H/AXEiA0EAR0EBdCADQQFGGyIDQQJGDQAgAkEQahC2gICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQt4CAgAALELqAgIAAGiAAEOGAgIAAIQQCQAJAIANBAXENACAERQ0DIAJBBzYCECACIAA3AxggAkEQahDlgICAAEIBEJeAgIAAGhDbgICAACIERQ0FIARBf2ohBAwBCyAEDQMgAkEHNgIQIAIgADcDGCACQRBqEP6AgIAAIAJBBGoQzoCAgAACQCACKAIEQQFHDQAgAkEQaiACKAIIIAIoAgwQz4CAgAALENuAgIAAQQFqIgRFDQQLIAQQ/4CAgABBkIbAgABBDRDWgICAABDQgICAACEBIAIgADcDGCACIAOtNwMQIAFBqIbAgABBAiACQRBqQQIQ0YCAgAAQjICAgAAaIAJBIGokgICAgABCAg8LAAtCg4CAgKCXARDEgICAAAALQoOAgICglgEQxICAgAAACxC0gICAAAALDgAgAEEBQgEQ+4CAgAALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBCTYCACABIAAQzIGAgAAgAUEQaiSAgICAAAvuAgEDfyOAgICAAEEgayICJICAgIAAAkACQAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBEGoQtoCAgAACQCACKAIQQQFHDQAgAigCFCACKAIYELeAgIAACxC6gICAABogABDdgICAACEEAkACQCADQQFxDQAgBEUNAyACQQg2AhAgAiAANwMYIAJBEGoQ5YCAgABCARCXgICAABoMAQsgBA0DIAJBCDYCECACIAA3AxggAkEQahD+gICAACACQQRqEM6AgIAAIAIoAgRBAUcNACACQRBqIAIoAgggAigCDBDPgICAAAtBuIbAgABBDBDWgICAABDQgICAACEBIAIgADcDGCACIAOtNwMQIAFBzIbAgABBAiACQRBqQQIQ0YCAgAAQjICAgAAaIAJBIGokgICAgABCAg8LAAtCg4CAgLCXARDEgICAAAALQoOAgICwlgEQxICAgAAAC3oBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQgRSDQAgAkEEahC2gICAAAJAIAIoAgRBAUcNACACKAIIIAIoAgwQt4CAgAALIAAQ0oCAgAAgAUIgiKcQgoGAgAAgAkEQaiSAgICAAEICDwsAC3ICAX8BfiOAgICAAEEQayIBJICAgIAAIAFBBDYCACABIAAQzIGAgABB/IbAgABBGhDWgICAABDQgICAACECIAEgAK1CIIZCBIQ3AwAgAkGkh8CAAEEBIAFBARDRgICAABCMgICAABogAUEQaiSAgICAAAusAQEBfyOAgICAAEEQayICJICAgIAAAkAgAEL/AYNCzQBSDQAgAUL/AYNCzQBSDQAgAhC2gICAAAJAIAIoAgBBAUcNACACKAIEIAIoAggQt4CAgAALIAAQ0oCAgAAgARCEgYCAAEGsh8CAAEETENaAgIAAENCAgIAAIQAgAiABNwMAIABB0IfAgABBASACQQEQ0YCAgAAQjICAgAAaIAJBEGokgICAgABCAg8LAAsxAQF/I4CAgIAAQRBrIgEkgICAgAAgAUEBNgIAIAEgABDNgYCAACABQRBqJICAgIAAC5cCAQF/I4CAgIAAQSBrIgMkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJC/wGDQsgAUg0AIANBEGoQtoCAgAACQCADKAIQQQFHDQAgAygCFCADKAIYELeAgIAACyAAENKAgIAAIANBBTYCECADIAFCIIg+AhQgA0EQahDlgICAACACQgEQloCAgAAaIANBBGoQzoCAgAACQCADKAIEQQFHDQAgA0EQaiADKAIIIAMoAgwQz4CAgAALQfiHwIAAQRoQ1oCAgAAQ0ICAgAAhACADIAI3AxggAyABQoSAgIBwgzcDECAAQaiIwIAAQQIgA0EQakECENGAgIAAEIyAgIAAGiADQSBqJICAgIAAQgIPCwALrAEBAX8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AIAIQtoCAgAACQCACKAIAQQFHDQAgAigCBCACKAIIELeAgIAACyAAENKAgIAAIAEQh4GAgABBuIjAgABBEhDWgICAABDQgICAACEAIAIgATcDACAAQdSIwIAAQQEgAkEBENGAgIAAEIyAgIAAGiACQRBqJICAgIAAQgIPCwALMQEBfyOAgICAAEEQayIBJICAgIAAIAFBAzYCACABIAAQzYGAgAAgAUEQaiSAgICAAAt/AQF/I4CAgIAAQRBrIgIkgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQQRqELaAgIAAAkAgAigCBEEBRw0AIAIoAgggAigCDBC3gICAAAsgABDSgICAACABEImBgIAAIAEQioGAgAAgAkEQaiSAgICAAEICDwsACzEBAX8jgICAgABBEGsiASSAgICAACABQQI2AgAgASAAEM2BgIAAIAFBEGokgICAgAALXQIBfwF+I4CAgIAAQRBrIgEkgICAgABB2IfAgABBDhDWgICAABDQgICAACECIAEgADcDCCACQfCHwIAAQQEgAUEIakEBENGAgIAAEIyAgIAAGiABQRBqJICAgIAACxsAAkAgAEL/AYNCzQBRDQAACyAAENOAgIAArQsIABDLgICAAAsJABDkgICAAK0LGwACQCAAQv8Bg0LNAFENAAALIAAQ44CAgACtCwgAENWAgIAACxsAAkAgAEL/AYNCzQBRDQAACyAAEOGAgIAArQsbAAJAIABC/wGDQs0AUQ0AAAsgABDdgICAAK0LGwACQCAAQv8Bg0LNAFENAAALIAAQ5oCAgACtCw8AENuAgIAArUIghkIEhAsPABDigICAAK1CIIZCBIQLCAAQ4ICAgAALCAAQ14CAgAALyAECAn8BfiOAgICAAEEgayIBJICAgIAAAkAgAEL/AYNCBFINACAAQiCIpyECIAEQtoCAgAACQCABKAIAQQFHDQAgASgCBCABKAIIELeAgIAACyABQQU2AgAgASACNgIEQgIhAAJAIAEQ5YCAgAAiA0IBELmAgIAARQ0AIANCARCAgICAACIAQv8Bg0LIAFINASABQRRqEM6AgIAAIAEoAhRBAUcNACABIAEoAhggASgCHBDPgICAAAsgAUEgaiSAgICAACAADwsACwgAEN+AgIAAC80BAQF/I4CAgIAAQSBrIgckgICAgAACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANC/wGDQsgAUg0AIAdBEGogBBDugICAACAHKAIQQQFGDQAgB0EQaiAFEO+AgIAAIAcoAhBBAUYNACAGQv8Bg0LIAFINACAHIAEgAkIgiKcgBykDGCAGEJqBgIAAIAdBEGogBykDACAHKQMIEJuBgIAAIAcoAhBBAUYNACAHKQMYIQEgB0EgaiSAgICAACABDwsAC6YFBAF/Bn4CfwJ+I4CAgIAAQeAAayIFJICAgIAAIAUQtoCAgAACQCAFKAIAQQFHDQAgBSgCBCAFKAIIELeAgIAACwJAEOSAgIAADQACQCABEOaAgIAARQ0AIAUgAhCdgYCAAAJAAkAgBSgCAEEBcUUNACAFKQMoIQYgBSkDICEHIAUpAxghCCAFKQMQIQkgBTUCMCEKENeAgIAAIQsQ4oCAgAAhDBDGgICAACENEN+AgIAAIQ4QkYCAgAAhDwJAAkAgA0L//////////wBWDQAgA0IIhkIGhCEDDAELIAMQmICAgAAhAwsgBUHQAGogByAGEOyAgIAAIAUoAlANASAFKQNYIQYgBUHQAGogCSAIEOyAgIAAIAUoAlBBAUYNASAFKQNYIQcgBSABNwNIIAUgCzcDOCAFIAQ3AzAgBSAHNwMgIAUgBjcDGCAFIAKtQiCGQgSENwMQIAUgDK1CIIZCBIQ3AwggBSADNwMAIAUgCkIghkIEhDcDKCAFIA2tQiCGQgSENwNAIAVBqInAgABBCiAFQQoQ0YCAgAA3A1ggBSAPNwNQQQAhAgNAAkAgAkEQRw0AQQAhAgJAA0AgAkEQRg0BIAUgAmogBUHQAGogAmopAwA3AwAgAkEIaiECDAALCwJAAkAgDkKO1Oq1kNeyASAFQQIQnoGAgAAQmYCAgAAiA6dB/wFxIgJBxQBGDQACQCACQQtHDQAgA0I/hyEBIANCCIchAwwCCxC0gICAAAALIAMQmoCAgAAhASADEJuAgIAAIQMLIAAgAzcDACAAIAE3AwggBUHgAGokgICAgAAPCyAFIAJqQgI3AwAgAkEIaiECDAALC0KDgICAIBDEgICAAAsAC0KDgICAkJcBEMSAgIAAAAtCg4CAgKCYARDEgICAAAALWwACQAJAIAFCgICAgICAgMAAfEL//////////wBWDQAgASABhSACIAFCP4eFhEIAUg0AIAFCCIZCC4QhAQwBCyACIAEQpYCAgAAhAQsgAEIANwMAIAAgATcDCAvHAgEBfyOAgICAAEHAAGsiBySAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0LNAFINACACQv8Bg0IEUg0AIANC/wGDQsgAUg0AIAcgBBDugICAACAHKAIAQQFGDQAgByAFEO+AgIAAIAcoAgBBAUYNACAGQv8Bg0LIAFINACAHKQMIIQMgBxC2gICAAAJAIAcoAgBBAUcNACAHKAIEIAcoAggQt4CAgAALIAAQgYCAgAAaIAAQ44CAgABFDQEgByABIAJCIIinIAMgBhCagYCAABDggICAACEAIAdBMGogBykDACAHKQMIEJuBgIAAIAcoAjBBAUcNAgsAC0KDgICAgJgBEMSAgIAAAAsgBykDOCEBIAcgADcDKCAHIAE3AyBBtILAgABBAiAHQSBqQQIQ0YCAgAAhACAHQcAAaiSAgICAACAAC/QBAgF/AX4jgICAgABB0ABrIgIkgICAgAAgAkEQahC2gICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQt4CAgAALIAJBATYCACACIAE2AgQCQAJAAkAgAhCxgICAACIDQgEQuYCAgABFDQAgAkEQaiADQgEQgICAgAAQ6ICAgAAgAigCEEEBcUUNAQALIABCADcDCCAAQgA3AwAMAQsgAEEQaiACQRBqQRBqQTAQz4GAgAAaIABCADcDCCAAQgE3AwAgAkEQahDOgICAACACKAIQQQFHDQAgAiACKAIUIAIoAhgQsICAgAALIAJB0ABqJICAgIAACxoAIACtQiCGQgSEIAGtQiCGQgSEEKOAgIAAC/YEBQF/AX4BfwF+An8jgICAgABB4AFrIgIkgICAgAACQAJAIABC/wGDQs0AUg0AIAFC/wGDQssAUg0AIAJB8ABqELaAgIAAAkAgAigCcEEBRw0AIAIoAnQgAigCeBC3gICAAAsgABDSgICAACABEIKAgIAAQiCIIQMgAkHwAGpBEGohBEIAIQACQANAIAAgA1ENASABIABCIIZCBIQQg4CAgAAhBUEAIQYCQANAIAZBEEYNASACQeAAaiAGakICNwMAIAZBCGohBgwACwsCQAJAIAVC/wGDQswAUg0A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CyACIAAQi4CAgAAQvIGAgAAgAEEBEL2BgIAAIAFBMGokgICAgAALuAECAX8CfiOAgICAAEEQayIBJICAgIAAAkACQCAARQ0AIAAQv4CAgAAQgoCAgABCIIinSw0BQQEQp4GAgAAgAK1CIIZCBIQiAkICEJaAgIAAGkGAhMCAAEENENaAgIAAENCAgIAAIQMgASACNwMIIANBmITAgABBASABQQhqQQEQ0YCAgAAQjICAgAAaIAFBEGokgICAgAAPC0KDgICAsIUBEMSAgIAAAAtCg4CAgJCFARDEgICAAAALmgEBAn8jgICAgABBEGsiAySAgICAAAJAIABC/wGDQs0AUg0AIAFC/wGDQs0AUg0AQQEgAqdB/wFxIgRBAEdBAXQgBEEBRhsiBEECRg0AIANBBGoQtoCAgAACQCADKAIEQQFHDQAgAygCCCADKAIMELeAgIAACyAAENKAgIAAIAEgBEEBcRDKgICAACADQRBqJICAgIAAQgIPCwALjQEBAn8jgICAgABBEGsiAiSAgICAAAJAIABC/wGDQs0AUg0AQQEgAadB/wFxIgNBAEdBAXQgA0EBRhsiA0ECRg0AIAJBBGoQtoCAgAACQCACKAIEQQFHDQAgAigCCCACKAIMELeAgIAACxC6gICAABogACADQQFxEMqAgIAAIAJBEGokgICAgABCAg8LAAt/AQF/I4CAgIAAQRBrIgEkgICAgAAgASAAEO6AgIAAAkAgASgCAEEBRg0AIAEpAwghABC6gICAABogARC2gICAAAJAIAEoAgBBAUcNACABKAIEIAEoAggQt4CAgAALQQEQroGAgAAgABCegICAABogAUEQaiSAgICAAEICDwsACxgAELCBgIAAIACtQv8Bg0ICEJaAgIAAGgulAQEBfyOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCAlINABC6gICAABogAUEEahC2gICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQt4CAgAALAkACQBCwgYCAACIAQgIQuYCAgABFDQAgAEICEICAgIAAp0H/AXEOAgABAgtCg4CAgKCDARDEgICAAAALQQAQroGAgAAgAUEQaiSAgICAAEICDwsAC2ACAX8BfiOAgICAAEEQayIAJICAgIAAIABBqoXAgABBCRDHgICAAAJAAkAgACgCAA0AIAAgACkDCBDIgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQsIABC7gICAAAuHBQEFfyOAgICAAEHQAGsiAiSAgICAACACQShqIAAQs4GAgAACQAJAIAIoAihBAkYNACACQQhqQQhqIAJBKGpBCGoiAygCADYCACACIAIpAig3AwggAkEoaiABELOBgIAAIAIoAihBAkYNACACQRhqQQhqIAMoAgA2AgAgAiACKQIoNwMYIAJBKGoQtoCAgAACQCACKAIoQQFHDQAgAigCLCACKAIwELeAgIAACxC6gICAABoCQAJAAkAQtYCAgAANABCfgICAACEAEKCAgIAAQiCIIgEgAEIgiCIAVA0EIAGnIACnayIDQYD7gAMgA0GA+4ADSRshBCACIAJBGGo2AiwgAiACQQhqNgIoQQAhAwNAIANBCEYNAwJAIAJBKGogA2ooAgAiBSgCAEEBcUUNACAFKAIIIgYgBEsNAyAFKAIEIAZLDQMLIANBBGohAwwACwtCg4CAgND/ABDEgICAAAALQoOAgIDA/wAQxICAgAAACwJAAkAgAigCCEEBRw0AIAIoAgwgAigCEBClgYCAAAwBC0EBELiAgIAAQgIQl4CAgAAaCwJAAkAgAigCGEEBRw0AIAIoAhwgAigCIBCmgYCAAAwBC0ECELiAgIAAQgIQl4CAgAAaCyACQShqQQhqIAJBCGpBCGooAgA2AgAgAkE8aiACQRhqQQhqKAIANgIAIAIgAikDCDcDKCACIAIpAxg3AjRBzITAgABBDxDWgICAABDQgICAACEAIAJBKGoQtIGAgAAhASACIAJBNGoQtIGAgAA3A0ggAiABNwNAIABB8ITAgABBAiACQcAAakECENGAgIAAEIyAgIAAGiACQdAAaiSAgICAAEICDwsACxC0gICAAAALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABEMiBgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALQwIBfwF+I4CAgIAAQRBrIgEkgICAgAAgASAAELaBgIAAAkAgASgCAEEBRw0AAAsgASkDCCECIAFBEGokgICAgAAgAgvCAQICfwF+I4CAgIAAQcAAayIAJICAgIAAIABBCGoQtoCAgAACQCAAKAIIQQFHDQAgACgCDCAAKAIQELeAgIAACyAAQQhqELaAgIAAIABBFGoiARDOgICAACAAQTBqIABBCGoQtoGAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABELaBgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhCegYCAACECIABBwABqJICAgIAAIAILMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQyYGAgAAPCyAAQgA3AwAgAEICNwMIC6sBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahC2gICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQt4CAgAALELqAgIAAGgJAELWAgIAARQ0AQoOAgIDg/wAQxICAgAAAC0EAELiAgIAAQgFCAhCWgICAABpBgIXAgABBEhDWgICAABDQgICAAEEEQQAgAEEYakEAENGAgIAAEIyAgIAAGiAAQSBqJICAgIAAQgILCQAQtYCAgACtCzEAAkAgAEL/AYNCBFINACABQv8Bg0IEUg0AIABCIIinIAFCIIinELeAgIAAQgIPCwAL3AICAn8BfiOAgICAAEEgayICJICAgIAAIAJBEGogABC7gYCAAAJAAkACQAJAIAIoAhBBAUYNAEEBIAGnQf8BcSIDQQBHQQF0IANBAUYbIgNBAkYNACACKQMYIQAgAkEQahC2gICAAAJAIAIoAhBBAUcNACACKAIUIAIoAhgQt4CAgAALELqAgIAAGgJAAkAgA0EBcQ0AIAJBCGoQv4CAgAAiASAAEImAgIAAEMyAgIAAIAIoAggiA0ECRg0DIANFDQQCQCACKAIMIgMgARCCgICAAEIgiKdPDQAgASADrUIghkIEhBCKgICAACEBCyABEIKAgIAAIQQQvYCAgAAgBEIgiKdLDQUgARC8gYCAACAAQQAQvYGAgAAMAQsgABCpgYCAAAsgAkEgaiSAgICAAEICDwsACxC0gICAAAALQoOAgICAhQEQxICAgAAAC0KDgICAkIUBEMSAgIAAAAsjAAJAIAFC/wGDQsgAUQ0AIABCATcDAA8LIAAgARDAgICAAAtbAQF/I4CAgIAAQRBrIgEkgICAgABBABCngYCAACAAQgEQloCAgAAaIAFBBGoQzoCAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEKiBgIAACyABQRBqJICAgIAAC9ABAwF/AX4BfyOAgICAAEEgayICJICAgIAAQeyDwIAAQQoQ1oCAgAAhAyACIAA3AwggAiADNwMAQQAhBANAAkAgBEEQRw0AQQAhBAJAA0AgBEEQRg0BIAJBEGogBGogAiAEaikDADcDACAEQQhqIQQMAAsLIAJBEGpBAhCegYCAACEAIAIgAa1C/wGDNwMQIABB+IPAgABBASACQRBqQQEQ0YCAgAAQjICAgAAaIAJBIGokgICAgAAPCyACQRBqIARqQgI3AwAgBEEIaiEEDAALC20BAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgRSDQAgAUEEahC2gICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQt4CAgAALELqAgIAAGiAAQiCIpxCqgYCAACABQRBqJICAgIAAQgIPCwALVAIBfwF+I4CAgIAAQRBrIgAkgICAgAAgAEEEahC2gICAAAJAIAAoAgRBAUcNACAAKAIIIAAoAgwQt4CAgAALEL+AgIAAIQEgAEEQaiSAgICAACABC2QCAX8BfiOAgICAAEEQayIAJICAgIAAIABBBGoQtoCAgAACQCAAKAIEQQFHDQAgACgCCCAAKAIMELeAgIAACxC/gICAABCCgICAACEBIABBEGokgICAgAAgAUKAgICAcINCBIQL3AECAX8CfiOAgICAAEEwayIBJICAgIAAIAFBIGogABC7gYCAAAJAIAEoAiBBAUYNACABKQMoIQIgAUEgahC2gICAAAJAIAEoAiBBAUcNACABKAIkIAEoAigQt4CAgAALEL+AgIAAIgAQgoCAgAAhAyABQQA2AgggASAANwMAIAEgA0IgiD4CDAJAA0AgAUEgaiABEMKAgIAAIAFBEGogASkDICABKQMoELOAgIAAIAEpAxAiAKdBAUcNASABKQMYIAIQw4CAgABFDQALCyABQTBqJICAgIAAIAAPCwALDwAQxoCAgACtQiCGQgSEC1QBAX8jgICAgABBEGsiAiSAgICAACACIAAQ7oCAgAACQCACKAIAQQFGDQAgAUL/AYNCywBSDQAgAikDCCABELyAgIAAIAJBEGokgICAgABCAg8LAAtlAQF/I4CAgIAAQRBrIgMkgICAgAAgAyAAEO6AgIAAAkAgAygCAEEBRg0A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bmZpZ3Nfc2V0aW5zdGFuY2VwZXJzaXN0ZW50AAAAWwIQAAgAAABjAhAACgAAAHR0bF9jb25maWdzX2Zyb3plbkZyb3plbkluc3RhbmNlUGVyc2lzdGVudE1pZ3JhdGluZ2FjdGl2ZWFkbWluAACzAhAABgAAALkCEAAFAAAAc2V0X3N1cHBvcnRlZF9tZXNzYWdlX2xpYm1lc3NhZ2VfbGlic3VwcG9ydGVkAAAA6QIQAAsAAAD0AhAACQAAAHNldF9hbGxvd2xpc3RhbGxvd2Vkb2FwcB0DEAAHAAAAJAMQAAQAAABzZXRfZGVueWxpc3RkZW5pZWQAAEQDEAAGAAAAJAMQAAQAAABwYXVzZXIAAFwDEAAGAAAAdW5wYXVzZXJsAxAACAAAAHNldF9kZWZhdWx0X211bHRpcGxpZXJfYnBzbXVsdGlwbGllcl9icHOWAxAADgAAAHNldF9kZXBvc2l0X2FkZHJlc3NkZXBvc2l0X2FkZHJlc3MAAL8DEAAPAAAAc2V0X3ByaWNlX2ZlZWRwcmljZV9mZWVk5gMQAAoAAABzZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlc2RzdF9laWRvcHRpb25fdHlwZXMAAAASBBAABwAAABkEEAAMAAAAc2V0X3dvcmtlcl9mZWVfbGliZmVlX2xpYgAAAEoEEAAHAAAAY29uZmlybWF0aW9uc2RlZmF1bHRfbXVsdGlwbGllcl9icHNmbG9vcl9tYXJnaW5fdXNkZ2Fzb3B0aW9uc3F1b3J1bXNlbmRlcgAAAFwEEAANAAAAaQQQABYAAAASBBAABwAAAH8EEAAQAAAAjwQQAAMAAACWAxAADgAAAJIEEAAHAAAA5gMQAAoAAACZBBAABgAAAJ8EEAAGAAAAUGF1c2VkRGVwb3NpdEFkZHJlc3NQcmljZUZlZWRXb3JrZXJGZWVMaWJEZWZhdWx0TXVsdGlwbGllckJwc1N1cHBvcnRlZE9wdGlvblR5cGVzTWVzc2FnZUxpYnNBbGxvd2xpc3REZW55bGlzdEFsbG93bGlzdFNpemVBZG1pbnMAk+4BDmNvbnRyYWN0c3BlY3YwAAAABAAAAAAAAAAAAAAACER2bkVycm9yAAAABwAAAAAAAAAPQXV0aERhdGFFeHBpcmVkAAAAAAEAAAAAAAAAD0VpZE5vdFN1cHBvcnRlZAAAAAACAAAAAAAAAA9IYXNoQWxyZWFkeVVzZWQAAAAAAwAAAAAAAAARSW52YWxpZEludm9jYXRpb24AAAAAAAAEAAAAAAAAAApJbnZhbGlkVmlkAAAAAAAFAAAAAAAAABFOb25Db250cmFjdEludm9rZQAAAAAAAAYAAAAAAAAACU9ubHlBZG1pbgAAAAAAAAcAAAAFAAAAAAAAAAAAAAAMU2V0RHN0Q29uZmlnAAAAAQAAAA5zZXRfZHN0X2NvbmZpZwAAAAAAAQAAAAAAAAAGcGFyYW1zAAAAAAPqAAAH0AAAAA5Ec3RDb25maWdQYXJhbQAAAAAAAAAAAAIAAAABAAAAckNvbmZpZ3VyYXRpb24gZm9yIGEgZGVzdGluYXRpb24gY2hhaW4uCgpDb250YWlucyBmZWUgY2FsY3VsYXRpb24gcGFyYW1ldGVycyBzcGVjaWZpYyB0byBlYWNoIGRlc3RpbmF0aW9uIGVuZHBvaW50LgAAAAAAAAAAAAlEc3RDb25maWcAAAAAAAADAAAAO01pbmltdW0gZmVlIG1hcmdpbiBpbiBVU0QgKHNjYWxlZCBieSBuYXRpdmUgZGVjaW1hbHMgcmF0ZSkuAAAAABBmbG9vcl9tYXJnaW5fdXNkAAAACgAAAC5HYXMgZm9yIHZlcmlmaWNhdGlvbiBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uAAAAAAADZ2FzAAAAAAoAAABnRmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDEwMCUpLgpJZiAwLCB0aGUgZGVmYXVsdCBtdWx0aXBsaWVyIGZyb20gd29ya2VyIGNvbmZpZyBpcyB1c2VkLgAAAAAObXVsdGlwbGllcl9icHMAAAAAAAQAAAABAAAANlBhcmFtZXRlciBmb3Igc2V0dGluZyBkZXN0aW5hdGlvbiBjaGFpbiBjb25maWd1cmF0aW9uLgAAAAAAAAAAAA5Ec3RDb25maWdQYXJhbQAAAAAAAgAAACdUaGUgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBkZXN0aW5hdGlvbi4AAAAABmNvbmZpZwAAAAAH0AAAAAlEc3RDb25maWcAAAAAAAAcVGhlIGRlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAABAAAAiVJlcHJlc2VudHMgYSBzaW5nbGUgY29udHJhY3QgaW52b2NhdGlvbiBmb3IgbXVsdGlzaWcgYXV0aG9yaXphdGlvbi4KClVzZWQgaW4gYGhhc2hfY2FsbF9kYXRhYCB0byBjb21wdXRlIHRoZSBoYXNoIHRoYXQgc2lnbmVycyBzaWduIG92ZXIuAAAAAAAAAAAAAARDYWxsAAAAAwAAABNGdW5jdGlvbiBhcmd1bWVudHMuAAAAAARhcmdzAAAD6gAAAAAAAAAYRnVuY3Rpb24gbmFtZSB0byBpbnZva2UuAAAABGZ1bmMAAAARAAAAGFRhcmdldCBjb250cmFjdCBhZGRyZXNzLgAAAAJ0bwAAAAAAEwAAAAAAAAA0VmFsaWRhdGVzIGF1dGhvcml6YXRpb24gZm9yIERWTiBjb250cmFjdCBvcGVyYXRpb25zLgAAAAxfX2NoZWNrX2F1dGgAAAADAAAAAAAAABFzaWduYXR1cmVfcGF5bG9hZAAAAAAAA+4AAAAgAAAAAAAAAAlhdXRoX2RhdGEAAAAAAAfQAAAAE1RyYW5zYWN0aW9uQXV0aERhdGEAAAAAAAAAAA1hdXRoX2NvbnRleHRzAAAAAAAD6gAAB9AAAAAHQ29udGV4dAAAAAABAAAD6QAAA+0AAAAAAAAAAwAAAAEAAADHQXV0aGVudGljYXRpb24gZGF0YSBmb3IgRFZOIGNvbnRyYWN0IHRyYW5zYWN0aW9ucy4KClRoaXMgc3RydWN0IGlzIHVzZWQgd2l0aCBTb3JvYmFuJ3MgY3VzdG9tIGFjY291bnQgaW50ZXJmYWNlIHRvIGF1dGhvcml6ZQp0cmFuc2FjdGlvbnMgdGhyb3VnaCBhIGNvbWJpbmF0aW9uIG9mIGFkbWluIHNpZ25hdHVyZSBhbmQgbXVsdGlzaWcgcXVvcnVtLgAAAAAAAAAAE1RyYW5zYWN0aW9uQXV0aERhdGEAAAAABAAAAERFeHBpcmF0aW9uIHRpbWVzdGFtcCAobGVkZ2VyIHRpbWUpIGFmdGVyIHdoaWNoIHRoaXMgYXV0aCBpcyBpbnZhbGlkLgAAAApleHBpcmF0aW9uAAAAAAAGAAAAPUVudGl0eSBzdWJtaXR0aW5nIHRoZSB0cmFuc2FjdGlvbiAoYWRtaW4sIG9yIHBlcm1pc3Npb25sZXNzKS4AAAAAAAAGc2VuZGVyAAAAAAfQAAAABlNlbmRlcgAAAAAAPFNpZ25hdHVyZXMgZnJvbSBtdWx0aXNpZyBzaWduZXJzIChzZWNwMjU2azEsIDY1IGJ5dGVzIGVhY2gpLgAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAyVmVyaWZpZXIgSUQgLSBtdXN0IG1hdGNoIHRoZSBEVk4ncyBjb25maWd1cmVkIFZJRC4AAAAAAAN2aWQAAAAABAAAAAIAAAAAAAAAAAAAAAZTZW5kZXIAAAAAAAIAAAAAAAAALk5vIGV4cGxpY2l0IHNlbmRlciAocGVybWlzc2lvbmxlc3MgZXhlY3V0aW9uKS4AAAAAAAROb25lAAAAAQAAAI9BIHJlZ2lzdGVyZWQgYWRtaW4gKGVkMjU1MTkpIHN1Ym1pdHRpbmcgdGhlIHRyYW5zYWN0aW9uLgpUaGUgdHVwbGUgaXMgYChwdWJsaWNfa2V5LCBzaWduYXR1cmUpYCB3aGVyZSB0aGUgc2lnbmF0dXJlIGNvdmVycyB0aGUgU29yb2JhbiBwYXlsb2FkLgAAAAAFQWRtaW4AAAAAAAACAAAD7gAAACAAAAPuAAAAQAAAAAAAAADkU2V0cyB0aGUgcGF1c2VkIHN0YXRlIG9mIHRoZSB3b3JrZXIuCgpXaGVuIHBhdXNlZCwgdGhlIHdvcmtlciB3aWxsIHJlamVjdCBuZXcgam9iIGFzc2lnbm1lbnRzIChlLmcuLCBhc3NpZ25fam9iLCBnZXRfZmVlKS4KRXhpc3Rpbmcgam9icyBpbiBwcm9ncmVzcyBhcmUgbm90IGFmZmVjdGVkLgoKIyBBcmd1bWVudHMKKiBgcGF1c2VkYCAtIGB0cnVlYCB0byBwYXVzZSwgYGZhbHNlYCB0byB1bnBhdXNlAAAACnNldF9wYXVzZWQAAAAAAAEAAAAAAAAABnBhdXNlZAAAAAAAAQAAAAAAAAAAAAABN1NldHMgd2hldGhlciBhIG1lc3NhZ2UgbGlicmFyeSBpcyBzdXBwb3J0ZWQgYnkgdGhpcyB3b3JrZXIuCgpNZXNzYWdlIGxpYnJhcmllcyAoZS5nLiwgVUxOMzAyKSBjYWxsIHdvcmtlcnMgdG8gYXNzaWduIGpvYnMuIE9ubHkgc3VwcG9ydGVkCmxpYnJhcmllcyBjYW4gaW50ZXJhY3Qgd2l0aCB0aGlzIHdvcmtlci4KCiMgQXJndW1lbnRzCiogYG1lc3NhZ2VfbGliYCAtIFRoZSBtZXNzYWdlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcwoqIGBzdXBwb3J0ZWRgIC0gYHRydWVgIHRvIGFkZCBzdXBwb3J0LCBgZmFsc2VgIHRvIHJlbW92ZSBzdXBwb3J0AAAAABlzZXRfc3VwcG9ydGVkX21lc3NhZ2VfbGliAAAAAAAAAgAAAAAAAAALbWVzc2FnZV9saWIAAAAAEwAAAAAAAAAJc3VwcG9ydGVkAAAAAAAAAQAAAAAAAAAAAAABWFNldHMgYWxsb3dsaXN0IHN0YXR1cyBmb3IgYW4gT0FwcCBhZGRyZXNzLgoKV2hlbiB0aGUgYWxsb3dsaXN0IGlzIGVtcHR5LCBhbGwgT0FwcHMgYXJlIGFsbG93ZWQgKHVubGVzcyBvbiBkZW55bGlzdCkuCldoZW4gdGhlIGFsbG93bGlzdCBpcyBub3QgZW1wdHksIG9ubHkgYWxsb3dsaXN0ZWQgT0FwcHMgYXJlIGFsbG93ZWQuCkRlbnlsaXN0IGFsd2F5cyB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYWxsb3dsaXN0LgoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBUaGUgT0FwcCBjb250cmFjdCBhZGRyZXNzCiogYGFsbG93ZWRgIC0gYHRydWVgIHRvIGFkZCB0byBhbGxvd2xpc3QsIGBmYWxzZWAgdG8gcmVtb3ZlAAAADXNldF9hbGxvd2xpc3QAAAAAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAHYWxsb3dlZAAAAAABAAAAAAAAAAAAAAEJU2V0cyBkZW55bGlzdCBzdGF0dXMgZm9yIGFuIE9BcHAgYWRkcmVzcy4KCkRlbnlsaXN0ZWQgT0FwcHMgYXJlIGJsb2NrZWQgZnJvbSB1c2luZyB0aGlzIHdvcmtlciwgZXZlbiBpZiB0aGV5J3JlIG9uCnRoZSBhbGxvd2xpc3QgKGRlbnlsaXN0IHRha2VzIHByZWNlZGVuY2UpLgoKIyBBcmd1bWVudHMKKiBgb2FwcGAgLSBUaGUgT0FwcCBjb250cmFjdCBhZGRyZXNzCiogYGRlbmllZGAgLSBgdHJ1ZWAgdG8gYWRkIHRvIGRlbnlsaXN0LCBgZmFsc2VgIHRvIHJlbW92ZQAAAAAAAAxzZXRfZGVueWxpc3QAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAGZGVuaWVkAAAAAAABAAAAAAAAAAAAAAE7U2V0cyB0aGUgZGVmYXVsdCBmZWUgbXVsdGlwbGllciBpbiBiYXNpcyBwb2ludHMuCgpUaGUgbXVsdGlwbGllciBpcyBhcHBsaWVkIHRvIGJhc2UgZmVlcyBkdXJpbmcgZmVlIGNhbGN1bGF0aW9uLiBVc2VkIHdoZW4Kbm8gZGVzdGluYXRpb24tc3BlY2lmaWMgbXVsdGlwbGllciBpcyBjb25maWd1cmVkLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYG11bHRpcGxpZXJfYnBzYCAtIE11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICgxMDAwMCA9IDF4LCAxMjAwMCA9IDEuMngpAAAAABpzZXRfZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAAAAAAAAAAA8VNldHMgdGhlIGRlcG9zaXQgYWRkcmVzcyB3aGVyZSB3b3JrZXIgZmVlcyBhcmUgY29sbGVjdGVkLgoKV2hlbiBqb2JzIGFyZSBhc3NpZ25lZCwgZmVlcyBhcmUgZGlyZWN0ZWQgdG8gdGhpcyBhZGRyZXNzLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYGRlcG9zaXRfYWRkcmVzc2AgLSBBZGRyZXNzIHRvIHJlY2VpdmUgY29sbGVjdGVkIGZlZXMAAAAAAAATc2V0X2RlcG9zaXRfYWRkcmVzcwAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAD2RlcG9zaXRfYWRkcmVzcwAAAAATAAAAAAAAAAAAAADrU2V0cyBzdXBwb3J0ZWQgZXhlY3V0b3Igb3B0aW9uIHR5cGVzIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikKKiBgb3B0aW9uX3R5cGVzYCAtIEVuY29kZWQgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcwAAAAAac2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAMAAAAAAAAABWFkbWluAAAAAAAAEwAAAAAAAAADZWlkAAAAAAQAAAAAAAAADG9wdGlvbl90eXBlcwAAAA4AAAAAAAAAAAAAARJTZXRzIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4KClRoZSBmZWUgbGlicmFyeSBjYWxjdWxhdGVzIGZlZXMgYmFzZWQgb24gZXhlY3V0b3Igb3B0aW9ucyBhbmQgcHJpY2UgZmVlZCBkYXRhLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gQWRtaW4gYWRkcmVzcyAobXVzdCBwcm92aWRlIGF1dGhvcml6YXRpb24pCiogYHdvcmtlcl9mZWVfbGliYCAtIEZlZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MgaW1wbGVtZW50aW5nIGBJRXhlY3V0b3JGZWVMaWJgAAAAAAASc2V0X3dvcmtlcl9mZWVfbGliAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAADndvcmtlcl9mZWVfbGliAAAAAAATAAAAAAAAAAAAAAESU2V0cyB0aGUgcHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzLgoKVGhlIHByaWNlIGZlZWQgcHJvdmlkZXMgZ2FzIHByaWNlcyBhbmQgZXhjaGFuZ2UgcmF0ZXMgZm9yIGNyb3NzLWNoYWluCmZlZSBjYWxjdWxhdGlvbnMuCgojIEFyZ3VtZW50cwoqIGBhZG1pbmAgLSBBZG1pbiBhZGRyZXNzIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgcHJpY2VfZmVlZGAgLSBQcmljZSBmZWVkIGNvbnRyYWN0IGFkZHJlc3MgaW1wbGVtZW50aW5nIGBJTGF5ZXJaZXJvUHJpY2VGZWVkYAAAAAAADnNldF9wcmljZV9mZWVkAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAAAAAAFVSZXR1cm5zIHdoZXRoZXIgYW4gYWRkcmVzcyBpcyBhbiBhZG1pbi4KCiMgQXJndW1lbnRzCiogYGFkbWluYCAtIFRoZSBhZGRyZXNzIHRvIGNoZWNrAAAAAAAACGlzX2FkbWluAAAAAQAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAQAAAAEAAAAAAAAAHFJldHVybnMgYWxsIGFkbWluIGFkZHJlc3Nlcy4AAAAGYWRtaW5zAAAAAAAAAAAAAQAAA+oAAAATAAAAAAAAACVSZXR1cm5zIHdoZXRoZXIgdGhlIHdvcmtlciBpcyBwYXVzZWQuAAAAAAAABnBhdXNlZAAAAAAAAAAAAAEAAAABAAAAAAAAAG9SZXR1cm5zIHdoZXRoZXIgYSBtZXNzYWdlIGxpYnJhcnkgaXMgc3VwcG9ydGVkLgoKIyBBcmd1bWVudHMKKiBgbWVzc2FnZV9saWJgIC0gTWVzc2FnZSBsaWJyYXJ5IGNvbnRyYWN0IGFkZHJlc3MAAAAAGGlzX3N1cHBvcnRlZF9tZXNzYWdlX2xpYgAAAAEAAAAAAAAAC21lc3NhZ2VfbGliAAAAABMAAAABAAAAAQAAAAAAAABzUmV0dXJucyBhbGwgc3VwcG9ydGVkIG1lc3NhZ2UgbGlicmFyeSBhZGRyZXNzZXMuCgojIFJldHVybnMKVmVjdG9yIG9mIHN1cHBvcnRlZCBtZXNzYWdlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzc2VzLgAAAAAMbWVzc2FnZV9saWJzAAAAAAAAAAEAAAPqAAAAEwAAAAAAAABaUmV0dXJucyB3aGV0aGVyIGFuIE9BcHAgaXMgb24gdGhlIGFsbG93bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAPaXNfb25fYWxsb3dsaXN0AAAAAAEAAAAAAAAABG9hcHAAAAATAAAAAQAAAAEAAAAAAAAAWVJldHVybnMgd2hldGhlciBhbiBPQXBwIGlzIG9uIHRoZSBkZW55bGlzdC4KCiMgQXJndW1lbnRzCiogYG9hcHBgIC0gT0FwcCBjb250cmFjdCBhZGRyZXNzAAAAAAAADmlzX29uX2RlbnlsaXN0AAAAAAABAAAAAAAAAARvYXBwAAAAEwAAAAEAAAABAAAAAAAAAPtSZXR1cm5zIHdoZXRoZXIgYW4gT0FwcCBoYXMgYWNjZXNzIGNvbnRyb2wgbGlzdCAoQUNMKSBwZXJtaXNzaW9uLgoKQUNMIGV2YWx1YXRpb24gb3JkZXI6CjEuIElmIG9uIGRlbnlsaXN0IOKGkiBkZW5pZWQKMi4gSWYgYWxsb3dsaXN0IGlzIGVtcHR5IE9SIG9uIGFsbG93bGlzdCDihpIgYWxsb3dlZAozLiBPdGhlcndpc2Ug4oaSIGRlbmllZAoKIyBBcmd1bWVudHMKKiBgc2VuZGVyYCAtIE9BcHAgY29udHJhY3QgYWRkcmVzcyB0byBjaGVjawAAAAAHaGFzX2FjbAAAAAABAAAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAAAQAAAAAAAAAxUmV0dXJucyB0aGUgbnVtYmVyIG9mIGFkZHJlc3NlcyBvbiB0aGUgYWxsb3dsaXN0LgAAAAAAAA5hbGxvd2xpc3Rfc2l6ZQAAAAAAAAAAAAEAAAAEAAAAAAAAADNSZXR1cm5zIHRoZSBkZWZhdWx0IGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cy4AAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAAAAAABAAAABAAAAAAAAAA1UmV0dXJucyB0aGUgZGVwb3NpdCBhZGRyZXNzIHdoZXJlIGZlZXMgYXJlIGNvbGxlY3RlZC4AAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAAAAAAAABAAAAEwAAAAAAAAAoUmV0dXJucyB0aGUgcHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzLgAAAApwcmljZV9mZWVkAAAAAAAAAAAAAQAAABMAAAAAAAAAfFJldHVybnMgc3VwcG9ydGVkIG9wdGlvbiB0eXBlcyBmb3IgYSBkZXN0aW5hdGlvbiBlbmRwb2ludC4KCiMgQXJndW1lbnRzCiogYGVpZGAgLSBEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikAAAAaZ2V0X3N1cHBvcnRlZF9vcHRpb25fdHlwZXMAAAAAAAEAAAAAAAAAA2VpZAAAAAAEAAAAAQAAA+gAAAAOAAAAAAAAADBSZXR1cm5zIHRoZSB3b3JrZXIgZmVlIGxpYnJhcnkgY29udHJhY3QgYWRkcmVzcy4AAAAOd29ya2VyX2ZlZV9saWIAAAAAAAAAAAABAAAAEwAAAAAAAAB4Q2FsY3VsYXRlcyB0aGUgdmVyaWZpY2F0aW9uIGZlZSBmb3IgYSBjcm9zcy1jaGFpbiBtZXNzYWdlLgoKQ2FsbGVkIGJ5IHRoZSBzZW5kIGxpYnJhcnkgdG8gcXVvdGUgRFZOIGZlZXMgYmVmb3JlIHNlbmRpbmcuAAAAB2dldF9mZWUAAAAABwAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAAAsAAAAAAAAAuEFzc2lnbnMgYSB2ZXJpZmljYXRpb24gam9iIHRvIHRoaXMgRFZOIGFuZCByZXR1cm5zIGZlZSBwYXltZW50IGluZm8uCgpDYWxsZWQgYnkgdGhlIHNlbmQgbGlicmFyeSB3aGVuIGEgbWVzc2FnZSBpcyBzZW50LiBUaGUgRFZOIHdpbGwgbGF0ZXIKdmVyaWZ5IHRoZSBtZXNzYWdlIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4AAAAKYXNzaWduX2pvYgAAAAAABwAAAAAAAAAIc2VuZF9saWIAAAATAAAAAAAAAAZzZW5kZXIAAAAAABMAAAAAAAAAB2RzdF9laWQAAAAABAAAAAAAAAANcGFja2V0X2hlYWRlcgAAAAAAAA4AAAAAAAAADHBheWxvYWRfaGFzaAAAA+4AAAAgAAAAAAAAAA1jb25maXJtYXRpb25zAAAAAAAABgAAAAAAAAAHb3B0aW9ucwAAAAAOAAAAAQAAB9AAAAAMRmVlUmVjaXBpZW50AAAAAAAAAERTZXRzIGRlc3RpbmF0aW9uIGNoYWluIGNvbmZpZ3VyYXRpb25zLiBSZXF1aXJlcyBhZG1pbiBhdXRob3JpemF0aW9uLgAAAA5zZXRfZHN0X2NvbmZpZwAAAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAZwYXJhbXMAAAAAA+oAAAfQAAAADkRzdENvbmZpZ1BhcmFtAAAAAAAAAAAAAAAAAEFSZXR1cm5zIHRoZSBkZXN0aW5hdGlvbiBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGVuZHBvaW50IElELgAAAAAAAApkc3RfY29uZmlnAAAAAAABAAAAAAAAAAdkc3RfZWlkAAAAAAQAAAABAAAD6AAAB9AAAAAJRHN0Q29uZmlnAAAAAAAAAAAAACVSZXR1cm5zIHRoZSBWZXJpZmllciBJRCBmb3IgdGhpcyBEVk4uAAAAAAAAA3ZpZAAAAAAAAAAAAQAAAAQAAAAAAAAAd0NvbXB1dGVzIHRoZSBoYXNoIG9mIGNhbGwgZGF0YSBmb3IgbXVsdGlzaWcgc2lnbmluZy4KCk9mZi1jaGFpbiBzaWduZXJzIHVzZSB0aGlzIHRvIGNvbXB1dGUgdGhlIGhhc2ggdGhleSBuZWVkIHRvIHNpZ24uAAAAAA5oYXNoX2NhbGxfZGF0YQAAAAAAAwAAAAAAAAADdmlkAAAAAAQAAAAAAAAACmV4cGlyYXRpb24AAAAAAAYAAAAAAAAABWNhbGxzAAAAAAAD6gAAB9AAAAAEQ2FsbAAAAAEAAAPuAAAAIAAAAAAAAAJkSW5pdGlhbGl6ZXMgdGhlIERWTiBjb250cmFjdC4KCiMgQXJndW1lbnRzCiogYHZpZGAgLSBWZXJpZmllciBJRCwgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgRFZOCiogYHNpZ25lcnNgIC0gSW5pdGlhbCBtdWx0aXNpZyBzaWduZXJzICgyMC1ieXRlIEV0aGVyZXVtIGFkZHJlc3NlcykKKiBgdGhyZXNob2xkYCAtIE1pbmltdW0gc2lnbmF0dXJlcyByZXF1aXJlZCBmb3IgbXVsdGlzaWcgb3BlcmF0aW9ucwoqIGBhZG1pbnNgIC0gSW5pdGlhbCBhZG1pbiBhZGRyZXNzZXMgZm9yIG9wZXJhdGlvbmFsIGZ1bmN0aW9ucwoqIGBzdXBwb3J0ZWRfbXNnbGlic2AgLSBNZXNzYWdlIGxpYnJhcmllcyB0aGlzIERWTiBzdXBwb3J0cyAoZS5nLiwgVUxOMzAyKQoqIGBwcmljZV9mZWVkYCAtIFByaWNlIGZlZWQgY29udHJhY3QgZm9yIGZlZSBjYWxjdWxhdGlvbnMKKiBgZGVmYXVsdF9tdWx0aXBsaWVyX2Jwc2AgLSBEZWZhdWx0IGZlZSBtdWx0aXBsaWVyICgxMDAwMCA9IDF4KQoqIGB3b3JrZXJfZmVlX2xpYmAgLSBGZWUgbGlicmFyeSBjb250cmFjdCBmb3IgY29tcHV0aW5nIERWTiBmZWVzCiogYGRlcG9zaXRfYWRkcmVzc2AgLSBBZGRyZXNzIHRvIHJlY2VpdmUgZmVlIHBheW1lbnRzAAAADV9fY29uc3RydWN0b3IAAAAAAAAJAAAAAAAAAAN2aWQAAAAABAAAAAAAAAAHc2lnbmVycwAAAAPqAAAD7gAAABQAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAABmFkbWlucwAAAAAD6gAAABMAAAAAAAAAEXN1cHBvcnRlZF9tc2dsaWJzAAAAAAAD6gAAABMAAAAAAAAACnByaWNlX2ZlZWQAAAAAABMAAAAAAAAAFmRlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAQAAAAAAAAADndvcmtlcl9mZWVfbGliAAAAAAATAAAAAAAAAA9kZXBvc2l0X2FkZHJlc3MAAAAAEwAAAAAAAAAAAAABalNldHMgYWRtaW4gc3RhdHVzIGZvciBhbiBhZGRyZXNzLiBDYW4gYmUgY2FsbGVkIGJ5IGFuIGV4aXN0aW5nIGFkbWluLgoKVGhpcyBhbGxvd3MgZXhpc3RpbmcgYWRtaW5zIHRvIGFkZCBvciByZW1vdmUgb3RoZXIgYWRtaW5zIHdpdGhvdXQgZ29pbmcgdGhyb3VnaAp0aGUgb3duZXIvbXVsdGlzaWcgcGF0aC4KCiMgQXJndW1lbnRzCiogYGNhbGxlcmAgLSBUaGUgYWRtaW4gY2FsbGluZyB0aGlzIGZ1bmN0aW9uIChtdXN0IHByb3ZpZGUgYXV0aG9yaXphdGlvbikKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAAAAJc2V0X2FkbWluAAAAAAAAAwAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAAAAABfEFsbG93cyB0aGUgcXVvcnVtIHRvIGFkZC9yZW1vdmUgYWRtaW5zIHdpdGhvdXQgcmVxdWlyaW5nIGFuIGFkbWluIHNpZ25hdHVyZS4KClRoaXMgZnVuY3Rpb24gYnlwYXNzZXMgdGhlIG5vcm1hbCBhZG1pbiB2ZXJpZmljYXRpb24gaW4gYF9fY2hlY2tfYXV0aGAsCnJlcXVpcmluZyBvbmx5IG11bHRpc2lnIHF1b3J1bSBzaWduYXR1cmVzLiBNdXN0IGJlIGNhbGxlZCBhcyBhIHNpbmdsZQpvcGVyYXRpb24gKGNhbm5vdCBiZSBidW5kbGVkIHdpdGggb3RoZXIgY2FsbHMpLgoKIyBBcmd1bWVudHMKKiBgYWRtaW5gIC0gVGhlIGFkZHJlc3MgdG8gc2V0IGFkbWluIHN0YXR1cyBmb3IKKiBgYWN0aXZlYCAtIGB0cnVlYCB0byBhZGQgYWRtaW4sIGBmYWxzZWAgdG8gcmVtb3ZlAAAAE3F1b3J1bV9jaGFuZ2VfYWRtaW4AAAAAAgAAAAAAAAAFYWRtaW4AAAAAAAATAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAH0AAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAAAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAIAAAAAAAAAAAAAAApEdm5TdG9yYWdlAAAAAAADAAAAAAAAAAAAAAADVmlkAAAAAAEAAAAAAAAACURzdENvbmZpZwAAAAAAAAEAAAAEAAAAAQAAAAAAAAAIVXNlZEhhc2gAAAABAAAD7gAAACAAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAABJQWRkcyBvciByZW1vdmVzIGEgc2lnbmVyIGZyb20gdGhlIG11bHRpc2lnLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAAAAAApzZXRfc2lnbmVyAAAAAAACAAAAAAAAAAZzaWduZXIAAAAAA+4AAAAUAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAAAAAERTZXRzIHRoZSBzaWduYXR1cmUgdGhyZXNob2xkIChxdW9ydW0pLiBSZXF1aXJlcyBvd25lciBhdXRob3JpemF0aW9uLgAAAA1zZXRfdGhyZXNob2xkAAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAAAAAAH1JldHVybnMgYWxsIHJlZ2lzdGVyZWQgc2lnbmVycy4AAAAAC2dldF9zaWduZXJzAAAAAAAAAAABAAAD6gAAA+4AAAAUAAAAAAAAAC9SZXR1cm5zIHRoZSB0b3RhbCBudW1iZXIgb2YgcmVnaXN0ZXJlZCBzaWduZXJzLgAAAAANdG90YWxfc2lnbmVycwAAAAAAAAAAAAABAAAABAAAAAAAAAAsQ2hlY2tzIGlmIGFuIGFkZHJlc3MgaXMgYSByZWdpc3RlcmVkIHNpZ25lci4AAAAJaXNfc2lnbmVyAAAAAAAAAQAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAABAAAAAAAAADFSZXR1cm5zIHRoZSBjdXJyZW50IHNpZ25hdHVyZSB0aHJlc2hvbGQgKHF1b3J1bSkuAAAAAAAACXRocmVzaG9sZAAAAAAAAAAAAAABAAAABAAAAAAAAAA1VmVyaWZpZXMgc2lnbmF0dXJlcyBhZ2FpbnN0IHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4AAAAAAAARdmVyaWZ5X3NpZ25hdHVyZXMAAAAAAAACAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAAAAAAAC9WZXJpZmllcyBzaWduYXR1cmVzIGFnYWluc3QgYSBjdXN0b20gdGhyZXNob2xkLgAAAAATdmVyaWZ5X25fc2lnbmF0dXJlcwAAAAADAAAAAAAAAAZkaWdlc3QAAAAAA+4AAAAgAAAAAAAAAApzaWduYXR1cmVzAAAAAAPqAAAD7gAAAEEAAAAAAAAACXRocmVzaG9sZAAAAAAAAAQAAAAAAAAABAAAAAAAAAAAAAAADUVuZHBvaW50RXJyb3IAAAAAAAAZAAAAAAAAABFBbHJlYWR5UmVnaXN0ZXJlZAAAAAAAAAEAAAAAAAAADUNvbXBvc2VFeGlzdHMAAAAAAAACAAAAAAAAAA9Db21wb3NlTm90Rm91bmQAAAAAAwAAAAAAAAAcRGVmYXVsdFJlY2VpdmVMaWJVbmF2YWlsYWJsZQAAAAQAAAAAAAAAGURlZmF1bHRTZW5kTGliVW5hdmFpbGFibGUAAAAAAAAFAAAAAAAAABVJbnN1ZmZpY2llbnROYXRpdmVGZWUAAAAAAAAGAAAAAAAAABJJbnN1ZmZpY2llbnRacm9GZWUAAAAAAAcAAAAAAAAAEEludmFsaWRGZWVBbW91bnQAAAAIAAAAAAAAAA1JbnZhbGlkRXhwaXJ5AAAAAAAACQAAAAAAAAAMSW52YWxpZEluZGV4AAAACgAAAAAAAAAMSW52YWxpZE5vbmNlAAAACwAAAAAAAAASSW52YWxpZFBheWxvYWRIYXNoAAAAAAAMAAAAAAAAABVJbnZhbGlkUmVjZWl2ZUxpYnJh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ciBhbmQgRFZOIG9wdGlvbnMuAAAAAAAAB29wdGlvbnMAAAAADgAAADlXaGV0aGVyIHRvIHBheSBmZWVzIGluIFpSTyB0b2tlbiBpbnN0ZWFkIG9mIG5hdGl2ZSB0b2tlbi4AAAAAAAAKcGF5X2luX3pybwAAAAAAAQAAADVSZWNlaXZlciBhZGRyZXNzIG9uIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAAQAAAE1Tb3VyY2UgbWVzc2FnZSBpbmZvcm1hdGlvbiBpZGVudGlmeWluZyB3aGVyZSBhIGNyb3NzLWNoYWluIG1lc3NhZ2UgY2FtZSBmcm9tLgAAAAAAAAAAAAAGT3JpZ2luAAAAAAADAAAAF05vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAAAAVub25jZQAAAAAAAAYAAAAuU2VuZGVyIGFkZHJlc3Mgb24gdGhlIHNvdXJjZSBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAABnNlbmRlcgAAAAAD7gAAACAAAAAmU291cmNlIGVuZHBvaW50IElEIChjaGFpbiBpZGVudGlmaWVyKS4AAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAKEZlZSBzdHJ1Y3R1cmUgZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2luZy4AAAAAAAAADE1lc3NhZ2luZ0ZlZQAAAAIAAAAfRmVlIHBhaWQgaW4gbmF0aXZlIHRva2VuIChYTE0pLgAAAAAKbmF0aXZlX2ZlZQAAAAAACwAAAChGZWUgcGFpZCBpbiBaUk8gdG9rZW4gKExheWVyWmVybyB0b2tlbikuAAAAB3pyb19mZWUAAAAACwAAAAEAAABCUmVjZWlwdCByZXR1cm5lZCBhZnRlciBzdWNjZXNzZnVsbHkgc2VuZGluZyBhIGNyb3NzLWNoYWluIG1lc3NhZ2UuAAAAAAAAAAAAEE1lc3NhZ2luZ1JlY2VpcHQAAAADAAAAKVRoZSBmZWVzIGNoYXJnZWQgZm9yIHNlbmRpbmcgdGhlIG1lc3NhZ2UuAAAAAAAAA2ZlZQAAAAfQAAAADE1lc3NhZ2luZ0ZlZQAAACtHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG1lc3NhZ2UuAAAAAARndWlkAAAD7gAAACAAAAAkVGhlIG91dGJvdW5kIG5vbmNlIGZvciB0aGlzIHBhdGh3YXkuAAAABW5vbmNlAAAAAAAABgAAAAIAAAA4VHlwZSBvZiBtZXNzYWdlIGxpYnJhcnkgaW5kaWNhdGluZyBzdXBwb3J0ZWQgb3BlcmF0aW9ucy4AAAAAAAAADk1lc3NhZ2VMaWJUeXBlAAAAAAADAAAAAAAAAB9TdXBwb3J0cyBvbmx5IHNlbmRpbmcgbWVzc2FnZXMuAAAAAARTZW5kAAAAAAAAACFTdXBwb3J0cyBvbmx5IHJlY2VpdmluZyBtZXNzYWdlcy4AAAAAAAAHUmVjZWl2ZQAAAAAAAAAALVN1cHBvcnRzIGJvdGggc2VuZGluZyBhbmQgcmVjZWl2aW5nIG1lc3NhZ2VzLgAAAAAAAA5TZW5kQW5kUmVjZWl2ZQAAAAAAAQAAALdWZXJzaW9uIGluZm9ybWF0aW9uIGZvciBhIG1lc3NhZ2UgbGlicmFyeS4KCk5vdGU6IGBtaW5vcmAgYW5kIGBlbmRwb2ludF92ZXJzaW9uYCB1c2UgYHUzMmAgaW5zdGVhZCBvZiBgdThgIGJlY2F1c2UgU3RlbGxhciBkb2VzIG5vdApzdXBwb3J0IGB1OGAgdHlwZXMgaW4gY29udHJhY3QgaW50ZXJmYWNlIGZ1bmN0aW9ucy4AAAAAAAAAABFNZXNzYWdlTGliVmVyc2lvbgAAAAAAAAMAAAAzRW5kcG9pbnQgdmVyc2lvbiAoc2hvdWxkIG5vdCBleGNlZWQgdTg6Ok1BWCA9IDI1NSkuAAAAABBlbmRwb2ludF92ZXJzaW9uAAAABAAAABVNYWpvciB2ZXJzaW9uIG51bWJlci4AAAAAAAAFbWFqb3IAAAAAAAAGAAAAN01pbm9yIHZlcnNpb24gbnVtYmVyIChzaG91bGQgbm90IGV4Y2VlZCB1ODo6TUFYID0gMjU1KS4AAAAABW1pbm9yAAAAAAAABAAAAAEAAAA2VGltZW91dCBjb25maWd1cmF0aW9uIGZvciByZWNlaXZlIGxpYnJhcnkgdHJhbnNpdGlvbnMuAAAAAAAAAAAAB1RpbWVvdXQAAAAAAgAAAChVbml4IHRpbWVzdGFtcCB3aGVuIHRoZSB0aW1lb3V0IGV4cGlyZXMuAAAABmV4cGlyeQAAAAAABgAAAClUaGUgbmV3IGxpYnJhcnkgYWRkcmVzcyB0byB0cmFuc2l0aW9uIHRvLgAAAAAAAANsaWIAAAAAEwAAAAEAAAA1UGFyYW1ldGVycyBmb3Igc2V0dGluZyBtZXNzYWdlIGxpYnJhcnkgY29uZmlndXJhdGlvbi4AAAAAAAAAAAAADlNldENvbmZpZ1BhcmFtAAAAAAADAAAAH1hEUi1lbmNvZGVkIGNvbmZpZ3VyYXRpb24gZGF0YS4AAAAABmNvbmZpZwAAAAAADgAAADBUaGUgdHlwZSBvZiBjb25maWd1cmF0aW9uIChlLmcuLCBleGVjdXRvciwgVUxOKS4AAAALY29uZmlnX3R5cGUAAAAABAAAACdUaGUgZW5kcG9pbnQgSUQgdGhpcyBjb25maWcgYXBwbGllcyB0by4AAAAAA2VpZAAAAAAEAAAAAQAAADFSZXNvbHZlZCBsaWJyYXJ5IGluZm9ybWF0aW9uIHdpdGggZGVmYXVsdCBzdGF0dXMuAAAAAAAAAAAAAA9SZXNvbHZlZExpYnJhcnkAAAAAAgAAAERXaGV0aGVyIHRoaXMgaXMgdGhlIGRlZmF1bHQgbGlicmFyeSAodHJ1ZSkgb3IgT0FwcC1zcGVjaWZpYyAoZmFsc2UpLgAAAAppc19kZWZhdWx0AAAAAAABAAAAHVRoZSByZXNvbHZlZCBsaWJyYXJ5IGFkZHJlc3MuAAAAAAAAA2xpYgAAAAATAAAAAQAAAEhPdXRib3VuZCBwYWNrZXQgY29udGFpbmluZyBhbGwgaW5mb3JtYXRpb24gZm9yIGNyb3NzLWNoYWluIHRyYW5zbWlzc2lvbi4AAAAAAAAADk91dGJvdW5kUGFja2V0AAAAAAAHAAAAGERlc3RpbmF0aW9uIGVuZHBvaW50IElELgAAAAdkc3RfZWlkAAAAAAQAAAAsR2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgbWVzc2FnZS4AAAAEZ3VpZAAAA+4AAAAgAAAAFFRoZSBtZXNzYWdlIHBheWxvYWQuAAAAB21lc3NhZ2UAAAAADgAAACBPdXRib3VuZCBub25jZSBmb3IgdGhpcyBwYXRod2F5LgAAAAVub25jZQAAAAAAAAYAAAAxUmVjZWl2ZXIgYWRkcmVzcyBvbiBkZXN0aW5hdGlvbiBjaGFpbiAoMzIgYnl0ZXMpLgAAAAAAAAhyZWNlaXZlcgAAA+4AAAAgAAAAH1NlbmRlciBhZGRyZXNzIG9uIHNvdXJjZSBjaGFpbi4AAAAABnNlbmRlcgAAAAAAEwAAABNTb3VyY2UgZW5kcG9pbnQgSUQuAAAAAAdzcmNfZWlkAAAAAAQAAAABAAAAK0EgZmVlIHJlY2lwaWVudCB3aXRoIHRoZSBhbW91bnQgdG8gYmUgcGFpZC4AAAAAAAAAAAxGZWVSZWNpcGllbnQAAAACAAAAFUFtb3VudCBvZiBmZWUgdG8gcGF5LgAAAAAAAAZhbW91bnQAAAAAAAsAAAAfVGhlIGFkZHJlc3MgdG8gc2VuZCB0aGUgZmVlIHRvLgAAAAACdG8AAAAAABMAAAABAAAAPFJlc3VsdCBvZiBzZW5kIG9wZXJhdGlvbiBjb250YWluaW5nIGZlZXMgYW5kIGVuY29kZWQgcGFja2V0LgAAAAAAAAANRmVlc0FuZFBhY2tldAAAAAAAAAMAAAAqVGhlIGVuY29kZWQgcGFja2V0IHJlYWR5IGZvciB0cmFuc21pc3Npb24uAAAAAAAOZW5jb2RlZF9wYWNrZXQAAAAAAA4AAAA/TGlzdCBvZiBuYXRpdmUgdG9rZW4gZmVlIHJlY2lwaWVudHMgKGV4ZWN1dG9yLCBEVk5zLCB0cmVhc3VyeSkuAAAAABVuYXRpdmVfZmVlX3JlY2lwaWVudHMAAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAsTGlzdCBvZiBaUk8gdG9rZW4gZmVlIHJlY2lwaWVudHMgKHRyZWFzdXJ5KS4AAAASenJvX2ZlZV9yZWNpcGllbnRzAAAAAAPqAAAH0AAAAAxGZWVSZWNpcGllbnQAAAAEAAAAHVBhY2tldENvZGVjVjFFcnJvcjogMTEwMC0xMTA5AAAAAAAAAAAAABJQYWNrZXRDb2RlY1YxRXJyb3IAAAAAAAIAAAAAAAAAE0ludmFsaWRQYWNrZXRIZWFkZXIAAAAETAAAAAAAAAAUSW52YWxpZFBhY2tldFZlcnNpb24AAARNAAAABAAAAB1Xb3JrZXJPcHRpb25zRXJyb3I6IDExMTAtMTExOQAAAAAAAAAAAAASV29ya2VyT3B0aW9uc0Vycm9yAAAAAAAJAAAAAAAAABJJbnZhbGlkQnl0ZXNMZW5ndGgAAAAABFYAAAAAAAAAGUludmFsaWRMZWdhY3lPcHRpb25zVHlwZTEAAAAAAARXAAAAAAAAABlJbnZhbGlkTGVnYWN5T3B0aW9uc1R5cGUyAAAAAAAEWAAAAAAAAAARSW52YWxpZE9wdGlvblR5cGUAAAAAAARZAAAAAAAAAA5JbnZhbGlkT3B0aW9ucwAAAAAEWgAAAAAAAAAPSW52YWxpZFdvcmtlcklkAAAABFsAAAAAAAAAHUxlZ2FjeU9wdGlvbnNUeXBlMUdhc092ZXJmbG93AAAAAAAEXAAAAAAAAAAgTGVnYWN5T3B0aW9uc1R5cGUyQW1vdW50T3ZlcmZsb3cAAARdAAAAAAAAAB1MZWdhY3lPcHRpb25zVHlwZTJHYXNPdmVyZmxvdwAAAAAABF4AAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQLAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAEAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGgAAAAQAAAAYTXVsdGlzaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aXNpZ0Vycm9yAAAAAAAACAAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJQAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCYAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEJwAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCgAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKQAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCoAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQrAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAAAAEAAAAFldvcmtlckVycm9yOiAxMjAwLTEyOTkAAAAAAAAAAAALV29ya2VyRXJyb3IAAAAAEwAAAAAAAAASQWRtaW5BbHJlYWR5RXhpc3RzAAAAAASwAAAAAAAAAA1BZG1pbk5vdEZvdW5kAAAAAAAEsQAAAAAAAAASQWxyZWFkeU9uQWxsb3dsaXN0AAAAAASyAAAAAAAAABFBbHJlYWR5T25EZW55bGlzdAAAAAAABLMAAAAAAAAAG0F0dGVtcHRpbmdUb1JlbW92ZU9ubHlBZG1pbgAAAAS0AAAAAAAAABREZXBvc2l0QWRkcmVzc05vdFNldAAABLUAAAAAAAAAGk1lc3NhZ2VMaWJBbHJlYWR5U3VwcG9ydGVkAAAAAAS2AAAAAAAAABZNZXNzYWdlTGliTm90U3VwcG9ydGVkAAAAAAS3AAAAAAAAABBOb0FkbWluc1Byb3ZpZGVkAAAEuAAAAAAAAAAKTm90QWxsb3dlZAAAAAAEuQAAAAAAAAAOTm90T25BbGxvd2xpc3QAAAAABLoAAAAAAAAADU5vdE9uRGVueWxpc3QAAAAAAAS7AAAAAAAAABRQYXVzZVN0YXR1c1VuY2hhbmdlZAAABLwAAAAAAAAAD1ByaWNlRmVlZE5vdFNldAAAAAS9AAAAAAAAAAxSZUluaXRpYWxpemUAAAS+AAAAAAAAAAxVbmF1dGhvcml6ZWQAAAS/AAAAAAAAABVVbnN1cHBvcnRlZE1lc3NhZ2VMaWIAAAAAAATAAAAAAAAAABJXb3JrZXJGZWVMaWJOb3RTZXQAAAAABMEAAAAAAAAADldvcmtlcklzUGF1c2VkAAAAAATCAAAABQAAAAAAAAAAAAAACFNldEFkbWluAAAAAQAAAAlzZXRfYWRtaW4AAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABZTZXRTdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAABAAAAGXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAAAAAACAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAAAAAAAAAAAJc3VwcG9ydGVkAAAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldEFsbG93bGlzdAAAAAEAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAAHYWxsb3dlZAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAALU2V0RGVueWxpc3QAAAAAAQAAAAxzZXRfZGVueWxpc3QAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAAAAAABmRlbmllZAAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAQAAAAZwYXVzZWQAAAAAAAEAAAAAAAAABnBhdXNlcgAAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAACFVucGF1c2VkAAAAAQAAAAh1bnBhdXNlZAAAAAEAAAAAAAAACHVucGF1c2VyAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAF1NldERlZmF1bHRNdWx0aXBsaWVyQnBzAAAAAAEAAAAac2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAEAAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAARU2V0RGVwb3NpdEFkZHJlc3MAAAAAAAABAAAAE3NldF9kZXBvc2l0X2FkZHJlc3MAAAAAAQAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAxTZXRQcmljZUZlZWQAAAABAAAADnNldF9wcmljZV9mZWVkAAAAAAABAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0U3VwcG9ydGVkT3B0aW9uVHlwZXMAAAAAAQAAABpzZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwAAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAMb3B0aW9uX3R5cGVzAAAADgAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1NldFdvcmtlckZlZUxpYgAAAAABAAAAEnNldF93b3JrZXJfZmVlX2xpYgAAAAAAAQAAAAAAAAAHZmVlX2xpYgAAAAATAAAAAAAAAAIAAAABAAAA4VBhcmFtZXRlcnMgZm9yIERWTiBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIHZlcmlmaWNhdGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAAAAAMRHZuRmVlUGFyYW1zAAAACgAAACdOdW1iZXIgb2YgYmxvY2sgY29uZmlybWF0aW9ucyByZXF1aXJlZC4AAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KR2FzIGVzdGltYXRlIGZvciB2ZXJpZmljYXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAA2dhcwAAAAAKAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAtEVk4gb3B0aW9ucwAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAAAnTnVtYmVyIG9mIHJlcXVpcmVkIHNpZ25hdHVyZXMgKHF1b3J1bSkuAAAAAAZxdW9ydW0AAAAAAAQAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAA41BhcmFtZXRlcnMgZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgZXhlY3V0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAJRmVlUGFyYW1zAAAAAAAACwAAACZTaXplIG9mIHRoZSBtZXNzYWdlIGNhbGxkYXRhIGluIGJ5dGVzLgAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAANkJhc2UgZ2FzIGZvciBlYWNoIGx6Q29tcG9zZSBjYWxsIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAARM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkJhc2UgZ2FzIGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAACxNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSBzZW50LgAAAApuYXRpdmVfY2FwAAAAAAAKAAAARkVuY29kZWQgZXhlY3V0b3Igb3B0aW9ucyAobHpSZWNlaXZlIGdhcywgbHpDb21wb3NlLCBuYXRpdmVEcm9wLCBldGMuKS4AAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAACER2FzIHByaWNlIGluZm9ybWF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKQ29udGFpbnMgdGhlIGV4Y2hhbmdlIHJhdGUgYW5kIGdhcyBjb3N0cyBuZWVkZWQgZm9yIGNyb3NzLWNoYWluIGZlZSBjYWxjdWxhdGlvbnMuAAAAAAAAAAVQcmljZQAAAAAAAAMAAAA3R2FzIGNvc3QgcGVyIGJ5dGUgb2YgY2FsbGRhdGEgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAMZ2FzX3Blcl9ieXRlAAAABAAAAEJHYXMgcHJpY2UgaW4gdGhlIHNtYWxsZXN0IHVuaXQgKHdlaSBmb3IgRVZNLCBzdHJvb3BzIGZvciBTdGVsbGFyKS4AAAAAABFnYXNfcHJpY2VfaW5fdW5pdAAAAAAAAAYAAACpUHJpY2UgcmF0aW8gPSAocmVtb3RlIG5hdGl2ZSB0b2tlbiBwcmljZSAvIGxvY2FsIG5hdGl2ZSB0b2tlbiBwcmljZSkgKiBQUklDRV9SQVRJT19ERU5PTUlOQVRPUi4KVXNlZCB0byBjb252ZXJ0IGRlc3RpbmF0aW9uIGNoYWluIGdhcyBjb3N0cyB0byBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAAQAAAIBGZWUgZXN0aW1hdGlvbiByZXN1bHQgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24uCgpDb250YWlucyB0aGUgY2FsY3VsYXRlZCBmZWUgYW5kIGFsbCBpbnRlcm1lZGlhdGUgdmFsdWVzIHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAALRmVlRXN0aW1hdGUAAAAABAAAADBTb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAoc2NhbGVkKS4AAAAQbmF0aXZlX3ByaWNlX3VzZAAAAAoAAAAlUHJpY2UgcmF0aW8gdXNlZCBmb3IgdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAMkRlbm9taW5hdG9yIGZvciB0aGUgcHJpY2UgcmF0aW8gKHR5cGljYWxseSAxMF4yMCkuAAAAAAAXcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAACgAAADFUb3RhbCBnYXMgZmVlIGluIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gdW5pdHMuAAAAAAAADXRvdGFsX2dhc19mZWUAAAAAAAALAAAAAgAAAAAAAAAAAAAADVdvcmtlclN0b3JhZ2UAAAAAAAALAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAAAAAAAAAAAJUHJpY2VGZWVkAAAAAAAAAAAAAAAAAAAMV29ya2VyRmVlTGliAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAABAAAAAAAAABRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAEAAAAEAAAAAAAAAAAAAAALTWVzc2FnZUxpYnMAAAAAAQAAAAAAAAAJQWxsb3dsaXN0AAAAAAAAAQAAABMAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAANQWxsb3dsaXN0U2l6ZQAAAAAAAAAAAAAAAAAABkFkbWlucwAAAIsBDmNvbnRyYWN0bWV0YXYwAAAAAAAAAAZiaW52ZXIAAAAAAAUwLjAuMQAAAAAAAAAAAAAFcnN2ZXIAAAAAAAAGMS45MC4wAAAAAAAAAAAACHJzc2RrdmVyAAAALzIzLjQuMCM2NzNkNmM0ZjIzNjhkMjgyZDI1ZGEyOWJkYTU1YzIxYjhiZTY5Y2E2AAAeEWNvbnRyYWN0ZW52bWV0YXYwAAAAAAAAABcAAAAA";
11
+ /**
12
+ * Pre-computed WASM hash (SHA-256)
13
+ * Use this when the WASM is already uploaded on-chain
14
+ */
15
+ export const WASM_HASH = "5c52cac1c298d768f8af85192d911b1f33f3885278ff4ae8f05b251c068d02a2";
16
+ /**
17
+ * Get the WASM bytecode as a Buffer
18
+ * Use this to upload the WASM to the network
19
+ */
20
+ export function getWasmBuffer() {
21
+ return Buffer.from(WASM_BASE64, 'base64');
22
+ }
5
23
  export const DvnError = {
6
24
  1: { message: "AuthDataExpired" },
7
25
  2: { message: "EidNotSupported" },
@@ -84,8 +102,12 @@ export const TtlConfigurableError = {
84
102
  * OwnableError: 1030-1039
85
103
  */
86
104
  export const OwnableError = {
87
- 1030: { message: "OwnerAlreadySet" },
88
- 1031: { message: "OwnerNotSet" }
105
+ 1030: { message: "InvalidPendingOwner" },
106
+ 1031: { message: "InvalidTtl" },
107
+ 1032: { message: "NoPendingTransfer" },
108
+ 1033: { message: "OwnerAlreadySet" },
109
+ 1034: { message: "OwnerNotSet" },
110
+ 1035: { message: "TransferInProgress" }
89
111
  };
90
112
  /**
91
113
  * BytesExtError: 1040-1049
@@ -240,16 +262,17 @@ export class Client extends ContractClient {
240
262
  "AAAABAAAABxCdWZmZXJSZWFkZXJFcnJvcjogMTAwMC0xMDA5AAAAAAAAABFCdWZmZXJSZWFkZXJFcnJvcgAAAAAAAAIAAAAAAAAADUludmFsaWRMZW5ndGgAAAAAAAPoAAAAAAAAABVJbnZhbGlkQWRkcmVzc1BheWxvYWQAAAAAAAPp",
241
263
  "AAAABAAAABxCdWZmZXJXcml0ZXJFcnJvcjogMTAxMC0xMDE5AAAAAAAAABFCdWZmZXJXcml0ZXJFcnJvcgAAAAAAAAEAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA/I=",
242
264
  "AAAABAAAAB9UdGxDb25maWd1cmFibGVFcnJvcjogMTAyMC0xMDI5AAAAAAAAAAAUVHRsQ29uZmlndXJhYmxlRXJyb3IAAAADAAAAAAAAABBJbnZhbGlkVHRsQ29uZmlnAAAD/AAAAAAAAAAPVHRsQ29uZmlnRnJvemVuAAAAA/0AAAAAAAAAFlR0bENvbmZpZ0FscmVhZHlGcm96ZW4AAAAAA/4=",
243
- "AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAIAAAAAAAAAD093bmVyQWxyZWFkeVNldAAAAAQGAAAAAAAAAAtPd25lck5vdFNldAAAAAQH",
265
+ "AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQL",
244
266
  "AAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEA==",
245
267
  "AAAABAAAABtVcGdyYWRlYWJsZUVycm9yOiAxMDUwLTEwNTkAAAAAAAAAABBVcGdyYWRlYWJsZUVycm9yAAAAAQAAAAAAAAATTWlncmF0aW9uTm90QWxsb3dlZAAAAAQa",
246
268
  "AAAABAAAABhNdWx0aXNpZ0Vycm9yOiAxMDYwLTEwNjkAAAAAAAAADU11bHRpc2lnRXJyb3IAAAAAAAAIAAAAAAAAABJBbHJlYWR5SW5pdGlhbGl6ZWQAAAAABCQAAAAAAAAADUludmFsaWRTaWduZXIAAAAAAAQlAAAAAAAAAA5TaWduYXR1cmVFcnJvcgAAAAAEJgAAAAAAAAATU2lnbmVyQWxyZWFkeUV4aXN0cwAAAAQnAAAAAAAAAA5TaWduZXJOb3RGb3VuZAAAAAAEKAAAAAAAAAAdVG90YWxTaWduZXJzTGVzc1RoYW5UaHJlc2hvbGQAAAAAAAQpAAAAAAAAAA9VbnNvcnRlZFNpZ25lcnMAAAAEKgAAAAAAAAANWmVyb1RocmVzaG9sZAAAAAAABCs=",
247
269
  "AAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAAC",
248
270
  "AAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAAC",
249
271
  "AAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAA=",
250
- "AAAABQAAACxFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkLgAAAAAAAAAUT3duZXJzaGlwVHJhbnNmZXJyZWQAAAABAAAAFW93bmVyc2hpcF90cmFuc2ZlcnJlZAAAAAAAAAIAAAAAAAAACW9sZF9vd25lcgAAAAAAABMAAAAAAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAI=",
272
+ "AAAABQAAAFdFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHRyYW5zZmVycmVkIChib3RoIHNpbmdsZS1zdGVwIGFuZCB0d28tc3RlcCBjb21wbGV0aW9uKS4AAAAAAAAAABRPd25lcnNoaXBUcmFuc2ZlcnJlZAAAAAEAAAAVb3duZXJzaGlwX3RyYW5zZmVycmVkAAAAAAAAAgAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAg==",
273
+ "AAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAAC",
251
274
  "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAC",
252
- "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAABAAAAAAAAAAAAAAAFT3duZXIAAAA=",
275
+ "AAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXI=",
253
276
  "AAAAAQAAAElUVEwgY29uZmlndXJhdGlvbjogdGhyZXNob2xkICh3aGVuIHRvIGV4dGVuZCkgYW5kIGV4dGVuZF90byAodGFyZ2V0IFRUTCkuAAAAAAAAAAAAAAlUdGxDb25maWcAAAAAAAACAAAAKFRhcmdldCBUVEwgYWZ0ZXIgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAJZXh0ZW5kX3RvAAAAAAAABAAAADNUVEwgdGhyZXNob2xkIHRoYXQgdHJpZ2dlcnMgZXh0ZW5zaW9uIChpbiBsZWRnZXJzKS4AAAAACXRocmVzaG9sZAAAAAAAAAQ=",
254
277
  "AAAABQAAACdFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIHNldC4AAAAAAAAAAA1UdGxDb25maWdzU2V0AAAAAAAAAQAAAA90dGxfY29uZmlnc19zZXQAAAAAAgAAAAAAAAAIaW5zdGFuY2UAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAg==",
255
278
  "AAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gVFRMIGNvbmZpZ3MgYXJlIGZyb3plbi4AAAAAAAAAAAAQVHRsQ29uZmlnc0Zyb3plbgAAAAEAAAASdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAg==",
@@ -5,6 +5,21 @@ export * from '@stellar/stellar-sdk';
5
5
  export * as contract from '@stellar/stellar-sdk/contract';
6
6
  export * as rpc from '@stellar/stellar-sdk/rpc';
7
7
  export type MigrationData = void;
8
+ /**
9
+ * Embedded WASM bytecode (base64-encoded)
10
+ * Size: 23312 bytes (22.77 KB)
11
+ */
12
+ export declare const WASM_BASE64 = "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IQIgASkDAFANAQsACyABQRBqJICAgIAAIAILTQECfkIAIQECQAJAQQAQqICAgAAiAkICEJ+AgIAARQ0AIAJCAhCAgICAACIBQv8Bg0LNAFINASAAIAE3AwhCASEBCyAAIAE3AwAPCwALDQAgAUICIACnQQFxGwuLAQEBfyOAgICAAEEQayIBJICAgIAAAkAgAEL/AYNCyABSDQAgABCCgICAAEKAgICAcINCgICAgIAEUg0AEKCAgIAAIAFBBGoQnICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEJ2AgIAAC0EBEKyAgIAAIAAQg4CAgAAaIAFBEGokgICAgABCAg8LAAsYABCugICAACAArUL/AYNCAhCNgICAABoLpAEBAX8jgICAgABBEGsiASSAgICAAAJAIABC/wGDQgJSDQAQoICAgAAgAUEEahCcgICAAAJAIAEoAgRBAUcNACABKAIIIAEoAgwQnYCAgAALAkACQBCugICAACIAQgIQn4CAgABFDQAgAEICEICAgIAAp0H/AXEOAgABAgtCg4CAgKCDARCngICAAAALQQAQrICAgAAgAUEQaiSAgICAAEICDwsAC2ACAX8BfiOAgICAAEEQayIAJICAgIAAIABBmoLAgABBCRDRgICAAAJAAkAgACgCAA0AIAAgACkDCBDUgICAACAAKAIAQQFHDQELAAsgACkDCCEBIABBEGokgICAgAAgAQsIABChgICAAAtBAAJAAkAgAEL/AYNCzQBSDQBBABCogICAAEICEJ+AgIAADQEgABCxgICAAEICDwsAC0KDgICAkIEBEKeAgIAAAAsOAEEAIABCAhDLgICAAAvECwUCfwh+AX8BfgF/I4CAgIAAQdABayICJICAgIAAAkAgAEL/AYNCzQBSDQBBACEDAkADQCADQdAARg0BIAJB4ABqIANqQgI3AwAgA0EIaiEDDAALCyABQv8Bg0LMAFINACABQYyDwIAAQQogAkHgAGpBChCzgICAAAJAIAIpA2AiAadB/wFxIgNBBkYNACADQcAARw0BIAEQhICAgAAaCyACKQNoIgRC/wGDQgRSDQAgAikDcCIFQv8Bg0IEUg0AIAJBsAFqIAIpA3gQtICAgAAgAigCsAFBAUYNACACKQPIASEGIAIpA8ABIQcgAkGwAWogAikDgAEQtICAgAAgAigCsAFBAUYNACACKQOIASIIQv8Bg0IEUg0AIAIpA5ABIglC/wGDQsgAUg0AIAIpA5gBIgpC/wGDQs0AUg0AIAIpA6ABIgtC/wGDQgRSDQAgAjEAqAFCzQBSDQAgAikDyAEhASACKQPAASEAIAJB4ABqEJyAgIAAAkAgAigCYEEBRw0AIAIoAmQgAigCaBCdgICAAAsCQCAAIAGEQgBRDQACQCAJEIKAgIAAQoCAgIAQWg0AAkAgC0IgiKetQsEAfiIJQiCIpw0AAkAgCaciA0EfcUUNACADQWBxIgxBIGoiAyAMSQ0BCyADQaQEaiIMIANJDQAgDEEgaiIDIAxJDQAgBEIgiCEEIAhCIIghCSAFQoSAgIBwgyEFIAOtQiCGQgSEIQsQhYCAgAAhCEG8hMCAAEETELWAgIAAIQ0CQAJAIABC//////////8AViABQgBSIAFQGw0AIABCCIZCCoQhAQwBCyABIAAQhoCAgAAhAQsgBKchDiAJpyEMIAIgATcDyAEgAiALNwPAASACIAU3A7gBIAIgCDcDsAFBACEDAkACQANAAkAgA0EgRw0AQQAhAwJAA0AgA0EgRg0BIAJB4ABqIANqIAJBsAFqIANqKQMANwMAIANBCGohAwwACwsgCiANIAJB4ABqQQQQtoCAgAAQh4CAgAAhAUEAIQMCQANAIANBIEYNASACQbABaiADakICNwMAIANBCGohAwwACwsgAUL/AYNCzABSDQQgAUGchMCAAEEEIAJBsAFqQQQQs4CAgAAgAkHgAGogAikDsAEQtICAgAAgAigCYEEBRg0EIAIpA3ghBSACKQNwIQsgAkHgAGogAikDuAEQtICAgAAgAigCYA0EIAJB4ABqIAIpA8ABELSAgIAAIAIoAmANBAJAAkAgAikDyAEiAadB/wFxIgNBxQBGDQAgA0ELRw0GIAFCP4chACABQgiHIQkMAQsgARCIgICAACEAIAEQiYCAgAAhCQsgAEJ/Vw0CIAJBADYCXCACQcAAaiAJIAAgDCAOIAwbrUIAIAJB3ABqENWAgIAAIAIoAlwNBCACQTBqIAIpA0AgAikDSEKQzgBCABDYgICAACACKQM4IQQgAikDMCEBAkAgByAGhFANACALIAWEUA0AIAJBEGogBkIAQoCt4gRCABDbgICAACACQSBqIAdCAEKAreIEQgAQ24CAgAAgAikDGEIAUiACKQMoIgYgAikDEHwiByAGVHJBAUYNBSACIAIpAyAgByALIAUQ2oCAgAAgAikDCCIGQn9XDQQgACAGhUJ/hSAAIAAgBnwgCSACKQMAfCIGIAlUrXwiCYWDQgBTDQUgBCAJIAEgBlYgBCAJVSAEIAlRGyIDGyEEIAEgBiADGyEBCwJAAkAgAUKAgICAgICAwAB8Qv//////////AFYNACABIAGFIAQgAUI/h4WEQgBSDQAgAUIIhkILhCEBDAELIAQgARCKgICAACEBCyACQdABaiSAgICAACABDwsgAkHgAGogA2pCAjcDACADQQhqIQMMAAsLQoOAgIAwEKeAgIAAAAtCg4CAgMAAEKeAgIAAAAsQt4CAgAAAC0KDgICAIBCngICAAAALQoOAgIAQEKeAgIAAAAsACzEAAkAgAiAERg0AAAsgACABrUIghkIEhCADrUIghkIEhCACrUIghkIEhBCSgICAABoLewIBfwF+AkACQAJAIAGnQf8BcSICQcQARg0AIAJBCkcNAUIAIQMgAEIANwMYIAAgAUIIiDcDEAwCCyABEJmAgIAAIQMgARCagICAACEBIAAgAzcDGCAAIAE3AxBCACEDDAELIABCg5CAgIABNwMIQgEhAwsgACADNwMAC0UCAX8BfiOAgICAAEEQayICJICAgIAAIAIgACABENCAgIAAAkAgAigCAEEBRw0AAAsgAikDCCEDIAJBEGokgICAgAAgAwsaACAArUIghkIEhCABrUIghkIEhBCTgICAAAsJABDPgICAAAAL4gQBBX8jgICAgABB0ABrIgIkgICAgAAgAkEoaiAAELmAgIAAAkAgAigCKEECRg0AIAJBCGpBCGogAkEoakEIaiIDKAIANgIAIAIgAikCKDcDCCACQShqIAEQuYCAgAAgAigCKEECRg0AIAJBGGpBCGogAygCADYCACACIAIpAig3AxggAkEoahCcgICAAAJAIAIoAihBAUcNACACKAIsIAIoAjAQnYCAgAALEKCAgIAAAkACQAJAEJuAgIAADQAQuoCAgAAiA0GA+4ADIANBgPuAA0kbIQQgAiACQRhqNgIsIAIgAkEIajYCKEEAIQMDQCADQQhGDQMCQCACQShqIANqKAIAIgUoAgBBAXFFDQAgBSgCCCIGIARLDQMgBSgCBCAGSw0DCyADQQRqIQMMAAsLQoOAgIDQ/wAQp4CAgAAAC0KDgICAwP8AEKeAgIAAAAsCQAJAIAIoAghBAUcNAEEBIAIoAgwgAigCEBC7gICAAAwBC0EBEJ6AgIAAQgIQi4CAgAAaCwJAAkAgAigCGEEBRw0AQQIgAigCHCACKAIgELuAgIAADAELQQIQnoCAgABCAhCLgICAABoLIAJBKGpBCGogAkEIakEIaigCADYCACACQTxqIAJBGGpBCGooAgA2AgAgAiACKQMINwMoIAIgAikDGDcCNEG8gcCAAEEPELWAgIAAELyAgIAAIQAgAkEoahC9gICAACEBIAIgAkE0ahC9gICAADcDSCACIAE3A0AgAEHggcCAAEECIAJBwABqQQIQvoCAgAAQjICAgAAaIAJB0ABqJICAgIAAQgIPCwALaAEBfyOAgICAAEEQayICJICAgIAAAkACQCABQgJRDQAgAkEEaiABENKAgIAAAkAgAigCBEUNACAAQQI2AgAMAgsgACACKQIINwIEIABBATYCAAwBCyAAQQA2AgALIAJBEGokgICAgAALMwECfhCUgICAACEAAkAQlYCAgABCIIgiASAAQiCIIgBUDQAgAacgAKdrDwsQt4CAgAAAC1YCAX8BfiOAgICAAEEQayIDJICAgIAAIAAQnoCAgAAhBCADIAEgAhDTgICAAAJAIAMoAgBBAUcNAAALIAQgAykDCEICEI2AgIAAGiADQRBqJICAgIAAC2MDAX8BfgF/I4CAgIAAQRBrIgEkgICAgAAgASAANwMAQgIhAkEBIQMCQANAIANFDQEgA0F/aiEDIAAhAgwACwsgASACNwMIIAFBCGpBARC2gICAACEAIAFBEGokgICAgAAgAAtDAgF/AX4jgICAgABBEGsiASSAgICAACABIAAQwYCAgAACQCABKAIAQQFHDQAACyABKQMIIQIgAUEQaiSAgICAACACCy4AAkAgASADRg0AAAsgAK1CIIZCBIQgAq1CIIZCBIQgAa1CIIZCBIQQkYCAgAALxAECAn8BfiOAgICAAEHAAGsiACSAgICAACAAQQhqEJyAgIAAAkAgACgCCEEBRw0AIAAoAgwgACgCEBCdgICAAAsgAEEIahCcgICAACAAQRRqIgFBAhDAgICAACAAQTBqIABBCGoQwYCAgAACQAJAIAAoAjANACAAKQM4IQIgAEEwaiABEMGAgIAAIAAoAjBBAUcNAQsACyAAIAApAzg3AyggACACNwMgIABBIGpBAhC2gICAACECIABBwABqJICAgIAAIAILdwICfwF+I4CAgIAAQRBrIgIkgICAgABBACEDAkACQCABEJ6AgIAAIgRCAhCfgICAAEUNACACQQRqIARCAhCAgICAABDSgICAAEEBIQMgAigCBEEBRg0BIAAgAikCCDcCBAsgACADNgIAIAJBEGokgICAgAAPCwALMAACQCABKAIAQQFHDQAgACABKAIEIAEoAggQ04CAgAAPCyAAQgA3AwAgAEICNwMIC6oBAQF/I4CAgIAAQSBrIgAkgICAgAAgAEEMahCcgICAAAJAIAAoAgxBAUcNACAAKAIQIAAoAhQQnYCAgAALEKCAgIAAAkAQm4CAgABFDQBCg4CAgOD/ABCngICAAAALQQAQnoCAgABCAUICEI2AgIAAGkHwgcCAAEESELWAgIAAELyAgIAAQQRBACAAQRhqQQAQvoCAgAAQjICAgAAaIABBIGokgICAgABCAgsJABCbgICAAK0LMQACQCAAQv8Bg0IEUg0AIAFC/wGDQgRSDQAgAEIgiKcgAUIgiKcQnYCAgABCAg8LAAs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKOAgIAAIAApAwAgACkDCBCqgICAACEBIABBEGokgICAgAAgAQs+AgF/AX4jgICAgABBEGsiACSAgICAACAAEKaAgIAAIAApAwAgACkDCBCqgICAACEBIABBEGokgICAgAAgAQt9AgF/AX4jgICAgABBEGsiASSAgICAAAJAIABC/wGDQs0AUg0AIAFBBGoQnICAgAACQCABKAIEQQFHDQAgASgCCCABKAIMEJ2AgIAACxCigICAACECEKWAgIAAIAAQsYCAgAAgAiAAEMiAgIAAIAFBEGokgICAgABCAg8LAAthAgF/AX4jgICAgABBEGsiAiSAgICAAEGJgMCAAEEVELWAgIAAELyAgIAAIQMgAiAANwMIIAIgATcDACADQbCAwIAAQQIgAkECEL6AgIAAEIyAgIAAGiACQRBqJICAgIAAC90CAgF/An4jgICAgABBIGsiAiSAgICAAAJAAkACQCAAQv8Bg0LNAFINACABQv8Bg0IEUg0AIAJBCGoQnICAgAACQCACKAIIQQFHDQAgAigCDCACKAIQEJ2AgIAACxCigICAACEDAkACQCABQv////8PVg0AIAJBCGoQpoCAgAAgAikDECEBIAIpAwhBiAgQpICAgAAgASAAEI6AgIAAUEUNAxDKgICAAAwBCxC6gICAACABQiCIp0kNA0EBIABCABDLgICAAEEBEKiAgIAAQgAgAUKEgICAcIMiASABEI+AgIAAGkHAgMCAAEEWELWAgIAAELyAgIAAIQQgAiABNwMYIAIgAzcDECACIAA3AwggBEHcgMCAAEEDIAJBCGpBAxC+gICAABCMgICAABoLIAJBIGokgICAgABCAg8LAAtCg4CAgOCAARCngICAAAALQoOAgIDwgAEQp4CAgAAACxMAQQEQqICAgABCABCLgICAABoLFQAgABCogICAACABIAIQjYCAgAAaC6cBAgF/An4jgICAgABBEGsiACSAgICAACAAEJyAgIAAAkAgACgCAEEBRw0AIAAoAgQgACgCCBCdgICAAAsgABCmgICAACAAKQMIIQEgACkDAEGICBCkgICAACABEIGAgIAAGiAAEKmAgIAAAkAgACgCAA0AEM2AgIAAAAsgACkDCCECEMqAgIAAIAEQsYCAgAAgAiABEMiAgIAAIABBEGokgICAgABCAgsJABC3gICAAAALoAECAX8CfiOAgICAAEEQayIAJICAgIAAIAAQnICAgAACQCAAKAIAQQFHDQAgACgCBCAAKAIIEJ2AgIAACxCigICAACEBEKWAgIAAQQAQqICAgABCAhCLgICAABpB9IDAgABBExC1gICAABC8gICAACECIAAgATcDACACQYiBwIAAQQEgAEEBEL6AgIAAEIyAgIAAGiAAQRBqJICAgIAAQgILAwAAC9sBAgF+BH8CQAJAIAJBCUsNAEIAIQMgAiEEIAEhBQNAAkAgBA0AIANCCIZCDoQhAwwDC0EBIQYCQCAFLQAAIgdB3wBGDQACQCAHQVBqQf8BcUEKSQ0AAkAgB0G/f2pB/wFxQRpJDQAgB0Gff2pB/wFxQRlLDQQgB0FFaiEGDAILIAdBS2ohBgwBCyAHQVJqIQYLIANCBoYgBq1C/wGDhCEDIARBf2ohBCAFQQFqIQUMAAsLIAGtQiCGQgSEIAKtQiCGQgSEEJCAgIAAIQMLIABCADcDACAAIAM3AwgLUQIBfwF+I4CAgIAAQRBrIgMkgICAgAAgAyABIAIQ0ICAgABCASEEAkAgAygCAA0AIAAgAykDCDcDCEIAIQQLIAAgBDcDACADQRBqJICAgIAAC60BAgJ/AX4jgICAgABBEGsiAiSAgICAAEEAIQMCQANAIANBEEYNASACIANqQgI3AwAgA0EIaiEDDAALC0EBIQMCQCABQv8Bg0LMAFINACABQayBwIAAQQIgAkECELOAgIAAIAIpAwAiAUL/AYNCBFINACACKQMIIgRC/wGDQgRSDQAgACABQiCIpzYCCCAAIARCIIg+AgRBACEDCyAAIAM2AgAgAkEQaiSAgICAAAtgAgF/AX4jgICAgABBEGsiAySAgICAACADIAGtQiCGQgSENwMIIAMgAq1CIIZCBIQ3AwBBrIHAgABBAiADQQIQvoCAgAAhBCAAQgA3AwAgACAENwMIIANBEGokgICAgAALRAEBfyOAgICAAEEQayICJICAgIAAIAIgATcDCCACQQhqQQEQtoCAgAAhASAAQgA3AwAgACABNwMIIAJBEGokgICAgAAL1QMDAX8CfgJ/I4CAgIAAQeAAayIGJICAgIAAQgAhB0IAIQhBACEJAkAgASAChFANACADIASEUA0AQgAgA30gAyAEQgBTIgkbIQdCACABfSABIAJCAFMiChshCEIAIAQgA0IAUq18fSAEIAkbIQMgBCAChSEEAkACQEIAIAIgAUIAUq18fSACIAobIgJQDQACQCADUA0AIAZB0ABqIAcgAyAIIAIQ24CAgABBASEJIAYpA1ghASAGKQNQIQIMAgsgBkHAAGogByADIAhCABDbgICAACAGQTBqIAcgAyACQgAQ24CAgAAgBikDSCICIAYpAzB8IgEgAlQgBikDOEIAUnIhCSAGKQNAIQIMAQsCQCADUA0AIAZBIGogB0IAIAggAhDbgICAACAGQRBqIANCACAIIAIQ24CAgAAgBikDKCICIAYpAxB8IgEgAlQgBikDGEIAUnIhCSAGKQMgIQIMAQsgBiAHIAMgCCACENuAgIAAQQAhCSAGKQMIIQEgBikDACECC0IAIAJ9IAIgBEIAUyIKGyEIQgAgASACQgBSrXx9IAEgChsiByAEhUIAWQ0AQQEhCQsgACAINwMAIAUgCTYCACAAIAc3AwggBkHgAGokgICAgAALVwEBfgJAAkAgA0HAAHENACADRQ0BIAIgA0E/ca0i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AHR0bF9jb25maWdzX3NldGluc3RhbmNlcGVyc2lzdGVudAAAAMsAEAAIAAAA0wAQAAoAAAB0dGxfY29uZmlnc19mcm96ZW5Gcm96ZW5JbnN0YW5jZVBlcnNpc3RlbnRNaWdyYXRpbmdtdWx0aXBsaWVyX2Jwc3ByaWNlX2ZlZWRkc3RfZWlkY29uZmlybWF0aW9uc2RlZmF1bHRfbXVsdGlwbGllcl9icHNmbG9vcl9tYXJnaW5fdXNkZ2Fzb3B0aW9uc3F1b3J1bXNlbmRlcgBCARAADQAAAE8BEAAWAAAAOwEQAAcAAABlARAAEAAAAHUBEAADAAAAIwEQAA4AAAB4ARAABwAAADEBEAAKAAAAfwEQAAYAAACFARAABgAAAHByaWNlX3JhdGlvbmF0aXZlX3ByaWNlX3VzZHByaWNlX3JhdGlvX2Rlbm9taW5hdG9ydG90YWxfZ2FzX2ZlZQDnARAAEAAAANwBEAALAAAA9wEQABcAAAAOAhAADQAAAGVzdGltYXRlX2ZlZV9ieV9laWQAiwEOY29udHJhY3RtZXRhdjAAAAAAAAAABmJpbnZlcgAAAAAABTAuMC4xAAAAAAAAAAAAAAVyc3ZlcgAAAAAAAAYxLjkwLjAAAAAAAAAAAAAIcnNzZGt2ZXIAAAAvMjMuNC4wIzY3M2Q2YzRmMjM2OGQyODJkMjVkYTI5YmRhNTVjMjFiOGJlNjljYTYAAJ9kDmNvbnRyYWN0c3BlY3YwAAAAAAAAAAAAAAAHdXBncmFkZQAAAAABAAAAAAAAAA1uZXdfd2FzbV9oYXNoAAAAAAAD7gAAACAAAAAAAAAAAAAAAAAAAAAHbWlncmF0ZQAAAAABAAAAAAAAAA5taWdyYXRpb25fZGF0YQAAAAAH0AAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAAAAAAAAAAAAAAAACmF1dGhvcml6ZXIAAAAAAAAAAAABAAAAEwAAAAAAAAAAAAAADV9fY29uc3RydWN0b3IAAAAAAAABAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAAAAAAAAAAAAAHZ2V0X2ZlZQAAAAACAAAAAAAAAANkdm4AAAAAEwAAAAAAAAAGcGFyYW1zAAAAAAfQAAAADER2bkZlZVBhcmFtcwAAAAEAAAALAAAABAAAAAAAAAAAAAAADkR2bkZlZUxpYkVycm9yAAAAAAAEAAAAAAAAAA9FaWROb3RTdXBwb3J0ZWQAAAAAAQAAAAAAAAARSW52YWxpZERWTk9wdGlvbnMAAAAAAAACAAAAAAAAAApJbnZhbGlkRmVlAAAAAAADAAAAAAAAAAhPdmVyZmxvdwAAAAQAAAAAAAABj1NldHMgVFRMIGNvbmZpZ3MgZm9yIGluc3RhbmNlIGFuZCBwZXJzaXN0ZW50IHN0b3JhZ2UuCgotIGBOb25lYCB2YWx1ZXMgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIGNvbmZpZyAoZGlzYWJsZXMgYXV0by1leHRlbnNpb24gZm9yIHRoYXQgdHlwZSkKLSBWYWxpZGF0ZXMgdGhhdCBgdGhyZXNob2xkIDw9IGV4dGVuZF90byA8PSBNQVhfVFRMYAoKIyBBcmd1bWVudHMKLSBgaW5zdGFuY2VgIC0gVFRMIGNvbmZpZyBmb3IgaW5zdGFuY2Ugc3RvcmFnZQotIGBwZXJzaXN0ZW50YCAtIFRUTCBjb25maWcgZm9yIHBlcnNpc3RlbnQgc3RvcmFnZQoKIyBQYW5pY3MKLSBgVHRsQ29uZmlnRnJvemVuYCBpZiBjb25maWdzIGFyZSBmcm96ZW4KLSBgSW52YWxpZFR0bENvbmZpZ2AgaWYgdmFsaWRhdGlvbiBmYWlscwAAAAAPc2V0X3R0bF9jb25maWdzAAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAApwZXJzaXN0ZW50AAAAAAPoAAAH0AAAAAlUdGxDb25maWcAAAAAAAAAAAAAAAAAAEhSZXR1cm5zIHRoZSBjdXJyZW50IFRUTCBjb25maWdzIGFzIChpbnN0YW5jZV9jb25maWcsIHBlcnNpc3RlbnRfY29uZmlnKS4AAAALdHRsX2NvbmZpZ3MAAAAAAAAAAAEAAAPtAAAAAgAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAA+gAAAfQAAAACVR0bENvbmZpZwAAAAAAAAAAAADhUGVybWFuZW50bHkgZnJlZXplcyBUVEwgY29uZmlncywgcHJldmVudGluZyBhbnkgZnV0dXJlIG1vZGlmaWNhdGlvbnMuCgpUaGlzIGlzIGlycmV2ZXJzaWJsZSBhbmQgcHJvdmlkZXMgaW1tdXRhYmlsaXR5IGd1YXJhbnRlZXMgdG8gdXNlcnMuCkVtaXRzIGBUdGxDb25maWdzRnJvemVuYCBldmVudC4KCiMgUGFuaWNzCi0gYFR0bENvbmZpZ0FscmVhZHlGcm96ZW5gIGlmIGFscmVhZHkgZnJvemVuAAAAAAAAEmZyZWV6ZV90dGxfY29uZmlncwAAAAAAAAAAAAAAAAAAAAAAJ1JldHVybnMgd2hldGhlciBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAVaXNfdHRsX2NvbmZpZ3NfZnJvemVuAAAAAAAAAAAAAAEAAAABAAAAAAAAAKVFeHRlbmRzIHRoZSBpbnN0YW5jZSBUVEwuCgojIEFyZ3VtZW50cwoKKiBgdGhyZXNob2xkYCAtIFRoZSB0aHJlc2hvbGQgdG8gZXh0ZW5kIHRoZSBUVEwgKGlmIGN1cnJlbnQgVFRMIGlzIGJlbG93IHRoaXMsIGV4dGVuZCkuCiogYGV4dGVuZF90b2AgLSBUaGUgVFRMIHRvIGV4dGVuZCB0by4AAAAAAAATZXh0ZW5kX2luc3RhbmNlX3R0bAAAAAACAAAAAAAAAAl0aHJlc2hvbGQAAAAAAAAEAAAAAAAAAAlleHRlbmRfdG8AAAAAAAAEAAAAAAAAAAAAAAA+UmV0dXJucyB0aGUgY3VycmVudCBvd25lciBhZGRyZXNzLCBvciBOb25lIGlmIG5vIG93bmVyIGlzIHNldC4AAAAAAAVvd25lcgAAAAAAAAAAAAABAAAD6AAAABMAAAAAAAAAWVJldHVybnMgdGhlIHBlbmRpbmcgb3duZXIgYWRkcmVzcyBmb3IgMi1zdGVwIHRyYW5zZmVyLCBvciBOb25lIGlmIG5vIHRyYW5zZmVyIGlzIHBlbmRpbmcuAAAAAAAADXBlbmRpbmdfb3duZXIAAAAAAAAAAAAAAQAAA+gAAAATAAAAAAAAAStUcmFuc2ZlcnMgb3duZXJzaGlwIGltbWVkaWF0ZWx5IHRvIGEgbmV3IGFkZHJlc3MuCgpVc2Ugd2l0aCBjYXV0aW9uIC0gaWYgeW91IHRyYW5zZmVyIHRvIGEgd3JvbmcgYWRkcmVzcywgb3duZXJzaGlwIGlzIGxvc3QgZm9yZXZlci4KQ29uc2lkZXIgdXNpbmcgYHByb3Bvc2Vfb3duZXJzaGlwX3RyYW5zZmVyYCBpbnN0ZWFkLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgVHJhbnNmZXJJblByb2dyZXNzYCBpZiBhIDItc3RlcCB0cmFuc2ZlciBpcyBpbiBwcm9ncmVzcwAAAAASdHJhbnNmZXJfb3duZXJzaGlwAAAAAAABAAAAAAAAAAluZXdfb3duZXIAAAAAAAATAAAAAAAAAAAAAAJcUHJvcG9zZXMgYW4gb3duZXJzaGlwIHRyYW5zZmVyIHRvIGEgbmV3IGFkZHJlc3MuCgpUaGUgbmV3IG93bmVyIG11c3QgY2FsbCBgYWNjZXB0X293bmVyc2hpcCgpYCB3aXRoaW4gYHR0bGAgbGVkZ2Vycwp0byBjb21wbGV0ZSB0aGUgdHJhbnNmZXIuIFRoZSBwZW5kaW5nIHRyYW5zZmVyIHdpbGwgYXV0b21hdGljYWxseSBleHBpcmUgYWZ0ZXIuCgojIEFyZ3VtZW50cwotIGBuZXdfb3duZXJgIC0gVGhlIHByb3Bvc2VkIG5ldyBvd25lcgotIGB0dGxgIC0gTnVtYmVyIG9mIGxlZGdlcnMgdGhlIG5ldyBvd25lciBoYXMgdG8gYWNjZXB0LgpVc2UgYDBgIHRvIGNhbmNlbCBhIHBlbmRpbmcgdHJhbnNmZXIgKG5ld19vd25lciBtdXN0IG1hdGNoIHBlbmRpbmcpLgoKIyBQYW5pY3MKLSBgT3duZXJOb3RTZXRgIGlmIG5vIG93bmVyIGlzIGN1cnJlbnRseSBzZXQKLSBgTm9QZW5kaW5nVHJhbnNmZXJgIHdoZW4gY2FuY2VsbGluZyBhbmQgbm8gcGVuZGluZyB0cmFuc2ZlciBleGlzdHMKLSBgSW52YWxpZFR0bGAgaWYgdHRsIGV4Y2VlZHMgbWF4IFRUTAotIGBJbnZhbGlkUGVuZGluZ093bmVyYCB3aGVuIGNhbmNlbGxpbmcgd2l0aCB3cm9uZyBuZXdfb3duZXIgYWRkcmVzcwAAABpwcm9wb3NlX293bmVyc2hpcF90cmFuc2ZlcgAAAAAAAgAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAADdHRsAAAAAAQAAAAAAAAAAAAAALlBY2NlcHRzIGEgcGVuZGluZyAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyLgoKTXVzdCBiZSBjYWxsZWQgYnkgdGhlIHBlbmRpbmcgb3duZXIgYmVmb3JlIHRoZSBUVEwgZXhwaXJlcy4KCiMgUGFuaWNzCi0gYE5vUGVuZGluZ1RyYW5zZmVyYCBpZiB0aGVyZSBpcyBubyBwZW5kaW5nIHRyYW5zZmVyIChvciBpdCBleHBpcmVkKQAAAAAAABBhY2NlcHRfb3duZXJzaGlwAAAAAAAAAAAAAAAAAAAApFBlcm1hbmVudGx5IHJlbm91bmNlcyBvd25lcnNoaXAuCgojIFBhbmljcwotIGBPd25lck5vdFNldGAgaWYgbm8gb3duZXIgaXMgY3VycmVudGx5IHNldAotIGBUcmFuc2ZlckluUHJvZ3Jlc3NgIGlmIGEgMi1zdGVwIHRyYW5zZmVyIGlzIGluIHByb2dyZXNzIChjYW5jZWwgaXQgZmlyc3QpAAAAEnJlbm91bmNlX293bmVyc2hpcAAAAAAAAAAAAAAAAAAEAAAAHEJ1ZmZlclJlYWRlckVycm9yOiAxMDAwLTEwMDkAAAAAAAAAEUJ1ZmZlclJlYWRlckVycm9yAAAAAAAAAgAAAAAAAAANSW52YWxpZExlbmd0aAAAAAAAA+gAAAAAAAAAFUludmFsaWRBZGRyZXNzUGF5bG9hZAAAAAAAA+kAAAAEAAAAHEJ1ZmZlcldyaXRlckVycm9yOiAxMDEwLTEwMTkAAAAAAAAAEUJ1ZmZlcldyaXRlckVycm9yAAAAAAAAAQAAAAAAAAAVSW52YWxpZEFkZHJlc3NQYXlsb2FkAAAAAAAD8gAAAAQAAAAfVHRsQ29uZmlndXJhYmxlRXJyb3I6IDEwMjAtMTAyOQAAAAAAAAAAFFR0bENvbmZpZ3VyYWJsZUVycm9yAAAAAwAAAAAAAAAQSW52YWxpZFR0bENvbmZpZwAAA/wAAAAAAAAAD1R0bENvbmZpZ0Zyb3plbgAAAAP9AAAAAAAAABZUdGxDb25maWdBbHJlYWR5RnJvemVuAAAAAAP+AAAABAAAABdPd25hYmxlRXJyb3I6IDEwMzAtMTAzOQAAAAAAAAAADE93bmFibGVFcnJvcgAAAAYAAAAAAAAAE0ludmFsaWRQZW5kaW5nT3duZXIAAAAEBgAAAAAAAAAKSW52YWxpZFR0bAAAAAAEBwAAAAAAAAARTm9QZW5kaW5nVHJhbnNmZXIAAAAAAAQIAAAAAAAAAA9Pd25lckFscmVhZHlTZXQAAAAECQAAAAAAAAALT3duZXJOb3RTZXQAAAAECgAAAAAAAAASVHJhbnNmZXJJblByb2dyZXNzAAAAAAQLAAAABAAAABhCeXRlc0V4dEVycm9yOiAxMDQwLTEwNDkAAAAAAAAADUJ5dGVzRXh0RXJyb3IAAAAAAAABAAAAAAAAAA5MZW5ndGhNaXNtYXRjaAAAAAAEEAAAAAQAAAAbVXBncmFkZWFibGVFcnJvcjogMTA1MC0xMDU5AAAAAAAAAAAQVXBncmFkZWFibGVFcnJvcgAAAAEAAAAAAAAAE01pZ3JhdGlvbk5vdEFsbG93ZWQAAAAEGgAAAAQAAAAYTXVsdGlzaWdFcnJvcjogMTA2MC0xMDY5AAAAAAAAAA1NdWx0aXNpZ0Vycm9yAAAAAAAACAAAAAAAAAASQWxyZWFkeUluaXRpYWxpemVkAAAAAAQkAAAAAAAAAA1JbnZhbGlkU2lnbmVyAAAAAAAEJQAAAAAAAAAOU2lnbmF0dXJlRXJyb3IAAAAABCYAAAAAAAAAE1NpZ25lckFscmVhZHlFeGlzdHMAAAAEJwAAAAAAAAAOU2lnbmVyTm90Rm91bmQAAAAABCgAAAAAAAAAHVRvdGFsU2lnbmVyc0xlc3NUaGFuVGhyZXNob2xkAAAAAAAEKQAAAAAAAAAPVW5zb3J0ZWRTaWduZXJzAAAABCoAAAAAAAAADVplcm9UaHJlc2hvbGQAAAAAAAQrAAAABQAAADBFdmVudCBlbWl0dGVkIHdoZW4gYSBzaWduZXIgaXMgYWRkZWQgb3IgcmVtb3ZlZC4AAAAAAAAACVNpZ25lclNldAAAAAAAAAEAAAAKc2lnbmVyX3NldAAAAAAAAgAAAAAAAAAGc2lnbmVyAAAAAAPuAAAAFAAAAAEAAAAAAAAABmFjdGl2ZQAAAAAAAQAAAAAAAAACAAAABQAAADZFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHNpZ25hdHVyZSB0aHJlc2hvbGQgaXMgY2hhbmdlZC4AAAAAAAAAAAAMVGhyZXNob2xkU2V0AAAAAQAAAA10aHJlc2hvbGRfc2V0AAAAAAAAAQAAAAAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAD011bHRpc2lnU3RvcmFnZQAAAAACAAAAAAAAAAAAAAAHU2lnbmVycwAAAAAAAAAAAAAAAAlUaHJlc2hvbGQAAAAAAAAFAAAAV0V2ZW50IGVtaXR0ZWQgd2hlbiBvd25lcnNoaXAgaXMgdHJhbnNmZXJyZWQgKGJvdGggc2luZ2xlLXN0ZXAgYW5kIHR3by1zdGVwIGNvbXBsZXRpb24pLgAAAAAAAAAAFE93bmVyc2hpcFRyYW5zZmVycmVkAAAAAQAAABVvd25lcnNoaXBfdHJhbnNmZXJyZWQAAAAAAAACAAAAAAAAAAlvbGRfb3duZXIAAAAAAAATAAAAAAAAAAAAAAAJbmV3X293bmVyAAAAAAAAEwAAAAAAAAACAAAABQAAADtFdmVudCBlbWl0dGVkIHdoZW4gYSAyLXN0ZXAgb3duZXJzaGlwIHRyYW5zZmVyIGlzIHByb3Bvc2VkLgAAAAAAAAAAFU93bmVyc2hpcFRyYW5zZmVycmluZwAAAAAAAAEAAAAWb3duZXJzaGlwX3RyYW5zZmVycmluZwAAAAAAAwAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAAAAAAACW5ld19vd25lcgAAAAAAABMAAAAAAAAAAAAAAAN0dGwAAAAABAAAAAAAAAACAAAABQAAACpFdmVudCBlbWl0dGVkIHdoZW4gb3duZXJzaGlwIGlzIHJlbm91bmNlZC4AAAAAAAAAAAAST3duZXJzaGlwUmVub3VuY2VkAAAAAAABAAAAE293bmVyc2hpcF9yZW5vdW5jZWQAAAAAAQAAAAAAAAAJb2xkX293bmVyAAAAAAAAEwAAAAAAAAACAAAAAgAAAAAAAAAAAAAADk93bmFibGVTdG9yYWdlAAAAAAACAAAAAAAAAAAAAAAFT3duZXIAAAAAAAAAAAAAAAAAAAxQZW5kaW5nT3duZXIAAAABAAAASVRUTCBjb25maWd1cmF0aW9uOiB0aHJlc2hvbGQgKHdoZW4gdG8gZXh0ZW5kKSBhbmQgZXh0ZW5kX3RvICh0YXJnZXQgVFRMKS4AAAAAAAAAAAAACVR0bENvbmZpZwAAAAAAAAIAAAAoVGFyZ2V0IFRUTCBhZnRlciBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAlleHRlbmRfdG8AAAAAAAAEAAAAM1RUTCB0aHJlc2hvbGQgdGhhdCB0cmlnZ2VycyBleHRlbnNpb24gKGluIGxlZGdlcnMpLgAAAAAJdGhyZXNob2xkAAAAAAAABAAAAAUAAAAnRXZlbnQgZW1pdHRlZCB3aGVuIFRUTCBjb25maWdzIGFyZSBzZXQuAAAAAAAAAAANVHRsQ29uZmlnc1NldAAAAAAAAAEAAAAPdHRsX2NvbmZpZ3Nfc2V0AAAAAAIAAAAAAAAACGluc3RhbmNlAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAAAAAAKcGVyc2lzdGVudAAAAAAD6AAAB9AAAAAJVHRsQ29uZmlnAAAAAAAAAAAAAAIAAAAFAAAAKkV2ZW50IGVtaXR0ZWQgd2hlbiBUVEwgY29uZmlncyBhcmUgZnJvemVuLgAAAAAAAAAAABBUdGxDb25maWdzRnJvemVuAAAAAQAAABJ0dGxfY29uZmlnc19mcm96ZW4AAAAAAAAAAAACAAAAAgAAAAAAAAAAAAAAEFR0bENvbmZpZ1N0b3JhZ2UAAAADAAAAAAAAAAAAAAAGRnJvemVuAAAAAAAAAAAAAAAAAAhJbnN0YW5jZQAAAAAAAAAAAAAAClBlcnNpc3RlbnQAAAAAAAIAAAAAAAAAAAAAABJVcGdyYWRlYWJsZVN0b3JhZ2UAAAAAAAEAAAAAAAAAAAAAAAlNaWdyYXRpbmcAAAAAAAAEAAAAFldvcmtlckVycm9yOiAxMjAwLTEyOTkAAAAAAAAAAAALV29ya2VyRXJyb3IAAAAAEwAAAAAAAAASQWRtaW5BbHJlYWR5RXhpc3RzAAAAAASwAAAAAAAAAA1BZG1pbk5vdEZvdW5kAAAAAAAEsQAAAAAAAAASQWxyZWFkeU9uQWxsb3dsaXN0AAAAAASyAAAAAAAAABFBbHJlYWR5T25EZW55bGlzdAAAAAAABLMAAAAAAAAAG0F0dGVtcHRpbmdUb1JlbW92ZU9ubHlBZG1pbgAAAAS0AAAAAAAAABREZXBvc2l0QWRkcmVzc05vdFNldAAABLUAAAAAAAAAGk1lc3NhZ2VMaWJBbHJlYWR5U3VwcG9ydGVkAAAAAAS2AAAAAAAAABZNZXNzYWdlTGliTm90U3VwcG9ydGVkAAAAAAS3AAAAAAAAABBOb0FkbWluc1Byb3ZpZGVkAAAEuAAAAAAAAAAKTm90QWxsb3dlZAAAAAAEuQAAAAAAAAAOTm90T25BbGxvd2xpc3QAAAAABLoAAAAAAAAADU5vdE9uRGVueWxpc3QAAAAAAAS7AAAAAAAAABRQYXVzZVN0YXR1c1VuY2hhbmdlZAAABLwAAAAAAAAAD1ByaWNlRmVlZE5vdFNldAAAAAS9AAAAAAAAAAxSZUluaXRpYWxpemUAAAS+AAAAAAAAAAxVbmF1dGhvcml6ZWQAAAS/AAAAAAAAABVVbnN1cHBvcnRlZE1lc3NhZ2VMaWIAAAAAAATAAAAAAAAAABJXb3JrZXJGZWVMaWJOb3RTZXQAAAAABMEAAAAAAAAADldvcmtlcklzUGF1c2VkAAAAAATCAAAABQAAAAAAAAAAAAAACFNldEFkbWluAAAAAQAAAAlzZXRfYWRtaW4AAAAAAAACAAAAAAAAAAVhZG1pbgAAAAAAABMAAAAAAAAAAAAAAAZhY3RpdmUAAAAAAAEAAAAAAAAAAgAAAAUAAAAAAAAAAAAAABZTZXRTdXBwb3J0ZWRNZXNzYWdlTGliAAAAAAABAAAAGXNldF9zdXBwb3J0ZWRfbWVzc2FnZV9saWIAAAAAAAACAAAAAAAAAAttZXNzYWdlX2xpYgAAAAATAAAAAAAAAAAAAAAJc3VwcG9ydGVkAAAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAADFNldEFsbG93bGlzdAAAAAEAAAANc2V0X2FsbG93bGlzdAAAAAAAAAIAAAAAAAAABG9hcHAAAAATAAAAAAAAAAAAAAAHYWxsb3dlZAAAAAABAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAALU2V0RGVueWxpc3QAAAAAAQAAAAxzZXRfZGVueWxpc3QAAAACAAAAAAAAAARvYXBwAAAAEwAAAAAAAAAAAAAABmRlbmllZAAAAAAAAQAAAAAAAAACAAAABQAAAAAAAAAAAAAABlBhdXNlZAAAAAAAAQAAAAZwYXVzZWQAAAAAAAEAAAAAAAAABnBhdXNlcgAAAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAACFVucGF1c2VkAAAAAQAAAAh1bnBhdXNlZAAAAAEAAAAAAAAACHVucGF1c2VyAAAAEwAAAAAAAAACAAAABQAAAAAAAAAAAAAAF1NldERlZmF1bHRNdWx0aXBsaWVyQnBzAAAAAAEAAAAac2V0X2RlZmF1bHRfbXVsdGlwbGllcl9icHMAAAAAAAEAAAAAAAAADm11bHRpcGxpZXJfYnBzAAAAAAAEAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAARU2V0RGVwb3NpdEFkZHJlc3MAAAAAAAABAAAAE3NldF9kZXBvc2l0X2FkZHJlc3MAAAAAAQAAAAAAAAAPZGVwb3NpdF9hZGRyZXNzAAAAABMAAAAAAAAAAgAAAAUAAAAAAAAAAAAAAAxTZXRQcmljZUZlZWQAAAABAAAADnNldF9wcmljZV9mZWVkAAAAAAABAAAAAAAAAApwcmljZV9mZWVkAAAAAAATAAAAAAAAAAIAAAAFAAAAAAAAAAAAAAAXU2V0U3VwcG9ydGVkT3B0aW9uVHlwZXMAAAAAAQAAABpzZXRfc3VwcG9ydGVkX29wdGlvbl90eXBlcwAAAAAAAgAAAAAAAAAHZHN0X2VpZAAAAAAEAAAAAAAAAAAAAAAMb3B0aW9uX3R5cGVzAAAADgAAAAAAAAACAAAABQAAAAAAAAAAAAAAD1NldFdvcmtlckZlZUxpYgAAAAABAAAAEnNldF93b3JrZXJfZmVlX2xpYgAAAAAAAQAAAAAAAAAHZmVlX2xpYgAAAAATAAAAAAAAAAIAAAABAAAA4VBhcmFtZXRlcnMgZm9yIERWTiBmZWUgY2FsY3VsYXRpb24uCgpDb250YWlucyBhbGwgaW5wdXRzIG5lZWRlZCBieSB0aGUgZmVlIGxpYnJhcnkgdG8gY2FsY3VsYXRlIHZlcmlmaWNhdGlvbiBmZWVzCmZvciBjcm9zcy1jaGFpbiBtZXNzYWdlcy4gSW5jbHVkZXMgbWVzc2FnZSBwYXJhbWV0ZXJzLCBjb21tb24gY29uZmlndXJhdGlvbiwKYW5kIGRlc3RpbmF0aW9uLXNwZWNpZmljIHNldHRpbmdzLgAAAAAAAAAAAAAMRHZuRmVlUGFyYW1zAAAACgAAACdOdW1iZXIgb2YgYmxvY2sgY29uZmlybWF0aW9ucyByZXF1aXJlZC4AAAAADWNvbmZpcm1hdGlvbnMAAAAAAAAGAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkRlc3RpbmF0aW9uLVNwZWNpZmljIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KR2FzIGVzdGltYXRlIGZvciB2ZXJpZmljYXRpb24gb24gZGVzdGluYXRpb24gY2hhaW4uAAAAA2dhcwAAAAAKAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAAAtEVk4gb3B0aW9ucwAAAAAHb3B0aW9ucwAAAAAOAAABED09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNvbW1vbiBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClByaWNlIGZlZWQgY29udHJhY3QgYWRkcmVzcyBmb3IgZ2FzIHByaWNlIGFuZCBleGNoYW5nZSByYXRlIGRhdGEuAAAACnByaWNlX2ZlZWQAAAAAABMAAAAnTnVtYmVyIG9mIHJlcXVpcmVkIHNpZ25hdHVyZXMgKHF1b3J1bSkuAAAAAAZxdW9ydW0AAAAAAAQAAADlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTWVzc2FnZSBQYXJhbWV0ZXJzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClRoZSBPQXBwIHNlbmRlciBhZGRyZXNzLgAAAAAAAAZzZW5kZXIAAAAAABMAAAABAAAA41BhcmFtZXRlcnMgZm9yIGV4ZWN1dG9yIGZlZSBjYWxjdWxhdGlvbi4KCkNvbnRhaW5zIGFsbCBpbnB1dHMgbmVlZGVkIGJ5IHRoZSBmZWUgbGlicmFyeSB0byBjYWxjdWxhdGUgZXhlY3V0aW9uIGZlZXMKZm9yIGNyb3NzLWNoYWluIG1lc3NhZ2VzLiBJbmNsdWRlcyBtZXNzYWdlIHBhcmFtZXRlcnMsIGNvbW1vbiBjb25maWd1cmF0aW9uLAphbmQgZGVzdGluYXRpb24tc3BlY2lmaWMgc2V0dGluZ3MuAAAAAAAAAAAJRmVlUGFyYW1zAAAAAAAACwAAACZTaXplIG9mIHRoZSBtZXNzYWdlIGNhbGxkYXRhIGluIGJ5dGVzLgAAAAAADWNhbGxkYXRhX3NpemUAAAAAAAAEAAAATERlZmF1bHQgZmVlIG11bHRpcGxpZXIgaW4gYmFzaXMgcG9pbnRzICh1c2VkIGlmIG5vIGRzdC1zcGVjaWZpYyBtdWx0aXBsaWVyKS4AAAAWZGVmYXVsdF9tdWx0aXBsaWVyX2JwcwAAAAAABAAAACtEZXN0aW5hdGlvbiBlbmRwb2ludCBJRCAoY2hhaW4gaWRlbnRpZmllcikuAAAAAAdkc3RfZWlkAAAAAAQAAAAjTWluaW11bSBmZWUgbWFyZ2luIGluIFVTRCAoc2NhbGVkKS4AAAAAEGZsb29yX21hcmdpbl91c2QAAAAKAAAANkJhc2UgZ2FzIGZvciBlYWNoIGx6Q29tcG9zZSBjYWxsIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAAE2x6X2NvbXBvc2VfYmFzZV9nYXMAAAAABgAAARM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpEZXN0aW5hdGlvbi1TcGVjaWZpYyBDb25maWd1cmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkJhc2UgZ2FzIGZvciBselJlY2VpdmUgZXhlY3V0aW9uIG9uIGRlc3RpbmF0aW9uIGNoYWluLgAAAAATbHpfcmVjZWl2ZV9iYXNlX2dhcwAAAAAGAAAARkRlc3RpbmF0aW9uLXNwZWNpZmljIGZlZSBtdWx0aXBsaWVyIGluIGJhc2lzIHBvaW50cyAoMCA9IHVzZSBkZWZhdWx0KS4AAAAAAA5tdWx0aXBsaWVyX2JwcwAAAAAABAAAACxNYXhpbXVtIG5hdGl2ZSB0b2tlbiB2YWx1ZSB0aGF0IGNhbiBiZSBzZW50LgAAAApuYXRpdmVfY2FwAAAAAAAKAAAARkVuY29kZWQgZXhlY3V0b3Igb3B0aW9ucyAobHpSZWNlaXZlIGdhcywgbHpDb21wb3NlLCBuYXRpdmVEcm9wLCBldGMuKS4AAAAAAAdvcHRpb25zAAAAAA4AAAEQPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ29tbW9uIENvbmZpZ3VyYXRpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJpY2UgZmVlZCBjb250cmFjdCBhZGRyZXNzIGZvciBnYXMgcHJpY2UgYW5kIGV4Y2hhbmdlIHJhdGUgZGF0YS4AAAAKcHJpY2VfZmVlZAAAAAAAEwAAAOU9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpNZXNzYWdlIFBhcmFtZXRlcnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KVGhlIE9BcHAgc2VuZGVyIGFkZHJlc3MuAAAAAAAABnNlbmRlcgAAAAAAEwAAAAEAAACER2FzIHByaWNlIGluZm9ybWF0aW9uIGZvciBhIGRlc3RpbmF0aW9uIGVuZHBvaW50LgoKQ29udGFpbnMgdGhlIGV4Y2hhbmdlIHJhdGUgYW5kIGdhcyBjb3N0cyBuZWVkZWQgZm9yIGNyb3NzLWNoYWluIGZlZSBjYWxjdWxhdGlvbnMuAAAAAAAAAAVQcmljZQAAAAAAAAMAAAA3R2FzIGNvc3QgcGVyIGJ5dGUgb2YgY2FsbGRhdGEgb24gdGhlIGRlc3RpbmF0aW9uIGNoYWluLgAAAAAMZ2FzX3Blcl9ieXRlAAAABAAAAEJHYXMgcHJpY2UgaW4gdGhlIHNtYWxsZXN0IHVuaXQgKHdlaSBmb3IgRVZNLCBzdHJvb3BzIGZvciBTdGVsbGFyKS4AAAAAABFnYXNfcHJpY2VfaW5fdW5pdAAAAAAAAAYAAACpUHJpY2UgcmF0aW8gPSAocmVtb3RlIG5hdGl2ZSB0b2tlbiBwcmljZSAvIGxvY2FsIG5hdGl2ZSB0b2tlbiBwcmljZSkgKiBQUklDRV9SQVRJT19ERU5PTUlOQVRPUi4KVXNlZCB0byBjb252ZXJ0IGRlc3RpbmF0aW9uIGNoYWluIGdhcyBjb3N0cyB0byBzb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAAQAAAIBGZWUgZXN0aW1hdGlvbiByZXN1bHQgd2l0aCBkZXRhaWxlZCBicmVha2Rvd24uCgpDb250YWlucyB0aGUgY2FsY3VsYXRlZCBmZWUgYW5kIGFsbCBpbnRlcm1lZGlhdGUgdmFsdWVzIHVzZWQgaW4gdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAALRmVlRXN0aW1hdGUAAAAABAAAADBTb3VyY2UgY2hhaW4gbmF0aXZlIHRva2VuIHByaWNlIGluIFVTRCAoc2NhbGVkKS4AAAAQbmF0aXZlX3ByaWNlX3VzZAAAAAoAAAAlUHJpY2UgcmF0aW8gdXNlZCBmb3IgdGhlIGNhbGN1bGF0aW9uLgAAAAAAAAtwcmljZV9yYXRpbwAAAAAKAAAAMkRlbm9taW5hdG9yIGZvciB0aGUgcHJpY2UgcmF0aW8gKHR5cGljYWxseSAxMF4yMCkuAAAAAAAXcHJpY2VfcmF0aW9fZGVub21pbmF0b3IAAAAACgAAADFUb3RhbCBnYXMgZmVlIGluIHNvdXJjZSBjaGFpbiBuYXRpdmUgdG9rZW4gdW5pdHMuAAAAAAAADXRvdGFsX2dhc19mZWUAAAAAAAALAAAAAgAAAAAAAAAAAAAADVdvcmtlclN0b3JhZ2UAAAAAAAALAAAAAAAAAAAAAAAGUGF1c2VkAAAAAAAAAAAAAAAAAA5EZXBvc2l0QWRkcmVzcwAAAAAAAAAAAAAAAAAJUHJpY2VGZWVkAAAAAAAAAAAAAAAAAAAMV29ya2VyRmVlTGliAAAAAAAAAAAAAAAURGVmYXVsdE11bHRpcGxpZXJCcHMAAAABAAAAAAAAABRTdXBwb3J0ZWRPcHRpb25UeXBlcwAAAAEAAAAEAAAAAAAAAAAAAAALTWVzc2FnZUxpYnMAAAAAAQAAAAAAAAAJQWxsb3dsaXN0AAAAAAAAAQAAABMAAAABAAAAAAAAAAhEZW55bGlzdAAAAAEAAAATAAAAAAAAAAAAAAANQWxsb3dsaXN0U2l6ZQAAAAAAAAAAAAAAAAAABkFkbWlucwAAAB4RY29udHJhY3RlbnZtZXRhdjAAAAAAAAAAFwAAAAA=";
13
+ /**
14
+ * Pre-computed WASM hash (SHA-256)
15
+ * Use this when the WASM is already uploaded on-chain
16
+ */
17
+ export declare const WASM_HASH = "bc0c5db74d86951e8ef2edf14feb273b5a4eb8d038b3f0d191981161ba98d5dd";
18
+ /**
19
+ * Get the WASM bytecode as a Buffer
20
+ * Use this to upload the WASM to the network
21
+ */
22
+ export declare function getWasmBuffer(): Buffer;
8
23
  export declare const DvnFeeLibError: {
9
24
  1: {
10
25
  message: string;
@@ -62,6 +77,18 @@ export declare const OwnableError: {
62
77
  1031: {
63
78
  message: string;
64
79
  };
80
+ 1032: {
81
+ message: string;
82
+ };
83
+ 1033: {
84
+ message: string;
85
+ };
86
+ 1034: {
87
+ message: string;
88
+ };
89
+ 1035: {
90
+ message: string;
91
+ };
65
92
  };
66
93
  /**
67
94
  * BytesExtError: 1040-1049
@@ -118,6 +145,9 @@ export type MultisigStorage = {
118
145
  export type OwnableStorage = {
119
146
  tag: "Owner";
120
147
  values: void;
148
+ } | {
149
+ tag: "PendingOwner";
150
+ values: void;
121
151
  };
122
152
  /**
123
153
  * TTL configuration: threshold (when to extend) and extend_to (target TTL).
@@ -617,9 +647,34 @@ export interface Client {
617
647
  */
618
648
  simulate?: boolean;
619
649
  }) => Promise<AssembledTransaction<Option<string>>>;
650
+ /**
651
+ * Construct and simulate a pending_owner transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
652
+ * Returns the pending owner address for 2-step transfer, or None if no transfer is pending.
653
+ */
654
+ pending_owner: (txnOptions?: {
655
+ /**
656
+ * The fee to pay for the transaction. Default: BASE_FEE
657
+ */
658
+ fee?: number;
659
+ /**
660
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
661
+ */
662
+ timeoutInSeconds?: number;
663
+ /**
664
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
665
+ */
666
+ simulate?: boolean;
667
+ }) => Promise<AssembledTransaction<Option<string>>>;
620
668
  /**
621
669
  * Construct and simulate a transfer_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
622
- * Transfers ownership to a new address. Requires current owner authorization.
670
+ * Transfers ownership immediately to a new address.
671
+ *
672
+ * Use with caution - if you transfer to a wrong address, ownership is lost forever.
673
+ * Consider using `propose_ownership_transfer` instead.
674
+ *
675
+ * # Panics
676
+ * - `OwnerNotSet` if no owner is currently set
677
+ * - `TransferInProgress` if a 2-step transfer is in progress
623
678
  */
624
679
  transfer_ownership: ({ new_owner }: {
625
680
  new_owner: string;
@@ -637,9 +692,71 @@ export interface Client {
637
692
  */
638
693
  simulate?: boolean;
639
694
  }) => Promise<AssembledTransaction<null>>;
695
+ /**
696
+ * Construct and simulate a propose_ownership_transfer transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
697
+ * Proposes an ownership transfer to a new address.
698
+ *
699
+ * The new owner must call `accept_ownership()` within `ttl` ledgers
700
+ * to complete the transfer. The pending transfer will automatically expire after.
701
+ *
702
+ * # Arguments
703
+ * - `new_owner` - The proposed new owner
704
+ * - `ttl` - Number of ledgers the new owner has to accept.
705
+ * Use `0` to cancel a pending transfer (new_owner must match pending).
706
+ *
707
+ * # Panics
708
+ * - `OwnerNotSet` if no owner is currently set
709
+ * - `NoPendingTransfer` when cancelling and no pending transfer exists
710
+ * - `InvalidTtl` if ttl exceeds max TTL
711
+ * - `InvalidPendingOwner` when cancelling with wrong new_owner address
712
+ */
713
+ propose_ownership_transfer: ({ new_owner, ttl }: {
714
+ new_owner: string;
715
+ ttl: u32;
716
+ }, txnOptions?: {
717
+ /**
718
+ * The fee to pay for the transaction. Default: BASE_FEE
719
+ */
720
+ fee?: number;
721
+ /**
722
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
723
+ */
724
+ timeoutInSeconds?: number;
725
+ /**
726
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
727
+ */
728
+ simulate?: boolean;
729
+ }) => Promise<AssembledTransaction<null>>;
730
+ /**
731
+ * Construct and simulate a accept_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
732
+ * Accepts a pending 2-step ownership transfer.
733
+ *
734
+ * Must be called by the pending owner before the TTL expires.
735
+ *
736
+ * # Panics
737
+ * - `NoPendingTransfer` if there is no pending transfer (or it expired)
738
+ */
739
+ accept_ownership: (txnOptions?: {
740
+ /**
741
+ * The fee to pay for the transaction. Default: BASE_FEE
742
+ */
743
+ fee?: number;
744
+ /**
745
+ * The maximum amount of time to wait for the transaction to complete. Default: DEFAULT_TIMEOUT
746
+ */
747
+ timeoutInSeconds?: number;
748
+ /**
749
+ * Whether to automatically simulate the transaction when constructing the AssembledTransaction. Default: true
750
+ */
751
+ simulate?: boolean;
752
+ }) => Promise<AssembledTransaction<null>>;
640
753
  /**
641
754
  * Construct and simulate a renounce_ownership transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
642
- * Permanently renounces ownership. Requires current owner authorization.
755
+ * Permanently renounces ownership.
756
+ *
757
+ * # Panics
758
+ * - `OwnerNotSet` if no owner is currently set
759
+ * - `TransferInProgress` if a 2-step transfer is in progress (cancel it first)
643
760
  */
644
761
  renounce_ownership: (txnOptions?: {
645
762
  /**
@@ -684,7 +801,10 @@ export declare class Client extends ContractClient {
684
801
  is_ttl_configs_frozen: (json: string) => AssembledTransaction<boolean>;
685
802
  extend_instance_ttl: (json: string) => AssembledTransaction<null>;
686
803
  owner: (json: string) => AssembledTransaction<Option<string>>;
804
+ pending_owner: (json: string) => AssembledTransaction<Option<string>>;
687
805
  transfer_ownership: (json: string) => AssembledTransaction<null>;
806
+ propose_ownership_transfer: (json: string) => AssembledTransaction<null>;
807
+ accept_ownership: (json: string) => AssembledTransaction<null>;
688
808
  renounce_ownership: (json: string) => AssembledTransaction<null>;
689
809
  };
690
810
  }