@layerzerolabs/protocol-stellar-v2 0.2.19 → 0.2.20

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 (125) hide show
  1. package/.turbo/turbo-build.log +245 -222
  2. package/.turbo/turbo-lint.log +77 -70
  3. package/.turbo/turbo-test.log +1385 -1221
  4. package/Cargo.lock +13 -3
  5. package/Cargo.toml +2 -0
  6. package/contracts/ERROR_SPEC.md +8 -1
  7. package/contracts/common-macros/src/contract_ttl.rs +18 -7
  8. package/contracts/common-macros/src/lib.rs +4 -4
  9. package/contracts/common-macros/src/tests/contract_ttl.rs +1 -1
  10. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__contract_ttl__snapshot_generated_contractimpl_code.snap +2 -1
  11. package/contracts/common-macros/src/tests/snapshots/common_macros__tests__upgradeable__snapshot_generated_upgradeable_code.snap +7 -12
  12. package/contracts/common-macros/src/upgradeable.rs +15 -21
  13. package/contracts/message-libs/uln-302/src/events.rs +4 -0
  14. package/contracts/message-libs/uln-302/src/send_uln.rs +22 -6
  15. package/contracts/message-libs/uln-302/src/tests/send_uln302/send.rs +38 -64
  16. package/contracts/oapps/counter/Cargo.toml +1 -0
  17. package/contracts/oapps/counter/integration_tests/setup_uln.rs +1 -1
  18. package/contracts/oapps/oapp/src/tests/test_oapp_core.rs +113 -65
  19. package/contracts/oapps/oapp/src/tests/test_oapp_options_type3.rs +111 -82
  20. package/contracts/oapps/oapp/src/tests/test_oapp_receiver.rs +293 -65
  21. package/contracts/oapps/oapp/src/tests/test_oapp_sender.rs +331 -56
  22. package/contracts/oapps/oft/src/extensions/oft_fee.rs +18 -2
  23. package/contracts/oapps/oft/src/extensions/pausable.rs +19 -4
  24. package/contracts/oapps/oft/src/extensions/rate_limiter.rs +52 -28
  25. package/contracts/oapps/oft/src/oft.rs +29 -41
  26. package/contracts/oapps/oft/src/oft_types/mint_burn.rs +3 -25
  27. package/contracts/oapps/oft-core/integration-tests/setup.rs +2 -2
  28. package/contracts/oapps/oft-core/src/oft_core.rs +247 -207
  29. package/contracts/oapps/oft-core/src/tests/test_utils.rs +4 -4
  30. package/contracts/upgrader/src/lib.rs +30 -57
  31. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract1.wasm +0 -0
  32. package/contracts/upgrader/src/tests/test_data/test_upgradeable_contract2.wasm +0 -0
  33. package/contracts/upgrader/src/tests/test_upgrader.rs +44 -35
  34. package/contracts/utils/src/buffer_reader.rs +1 -0
  35. package/contracts/utils/src/errors.rs +3 -1
  36. package/contracts/utils/src/tests/upgradeable.rs +372 -175
  37. package/contracts/utils/src/ttl_configurable.rs +3 -3
  38. package/contracts/utils/src/upgradeable.rs +48 -23
  39. package/contracts/workers/dvn/Cargo.toml +1 -0
  40. package/contracts/workers/dvn/src/auth.rs +12 -42
  41. package/contracts/workers/dvn/src/dvn.rs +16 -31
  42. package/contracts/workers/dvn/src/errors.rs +0 -1
  43. package/contracts/workers/dvn/src/interfaces/dvn.rs +35 -0
  44. package/contracts/workers/dvn/src/lib.rs +4 -3
  45. package/contracts/workers/dvn/src/tests/auth.rs +1 -1
  46. package/contracts/workers/dvn/src/tests/dvn.rs +19 -15
  47. package/contracts/workers/dvn/src/tests/multisig/set_threshold.rs +2 -4
  48. package/contracts/workers/dvn/src/tests/multisig/verify_signatures.rs +1 -3
  49. package/contracts/workers/dvn/src/tests/setup.rs +5 -9
  50. package/contracts/workers/dvn-fee-lib/Cargo.toml +1 -1
  51. package/contracts/workers/dvn-fee-lib/src/dvn_fee_lib.rs +3 -5
  52. package/contracts/workers/dvn-fee-lib/src/tests/dvn_fee_lib.rs +2 -3
  53. package/contracts/workers/executor/Cargo.toml +1 -0
  54. package/contracts/workers/executor/src/executor.rs +15 -26
  55. package/contracts/workers/executor-fee-lib/Cargo.toml +2 -1
  56. package/contracts/workers/executor-fee-lib/src/executor_fee_lib.rs +63 -5
  57. package/contracts/workers/executor-fee-lib/src/executor_option.rs +28 -1
  58. package/contracts/workers/executor-fee-lib/src/lib.rs +3 -0
  59. package/contracts/workers/executor-fee-lib/src/tests/executor_fee_lib.rs +701 -0
  60. package/contracts/workers/executor-fee-lib/src/tests/executor_option.rs +370 -0
  61. package/contracts/workers/executor-fee-lib/src/tests/mod.rs +4 -0
  62. package/contracts/workers/executor-fee-lib/src/tests/setup.rs +60 -0
  63. package/contracts/workers/executor-helper/src/lib.rs +3 -0
  64. package/contracts/workers/executor-helper/src/tests/executor_helper.rs +184 -0
  65. package/contracts/workers/executor-helper/src/tests/mod.rs +2 -0
  66. package/contracts/workers/executor-helper/src/tests/setup.rs +366 -0
  67. package/contracts/workers/fee-lib-interfaces/Cargo.toml +14 -0
  68. package/contracts/workers/{worker/src/interfaces/mod.rs → fee-lib-interfaces/src/lib.rs} +4 -3
  69. package/contracts/workers/price-feed/Cargo.toml +2 -1
  70. package/contracts/workers/price-feed/src/events.rs +1 -1
  71. package/contracts/workers/price-feed/src/lib.rs +3 -0
  72. package/contracts/workers/price-feed/src/price_feed.rs +6 -12
  73. package/contracts/workers/price-feed/src/storage.rs +1 -1
  74. package/contracts/workers/price-feed/src/tests/mod.rs +2 -0
  75. package/contracts/workers/price-feed/src/tests/price_feed.rs +869 -0
  76. package/contracts/workers/price-feed/src/tests/setup.rs +70 -0
  77. package/contracts/workers/price-feed/src/types.rs +1 -1
  78. package/contracts/workers/worker/src/errors.rs +0 -3
  79. package/contracts/workers/worker/src/lib.rs +0 -2
  80. package/contracts/workers/worker/src/storage.rs +32 -29
  81. package/contracts/workers/worker/src/tests/setup.rs +1 -7
  82. package/contracts/workers/worker/src/tests/worker.rs +50 -42
  83. package/contracts/workers/worker/src/worker.rs +49 -58
  84. package/package.json +3 -3
  85. package/sdk/.turbo/turbo-test.log +220 -218
  86. package/sdk/dist/generated/bml.d.ts +12 -4
  87. package/sdk/dist/generated/bml.js +8 -6
  88. package/sdk/dist/generated/counter.d.ts +12 -4
  89. package/sdk/dist/generated/counter.js +8 -6
  90. package/sdk/dist/generated/dvn.d.ts +404 -365
  91. package/sdk/dist/generated/dvn.js +55 -53
  92. package/sdk/dist/generated/dvn_fee_lib.d.ts +224 -268
  93. package/sdk/dist/generated/dvn_fee_lib.js +22 -53
  94. package/sdk/dist/generated/endpoint.d.ts +12 -4
  95. package/sdk/dist/generated/endpoint.js +8 -6
  96. package/sdk/dist/generated/executor.d.ts +370 -326
  97. package/sdk/dist/generated/executor.js +47 -44
  98. package/sdk/dist/generated/executor_fee_lib.d.ts +258 -302
  99. package/sdk/dist/generated/executor_fee_lib.js +21 -52
  100. package/sdk/dist/generated/executor_helper.d.ts +26 -190
  101. package/sdk/dist/generated/executor_helper.js +22 -27
  102. package/sdk/dist/generated/layerzero_view.d.ts +1271 -0
  103. package/sdk/dist/generated/layerzero_view.js +294 -0
  104. package/sdk/dist/generated/oft.d.ts +49 -40
  105. package/sdk/dist/generated/oft.js +25 -23
  106. package/sdk/dist/generated/price_feed.d.ts +225 -269
  107. package/sdk/dist/generated/price_feed.js +22 -53
  108. package/sdk/dist/generated/sml.d.ts +12 -4
  109. package/sdk/dist/generated/sml.js +8 -6
  110. package/sdk/dist/generated/treasury.d.ts +12 -4
  111. package/sdk/dist/generated/treasury.js +8 -6
  112. package/sdk/dist/generated/uln302.d.ts +12 -4
  113. package/sdk/dist/generated/uln302.js +10 -8
  114. package/sdk/dist/generated/upgrader.d.ts +189 -18
  115. package/sdk/dist/generated/upgrader.js +84 -4
  116. package/sdk/dist/index.d.ts +1 -0
  117. package/sdk/dist/index.js +2 -0
  118. package/sdk/package.json +1 -1
  119. package/sdk/src/index.ts +3 -0
  120. package/sdk/test/oft-sml.test.ts +4 -4
  121. package/sdk/test/upgrader.test.ts +2 -3
  122. package/tools/ts-bindings-gen/src/main.rs +2 -1
  123. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/dvn_fee_lib.rs +0 -0
  124. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/executor_fee_lib.rs +0 -0
  125. /package/contracts/workers/{worker/src/interfaces → fee-lib-interfaces/src}/price_feed.rs +0 -0
@@ -1,5 +1,5 @@
1
- use crate::upgradeable::{self, Upgradeable, UpgradeableInternal, UpgradeableStorage};
2
- use soroban_sdk::{contract, contractimpl, Bytes, BytesN, Env, Symbol};
1
+ use crate::upgradeable::{Upgradeable, UpgradeableInternal, UpgradeableStorage};
2
+ use soroban_sdk::{contract, contractimpl, xdr::ToXdr, Address, Bytes, BytesN, Env, Symbol, Val};
3
3
 
4
4
  // #![no_std]
5
5
 
@@ -32,156 +32,276 @@ use soroban_sdk::{contract, contractimpl, Bytes, BytesN, Env, Symbol};
32
32
  // Hardcoded test WASM bytes for upgrade testing
33
33
  // This is the compiled above dummy_contract WASM
34
34
  const TEST_WASM: &[u8] = &[
35
- 0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x29, 0x08, 0x60, 0x01, 0x7e, 0x01, 0x7e, 0x60, 0x02, 0x7e,
36
- 0x7e, 0x01, 0x7e, 0x60, 0x03, 0x7e, 0x7e, 0x7e, 0x01, 0x7e, 0x60, 0x01, 0x7f, 0x00, 0x60, 0x00, 0x01, 0x7e, 0x60,
37
- 0x00, 0x00, 0x60, 0x03, 0x7f, 0x7f, 0x7f, 0x00, 0x60, 0x02, 0x7e, 0x7e, 0x00, 0x02, 0x31, 0x08, 0x01, 0x62, 0x01,
38
- 0x38, 0x00, 0x00, 0x01, 0x6c, 0x01, 0x36, 0x00, 0x00, 0x01, 0x6c, 0x01, 0x30, 0x00, 0x01, 0x01, 0x6c, 0x01, 0x31,
39
- 0x00, 0x01, 0x01, 0x62, 0x01, 0x6a, 0x00, 0x01, 0x01, 0x78, 0x01, 0x35, 0x00, 0x00, 0x01, 0x6c, 0x01, 0x5f, 0x00,
40
- 0x02, 0x01, 0x76, 0x01, 0x67, 0x00, 0x01, 0x03, 0x08, 0x07, 0x00, 0x03, 0x00, 0x04, 0x05, 0x06, 0x07, 0x05, 0x03,
41
- 0x01, 0x00, 0x11, 0x06, 0x21, 0x04, 0x7f, 0x01, 0x41, 0x80, 0x80, 0xc0, 0x00, 0x0b, 0x7f, 0x00, 0x41, 0x88, 0x80,
42
- 0xc0, 0x00, 0x0b, 0x7f, 0x00, 0x41, 0x91, 0x80, 0xc0, 0x00, 0x0b, 0x7f, 0x00, 0x41, 0xa0, 0x80, 0xc0, 0x00, 0x0b,
43
- 0x07, 0x3d, 0x06, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x02, 0x00, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64,
44
- 0x65, 0x00, 0x08, 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x00, 0x0a, 0x01, 0x5f, 0x03, 0x01, 0x0a, 0x5f,
45
- 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x64, 0x03, 0x02, 0x0b, 0x5f, 0x5f, 0x68, 0x65, 0x61, 0x70, 0x5f,
46
- 0x62, 0x61, 0x73, 0x65, 0x03, 0x03, 0x0a, 0x80, 0x05, 0x07, 0x41, 0x00, 0x02, 0x40, 0x02, 0x40, 0x20, 0x00, 0x42,
47
- 0xff, 0x01, 0x83, 0x42, 0xc8, 0x00, 0x52, 0x0d, 0x00, 0x20, 0x00, 0x10, 0x80, 0x80, 0x80, 0x80, 0x00, 0x42, 0x80,
48
- 0x80, 0x80, 0x80, 0x70, 0x83, 0x42, 0x80, 0x80, 0x80, 0x80, 0x80, 0x04, 0x51, 0x0d, 0x01, 0x0b, 0x00, 0x0b, 0x41,
49
- 0x01, 0x10, 0x89, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x10, 0x81, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x42, 0x02, 0x0b,
50
- 0x15, 0x00, 0x10, 0x8b, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0xad, 0x42, 0xff, 0x01, 0x83, 0x10, 0x8e, 0x80, 0x80,
51
- 0x80, 0x00, 0x0b, 0x97, 0x01, 0x01, 0x01, 0x7f, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x01,
52
- 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x02, 0x40, 0x20, 0x00, 0x42, 0xff, 0x01, 0x83, 0x42, 0x02, 0x52, 0x0d, 0x00,
53
- 0x02, 0x40, 0x02, 0x40, 0x10, 0x8b, 0x80, 0x80, 0x80, 0x00, 0x22, 0x00, 0x42, 0x02, 0x10, 0x82, 0x80, 0x80, 0x80,
54
- 0x00, 0x42, 0x01, 0x52, 0x0d, 0x00, 0x20, 0x00, 0x42, 0x02, 0x10, 0x83, 0x80, 0x80, 0x80, 0x00, 0xa7, 0x41, 0xff,
55
- 0x01, 0x71, 0x0e, 0x02, 0x00, 0x01, 0x02, 0x0b, 0x10, 0x8c, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0b, 0x41, 0x00, 0x10,
56
- 0x89, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x41, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x41, 0x08, 0x10, 0x8d, 0x80, 0x80,
57
- 0x80, 0x00, 0x20, 0x01, 0x28, 0x02, 0x00, 0x41, 0x01, 0x46, 0x0d, 0x00, 0x20, 0x01, 0x29, 0x03, 0x08, 0x42, 0x01,
58
- 0x10, 0x8e, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x42, 0x02,
59
- 0x0f, 0x0b, 0x00, 0x0b, 0x63, 0x02, 0x01, 0x7f, 0x01, 0x7e, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b,
60
- 0x22, 0x00, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x41, 0x88, 0x80, 0xc0, 0x80, 0x00, 0x41, 0x09, 0x10,
61
- 0x8d, 0x80, 0x80, 0x80, 0x00, 0x02, 0x40, 0x20, 0x00, 0x28, 0x02, 0x00, 0x41, 0x01, 0x47, 0x0d, 0x00, 0x00, 0x0b,
62
- 0x20, 0x00, 0x20, 0x00, 0x29, 0x03, 0x08, 0x37, 0x03, 0x00, 0x20, 0x00, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04, 0x84,
63
- 0x42, 0x84, 0x80, 0x80, 0x80, 0x10, 0x10, 0x87, 0x80, 0x80, 0x80, 0x00, 0x21, 0x01, 0x20, 0x00, 0x41, 0x10, 0x6a,
64
- 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x0b, 0x11, 0x00, 0x42, 0x83, 0x80, 0x80, 0x80, 0xc0, 0xbb, 0x01,
65
- 0x10, 0x85, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x0b, 0x86, 0x02, 0x03, 0x01, 0x7f, 0x01, 0x7e, 0x04, 0x7f, 0x23, 0x80,
66
- 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x03, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x42, 0x00, 0x21, 0x04,
67
- 0x20, 0x02, 0x21, 0x05, 0x20, 0x01, 0x21, 0x06, 0x02, 0x40, 0x02, 0x40, 0x03, 0x40, 0x20, 0x05, 0x45, 0x0d, 0x01,
68
- 0x41, 0x01, 0x21, 0x07, 0x02, 0x40, 0x02, 0x40, 0x20, 0x06, 0x2d, 0x00, 0x00, 0x22, 0x08, 0x41, 0xdf, 0x00, 0x46,
69
- 0x0d, 0x00, 0x02, 0x40, 0x20, 0x08, 0x41, 0x50, 0x6a, 0x41, 0xff, 0x01, 0x71, 0x41, 0x0a, 0x49, 0x0d, 0x00, 0x02,
70
- 0x40, 0x20, 0x08, 0x41, 0xbf, 0x7f, 0x6a, 0x41, 0xff, 0x01, 0x71, 0x41, 0x1a, 0x49, 0x0d, 0x00, 0x20, 0x08, 0x41,
71
- 0x9f, 0x7f, 0x6a, 0x41, 0xff, 0x01, 0x71, 0x41, 0x19, 0x4b, 0x0d, 0x03, 0x20, 0x08, 0x41, 0x45, 0x6a, 0x21, 0x07,
72
- 0x0c, 0x02, 0x0b, 0x20, 0x08, 0x41, 0x4b, 0x6a, 0x21, 0x07, 0x0c, 0x01, 0x0b, 0x20, 0x08, 0x41, 0x52, 0x6a, 0x21,
73
- 0x07, 0x0b, 0x20, 0x04, 0x42, 0x06, 0x86, 0x20, 0x07, 0xad, 0x42, 0xff, 0x01, 0x83, 0x84, 0x21, 0x04, 0x20, 0x05,
74
- 0x41, 0x7f, 0x6a, 0x21, 0x05, 0x20, 0x06, 0x41, 0x01, 0x6a, 0x21, 0x06, 0x0c, 0x01, 0x0b, 0x0b, 0x20, 0x03, 0x20,
75
- 0x08, 0xad, 0x42, 0x08, 0x86, 0x42, 0x01, 0x84, 0x37, 0x03, 0x00, 0x20, 0x01, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04,
76
- 0x84, 0x20, 0x02, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04, 0x84, 0x10, 0x84, 0x80, 0x80, 0x80, 0x00, 0x21, 0x04, 0x0c,
77
- 0x01, 0x0b, 0x20, 0x03, 0x20, 0x04, 0x42, 0x08, 0x86, 0x42, 0x0e, 0x84, 0x22, 0x04, 0x37, 0x02, 0x04, 0x0b, 0x20,
78
- 0x00, 0x42, 0x00, 0x37, 0x03, 0x00, 0x20, 0x00, 0x20, 0x04, 0x37, 0x03, 0x08, 0x20, 0x03, 0x41, 0x10, 0x6a, 0x24,
79
- 0x80, 0x80, 0x80, 0x80, 0x00, 0x0b, 0x0f, 0x00, 0x20, 0x00, 0x20, 0x01, 0x42, 0x02, 0x10, 0x86, 0x80, 0x80, 0x80,
80
- 0x00, 0x1a, 0x0b, 0x0b, 0x1a, 0x01, 0x00, 0x41, 0x80, 0x80, 0xc0, 0x00, 0x0b, 0x11, 0x6d, 0x69, 0x67, 0x72, 0x61,
81
- 0x74, 0x65, 0x64, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x00, 0xdf, 0x0d, 0x0e, 0x63, 0x6f, 0x6e,
82
- 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x70, 0x65, 0x63, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83
- 0x00, 0x00, 0x00, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
84
- 0x00, 0x00, 0x00, 0x00, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x77, 0x61, 0x73, 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x00,
85
- 0x00, 0x00, 0x00, 0x00, 0x03, 0xee, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
86
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00, 0x01,
87
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64,
88
- 0x61, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00, 0x03, 0xed, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89
- 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x42, 0x75, 0x66, 0x66, 0x65,
90
- 0x72, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
91
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x65, 0x6e, 0x67,
92
- 0x74, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x6e,
93
- 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
94
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe9, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
95
- 0x00, 0x00, 0x00, 0x11, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72,
96
- 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x6e,
97
- 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
98
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
99
- 0x00, 0x00, 0x00, 0x08, 0x54, 0x74, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
100
- 0x00, 0x00, 0x00, 0x00, 0x10, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66,
101
- 0x69, 0x67, 0x00, 0x00, 0x04, 0xb0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x54, 0x74, 0x6c, 0x43, 0x6f,
102
- 0x6e, 0x66, 0x69, 0x67, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x04, 0xb1, 0x00, 0x00, 0x00, 0x00,
103
- 0x00, 0x00, 0x00, 0x16, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64,
104
- 0x79, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x04, 0xb2, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
105
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x4f, 0x77, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72,
106
- 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x4f, 0x77, 0x6e, 0x65,
107
- 0x72, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00, 0x05, 0x14, 0x00, 0x00, 0x00,
108
- 0x00, 0x00, 0x00, 0x00, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00,
109
- 0x05, 0x15, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x42,
110
- 0x79, 0x74, 0x65, 0x73, 0x45, 0x78, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
111
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x69, 0x73, 0x6d, 0x61,
112
- 0x74, 0x63, 0x68, 0x00, 0x00, 0x00, 0x00, 0x05, 0x78, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
113
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72,
114
- 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4d, 0x69, 0x67, 0x72,
115
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x00, 0x00, 0x00, 0x05,
116
- 0xdc, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74,
117
- 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20,
118
- 0x69, 0x73, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x00, 0x00,
119
- 0x00, 0x00, 0x00, 0x14, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66,
120
- 0x65, 0x72, 0x72, 0x65, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x14, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73,
121
- 0x68, 0x69, 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x00, 0x00, 0x00, 0x02, 0x00,
122
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00,
123
- 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x6e, 0x65, 0x77,
35
+ 0x00, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00, 0x01, 0x40, 0x0c, 0x60, 0x00, 0x01, 0x7e, 0x60, 0x01, 0x7e, 0x01,
36
+ 0x7e, 0x60, 0x02, 0x7e, 0x7e, 0x01, 0x7e, 0x60, 0x03, 0x7e, 0x7e, 0x7e, 0x01, 0x7e, 0x60, 0x04, 0x7e, 0x7e, 0x7e,
37
+ 0x7e, 0x01, 0x7e, 0x60, 0x00, 0x00, 0x60, 0x01, 0x7f, 0x00, 0x60, 0x02, 0x7f, 0x7f, 0x00, 0x60, 0x01, 0x7e, 0x01,
38
+ 0x7f, 0x60, 0x03, 0x7f, 0x7f, 0x7f, 0x00, 0x60, 0x02, 0x7e, 0x7e, 0x00, 0x60, 0x02, 0x7f, 0x7e, 0x00, 0x02, 0x4f,
39
+ 0x0d, 0x01, 0x78, 0x01, 0x37, 0x00, 0x00, 0x01, 0x61, 0x01, 0x30, 0x00, 0x01, 0x01, 0x62, 0x01, 0x38, 0x00, 0x01,
40
+ 0x01, 0x6c, 0x01, 0x36, 0x00, 0x01, 0x01, 0x62, 0x01, 0x30, 0x00, 0x01, 0x01, 0x62, 0x01, 0x6a, 0x00, 0x02, 0x01,
41
+ 0x6c, 0x01, 0x30, 0x00, 0x02, 0x01, 0x6c, 0x01, 0x31, 0x00, 0x02, 0x01, 0x6c, 0x01, 0x38, 0x00, 0x02, 0x01, 0x78,
42
+ 0x01, 0x35, 0x00, 0x01, 0x01, 0x6c, 0x01, 0x5f, 0x00, 0x03, 0x01, 0x76, 0x01, 0x67, 0x00, 0x02, 0x01, 0x6d, 0x01,
43
+ 0x61, 0x00, 0x04, 0x03, 0x0f, 0x0e, 0x05, 0x01, 0x06, 0x07, 0x06, 0x01, 0x00, 0x08, 0x01, 0x05, 0x09, 0x0a, 0x09,
44
+ 0x0b, 0x05, 0x03, 0x01, 0x00, 0x11, 0x06, 0x21, 0x04, 0x7f, 0x01, 0x41, 0x80, 0x80, 0xc0, 0x00, 0x0b, 0x7f, 0x00,
45
+ 0x41, 0x88, 0x80, 0xc0, 0x00, 0x0b, 0x7f, 0x00, 0x41, 0xbd, 0x80, 0xc0, 0x00, 0x0b, 0x7f, 0x00, 0x41, 0xc0, 0x80,
46
+ 0xc0, 0x00, 0x0b, 0x07, 0x3d, 0x06, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x02, 0x00, 0x07, 0x75, 0x70, 0x67,
47
+ 0x72, 0x61, 0x64, 0x65, 0x00, 0x0e, 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x00, 0x12, 0x01, 0x5f, 0x03,
48
+ 0x01, 0x0a, 0x5f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x65, 0x6e, 0x64, 0x03, 0x02, 0x0b, 0x5f, 0x5f, 0x68, 0x65,
49
+ 0x61, 0x70, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x03, 0x03, 0x0a, 0xf1, 0x09, 0x0e, 0x0f, 0x00, 0x10, 0x80, 0x80, 0x80,
50
+ 0x80, 0x00, 0x10, 0x81, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x0b, 0x8b, 0x01, 0x01, 0x01, 0x7f, 0x23, 0x80, 0x80, 0x80,
51
+ 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x01, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x02, 0x40, 0x20, 0x00, 0x42, 0xff,
52
+ 0x01, 0x83, 0x42, 0xc8, 0x00, 0x52, 0x0d, 0x00, 0x20, 0x00, 0x10, 0x82, 0x80, 0x80, 0x80, 0x00, 0x42, 0x80, 0x80,
53
+ 0x80, 0x80, 0x70, 0x83, 0x42, 0x80, 0x80, 0x80, 0x80, 0x80, 0x04, 0x52, 0x0d, 0x00, 0x20, 0x01, 0x41, 0x04, 0x6a,
54
+ 0x10, 0x8f, 0x80, 0x80, 0x80, 0x00, 0x02, 0x40, 0x20, 0x01, 0x28, 0x02, 0x04, 0x41, 0x01, 0x47, 0x0d, 0x00, 0x20,
55
+ 0x01, 0x28, 0x02, 0x08, 0x20, 0x01, 0x28, 0x02, 0x0c, 0x10, 0x90, 0x80, 0x80, 0x80, 0x00, 0x0b, 0x10, 0x8d, 0x80,
56
+ 0x80, 0x80, 0x00, 0x41, 0x01, 0x10, 0x91, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x10, 0x83, 0x80, 0x80, 0x80, 0x00,
57
+ 0x1a, 0x20, 0x01, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x42, 0x02, 0x0f, 0x0b, 0x00, 0x0b, 0x8b,
58
+ 0x02, 0x02, 0x02, 0x7f, 0x02, 0x7e, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x01, 0x24, 0x80,
59
+ 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x41, 0xac, 0x80, 0xc0, 0x80, 0x00, 0x41, 0x08, 0x10, 0x99, 0x80, 0x80, 0x80,
60
+ 0x00, 0x02, 0x40, 0x20, 0x01, 0x28, 0x02, 0x00, 0x0d, 0x00, 0x20, 0x01, 0x20, 0x01, 0x29, 0x03, 0x08, 0x10, 0x9a,
61
+ 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x28, 0x02, 0x00, 0x41, 0x01, 0x46, 0x0d, 0x00, 0x41, 0x00, 0x21, 0x02, 0x02,
62
+ 0x40, 0x20, 0x01, 0x29, 0x03, 0x08, 0x22, 0x03, 0x10, 0x94, 0x80, 0x80, 0x80, 0x00, 0x45, 0x0d, 0x00, 0x20, 0x03,
63
+ 0x10, 0x95, 0x80, 0x80, 0x80, 0x00, 0x21, 0x03, 0x41, 0x00, 0x21, 0x02, 0x02, 0x40, 0x03, 0x40, 0x20, 0x02, 0x41,
64
+ 0x10, 0x46, 0x0d, 0x01, 0x20, 0x01, 0x20, 0x02, 0x6a, 0x42, 0x02, 0x37, 0x03, 0x00, 0x20, 0x02, 0x41, 0x08, 0x6a,
65
+ 0x21, 0x02, 0x0c, 0x00, 0x0b, 0x0b, 0x20, 0x03, 0x42, 0xff, 0x01, 0x83, 0x42, 0xcc, 0x00, 0x52, 0x0d, 0x01, 0x20,
66
+ 0x03, 0x41, 0x9c, 0x80, 0xc0, 0x80, 0x00, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04, 0x84, 0x20, 0x01, 0xad, 0x42, 0x20,
67
+ 0x86, 0x42, 0x04, 0x84, 0x42, 0x84, 0x80, 0x80, 0x80, 0x20, 0x10, 0x8c, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x20, 0x01,
68
+ 0x29, 0x03, 0x00, 0x22, 0x03, 0x42, 0xff, 0x01, 0x83, 0x42, 0x04, 0x52, 0x0d, 0x01, 0x20, 0x01, 0x29, 0x03, 0x08,
69
+ 0x22, 0x04, 0x42, 0xff, 0x01, 0x83, 0x42, 0x04, 0x52, 0x0d, 0x01, 0x20, 0x00, 0x20, 0x03, 0x42, 0x20, 0x88, 0xa7,
70
+ 0x36, 0x02, 0x08, 0x20, 0x00, 0x20, 0x04, 0x42, 0x20, 0x88, 0x3e, 0x02, 0x04, 0x41, 0x01, 0x21, 0x02, 0x0b, 0x20,
71
+ 0x00, 0x20, 0x02, 0x36, 0x02, 0x00, 0x20, 0x01, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x0f, 0x0b,
72
+ 0x00, 0x0b, 0x1b, 0x00, 0x20, 0x00, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04, 0x84, 0x20, 0x01, 0xad, 0x42, 0x20, 0x86,
73
+ 0x42, 0x04, 0x84, 0x10, 0x88, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x0b, 0x15, 0x00, 0x10, 0x93, 0x80, 0x80, 0x80, 0x00,
74
+ 0x20, 0x00, 0xad, 0x42, 0xff, 0x01, 0x83, 0x10, 0x98, 0x80, 0x80, 0x80, 0x00, 0x0b, 0xc8, 0x01, 0x02, 0x01, 0x7f,
75
+ 0x01, 0x7e, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x01, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00,
76
+ 0x02, 0x40, 0x20, 0x00, 0x42, 0xff, 0x01, 0x83, 0x42, 0xc8, 0x00, 0x52, 0x0d, 0x00, 0x20, 0x01, 0x10, 0x8f, 0x80,
77
+ 0x80, 0x80, 0x00, 0x02, 0x40, 0x20, 0x01, 0x28, 0x02, 0x00, 0x41, 0x01, 0x47, 0x0d, 0x00, 0x20, 0x01, 0x28, 0x02,
78
+ 0x04, 0x20, 0x01, 0x28, 0x02, 0x08, 0x10, 0x90, 0x80, 0x80, 0x80, 0x00, 0x0b, 0x10, 0x8d, 0x80, 0x80, 0x80, 0x00,
79
+ 0x02, 0x40, 0x02, 0x40, 0x10, 0x93, 0x80, 0x80, 0x80, 0x00, 0x22, 0x02, 0x10, 0x94, 0x80, 0x80, 0x80, 0x00, 0x45,
80
+ 0x0d, 0x00, 0x20, 0x02, 0x10, 0x95, 0x80, 0x80, 0x80, 0x00, 0xa7, 0x41, 0xff, 0x01, 0x71, 0x0e, 0x02, 0x00, 0x01,
81
+ 0x02, 0x0b, 0x10, 0x96, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0b, 0x20, 0x00, 0x10, 0x84, 0x80, 0x80, 0x80, 0x00, 0x1a,
82
+ 0x20, 0x01, 0x41, 0x80, 0x80, 0xc0, 0x80, 0x00, 0x41, 0x08, 0x10, 0x97, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x28,
83
+ 0x02, 0x00, 0x41, 0x01, 0x46, 0x0d, 0x00, 0x20, 0x01, 0x29, 0x03, 0x08, 0x42, 0x01, 0x10, 0x98, 0x80, 0x80, 0x80,
84
+ 0x00, 0x41, 0x00, 0x10, 0x91, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, 0x80, 0x80,
85
+ 0x00, 0x42, 0x02, 0x0f, 0x0b, 0x00, 0x0b, 0x60, 0x02, 0x01, 0x7f, 0x01, 0x7e, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00,
86
+ 0x41, 0x10, 0x6b, 0x22, 0x00, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x41, 0xb4, 0x80, 0xc0, 0x80, 0x00,
87
+ 0x41, 0x09, 0x10, 0x99, 0x80, 0x80, 0x80, 0x00, 0x02, 0x40, 0x02, 0x40, 0x20, 0x00, 0x28, 0x02, 0x00, 0x0d, 0x00,
88
+ 0x20, 0x00, 0x20, 0x00, 0x29, 0x03, 0x08, 0x10, 0x9a, 0x80, 0x80, 0x80, 0x00, 0x20, 0x00, 0x28, 0x02, 0x00, 0x41,
89
+ 0x01, 0x47, 0x0d, 0x01, 0x0b, 0x00, 0x0b, 0x20, 0x00, 0x29, 0x03, 0x08, 0x21, 0x01, 0x20, 0x00, 0x41, 0x10, 0x6a,
90
+ 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x01, 0x0b, 0x0f, 0x00, 0x20, 0x00, 0x42, 0x02, 0x10, 0x86, 0x80, 0x80,
91
+ 0x80, 0x00, 0x42, 0x01, 0x51, 0x0b, 0x0c, 0x00, 0x20, 0x00, 0x42, 0x02, 0x10, 0x87, 0x80, 0x80, 0x80, 0x00, 0x0b,
92
+ 0x11, 0x00, 0x42, 0x83, 0x80, 0x80, 0x80, 0xb0, 0x83, 0x01, 0x10, 0x89, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x0b, 0x86,
93
+ 0x02, 0x03, 0x01, 0x7f, 0x01, 0x7e, 0x04, 0x7f, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x03,
94
+ 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x42, 0x00, 0x21, 0x04, 0x20, 0x02, 0x21, 0x05, 0x20, 0x01, 0x21, 0x06, 0x02,
95
+ 0x40, 0x02, 0x40, 0x03, 0x40, 0x20, 0x05, 0x45, 0x0d, 0x01, 0x41, 0x01, 0x21, 0x07, 0x02, 0x40, 0x02, 0x40, 0x20,
96
+ 0x06, 0x2d, 0x00, 0x00, 0x22, 0x08, 0x41, 0xdf, 0x00, 0x46, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x08, 0x41, 0x50, 0x6a,
97
+ 0x41, 0xff, 0x01, 0x71, 0x41, 0x0a, 0x49, 0x0d, 0x00, 0x02, 0x40, 0x20, 0x08, 0x41, 0xbf, 0x7f, 0x6a, 0x41, 0xff,
98
+ 0x01, 0x71, 0x41, 0x1a, 0x49, 0x0d, 0x00, 0x20, 0x08, 0x41, 0x9f, 0x7f, 0x6a, 0x41, 0xff, 0x01, 0x71, 0x41, 0x19,
99
+ 0x4b, 0x0d, 0x03, 0x20, 0x08, 0x41, 0x45, 0x6a, 0x21, 0x07, 0x0c, 0x02, 0x0b, 0x20, 0x08, 0x41, 0x4b, 0x6a, 0x21,
100
+ 0x07, 0x0c, 0x01, 0x0b, 0x20, 0x08, 0x41, 0x52, 0x6a, 0x21, 0x07, 0x0b, 0x20, 0x04, 0x42, 0x06, 0x86, 0x20, 0x07,
101
+ 0xad, 0x42, 0xff, 0x01, 0x83, 0x84, 0x21, 0x04, 0x20, 0x05, 0x41, 0x7f, 0x6a, 0x21, 0x05, 0x20, 0x06, 0x41, 0x01,
102
+ 0x6a, 0x21, 0x06, 0x0c, 0x01, 0x0b, 0x0b, 0x20, 0x03, 0x20, 0x08, 0xad, 0x42, 0x08, 0x86, 0x42, 0x01, 0x84, 0x37,
103
+ 0x03, 0x00, 0x20, 0x01, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04, 0x84, 0x20, 0x02, 0xad, 0x42, 0x20, 0x86, 0x42, 0x04,
104
+ 0x84, 0x10, 0x85, 0x80, 0x80, 0x80, 0x00, 0x21, 0x04, 0x0c, 0x01, 0x0b, 0x20, 0x03, 0x20, 0x04, 0x42, 0x08, 0x86,
105
+ 0x42, 0x0e, 0x84, 0x22, 0x04, 0x37, 0x02, 0x04, 0x0b, 0x20, 0x00, 0x42, 0x00, 0x37, 0x03, 0x00, 0x20, 0x00, 0x20,
106
+ 0x04, 0x37, 0x03, 0x08, 0x20, 0x03, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x0b, 0x0f, 0x00, 0x20,
107
+ 0x00, 0x20, 0x01, 0x42, 0x02, 0x10, 0x8a, 0x80, 0x80, 0x80, 0x00, 0x1a, 0x0b, 0x51, 0x02, 0x01, 0x7f, 0x01, 0x7e,
108
+ 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x03, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x03,
109
+ 0x20, 0x01, 0x20, 0x02, 0x10, 0x97, 0x80, 0x80, 0x80, 0x00, 0x42, 0x01, 0x21, 0x04, 0x02, 0x40, 0x20, 0x03, 0x28,
110
+ 0x02, 0x00, 0x0d, 0x00, 0x20, 0x00, 0x20, 0x03, 0x29, 0x03, 0x08, 0x37, 0x03, 0x08, 0x42, 0x00, 0x21, 0x04, 0x0b,
111
+ 0x20, 0x00, 0x20, 0x04, 0x37, 0x03, 0x00, 0x20, 0x03, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80, 0x80, 0x80, 0x00, 0x0b,
112
+ 0x4f, 0x01, 0x01, 0x7f, 0x23, 0x80, 0x80, 0x80, 0x80, 0x00, 0x41, 0x10, 0x6b, 0x22, 0x02, 0x24, 0x80, 0x80, 0x80,
113
+ 0x80, 0x00, 0x20, 0x02, 0x20, 0x01, 0x37, 0x03, 0x08, 0x20, 0x02, 0x41, 0x08, 0x6a, 0xad, 0x42, 0x20, 0x86, 0x42,
114
+ 0x04, 0x84, 0x42, 0x84, 0x80, 0x80, 0x80, 0x10, 0x10, 0x8b, 0x80, 0x80, 0x80, 0x00, 0x21, 0x01, 0x20, 0x00, 0x42,
115
+ 0x00, 0x37, 0x03, 0x00, 0x20, 0x00, 0x20, 0x01, 0x37, 0x03, 0x08, 0x20, 0x02, 0x41, 0x10, 0x6a, 0x24, 0x80, 0x80,
116
+ 0x80, 0x80, 0x00, 0x0b, 0x0b, 0x46, 0x01, 0x00, 0x41, 0x80, 0x80, 0xc0, 0x00, 0x0b, 0x3d, 0x6d, 0x69, 0x67, 0x72,
117
+ 0x61, 0x74, 0x65, 0x64, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64,
118
+ 0x5f, 0x74, 0x6f, 0x00, 0x00, 0x11, 0x00, 0x10, 0x00, 0x09, 0x00, 0x00, 0x00, 0x08, 0x00, 0x10, 0x00, 0x09, 0x00,
119
+ 0x00, 0x00, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67,
120
+ 0x00, 0xf3, 0x19, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, 0x70, 0x65, 0x63, 0x76, 0x30, 0x00,
121
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x54, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20,
122
+ 0x64, 0x61, 0x74, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d,
123
+ 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x73, 0x20,
124
+ 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x65, 0x77,
125
+ 0x20, 0x57, 0x41, 0x53, 0x4d, 0x20, 0x62, 0x79, 0x74, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x0a, 0x53, 0x65, 0x74,
126
+ 0x73, 0x20, 0x61, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x20,
127
+ 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x65,
128
+ 0x64, 0x20, 0x62, 0x79, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x6d, 0x69, 0x67, 0x72, 0x61,
129
+ 0x74, 0x65, 0x60, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x00,
130
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x6e, 0x65, 0x77, 0x5f, 0x77, 0x61, 0x73,
131
+ 0x6d, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xee, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
132
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x52, 0x75, 0x6e, 0x73, 0x20, 0x6d, 0x69, 0x67, 0x72,
133
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x61,
134
+ 0x6e, 0x20, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x0a, 0x43, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
135
+ 0x20, 0x62, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65,
136
+ 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x20, 0x69, 0x73, 0x20,
137
+ 0x73, 0x65, 0x74, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60,
138
+ 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
139
+ 0x07, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
140
+ 0x00, 0x0e, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0x00,
141
+ 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1c, 0x42, 0x75, 0x66, 0x66,
142
+ 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x31, 0x30, 0x30, 0x30,
143
+ 0x2d, 0x31, 0x30, 0x30, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72,
144
+ 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
145
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74,
146
+ 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x6e, 0x76,
147
+ 0x61, 0x6c, 0x69, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x00,
148
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xe9, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1c, 0x42, 0x75, 0x66, 0x66, 0x65,
149
+ 0x72, 0x57, 0x72, 0x69, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x31, 0x30, 0x31, 0x30, 0x2d,
150
+ 0x31, 0x30, 0x31, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x42, 0x75, 0x66, 0x66, 0x65, 0x72, 0x57,
151
+ 0x72, 0x69, 0x74, 0x65, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
152
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
153
+ 0x73, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf2, 0x00, 0x00, 0x00, 0x04,
154
+ 0x00, 0x00, 0x00, 0x1f, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x62, 0x6c, 0x65,
155
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x31, 0x30, 0x32, 0x30, 0x2d, 0x31, 0x30, 0x32, 0x39, 0x00, 0x00, 0x00,
156
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x62,
157
+ 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
158
+ 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x00, 0x00, 0x03,
159
+ 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x46,
160
+ 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x03, 0xfd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x54,
161
+ 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x46, 0x72, 0x6f, 0x7a,
162
+ 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfe, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x17, 0x4f, 0x77, 0x6e,
163
+ 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x31, 0x30, 0x33, 0x30, 0x2d, 0x31, 0x30, 0x33,
164
+ 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x4f, 0x77, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x72,
165
+ 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x49, 0x6e, 0x76, 0x61,
166
+ 0x6c, 0x69, 0x64, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x04,
167
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x54, 0x74, 0x6c,
168
+ 0x00, 0x00, 0x00, 0x00, 0x04, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x4e, 0x6f, 0x50, 0x65, 0x6e,
169
+ 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08,
170
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64,
171
+ 0x79, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x4f, 0x77,
172
+ 0x6e, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00, 0x04, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
173
+ 0x00, 0x00, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x49, 0x6e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65,
174
+ 0x73, 0x73, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x42, 0x79, 0x74,
175
+ 0x65, 0x73, 0x45, 0x78, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x31, 0x30, 0x34, 0x30, 0x2d, 0x31, 0x30,
176
+ 0x34, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x78, 0x74, 0x45,
177
+ 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e,
178
+ 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x00, 0x00, 0x00, 0x00, 0x04,
179
+ 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x1b, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x61, 0x62, 0x6c,
180
+ 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20, 0x31, 0x30, 0x35, 0x30, 0x2d, 0x31, 0x30, 0x35, 0x39, 0x00, 0x00,
181
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x45,
182
+ 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x49, 0x6e, 0x76,
183
+ 0x61, 0x6c, 0x69, 0x64, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x00, 0x00,
184
+ 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
185
+ 0x4e, 0x6f, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x00, 0x00, 0x00, 0x04, 0x1b, 0x00, 0x00, 0x00, 0x04,
186
+ 0x00, 0x00, 0x00, 0x18, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x69, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x3a, 0x20,
187
+ 0x31, 0x30, 0x36, 0x30, 0x2d, 0x31, 0x30, 0x36, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x4d, 0x75,
188
+ 0x6c, 0x74, 0x69, 0x73, 0x69, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
189
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x49, 0x6e, 0x69, 0x74, 0x69,
190
+ 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x04, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
191
+ 0x0d, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
192
+ 0x04, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65,
193
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x00, 0x00, 0x00, 0x00, 0x04, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
194
+ 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x45, 0x78, 0x69, 0x73, 0x74, 0x73,
195
+ 0x00, 0x00, 0x00, 0x04, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72,
196
+ 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x00, 0x00, 0x00, 0x00, 0x04, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
197
+ 0x00, 0x00, 0x1d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x4c, 0x65, 0x73, 0x73,
198
+ 0x54, 0x68, 0x61, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
199
+ 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x55, 0x6e, 0x73, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x53, 0x69,
200
+ 0x67, 0x6e, 0x65, 0x72, 0x73, 0x00, 0x00, 0x00, 0x04, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x5a,
201
+ 0x65, 0x72, 0x6f, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2b,
202
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x30, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74,
203
+ 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x20, 0x69, 0x73,
204
+ 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x2e, 0x00,
205
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00,
206
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x00,
207
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72,
208
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0xee, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
209
+ 0x00, 0x00, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
210
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x36, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65,
211
+ 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x67,
212
+ 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x69, 0x73,
213
+ 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c,
214
+ 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
215
+ 0x0d, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00,
216
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64,
217
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
218
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x73, 0x69,
219
+ 0x67, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
220
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
221
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x00, 0x00, 0x00,
222
+ 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x57, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74,
223
+ 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20, 0x69,
224
+ 0x73, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x28, 0x62, 0x6f, 0x74, 0x68,
225
+ 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x2d, 0x73, 0x74, 0x65, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x77,
226
+ 0x6f, 0x2d, 0x73, 0x74, 0x65, 0x70, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e,
227
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x54,
228
+ 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x15, 0x6f,
229
+ 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65,
230
+ 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x6f, 0x6c, 0x64,
124
231
  0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
232
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00,
233
+ 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x3b,
234
+ 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20,
235
+ 0x61, 0x20, 0x32, 0x2d, 0x73, 0x74, 0x65, 0x70, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20,
236
+ 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x73, 0x65,
237
+ 0x64, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69,
238
+ 0x70, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
239
+ 0x01, 0x00, 0x00, 0x00, 0x16, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x74, 0x72, 0x61, 0x6e,
240
+ 0x73, 0x66, 0x65, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
241
+ 0x00, 0x00, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
242
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x6e, 0x65, 0x77, 0x5f, 0x6f, 0x77, 0x6e,
243
+ 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
244
+ 0x00, 0x03, 0x74, 0x74, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
245
+ 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65,
246
+ 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x20, 0x69, 0x73,
247
+ 0x20, 0x72, 0x65, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
248
+ 0x00, 0x12, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65,
249
+ 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x13, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69,
250
+ 0x70, 0x5f, 0x72, 0x65, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
251
+ 0x00, 0x00, 0x00, 0x00, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
252
+ 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
253
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x4f, 0x77, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61,
254
+ 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
255
+ 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
256
+ 0x00, 0x0c, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 0x00,
257
+ 0x00, 0x00, 0x49, 0x54, 0x54, 0x4c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
258
+ 0x6e, 0x3a, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x28, 0x77, 0x68, 0x65, 0x6e, 0x20,
259
+ 0x74, 0x6f, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x78, 0x74, 0x65,
260
+ 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x20, 0x28, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x54, 0x54, 0x4c, 0x29, 0x2e,
261
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
262
+ 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20,
263
+ 0x54, 0x54, 0x4c, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
264
+ 0x20, 0x28, 0x69, 0x6e, 0x20, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x00, 0x00, 0x00, 0x09, 0x65,
265
+ 0x78, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x33,
266
+ 0x54, 0x54, 0x4c, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
267
+ 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20,
268
+ 0x28, 0x69, 0x6e, 0x20, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x09, 0x74,
269
+ 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05,
270
+ 0x00, 0x00, 0x00, 0x27, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x77,
271
+ 0x68, 0x65, 0x6e, 0x20, 0x54, 0x54, 0x4c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65,
272
+ 0x20, 0x73, 0x65, 0x74, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x54, 0x74, 0x6c, 0x43, 0x6f,
273
+ 0x6e, 0x66, 0x69, 0x67, 0x73, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f,
274
+ 0x74, 0x74, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00,
275
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x00, 0x00,
276
+ 0x03, 0xe8, 0x00, 0x00, 0x07, 0xd0, 0x00, 0x00, 0x00, 0x09, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
277
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x70, 0x65, 0x72, 0x73,
278
+ 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 0x00, 0x00, 0x07, 0xd0, 0x00, 0x00, 0x00,
279
+ 0x09, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125
280
  0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2a, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69,
126
- 0x74, 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
127
- 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
128
- 0x00, 0x00, 0x00, 0x00, 0x12, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x6e, 0x6f, 0x75,
129
- 0x6e, 0x63, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x4f, 0x77, 0x6e, 0x65, 0x72,
130
- 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
131
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x6f, 0x6c, 0x64, 0x5f, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00,
132
- 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
133
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x77,
134
- 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
135
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x00, 0x00,
136
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x57, 0x41, 0x20, 0x70, 0x61, 0x69, 0x72, 0x20, 0x6f, 0x66, 0x20,
137
- 0x54, 0x54, 0x4c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3a, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f,
138
- 0x6c, 0x64, 0x20, 0x28, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72,
139
- 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x78, 0x74,
140
- 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x20, 0x28, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x54, 0x54, 0x4c, 0x29,
141
- 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
142
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x28, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x54,
143
- 0x54, 0x4c, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20,
144
- 0x28, 0x69, 0x6e, 0x20, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x00, 0x00, 0x00, 0x09, 0x65, 0x78,
145
- 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x33, 0x54,
146
- 0x54, 0x4c, 0x20, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74,
147
- 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x28,
148
- 0x69, 0x6e, 0x20, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x72, 0x73, 0x29, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x09, 0x74, 0x68,
149
- 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00,
150
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
151
- 0x67, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
152
- 0x00, 0x00, 0x00, 0x00, 0x06, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
153
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
154
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x00, 0x00,
155
- 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x27, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74,
156
- 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x54, 0x54, 0x4c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
157
- 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x54,
158
- 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x53, 0x65, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
159
- 0x00, 0x00, 0x00, 0x0d, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x53, 0x65, 0x74, 0x00, 0x00,
160
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
161
- 0x63, 0x65, 0x00, 0x00, 0x03, 0xe8, 0x00, 0x00, 0x07, 0xd0, 0x00, 0x00, 0x00, 0x09, 0x54, 0x74, 0x6c, 0x43, 0x6f,
162
- 0x6e, 0x66, 0x69, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a,
163
- 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 0x00, 0x00, 0x07,
164
- 0xd0, 0x00, 0x00, 0x00, 0x09, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00,
165
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x2a, 0x45, 0x76, 0x65, 0x6e, 0x74,
166
- 0x20, 0x65, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x54, 0x54, 0x4c, 0x20, 0x63,
167
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x2e, 0x00,
168
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
169
- 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x54, 0x74, 0x6c, 0x43, 0x6f,
170
- 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
171
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x55, 0x70, 0x67,
172
- 0x72, 0x61, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00,
173
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x4d, 0x69, 0x67, 0x72, 0x61,
174
- 0x74, 0x69, 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x65,
175
- 0x6e, 0x76, 0x6d, 0x65, 0x74, 0x61, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
176
- 0x00, 0x00, 0x6f, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x76, 0x30, 0x00,
177
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x72, 0x73, 0x76, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06,
178
- 0x31, 0x2e, 0x39, 0x30, 0x2e, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x72, 0x73, 0x73,
179
- 0x64, 0x6b, 0x76, 0x65, 0x72, 0x00, 0x00, 0x00, 0x2f, 0x32, 0x33, 0x2e, 0x34, 0x2e, 0x30, 0x23, 0x36, 0x37, 0x33,
180
- 0x64, 0x36, 0x63, 0x34, 0x66, 0x32, 0x33, 0x36, 0x38, 0x64, 0x32, 0x38, 0x32, 0x64, 0x32, 0x35, 0x64, 0x61, 0x32,
181
- 0x39, 0x62, 0x64, 0x61, 0x35, 0x35, 0x63, 0x32, 0x31, 0x62, 0x38, 0x62, 0x65, 0x36, 0x39, 0x63, 0x61, 0x36, 0x00,
182
- 0x00, 0x2b, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6d, 0x65, 0x74, 0x61, 0x76, 0x30, 0x00, 0x00,
183
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x63, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x32,
184
- 0x33, 0x2e, 0x33, 0x2e, 0x30, 0x23, 0x00,
281
+ 0x74, 0x74, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x54, 0x54, 0x4c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69,
282
+ 0x67, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00,
283
+ 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x74, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x46, 0x72, 0x6f, 0x7a,
284
+ 0x65, 0x6e, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x12, 0x74, 0x74, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
285
+ 0x67, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
286
+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x54, 0x74, 0x6c,
287
+ 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
288
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x46, 0x72, 0x6f, 0x7a, 0x65, 0x6e, 0x00, 0x00, 0x00,
289
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65,
290
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
291
+ 0x65, 0x6e, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
292
+ 0x00, 0x12, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67,
293
+ 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09,
294
+ 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x11, 0x63, 0x6f, 0x6e, 0x74,
295
+ 0x72, 0x61, 0x63, 0x74, 0x65, 0x6e, 0x76, 0x6d, 0x65, 0x74, 0x61, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
296
+ 0x00, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6f, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6d, 0x65,
297
+ 0x74, 0x61, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x72, 0x73, 0x76, 0x65, 0x72, 0x00, 0x00,
298
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x31, 0x2e, 0x39, 0x30, 0x2e, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
299
+ 0x00, 0x08, 0x72, 0x73, 0x73, 0x64, 0x6b, 0x76, 0x65, 0x72, 0x00, 0x00, 0x00, 0x2f, 0x32, 0x33, 0x2e, 0x34, 0x2e,
300
+ 0x30, 0x23, 0x36, 0x37, 0x33, 0x64, 0x36, 0x63, 0x34, 0x66, 0x32, 0x33, 0x36, 0x38, 0x64, 0x32, 0x38, 0x32, 0x64,
301
+ 0x32, 0x35, 0x64, 0x61, 0x32, 0x39, 0x62, 0x64, 0x61, 0x35, 0x35, 0x63, 0x32, 0x31, 0x62, 0x38, 0x62, 0x65, 0x36,
302
+ 0x39, 0x63, 0x61, 0x36, 0x00, 0x00, 0x2b, 0x0e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6d, 0x65, 0x74,
303
+ 0x61, 0x76, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x63, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x00, 0x00,
304
+ 0x00, 0x00, 0x00, 0x07, 0x32, 0x33, 0x2e, 0x34, 0x2e, 0x31, 0x23, 0x00,
185
305
  ];
186
306
 
187
307
  // ============================================
@@ -191,38 +311,41 @@ const TEST_WASM: &[u8] = &[
191
311
  #[contract]
192
312
  pub struct DummyContract;
193
313
 
314
+ use crate::auth::Auth;
315
+
316
+ // Implement Auth trait (required by Upgradeable) - self-owning pattern
317
+ impl Auth for DummyContract {
318
+ fn authorizer(env: &Env) -> Address {
319
+ // Return the contract's own address (self-owning pattern)
320
+ env.current_contract_address()
321
+ }
322
+ }
323
+
194
324
  // Regular trait implementation (not a contract implementation)
195
325
  impl UpgradeableInternal for DummyContract {
196
- type MigrationData = ();
326
+ type MigrationData = Val; // Use Val which implements FromXdr
197
327
 
198
328
  fn __migrate(env: &Env, _migration_data: &Self::MigrationData) {
199
329
  // Store the migration data to verify it was called
200
- env.storage().instance().set(&Symbol::new(env, "migrated"), &0_u32);
330
+ env.storage().instance().set(&Symbol::new(env, "migrated"), &true);
201
331
  }
202
332
  }
203
333
 
204
- #[contractimpl]
205
- impl Upgradeable for DummyContract {
206
- fn upgrade(env: &Env, new_wasm_hash: BytesN<32>) {
207
- upgradeable::upgrade(env, new_wasm_hash);
208
- }
209
-
210
- fn migrate(env: &Env, migration_data: &()) {
211
- upgradeable::migrate::<Self>(env, migration_data);
212
- }
213
- }
334
+ #[contractimpl(contracttrait)]
335
+ impl Upgradeable for DummyContract {}
214
336
 
215
337
  #[test]
216
338
  fn test_upgrade_success() {
217
339
  let env = Env::default();
340
+ env.mock_all_auths();
218
341
  let contract_id = env.register(DummyContract, ());
219
342
 
220
343
  // Upload valid contract WASM to get a valid hash
221
344
  let wasm_hash = env.deployer().upload_contract_wasm(Bytes::from_slice(&env, TEST_WASM));
222
345
 
223
346
  env.as_contract(&contract_id, || {
224
- // Initially, migrating flag should not be set
225
- assert_eq!(UpgradeableStorage::migrating(&env), None);
347
+ // Initially, migrating flag should be false (default)
348
+ assert_eq!(UpgradeableStorage::migrating(&env), false);
226
349
  });
227
350
 
228
351
  // Call the actual upgrade function with valid WASM hash
@@ -231,60 +354,134 @@ fn test_upgrade_success() {
231
354
 
232
355
  env.as_contract(&contract_id, || {
233
356
  // Verify the flag is set by upgrade()
234
- assert_eq!(UpgradeableStorage::migrating(&env), Some(true));
357
+ assert_eq!(UpgradeableStorage::migrating(&env), true);
235
358
  });
236
359
  }
237
360
 
361
+ // After upgrade(), the contract runs TEST_WASM code, so migrate() must match that wasm's API.
238
362
  #[test]
239
363
  fn test_migrate_success() {
240
364
  let env = Env::default();
365
+ env.mock_all_auths();
241
366
  let contract_id = env.register(DummyContract, ());
242
367
  let client = DummyContractClient::new(&env, &contract_id);
243
368
 
244
369
  let wasm_hash = env.deployer().upload_contract_wasm(Bytes::from_slice(&env, TEST_WASM));
245
370
  client.upgrade(&wasm_hash);
246
- client.migrate(&());
371
+
372
+ // Create empty migration data as XDR-encoded Bytes
373
+ let migration_data = Val::VOID.to_xdr(&env);
374
+ client.migrate(&migration_data);
247
375
 
248
376
  env.as_contract(&contract_id, || {
249
377
  // Verify migration flag was cleared
250
- assert_eq!(UpgradeableStorage::migrating(&env), Some(false));
378
+ assert_eq!(UpgradeableStorage::migrating(&env), false);
251
379
 
252
- // Verify migration data was stored (proving _migrate was called)
380
+ // Verify migration data was stored (proving __migrate was called)
253
381
  let stored_value: Option<bool> = env.storage().instance().get(&Symbol::new(&env, "migrated"));
254
382
  assert_eq!(stored_value, Some(true));
255
383
  });
256
384
  }
257
385
 
258
386
  #[test]
259
- #[should_panic(expected = "Error(Contract, #1050)")] // MigrationNotAllowed
387
+ #[should_panic(expected = "Error(Contract, #1051)")] // MigrationNotAllowed
260
388
  fn test_migrate_fail_without_upgrade() {
261
389
  let env = Env::default();
390
+ env.mock_all_auths();
262
391
  let contract_id = env.register(DummyContract, ());
263
392
  let client = DummyContractClient::new(&env, &contract_id);
264
393
 
265
394
  // Try to migrate without setting migrating flag first
266
395
  // Should panic with MigrationNotAllowed
267
- client.migrate(&());
396
+ let migration_data = Val::VOID.to_xdr(&env);
397
+ client.migrate(&migration_data);
268
398
  }
269
399
 
270
400
  // ============================================
271
401
  // Integration test: upgrade then migrate
272
402
  // ============================================
273
403
 
274
- // TODO (ken): change error code to 1050 and fix test
275
404
  #[test]
276
- #[should_panic(expected = "Error(Contract, #1500)")] // MigrationNotAllowed (TEST_WASM uses old error code)
405
+ #[should_panic(expected = "Error(Contract, #1051)")] // MigrationNotAllowed
277
406
  fn test_cannot_migrate_twice_without_upgrade() {
278
407
  let env = Env::default();
408
+ env.mock_all_auths();
279
409
  let contract_id = env.register(DummyContract, ());
280
410
  let client = DummyContractClient::new(&env, &contract_id);
281
411
 
282
412
  // First upgrade and migrate with valid WASM
283
- // Note: TEST_WASM is a pre-compiled contract with old error codes (1500 instead of 1050)
284
413
  let wasm_hash = env.deployer().upload_contract_wasm(Bytes::from_slice(&env, TEST_WASM));
285
414
  client.upgrade(&wasm_hash);
286
- client.migrate(&());
415
+
416
+ let migration_data = Val::VOID.to_xdr(&env);
417
+ client.migrate(&migration_data);
287
418
 
288
419
  // Try to migrate again without upgrade - should panic
289
- client.migrate(&());
420
+ client.migrate(&migration_data);
421
+ }
422
+
423
+ // ============================================
424
+ // Freeze Feature Tests
425
+ // ============================================
426
+
427
+ #[test]
428
+ fn test_freeze_success() {
429
+ let env = Env::default();
430
+ env.mock_all_auths();
431
+ let contract_id = env.register(DummyContract, ());
432
+ let client = DummyContractClient::new(&env, &contract_id);
433
+
434
+ // Initially, contract should not be frozen
435
+ assert_eq!(client.is_frozen(), false);
436
+
437
+ // Freeze the contract
438
+ client.freeze();
439
+
440
+ // Verify the contract is now frozen
441
+ assert_eq!(client.is_frozen(), true);
442
+ }
443
+
444
+ #[test]
445
+ #[should_panic(expected = "Error(Contract, #1052)")] // UpgradesFrozen
446
+ fn test_upgrade_fails_when_frozen() {
447
+ let env = Env::default();
448
+ env.mock_all_auths();
449
+ let contract_id = env.register(DummyContract, ());
450
+ let client = DummyContractClient::new(&env, &contract_id);
451
+
452
+ // Upload valid contract WASM
453
+ let wasm_hash = env.deployer().upload_contract_wasm(Bytes::from_slice(&env, TEST_WASM));
454
+
455
+ // Freeze the contract first
456
+ client.freeze();
457
+
458
+ // Try to upgrade - should panic with UpgradesFrozen
459
+ client.upgrade(&wasm_hash);
460
+ }
461
+
462
+ #[test]
463
+ fn test_freeze_multiple_times() {
464
+ let env = Env::default();
465
+ env.mock_all_auths();
466
+ let contract_id = env.register(DummyContract, ());
467
+ let client = DummyContractClient::new(&env, &contract_id);
468
+
469
+ // Freeze multiple times - should not panic
470
+ client.freeze();
471
+ assert_eq!(client.is_frozen(), true);
472
+
473
+ client.freeze();
474
+ assert_eq!(client.is_frozen(), true);
475
+ }
476
+
477
+ #[test]
478
+ #[should_panic(expected = "HostError: Error(Auth, InvalidAction)")]
479
+ fn test_freeze_requires_auth() {
480
+ let env = Env::default();
481
+ // Note: NOT calling mock_all_auths() - auth will fail
482
+ let contract_id = env.register(DummyContract, ());
483
+ let client = DummyContractClient::new(&env, &contract_id);
484
+
485
+ // Try to freeze without auth - should panic
486
+ client.freeze();
290
487
  }