@shipload/sdk 1.0.0-next.4 → 1.0.0-next.41

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 (134) hide show
  1. package/lib/scan.d.ts +34 -0
  2. package/lib/scan.js +136 -0
  3. package/lib/scan.js.map +1 -0
  4. package/lib/scan.m.js +129 -0
  5. package/lib/scan.m.js.map +1 -0
  6. package/lib/shipload.d.ts +2473 -973
  7. package/lib/shipload.js +11529 -5211
  8. package/lib/shipload.js.map +1 -1
  9. package/lib/shipload.m.js +11338 -5162
  10. package/lib/shipload.m.js.map +1 -1
  11. package/lib/testing.d.ts +970 -0
  12. package/lib/testing.js +4013 -0
  13. package/lib/testing.js.map +1 -0
  14. package/lib/testing.m.js +4007 -0
  15. package/lib/testing.m.js.map +1 -0
  16. package/package.json +20 -2
  17. package/src/capabilities/craftable.ts +51 -0
  18. package/src/capabilities/crafting.test.ts +7 -0
  19. package/src/capabilities/crafting.ts +5 -6
  20. package/src/capabilities/gathering.test.ts +16 -0
  21. package/src/capabilities/gathering.ts +35 -18
  22. package/src/capabilities/index.ts +0 -1
  23. package/src/capabilities/modules.ts +9 -0
  24. package/src/capabilities/storage.ts +16 -1
  25. package/src/contracts/platform.ts +231 -3
  26. package/src/contracts/server.ts +1021 -481
  27. package/src/coordinates/address.ts +88 -0
  28. package/src/coordinates/constants.test.ts +15 -0
  29. package/src/coordinates/constants.ts +23 -0
  30. package/src/coordinates/index.ts +15 -0
  31. package/src/coordinates/memo.test.ts +47 -0
  32. package/src/coordinates/memo.ts +20 -0
  33. package/src/coordinates/permutation.ts +77 -0
  34. package/src/coordinates/regions.ts +48 -0
  35. package/src/coordinates/sectors.ts +115 -0
  36. package/src/data/capabilities.ts +12 -5
  37. package/src/data/capability-formulas.ts +14 -7
  38. package/src/data/catalog.ts +0 -5
  39. package/src/data/colors.ts +14 -47
  40. package/src/data/entities.json +76 -10
  41. package/src/data/item-ids.ts +18 -12
  42. package/src/data/items.json +321 -38
  43. package/src/data/kind-registry.json +109 -0
  44. package/src/data/kind-registry.ts +165 -0
  45. package/src/data/metadata.ts +119 -33
  46. package/src/data/recipes-runtime.ts +3 -23
  47. package/src/data/recipes.json +238 -117
  48. package/src/derivation/build-methods.ts +45 -0
  49. package/src/derivation/capabilities.test.ts +151 -0
  50. package/src/derivation/capabilities.ts +512 -0
  51. package/src/derivation/capability-mappings.ts +9 -12
  52. package/src/derivation/crafting.ts +23 -24
  53. package/src/derivation/index.ts +25 -2
  54. package/src/derivation/recipe-usage.test.ts +78 -0
  55. package/src/derivation/recipe-usage.ts +141 -0
  56. package/src/derivation/reserve-regen.ts +34 -0
  57. package/src/derivation/resources.ts +125 -38
  58. package/src/derivation/rollups.test.ts +55 -0
  59. package/src/derivation/rollups.ts +56 -0
  60. package/src/derivation/stars.test.ts +51 -0
  61. package/src/derivation/stars.ts +15 -0
  62. package/src/derivation/stats.ts +6 -6
  63. package/src/derivation/stratum.ts +17 -20
  64. package/src/derivation/tiers.ts +40 -7
  65. package/src/derivation/wormhole.ts +136 -0
  66. package/src/entities/entity.ts +98 -0
  67. package/src/entities/gamestate.ts +3 -28
  68. package/src/entities/makers.ts +124 -134
  69. package/src/entities/slot-multiplier.ts +43 -0
  70. package/src/errors.ts +12 -16
  71. package/src/format.ts +26 -4
  72. package/src/index-module.ts +267 -47
  73. package/src/managers/actions.ts +528 -95
  74. package/src/managers/base.ts +6 -2
  75. package/src/managers/construction-types.ts +80 -0
  76. package/src/managers/construction.ts +412 -0
  77. package/src/managers/context.ts +20 -1
  78. package/src/managers/coordinates.ts +14 -0
  79. package/src/managers/entities.ts +18 -66
  80. package/src/managers/epochs.ts +40 -0
  81. package/src/managers/index.ts +17 -1
  82. package/src/managers/locations.ts +25 -29
  83. package/src/managers/nft.test.ts +14 -0
  84. package/src/managers/nft.ts +70 -0
  85. package/src/managers/plot.ts +122 -0
  86. package/src/nft/atomicassets.abi.json +1342 -0
  87. package/src/nft/atomicassets.ts +237 -0
  88. package/src/nft/atomicdata.ts +130 -0
  89. package/src/nft/buildImmutableData.ts +338 -0
  90. package/src/nft/description.ts +98 -24
  91. package/src/nft/index.ts +3 -0
  92. package/src/planner/index.ts +127 -0
  93. package/src/planner/planner.test.ts +319 -0
  94. package/src/resolution/describe-module.ts +18 -13
  95. package/src/resolution/display-name.ts +38 -10
  96. package/src/resolution/resolve-item.test.ts +37 -0
  97. package/src/resolution/resolve-item.ts +55 -24
  98. package/src/scan/index.ts +180 -0
  99. package/src/scan/scan-wasm.base64.ts +2 -0
  100. package/src/scheduling/accessor.ts +68 -22
  101. package/src/scheduling/availability.ts +108 -0
  102. package/src/scheduling/cancel.test.ts +348 -0
  103. package/src/scheduling/cancel.ts +209 -0
  104. package/src/scheduling/energy.ts +47 -0
  105. package/src/scheduling/idle-resolve.ts +45 -0
  106. package/src/scheduling/lane-core.ts +128 -0
  107. package/src/scheduling/lanes.test.ts +249 -0
  108. package/src/scheduling/lanes.ts +198 -0
  109. package/src/scheduling/projection.ts +209 -105
  110. package/src/scheduling/schedule.ts +241 -104
  111. package/src/scheduling/task-cargo.ts +46 -0
  112. package/src/shipload.ts +21 -1
  113. package/src/subscriptions/manager.ts +229 -142
  114. package/src/subscriptions/mappers.ts +5 -8
  115. package/src/subscriptions/types.ts +11 -3
  116. package/src/testing/catalog-hash.ts +19 -0
  117. package/src/testing/index.ts +2 -0
  118. package/src/testing/projection-parity.ts +167 -0
  119. package/src/travel/reach.ts +23 -0
  120. package/src/travel/route-planner.ts +196 -0
  121. package/src/travel/travel.ts +200 -112
  122. package/src/types/capabilities.ts +29 -6
  123. package/src/types/entity.ts +3 -3
  124. package/src/types/index.ts +0 -1
  125. package/src/types.ts +28 -13
  126. package/src/utils/cargo.ts +27 -0
  127. package/src/utils/display-name.ts +70 -0
  128. package/src/utils/system.ts +36 -24
  129. package/src/capabilities/loading.ts +0 -8
  130. package/src/entities/container.ts +0 -108
  131. package/src/entities/ship-deploy.ts +0 -259
  132. package/src/entities/ship.ts +0 -204
  133. package/src/entities/warehouse.ts +0 -119
  134. package/src/types/entity-traits.ts +0 -69
@@ -0,0 +1,4007 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
+ import { Blob, ABI, Struct, Name, Asset, UInt64, Checksum256, UInt32, TimePointSec, ExtendedAsset, UInt16, UInt8, Int64, TimePoint, BlockTimestamp, Bytes, Int32 } from '@wharfkit/antelope';
4
+ import { __decorate } from 'tslib';
5
+ import '@wharfkit/contract';
6
+
7
+ const CATALOG_FILES_REL = [
8
+ 'items.json',
9
+ 'recipes.json',
10
+ 'entities.json',
11
+ 'kind-registry.json',
12
+ 'item-ids.ts',
13
+ ];
14
+ function computeCatalogHash(filePaths) {
15
+ const hash = createHash('sha256');
16
+ for (const p of filePaths) {
17
+ hash.update(readFileSync(p));
18
+ hash.update('\0');
19
+ }
20
+ return hash.digest('hex');
21
+ }
22
+
23
+ const abiBlob$1 = Blob.from('DmVvc2lvOjphYmkvMS4yAB0LYmFsYW5jZV9yb3cAAg50b2tlbl9jb250cmFjdARuYW1lB2JhbGFuY2UFYXNzZXQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BWNsb3NlAAMFb3duZXIEbmFtZQ50b2tlbl9jb250cmFjdARuYW1lDHRva2VuX3N5bWJvbAZzeW1ib2wLY29tcGFueV9yb3cAAgdhY2NvdW50BG5hbWUEbmFtZQZzdHJpbmcMZGViaXRkZXBvc2l0AAUFb3duZXIEbmFtZQV0b2tlbgRuYW1lBmxvY2tlZAVhc3NldAtmZWVfYWNjb3VudARuYW1lA2ZlZQVhc3NldA5kZXBvc2l0Y2ZnX3JvdwACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAZlbmFibGUAAQdlbmFibGVkBGJvb2wKZW5hYmxlZ2FtZQACCGNvbnRyYWN0BG5hbWUHZW5hYmxlZARib29sDGZvdW5kY29tcGFueQACB2FjY291bnQEbmFtZQRuYW1lBnN0cmluZwtnYW1lX2NvbmZpZwAEBHNlZWQLY2hlY2tzdW0yNTYJZXBvY2h0aW1lBnVpbnQzMgVzdGFydA50aW1lX3BvaW50X3NlYwNlbmQOdGltZV9wb2ludF9zZWMJZ2FtZV9tZXRhAAQEbmFtZQZzdHJpbmcLZGVzY3JpcHRpb24Gc3RyaW5nA3VybAZzdHJpbmcHdmVyc2lvbgZzdHJpbmcIZ2FtZV9yb3cABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCmdhbWVfc3RhdGUAAQdlbmFibGVkBGJvb2wEb3BlbgADBW93bmVyBG5hbWUOdG9rZW5fY29udHJhY3QEbmFtZQx0b2tlbl9zeW1ib2wGc3ltYm9sDHJlbGdhdGVhc3NldAABCGFzc2V0X2lkBnVpbnQ2NAxyZWxnYXRlb3duZXIAAQVvd25lcgRuYW1lDHNldGVwb2NodGltZQACCGNvbnRyYWN0BG5hbWUJZXBvY2h0aW1lBnVpbnQzMghzZXR0b2tlbgACDnRva2VuX2NvbnRyYWN0BG5hbWUMdG9rZW5fc3ltYm9sBnN5bWJvbAlzdGFydGdhbWUABAhjb250cmFjdARuYW1lBmNvbmZpZwtnYW1lX2NvbmZpZwRtZXRhCWdhbWVfbWV0YQVzdGF0ZQpnYW1lX3N0YXRlCXN0YXRlX3JvdwABB2VuYWJsZWQEYm9vbAt1bndyYXBjYXJnbwADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA51bndyYXBjdXN0X3JvdwACCGFzc2V0X2lkBnVpbnQ2NAVvd25lcgRuYW1lDHVud3JhcGVudGl0eQADBGdhbWUEbmFtZQVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NAp1cGRhdGVnYW1lAAIIY29udHJhY3QEbmFtZQRtZXRhCWdhbWVfbWV0YQR3aXBlAAAId2l0aGRyYXcAAwVvd25lcgRuYW1lCHF1YW50aXR5DmV4dGVuZGVkX2Fzc2V0BG1lbW8Gc3RyaW5nCXdyYXBjYXJnbwAGBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0CGNhcmdvX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQKd3JhcGVudGl0eQAEBGdhbWUEbmFtZQVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0DHdyYXBnYXRlX3JvdwADBW93bmVyBG5hbWUEZ2FtZQRuYW1lDWxhc3RfYXNzZXRfaWQGdWludDY0EwCAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAIVpRAVjbG9zZeICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsb3NlCnN1bW1hcnk6ICdDbG9zZSBhIGRlcG9zaXQgYmFsYW5jZSByb3cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpDbG9zZSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2Ugcm93IGZvciB0aGUgZ2l2ZW4gdG9rZW4gYW5kIGZyZWUgaXRzIFJBTS4gVGhlIGJhbGFuY2UgbXVzdCBiZSB6ZXJvIGJlZm9yZSBjbG9zaW5nLiBSZXF1aXJlcyB0aGUgb3duZXIncyBhdXRob3JpdHkukB2mVaXsjkoMZGViaXRkZXBvc2l0nQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGViaXRkZXBvc2l0CnN1bW1hcnk6ICdEZWJpdCBhIGRlcG9zaXQgYmFsYW5jZSBmb3IgYSB3cmFwIG9wZXJhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IGEgcmVnaXN0ZXJlZCwgZW5hYmxlZCBnYW1lIGNvbnRyYWN0IG9ubHkuIERlYml0cyB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UgYnkgdGhlIGxvY2tlZCBhbW91bnQgcGx1cyB0aGUgZmVlLCBhbmQgY3JlZGl0cyB0aGUgZmVlIHRvIHRoZSBjb25maWd1cmVkIGZlZSBhY2NvdW50LiBVc2VkIGJ5IGEgZ2FtZSdzIHdyYXAgZmxvdyB0byBjb2xsZWN0IHRoZSB3cmFwIGNvc3QuIENhbm5vdCBiZSBjYWxsZWQgZGlyZWN0bHkgYnkgcGxheWVycyBvciB1bnJlZ2lzdGVyZWQgYWNjb3VudHMuAAAAAKh4zFQGZW5hYmxl8wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlCnN1bW1hcnk6ICdFbmFibGUvZGlzYWJsZSBwbGF0Zm9ybScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoZSBwbGF0Zm9ybSBjb250cmFjdC4AgJKGqXjMVAplbmFibGVnYW1l/AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZW5hYmxlZ2FtZQpzdW1tYXJ5OiAnRW5hYmxlL2Rpc2JhYmxlIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoZSBzcGVjaWZpZWQgZ2FtZSBjb250cmFjdC7gp6mSojQ1XQxmb3VuZGNvbXBhbnmDAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmb3VuZGNvbXBhbnkKc3VtbWFyeTogJ0ZvdW5kIGEgbmV3IGNvbXBhbnknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpGb3VuZCBhIG5ldyBjb21wYW55IGluIHRoZSBTaGlwbG9hZCBwbGF0Zm9ybSBjb250cmFjdC4AAAAAADBVpQRvcGVumwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogb3BlbgpzdW1tYXJ5OiAnT3BlbiBhIGRlcG9zaXQgYmFsYW5jZSByb3cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpPcGVuIGEgemVyby1iYWxhbmNlIGRlcG9zaXQgcm93IGZvciB0aGUgZ2l2ZW4gb3duZXIgYW5kIHRva2VuLCB3aXRoIFJBTSBwYWlkIGJ5IHRoZSBvd25lci4gSGFzIG5vIGVmZmVjdCBpZiB0aGUgcm93IGFscmVhZHkgZXhpc3RzLiBNdXN0IGJlIGNhbGxlZCBiZWZvcmUgdGhlIG93bmVyIGNhbiByZWNlaXZlIHRva2VuIGRlcG9zaXRzIG9yIHdyYXAgcmVmdW5kcy6QFcZGZcOiugxyZWxnYXRlYXNzZXQAcNXkVGXDoroMcmVsZ2F0ZW93bmVyAKCkyw3RqrLCDHNldGVwb2NodGltZcQCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldGVwb2NodGltZQpzdW1tYXJ5OiAnREVCVUc6IG92ZXJyaWRlIGEgZ2FtZScncyBlcG9jaCB0aW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpPdmVycmlkZSB0aGUgZXBvY2ggZHVyYXRpb24gaW4gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAAAAU0Gas8IIc2V0dG9rZW6dAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzZXR0b2tlbgpzdW1tYXJ5OiAnU2V0IHRoZSBhY2NlcHRlZCBkZXBvc2l0IHRva2VuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKQWRtaW4gYWN0aW9uIHRoYXQgc2V0cyB0aGUgYWNjZXB0ZWQgZGVwb3NpdCB0b2tlbiAoY29udHJhY3QgYWNjb3VudCBhbmQgc3ltYm9sKSBmb3IgdGhlIHBsYXRmb3JtLiBBbGwgcGxheWVyIGRlcG9zaXRzIGFuZCB3cmFwIGNvc3RzIGFyZSBkZW5vbWluYXRlZCBpbiB0aGlzIHRva2VuLiBSZXF1aXJlcyBwbGF0Zm9ybSBjb250cmFjdCBhdXRob3JpdHkuAABQ0rB8TcYJc3RhcnRnYW1l/wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3RhcnRnYW1lCnN1bW1hcnk6ICdTdGFydCBhIG5ldyBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKU3RhcnQgYSBuZXcgZ2FtZSBvZiBTaGlwbG9hZCBkZXBsb3llZCB0byBhIG5ldyBjb250cmFjdC4AKLsGVXP51At1bndyYXBjYXJnb88ELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVud3JhcGNhcmdvCnN1bW1hcnk6ICdEZXBvc2l0IGFuIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlcG9zaXQgYW4gQXRvbWljQXNzZXRzIE5GVCBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnby4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAndW53cmFwJyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgY2FsbGVyIG11c3Qgb3duIHRoZSBob3N0LCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycywgYW5kIHRoZSBob3N0IG11c3QgaGF2ZSBjYXBhY2l0eSBoZWFkcm9vbSBmb3IgdGhlIHVud3JhcHBlZCBtYXNzLiBTY2hlZHVsZXMgYSBUQVNLX1VOV1JBUCBvbiB0aGUgaG9zdCB0aGF0LCBvbiByZXNvbHV0aW9uLCBwbGFjZXMgdGhlIGRlY29kZWQgaXRlbSBpbnRvIHRoZSBob3N0J3MgY2FyZ28gYW5kIGJ1cm5zIHRoZSBORlQu4LPLU1Vz+dQMdW53cmFwZW50aXR54gQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW53cmFwZW50aXR5CnN1bW1hcnk6ICdEZXBsb3kgYW4gZW50aXR5IE5GVCBkaXJlY3RseSB0byBhIG5leHVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpEZXBsb3kgYSBwYWNrZWQtZW50aXR5IEF0b21pY0Fzc2V0cyBORlQgKG9yYml0YWwgdmVzc2VsOiBzaGlwIG9yIGNvbnRhaW5lcikgZGlyZWN0bHkgYXMgYSBsaXZlIGVudGl0eS4gUGFpcnMgd2l0aCBhbiBhdG9taWNhc3NldHM6OnRyYW5zZmVyIGNhcnJ5aW5nIHRoZSAnZGVwbG95JyBtZW1vIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLiBUaGUgTkZUIGlzIGJ1cm5lZCwgYSBuZXcgZW50aXR5IHJvdyBpcyBlbXBsYWNlZCBhdCB0aGUgTkZUJ3Mgd3JhcCBvcmlnaW4gcGFpZCBieSB0aGUgb3duZXIsIGFuZCBUQVNLX1RSQVZFTCBwbHVzIFRBU0tfUkVDSEFSR0UgYXJlIHF1ZXVlZCB0byBkZWxpdmVyIHRoZSBlbnRpdHkgdG8gdGhlIHRhcmdldCBuZXh1cyBhbmQgYnJpbmcgaXQgdG8gZnVsbCBlbmVyZ3kuAICShqlsUtUKdXBkYXRlZ2FtZY0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVwZGF0ZWdhbWUKc3VtbWFyeTogJ1VwZGF0ZSBnYW1lIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKVXBkYXRlIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIGdhbWUgY29udHJhY3QuCgotLS0AAAAAAKCq4wR3aXBlsgEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd2lwZQpzdW1tYXJ5OiAnREVCVUc6IHdpcGUgYWN0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAA3NzUsuMId2l0aGRyYXeXAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXRoZHJhdwpzdW1tYXJ5OiAnV2l0aGRyYXcgdG9rZW5zIGZyb20gYSBkZXBvc2l0IGJhbGFuY2UnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpXaXRoZHJhdyB0b2tlbnMgZnJvbSB0aGUgb3duZXIncyBkZXBvc2l0IGJhbGFuY2UuIERlYml0cyB0aGUgbGVkZ2VyIGJ5IHRoZSByZXF1ZXN0ZWQgYW1vdW50IGFuZCB0cmFuc2ZlcnMgdGhlIHRva2VucyB0byB0aGUgb3duZXIuIFJlcXVpcmVzIGEgc3VmZmljaWVudCBiYWxhbmNlIGFuZCB0aGUgb3duZXIncyBhdXRob3JpdHkuAACg7BpUzeUJd3JhcGNhcmdvAACAzy5PVc3lCndyYXBlbnRpdHm1BC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3cmFwZW50aXR5CnN1bW1hcnk6ICdXcmFwIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYW4gTkZUJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpXcmFwIGFuIGVudGl0eSBpbnRvIGFuIEF0b21pY0Fzc2V0cyBORlQgbWludGVkIHRvIGl0cyBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGlkbGUgd2l0aCBlbXB0eSBjYXJnbywgYW5kIGhhdmUgYW4gbmZ0Y29uZmlnIG1hcHBpbmcgZm9yIGl0cyBpdGVtIGlkLiBFcmFzZXMgdGhlIGVudGl0eSBhbmQgbWludHMgdGhlIE5GVCBpbmxpbmUsIHByZXNlcnZpbmcgaXRzIHN0YXRzIGFuZCBpbnN0YWxsZWQgbW9kdWxlczsgdGhlIHBsYXllciBwYXlzIFJBTSBmb3IgdGhlIG5ldyBhc3NldCByb3cuIFJlcXVpcmVzIHRoZSBvd25lcidzIGFjdGl2ZSBwZXJtaXNzaW9uIChubyBzZXNzaW9uLWtleSBjb21wYXRpYmlsaXR5KS4HAAAAQKFpojkDaTY0AAALYmFsYW5jZV9yb3cAAADAT1MlRQNpNjQAAAtjb21wYW55X3JvdwAAWyg7TKtKA2k2NAAADmRlcG9zaXRjZmdfcm93AAAAAACspGEDaTY0AAAIZ2FtZV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAQMYaVXP51ANpNjQAAA51bndyYXBjdXN0X3JvdwAAACobVs3lA2k2NAAADHdyYXBnYXRlX3JvdwETU2hpcGxvYWQgKFBsYXRmb3JtKRNTaGlwbG9hZCAoUGxhdGZvcm0pAAAAAA==');
24
+ ABI.from(abiBlob$1);
25
+ var Types$1;
26
+ (function (Types) {
27
+ let balance_row = class balance_row extends Struct {
28
+ };
29
+ __decorate([
30
+ Struct.field(Name)
31
+ ], balance_row.prototype, "token_contract", void 0);
32
+ __decorate([
33
+ Struct.field(Asset)
34
+ ], balance_row.prototype, "balance", void 0);
35
+ balance_row = __decorate([
36
+ Struct.type('balance_row')
37
+ ], balance_row);
38
+ Types.balance_row = balance_row;
39
+ let cleartable = class cleartable extends Struct {
40
+ };
41
+ __decorate([
42
+ Struct.field(Name)
43
+ ], cleartable.prototype, "table_name", void 0);
44
+ __decorate([
45
+ Struct.field(Name, { optional: true })
46
+ ], cleartable.prototype, "scope", void 0);
47
+ __decorate([
48
+ Struct.field(UInt64, { optional: true })
49
+ ], cleartable.prototype, "max_rows", void 0);
50
+ cleartable = __decorate([
51
+ Struct.type('cleartable')
52
+ ], cleartable);
53
+ Types.cleartable = cleartable;
54
+ let close = class close extends Struct {
55
+ };
56
+ __decorate([
57
+ Struct.field(Name)
58
+ ], close.prototype, "owner", void 0);
59
+ __decorate([
60
+ Struct.field(Name)
61
+ ], close.prototype, "token_contract", void 0);
62
+ __decorate([
63
+ Struct.field(Asset.Symbol)
64
+ ], close.prototype, "token_symbol", void 0);
65
+ close = __decorate([
66
+ Struct.type('close')
67
+ ], close);
68
+ Types.close = close;
69
+ let company_row = class company_row extends Struct {
70
+ };
71
+ __decorate([
72
+ Struct.field(Name)
73
+ ], company_row.prototype, "account", void 0);
74
+ __decorate([
75
+ Struct.field('string')
76
+ ], company_row.prototype, "name", void 0);
77
+ company_row = __decorate([
78
+ Struct.type('company_row')
79
+ ], company_row);
80
+ Types.company_row = company_row;
81
+ let debitdeposit = class debitdeposit extends Struct {
82
+ };
83
+ __decorate([
84
+ Struct.field(Name)
85
+ ], debitdeposit.prototype, "owner", void 0);
86
+ __decorate([
87
+ Struct.field(Name)
88
+ ], debitdeposit.prototype, "token", void 0);
89
+ __decorate([
90
+ Struct.field(Asset)
91
+ ], debitdeposit.prototype, "locked", void 0);
92
+ __decorate([
93
+ Struct.field(Name)
94
+ ], debitdeposit.prototype, "fee_account", void 0);
95
+ __decorate([
96
+ Struct.field(Asset)
97
+ ], debitdeposit.prototype, "fee", void 0);
98
+ debitdeposit = __decorate([
99
+ Struct.type('debitdeposit')
100
+ ], debitdeposit);
101
+ Types.debitdeposit = debitdeposit;
102
+ let depositcfg_row = class depositcfg_row extends Struct {
103
+ };
104
+ __decorate([
105
+ Struct.field(Name)
106
+ ], depositcfg_row.prototype, "token_contract", void 0);
107
+ __decorate([
108
+ Struct.field(Asset.Symbol)
109
+ ], depositcfg_row.prototype, "token_symbol", void 0);
110
+ depositcfg_row = __decorate([
111
+ Struct.type('depositcfg_row')
112
+ ], depositcfg_row);
113
+ Types.depositcfg_row = depositcfg_row;
114
+ let enable = class enable extends Struct {
115
+ };
116
+ __decorate([
117
+ Struct.field('bool')
118
+ ], enable.prototype, "enabled", void 0);
119
+ enable = __decorate([
120
+ Struct.type('enable')
121
+ ], enable);
122
+ Types.enable = enable;
123
+ let enablegame = class enablegame extends Struct {
124
+ };
125
+ __decorate([
126
+ Struct.field(Name)
127
+ ], enablegame.prototype, "contract", void 0);
128
+ __decorate([
129
+ Struct.field('bool')
130
+ ], enablegame.prototype, "enabled", void 0);
131
+ enablegame = __decorate([
132
+ Struct.type('enablegame')
133
+ ], enablegame);
134
+ Types.enablegame = enablegame;
135
+ let foundcompany = class foundcompany extends Struct {
136
+ };
137
+ __decorate([
138
+ Struct.field(Name)
139
+ ], foundcompany.prototype, "account", void 0);
140
+ __decorate([
141
+ Struct.field('string')
142
+ ], foundcompany.prototype, "name", void 0);
143
+ foundcompany = __decorate([
144
+ Struct.type('foundcompany')
145
+ ], foundcompany);
146
+ Types.foundcompany = foundcompany;
147
+ let game_config = class game_config extends Struct {
148
+ };
149
+ __decorate([
150
+ Struct.field(Checksum256)
151
+ ], game_config.prototype, "seed", void 0);
152
+ __decorate([
153
+ Struct.field(UInt32)
154
+ ], game_config.prototype, "epochtime", void 0);
155
+ __decorate([
156
+ Struct.field(TimePointSec)
157
+ ], game_config.prototype, "start", void 0);
158
+ __decorate([
159
+ Struct.field(TimePointSec)
160
+ ], game_config.prototype, "end", void 0);
161
+ game_config = __decorate([
162
+ Struct.type('game_config')
163
+ ], game_config);
164
+ Types.game_config = game_config;
165
+ let game_meta = class game_meta extends Struct {
166
+ };
167
+ __decorate([
168
+ Struct.field('string')
169
+ ], game_meta.prototype, "name", void 0);
170
+ __decorate([
171
+ Struct.field('string')
172
+ ], game_meta.prototype, "description", void 0);
173
+ __decorate([
174
+ Struct.field('string')
175
+ ], game_meta.prototype, "url", void 0);
176
+ __decorate([
177
+ Struct.field('string')
178
+ ], game_meta.prototype, "version", void 0);
179
+ game_meta = __decorate([
180
+ Struct.type('game_meta')
181
+ ], game_meta);
182
+ Types.game_meta = game_meta;
183
+ let game_state = class game_state extends Struct {
184
+ };
185
+ __decorate([
186
+ Struct.field('bool')
187
+ ], game_state.prototype, "enabled", void 0);
188
+ game_state = __decorate([
189
+ Struct.type('game_state')
190
+ ], game_state);
191
+ Types.game_state = game_state;
192
+ let game_row = class game_row extends Struct {
193
+ };
194
+ __decorate([
195
+ Struct.field(Name)
196
+ ], game_row.prototype, "contract", void 0);
197
+ __decorate([
198
+ Struct.field(game_config)
199
+ ], game_row.prototype, "config", void 0);
200
+ __decorate([
201
+ Struct.field(game_meta)
202
+ ], game_row.prototype, "meta", void 0);
203
+ __decorate([
204
+ Struct.field(game_state)
205
+ ], game_row.prototype, "state", void 0);
206
+ game_row = __decorate([
207
+ Struct.type('game_row')
208
+ ], game_row);
209
+ Types.game_row = game_row;
210
+ let open = class open extends Struct {
211
+ };
212
+ __decorate([
213
+ Struct.field(Name)
214
+ ], open.prototype, "owner", void 0);
215
+ __decorate([
216
+ Struct.field(Name)
217
+ ], open.prototype, "token_contract", void 0);
218
+ __decorate([
219
+ Struct.field(Asset.Symbol)
220
+ ], open.prototype, "token_symbol", void 0);
221
+ open = __decorate([
222
+ Struct.type('open')
223
+ ], open);
224
+ Types.open = open;
225
+ let relgateasset = class relgateasset extends Struct {
226
+ };
227
+ __decorate([
228
+ Struct.field(UInt64)
229
+ ], relgateasset.prototype, "asset_id", void 0);
230
+ relgateasset = __decorate([
231
+ Struct.type('relgateasset')
232
+ ], relgateasset);
233
+ Types.relgateasset = relgateasset;
234
+ let relgateowner = class relgateowner extends Struct {
235
+ };
236
+ __decorate([
237
+ Struct.field(Name)
238
+ ], relgateowner.prototype, "owner", void 0);
239
+ relgateowner = __decorate([
240
+ Struct.type('relgateowner')
241
+ ], relgateowner);
242
+ Types.relgateowner = relgateowner;
243
+ let setepochtime = class setepochtime extends Struct {
244
+ };
245
+ __decorate([
246
+ Struct.field(Name)
247
+ ], setepochtime.prototype, "contract", void 0);
248
+ __decorate([
249
+ Struct.field(UInt32)
250
+ ], setepochtime.prototype, "epochtime", void 0);
251
+ setepochtime = __decorate([
252
+ Struct.type('setepochtime')
253
+ ], setepochtime);
254
+ Types.setepochtime = setepochtime;
255
+ let settoken = class settoken extends Struct {
256
+ };
257
+ __decorate([
258
+ Struct.field(Name)
259
+ ], settoken.prototype, "token_contract", void 0);
260
+ __decorate([
261
+ Struct.field(Asset.Symbol)
262
+ ], settoken.prototype, "token_symbol", void 0);
263
+ settoken = __decorate([
264
+ Struct.type('settoken')
265
+ ], settoken);
266
+ Types.settoken = settoken;
267
+ let startgame = class startgame extends Struct {
268
+ };
269
+ __decorate([
270
+ Struct.field(Name)
271
+ ], startgame.prototype, "contract", void 0);
272
+ __decorate([
273
+ Struct.field(game_config)
274
+ ], startgame.prototype, "config", void 0);
275
+ __decorate([
276
+ Struct.field(game_meta)
277
+ ], startgame.prototype, "meta", void 0);
278
+ __decorate([
279
+ Struct.field(game_state)
280
+ ], startgame.prototype, "state", void 0);
281
+ startgame = __decorate([
282
+ Struct.type('startgame')
283
+ ], startgame);
284
+ Types.startgame = startgame;
285
+ let state_row = class state_row extends Struct {
286
+ };
287
+ __decorate([
288
+ Struct.field('bool')
289
+ ], state_row.prototype, "enabled", void 0);
290
+ state_row = __decorate([
291
+ Struct.type('state_row')
292
+ ], state_row);
293
+ Types.state_row = state_row;
294
+ let unwrapcargo = class unwrapcargo extends Struct {
295
+ };
296
+ __decorate([
297
+ Struct.field(Name)
298
+ ], unwrapcargo.prototype, "game", void 0);
299
+ __decorate([
300
+ Struct.field(Name)
301
+ ], unwrapcargo.prototype, "owner", void 0);
302
+ __decorate([
303
+ Struct.field(UInt64)
304
+ ], unwrapcargo.prototype, "asset_id", void 0);
305
+ unwrapcargo = __decorate([
306
+ Struct.type('unwrapcargo')
307
+ ], unwrapcargo);
308
+ Types.unwrapcargo = unwrapcargo;
309
+ let unwrapcust_row = class unwrapcust_row extends Struct {
310
+ };
311
+ __decorate([
312
+ Struct.field(UInt64)
313
+ ], unwrapcust_row.prototype, "asset_id", void 0);
314
+ __decorate([
315
+ Struct.field(Name)
316
+ ], unwrapcust_row.prototype, "owner", void 0);
317
+ unwrapcust_row = __decorate([
318
+ Struct.type('unwrapcust_row')
319
+ ], unwrapcust_row);
320
+ Types.unwrapcust_row = unwrapcust_row;
321
+ let unwrapentity = class unwrapentity extends Struct {
322
+ };
323
+ __decorate([
324
+ Struct.field(Name)
325
+ ], unwrapentity.prototype, "game", void 0);
326
+ __decorate([
327
+ Struct.field(Name)
328
+ ], unwrapentity.prototype, "owner", void 0);
329
+ __decorate([
330
+ Struct.field(UInt64)
331
+ ], unwrapentity.prototype, "asset_id", void 0);
332
+ unwrapentity = __decorate([
333
+ Struct.type('unwrapentity')
334
+ ], unwrapentity);
335
+ Types.unwrapentity = unwrapentity;
336
+ let updategame = class updategame extends Struct {
337
+ };
338
+ __decorate([
339
+ Struct.field(Name)
340
+ ], updategame.prototype, "contract", void 0);
341
+ __decorate([
342
+ Struct.field(game_meta)
343
+ ], updategame.prototype, "meta", void 0);
344
+ updategame = __decorate([
345
+ Struct.type('updategame')
346
+ ], updategame);
347
+ Types.updategame = updategame;
348
+ let wipe = class wipe extends Struct {
349
+ };
350
+ wipe = __decorate([
351
+ Struct.type('wipe')
352
+ ], wipe);
353
+ Types.wipe = wipe;
354
+ let withdraw = class withdraw extends Struct {
355
+ };
356
+ __decorate([
357
+ Struct.field(Name)
358
+ ], withdraw.prototype, "owner", void 0);
359
+ __decorate([
360
+ Struct.field(ExtendedAsset)
361
+ ], withdraw.prototype, "quantity", void 0);
362
+ __decorate([
363
+ Struct.field('string')
364
+ ], withdraw.prototype, "memo", void 0);
365
+ withdraw = __decorate([
366
+ Struct.type('withdraw')
367
+ ], withdraw);
368
+ Types.withdraw = withdraw;
369
+ let wrapcargo = class wrapcargo extends Struct {
370
+ };
371
+ __decorate([
372
+ Struct.field(Name)
373
+ ], wrapcargo.prototype, "game", void 0);
374
+ __decorate([
375
+ Struct.field(Name)
376
+ ], wrapcargo.prototype, "owner", void 0);
377
+ __decorate([
378
+ Struct.field(UInt64)
379
+ ], wrapcargo.prototype, "entity_id", void 0);
380
+ __decorate([
381
+ Struct.field(UInt64)
382
+ ], wrapcargo.prototype, "nexus_id", void 0);
383
+ __decorate([
384
+ Struct.field(UInt64)
385
+ ], wrapcargo.prototype, "cargo_id", void 0);
386
+ __decorate([
387
+ Struct.field(UInt64)
388
+ ], wrapcargo.prototype, "quantity", void 0);
389
+ wrapcargo = __decorate([
390
+ Struct.type('wrapcargo')
391
+ ], wrapcargo);
392
+ Types.wrapcargo = wrapcargo;
393
+ let wrapentity = class wrapentity extends Struct {
394
+ };
395
+ __decorate([
396
+ Struct.field(Name)
397
+ ], wrapentity.prototype, "game", void 0);
398
+ __decorate([
399
+ Struct.field(Name)
400
+ ], wrapentity.prototype, "owner", void 0);
401
+ __decorate([
402
+ Struct.field(UInt64)
403
+ ], wrapentity.prototype, "entity_id", void 0);
404
+ __decorate([
405
+ Struct.field(UInt64)
406
+ ], wrapentity.prototype, "nexus_id", void 0);
407
+ wrapentity = __decorate([
408
+ Struct.type('wrapentity')
409
+ ], wrapentity);
410
+ Types.wrapentity = wrapentity;
411
+ let wrapgate_row = class wrapgate_row extends Struct {
412
+ };
413
+ __decorate([
414
+ Struct.field(Name)
415
+ ], wrapgate_row.prototype, "owner", void 0);
416
+ __decorate([
417
+ Struct.field(Name)
418
+ ], wrapgate_row.prototype, "game", void 0);
419
+ __decorate([
420
+ Struct.field(UInt64)
421
+ ], wrapgate_row.prototype, "last_asset_id", void 0);
422
+ wrapgate_row = __decorate([
423
+ Struct.type('wrapgate_row')
424
+ ], wrapgate_row);
425
+ Types.wrapgate_row = wrapgate_row;
426
+ })(Types$1 || (Types$1 = {}));
427
+ ({
428
+ balance: Types$1.balance_row,
429
+ company: Types$1.company_row,
430
+ depositcfg: Types$1.depositcfg_row,
431
+ games: Types$1.game_row,
432
+ state: Types$1.state_row,
433
+ unwrapcust: Types$1.unwrapcust_row,
434
+ wrapgate: Types$1.wrapgate_row,
435
+ });
436
+
437
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDi0AQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQJYWRkb3JhY2xlAAEJb3JhY2xlX2lkBG5hbWUFYmxlbmQAAgJpZAZ1aW50NjQGaW5wdXRzDGNhcmdvX2l0ZW1bXQlidWlsZHBsb3QAAgpidWlsZGVyX2lkBnVpbnQ2NAdwbG90X2lkBnVpbnQ2NAZjYW5jZWwAAwJpZAZ1aW50NjQIbGFuZV9rZXkFdWludDgFY291bnQGdWludDY0DmNhbmNlbF9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lD2NhbmNlbGxlZF9jb3VudAV1aW50OBBzY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CmNhcmdvX2l0ZW0ABQdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIJZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcmVmAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10JZW50aXR5X2lkB3VpbnQ2ND8JY2FyZ29fcm93AAcCaWQGdWludDY0CWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdC3NlcXVlbmNlX2lkB3VpbnQ2ND8KY2FyZ29fdmlldwAGB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCHF1YW50aXR5BnVpbnQzMgJpZAZ1aW50NjQJZW50aXR5X2lkB3VpbnQ2ND8JY2xhaW1fcm93AAEFb3duZXIEbmFtZQljbGFpbXBsb3QAAwpidWlsZGVyX2lkBnVpbnQ2NA50YXJnZXRfaXRlbV9pZAZ1aW50MTYGY29vcmRzC2Nvb3JkaW5hdGVzDGNsYWltc3RhcnRlcgABBW93bmVyBG5hbWUJY2xlYW5yc3ZwAAIFZXBvY2gGdWludDY0CG1heF9yb3dzBnVpbnQ2NApjbGVhcnRhYmxlAAMKdGFibGVfbmFtZQRuYW1lBXNjb3BlBW5hbWU/CG1heF9yb3dzB3VpbnQ2ND8GY29tbWl0AAMJb3JhY2xlX2lkBG5hbWUFZXBvY2gGdWludDY0BmNvbW1pdAtjaGVja3N1bTI1Ngpjb21taXRfcm93AAQCaWQGdWludDY0BWVwb2NoBnVpbnQ2NAlvcmFjbGVfaWQEbmFtZQZjb21taXQLY2hlY2tzdW0yNTYJY29uZmlnbG9nAAEGY29uZmlnC2dhbWVfY29uZmlnC2Nvb3JkaW5hdGVzAAMBeAVpbnQ2NAF5BWludDY0AXoHdWludDE2PwVjcmFmdAAGAmlkBnVpbnQ2NAlyZWNpcGVfaWQGdWludDE2CHF1YW50aXR5BnVpbnQzMgZpbnB1dHMMY2FyZ29faXRlbVtdBnRhcmdldAd1aW50NjQ/BHNsb3QGdWludDg/DGNyYWZ0ZXJfbGFuZQAECnNsb3RfaW5kZXgFdWludDgFc3BlZWQGdWludDE2BWRyYWluBnVpbnQzMgpvdXRwdXRfcGN0BnVpbnQxNghkZW1vbGlzaAABCWVudGl0eV9pZAZ1aW50NjQGZGVwbG95AAICaWQGdWludDY0A3JlZgljYXJnb19yZWYKZGVzY2VudGl0eQAEB2l0ZW1faWQGdWludDE2Cmh1bGxfc3RhdHMGdWludDY0DG1vZHVsZV9pdGVtcwh1aW50MTZbXQxtb2R1bGVfc3RhdHMIdWludDY0W10GZW5hYmxlAAEHZW5hYmxlZARib29sDGVuZXJneV9zdGF0cwACCGNhcGFjaXR5BnVpbnQzMghyZWNoYXJnZQZ1aW50MzIUZW50aXR5X2N1cnJlbnRfc3RhdGUAAgtjb29yZGluYXRlcwtjb29yZGluYXRlcwZlbmVyZ3kGdWludDMyD2VudGl0eV9kZWZhdWx0cwACC3dhcmVob3VzZV96BnVpbnQxNgtjb250YWluZXJfegZ1aW50MTYLZW50aXR5X2luZm8AFgR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2l0ZW1faWQGdWludDE2CWNhcmdvbWFzcwZ1aW50MzIFY2FyZ28MY2FyZ29fdmlld1tdB21vZHVsZXMObW9kdWxlX2VudHJ5W10GZW5lcmd5B3VpbnQzMj8IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10MbG9hZGVyX2xhbmVzDWxvYWRlcl9sYW5lW10IbGF1bmNoZXIPbGF1bmNoZXJfc3RhdHM/BWxhbmVzBmxhbmVbXQVob2xkcwZob2xkW10NZW50aXR5X2xheW91dAACDmVudGl0eV9pdGVtX2lkBnVpbnQxNgVzbG90cwpzbG90X2RlZltdFWVudGl0eV9sYXlvdXRzX3Jlc3VsdAABCGVudGl0aWVzD2VudGl0eV9sYXlvdXRbXQplbnRpdHlfcmVmAAILZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CmVudGl0eV9yb3cADAJpZAZ1aW50NjQFb3duZXIEbmFtZQRraW5kBG5hbWUHaXRlbV9pZAZ1aW50MTYEbmFtZQZzdHJpbmcFc3RhdHMGdWludDY0C2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzBmVuZXJneQd1aW50MzI/CWNhcmdvbWFzcwZ1aW50MzIHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQVsYW5lcwZsYW5lW10FaG9sZHMGaG9sZFtdDmVudGl0eV9zZXFfcm93AAEHbmV4dF9pZAZ1aW50NjQOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludA9lbnRpdHlncm91cF9yb3cAAgJpZAZ1aW50NjQMcGFydGljaXBhbnRzDGVudGl0eV9yZWZbXQtlbnVtX21lbWJlcgACBXZhbHVlBXVpbnQ4BG5hbWUGc3RyaW5nC2VudW1fcmVzdWx0AAEHbWVtYmVycw1lbnVtX21lbWJlcltdCWVwb2NoX3JvdwAEBWVwb2NoBnVpbnQ2NApvcmFjbGVfaWRzBm5hbWVbXQl0aHJlc2hvbGQFdWludDgEc2VlZAtjaGVja3N1bTI1NgxmaXhjYXJnb21hc3MAAQllbnRpdHlfaWQGdWludDY0C2ZvcmNlcmV2ZWFsAAEFZXBvY2gGdWludDY0C2dhbWVfY29uZmlnAAMHdmVyc2lvbgZ1aW50MzIIZGVmYXVsdHMPZW50aXR5X2RlZmF1bHRzBWl0ZW1zCml0ZW1fZGVmW10GZ2F0aGVyAAUJc291cmNlX2lkBnVpbnQ2NA5kZXN0aW5hdGlvbl9pZAZ1aW50NjQHc3RyYXR1bQZ1aW50MTYIcXVhbnRpdHkGdWludDMyBHNsb3QGdWludDg/DWdhdGhlcmVyX2xhbmUABQpzbG90X2luZGV4BXVpbnQ4BXlpZWxkBnVpbnQxNgVkcmFpbgZ1aW50MzIFZGVwdGgGdWludDE2Cm91dHB1dF9wY3QGdWludDE2DGdlbmVzaXNmbGVldAABCGVudGl0aWVzDGVudGl0eV9yb3dbXQlnZXRjb25maWcAAApnZXRkZXBvc2l0AAIFb3duZXIEbmFtZQhhc3NldF9pZAZ1aW50NjQLZ2V0ZGlzdGFuY2UABAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAtnZXRlbGlnaWJsZQACBmNvb3Jkcwtjb29yZGluYXRlcwdzdHJhdHVtBnVpbnQxNglnZXRlbnRjbHMAAAtnZXRlbnRpdGllcwACBW93bmVyBG5hbWULZW50aXR5X3R5cGUFbmFtZT8JZ2V0ZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAtnZXRpdGVtZGF0YQAACmdldGl0ZW1pZHMAAAhnZXRpdGVtcwAAC2dldGl0ZW10eXBlAAEHaXRlbV9pZAZ1aW50MTYMZ2V0aXRlbXR5cGVzAAALZ2V0a2luZG1ldGEAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0C2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRiYXNlAAAKZ2V0bmZ0aW5mbwAACWdldHBsYXllcgABB2FjY291bnQEbmFtZQxnZXRwcm9qc3RhdGUAAgllbnRpdHlfaWQGdWludDY0CnRhc2tfY291bnQGdWludDg/CWdldHJlY2lwZQABDm91dHB1dF9pdGVtX2lkBnVpbnQxNgpnZXRyZWNpcGVzAAILbG93ZXJfYm91bmQGdWludDE2BWxpbWl0BXVpbnQ4CmdldHJlc2NhdHMAAAtnZXRyZXNlcnZlcwACAXgFaW50NjQBeQVpbnQ2NAxnZXRyZXNvdXJjZXMAAAhnZXRzbG90cwAACmdldHN0cmF0dW0AAwF4BWludDY0AXkFaW50NjQHc3RyYXR1bQZ1aW50MTYMZ2V0c3VtbWFyaWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwtnZXR3b3JtaG9sZQACAXgFaW50NjQBeQVpbnQ2NAxncm91cHRyYW5zaXQABQhlbnRpdGllcwxlbnRpdHlfcmVmW10CYXgFaW50NjQCYXkFaW50NjQCYngFaW50NjQCYnkFaW50NjQLZ3JvdXB0cmF2ZWwABAhlbnRpdGllcwxlbnRpdHlfcmVmW10BeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wEaGFzaAABBXZhbHVlBnN0cmluZwdoYXNoNTEyAAEFdmFsdWUGc3RyaW5nDGhhdWxlcl9zdGF0cwADCGNhcGFjaXR5BXVpbnQ4CmVmZmljaWVuY3kGdWludDE2BWRyYWluBnVpbnQzMgRob2xkAAUCaWQGdWludDY0BGtpbmQFdWludDgLY291bnRlcnBhcnQKZW50aXR5X3JlZgV1bnRpbAp0aW1lX3BvaW50DWluY29taW5nX21hc3MGdWludDMyC2ltcG9ydGNhcmdvAAEDcm93CWNhcmdvX3JvdwxpbXBvcnRlbnRpdHkAAQNyb3cKZW50aXR5X3JvdwtpbXBvcnRncm91cAABA3Jvdw9lbnRpdHlncm91cF9yb3cMaW1wb3J0cGxheWVyAAEFb3duZXIEbmFtZQ1pbXBvcnRyZXNlcnZlAAILZXBvY2hfc2NvcGUGdWludDMyA3JvdwtyZXNlcnZlX3JvdwtpbXBvcnRzdGF0ZQABA3JvdwlzdGF0ZV9yb3cIaXRlbV9kZWYABQJpZAZ1aW50MTYEbWFzcwZ1aW50MzIEdHlwZQV1aW50OAdzdWJ0eXBlBXVpbnQ4BHRpZXIFdWludDgMaXRlbV9pZF9wYWlyAAICaWQGdWludDE2BG5hbWUGc3RyaW5nD2l0ZW1faWRzX3Jlc3VsdAABBWl0ZW1zDml0ZW1faWRfcGFpcltdD2l0ZW1kYXRhX3Jlc3VsdAACBWl0ZW1zCml0ZW1fZGVmW10HcmVjaXBlcw5yZWNpcGVzX3Jlc3VsdAppdGVtc19pbmZvAAEFaXRlbXMKaXRlbV9kZWZbXQRqb2luAAEHYWNjb3VudARuYW1lEGtpbmRfbWV0YV9yZXN1bHQAAgVraW5kcw9raW5kX21ldGFfcm93W10JdGVtcGxhdGVzE3RlbXBsYXRlX21ldGFfcm93W10Na2luZF9tZXRhX3JvdwAFBGtpbmQEbmFtZQ5jbGFzc2lmaWNhdGlvbgV1aW50OBBjYXBhYmlsaXR5X2ZsYWdzBXVpbnQ4B3pfY29vcmQGdWludDMyDWRlZmF1bHRfbGFiZWwGc3RyaW5nBGxhbmUAAghsYW5lX2tleQV1aW50OAhzY2hlZHVsZQhzY2hlZHVsZQZsYXVuY2gAAwtsYXVuY2hlcl9pZAZ1aW50NjQKY2F0Y2hlcl9pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdDmxhdW5jaGVyX3N0YXRzAAMLY2hhcmdlX3JhdGUGdWludDE2CHZlbG9jaXR5BnVpbnQxNgVkcmFpbgZ1aW50MTYEbG9hZAADAmlkBnVpbnQ2NAdmcm9tX2lkBnVpbnQ2NAVpdGVtcwxjYXJnb19pdGVtW10LbG9hZGVyX2xhbmUABApzbG90X2luZGV4BXVpbnQ4BG1hc3MGdWludDMyBnRocnVzdAZ1aW50MTYKb3V0cHV0X3BjdAZ1aW50MTYQbG9jYXRpb25fZGVyaXZlZAACDHN0YXRpY19wcm9wcw9sb2NhdGlvbl9zdGF0aWMEc2l6ZQZ1aW50MTYNbG9jYXRpb25faW5mbwADBmNvb3Jkcwtjb29yZGluYXRlcwlpc19zeXN0ZW0EYm9vbAtpc193b3JtaG9sZQRib29sD2xvY2F0aW9uX3N0YXRpYwAFBmNvb3Jkcwtjb29yZGluYXRlcwR0eXBlDWxvY2F0aW9uX3R5cGUHc3VidHlwZQV1aW50OAVzZWVkMAV1aW50OAVzZWVkMQV1aW50OAxtb2R1bGVfZW50cnkAAgR0eXBlBXVpbnQ4CWluc3RhbGxlZA5wYWNrZWRfbW9kdWxlPwttb2R1bGVfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMgttb2R1bGVfdHlwZQV1aW50OAR0aWVyBXVpbnQ4Dm1vZHVsZXNfcmVzdWx0AAEHbW9kdWxlcw1tb2R1bGVfaW5mb1tdDm1vdmVtZW50X3N0YXRzAAIGdGhydXN0BnVpbnQzMgVkcmFpbgZ1aW50MzILbmVhcmJ5X2luZm8ABQpjYW5fdHJhdmVsBGJvb2wHY3VycmVudBRlbnRpdHlfY3VycmVudF9zdGF0ZQlwcm9qZWN0ZWQUZW50aXR5X2N1cnJlbnRfc3RhdGUKbWF4X2VuZXJneQZ1aW50MzIHc3lzdGVtcw9uZWFyYnlfc3lzdGVtW10NbmVhcmJ5X3N5c3RlbQAECGRpc3RhbmNlBnVpbnQ2NAtlbmVyZ3lfY29zdAZ1aW50NjQLZmxpZ2h0X3RpbWUGdWludDMyCGxvY2F0aW9uDWxvY2F0aW9uX2luZm8ObmZ0X2NhcmdvX2l0ZW0ABAdpdGVtX2lkBnVpbnQxNgVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhxdWFudGl0eQZ1aW50MzIQbmZ0X2l0ZW1fcGF5bG9hZAACBGl0ZW0ObmZ0X2NhcmdvX2l0ZW0IbG9jYXRpb24MY29vcmRpbmF0ZXM/Dm5mdF9zY2hlbWFfZGVmAAILc2NoZW1hX25hbWUEbmFtZQZmaWVsZHMOc2NoZW1hX2ZpZWxkW10QbmZ0X3RlbXBsYXRlX2RlZgADB2l0ZW1faWQGdWludDE2C3NjaGVtYV9uYW1lBG5hbWULdGVtcGxhdGVfaWQFaW50MzINbmZ0Y29uZmlnX3JvdwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUJbmZ0aW1ndXJsAAIEaXRlbQpjYXJnb19pdGVtCGxvY2F0aW9uDGNvb3JkaW5hdGVzPw5uZnRpbmZvX3Jlc3VsdAACB3NjaGVtYXMQbmZ0X3NjaGVtYV9kZWZbXQl0ZW1wbGF0ZXMSbmZ0X3RlbXBsYXRlX2RlZltdBm5vdGlmeQABBWV2ZW50CnRhc2tfZXZlbnQRb3JhY2xlX2NvbmZpZ19yb3cAAQl0aHJlc2hvbGQFdWludDgKb3JhY2xlX3JvdwABAmlkBG5hbWUNcGFja2VkX21vZHVsZQACB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NApwbGFjZWNhcmdvAAMFb3duZXIEbmFtZQdob3N0X2lkBnVpbnQ2NAhhc3NldF9pZAZ1aW50NjQLcGxhY2VlbnRpdHkAAwVvd25lcgRuYW1lCGFzc2V0X2lkBnVpbnQ2NA90YXJnZXRfbmV4dXNfaWQGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lD3Byb2plY3RlZF9zdGF0ZQAPBW93bmVyBG5hbWULY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5B3VpbnQzMj8JY2FyZ29tYXNzBnVpbnQzMgVjYXJnbwxjYXJnb192aWV3W10IaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8OZ2F0aGVyZXJfbGFuZXMPZ2F0aGVyZXJfbGFuZVtdDWNyYWZ0ZXJfbGFuZXMOY3JhZnRlcl9sYW5lW10MbG9hZGVyX2xhbmVzDWxvYWRlcl9sYW5lW10IbGF1bmNoZXIPbGF1bmNoZXJfc3RhdHM/CHJlY2hhcmdlAAECaWQGdWludDY0DHJlY2lwZV9pbnB1dAACB2l0ZW1faWQGdWludDE2CHF1YW50aXR5BnVpbnQzMhByZWNpcGVfaXRlbV9pbmZvAAICaWQGdWludDE2BG1hc3MGdWludDMyD3JlY2lwZV9yZXNwb25zZQAHDm91dHB1dF9pdGVtX2lkBnVpbnQxNgtvdXRwdXRfbWFzcwZ1aW50MzIGaW5wdXRzDnJlY2lwZV9pbnB1dFtdCnN0YXRfc2xvdHMUc3RhdF9zbG90X3Jlc3BvbnNlW10NYmxlbmRfd2VpZ2h0cwVieXRlcwtvdXRwdXRfaXRlbRByZWNpcGVfaXRlbV9pbmZvC2lucHV0X2l0ZW1zEnJlY2lwZV9pdGVtX2luZm9bXQ5yZWNpcGVzX3Jlc3VsdAABB3JlY2lwZXMRcmVjaXBlX3Jlc3BvbnNlW10McmVmcnNoZW50aXR5AAEJZW50aXR5X2lkBnVpbnQ2NAxyZW1vdmVvcmFjbGUAAQlvcmFjbGVfaWQEbmFtZQZyZW5hbWUAAgJpZAZ1aW50NjQEbmFtZQZzdHJpbmcLcmVzZXJ2ZV9yb3cABQJpZAZ1aW50NjQIY29vcmRfaWQGdWludDY0B3N0cmF0dW0GdWludDE2CXJlbWFpbmluZwZ1aW50MzIKbGFzdF9ibG9jaxRibG9ja190aW1lc3RhbXBfdHlwZQdyZXNvbHZlAAICaWQGdWludDY0BWNvdW50B3VpbnQ2ND8PcmVzb2x2ZV9yZXN1bHRzAAYJZW50aXR5X2lkBnVpbnQ2NAtlbnRpdHlfdHlwZQRuYW1lDnJlc29sdmVkX2NvdW50BXVpbnQ4FG5ld19zY2hlZHVsZV9zdGFydGVkC3RpbWVfcG9pbnQ/C2VudGl0eWdyb3VwB3VpbnQ2ND8NZ3JvdXBfbWVtYmVycxZCX3ZlY3Rvcl9lbnRpdHlfcmVmX0U/CnJlc29sdmVhbGwAAQVvd25lcgRuYW1lEnJlc29sdmVhbGxfcmVzdWx0cwACB3NjYW5uZWQGdWludDMyCHJlc29sdmVkBnVpbnQzMg1yZXNvdXJjZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyCGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgOcmVzb3VyY2Vfc3RhdHMAAwVzdGF0MQZ1aW50MTYFc3RhdDIGdWludDE2BXN0YXQzBnVpbnQxNhByZXNvdXJjZXNfcmVzdWx0AAEJcmVzb3VyY2VzD3Jlc291cmNlX2luZm9bXQZyZXZlYWwAAwlvcmFjbGVfaWQEbmFtZQVlcG9jaAZ1aW50NjQGcmV2ZWFsC2NoZWNrc3VtMjU2CnJldmVhbF9yb3cABAJpZAZ1aW50NjQFZXBvY2gGdWludDY0CW9yYWNsZV9pZARuYW1lBnJldmVhbAtjaGVja3N1bTI1NghybW1vZHVsZQADCWVudGl0eV9pZAZ1aW50NjQMbW9kdWxlX2luZGV4BXVpbnQ4CnRhcmdldF9yZWYKY2FyZ29fcmVmPwhybW5mdGNmZwABB2l0ZW1faWQGdWludDE2CHNjaGVkdWxlAAIHc3RhcnRlZAp0aW1lX3BvaW50BXRhc2tzBnRhc2tbXQxzY2hlbWFfZmllbGQAAgRuYW1lBnN0cmluZwpmaWVsZF90eXBlBnN0cmluZwlzZXRjb29yZHMAAwllbnRpdHlfaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAlzZXRuZnRjZmcAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lDHNldHRocmVzaG9sZAABCXRocmVzaG9sZAV1aW50OAtzZXR3cmFwY29zdAADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjQKc2V0d3JhcGZlZQACB2ZlZV9wY3QGdWludDE2C2ZlZV9hY2NvdW50BG5hbWUIc2xvdF9kZWYAAgR0eXBlBXVpbnQ4Cm91dHB1dF9wY3QGdWludDE2EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAMHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzZWVkC2NoZWNrc3VtMjU2CXN0b3djYXJnbwAFBW93bmVyBG5hbWUJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjQIY2FyZ29faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NApzdG93ZW50aXR5AAMFb3duZXIEbmFtZQllbnRpdHlfaWQGdWludDY0CG5leHVzX2lkBnVpbnQ2NAxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAMHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgpsYXN0X2Jsb2NrFGJsb2NrX3RpbWVzdGFtcF90eXBlCnN3YXBtb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgR0YXNrAAkEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdDGVudGl0eXRhcmdldAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQzMj8EaG9sZAd1aW50NjQ/CnRhc2tfZXZlbnQACgpldmVudF90eXBlBXVpbnQ4BW93bmVyBG5hbWULZW50aXR5X3R5cGUEbmFtZQllbnRpdHlfaWQGdWludDY0CnRhc2tfaW5kZXgFdWludDgEdGFzawR0YXNrCXN0YXJ0c19hdAp0aW1lX3BvaW50DGNvbXBsZXRlc19hdAp0aW1lX3BvaW50Cm5ld19lbmVyZ3kHdWludDMyPwhsYW5lX2tleQV1aW50OAx0YXNrX3Jlc3VsdHMAAQhlbnRpdGllcxJlbnRpdHlfdGFza19pbmZvW10RdGVtcGxhdGVfbWV0YV9yb3cAAwdpdGVtX2lkBnVpbnQxNgRraW5kBG5hbWUNZGlzcGxheV9sYWJlbAZzdHJpbmcHdHJhbnNpdAAFAmlkBnVpbnQ2NAJheAVpbnQ2NAJheQVpbnQ2NAJieAVpbnQ2NAJieQVpbnQ2NAZ0cmF2ZWwABAJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CHJlY2hhcmdlBGJvb2wJdHlwZXNfcm93AAUCaWQGdWludDY0E2VudGl0eV9zdW1tYXJ5X3R5cGUOZW50aXR5X3N1bW1hcnkQZ2FtZV9jb25maWdfdHlwZQtnYW1lX2NvbmZpZxZzdHJhdHVtX3JlbWFpbmluZ190eXBlEXN0cmF0dW1fcmVtYWluaW5nFW5mdF9pdGVtX3BheWxvYWRfdHlwZRBuZnRfaXRlbV9wYXlsb2FkCHVuZGVwbG95AAIHaG9zdF9pZAZ1aW50NjQJdGFyZ2V0X2lkBnVpbnQ2NAZ1bmxvYWQAAwJpZAZ1aW50NjQFdG9faWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQR3YXJwAAMCaWQGdWludDY0AXgFaW50NjQBeQVpbnQ2NAp3YXJwX3N0YXRzAAEFcmFuZ2UGdWludDMyBHdpcGUAAA13b3JtaG9sZV9pbmZvAAMGY29vcmRzC2Nvb3JkaW5hdGVzC2lzX3dvcm1ob2xlBGJvb2wLZGVzdGluYXRpb24LY29vcmRpbmF0ZXMOd3JhcGNvbmZpZ19yb3cAAgdmZWVfcGN0BnVpbnQxNgtmZWVfYWNjb3VudARuYW1lDHdyYXBjb3N0X3JvdwADCWl0ZW1fdHlwZQV1aW50OAR0aWVyBXVpbnQ4BmFtb3VudAZ1aW50NjRcAABQUScqUzIJYWRkbW9kdWxlxwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbW9kdWxlCnN1bW1hcnk6ICdJbnN0YWxsIGEgbW9kdWxlIGludG8gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YWxsIGEgbW9kdWxlIGZyb20gY2FyZ28gaW50byBhIG1vZHVsZSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSB0eXBlIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSB0YXJnZXQgc2xvdCB0eXBlLiBUaGUgbW9kdWxlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIGNhcmdvIHVwb24gaW5zdGFsbGF0aW9uLgAAAFh3NVMyCGFkZG5leHVzpwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbmV4dXMKc3VtbWFyeTogJ0FkZCBhIG5leHVzIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDcmVhdGUgYSBuZXcgbmV4dXMgZW50aXR5IGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcy4gTmV4dXNlcyBhcmUgb3duZWQgYnkgdGhlIGNvbnRyYWN0IGFuZCBzZXJ2ZSBhcyBmaXhlZCBnYXRoZXJpbmcgcG9pbnRzIHdoZXJlIHBsYXllcnMgY2FuIHdyYXAsIHVud3JhcCwgZGVwbG95LCBhbmQgb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggTkZULWJhY2tlZCBhc3NldHMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAFARmUtTMglhZGRvcmFjbGUAAAAAAIA0VTwFYmxlbmT8Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZApzdW1tYXJ5OiAnQmxlbmQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIGNhcmdvIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHR5cGUgaW50byBhIHNpbmdsZSBzdGFjayB3aXRoIG5ldyBibGVuZGVkIHN0YXRzLiBBbGwgaW5wdXQgc3RhY2tzIG11c3Qgc2hhcmUgdGhlIHNhbWUgaXRlbSBpZC4gVGhlIG91dHB1dCBzdGFjayBoYXMgdGhlIGNvbWJpbmVkIHF1YW50aXR5IG9mIGFsbCBpbnB1dHMuAADINNYUnT4JYnVpbGRwbG90AAAAAABEhaZBBmNhbmNlbMICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNhbmNlbApzdW1tYXJ5OiAnQ2FuY2VsIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FuY2VsIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHRhc2tzIGZyb20gdGhlIGVuZCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZS4gVGFza3MgdGhhdCBhcmUgaW1tdXRhYmxlIGFuZCBpbiBwcm9ncmVzcyBjYW5ub3QgYmUgY2FuY2VsbGVkLgAAyDRW6UxECWNsYWltcGxvdABwVb4mY+lMRAxjbGFpbXN0YXJ0ZXIAAACoG99pVEQJY2xlYW5yc3Zw7AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYW5yc3ZwCnN1bW1hcnk6ICdDbGVhbiB1cCBwYXN0IGVwb2NoIHJlc2VydmVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFcmFzZSByZXNlcnZlIHRhYmxlIHJvd3MgZnJvbSBhIHBhc3QgZXBvY2guIENhbm5vdCBjbGVhbiB0aGUgY3VycmVudCBvciBmdXR1cmUgZXBvY2hzLiBUaGUgbWF4X3Jvd3MgcGFyYW1ldGVyIGNhcHMgdGhlIG51bWJlciBvZiByb3dzIGVyYXNlZCBwZXIgY2FsbCB0byBsaW1pdCBDUFUgdXNhZ2UuAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdOwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4AAGA0MrcmRQljb25maWdsb2fdAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb25maWdsb2cKc3VtbWFyeTogJ0xvZyBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IGxvZ3MgdGhlIGN1cnJlbnQgZ2FtZSBjb25maWd1cmF0aW9uLiBDYWxsZWQgaW5saW5lIGFmdGVyIGluaXRpYWxpemF0aW9uIHRvIGJyb2FkY2FzdCBjb25maWcgdmlhIGFjdGlvbiB0cmFjZXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAAAAgLzMRQVjcmFmdMgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNyYWZ0CnN1bW1hcnk6ICdDcmFmdCBpdGVtcyBmcm9tIGEgcmVjaXBlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUcmFuc2Zvcm0gY2FyZ28gaXRlbXMgaW50byBhIG5ldyBpdGVtIHVzaW5nIGEgcmVjaXBlLiBUaGUgZW50aXR5IG11c3QgaGF2ZSBhIGNyYWZ0ZXIgbW9kdWxlIGluc3RhbGxlZC4gQ29uc3VtZXMgZW5lcmd5IGFuZCBzY2hlZHVsZXMgYSBjcmFmdGluZyB0YXNrIHdpdGggZHVyYXRpb24gYmFzZWQgb24gdG90YWwgaW5wdXQgbWFzcyBhbmQgY3JhZnRlciBzcGVlZC4gSW5wdXQgcXVhbnRpdGllcyBtdXN0IGV4YWN0bHkgbWF0Y2ggdGhlIHJlY2lwZSByZXF1aXJlbWVudHMuAAAADbtIpUoIZGVtb2xpc2jxAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZW1vbGlzaApzdW1tYXJ5OiAnRGVtb2xpc2ggYSBzdGF0aW9uYXJ5IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKRGVjb21taXNzaW9uIGFuIGVudGl0eSwgZXJhc2luZyBpdCBmcm9tIHRoZSBnYW1lLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSwgaGF2ZSBlbXB0eSBjYXJnbywgYW5kIGhhdmUgbm8gaW5zdGFsbGVkIG1vZHVsZXMgKHJlbW92ZSBlYWNoIHZpYSBybW1vZHVsZSBmaXJzdCkuIFNjaGVkdWxlcyBhIGRlbW9saXNoIHRhc2sgdGhhdCBlcmFzZXMgdGhlIGVudGl0eSBvbiByZXNvbHV0aW9uLiBPbmx5IHZhbGlkIGZvciBlbnRpdGllcyB0aGF0IGNhbm5vdCBtb3ZlOyB1c2UgdW5kZXBsb3kgb3Igd3JhcGVudGl0eSBmb3IgdGhlIHJlc3QuAAAAAHgaq0oGZGVwbG957AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVwbG95CnN1bW1hcnk6ICdEZXBsb3kgYSBwYWNrZWQgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpVbnBhY2sgYSBwYWNrZWQgZW50aXR5IGl0ZW0gKHBhY2tlZCBzaGlwIG9yIHBhY2tlZCBjb250YWluZXIpIGZyb20gY2FyZ28sIHNjaGVkdWxpbmcgYSBkZXBsb3kgdGFzayB0aGF0IGNyZWF0ZXMgdGhlIG5ldyBlbnRpdHkgYXQgdGhlIGRlcGxveWluZyBlbnRpdHkncyBsb2NhdGlvbiB1cG9uIHJlc29sdXRpb24uAIDPLk+FsEoKZGVzY2VudGl0eckDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlc2NlbnRpdHkKc3VtbWFyeTogJ0Rlc2NyaWJlIGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBzdHJpbmcgZm9yIGEgcGFja2VkIGVudGl0eSwgZGVyaXZlZCBmcm9tIHRoZSBlbnRpdHkgaXRlbSBpZCwgaHVsbCBzdGF0cywgYW5kIHRoZSBsaXN0IG9mIGluc3RhbGxlZCBtb2R1bGUgaXRlbSBpZHMgYW5kIHN0YXRzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBORlQgcmVuZGVyZXJzIHRvIGRpc3BsYXkgcGFja2VkIGVudGl0aWVzLgAAAACoeMxUBmVuYWJsZd0BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGVuYWJsZQpzdW1tYXJ5OiAnU2V0IGVuYWJsZWQgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVuYWJsZSBvciBkaXNhYmxlIHRoaXMgZ2FtZSBvZiBTaGlwbG9hZC6AsZGUXYO6WwxmaXhjYXJnb21hc3OQAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBmaXhjYXJnb21hc3MKc3VtbWFyeTogJ0RFQlVHOiByZWNvbXB1dGUgZW50aXR5IGNhcmdvIG1hc3MnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBhbmQgcmV3cml0ZSBhbiBlbnRpdHkncyBjYXJnbyBtYXNzIGZyb20gaXRzIGN1cnJlbnQgY2FyZ28uIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4gQXZhaWxhYmxlIGZvciByZXBhaXJpbmcgZHJpZnQgYmV0d2VlbiBjYWNoZWQgY2FyZ28gbWFzcyBhbmQgdGhlIHRydWUgbWFzcyBkZXJpdmVkIGZyb20gY2FyZ28gcm93cy4AolFbXYUuXQtmb3JjZXJldmVhbL4ELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZvcmNlcmV2ZWFsCnN1bW1hcnk6ICdERUJVRzogZm9yY2UtZmluYWxpemUgYW4gZXBvY2ggZnJvbSBleGlzdGluZyByZXZlYWxzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpGaW5hbGl6ZSBhIHN0dWNrIGVwb2NoIGJ5IGNvbXB1dGluZyBpdHMgc2VlZCBmcm9tIHRoZSByZXZlYWxzIGFscmVhZHkgc3VibWl0dGVkLCB3aXRob3V0IHdhaXRpbmcgZm9yIHRoZSBjb25maWd1cmVkIHRocmVzaG9sZC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LiBUaGUgc2VlZCBpcyBkZXJpdmVkIHNvbGVseSBmcm9tIHRoZSBwcmUtaW1hZ2UtbG9ja2VkIHJldmVhbHMgYWxyZWFkeSBvbiBjaGFpbjsgbm8gYWRtaW4tc3VwcGxpZWQgZW50cm9weSBpcyBpbnRyb2R1Y2VkLiBVc2VkIHRvIHVuYmxvY2sgZXBvY2ggcHJvZ3Jlc3Npb24gd2hlbiB0aGUgdGhyZXNob2xkIGNhbm5vdCBvdGhlcndpc2UgYmUgbWV0LgAAAABc1bJhBmdhdGhlcpcDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdhdGhlcgpzdW1tYXJ5OiAnR2F0aGVyIHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKR2F0aGVyIHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZ2F0aGVyYWJsZSBsb2NhdGlvbiB0eXBlcy4gU2NoZWR1bGVzIGEgZ2F0aGVyIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGdhdGhlcmVyIHN0YXRzIGFuZCB0aGUgbG9jYXRpb24ncyByZXNvdXJjZSBjb21wb3NpdGlvbi6QlYoLO6ymYgxnZW5lc2lzZmxlZXSpBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZW5lc2lzZmxlZXQKc3VtbWFyeTogJ01pbnQgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkVtcGxhY2UgdGhlIG9uZS10aW1lIGdlbmVzaXMgZmxlZXQ6IGEgY2FsbGVyLXN1cHBsaWVkIHNldCBvZiBlbnRpdGllcyAoc2hpcHMsIHN0cnVjdHVyZXMsIGFuZCBjb250YWluZXJzKSB3cml0dGVuIHRvIHRoZSB3b3JsZCBhcy1pcy4gVmFsaWQgb25seSBkdXJpbmcgdGhlIHByZS1nZW5lc2lzIHdpbmRvdywgYmVmb3JlIGVwb2NoIDEgaXMgZmluYWxpemVkLiBUaGUgc3VwcGxpZWQgZW50aXR5IGlkcyBhcmUgaG9ub3JlZCBhbmQgdGhlIGlkIHNlcXVlbmNlIGlzIGFkdmFuY2VkIHBhc3QgdGhlbTsgaWQgMCBpcyByZXNlcnZlZCBmb3IgdGhlIEdlbmVzaXMgTmV4dXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLgBAdphWlbJiCmdldGRlcG9zaXQAABSaJmOXsmILZ2V0ZGlzdGFuY2UAAFQ8jrmosmILZ2V0ZWxpZ2libGXIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbGlnaWJsZQpzdW1tYXJ5OiAnR2V0IGVsaWdpYmxlIHJlc291cmNlIGl0ZW0gSURzIGF0IGEgbG9jYXRpb24gYW5kIHN0cmF0dW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBsaXN0IG9mIHJlc291cmNlIGl0ZW0gSURzIGVsaWdpYmxlIHRvIGJlIGdhdGhlcmVkIGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcyBhbmQgc3RyYXR1bSBkZXB0aC4gSXRlbXMgYXJlIGdhdGVkIGJ5IGJvdGggdGhlIGxvY2F0aW9uJ3MgcmVzb3VyY2UgcHJvZmlsZSBhbmQgdGhlIGRlcHRoIHRocmVzaG9sZCBmb3IgZWFjaCB0aWVyLgAAwBHlqbJiCWdldGVudGNsc4wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGNscwpzdW1tYXJ5OiAnR2V0IGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIGVudGl0eSBjbGFzcyBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChPcmJpdGFsVmVzc2VsLCBQbGFuZXRhcnlTdHJ1Y3R1cmUpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBlbnRpdHkgY2xhc3MgaWRlbnRpZmllcnMuALBy2eWpsmILZ2V0ZW50aXRpZXOkAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdGllcwpzdW1tYXJ5OiAnR2V0IGFsbCBlbnRpdGllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgZnVsbCBlbnRpdHkgaW5mbyBmb3IgYWxsIGVudGl0aWVzIG93bmVkIGJ5IGEgcGxheWVyLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AAPDZ5amyYglnZXRlbnRpdHmiAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRlbnRpdHkKc3VtbWFyeTogJ0dldCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYW4gZW50aXR5IGluY2x1ZGluZyBpZGVudGl0eSwgY2FyZ28sIHNjaGVkdWxlIHN0YXRlLCBhbmQgdHlwZS1zcGVjaWZpYyBmaWVsZHMuAEw2SarssmILZ2V0aXRlbWRhdGGoAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtZGF0YQpzdW1tYXJ5OiAnR2V0IGZ1bGwgaXRlbSBjYXRhbG9nJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgY29tcGxldGUgaXRlbSBjYXRhbG9nIGFzIHRoZSBjb250cmFjdCBzZWVzIGl0LCBpbmNsdWRpbmcgdHlwZSwgc3VidHlwZSwgdGllciwgbWFzcywgYW5kIG90aGVyIHN0YXRpYyBtZXRhZGF0YS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgY2xpZW50cyB0byBtaXJyb3IgdGhlIGNvbnRyYWN0J3MgaXRlbSBkZWZpbml0aW9ucy4AAE5OquyyYgpnZXRpdGVtaWRzhgMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbWlkcwpzdW1tYXJ5OiAnR2V0IGl0ZW0gaWQgdG8gbmFtZSBtYXBwaW5ncycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgbWFwcGluZyBvZiBpdGVtIGlkIGNvbnN0YW50cyB0byB0aGVpciBjYW5vbmljYWwgc3RyaW5nIG5hbWVzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHJlc29sdmUgbnVtZXJpYyBpdGVtIGlkcyB0byBodW1hbi1yZWFkYWJsZSBpZGVudGlmaWVycy4AAABYquyyYghnZXRpdGVtc5oCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1zCnN1bW1hcnk6ICdHZXQgYWxsIGF2YWlsYWJsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBhIGxpc3Qgb2YgYWxsIGl0ZW1zIGluIHRoZSBnYW1lIGluY2x1ZGluZyB0aGVpciBpZCwgYmFzZSBwcmljZSwgYW5kIG1hc3MuAFT1WarssmILZ2V0aXRlbXR5cGUAgFX1WarssmIMZ2V0aXRlbXR5cGVziAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXR5cGVzCnN1bW1hcnk6ICdHZXQgaXRlbSB0eXBlIGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgaXRlbSB0eXBlIGVudW0gdmFsdWVzIGFuZCB0aGVpciBzdHJpbmcgbmFtZXMgKHJlc291cmNlLCBjb21wb25lbnQsIG1vZHVsZSwgZW50aXR5KS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgaXRlbSB0eXBlIGlkZW50aWZpZXJzLgBMVjJNB7NiC2dldGtpbmRtZXRh+AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0a2luZG1ldGEKc3VtbWFyeTogJ0dldCBlbnRpdHkga2luZCBtZXRhZGF0YScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGVudGl0eSBraW5kIHJlZ2lzdHJ5IGFuZCB0ZW1wbGF0ZSByZWdpc3RyeSwgaW5jbHVkaW5nIGVhY2gga2luZCdzIGNsYXNzaWZpY2F0aW9uLCBjYXBhYmlsaXR5IGZsYWdzLCBaLWNvb3JkaW5hdGUsIGFuZCBkZWZhdWx0IGxhYmVsLCBwbHVzIHRoZSBtYXBwaW5nIG9mIGVudGl0eSBpdGVtIGlkcyB0byBraW5kcyB3aXRoIGRpc3BsYXkgbGFiZWxzLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGludGVycHJldCBlbnRpdHkga2luZHMgYW5kIGNhcGFiaWxpdGllcy4AJnXZIBqzYgtnZXRsb2NhdGlvbuICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2F0aW9uCnN1bW1hcnk6ICdHZXQgbG9jYXRpb24gaW5mb3JtYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgYSBsb2NhdGlvbiBpbmNsdWRpbmcgd2hldGhlciBhIHN5c3RlbSBleGlzdHMsIGFuZCBmb3IgZWFjaCBpdGVtOiBwcmljZSwgc3VwcGx5LCByYXJpdHkgbXVsdGlwbGllciwgYW5kIGxvY2F0aW9uIG11bHRpcGxpZXIuAIDJJiEas2IKZ2V0bG9jZGF0Yf4CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGxvY2RhdGEKc3VtbWFyeTogJ0dldCBkZXJpdmVkIGxvY2F0aW9uIGRhdGEnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgZGVyaXZlZCBsb2NhdGlvbiBkYXRhIGluY2x1ZGluZyBzdGF0aWMgcHJvcGVydGllcyAodHlwZSwgZGlmZmljdWx0eSwgc2VlZHMpIGZyb20gdGhlIGdhbWUgc2VlZCBhbmQgZXBvY2gtc3BlY2lmaWMgcHJvcGVydGllcyAoYWN0aXZlLCBzZWVkcykgZnJvbSB0aGUgY3VycmVudCBlcG9jaCBzZWVkLgCwqj4nKrNiC2dldG1vZHR5cGVz1gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdHlwZXMKc3VtbWFyeTogJ0dldCBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIGZ1bGwgc2V0IG9mIG1vZHVsZSB0eXBlIGVudW0gdmFsdWVzIGFuZCB0aGVpciBzdHJpbmcgbmFtZXMgKGFueSwgZW5naW5lLCBnZW5lcmF0b3IsIGdhdGhlcmVyLCBsb2FkZXIsIHdhcnAsIGNyYWZ0ZXIsIGxhdW5jaGVyLCBzdG9yYWdlLCBoYXVsZXIpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBtb2R1bGUgc3VidHlwZSBpZGVudGlmaWVycyBhbmQgc2xvdCBjb21wYXRpYmlsaXR5LgAAVlEnKrNiCmdldG1vZHVsZXOAAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRtb2R1bGVzCnN1bW1hcnk6ICdHZXQgYWxsIG1vZHVsZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIG1vZHVsZXMsIGluY2x1ZGluZyBlYWNoIG1vZHVsZSdzIGlkLCBtYXNzLCBzdWJ0eXBlLCBhbmQgdGllci4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBlbnVtZXJhdGUgaW5zdGFsbGFibGUgZXF1aXBtZW50LgAA8OcaNbNiCWdldG5lYXJied4DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5lYXJieQpzdW1tYXJ5OiAnR2V0IG5lYXJieSByZWFjaGFibGUgc3lzdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBuZWFyYnkgc3lzdGVtcyByZWFjaGFibGUgYnkgYW4gZW50aXR5IGZyb20gaXRzIHByb2plY3RlZCBsb2NhdGlvbi4gUmV0dXJucyBjdXJyZW50IHN0YXRlICh3aXRoIGNvbXBsZXRlZCB0YXNrcyByZXNvbHZlZCksIHByb2plY3RlZCBzdGF0ZSAoYWZ0ZXIgYWxsIHNjaGVkdWxlZCB0YXNrcyksIGFuZCBhIGxpc3Qgb2YgcmVhY2hhYmxlIHN5c3RlbXMgd2l0aCBkaXN0YW5jZSwgZW5lcmd5IGNvc3QsIGZsaWdodCB0aW1lLCBhbmQgbWFya2V0IGluZm9ybWF0aW9uLgCAwubkNbNiCmdldG5mdGJhc2UAAABd0+U1s2IKZ2V0bmZ0aW5mb/ADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG5mdGluZm8Kc3VtbWFyeTogJ0dldCBORlQgc2NoZW1hIGFuZCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgQXRvbWljQXNzZXRzIHNjaGVtYXMgYW5kIHRlbXBsYXRlcyB0aGUgZ2FtZSBjb250cmFjdCBleHBlY3RzLCBwbHVzIHRoZSBjdXJyZW50IGBpdGVtX2lkIOKGkiAodGVtcGxhdGVfaWQsIHNjaGVtYV9uYW1lKWAgbWFwcGluZyBzdG9yZWQgaW4gdGhlIGBuZnRjb25maWdgIHRhYmxlLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHN5bmMgYXRvbWljYXNzZXRzIHN0YXRlIHdpdGggdGhlIGNvbnRyYWN0LgAAuMqbWLNiCWdldHBsYXllcv0CLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHBsYXllcgpzdW1tYXJ5OiAnR2V0IHBsYXllciBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyBpbmZvcm1hdGlvbiBhYm91dCBhIHBsYXllciBpbmNsdWRpbmcgYmFsYW5jZSwgZGVidCwgbmV0d29ydGgsIGVudGl0eSBjb3VudHMsIGFuZCBwcmljaW5nIGZvciBuZXh0IHB1cmNoYXNlcy4gUmV0dXJucyBpc19wbGF5ZXI9ZmFsc2UgaWYgdGhlIGFjY291bnQgaGFzIG5vdCBqb2luZWQgdGhlIGdhbWUuoLLJ+NFbs2IMZ2V0cHJvanN0YXRlywMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cHJvanN0YXRlCnN1bW1hcnk6ICdHZXQgcHJvamVjdGVkIGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHByb2plY3RlZCBzdGF0ZSBvZiBhbiBlbnRpdHkgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5leHQgdGFza19jb3VudCBzY2hlZHVsZWQgdGFza3MgKG9yIGFsbCB0YXNrcyBpZiB0YXNrX2NvdW50IGlzIG9taXR0ZWQpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIHByZXZpZXcgdGhlIHJlc3VsdCBvZiBhbiBlbnRpdHkncyBzY2hlZHVsZSB3aXRob3V0IHJlc29sdmluZyBvbi1jaGFpbi4AAFDVIXWzYglnZXRyZWNpcGWmAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGUKc3VtbWFyeTogJ0dldCBhIHNpbmdsZSBjcmFmdGluZyByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSByZWNpcGUgd2hvc2Ugb3V0cHV0IG1hdGNoZXMgdGhlIGdpdmVuIGl0ZW0gaWQsIGluY2x1ZGluZyBpdHMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGlzcGxheSBjcmFmdGluZyByZXF1aXJlbWVudHMuAABW1SF1s2IKZ2V0cmVjaXBlc6wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZXMKc3VtbWFyeTogJ0xpc3QgY3JhZnRpbmcgcmVjaXBlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBjcmFmdGluZyByZWNpcGVzIHN0YXJ0aW5nIGF0IHRoZSBwcm92aWRlZCBsb3dlciBib3VuZCBvdXRwdXQgaXRlbSBpZCwgdXAgdG8gdGhlIHNwZWNpZmllZCBsaW1pdC4gRWFjaCBlbnRyeSBpbmNsdWRlcyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4AAM4GYXWzYgpnZXRyZXNjYXRzngMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzY2F0cwpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAob3JlLCBnYXMsIHJlZ29saXRoLCBiaW9tYXNzLCBjcnlzdGFsKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgcmVzb3VyY2Ugc3VidHlwZSBpZGVudGlmaWVycy4AsNpXYXWzYgtnZXRyZXNlcnZlc/wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc2VydmVzCnN1bW1hcnk6ICdHZXQgY3VycmVudCByZXNlcnZlIG1vZGlmaWNhdGlvbnMgYXQgYSBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyB0aGUgY2hhaW4ncyBtb2RpZmljYXRpb25zIHRvIGRlcml2ZWQgcmVzZXJ2ZXMgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGUgZm9yIHRoZSBjdXJyZW50IGVwb2NoIGFzIGEgbGlzdCBvZiB7c3RyYXR1bSwgcmVtYWluaW5nfSBwYWlycy4gU3RyYXRhIG5vdCBwcmVzZW50IGluIHRoZSByZXNwb25zZSB1c2UgdGhlaXIgZGVyaXZlZCBpbml0aWFsIHJlc2VydmUuIENvbXBvc2Ugd2l0aCBTREsgZGVyaXZhdGlvbiB0byBnZXQgdGhlIGZ1bGwgcGVyLWxvY2F0aW9uIHN0cmF0YSB2aWV3LoAVuppidbNiDGdldHJlc291cmNlc4cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc291cmNlcwpzdW1tYXJ5OiAnR2V0IGFsbCByZXNvdXJjZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIHJlc291cmNlcywgaW5jbHVkaW5nIGVhY2ggcmVzb3VyY2UncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGdhdGhlcmFibGUgbWF0ZXJpYWxzLgAAADjTiLNiCGdldHNsb3RzuwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c2xvdHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc2xvdCBsYXlvdXRzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIHNsb3QgbGF5b3V0IGZvciBldmVyeSBlbnRpdHkgaXRlbSB0eXBlLCBsaXN0aW5nIHRoZSBvcmRlcmVkIHNsb3QgdHlwZXMgYXZhaWxhYmxlIGZvciBtb2R1bGUgaW5zdGFsbGF0aW9uLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRldGVybWluZSB3aGljaCBtb2R1bGUgdHlwZXMgYXJlIGNvbXBhdGlibGUgd2l0aCBhIGdpdmVuIGVudGl0eSBodWxsLgCA1NncjLNiCmdldHN0cmF0dW3SAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdHJhdHVtCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHJlc291cmNlIHN0cmF0dW0gZGF0YSBmb3IgYSBzcGVjaWZpYyBkZXB0aCBsYXllciBhdCBhIGNvb3JkaW5hdGUsIGluY2x1ZGluZyB0aGUgc3RyYXR1bSBzZWVkIGluZm8gYW5kIGRlcml2ZWQgcmVzb3VyY2Ugc3RhdHMugJW7RkqNs2IMZ2V0c3VtbWFyaWVz6AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3VtbWFyaWVzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHN1bW1hcmllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgbGlnaHR3ZWlnaHQgc3VtbWFyaWVzIG9mIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllciBpbmNsdWRpbmcgdHlwZSwgaWQsIG93bmVyLCBuYW1lLCBsb2NhdGlvbiwgYW5kIGlkbGUgc3RhdHVzLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4AVKRNXsqzYgtnZXR3b3JtaG9sZQCQHZ7m5qrpZQxncm91cHRyYW5zaXQAAKLa5uaq6WULZ3JvdXB0cmF2ZWyaBC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBncm91cHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBtdWx0aXBsZSBlbnRpdGllcyB0b2dldGhlcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgZ3JvdXAgdHJhdmVsIGZvciBtdWx0aXBsZSBlbnRpdGllcyB0byBhIGRlc3RpbmF0aW9uLiBBbGwgZW50aXRpZXMgbXVzdCBiZSBhdCB0aGUgc2FtZSBsb2NhdGlvbiBhbmQgb3duZWQgYnkgdGhlIGNhbGxlci4gQXQgbGVhc3Qgb25lIGVudGl0eSB3aXRoIGVuZ2luZXMgaXMgcmVxdWlyZWQgdG8gcHJvdmlkZSB0aHJ1c3QuIEZsaWdodCBkdXJhdGlvbiBpcyBjYWxjdWxhdGVkIGZyb20gY29tYmluZWQgdGhydXN0IGFuZCB0b3RhbCBtYXNzIG9mIGFsbCBlbnRpdGllcy4gQ3JlYXRlcyBhbiBlbnRpdHlncm91cCBmb3IgYXRvbWljIHJlc29sdXRpb24gYW5kIGNhbmNlbGxhdGlvbi4AAAAAANCwaQRoYXNo+AEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaGFzaApzdW1tYXJ5OiAnQ2FsY3VsYXRlIHNoYTI1NiBoYXNoJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYWxjdWxhdGVzIHRoZSBzaGEyNTYgaGFzaCBvZiBhIHN0cmluZyBiYXNlZCB1c2luZyB0aGUgZ2FtZSBzZWVkLgAAAECE0rBpB2hhc2g1MTL7AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoNTEyCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhNTEyIGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTUxMiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuACi7BuVLq3QLaW1wb3J0Y2FyZ28A4LPLU+VLq3QMaW1wb3J0ZW50aXR5AACqppflS6t0C2ltcG9ydGdyb3VwAHCVN7HmS6t0DGltcG9ydHBsYXllcgC6r8Lq5kurdA1pbXBvcnRyZXNlcnZlAABUNhnnS6t0C2ltcG9ydHN0YXRlAAAAAAAAMB19BGpvaW7EAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBqb2luCnN1bW1hcnk6ICdKb2luIGEgZ2FtZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSm9pbiBhIGdhbWUgb2YgU2hpcGxvYWQAAAAANDS1iQZsYXVuY2gAAAAAAACQDI0EbG9hZAAAAIhXM+nymgluZnRpbWd1cmyyAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBuZnRpbWd1cmwKc3VtbWFyeTogJ0dldCBORlQgaW1hZ2UgVVJMIGZvciBhIGNhcmdvIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBpbWFnZSBVUkwgdGhlIGNvbnRyYWN0IGVtaXRzIGZvciBhIGdpdmVuIGNhcmdvIGl0ZW0sIG9wdGlvbmFsbHkgc2NvcGVkIHRvIGEgbG9jYXRpb24uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgYW5kIE5GVCByZW5kZXJlcnMgdG8gZmV0Y2ggdGhlIGNhbm9uaWNhbCBhcnR3b3JrIGZvciBhbiBpdGVtIG9yIHBhY2tlZCBlbnRpdHkuAAAAAPjlMp0Gbm90aWZ5igMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogbm90aWZ5CnN1bW1hcnk6ICdUYXNrIGxpZmVjeWNsZSBub3RpZmljYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IG5vdGlmaWVzIGVudGl0eSBvd25lcnMgb2YgdGFzayBsaWZlY3ljbGUgZXZlbnRzIChyZXNvbHZlZCwgY2FuY2VsbGVkKS4gQ2FsbGVkIGlubGluZSB3aGVuIHRhc2tzIGNoYW5nZSBzdGF0ZS4gVXNlcyByZXF1aXJlX3JlY2lwaWVudCB0byBlbmFibGUgb2ZmLWNoYWluIG1vbml0b3JpbmcgdmlhIGFjdGlvbiB0cmFjZXMuAABl1yCFTKwKcGxhY2VjYXJnb8kELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHBsYWNlY2FyZ28Kc3VtbWFyeTogJ1Jlc3RvcmUgTkZUIGNhcmdvIG9udG8gYSBob3N0IGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc3RvcmVzIHRoZSBjYXJnbyByZWNvcmRlZCBpbiBhbiB1bndyYXBwZWQgTkZUIG9udG8gYSBob3N0IGVudGl0eS4gVmFsaWRhdGVzIGhvc3Qgb3duZXJzaGlwLCBsb2FkZXJzLCBhbmQgcmVtYWluaW5nIGNhcGFjaXR5LCBkZXNlcmlhbGl6ZXMgdGhlIE5GVCdzIGl0ZW0gZGF0YSwgYW5kIGFwcGVuZHMgYW4gdW53cmFwIHRhc2sgdG8gZGVsaXZlciB0aGUgY2FyZ28gdG8gdGhlIGhvc3QuIFRoZSBwbGF0Zm9ybSBjb250cmFjdCBjcmVkaXRzIHRoZSBkZXBvc2l0IHJlZnVuZCBhbmQgYnVybnMgdGhlIGFzc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAHx2eSqFTKwLcGxhY2VlbnRpdHnABC0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBwbGFjZWVudGl0eQpzdW1tYXJ5OiAnTWF0ZXJpYWxpemUgYSBwYWNrZWQtZW50aXR5IE5GVCBhcyBhIGxpdmUgZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gY2FsbGVkIGlubGluZSBieSB0aGUgcGxhdGZvcm0gY29udHJhY3Qgb25seS4gRW1wbGFjZXMgYSBsaXZlIG9yYml0YWwgdmVzc2VsIChzaGlwIG9yIGNvbnRhaW5lcikgZnJvbSBpdHMgcGFja2VkLWVudGl0eSBORlQgZGF0YSBhdCB0aGUgcmVjb3JkZWQgd3JhcCBvcmlnaW4sIHRoZW4gcXVldWVzIHRyYXZlbCBhbmQgcmVjaGFyZ2UgdGFza3MgdG8gZGVsaXZlciBpdCB0byB0aGUgdGFyZ2V0IG5leHVzIGF0IGZ1bGwgZW5lcmd5LiBUaGUgcGxhdGZvcm0gY29udHJhY3QgY3JlZGl0cyB0aGUgZGVwb3NpdCByZWZ1bmQgYW5kIGJ1cm5zIHRoZSBhc3NldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHm4Ay0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiByZWZyc2hlbnRpdHkKc3VtbWFyeTogJ1JlZnJlc2ggZGVyaXZlZCBlbnRpdHkgc3RhdGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlY29tcHV0ZSBkZXJpdmVkIGZpZWxkcyBvbiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBjYXJnbyBhbmQgbW9kdWxlcywgcmVmcmVzaGluZyBjYXBhYmlsaXR5IHN0YXRzIGFuZCBjYXJnbyBtYXNzLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVXNlZCB0byByZWNvbmNpbGUgZGVyaXZlZCBzdGF0ZSBhZnRlciBkYXRhIG1pZ3JhdGlvbnMgb3IgY29udHJhY3QgdXBncmFkZXMuoCIyl6pNpboMcmVtb3Zlb3JhY2xlAAAAAAAoaaa6BnJlbmFtZQAAAABA7UixugdyZXNvbHZl0AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVzb2x2ZQpzdW1tYXJ5OiAnQ29tcGxldGUgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZXNvbHZlIGNvbXBsZXRlZCB0YXNrcyBpbiBhbiBlbnRpdHkncyBzY2hlZHVsZSwgYXBwbHlpbmcgdGhlaXIgZWZmZWN0cyAocmVjaGFyZ2UgZW5lcmd5LCB1cGRhdGUgbG9jYXRpb24sIGxvYWQvdW5sb2FkIGNhcmdvKS4gSWYgY291bnQgaXMgc3BlY2lmaWVkLCByZXNvbHZlIGV4YWN0bHkgdGhhdCBtYW55IHRhc2tzOyBvdGhlcndpc2UgcmVzb2x2ZSBhbGwgY29tcGxldGVkIHRhc2tzLiBGYWlscyBpZiBjb3VudCBleGNlZWRzIHRoZSBudW1iZXIgb2YgY29tcGxldGVkIHRhc2tzLgBAjEbtSLG6CnJlc29sdmVhbGwAAAAAAESjtroGcmV2ZWFsAAAAACrqRKW8CHJtbW9kdWxlvAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcm1tb2R1bGUKc3VtbWFyeTogJ1JlbW92ZSBhIG1vZHVsZSBmcm9tIGEgc2xvdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVtb3ZlIGFuIGluc3RhbGxlZCBtb2R1bGUgZnJvbSBhIHNsb3Qgb24gYSBsaXZlIGVudGl0eSBvciBhIHBhY2tlZCBlbnRpdHkgaW4gY2FyZ28uIFRoZSBlbnRpdHkgbXVzdCBiZSBpZGxlIHdpdGggbm8gc2NoZWR1bGVkIHRhc2tzLiBUaGUgbW9kdWxlIGlzIHJldHVybmVkIHRvIGNhcmdvLiBGYWlscyBpZiB0aGUgZW50aXR5IGRvZXMgbm90IGhhdmUgZW5vdWdoIGNhcmdvIGNhcGFjaXR5IHRvIGhvbGQgdGhlIHJldHVybmVkIG1vZHVsZS4AAABsobymvAhybW5mdGNmZ6EDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbmZ0Y2ZnCnN1bW1hcnk6ICdSZW1vdmUgTkZUIHRlbXBsYXRlIG1hcHBpbmcgZm9yIGFuIGl0ZW0nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSB0aGUgQXRvbWljQXNzZXRzIHRlbXBsYXRlIG1hcHBpbmcgZm9yIHRoZSBzcGVjaWZpZWQgaXRlbSBpZCBmcm9tIHRoZSBgbmZ0Y29uZmlnYCB0YWJsZS4gQWZ0ZXIgcmVtb3ZhbCB0aGUgaXRlbSBjYW4gbm8gbG9uZ2VyIGJlIHdyYXBwZWQgb3IgdW53cmFwcGVkIHVudGlsIGEgbmV3IG1hcHBpbmcgaXMgc2V0LiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAADA6VKKssIJc2V0Y29vcmRzAAAAYAvlNbPCCXNldG5mdGNmZ8QDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldG5mdGNmZwpzdW1tYXJ5OiAnU2V0IE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpCaW5kIGFuIGl0ZW0gaWQgdG8gYW4gQXRvbWljQXNzZXRzIHRlbXBsYXRlIGlkIGFuZCBzY2hlbWEgbmFtZS4gVXNlZCB0byBjb25maWd1cmUgaG93IHRoZSBjb250cmFjdCBtaW50cyBhbmQgcmVjb2duaXplcyBORlRzIGZvciBhIGdpdmVuIGl0ZW0uIEluc2VydHMgYSBuZXcgbWFwcGluZyBpZiBvbmUgZG9lcyBub3QgZXhpc3QsIG9yIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIG1hcHBpbmcuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS6QIm1Y3ZazwgxzZXR0aHJlc2hvbGQAADKmqJrLs8ILc2V0d3JhcGNvc3QAAIBSq5rLs8IKc2V0d3JhcGZlZQAAAKDsGsRpxglzdG93Y2FyZ2/VBS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzdG93Y2FyZ28Kc3VtbWFyeTogJ1Jlc2VydmUgYSBjYXJnbyBzdGFjayBmb3Igd3JhcHBpbmcgaW50byBhbiBORlQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiBjYWxsZWQgaW5saW5lIGJ5IHRoZSBwbGF0Zm9ybSBjb250cmFjdCBvbmx5LiBSZXNlcnZlcyBhbmQgY29uc3VtZXMgYSBjYXJnbyBzdGFjayBvbiBhIGxpdmUgZW50aXR5IGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVC4gVmFsaWRhdGVzIGVudGl0eSBvd25lcnNoaXAsIGxvYWRlcnMsIGFuZCBwcmVzZW5jZSBhdCB0aGUgbmV4dXMsIGFuZCBjb25maXJtcyB0aGUgdGFyZ2V0IGNhcmdvIHN0YWNrIGlzIGF2YWlsYWJsZSBhbmQgbm90IHJlc2VydmVkIGJ5IGEgcGVuZGluZyB0YXNrLiBDb21wdXRlcyB0aGUgd3JhcCBjb3N0IGFuZCBmZWUsIGRlYml0cyB0aGVtIGZyb20gdGhlIG93bmVyJ3MgcGxhdGZvcm0gZGVwb3NpdCBiYWxhbmNlLCBkZXJpdmVzIHRoZSBORlQncyBpbW11dGFibGUgZGF0YSwgYW5kIG1pbnRzIHRoZSBORlQgaW5saW5lIGFzIHRoZSBnYW1lIGNvbnRyYWN0IGJlZm9yZSBjb25zdW1pbmcgdGhlIGNhcmdvLiBSZXF1aXJlcyBjb250cmFjdCBhdXRob3JpdHkuAIDPLk/FacYKc3Rvd2VudGl0eZkFLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHN0b3dlbnRpdHkKc3VtbWFyeTogJ1Jlc2VydmUgYW4gZW50aXR5IGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW50ZXJuYWwgYWN0aW9uIGNhbGxlZCBpbmxpbmUgYnkgdGhlIHBsYXRmb3JtIGNvbnRyYWN0IG9ubHkuIFJlc2VydmVzIGEgd2hvbGUgZW50aXR5IChzaGlwLCBjb250YWluZXIsIG9yIHBsYW5ldGFyeSBzdHJ1Y3R1cmUpIGZvciB3cmFwcGluZyBpbnRvIGFuIE5GVC4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUgd2l0aCBlbXB0eSBjYXJnbyBhbmQgbm8gc2NoZWR1bGVkIHRhc2tzLiBDb21wdXRlcyB0aGUgd3JhcCBjb3N0IGFuZCBmZWUsIGRlYml0cyB0aGVtIGZyb20gdGhlIG93bmVyJ3MgcGxhdGZvcm0gZGVwb3NpdCBiYWxhbmNlLCBkZXJpdmVzIHRoZSBlbnRpdHkgTkZUJ3MgaW1tdXRhYmxlIGRhdGEsIG1pbnRzIHRoZSBORlQgaW5saW5lIGFzIHRoZSBnYW1lIGNvbnRyYWN0LCBhbmQgZXJhc2VzIHRoZSBlbnRpdHkgZnJvbSB0aGUgd29ybGQuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AgIo6UVkNxwpzd2FwbW9kdWxlAAAAACA7PM3NB3RyYW5zaXQAAAAAAES1zc0GdHJhdmVs+wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIGEgc2hpcCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5pdGlhdGUgdHJhdmVsIG9mIGFuIGVudGl0eSBmcm9tIGl0cyBjdXJyZW50IGxvY2F0aW9uIHRvIGEgbmV3IGRlc3RpbmF0aW9uLgAAAJ7GqtLUCHVuZGVwbG955wQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogdW5kZXBsb3kKc3VtbWFyeTogJ1BhY2sgYSBkZXBsb3llZCBlbnRpdHkgaW50byBhIGhvc3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClBhY2sgYW4gZW50aXR5IGludG8gYSBob3N0IGVudGl0eSdzIGNhcmdvIGFzIGEgcGFja2VkLWVudGl0eSBpdGVtLiBIb3N0IGFuZCB0YXJnZXQgbXVzdCBzaGFyZSB0aGUgc2FtZSBvd25lciBhbmQgY29vcmRpbmF0ZXMsIHRoZSBob3N0IG11c3QgaGF2ZSBsb2FkZXJzIGFuZCBlbm91Z2ggY2FwYWNpdHkgZm9yIHRoZSBwYWNrZWQgbWFzcywgYW5kIHRoZSB0YXJnZXQgbXVzdCBiZSBpZGxlIHdpdGggZW1wdHkgY2FyZ28uIENyZWF0ZXMgYW4gZW50aXR5Z3JvdXAgYW5kIHNjaGVkdWxlcyB1bmRlcGxveSB0YXNrcyBvbiBib3RoIGVudGl0aWVzOyBvbiByZXNvbHV0aW9uIHRoZSB0YXJnZXQgaXMgZXJhc2VkIGFuZCB0aGUgcGFja2VkIGVudGl0eSBpcyBhZGRlZCB0byB0aGUgaG9zdCdzIGNhcmdvLiBJbnZlcnNlIG9mIGRlcGxveS4AAAAAJEPj1AZ1bmxvYWQAAAAAAABQr+EEd2FycJ8DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdhcnAKc3VtbWFyeTogJ1dhcnAgdG8gYSBkZXN0aW5hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFudGx5IHRlbGVwb3J0IGFuIGVudGl0eSB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbS4gUmVxdWlyZXMgd2FycCBjYXBhYmlsaXR5LCBmdWxsIGVuZXJneSwgZW1wdHkgY2FyZ28sIGFuZCBhbiBlbXB0eSBzY2hlZHVsZS4gVGhlIGRlc3RpbmF0aW9uIG11c3QgYmUgYSB2YWxpZCBzeXN0ZW0gd2l0aGluIHdhcnAgcmFuZ2UuIFJlc29sdmVzIGltbWVkaWF0ZWx5IGFzIGEgemVyby1kdXJhdGlvbiB0YXNrLgAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0RAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAGDpTEQDaTY0AAAJY2xhaW1fcm93AAAAAGQnJUUDaTY0AAAKY29tbWl0X3JvdwAAAAD47PJUA2k2NAAACmVudGl0eV9yb3cAqqaX+ezyVANpNjQAAA9lbnRpdHlncm91cF9yb3cAALAK++zyVANpNjQAAA5lbnRpdHlfc2VxX3JvdwAAAACAhmhVA2k2NAAACWVwb2NoX3JvdwAAYG5NivKaA2k2NAAADW5mdGNvbmZpZ19yb3cAAGALqYjMpQNpNjQAABFvcmFjbGVfY29uZmlnX3JvdwAAAACriMylA2k2NAAACm9yYWNsZV9yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAAQO2rsLoDaTY0AAALcmVzZXJ2ZV9yb3cAAAAARKO2ugNpNjQAAApyZXZlYWxfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93AAAAAACsqs8DaTY0AAAJdHlwZXNfcm93AABza1JUzeUDaTY0AAAOd3JhcGNvbmZpZ19yb3cAAAAZU1TN5QNpNjQAAAx3cmFwY29zdF9yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAAOgAAyDTWFJ0+DHRhc2tfcmVzdWx0cwAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAADINFbpTEQMdGFza19yZXN1bHRzAAAAAIC8zEUMdGFza19yZXN1bHRzAAAADbtIpUoMdGFza19yZXN1bHRzAAAAAHgaq0oMdGFza19yZXN1bHRzAIDPLk+FsEoGc3RyaW5nAAAAAFzVsmEMdGFza19yZXN1bHRzAABgbk2KsmILZ2FtZV9jb25maWcAQHaYVpWyYg5leHRlbmRlZF9hc3NldAAUmiZjl7JiBnVpbnQ2NABUPI65qLJiCHVpbnQxNltdAADAEeWpsmILZW51bV9yZXN1bHQAsHLZ5amyYg1lbnRpdHlfaW5mb1tdAADw2eWpsmILZW50aXR5X2luZm8ATDZJquyyYg9pdGVtZGF0YV9yZXN1bHQAAE5OquyyYg9pdGVtX2lkc19yZXN1bHQAAABYquyyYgppdGVtc19pbmZvAFT1WarssmIFdWludDiAVfVZquyyYgtlbnVtX3Jlc3VsdABMVjJNB7NiEGtpbmRfbWV0YV9yZXN1bHQAJnXZIBqzYg1sb2NhdGlvbl9pbmZvAIDJJiEas2IQbG9jYXRpb25fZGVyaXZlZACwqj4nKrNiC2VudW1fcmVzdWx0AABWUScqs2IObW9kdWxlc19yZXN1bHQAAPDnGjWzYgtuZWFyYnlfaW5mbwCAwubkNbNiCHN0cmluZ1tdAABd0+U1s2IObmZ0aW5mb19yZXN1bHQAALjKm1izYgtwbGF5ZXJfaW5mb6CyyfjRW7NiD3Byb2plY3RlZF9zdGF0ZQAAUNUhdbNiDnJlY2lwZXNfcmVzdWx0AABW1SF1s2IOcmVjaXBlc19yZXN1bHQAAM4GYXWzYgtlbnVtX3Jlc3VsdACw2ldhdbNiE3N0cmF0dW1fcmVtYWluaW5nW12AFbqaYnWzYhByZXNvdXJjZXNfcmVzdWx0AAAAONOIs2IVZW50aXR5X2xheW91dHNfcmVzdWx0AIDU2dyMs2IMc3RyYXR1bV9kYXRhgJW7RkqNs2IQZW50aXR5X3N1bW1hcnlbXQBUpE1eyrNiDXdvcm1ob2xlX2luZm+QHZ7m5qrpZQx0YXNrX3Jlc3VsdHMAotrm5qrpZQx0YXNrX3Jlc3VsdHMAAAAAANCwaQtjaGVja3N1bTI1NgAAAECE0rBpC2NoZWNrc3VtNTEyAAAAADQ0tYkMdGFza19yZXN1bHRzAAAAAACQDI0MdGFza19yZXN1bHRzAACIVzPp8poGc3RyaW5nAABl1yCFTKwMdGFza19yZXN1bHRzAHx2eSqFTKwMdGFza19yZXN1bHRzAAAAil3TkLoMdGFza19yZXN1bHRzAAAAQO1IsboPcmVzb2x2ZV9yZXN1bHRzAECMRu1IsboScmVzb2x2ZWFsbF9yZXN1bHRzAACg7BrEacYMdGFza19yZXN1bHRzAIDPLk/FacYMdGFza19yZXN1bHRzAAAAIDs8zc0MdGFza19yZXN1bHRzAAAAAES1zc0MdGFza19yZXN1bHRzAAAAnsaq0tQMdGFza19yZXN1bHRzAAAAACRD49QMdGFza19yZXN1bHRzAAAAAABQr+EMdGFza19yZXN1bHRz');
438
+ ABI.from(abiBlob);
439
+ var Types;
440
+ (function (Types) {
441
+ let packed_module = class packed_module extends Struct {
442
+ };
443
+ __decorate([
444
+ Struct.field(UInt16)
445
+ ], packed_module.prototype, "item_id", void 0);
446
+ __decorate([
447
+ Struct.field(UInt64)
448
+ ], packed_module.prototype, "stats", void 0);
449
+ packed_module = __decorate([
450
+ Struct.type('packed_module')
451
+ ], packed_module);
452
+ Types.packed_module = packed_module;
453
+ let module_entry = class module_entry extends Struct {
454
+ };
455
+ __decorate([
456
+ Struct.field(UInt8)
457
+ ], module_entry.prototype, "type", void 0);
458
+ __decorate([
459
+ Struct.field(packed_module, { optional: true })
460
+ ], module_entry.prototype, "installed", void 0);
461
+ module_entry = __decorate([
462
+ Struct.type('module_entry')
463
+ ], module_entry);
464
+ Types.module_entry = module_entry;
465
+ let cargo_ref = class cargo_ref extends Struct {
466
+ };
467
+ __decorate([
468
+ Struct.field(UInt16)
469
+ ], cargo_ref.prototype, "item_id", void 0);
470
+ __decorate([
471
+ Struct.field(UInt64)
472
+ ], cargo_ref.prototype, "stats", void 0);
473
+ __decorate([
474
+ Struct.field(module_entry, { array: true })
475
+ ], cargo_ref.prototype, "modules", void 0);
476
+ __decorate([
477
+ Struct.field(UInt64, { optional: true })
478
+ ], cargo_ref.prototype, "entity_id", void 0);
479
+ cargo_ref = __decorate([
480
+ Struct.type('cargo_ref')
481
+ ], cargo_ref);
482
+ Types.cargo_ref = cargo_ref;
483
+ let addmodule = class addmodule extends Struct {
484
+ };
485
+ __decorate([
486
+ Struct.field(UInt64)
487
+ ], addmodule.prototype, "entity_id", void 0);
488
+ __decorate([
489
+ Struct.field(UInt8)
490
+ ], addmodule.prototype, "module_index", void 0);
491
+ __decorate([
492
+ Struct.field(cargo_ref)
493
+ ], addmodule.prototype, "module_ref", void 0);
494
+ __decorate([
495
+ Struct.field(cargo_ref, { optional: true })
496
+ ], addmodule.prototype, "target_ref", void 0);
497
+ addmodule = __decorate([
498
+ Struct.type('addmodule')
499
+ ], addmodule);
500
+ Types.addmodule = addmodule;
501
+ let addnexus = class addnexus extends Struct {
502
+ };
503
+ __decorate([
504
+ Struct.field('string')
505
+ ], addnexus.prototype, "nexus_name", void 0);
506
+ __decorate([
507
+ Struct.field(Int64)
508
+ ], addnexus.prototype, "x", void 0);
509
+ __decorate([
510
+ Struct.field(Int64)
511
+ ], addnexus.prototype, "y", void 0);
512
+ addnexus = __decorate([
513
+ Struct.type('addnexus')
514
+ ], addnexus);
515
+ Types.addnexus = addnexus;
516
+ let addoracle = class addoracle extends Struct {
517
+ };
518
+ __decorate([
519
+ Struct.field(Name)
520
+ ], addoracle.prototype, "oracle_id", void 0);
521
+ addoracle = __decorate([
522
+ Struct.type('addoracle')
523
+ ], addoracle);
524
+ Types.addoracle = addoracle;
525
+ let cargo_item = class cargo_item extends Struct {
526
+ };
527
+ __decorate([
528
+ Struct.field(UInt16)
529
+ ], cargo_item.prototype, "item_id", void 0);
530
+ __decorate([
531
+ Struct.field(UInt64)
532
+ ], cargo_item.prototype, "stats", void 0);
533
+ __decorate([
534
+ Struct.field(module_entry, { array: true })
535
+ ], cargo_item.prototype, "modules", void 0);
536
+ __decorate([
537
+ Struct.field(UInt32)
538
+ ], cargo_item.prototype, "quantity", void 0);
539
+ __decorate([
540
+ Struct.field(UInt64, { optional: true })
541
+ ], cargo_item.prototype, "entity_id", void 0);
542
+ cargo_item = __decorate([
543
+ Struct.type('cargo_item')
544
+ ], cargo_item);
545
+ Types.cargo_item = cargo_item;
546
+ let blend = class blend extends Struct {
547
+ };
548
+ __decorate([
549
+ Struct.field(UInt64)
550
+ ], blend.prototype, "id", void 0);
551
+ __decorate([
552
+ Struct.field(cargo_item, { array: true })
553
+ ], blend.prototype, "inputs", void 0);
554
+ blend = __decorate([
555
+ Struct.type('blend')
556
+ ], blend);
557
+ Types.blend = blend;
558
+ let buildplot = class buildplot extends Struct {
559
+ };
560
+ __decorate([
561
+ Struct.field(UInt64)
562
+ ], buildplot.prototype, "builder_id", void 0);
563
+ __decorate([
564
+ Struct.field(UInt64)
565
+ ], buildplot.prototype, "plot_id", void 0);
566
+ buildplot = __decorate([
567
+ Struct.type('buildplot')
568
+ ], buildplot);
569
+ Types.buildplot = buildplot;
570
+ let cancel = class cancel extends Struct {
571
+ };
572
+ __decorate([
573
+ Struct.field(UInt64)
574
+ ], cancel.prototype, "id", void 0);
575
+ __decorate([
576
+ Struct.field(UInt8)
577
+ ], cancel.prototype, "lane_key", void 0);
578
+ __decorate([
579
+ Struct.field(UInt64)
580
+ ], cancel.prototype, "count", void 0);
581
+ cancel = __decorate([
582
+ Struct.type('cancel')
583
+ ], cancel);
584
+ Types.cancel = cancel;
585
+ let entity_ref = class entity_ref extends Struct {
586
+ };
587
+ __decorate([
588
+ Struct.field(Name)
589
+ ], entity_ref.prototype, "entity_type", void 0);
590
+ __decorate([
591
+ Struct.field(UInt64)
592
+ ], entity_ref.prototype, "entity_id", void 0);
593
+ entity_ref = __decorate([
594
+ Struct.type('entity_ref')
595
+ ], entity_ref);
596
+ Types.entity_ref = entity_ref;
597
+ let cancel_results = class cancel_results extends Struct {
598
+ };
599
+ __decorate([
600
+ Struct.field(UInt64)
601
+ ], cancel_results.prototype, "entity_id", void 0);
602
+ __decorate([
603
+ Struct.field(Name)
604
+ ], cancel_results.prototype, "entity_type", void 0);
605
+ __decorate([
606
+ Struct.field(UInt8)
607
+ ], cancel_results.prototype, "cancelled_count", void 0);
608
+ __decorate([
609
+ Struct.field(TimePoint, { optional: true })
610
+ ], cancel_results.prototype, "schedule_started", void 0);
611
+ __decorate([
612
+ Struct.field(UInt64, { optional: true })
613
+ ], cancel_results.prototype, "entitygroup", void 0);
614
+ __decorate([
615
+ Struct.field(entity_ref, { array: true, optional: true })
616
+ ], cancel_results.prototype, "group_members", void 0);
617
+ cancel_results = __decorate([
618
+ Struct.type('cancel_results')
619
+ ], cancel_results);
620
+ Types.cancel_results = cancel_results;
621
+ let cargo_row = class cargo_row extends Struct {
622
+ };
623
+ __decorate([
624
+ Struct.field(UInt64)
625
+ ], cargo_row.prototype, "id", void 0);
626
+ __decorate([
627
+ Struct.field(UInt64)
628
+ ], cargo_row.prototype, "entity_id", void 0);
629
+ __decorate([
630
+ Struct.field(UInt64)
631
+ ], cargo_row.prototype, "item_id", void 0);
632
+ __decorate([
633
+ Struct.field(UInt64)
634
+ ], cargo_row.prototype, "quantity", void 0);
635
+ __decorate([
636
+ Struct.field(UInt64)
637
+ ], cargo_row.prototype, "stats", void 0);
638
+ __decorate([
639
+ Struct.field(module_entry, { array: true })
640
+ ], cargo_row.prototype, "modules", void 0);
641
+ __decorate([
642
+ Struct.field(UInt64, { optional: true })
643
+ ], cargo_row.prototype, "sequence_id", void 0);
644
+ cargo_row = __decorate([
645
+ Struct.type('cargo_row')
646
+ ], cargo_row);
647
+ Types.cargo_row = cargo_row;
648
+ let cargo_view = class cargo_view extends Struct {
649
+ };
650
+ __decorate([
651
+ Struct.field(UInt16)
652
+ ], cargo_view.prototype, "item_id", void 0);
653
+ __decorate([
654
+ Struct.field(UInt64)
655
+ ], cargo_view.prototype, "stats", void 0);
656
+ __decorate([
657
+ Struct.field(module_entry, { array: true })
658
+ ], cargo_view.prototype, "modules", void 0);
659
+ __decorate([
660
+ Struct.field(UInt32)
661
+ ], cargo_view.prototype, "quantity", void 0);
662
+ __decorate([
663
+ Struct.field(UInt64)
664
+ ], cargo_view.prototype, "id", void 0);
665
+ __decorate([
666
+ Struct.field(UInt64, { optional: true })
667
+ ], cargo_view.prototype, "entity_id", void 0);
668
+ cargo_view = __decorate([
669
+ Struct.type('cargo_view')
670
+ ], cargo_view);
671
+ Types.cargo_view = cargo_view;
672
+ let claim_row = class claim_row extends Struct {
673
+ };
674
+ __decorate([
675
+ Struct.field(Name)
676
+ ], claim_row.prototype, "owner", void 0);
677
+ claim_row = __decorate([
678
+ Struct.type('claim_row')
679
+ ], claim_row);
680
+ Types.claim_row = claim_row;
681
+ let coordinates = class coordinates extends Struct {
682
+ };
683
+ __decorate([
684
+ Struct.field(Int64)
685
+ ], coordinates.prototype, "x", void 0);
686
+ __decorate([
687
+ Struct.field(Int64)
688
+ ], coordinates.prototype, "y", void 0);
689
+ __decorate([
690
+ Struct.field(UInt16, { optional: true })
691
+ ], coordinates.prototype, "z", void 0);
692
+ coordinates = __decorate([
693
+ Struct.type('coordinates')
694
+ ], coordinates);
695
+ Types.coordinates = coordinates;
696
+ let claimplot = class claimplot extends Struct {
697
+ };
698
+ __decorate([
699
+ Struct.field(UInt64)
700
+ ], claimplot.prototype, "builder_id", void 0);
701
+ __decorate([
702
+ Struct.field(UInt16)
703
+ ], claimplot.prototype, "target_item_id", void 0);
704
+ __decorate([
705
+ Struct.field(coordinates)
706
+ ], claimplot.prototype, "coords", void 0);
707
+ claimplot = __decorate([
708
+ Struct.type('claimplot')
709
+ ], claimplot);
710
+ Types.claimplot = claimplot;
711
+ let claimstarter = class claimstarter extends Struct {
712
+ };
713
+ __decorate([
714
+ Struct.field(Name)
715
+ ], claimstarter.prototype, "owner", void 0);
716
+ claimstarter = __decorate([
717
+ Struct.type('claimstarter')
718
+ ], claimstarter);
719
+ Types.claimstarter = claimstarter;
720
+ let cleanrsvp = class cleanrsvp extends Struct {
721
+ };
722
+ __decorate([
723
+ Struct.field(UInt64)
724
+ ], cleanrsvp.prototype, "epoch", void 0);
725
+ __decorate([
726
+ Struct.field(UInt64)
727
+ ], cleanrsvp.prototype, "max_rows", void 0);
728
+ cleanrsvp = __decorate([
729
+ Struct.type('cleanrsvp')
730
+ ], cleanrsvp);
731
+ Types.cleanrsvp = cleanrsvp;
732
+ let cleartable = class cleartable extends Struct {
733
+ };
734
+ __decorate([
735
+ Struct.field(Name)
736
+ ], cleartable.prototype, "table_name", void 0);
737
+ __decorate([
738
+ Struct.field(Name, { optional: true })
739
+ ], cleartable.prototype, "scope", void 0);
740
+ __decorate([
741
+ Struct.field(UInt64, { optional: true })
742
+ ], cleartable.prototype, "max_rows", void 0);
743
+ cleartable = __decorate([
744
+ Struct.type('cleartable')
745
+ ], cleartable);
746
+ Types.cleartable = cleartable;
747
+ let commit = class commit extends Struct {
748
+ };
749
+ __decorate([
750
+ Struct.field(Name)
751
+ ], commit.prototype, "oracle_id", void 0);
752
+ __decorate([
753
+ Struct.field(UInt64)
754
+ ], commit.prototype, "epoch", void 0);
755
+ __decorate([
756
+ Struct.field(Checksum256)
757
+ ], commit.prototype, "commit", void 0);
758
+ commit = __decorate([
759
+ Struct.type('commit')
760
+ ], commit);
761
+ Types.commit = commit;
762
+ let commit_row = class commit_row extends Struct {
763
+ };
764
+ __decorate([
765
+ Struct.field(UInt64)
766
+ ], commit_row.prototype, "id", void 0);
767
+ __decorate([
768
+ Struct.field(UInt64)
769
+ ], commit_row.prototype, "epoch", void 0);
770
+ __decorate([
771
+ Struct.field(Name)
772
+ ], commit_row.prototype, "oracle_id", void 0);
773
+ __decorate([
774
+ Struct.field(Checksum256)
775
+ ], commit_row.prototype, "commit", void 0);
776
+ commit_row = __decorate([
777
+ Struct.type('commit_row')
778
+ ], commit_row);
779
+ Types.commit_row = commit_row;
780
+ let entity_defaults = class entity_defaults extends Struct {
781
+ };
782
+ __decorate([
783
+ Struct.field(UInt16)
784
+ ], entity_defaults.prototype, "warehouse_z", void 0);
785
+ __decorate([
786
+ Struct.field(UInt16)
787
+ ], entity_defaults.prototype, "container_z", void 0);
788
+ entity_defaults = __decorate([
789
+ Struct.type('entity_defaults')
790
+ ], entity_defaults);
791
+ Types.entity_defaults = entity_defaults;
792
+ let item_def = class item_def extends Struct {
793
+ };
794
+ __decorate([
795
+ Struct.field(UInt16)
796
+ ], item_def.prototype, "id", void 0);
797
+ __decorate([
798
+ Struct.field(UInt32)
799
+ ], item_def.prototype, "mass", void 0);
800
+ __decorate([
801
+ Struct.field(UInt8)
802
+ ], item_def.prototype, "type", void 0);
803
+ __decorate([
804
+ Struct.field(UInt8)
805
+ ], item_def.prototype, "subtype", void 0);
806
+ __decorate([
807
+ Struct.field(UInt8)
808
+ ], item_def.prototype, "tier", void 0);
809
+ item_def = __decorate([
810
+ Struct.type('item_def')
811
+ ], item_def);
812
+ Types.item_def = item_def;
813
+ let game_config = class game_config extends Struct {
814
+ };
815
+ __decorate([
816
+ Struct.field(UInt32)
817
+ ], game_config.prototype, "version", void 0);
818
+ __decorate([
819
+ Struct.field(entity_defaults)
820
+ ], game_config.prototype, "defaults", void 0);
821
+ __decorate([
822
+ Struct.field(item_def, { array: true })
823
+ ], game_config.prototype, "items", void 0);
824
+ game_config = __decorate([
825
+ Struct.type('game_config')
826
+ ], game_config);
827
+ Types.game_config = game_config;
828
+ let configlog = class configlog extends Struct {
829
+ };
830
+ __decorate([
831
+ Struct.field(game_config)
832
+ ], configlog.prototype, "config", void 0);
833
+ configlog = __decorate([
834
+ Struct.type('configlog')
835
+ ], configlog);
836
+ Types.configlog = configlog;
837
+ let craft = class craft extends Struct {
838
+ };
839
+ __decorate([
840
+ Struct.field(UInt64)
841
+ ], craft.prototype, "id", void 0);
842
+ __decorate([
843
+ Struct.field(UInt16)
844
+ ], craft.prototype, "recipe_id", void 0);
845
+ __decorate([
846
+ Struct.field(UInt32)
847
+ ], craft.prototype, "quantity", void 0);
848
+ __decorate([
849
+ Struct.field(cargo_item, { array: true })
850
+ ], craft.prototype, "inputs", void 0);
851
+ __decorate([
852
+ Struct.field(UInt64, { optional: true })
853
+ ], craft.prototype, "target", void 0);
854
+ __decorate([
855
+ Struct.field(UInt8, { optional: true })
856
+ ], craft.prototype, "slot", void 0);
857
+ craft = __decorate([
858
+ Struct.type('craft')
859
+ ], craft);
860
+ Types.craft = craft;
861
+ let crafter_lane = class crafter_lane extends Struct {
862
+ };
863
+ __decorate([
864
+ Struct.field(UInt8)
865
+ ], crafter_lane.prototype, "slot_index", void 0);
866
+ __decorate([
867
+ Struct.field(UInt16)
868
+ ], crafter_lane.prototype, "speed", void 0);
869
+ __decorate([
870
+ Struct.field(UInt32)
871
+ ], crafter_lane.prototype, "drain", void 0);
872
+ __decorate([
873
+ Struct.field(UInt16)
874
+ ], crafter_lane.prototype, "output_pct", void 0);
875
+ crafter_lane = __decorate([
876
+ Struct.type('crafter_lane')
877
+ ], crafter_lane);
878
+ Types.crafter_lane = crafter_lane;
879
+ let demolish = class demolish extends Struct {
880
+ };
881
+ __decorate([
882
+ Struct.field(UInt64)
883
+ ], demolish.prototype, "entity_id", void 0);
884
+ demolish = __decorate([
885
+ Struct.type('demolish')
886
+ ], demolish);
887
+ Types.demolish = demolish;
888
+ let deploy = class deploy extends Struct {
889
+ };
890
+ __decorate([
891
+ Struct.field(UInt64)
892
+ ], deploy.prototype, "id", void 0);
893
+ __decorate([
894
+ Struct.field(cargo_ref)
895
+ ], deploy.prototype, "ref", void 0);
896
+ deploy = __decorate([
897
+ Struct.type('deploy')
898
+ ], deploy);
899
+ Types.deploy = deploy;
900
+ let descentity = class descentity extends Struct {
901
+ };
902
+ __decorate([
903
+ Struct.field(UInt16)
904
+ ], descentity.prototype, "item_id", void 0);
905
+ __decorate([
906
+ Struct.field(UInt64)
907
+ ], descentity.prototype, "hull_stats", void 0);
908
+ __decorate([
909
+ Struct.field(UInt16, { array: true })
910
+ ], descentity.prototype, "module_items", void 0);
911
+ __decorate([
912
+ Struct.field(UInt64, { array: true })
913
+ ], descentity.prototype, "module_stats", void 0);
914
+ descentity = __decorate([
915
+ Struct.type('descentity')
916
+ ], descentity);
917
+ Types.descentity = descentity;
918
+ let enable = class enable extends Struct {
919
+ };
920
+ __decorate([
921
+ Struct.field('bool')
922
+ ], enable.prototype, "enabled", void 0);
923
+ enable = __decorate([
924
+ Struct.type('enable')
925
+ ], enable);
926
+ Types.enable = enable;
927
+ let energy_stats = class energy_stats extends Struct {
928
+ };
929
+ __decorate([
930
+ Struct.field(UInt32)
931
+ ], energy_stats.prototype, "capacity", void 0);
932
+ __decorate([
933
+ Struct.field(UInt32)
934
+ ], energy_stats.prototype, "recharge", void 0);
935
+ energy_stats = __decorate([
936
+ Struct.type('energy_stats')
937
+ ], energy_stats);
938
+ Types.energy_stats = energy_stats;
939
+ let entity_current_state = class entity_current_state extends Struct {
940
+ };
941
+ __decorate([
942
+ Struct.field(coordinates)
943
+ ], entity_current_state.prototype, "coordinates", void 0);
944
+ __decorate([
945
+ Struct.field(UInt32)
946
+ ], entity_current_state.prototype, "energy", void 0);
947
+ entity_current_state = __decorate([
948
+ Struct.type('entity_current_state')
949
+ ], entity_current_state);
950
+ Types.entity_current_state = entity_current_state;
951
+ let movement_stats = class movement_stats extends Struct {
952
+ };
953
+ __decorate([
954
+ Struct.field(UInt32)
955
+ ], movement_stats.prototype, "thrust", void 0);
956
+ __decorate([
957
+ Struct.field(UInt32)
958
+ ], movement_stats.prototype, "drain", void 0);
959
+ movement_stats = __decorate([
960
+ Struct.type('movement_stats')
961
+ ], movement_stats);
962
+ Types.movement_stats = movement_stats;
963
+ let warp_stats = class warp_stats extends Struct {
964
+ };
965
+ __decorate([
966
+ Struct.field(UInt32)
967
+ ], warp_stats.prototype, "range", void 0);
968
+ warp_stats = __decorate([
969
+ Struct.type('warp_stats')
970
+ ], warp_stats);
971
+ Types.warp_stats = warp_stats;
972
+ let hauler_stats = class hauler_stats extends Struct {
973
+ };
974
+ __decorate([
975
+ Struct.field(UInt8)
976
+ ], hauler_stats.prototype, "capacity", void 0);
977
+ __decorate([
978
+ Struct.field(UInt16)
979
+ ], hauler_stats.prototype, "efficiency", void 0);
980
+ __decorate([
981
+ Struct.field(UInt32)
982
+ ], hauler_stats.prototype, "drain", void 0);
983
+ hauler_stats = __decorate([
984
+ Struct.type('hauler_stats')
985
+ ], hauler_stats);
986
+ Types.hauler_stats = hauler_stats;
987
+ let gatherer_lane = class gatherer_lane extends Struct {
988
+ };
989
+ __decorate([
990
+ Struct.field(UInt8)
991
+ ], gatherer_lane.prototype, "slot_index", void 0);
992
+ __decorate([
993
+ Struct.field(UInt16)
994
+ ], gatherer_lane.prototype, "yield", void 0);
995
+ __decorate([
996
+ Struct.field(UInt32)
997
+ ], gatherer_lane.prototype, "drain", void 0);
998
+ __decorate([
999
+ Struct.field(UInt16)
1000
+ ], gatherer_lane.prototype, "depth", void 0);
1001
+ __decorate([
1002
+ Struct.field(UInt16)
1003
+ ], gatherer_lane.prototype, "output_pct", void 0);
1004
+ gatherer_lane = __decorate([
1005
+ Struct.type('gatherer_lane')
1006
+ ], gatherer_lane);
1007
+ Types.gatherer_lane = gatherer_lane;
1008
+ let loader_lane = class loader_lane extends Struct {
1009
+ };
1010
+ __decorate([
1011
+ Struct.field(UInt8)
1012
+ ], loader_lane.prototype, "slot_index", void 0);
1013
+ __decorate([
1014
+ Struct.field(UInt32)
1015
+ ], loader_lane.prototype, "mass", void 0);
1016
+ __decorate([
1017
+ Struct.field(UInt16)
1018
+ ], loader_lane.prototype, "thrust", void 0);
1019
+ __decorate([
1020
+ Struct.field(UInt16)
1021
+ ], loader_lane.prototype, "output_pct", void 0);
1022
+ loader_lane = __decorate([
1023
+ Struct.type('loader_lane')
1024
+ ], loader_lane);
1025
+ Types.loader_lane = loader_lane;
1026
+ let launcher_stats = class launcher_stats extends Struct {
1027
+ };
1028
+ __decorate([
1029
+ Struct.field(UInt16)
1030
+ ], launcher_stats.prototype, "charge_rate", void 0);
1031
+ __decorate([
1032
+ Struct.field(UInt16)
1033
+ ], launcher_stats.prototype, "velocity", void 0);
1034
+ __decorate([
1035
+ Struct.field(UInt16)
1036
+ ], launcher_stats.prototype, "drain", void 0);
1037
+ launcher_stats = __decorate([
1038
+ Struct.type('launcher_stats')
1039
+ ], launcher_stats);
1040
+ Types.launcher_stats = launcher_stats;
1041
+ let task = class task extends Struct {
1042
+ };
1043
+ __decorate([
1044
+ Struct.field(UInt8)
1045
+ ], task.prototype, "type", void 0);
1046
+ __decorate([
1047
+ Struct.field(UInt32)
1048
+ ], task.prototype, "duration", void 0);
1049
+ __decorate([
1050
+ Struct.field(UInt8)
1051
+ ], task.prototype, "cancelable", void 0);
1052
+ __decorate([
1053
+ Struct.field(coordinates, { optional: true })
1054
+ ], task.prototype, "coordinates", void 0);
1055
+ __decorate([
1056
+ Struct.field(cargo_item, { array: true })
1057
+ ], task.prototype, "cargo", void 0);
1058
+ __decorate([
1059
+ Struct.field(entity_ref, { optional: true })
1060
+ ], task.prototype, "entitytarget", void 0);
1061
+ __decorate([
1062
+ Struct.field(UInt64, { optional: true })
1063
+ ], task.prototype, "entitygroup", void 0);
1064
+ __decorate([
1065
+ Struct.field(UInt32, { optional: true })
1066
+ ], task.prototype, "energy_cost", void 0);
1067
+ __decorate([
1068
+ Struct.field(UInt64, { optional: true })
1069
+ ], task.prototype, "hold", void 0);
1070
+ task = __decorate([
1071
+ Struct.type('task')
1072
+ ], task);
1073
+ Types.task = task;
1074
+ let schedule = class schedule extends Struct {
1075
+ };
1076
+ __decorate([
1077
+ Struct.field(TimePoint)
1078
+ ], schedule.prototype, "started", void 0);
1079
+ __decorate([
1080
+ Struct.field(task, { array: true })
1081
+ ], schedule.prototype, "tasks", void 0);
1082
+ schedule = __decorate([
1083
+ Struct.type('schedule')
1084
+ ], schedule);
1085
+ Types.schedule = schedule;
1086
+ let lane = class lane extends Struct {
1087
+ };
1088
+ __decorate([
1089
+ Struct.field(UInt8)
1090
+ ], lane.prototype, "lane_key", void 0);
1091
+ __decorate([
1092
+ Struct.field(schedule)
1093
+ ], lane.prototype, "schedule", void 0);
1094
+ lane = __decorate([
1095
+ Struct.type('lane')
1096
+ ], lane);
1097
+ Types.lane = lane;
1098
+ let hold = class hold extends Struct {
1099
+ };
1100
+ __decorate([
1101
+ Struct.field(UInt64)
1102
+ ], hold.prototype, "id", void 0);
1103
+ __decorate([
1104
+ Struct.field(UInt8)
1105
+ ], hold.prototype, "kind", void 0);
1106
+ __decorate([
1107
+ Struct.field(entity_ref)
1108
+ ], hold.prototype, "counterpart", void 0);
1109
+ __decorate([
1110
+ Struct.field(TimePoint)
1111
+ ], hold.prototype, "until", void 0);
1112
+ __decorate([
1113
+ Struct.field(UInt32)
1114
+ ], hold.prototype, "incoming_mass", void 0);
1115
+ hold = __decorate([
1116
+ Struct.type('hold')
1117
+ ], hold);
1118
+ Types.hold = hold;
1119
+ let entity_info = class entity_info extends Struct {
1120
+ };
1121
+ __decorate([
1122
+ Struct.field(Name)
1123
+ ], entity_info.prototype, "type", void 0);
1124
+ __decorate([
1125
+ Struct.field(UInt64)
1126
+ ], entity_info.prototype, "id", void 0);
1127
+ __decorate([
1128
+ Struct.field(Name)
1129
+ ], entity_info.prototype, "owner", void 0);
1130
+ __decorate([
1131
+ Struct.field('string')
1132
+ ], entity_info.prototype, "entity_name", void 0);
1133
+ __decorate([
1134
+ Struct.field(coordinates)
1135
+ ], entity_info.prototype, "coordinates", void 0);
1136
+ __decorate([
1137
+ Struct.field(UInt16)
1138
+ ], entity_info.prototype, "item_id", void 0);
1139
+ __decorate([
1140
+ Struct.field(UInt32)
1141
+ ], entity_info.prototype, "cargomass", void 0);
1142
+ __decorate([
1143
+ Struct.field(cargo_view, { array: true })
1144
+ ], entity_info.prototype, "cargo", void 0);
1145
+ __decorate([
1146
+ Struct.field(module_entry, { array: true })
1147
+ ], entity_info.prototype, "modules", void 0);
1148
+ __decorate([
1149
+ Struct.field(UInt32, { optional: true })
1150
+ ], entity_info.prototype, "energy", void 0);
1151
+ __decorate([
1152
+ Struct.field(UInt32, { optional: true })
1153
+ ], entity_info.prototype, "hullmass", void 0);
1154
+ __decorate([
1155
+ Struct.field(UInt32, { optional: true })
1156
+ ], entity_info.prototype, "capacity", void 0);
1157
+ __decorate([
1158
+ Struct.field(movement_stats, { optional: true })
1159
+ ], entity_info.prototype, "engines", void 0);
1160
+ __decorate([
1161
+ Struct.field(warp_stats, { optional: true })
1162
+ ], entity_info.prototype, "warp", void 0);
1163
+ __decorate([
1164
+ Struct.field(energy_stats, { optional: true })
1165
+ ], entity_info.prototype, "generator", void 0);
1166
+ __decorate([
1167
+ Struct.field(hauler_stats, { optional: true })
1168
+ ], entity_info.prototype, "hauler", void 0);
1169
+ __decorate([
1170
+ Struct.field(gatherer_lane, { array: true })
1171
+ ], entity_info.prototype, "gatherer_lanes", void 0);
1172
+ __decorate([
1173
+ Struct.field(crafter_lane, { array: true })
1174
+ ], entity_info.prototype, "crafter_lanes", void 0);
1175
+ __decorate([
1176
+ Struct.field(loader_lane, { array: true })
1177
+ ], entity_info.prototype, "loader_lanes", void 0);
1178
+ __decorate([
1179
+ Struct.field(launcher_stats, { optional: true })
1180
+ ], entity_info.prototype, "launcher", void 0);
1181
+ __decorate([
1182
+ Struct.field(lane, { array: true })
1183
+ ], entity_info.prototype, "lanes", void 0);
1184
+ __decorate([
1185
+ Struct.field(hold, { array: true })
1186
+ ], entity_info.prototype, "holds", void 0);
1187
+ entity_info = __decorate([
1188
+ Struct.type('entity_info')
1189
+ ], entity_info);
1190
+ Types.entity_info = entity_info;
1191
+ let slot_def = class slot_def extends Struct {
1192
+ };
1193
+ __decorate([
1194
+ Struct.field(UInt8)
1195
+ ], slot_def.prototype, "type", void 0);
1196
+ __decorate([
1197
+ Struct.field(UInt16)
1198
+ ], slot_def.prototype, "output_pct", void 0);
1199
+ slot_def = __decorate([
1200
+ Struct.type('slot_def')
1201
+ ], slot_def);
1202
+ Types.slot_def = slot_def;
1203
+ let entity_layout = class entity_layout extends Struct {
1204
+ };
1205
+ __decorate([
1206
+ Struct.field(UInt16)
1207
+ ], entity_layout.prototype, "entity_item_id", void 0);
1208
+ __decorate([
1209
+ Struct.field(slot_def, { array: true })
1210
+ ], entity_layout.prototype, "slots", void 0);
1211
+ entity_layout = __decorate([
1212
+ Struct.type('entity_layout')
1213
+ ], entity_layout);
1214
+ Types.entity_layout = entity_layout;
1215
+ let entity_layouts_result = class entity_layouts_result extends Struct {
1216
+ };
1217
+ __decorate([
1218
+ Struct.field(entity_layout, { array: true })
1219
+ ], entity_layouts_result.prototype, "entities", void 0);
1220
+ entity_layouts_result = __decorate([
1221
+ Struct.type('entity_layouts_result')
1222
+ ], entity_layouts_result);
1223
+ Types.entity_layouts_result = entity_layouts_result;
1224
+ let entity_row = class entity_row extends Struct {
1225
+ };
1226
+ __decorate([
1227
+ Struct.field(UInt64)
1228
+ ], entity_row.prototype, "id", void 0);
1229
+ __decorate([
1230
+ Struct.field(Name)
1231
+ ], entity_row.prototype, "owner", void 0);
1232
+ __decorate([
1233
+ Struct.field(Name)
1234
+ ], entity_row.prototype, "kind", void 0);
1235
+ __decorate([
1236
+ Struct.field(UInt16)
1237
+ ], entity_row.prototype, "item_id", void 0);
1238
+ __decorate([
1239
+ Struct.field('string')
1240
+ ], entity_row.prototype, "name", void 0);
1241
+ __decorate([
1242
+ Struct.field(UInt64)
1243
+ ], entity_row.prototype, "stats", void 0);
1244
+ __decorate([
1245
+ Struct.field(coordinates)
1246
+ ], entity_row.prototype, "coordinates", void 0);
1247
+ __decorate([
1248
+ Struct.field(UInt32, { optional: true })
1249
+ ], entity_row.prototype, "energy", void 0);
1250
+ __decorate([
1251
+ Struct.field(UInt32)
1252
+ ], entity_row.prototype, "cargomass", void 0);
1253
+ __decorate([
1254
+ Struct.field(module_entry, { array: true })
1255
+ ], entity_row.prototype, "modules", void 0);
1256
+ __decorate([
1257
+ Struct.field(lane, { array: true })
1258
+ ], entity_row.prototype, "lanes", void 0);
1259
+ __decorate([
1260
+ Struct.field(hold, { array: true })
1261
+ ], entity_row.prototype, "holds", void 0);
1262
+ entity_row = __decorate([
1263
+ Struct.type('entity_row')
1264
+ ], entity_row);
1265
+ Types.entity_row = entity_row;
1266
+ let entity_seq_row = class entity_seq_row extends Struct {
1267
+ };
1268
+ __decorate([
1269
+ Struct.field(UInt64)
1270
+ ], entity_seq_row.prototype, "next_id", void 0);
1271
+ entity_seq_row = __decorate([
1272
+ Struct.type('entity_seq_row')
1273
+ ], entity_seq_row);
1274
+ Types.entity_seq_row = entity_seq_row;
1275
+ let entity_summary = class entity_summary extends Struct {
1276
+ };
1277
+ __decorate([
1278
+ Struct.field(Name)
1279
+ ], entity_summary.prototype, "type", void 0);
1280
+ __decorate([
1281
+ Struct.field(UInt64)
1282
+ ], entity_summary.prototype, "id", void 0);
1283
+ __decorate([
1284
+ Struct.field(Name)
1285
+ ], entity_summary.prototype, "owner", void 0);
1286
+ __decorate([
1287
+ Struct.field('string')
1288
+ ], entity_summary.prototype, "entity_name", void 0);
1289
+ __decorate([
1290
+ Struct.field(coordinates)
1291
+ ], entity_summary.prototype, "coordinates", void 0);
1292
+ __decorate([
1293
+ Struct.field('bool')
1294
+ ], entity_summary.prototype, "is_idle", void 0);
1295
+ __decorate([
1296
+ Struct.field(UInt32)
1297
+ ], entity_summary.prototype, "resolved_count", void 0);
1298
+ __decorate([
1299
+ Struct.field(UInt32)
1300
+ ], entity_summary.prototype, "pending_count", void 0);
1301
+ entity_summary = __decorate([
1302
+ Struct.type('entity_summary')
1303
+ ], entity_summary);
1304
+ Types.entity_summary = entity_summary;
1305
+ let entity_task_info = class entity_task_info extends Struct {
1306
+ };
1307
+ __decorate([
1308
+ Struct.field(UInt64)
1309
+ ], entity_task_info.prototype, "entity_id", void 0);
1310
+ __decorate([
1311
+ Struct.field(Name)
1312
+ ], entity_task_info.prototype, "entity_type", void 0);
1313
+ __decorate([
1314
+ Struct.field(UInt8)
1315
+ ], entity_task_info.prototype, "task_count", void 0);
1316
+ __decorate([
1317
+ Struct.field(TimePoint)
1318
+ ], entity_task_info.prototype, "schedule_started", void 0);
1319
+ entity_task_info = __decorate([
1320
+ Struct.type('entity_task_info')
1321
+ ], entity_task_info);
1322
+ Types.entity_task_info = entity_task_info;
1323
+ let entitygroup_row = class entitygroup_row extends Struct {
1324
+ };
1325
+ __decorate([
1326
+ Struct.field(UInt64)
1327
+ ], entitygroup_row.prototype, "id", void 0);
1328
+ __decorate([
1329
+ Struct.field(entity_ref, { array: true })
1330
+ ], entitygroup_row.prototype, "participants", void 0);
1331
+ entitygroup_row = __decorate([
1332
+ Struct.type('entitygroup_row')
1333
+ ], entitygroup_row);
1334
+ Types.entitygroup_row = entitygroup_row;
1335
+ let enum_member = class enum_member extends Struct {
1336
+ };
1337
+ __decorate([
1338
+ Struct.field(UInt8)
1339
+ ], enum_member.prototype, "value", void 0);
1340
+ __decorate([
1341
+ Struct.field('string')
1342
+ ], enum_member.prototype, "name", void 0);
1343
+ enum_member = __decorate([
1344
+ Struct.type('enum_member')
1345
+ ], enum_member);
1346
+ Types.enum_member = enum_member;
1347
+ let enum_result = class enum_result extends Struct {
1348
+ };
1349
+ __decorate([
1350
+ Struct.field(enum_member, { array: true })
1351
+ ], enum_result.prototype, "members", void 0);
1352
+ enum_result = __decorate([
1353
+ Struct.type('enum_result')
1354
+ ], enum_result);
1355
+ Types.enum_result = enum_result;
1356
+ let epoch_row = class epoch_row extends Struct {
1357
+ };
1358
+ __decorate([
1359
+ Struct.field(UInt64)
1360
+ ], epoch_row.prototype, "epoch", void 0);
1361
+ __decorate([
1362
+ Struct.field(Name, { array: true })
1363
+ ], epoch_row.prototype, "oracle_ids", void 0);
1364
+ __decorate([
1365
+ Struct.field(UInt8)
1366
+ ], epoch_row.prototype, "threshold", void 0);
1367
+ __decorate([
1368
+ Struct.field(Checksum256)
1369
+ ], epoch_row.prototype, "seed", void 0);
1370
+ epoch_row = __decorate([
1371
+ Struct.type('epoch_row')
1372
+ ], epoch_row);
1373
+ Types.epoch_row = epoch_row;
1374
+ let fixcargomass = class fixcargomass extends Struct {
1375
+ };
1376
+ __decorate([
1377
+ Struct.field(UInt64)
1378
+ ], fixcargomass.prototype, "entity_id", void 0);
1379
+ fixcargomass = __decorate([
1380
+ Struct.type('fixcargomass')
1381
+ ], fixcargomass);
1382
+ Types.fixcargomass = fixcargomass;
1383
+ let forcereveal = class forcereveal extends Struct {
1384
+ };
1385
+ __decorate([
1386
+ Struct.field(UInt64)
1387
+ ], forcereveal.prototype, "epoch", void 0);
1388
+ forcereveal = __decorate([
1389
+ Struct.type('forcereveal')
1390
+ ], forcereveal);
1391
+ Types.forcereveal = forcereveal;
1392
+ let gather = class gather extends Struct {
1393
+ };
1394
+ __decorate([
1395
+ Struct.field(UInt64)
1396
+ ], gather.prototype, "source_id", void 0);
1397
+ __decorate([
1398
+ Struct.field(UInt64)
1399
+ ], gather.prototype, "destination_id", void 0);
1400
+ __decorate([
1401
+ Struct.field(UInt16)
1402
+ ], gather.prototype, "stratum", void 0);
1403
+ __decorate([
1404
+ Struct.field(UInt32)
1405
+ ], gather.prototype, "quantity", void 0);
1406
+ __decorate([
1407
+ Struct.field(UInt8, { optional: true })
1408
+ ], gather.prototype, "slot", void 0);
1409
+ gather = __decorate([
1410
+ Struct.type('gather')
1411
+ ], gather);
1412
+ Types.gather = gather;
1413
+ let genesisfleet = class genesisfleet extends Struct {
1414
+ };
1415
+ __decorate([
1416
+ Struct.field(entity_row, { array: true })
1417
+ ], genesisfleet.prototype, "entities", void 0);
1418
+ genesisfleet = __decorate([
1419
+ Struct.type('genesisfleet')
1420
+ ], genesisfleet);
1421
+ Types.genesisfleet = genesisfleet;
1422
+ let getconfig = class getconfig extends Struct {
1423
+ };
1424
+ getconfig = __decorate([
1425
+ Struct.type('getconfig')
1426
+ ], getconfig);
1427
+ Types.getconfig = getconfig;
1428
+ let getdeposit = class getdeposit extends Struct {
1429
+ };
1430
+ __decorate([
1431
+ Struct.field(Name)
1432
+ ], getdeposit.prototype, "owner", void 0);
1433
+ __decorate([
1434
+ Struct.field(UInt64)
1435
+ ], getdeposit.prototype, "asset_id", void 0);
1436
+ getdeposit = __decorate([
1437
+ Struct.type('getdeposit')
1438
+ ], getdeposit);
1439
+ Types.getdeposit = getdeposit;
1440
+ let getdistance = class getdistance extends Struct {
1441
+ };
1442
+ __decorate([
1443
+ Struct.field(Int64)
1444
+ ], getdistance.prototype, "ax", void 0);
1445
+ __decorate([
1446
+ Struct.field(Int64)
1447
+ ], getdistance.prototype, "ay", void 0);
1448
+ __decorate([
1449
+ Struct.field(Int64)
1450
+ ], getdistance.prototype, "bx", void 0);
1451
+ __decorate([
1452
+ Struct.field(Int64)
1453
+ ], getdistance.prototype, "by", void 0);
1454
+ getdistance = __decorate([
1455
+ Struct.type('getdistance')
1456
+ ], getdistance);
1457
+ Types.getdistance = getdistance;
1458
+ let geteligible = class geteligible extends Struct {
1459
+ };
1460
+ __decorate([
1461
+ Struct.field(coordinates)
1462
+ ], geteligible.prototype, "coords", void 0);
1463
+ __decorate([
1464
+ Struct.field(UInt16)
1465
+ ], geteligible.prototype, "stratum", void 0);
1466
+ geteligible = __decorate([
1467
+ Struct.type('geteligible')
1468
+ ], geteligible);
1469
+ Types.geteligible = geteligible;
1470
+ let getentcls = class getentcls extends Struct {
1471
+ };
1472
+ getentcls = __decorate([
1473
+ Struct.type('getentcls')
1474
+ ], getentcls);
1475
+ Types.getentcls = getentcls;
1476
+ let getentities = class getentities extends Struct {
1477
+ };
1478
+ __decorate([
1479
+ Struct.field(Name)
1480
+ ], getentities.prototype, "owner", void 0);
1481
+ __decorate([
1482
+ Struct.field(Name, { optional: true })
1483
+ ], getentities.prototype, "entity_type", void 0);
1484
+ getentities = __decorate([
1485
+ Struct.type('getentities')
1486
+ ], getentities);
1487
+ Types.getentities = getentities;
1488
+ let getentity = class getentity extends Struct {
1489
+ };
1490
+ __decorate([
1491
+ Struct.field(UInt64)
1492
+ ], getentity.prototype, "entity_id", void 0);
1493
+ getentity = __decorate([
1494
+ Struct.type('getentity')
1495
+ ], getentity);
1496
+ Types.getentity = getentity;
1497
+ let getitemdata = class getitemdata extends Struct {
1498
+ };
1499
+ getitemdata = __decorate([
1500
+ Struct.type('getitemdata')
1501
+ ], getitemdata);
1502
+ Types.getitemdata = getitemdata;
1503
+ let getitemids = class getitemids extends Struct {
1504
+ };
1505
+ getitemids = __decorate([
1506
+ Struct.type('getitemids')
1507
+ ], getitemids);
1508
+ Types.getitemids = getitemids;
1509
+ let getitems = class getitems extends Struct {
1510
+ };
1511
+ getitems = __decorate([
1512
+ Struct.type('getitems')
1513
+ ], getitems);
1514
+ Types.getitems = getitems;
1515
+ let getitemtype = class getitemtype extends Struct {
1516
+ };
1517
+ __decorate([
1518
+ Struct.field(UInt16)
1519
+ ], getitemtype.prototype, "item_id", void 0);
1520
+ getitemtype = __decorate([
1521
+ Struct.type('getitemtype')
1522
+ ], getitemtype);
1523
+ Types.getitemtype = getitemtype;
1524
+ let getitemtypes = class getitemtypes extends Struct {
1525
+ };
1526
+ getitemtypes = __decorate([
1527
+ Struct.type('getitemtypes')
1528
+ ], getitemtypes);
1529
+ Types.getitemtypes = getitemtypes;
1530
+ let getkindmeta = class getkindmeta extends Struct {
1531
+ };
1532
+ getkindmeta = __decorate([
1533
+ Struct.type('getkindmeta')
1534
+ ], getkindmeta);
1535
+ Types.getkindmeta = getkindmeta;
1536
+ let getlocation = class getlocation extends Struct {
1537
+ };
1538
+ __decorate([
1539
+ Struct.field(Int64)
1540
+ ], getlocation.prototype, "x", void 0);
1541
+ __decorate([
1542
+ Struct.field(Int64)
1543
+ ], getlocation.prototype, "y", void 0);
1544
+ getlocation = __decorate([
1545
+ Struct.type('getlocation')
1546
+ ], getlocation);
1547
+ Types.getlocation = getlocation;
1548
+ let getlocdata = class getlocdata extends Struct {
1549
+ };
1550
+ __decorate([
1551
+ Struct.field(Int64)
1552
+ ], getlocdata.prototype, "x", void 0);
1553
+ __decorate([
1554
+ Struct.field(Int64)
1555
+ ], getlocdata.prototype, "y", void 0);
1556
+ getlocdata = __decorate([
1557
+ Struct.type('getlocdata')
1558
+ ], getlocdata);
1559
+ Types.getlocdata = getlocdata;
1560
+ let getmodtypes = class getmodtypes extends Struct {
1561
+ };
1562
+ getmodtypes = __decorate([
1563
+ Struct.type('getmodtypes')
1564
+ ], getmodtypes);
1565
+ Types.getmodtypes = getmodtypes;
1566
+ let getmodules = class getmodules extends Struct {
1567
+ };
1568
+ getmodules = __decorate([
1569
+ Struct.type('getmodules')
1570
+ ], getmodules);
1571
+ Types.getmodules = getmodules;
1572
+ let getnearby = class getnearby extends Struct {
1573
+ };
1574
+ __decorate([
1575
+ Struct.field(UInt64)
1576
+ ], getnearby.prototype, "entity_id", void 0);
1577
+ __decorate([
1578
+ Struct.field('bool')
1579
+ ], getnearby.prototype, "recharge", void 0);
1580
+ getnearby = __decorate([
1581
+ Struct.type('getnearby')
1582
+ ], getnearby);
1583
+ Types.getnearby = getnearby;
1584
+ let getnftbase = class getnftbase extends Struct {
1585
+ };
1586
+ getnftbase = __decorate([
1587
+ Struct.type('getnftbase')
1588
+ ], getnftbase);
1589
+ Types.getnftbase = getnftbase;
1590
+ let getnftinfo = class getnftinfo extends Struct {
1591
+ };
1592
+ getnftinfo = __decorate([
1593
+ Struct.type('getnftinfo')
1594
+ ], getnftinfo);
1595
+ Types.getnftinfo = getnftinfo;
1596
+ let getplayer = class getplayer extends Struct {
1597
+ };
1598
+ __decorate([
1599
+ Struct.field(Name)
1600
+ ], getplayer.prototype, "account", void 0);
1601
+ getplayer = __decorate([
1602
+ Struct.type('getplayer')
1603
+ ], getplayer);
1604
+ Types.getplayer = getplayer;
1605
+ let getprojstate = class getprojstate extends Struct {
1606
+ };
1607
+ __decorate([
1608
+ Struct.field(UInt64)
1609
+ ], getprojstate.prototype, "entity_id", void 0);
1610
+ __decorate([
1611
+ Struct.field(UInt8, { optional: true })
1612
+ ], getprojstate.prototype, "task_count", void 0);
1613
+ getprojstate = __decorate([
1614
+ Struct.type('getprojstate')
1615
+ ], getprojstate);
1616
+ Types.getprojstate = getprojstate;
1617
+ let getrecipe = class getrecipe extends Struct {
1618
+ };
1619
+ __decorate([
1620
+ Struct.field(UInt16)
1621
+ ], getrecipe.prototype, "output_item_id", void 0);
1622
+ getrecipe = __decorate([
1623
+ Struct.type('getrecipe')
1624
+ ], getrecipe);
1625
+ Types.getrecipe = getrecipe;
1626
+ let getrecipes = class getrecipes extends Struct {
1627
+ };
1628
+ __decorate([
1629
+ Struct.field(UInt16)
1630
+ ], getrecipes.prototype, "lower_bound", void 0);
1631
+ __decorate([
1632
+ Struct.field(UInt8)
1633
+ ], getrecipes.prototype, "limit", void 0);
1634
+ getrecipes = __decorate([
1635
+ Struct.type('getrecipes')
1636
+ ], getrecipes);
1637
+ Types.getrecipes = getrecipes;
1638
+ let getrescats = class getrescats extends Struct {
1639
+ };
1640
+ getrescats = __decorate([
1641
+ Struct.type('getrescats')
1642
+ ], getrescats);
1643
+ Types.getrescats = getrescats;
1644
+ let getreserves = class getreserves extends Struct {
1645
+ };
1646
+ __decorate([
1647
+ Struct.field(Int64)
1648
+ ], getreserves.prototype, "x", void 0);
1649
+ __decorate([
1650
+ Struct.field(Int64)
1651
+ ], getreserves.prototype, "y", void 0);
1652
+ getreserves = __decorate([
1653
+ Struct.type('getreserves')
1654
+ ], getreserves);
1655
+ Types.getreserves = getreserves;
1656
+ let getresources = class getresources extends Struct {
1657
+ };
1658
+ getresources = __decorate([
1659
+ Struct.type('getresources')
1660
+ ], getresources);
1661
+ Types.getresources = getresources;
1662
+ let getslots = class getslots extends Struct {
1663
+ };
1664
+ getslots = __decorate([
1665
+ Struct.type('getslots')
1666
+ ], getslots);
1667
+ Types.getslots = getslots;
1668
+ let getstratum = class getstratum extends Struct {
1669
+ };
1670
+ __decorate([
1671
+ Struct.field(Int64)
1672
+ ], getstratum.prototype, "x", void 0);
1673
+ __decorate([
1674
+ Struct.field(Int64)
1675
+ ], getstratum.prototype, "y", void 0);
1676
+ __decorate([
1677
+ Struct.field(UInt16)
1678
+ ], getstratum.prototype, "stratum", void 0);
1679
+ getstratum = __decorate([
1680
+ Struct.type('getstratum')
1681
+ ], getstratum);
1682
+ Types.getstratum = getstratum;
1683
+ let getsummaries = class getsummaries extends Struct {
1684
+ };
1685
+ __decorate([
1686
+ Struct.field(Name)
1687
+ ], getsummaries.prototype, "owner", void 0);
1688
+ __decorate([
1689
+ Struct.field(Name, { optional: true })
1690
+ ], getsummaries.prototype, "entity_type", void 0);
1691
+ getsummaries = __decorate([
1692
+ Struct.type('getsummaries')
1693
+ ], getsummaries);
1694
+ Types.getsummaries = getsummaries;
1695
+ let getwormhole = class getwormhole extends Struct {
1696
+ };
1697
+ __decorate([
1698
+ Struct.field(Int64)
1699
+ ], getwormhole.prototype, "x", void 0);
1700
+ __decorate([
1701
+ Struct.field(Int64)
1702
+ ], getwormhole.prototype, "y", void 0);
1703
+ getwormhole = __decorate([
1704
+ Struct.type('getwormhole')
1705
+ ], getwormhole);
1706
+ Types.getwormhole = getwormhole;
1707
+ let grouptransit = class grouptransit extends Struct {
1708
+ };
1709
+ __decorate([
1710
+ Struct.field(entity_ref, { array: true })
1711
+ ], grouptransit.prototype, "entities", void 0);
1712
+ __decorate([
1713
+ Struct.field(Int64)
1714
+ ], grouptransit.prototype, "ax", void 0);
1715
+ __decorate([
1716
+ Struct.field(Int64)
1717
+ ], grouptransit.prototype, "ay", void 0);
1718
+ __decorate([
1719
+ Struct.field(Int64)
1720
+ ], grouptransit.prototype, "bx", void 0);
1721
+ __decorate([
1722
+ Struct.field(Int64)
1723
+ ], grouptransit.prototype, "by", void 0);
1724
+ grouptransit = __decorate([
1725
+ Struct.type('grouptransit')
1726
+ ], grouptransit);
1727
+ Types.grouptransit = grouptransit;
1728
+ let grouptravel = class grouptravel extends Struct {
1729
+ };
1730
+ __decorate([
1731
+ Struct.field(entity_ref, { array: true })
1732
+ ], grouptravel.prototype, "entities", void 0);
1733
+ __decorate([
1734
+ Struct.field(Int64)
1735
+ ], grouptravel.prototype, "x", void 0);
1736
+ __decorate([
1737
+ Struct.field(Int64)
1738
+ ], grouptravel.prototype, "y", void 0);
1739
+ __decorate([
1740
+ Struct.field('bool')
1741
+ ], grouptravel.prototype, "recharge", void 0);
1742
+ grouptravel = __decorate([
1743
+ Struct.type('grouptravel')
1744
+ ], grouptravel);
1745
+ Types.grouptravel = grouptravel;
1746
+ let hash = class hash extends Struct {
1747
+ };
1748
+ __decorate([
1749
+ Struct.field('string')
1750
+ ], hash.prototype, "value", void 0);
1751
+ hash = __decorate([
1752
+ Struct.type('hash')
1753
+ ], hash);
1754
+ Types.hash = hash;
1755
+ let hash512 = class hash512 extends Struct {
1756
+ };
1757
+ __decorate([
1758
+ Struct.field('string')
1759
+ ], hash512.prototype, "value", void 0);
1760
+ hash512 = __decorate([
1761
+ Struct.type('hash512')
1762
+ ], hash512);
1763
+ Types.hash512 = hash512;
1764
+ let importcargo = class importcargo extends Struct {
1765
+ };
1766
+ __decorate([
1767
+ Struct.field(cargo_row)
1768
+ ], importcargo.prototype, "row", void 0);
1769
+ importcargo = __decorate([
1770
+ Struct.type('importcargo')
1771
+ ], importcargo);
1772
+ Types.importcargo = importcargo;
1773
+ let importentity = class importentity extends Struct {
1774
+ };
1775
+ __decorate([
1776
+ Struct.field(entity_row)
1777
+ ], importentity.prototype, "row", void 0);
1778
+ importentity = __decorate([
1779
+ Struct.type('importentity')
1780
+ ], importentity);
1781
+ Types.importentity = importentity;
1782
+ let importgroup = class importgroup extends Struct {
1783
+ };
1784
+ __decorate([
1785
+ Struct.field(entitygroup_row)
1786
+ ], importgroup.prototype, "row", void 0);
1787
+ importgroup = __decorate([
1788
+ Struct.type('importgroup')
1789
+ ], importgroup);
1790
+ Types.importgroup = importgroup;
1791
+ let importplayer = class importplayer extends Struct {
1792
+ };
1793
+ __decorate([
1794
+ Struct.field(Name)
1795
+ ], importplayer.prototype, "owner", void 0);
1796
+ importplayer = __decorate([
1797
+ Struct.type('importplayer')
1798
+ ], importplayer);
1799
+ Types.importplayer = importplayer;
1800
+ let reserve_row = class reserve_row extends Struct {
1801
+ };
1802
+ __decorate([
1803
+ Struct.field(UInt64)
1804
+ ], reserve_row.prototype, "id", void 0);
1805
+ __decorate([
1806
+ Struct.field(UInt64)
1807
+ ], reserve_row.prototype, "coord_id", void 0);
1808
+ __decorate([
1809
+ Struct.field(UInt16)
1810
+ ], reserve_row.prototype, "stratum", void 0);
1811
+ __decorate([
1812
+ Struct.field(UInt32)
1813
+ ], reserve_row.prototype, "remaining", void 0);
1814
+ __decorate([
1815
+ Struct.field(BlockTimestamp)
1816
+ ], reserve_row.prototype, "last_block", void 0);
1817
+ reserve_row = __decorate([
1818
+ Struct.type('reserve_row')
1819
+ ], reserve_row);
1820
+ Types.reserve_row = reserve_row;
1821
+ let importreserve = class importreserve extends Struct {
1822
+ };
1823
+ __decorate([
1824
+ Struct.field(UInt32)
1825
+ ], importreserve.prototype, "epoch_scope", void 0);
1826
+ __decorate([
1827
+ Struct.field(reserve_row)
1828
+ ], importreserve.prototype, "row", void 0);
1829
+ importreserve = __decorate([
1830
+ Struct.type('importreserve')
1831
+ ], importreserve);
1832
+ Types.importreserve = importreserve;
1833
+ let state_row = class state_row extends Struct {
1834
+ };
1835
+ __decorate([
1836
+ Struct.field('bool')
1837
+ ], state_row.prototype, "enabled", void 0);
1838
+ __decorate([
1839
+ Struct.field(UInt32)
1840
+ ], state_row.prototype, "epoch", void 0);
1841
+ __decorate([
1842
+ Struct.field(Checksum256)
1843
+ ], state_row.prototype, "seed", void 0);
1844
+ state_row = __decorate([
1845
+ Struct.type('state_row')
1846
+ ], state_row);
1847
+ Types.state_row = state_row;
1848
+ let importstate = class importstate extends Struct {
1849
+ };
1850
+ __decorate([
1851
+ Struct.field(state_row)
1852
+ ], importstate.prototype, "row", void 0);
1853
+ importstate = __decorate([
1854
+ Struct.type('importstate')
1855
+ ], importstate);
1856
+ Types.importstate = importstate;
1857
+ let item_id_pair = class item_id_pair extends Struct {
1858
+ };
1859
+ __decorate([
1860
+ Struct.field(UInt16)
1861
+ ], item_id_pair.prototype, "id", void 0);
1862
+ __decorate([
1863
+ Struct.field('string')
1864
+ ], item_id_pair.prototype, "name", void 0);
1865
+ item_id_pair = __decorate([
1866
+ Struct.type('item_id_pair')
1867
+ ], item_id_pair);
1868
+ Types.item_id_pair = item_id_pair;
1869
+ let item_ids_result = class item_ids_result extends Struct {
1870
+ };
1871
+ __decorate([
1872
+ Struct.field(item_id_pair, { array: true })
1873
+ ], item_ids_result.prototype, "items", void 0);
1874
+ item_ids_result = __decorate([
1875
+ Struct.type('item_ids_result')
1876
+ ], item_ids_result);
1877
+ Types.item_ids_result = item_ids_result;
1878
+ let recipe_input = class recipe_input extends Struct {
1879
+ };
1880
+ __decorate([
1881
+ Struct.field(UInt16)
1882
+ ], recipe_input.prototype, "item_id", void 0);
1883
+ __decorate([
1884
+ Struct.field(UInt32)
1885
+ ], recipe_input.prototype, "quantity", void 0);
1886
+ recipe_input = __decorate([
1887
+ Struct.type('recipe_input')
1888
+ ], recipe_input);
1889
+ Types.recipe_input = recipe_input;
1890
+ let stat_source = class stat_source extends Struct {
1891
+ };
1892
+ __decorate([
1893
+ Struct.field(UInt8)
1894
+ ], stat_source.prototype, "input_index", void 0);
1895
+ __decorate([
1896
+ Struct.field(UInt8)
1897
+ ], stat_source.prototype, "input_stat_index", void 0);
1898
+ stat_source = __decorate([
1899
+ Struct.type('stat_source')
1900
+ ], stat_source);
1901
+ Types.stat_source = stat_source;
1902
+ let stat_slot_response = class stat_slot_response extends Struct {
1903
+ };
1904
+ __decorate([
1905
+ Struct.field(stat_source, { array: true })
1906
+ ], stat_slot_response.prototype, "sources", void 0);
1907
+ stat_slot_response = __decorate([
1908
+ Struct.type('stat_slot_response')
1909
+ ], stat_slot_response);
1910
+ Types.stat_slot_response = stat_slot_response;
1911
+ let recipe_item_info = class recipe_item_info extends Struct {
1912
+ };
1913
+ __decorate([
1914
+ Struct.field(UInt16)
1915
+ ], recipe_item_info.prototype, "id", void 0);
1916
+ __decorate([
1917
+ Struct.field(UInt32)
1918
+ ], recipe_item_info.prototype, "mass", void 0);
1919
+ recipe_item_info = __decorate([
1920
+ Struct.type('recipe_item_info')
1921
+ ], recipe_item_info);
1922
+ Types.recipe_item_info = recipe_item_info;
1923
+ let recipe_response = class recipe_response extends Struct {
1924
+ };
1925
+ __decorate([
1926
+ Struct.field(UInt16)
1927
+ ], recipe_response.prototype, "output_item_id", void 0);
1928
+ __decorate([
1929
+ Struct.field(UInt32)
1930
+ ], recipe_response.prototype, "output_mass", void 0);
1931
+ __decorate([
1932
+ Struct.field(recipe_input, { array: true })
1933
+ ], recipe_response.prototype, "inputs", void 0);
1934
+ __decorate([
1935
+ Struct.field(stat_slot_response, { array: true })
1936
+ ], recipe_response.prototype, "stat_slots", void 0);
1937
+ __decorate([
1938
+ Struct.field(Bytes)
1939
+ ], recipe_response.prototype, "blend_weights", void 0);
1940
+ __decorate([
1941
+ Struct.field(recipe_item_info)
1942
+ ], recipe_response.prototype, "output_item", void 0);
1943
+ __decorate([
1944
+ Struct.field(recipe_item_info, { array: true })
1945
+ ], recipe_response.prototype, "input_items", void 0);
1946
+ recipe_response = __decorate([
1947
+ Struct.type('recipe_response')
1948
+ ], recipe_response);
1949
+ Types.recipe_response = recipe_response;
1950
+ let recipes_result = class recipes_result extends Struct {
1951
+ };
1952
+ __decorate([
1953
+ Struct.field(recipe_response, { array: true })
1954
+ ], recipes_result.prototype, "recipes", void 0);
1955
+ recipes_result = __decorate([
1956
+ Struct.type('recipes_result')
1957
+ ], recipes_result);
1958
+ Types.recipes_result = recipes_result;
1959
+ let itemdata_result = class itemdata_result extends Struct {
1960
+ };
1961
+ __decorate([
1962
+ Struct.field(item_def, { array: true })
1963
+ ], itemdata_result.prototype, "items", void 0);
1964
+ __decorate([
1965
+ Struct.field(recipes_result)
1966
+ ], itemdata_result.prototype, "recipes", void 0);
1967
+ itemdata_result = __decorate([
1968
+ Struct.type('itemdata_result')
1969
+ ], itemdata_result);
1970
+ Types.itemdata_result = itemdata_result;
1971
+ let items_info = class items_info extends Struct {
1972
+ };
1973
+ __decorate([
1974
+ Struct.field(item_def, { array: true })
1975
+ ], items_info.prototype, "items", void 0);
1976
+ items_info = __decorate([
1977
+ Struct.type('items_info')
1978
+ ], items_info);
1979
+ Types.items_info = items_info;
1980
+ let join = class join extends Struct {
1981
+ };
1982
+ __decorate([
1983
+ Struct.field(Name)
1984
+ ], join.prototype, "account", void 0);
1985
+ join = __decorate([
1986
+ Struct.type('join')
1987
+ ], join);
1988
+ Types.join = join;
1989
+ let kind_meta_row = class kind_meta_row extends Struct {
1990
+ };
1991
+ __decorate([
1992
+ Struct.field(Name)
1993
+ ], kind_meta_row.prototype, "kind", void 0);
1994
+ __decorate([
1995
+ Struct.field(UInt8)
1996
+ ], kind_meta_row.prototype, "classification", void 0);
1997
+ __decorate([
1998
+ Struct.field(UInt8)
1999
+ ], kind_meta_row.prototype, "capability_flags", void 0);
2000
+ __decorate([
2001
+ Struct.field(UInt32)
2002
+ ], kind_meta_row.prototype, "z_coord", void 0);
2003
+ __decorate([
2004
+ Struct.field('string')
2005
+ ], kind_meta_row.prototype, "default_label", void 0);
2006
+ kind_meta_row = __decorate([
2007
+ Struct.type('kind_meta_row')
2008
+ ], kind_meta_row);
2009
+ Types.kind_meta_row = kind_meta_row;
2010
+ let template_meta_row = class template_meta_row extends Struct {
2011
+ };
2012
+ __decorate([
2013
+ Struct.field(UInt16)
2014
+ ], template_meta_row.prototype, "item_id", void 0);
2015
+ __decorate([
2016
+ Struct.field(Name)
2017
+ ], template_meta_row.prototype, "kind", void 0);
2018
+ __decorate([
2019
+ Struct.field('string')
2020
+ ], template_meta_row.prototype, "display_label", void 0);
2021
+ template_meta_row = __decorate([
2022
+ Struct.type('template_meta_row')
2023
+ ], template_meta_row);
2024
+ Types.template_meta_row = template_meta_row;
2025
+ let kind_meta_result = class kind_meta_result extends Struct {
2026
+ };
2027
+ __decorate([
2028
+ Struct.field(kind_meta_row, { array: true })
2029
+ ], kind_meta_result.prototype, "kinds", void 0);
2030
+ __decorate([
2031
+ Struct.field(template_meta_row, { array: true })
2032
+ ], kind_meta_result.prototype, "templates", void 0);
2033
+ kind_meta_result = __decorate([
2034
+ Struct.type('kind_meta_result')
2035
+ ], kind_meta_result);
2036
+ Types.kind_meta_result = kind_meta_result;
2037
+ let launch = class launch extends Struct {
2038
+ };
2039
+ __decorate([
2040
+ Struct.field(UInt64)
2041
+ ], launch.prototype, "launcher_id", void 0);
2042
+ __decorate([
2043
+ Struct.field(UInt64)
2044
+ ], launch.prototype, "catcher_id", void 0);
2045
+ __decorate([
2046
+ Struct.field(cargo_item, { array: true })
2047
+ ], launch.prototype, "items", void 0);
2048
+ launch = __decorate([
2049
+ Struct.type('launch')
2050
+ ], launch);
2051
+ Types.launch = launch;
2052
+ let load = class load extends Struct {
2053
+ };
2054
+ __decorate([
2055
+ Struct.field(UInt64)
2056
+ ], load.prototype, "id", void 0);
2057
+ __decorate([
2058
+ Struct.field(UInt64)
2059
+ ], load.prototype, "from_id", void 0);
2060
+ __decorate([
2061
+ Struct.field(cargo_item, { array: true })
2062
+ ], load.prototype, "items", void 0);
2063
+ load = __decorate([
2064
+ Struct.type('load')
2065
+ ], load);
2066
+ Types.load = load;
2067
+ let location_static = class location_static extends Struct {
2068
+ };
2069
+ __decorate([
2070
+ Struct.field(coordinates)
2071
+ ], location_static.prototype, "coords", void 0);
2072
+ __decorate([
2073
+ Struct.field(UInt8)
2074
+ ], location_static.prototype, "type", void 0);
2075
+ __decorate([
2076
+ Struct.field(UInt8)
2077
+ ], location_static.prototype, "subtype", void 0);
2078
+ __decorate([
2079
+ Struct.field(UInt8)
2080
+ ], location_static.prototype, "seed0", void 0);
2081
+ __decorate([
2082
+ Struct.field(UInt8)
2083
+ ], location_static.prototype, "seed1", void 0);
2084
+ location_static = __decorate([
2085
+ Struct.type('location_static')
2086
+ ], location_static);
2087
+ Types.location_static = location_static;
2088
+ let location_derived = class location_derived extends Struct {
2089
+ };
2090
+ __decorate([
2091
+ Struct.field(location_static)
2092
+ ], location_derived.prototype, "static_props", void 0);
2093
+ __decorate([
2094
+ Struct.field(UInt16)
2095
+ ], location_derived.prototype, "size", void 0);
2096
+ location_derived = __decorate([
2097
+ Struct.type('location_derived')
2098
+ ], location_derived);
2099
+ Types.location_derived = location_derived;
2100
+ let location_info = class location_info extends Struct {
2101
+ };
2102
+ __decorate([
2103
+ Struct.field(coordinates)
2104
+ ], location_info.prototype, "coords", void 0);
2105
+ __decorate([
2106
+ Struct.field('bool')
2107
+ ], location_info.prototype, "is_system", void 0);
2108
+ __decorate([
2109
+ Struct.field('bool')
2110
+ ], location_info.prototype, "is_wormhole", void 0);
2111
+ location_info = __decorate([
2112
+ Struct.type('location_info')
2113
+ ], location_info);
2114
+ Types.location_info = location_info;
2115
+ let module_info = class module_info extends Struct {
2116
+ };
2117
+ __decorate([
2118
+ Struct.field(UInt16)
2119
+ ], module_info.prototype, "id", void 0);
2120
+ __decorate([
2121
+ Struct.field(UInt32)
2122
+ ], module_info.prototype, "mass", void 0);
2123
+ __decorate([
2124
+ Struct.field(UInt8)
2125
+ ], module_info.prototype, "module_type", void 0);
2126
+ __decorate([
2127
+ Struct.field(UInt8)
2128
+ ], module_info.prototype, "tier", void 0);
2129
+ module_info = __decorate([
2130
+ Struct.type('module_info')
2131
+ ], module_info);
2132
+ Types.module_info = module_info;
2133
+ let modules_result = class modules_result extends Struct {
2134
+ };
2135
+ __decorate([
2136
+ Struct.field(module_info, { array: true })
2137
+ ], modules_result.prototype, "modules", void 0);
2138
+ modules_result = __decorate([
2139
+ Struct.type('modules_result')
2140
+ ], modules_result);
2141
+ Types.modules_result = modules_result;
2142
+ let nearby_system = class nearby_system extends Struct {
2143
+ };
2144
+ __decorate([
2145
+ Struct.field(UInt64)
2146
+ ], nearby_system.prototype, "distance", void 0);
2147
+ __decorate([
2148
+ Struct.field(UInt64)
2149
+ ], nearby_system.prototype, "energy_cost", void 0);
2150
+ __decorate([
2151
+ Struct.field(UInt32)
2152
+ ], nearby_system.prototype, "flight_time", void 0);
2153
+ __decorate([
2154
+ Struct.field(location_info)
2155
+ ], nearby_system.prototype, "location", void 0);
2156
+ nearby_system = __decorate([
2157
+ Struct.type('nearby_system')
2158
+ ], nearby_system);
2159
+ Types.nearby_system = nearby_system;
2160
+ let nearby_info = class nearby_info extends Struct {
2161
+ };
2162
+ __decorate([
2163
+ Struct.field('bool')
2164
+ ], nearby_info.prototype, "can_travel", void 0);
2165
+ __decorate([
2166
+ Struct.field(entity_current_state)
2167
+ ], nearby_info.prototype, "current", void 0);
2168
+ __decorate([
2169
+ Struct.field(entity_current_state)
2170
+ ], nearby_info.prototype, "projected", void 0);
2171
+ __decorate([
2172
+ Struct.field(UInt32)
2173
+ ], nearby_info.prototype, "max_energy", void 0);
2174
+ __decorate([
2175
+ Struct.field(nearby_system, { array: true })
2176
+ ], nearby_info.prototype, "systems", void 0);
2177
+ nearby_info = __decorate([
2178
+ Struct.type('nearby_info')
2179
+ ], nearby_info);
2180
+ Types.nearby_info = nearby_info;
2181
+ let nft_cargo_item = class nft_cargo_item extends Struct {
2182
+ };
2183
+ __decorate([
2184
+ Struct.field(UInt16)
2185
+ ], nft_cargo_item.prototype, "item_id", void 0);
2186
+ __decorate([
2187
+ Struct.field(UInt64)
2188
+ ], nft_cargo_item.prototype, "stats", void 0);
2189
+ __decorate([
2190
+ Struct.field(module_entry, { array: true })
2191
+ ], nft_cargo_item.prototype, "modules", void 0);
2192
+ __decorate([
2193
+ Struct.field(UInt32)
2194
+ ], nft_cargo_item.prototype, "quantity", void 0);
2195
+ nft_cargo_item = __decorate([
2196
+ Struct.type('nft_cargo_item')
2197
+ ], nft_cargo_item);
2198
+ Types.nft_cargo_item = nft_cargo_item;
2199
+ let nft_item_payload = class nft_item_payload extends Struct {
2200
+ };
2201
+ __decorate([
2202
+ Struct.field(nft_cargo_item)
2203
+ ], nft_item_payload.prototype, "item", void 0);
2204
+ __decorate([
2205
+ Struct.field(coordinates, { optional: true })
2206
+ ], nft_item_payload.prototype, "location", void 0);
2207
+ nft_item_payload = __decorate([
2208
+ Struct.type('nft_item_payload')
2209
+ ], nft_item_payload);
2210
+ Types.nft_item_payload = nft_item_payload;
2211
+ let schema_field = class schema_field extends Struct {
2212
+ };
2213
+ __decorate([
2214
+ Struct.field('string')
2215
+ ], schema_field.prototype, "name", void 0);
2216
+ __decorate([
2217
+ Struct.field('string')
2218
+ ], schema_field.prototype, "field_type", void 0);
2219
+ schema_field = __decorate([
2220
+ Struct.type('schema_field')
2221
+ ], schema_field);
2222
+ Types.schema_field = schema_field;
2223
+ let nft_schema_def = class nft_schema_def extends Struct {
2224
+ };
2225
+ __decorate([
2226
+ Struct.field(Name)
2227
+ ], nft_schema_def.prototype, "schema_name", void 0);
2228
+ __decorate([
2229
+ Struct.field(schema_field, { array: true })
2230
+ ], nft_schema_def.prototype, "fields", void 0);
2231
+ nft_schema_def = __decorate([
2232
+ Struct.type('nft_schema_def')
2233
+ ], nft_schema_def);
2234
+ Types.nft_schema_def = nft_schema_def;
2235
+ let nft_template_def = class nft_template_def extends Struct {
2236
+ };
2237
+ __decorate([
2238
+ Struct.field(UInt16)
2239
+ ], nft_template_def.prototype, "item_id", void 0);
2240
+ __decorate([
2241
+ Struct.field(Name)
2242
+ ], nft_template_def.prototype, "schema_name", void 0);
2243
+ __decorate([
2244
+ Struct.field(Int32)
2245
+ ], nft_template_def.prototype, "template_id", void 0);
2246
+ nft_template_def = __decorate([
2247
+ Struct.type('nft_template_def')
2248
+ ], nft_template_def);
2249
+ Types.nft_template_def = nft_template_def;
2250
+ let nftconfig_row = class nftconfig_row extends Struct {
2251
+ };
2252
+ __decorate([
2253
+ Struct.field(UInt16)
2254
+ ], nftconfig_row.prototype, "item_id", void 0);
2255
+ __decorate([
2256
+ Struct.field(Int32)
2257
+ ], nftconfig_row.prototype, "template_id", void 0);
2258
+ __decorate([
2259
+ Struct.field(Name)
2260
+ ], nftconfig_row.prototype, "schema_name", void 0);
2261
+ nftconfig_row = __decorate([
2262
+ Struct.type('nftconfig_row')
2263
+ ], nftconfig_row);
2264
+ Types.nftconfig_row = nftconfig_row;
2265
+ let nftimgurl = class nftimgurl extends Struct {
2266
+ };
2267
+ __decorate([
2268
+ Struct.field(cargo_item)
2269
+ ], nftimgurl.prototype, "item", void 0);
2270
+ __decorate([
2271
+ Struct.field(coordinates, { optional: true })
2272
+ ], nftimgurl.prototype, "location", void 0);
2273
+ nftimgurl = __decorate([
2274
+ Struct.type('nftimgurl')
2275
+ ], nftimgurl);
2276
+ Types.nftimgurl = nftimgurl;
2277
+ let nftinfo_result = class nftinfo_result extends Struct {
2278
+ };
2279
+ __decorate([
2280
+ Struct.field(nft_schema_def, { array: true })
2281
+ ], nftinfo_result.prototype, "schemas", void 0);
2282
+ __decorate([
2283
+ Struct.field(nft_template_def, { array: true })
2284
+ ], nftinfo_result.prototype, "templates", void 0);
2285
+ nftinfo_result = __decorate([
2286
+ Struct.type('nftinfo_result')
2287
+ ], nftinfo_result);
2288
+ Types.nftinfo_result = nftinfo_result;
2289
+ let task_event = class task_event extends Struct {
2290
+ };
2291
+ __decorate([
2292
+ Struct.field(UInt8)
2293
+ ], task_event.prototype, "event_type", void 0);
2294
+ __decorate([
2295
+ Struct.field(Name)
2296
+ ], task_event.prototype, "owner", void 0);
2297
+ __decorate([
2298
+ Struct.field(Name)
2299
+ ], task_event.prototype, "entity_type", void 0);
2300
+ __decorate([
2301
+ Struct.field(UInt64)
2302
+ ], task_event.prototype, "entity_id", void 0);
2303
+ __decorate([
2304
+ Struct.field(UInt8)
2305
+ ], task_event.prototype, "task_index", void 0);
2306
+ __decorate([
2307
+ Struct.field(task)
2308
+ ], task_event.prototype, "task", void 0);
2309
+ __decorate([
2310
+ Struct.field(TimePoint)
2311
+ ], task_event.prototype, "starts_at", void 0);
2312
+ __decorate([
2313
+ Struct.field(TimePoint)
2314
+ ], task_event.prototype, "completes_at", void 0);
2315
+ __decorate([
2316
+ Struct.field(UInt32, { optional: true })
2317
+ ], task_event.prototype, "new_energy", void 0);
2318
+ __decorate([
2319
+ Struct.field(UInt8)
2320
+ ], task_event.prototype, "lane_key", void 0);
2321
+ task_event = __decorate([
2322
+ Struct.type('task_event')
2323
+ ], task_event);
2324
+ Types.task_event = task_event;
2325
+ let notify = class notify extends Struct {
2326
+ };
2327
+ __decorate([
2328
+ Struct.field(task_event)
2329
+ ], notify.prototype, "event", void 0);
2330
+ notify = __decorate([
2331
+ Struct.type('notify')
2332
+ ], notify);
2333
+ Types.notify = notify;
2334
+ let oracle_config_row = class oracle_config_row extends Struct {
2335
+ };
2336
+ __decorate([
2337
+ Struct.field(UInt8)
2338
+ ], oracle_config_row.prototype, "threshold", void 0);
2339
+ oracle_config_row = __decorate([
2340
+ Struct.type('oracle_config_row')
2341
+ ], oracle_config_row);
2342
+ Types.oracle_config_row = oracle_config_row;
2343
+ let oracle_row = class oracle_row extends Struct {
2344
+ };
2345
+ __decorate([
2346
+ Struct.field(Name)
2347
+ ], oracle_row.prototype, "id", void 0);
2348
+ oracle_row = __decorate([
2349
+ Struct.type('oracle_row')
2350
+ ], oracle_row);
2351
+ Types.oracle_row = oracle_row;
2352
+ let placecargo = class placecargo extends Struct {
2353
+ };
2354
+ __decorate([
2355
+ Struct.field(Name)
2356
+ ], placecargo.prototype, "owner", void 0);
2357
+ __decorate([
2358
+ Struct.field(UInt64)
2359
+ ], placecargo.prototype, "host_id", void 0);
2360
+ __decorate([
2361
+ Struct.field(UInt64)
2362
+ ], placecargo.prototype, "asset_id", void 0);
2363
+ placecargo = __decorate([
2364
+ Struct.type('placecargo')
2365
+ ], placecargo);
2366
+ Types.placecargo = placecargo;
2367
+ let placeentity = class placeentity extends Struct {
2368
+ };
2369
+ __decorate([
2370
+ Struct.field(Name)
2371
+ ], placeentity.prototype, "owner", void 0);
2372
+ __decorate([
2373
+ Struct.field(UInt64)
2374
+ ], placeentity.prototype, "asset_id", void 0);
2375
+ __decorate([
2376
+ Struct.field(UInt64)
2377
+ ], placeentity.prototype, "target_nexus_id", void 0);
2378
+ placeentity = __decorate([
2379
+ Struct.type('placeentity')
2380
+ ], placeentity);
2381
+ Types.placeentity = placeentity;
2382
+ let player_info = class player_info extends Struct {
2383
+ };
2384
+ __decorate([
2385
+ Struct.field(Name)
2386
+ ], player_info.prototype, "owner", void 0);
2387
+ __decorate([
2388
+ Struct.field('bool')
2389
+ ], player_info.prototype, "is_player", void 0);
2390
+ __decorate([
2391
+ Struct.field('string')
2392
+ ], player_info.prototype, "company_name", void 0);
2393
+ player_info = __decorate([
2394
+ Struct.type('player_info')
2395
+ ], player_info);
2396
+ Types.player_info = player_info;
2397
+ let player_row = class player_row extends Struct {
2398
+ };
2399
+ __decorate([
2400
+ Struct.field(Name)
2401
+ ], player_row.prototype, "owner", void 0);
2402
+ player_row = __decorate([
2403
+ Struct.type('player_row')
2404
+ ], player_row);
2405
+ Types.player_row = player_row;
2406
+ let projected_state = class projected_state extends Struct {
2407
+ };
2408
+ __decorate([
2409
+ Struct.field(Name)
2410
+ ], projected_state.prototype, "owner", void 0);
2411
+ __decorate([
2412
+ Struct.field(coordinates)
2413
+ ], projected_state.prototype, "coordinates", void 0);
2414
+ __decorate([
2415
+ Struct.field(UInt32, { optional: true })
2416
+ ], projected_state.prototype, "energy", void 0);
2417
+ __decorate([
2418
+ Struct.field(UInt32)
2419
+ ], projected_state.prototype, "cargomass", void 0);
2420
+ __decorate([
2421
+ Struct.field(cargo_view, { array: true })
2422
+ ], projected_state.prototype, "cargo", void 0);
2423
+ __decorate([
2424
+ Struct.field(UInt32, { optional: true })
2425
+ ], projected_state.prototype, "hullmass", void 0);
2426
+ __decorate([
2427
+ Struct.field(UInt32, { optional: true })
2428
+ ], projected_state.prototype, "capacity", void 0);
2429
+ __decorate([
2430
+ Struct.field(movement_stats, { optional: true })
2431
+ ], projected_state.prototype, "engines", void 0);
2432
+ __decorate([
2433
+ Struct.field(warp_stats, { optional: true })
2434
+ ], projected_state.prototype, "warp", void 0);
2435
+ __decorate([
2436
+ Struct.field(energy_stats, { optional: true })
2437
+ ], projected_state.prototype, "generator", void 0);
2438
+ __decorate([
2439
+ Struct.field(hauler_stats, { optional: true })
2440
+ ], projected_state.prototype, "hauler", void 0);
2441
+ __decorate([
2442
+ Struct.field(gatherer_lane, { array: true })
2443
+ ], projected_state.prototype, "gatherer_lanes", void 0);
2444
+ __decorate([
2445
+ Struct.field(crafter_lane, { array: true })
2446
+ ], projected_state.prototype, "crafter_lanes", void 0);
2447
+ __decorate([
2448
+ Struct.field(loader_lane, { array: true })
2449
+ ], projected_state.prototype, "loader_lanes", void 0);
2450
+ __decorate([
2451
+ Struct.field(launcher_stats, { optional: true })
2452
+ ], projected_state.prototype, "launcher", void 0);
2453
+ projected_state = __decorate([
2454
+ Struct.type('projected_state')
2455
+ ], projected_state);
2456
+ Types.projected_state = projected_state;
2457
+ let recharge = class recharge extends Struct {
2458
+ };
2459
+ __decorate([
2460
+ Struct.field(UInt64)
2461
+ ], recharge.prototype, "id", void 0);
2462
+ recharge = __decorate([
2463
+ Struct.type('recharge')
2464
+ ], recharge);
2465
+ Types.recharge = recharge;
2466
+ let refrshentity = class refrshentity extends Struct {
2467
+ };
2468
+ __decorate([
2469
+ Struct.field(UInt64)
2470
+ ], refrshentity.prototype, "entity_id", void 0);
2471
+ refrshentity = __decorate([
2472
+ Struct.type('refrshentity')
2473
+ ], refrshentity);
2474
+ Types.refrshentity = refrshentity;
2475
+ let removeoracle = class removeoracle extends Struct {
2476
+ };
2477
+ __decorate([
2478
+ Struct.field(Name)
2479
+ ], removeoracle.prototype, "oracle_id", void 0);
2480
+ removeoracle = __decorate([
2481
+ Struct.type('removeoracle')
2482
+ ], removeoracle);
2483
+ Types.removeoracle = removeoracle;
2484
+ let rename = class rename extends Struct {
2485
+ };
2486
+ __decorate([
2487
+ Struct.field(UInt64)
2488
+ ], rename.prototype, "id", void 0);
2489
+ __decorate([
2490
+ Struct.field('string')
2491
+ ], rename.prototype, "name", void 0);
2492
+ rename = __decorate([
2493
+ Struct.type('rename')
2494
+ ], rename);
2495
+ Types.rename = rename;
2496
+ let resolve = class resolve extends Struct {
2497
+ };
2498
+ __decorate([
2499
+ Struct.field(UInt64)
2500
+ ], resolve.prototype, "id", void 0);
2501
+ __decorate([
2502
+ Struct.field(UInt64, { optional: true })
2503
+ ], resolve.prototype, "count", void 0);
2504
+ resolve = __decorate([
2505
+ Struct.type('resolve')
2506
+ ], resolve);
2507
+ Types.resolve = resolve;
2508
+ let resolve_results = class resolve_results extends Struct {
2509
+ };
2510
+ __decorate([
2511
+ Struct.field(UInt64)
2512
+ ], resolve_results.prototype, "entity_id", void 0);
2513
+ __decorate([
2514
+ Struct.field(Name)
2515
+ ], resolve_results.prototype, "entity_type", void 0);
2516
+ __decorate([
2517
+ Struct.field(UInt8)
2518
+ ], resolve_results.prototype, "resolved_count", void 0);
2519
+ __decorate([
2520
+ Struct.field(TimePoint, { optional: true })
2521
+ ], resolve_results.prototype, "new_schedule_started", void 0);
2522
+ __decorate([
2523
+ Struct.field(UInt64, { optional: true })
2524
+ ], resolve_results.prototype, "entitygroup", void 0);
2525
+ __decorate([
2526
+ Struct.field(entity_ref, { array: true, optional: true })
2527
+ ], resolve_results.prototype, "group_members", void 0);
2528
+ resolve_results = __decorate([
2529
+ Struct.type('resolve_results')
2530
+ ], resolve_results);
2531
+ Types.resolve_results = resolve_results;
2532
+ let resolveall = class resolveall extends Struct {
2533
+ };
2534
+ __decorate([
2535
+ Struct.field(Name)
2536
+ ], resolveall.prototype, "owner", void 0);
2537
+ resolveall = __decorate([
2538
+ Struct.type('resolveall')
2539
+ ], resolveall);
2540
+ Types.resolveall = resolveall;
2541
+ let resolveall_results = class resolveall_results extends Struct {
2542
+ };
2543
+ __decorate([
2544
+ Struct.field(UInt32)
2545
+ ], resolveall_results.prototype, "scanned", void 0);
2546
+ __decorate([
2547
+ Struct.field(UInt32)
2548
+ ], resolveall_results.prototype, "resolved", void 0);
2549
+ resolveall_results = __decorate([
2550
+ Struct.type('resolveall_results')
2551
+ ], resolveall_results);
2552
+ Types.resolveall_results = resolveall_results;
2553
+ let resource_info = class resource_info extends Struct {
2554
+ };
2555
+ __decorate([
2556
+ Struct.field(UInt16)
2557
+ ], resource_info.prototype, "id", void 0);
2558
+ __decorate([
2559
+ Struct.field(UInt32)
2560
+ ], resource_info.prototype, "mass", void 0);
2561
+ __decorate([
2562
+ Struct.field(UInt8)
2563
+ ], resource_info.prototype, "category", void 0);
2564
+ __decorate([
2565
+ Struct.field(UInt8)
2566
+ ], resource_info.prototype, "tier", void 0);
2567
+ resource_info = __decorate([
2568
+ Struct.type('resource_info')
2569
+ ], resource_info);
2570
+ Types.resource_info = resource_info;
2571
+ let resource_stats = class resource_stats extends Struct {
2572
+ };
2573
+ __decorate([
2574
+ Struct.field(UInt16)
2575
+ ], resource_stats.prototype, "stat1", void 0);
2576
+ __decorate([
2577
+ Struct.field(UInt16)
2578
+ ], resource_stats.prototype, "stat2", void 0);
2579
+ __decorate([
2580
+ Struct.field(UInt16)
2581
+ ], resource_stats.prototype, "stat3", void 0);
2582
+ resource_stats = __decorate([
2583
+ Struct.type('resource_stats')
2584
+ ], resource_stats);
2585
+ Types.resource_stats = resource_stats;
2586
+ let resources_result = class resources_result extends Struct {
2587
+ };
2588
+ __decorate([
2589
+ Struct.field(resource_info, { array: true })
2590
+ ], resources_result.prototype, "resources", void 0);
2591
+ resources_result = __decorate([
2592
+ Struct.type('resources_result')
2593
+ ], resources_result);
2594
+ Types.resources_result = resources_result;
2595
+ let reveal = class reveal extends Struct {
2596
+ };
2597
+ __decorate([
2598
+ Struct.field(Name)
2599
+ ], reveal.prototype, "oracle_id", void 0);
2600
+ __decorate([
2601
+ Struct.field(UInt64)
2602
+ ], reveal.prototype, "epoch", void 0);
2603
+ __decorate([
2604
+ Struct.field(Checksum256)
2605
+ ], reveal.prototype, "reveal", void 0);
2606
+ reveal = __decorate([
2607
+ Struct.type('reveal')
2608
+ ], reveal);
2609
+ Types.reveal = reveal;
2610
+ let reveal_row = class reveal_row extends Struct {
2611
+ };
2612
+ __decorate([
2613
+ Struct.field(UInt64)
2614
+ ], reveal_row.prototype, "id", void 0);
2615
+ __decorate([
2616
+ Struct.field(UInt64)
2617
+ ], reveal_row.prototype, "epoch", void 0);
2618
+ __decorate([
2619
+ Struct.field(Name)
2620
+ ], reveal_row.prototype, "oracle_id", void 0);
2621
+ __decorate([
2622
+ Struct.field(Checksum256)
2623
+ ], reveal_row.prototype, "reveal", void 0);
2624
+ reveal_row = __decorate([
2625
+ Struct.type('reveal_row')
2626
+ ], reveal_row);
2627
+ Types.reveal_row = reveal_row;
2628
+ let rmmodule = class rmmodule extends Struct {
2629
+ };
2630
+ __decorate([
2631
+ Struct.field(UInt64)
2632
+ ], rmmodule.prototype, "entity_id", void 0);
2633
+ __decorate([
2634
+ Struct.field(UInt8)
2635
+ ], rmmodule.prototype, "module_index", void 0);
2636
+ __decorate([
2637
+ Struct.field(cargo_ref, { optional: true })
2638
+ ], rmmodule.prototype, "target_ref", void 0);
2639
+ rmmodule = __decorate([
2640
+ Struct.type('rmmodule')
2641
+ ], rmmodule);
2642
+ Types.rmmodule = rmmodule;
2643
+ let rmnftcfg = class rmnftcfg extends Struct {
2644
+ };
2645
+ __decorate([
2646
+ Struct.field(UInt16)
2647
+ ], rmnftcfg.prototype, "item_id", void 0);
2648
+ rmnftcfg = __decorate([
2649
+ Struct.type('rmnftcfg')
2650
+ ], rmnftcfg);
2651
+ Types.rmnftcfg = rmnftcfg;
2652
+ let setcoords = class setcoords extends Struct {
2653
+ };
2654
+ __decorate([
2655
+ Struct.field(UInt64)
2656
+ ], setcoords.prototype, "entity_id", void 0);
2657
+ __decorate([
2658
+ Struct.field(Int64)
2659
+ ], setcoords.prototype, "x", void 0);
2660
+ __decorate([
2661
+ Struct.field(Int64)
2662
+ ], setcoords.prototype, "y", void 0);
2663
+ setcoords = __decorate([
2664
+ Struct.type('setcoords')
2665
+ ], setcoords);
2666
+ Types.setcoords = setcoords;
2667
+ let setnftcfg = class setnftcfg extends Struct {
2668
+ };
2669
+ __decorate([
2670
+ Struct.field(UInt16)
2671
+ ], setnftcfg.prototype, "item_id", void 0);
2672
+ __decorate([
2673
+ Struct.field(Int32)
2674
+ ], setnftcfg.prototype, "template_id", void 0);
2675
+ __decorate([
2676
+ Struct.field(Name)
2677
+ ], setnftcfg.prototype, "schema_name", void 0);
2678
+ setnftcfg = __decorate([
2679
+ Struct.type('setnftcfg')
2680
+ ], setnftcfg);
2681
+ Types.setnftcfg = setnftcfg;
2682
+ let setthreshold = class setthreshold extends Struct {
2683
+ };
2684
+ __decorate([
2685
+ Struct.field(UInt8)
2686
+ ], setthreshold.prototype, "threshold", void 0);
2687
+ setthreshold = __decorate([
2688
+ Struct.type('setthreshold')
2689
+ ], setthreshold);
2690
+ Types.setthreshold = setthreshold;
2691
+ let setwrapcost = class setwrapcost extends Struct {
2692
+ };
2693
+ __decorate([
2694
+ Struct.field(UInt8)
2695
+ ], setwrapcost.prototype, "item_type", void 0);
2696
+ __decorate([
2697
+ Struct.field(UInt8)
2698
+ ], setwrapcost.prototype, "tier", void 0);
2699
+ __decorate([
2700
+ Struct.field(UInt64)
2701
+ ], setwrapcost.prototype, "amount", void 0);
2702
+ setwrapcost = __decorate([
2703
+ Struct.type('setwrapcost')
2704
+ ], setwrapcost);
2705
+ Types.setwrapcost = setwrapcost;
2706
+ let setwrapfee = class setwrapfee extends Struct {
2707
+ };
2708
+ __decorate([
2709
+ Struct.field(UInt16)
2710
+ ], setwrapfee.prototype, "fee_pct", void 0);
2711
+ __decorate([
2712
+ Struct.field(Name)
2713
+ ], setwrapfee.prototype, "fee_account", void 0);
2714
+ setwrapfee = __decorate([
2715
+ Struct.type('setwrapfee')
2716
+ ], setwrapfee);
2717
+ Types.setwrapfee = setwrapfee;
2718
+ let stowcargo = class stowcargo extends Struct {
2719
+ };
2720
+ __decorate([
2721
+ Struct.field(Name)
2722
+ ], stowcargo.prototype, "owner", void 0);
2723
+ __decorate([
2724
+ Struct.field(UInt64)
2725
+ ], stowcargo.prototype, "entity_id", void 0);
2726
+ __decorate([
2727
+ Struct.field(UInt64)
2728
+ ], stowcargo.prototype, "nexus_id", void 0);
2729
+ __decorate([
2730
+ Struct.field(UInt64)
2731
+ ], stowcargo.prototype, "cargo_id", void 0);
2732
+ __decorate([
2733
+ Struct.field(UInt64)
2734
+ ], stowcargo.prototype, "quantity", void 0);
2735
+ stowcargo = __decorate([
2736
+ Struct.type('stowcargo')
2737
+ ], stowcargo);
2738
+ Types.stowcargo = stowcargo;
2739
+ let stowentity = class stowentity extends Struct {
2740
+ };
2741
+ __decorate([
2742
+ Struct.field(Name)
2743
+ ], stowentity.prototype, "owner", void 0);
2744
+ __decorate([
2745
+ Struct.field(UInt64)
2746
+ ], stowentity.prototype, "entity_id", void 0);
2747
+ __decorate([
2748
+ Struct.field(UInt64)
2749
+ ], stowentity.prototype, "nexus_id", void 0);
2750
+ stowentity = __decorate([
2751
+ Struct.type('stowentity')
2752
+ ], stowentity);
2753
+ Types.stowentity = stowentity;
2754
+ let stratum_info = class stratum_info extends Struct {
2755
+ };
2756
+ __decorate([
2757
+ Struct.field(UInt16)
2758
+ ], stratum_info.prototype, "item_id", void 0);
2759
+ __decorate([
2760
+ Struct.field(UInt64)
2761
+ ], stratum_info.prototype, "seed", void 0);
2762
+ __decorate([
2763
+ Struct.field(UInt16)
2764
+ ], stratum_info.prototype, "richness", void 0);
2765
+ __decorate([
2766
+ Struct.field(UInt32)
2767
+ ], stratum_info.prototype, "reserve", void 0);
2768
+ __decorate([
2769
+ Struct.field(UInt32)
2770
+ ], stratum_info.prototype, "reserve_max", void 0);
2771
+ stratum_info = __decorate([
2772
+ Struct.type('stratum_info')
2773
+ ], stratum_info);
2774
+ Types.stratum_info = stratum_info;
2775
+ let stratum_data = class stratum_data extends Struct {
2776
+ };
2777
+ __decorate([
2778
+ Struct.field(stratum_info)
2779
+ ], stratum_data.prototype, "stratum", void 0);
2780
+ __decorate([
2781
+ Struct.field(resource_stats)
2782
+ ], stratum_data.prototype, "stats", void 0);
2783
+ stratum_data = __decorate([
2784
+ Struct.type('stratum_data')
2785
+ ], stratum_data);
2786
+ Types.stratum_data = stratum_data;
2787
+ let stratum_remaining = class stratum_remaining extends Struct {
2788
+ };
2789
+ __decorate([
2790
+ Struct.field(UInt16)
2791
+ ], stratum_remaining.prototype, "stratum", void 0);
2792
+ __decorate([
2793
+ Struct.field(UInt32)
2794
+ ], stratum_remaining.prototype, "remaining", void 0);
2795
+ __decorate([
2796
+ Struct.field(BlockTimestamp)
2797
+ ], stratum_remaining.prototype, "last_block", void 0);
2798
+ stratum_remaining = __decorate([
2799
+ Struct.type('stratum_remaining')
2800
+ ], stratum_remaining);
2801
+ Types.stratum_remaining = stratum_remaining;
2802
+ let swapmodule = class swapmodule extends Struct {
2803
+ };
2804
+ __decorate([
2805
+ Struct.field(UInt64)
2806
+ ], swapmodule.prototype, "entity_id", void 0);
2807
+ __decorate([
2808
+ Struct.field(UInt8)
2809
+ ], swapmodule.prototype, "module_index", void 0);
2810
+ __decorate([
2811
+ Struct.field(cargo_ref)
2812
+ ], swapmodule.prototype, "module_ref", void 0);
2813
+ swapmodule = __decorate([
2814
+ Struct.type('swapmodule')
2815
+ ], swapmodule);
2816
+ Types.swapmodule = swapmodule;
2817
+ let task_results = class task_results extends Struct {
2818
+ };
2819
+ __decorate([
2820
+ Struct.field(entity_task_info, { array: true })
2821
+ ], task_results.prototype, "entities", void 0);
2822
+ task_results = __decorate([
2823
+ Struct.type('task_results')
2824
+ ], task_results);
2825
+ Types.task_results = task_results;
2826
+ let transit = class transit extends Struct {
2827
+ };
2828
+ __decorate([
2829
+ Struct.field(UInt64)
2830
+ ], transit.prototype, "id", void 0);
2831
+ __decorate([
2832
+ Struct.field(Int64)
2833
+ ], transit.prototype, "ax", void 0);
2834
+ __decorate([
2835
+ Struct.field(Int64)
2836
+ ], transit.prototype, "ay", void 0);
2837
+ __decorate([
2838
+ Struct.field(Int64)
2839
+ ], transit.prototype, "bx", void 0);
2840
+ __decorate([
2841
+ Struct.field(Int64)
2842
+ ], transit.prototype, "by", void 0);
2843
+ transit = __decorate([
2844
+ Struct.type('transit')
2845
+ ], transit);
2846
+ Types.transit = transit;
2847
+ let travel = class travel extends Struct {
2848
+ };
2849
+ __decorate([
2850
+ Struct.field(UInt64)
2851
+ ], travel.prototype, "id", void 0);
2852
+ __decorate([
2853
+ Struct.field(Int64)
2854
+ ], travel.prototype, "x", void 0);
2855
+ __decorate([
2856
+ Struct.field(Int64)
2857
+ ], travel.prototype, "y", void 0);
2858
+ __decorate([
2859
+ Struct.field('bool')
2860
+ ], travel.prototype, "recharge", void 0);
2861
+ travel = __decorate([
2862
+ Struct.type('travel')
2863
+ ], travel);
2864
+ Types.travel = travel;
2865
+ let types_row = class types_row extends Struct {
2866
+ };
2867
+ __decorate([
2868
+ Struct.field(UInt64)
2869
+ ], types_row.prototype, "id", void 0);
2870
+ __decorate([
2871
+ Struct.field(entity_summary)
2872
+ ], types_row.prototype, "entity_summary_type", void 0);
2873
+ __decorate([
2874
+ Struct.field(game_config)
2875
+ ], types_row.prototype, "game_config_type", void 0);
2876
+ __decorate([
2877
+ Struct.field(stratum_remaining)
2878
+ ], types_row.prototype, "stratum_remaining_type", void 0);
2879
+ __decorate([
2880
+ Struct.field(nft_item_payload)
2881
+ ], types_row.prototype, "nft_item_payload_type", void 0);
2882
+ types_row = __decorate([
2883
+ Struct.type('types_row')
2884
+ ], types_row);
2885
+ Types.types_row = types_row;
2886
+ let undeploy = class undeploy extends Struct {
2887
+ };
2888
+ __decorate([
2889
+ Struct.field(UInt64)
2890
+ ], undeploy.prototype, "host_id", void 0);
2891
+ __decorate([
2892
+ Struct.field(UInt64)
2893
+ ], undeploy.prototype, "target_id", void 0);
2894
+ undeploy = __decorate([
2895
+ Struct.type('undeploy')
2896
+ ], undeploy);
2897
+ Types.undeploy = undeploy;
2898
+ let unload = class unload extends Struct {
2899
+ };
2900
+ __decorate([
2901
+ Struct.field(UInt64)
2902
+ ], unload.prototype, "id", void 0);
2903
+ __decorate([
2904
+ Struct.field(UInt64)
2905
+ ], unload.prototype, "to_id", void 0);
2906
+ __decorate([
2907
+ Struct.field(cargo_item, { array: true })
2908
+ ], unload.prototype, "items", void 0);
2909
+ unload = __decorate([
2910
+ Struct.type('unload')
2911
+ ], unload);
2912
+ Types.unload = unload;
2913
+ let warp = class warp extends Struct {
2914
+ };
2915
+ __decorate([
2916
+ Struct.field(UInt64)
2917
+ ], warp.prototype, "id", void 0);
2918
+ __decorate([
2919
+ Struct.field(Int64)
2920
+ ], warp.prototype, "x", void 0);
2921
+ __decorate([
2922
+ Struct.field(Int64)
2923
+ ], warp.prototype, "y", void 0);
2924
+ warp = __decorate([
2925
+ Struct.type('warp')
2926
+ ], warp);
2927
+ Types.warp = warp;
2928
+ let wipe = class wipe extends Struct {
2929
+ };
2930
+ wipe = __decorate([
2931
+ Struct.type('wipe')
2932
+ ], wipe);
2933
+ Types.wipe = wipe;
2934
+ let wormhole_info = class wormhole_info extends Struct {
2935
+ };
2936
+ __decorate([
2937
+ Struct.field(coordinates)
2938
+ ], wormhole_info.prototype, "coords", void 0);
2939
+ __decorate([
2940
+ Struct.field('bool')
2941
+ ], wormhole_info.prototype, "is_wormhole", void 0);
2942
+ __decorate([
2943
+ Struct.field(coordinates)
2944
+ ], wormhole_info.prototype, "destination", void 0);
2945
+ wormhole_info = __decorate([
2946
+ Struct.type('wormhole_info')
2947
+ ], wormhole_info);
2948
+ Types.wormhole_info = wormhole_info;
2949
+ let wrapconfig_row = class wrapconfig_row extends Struct {
2950
+ };
2951
+ __decorate([
2952
+ Struct.field(UInt16)
2953
+ ], wrapconfig_row.prototype, "fee_pct", void 0);
2954
+ __decorate([
2955
+ Struct.field(Name)
2956
+ ], wrapconfig_row.prototype, "fee_account", void 0);
2957
+ wrapconfig_row = __decorate([
2958
+ Struct.type('wrapconfig_row')
2959
+ ], wrapconfig_row);
2960
+ Types.wrapconfig_row = wrapconfig_row;
2961
+ let wrapcost_row = class wrapcost_row extends Struct {
2962
+ };
2963
+ __decorate([
2964
+ Struct.field(UInt8)
2965
+ ], wrapcost_row.prototype, "item_type", void 0);
2966
+ __decorate([
2967
+ Struct.field(UInt8)
2968
+ ], wrapcost_row.prototype, "tier", void 0);
2969
+ __decorate([
2970
+ Struct.field(UInt64)
2971
+ ], wrapcost_row.prototype, "amount", void 0);
2972
+ wrapcost_row = __decorate([
2973
+ Struct.type('wrapcost_row')
2974
+ ], wrapcost_row);
2975
+ Types.wrapcost_row = wrapcost_row;
2976
+ })(Types || (Types = {}));
2977
+ ({
2978
+ cargo: Types.cargo_row,
2979
+ claims: Types.claim_row,
2980
+ commit: Types.commit_row,
2981
+ entity: Types.entity_row,
2982
+ entitygroup: Types.entitygroup_row,
2983
+ entityseq: Types.entity_seq_row,
2984
+ epoch: Types.epoch_row,
2985
+ nftconfig: Types.nftconfig_row,
2986
+ oraclecfg: Types.oracle_config_row,
2987
+ oracles: Types.oracle_row,
2988
+ player: Types.player_row,
2989
+ reserve: Types.reserve_row,
2990
+ reveal: Types.reveal_row,
2991
+ state: Types.state_row,
2992
+ types: Types.types_row,
2993
+ wrapconfig: Types.wrapconfig_row,
2994
+ wrapcost: Types.wrapcost_row,
2995
+ });
2996
+
2997
+ var items = [
2998
+ {
2999
+ id: 101,
3000
+ mass: 1000,
3001
+ type: "resource",
3002
+ tier: 1,
3003
+ category: "ore"
3004
+ },
3005
+ {
3006
+ id: 102,
3007
+ mass: 1000,
3008
+ type: "resource",
3009
+ tier: 2,
3010
+ category: "ore"
3011
+ },
3012
+ {
3013
+ id: 103,
3014
+ mass: 1000,
3015
+ type: "resource",
3016
+ tier: 3,
3017
+ category: "ore"
3018
+ },
3019
+ {
3020
+ id: 104,
3021
+ mass: 1000,
3022
+ type: "resource",
3023
+ tier: 4,
3024
+ category: "ore"
3025
+ },
3026
+ {
3027
+ id: 105,
3028
+ mass: 1000,
3029
+ type: "resource",
3030
+ tier: 5,
3031
+ category: "ore"
3032
+ },
3033
+ {
3034
+ id: 106,
3035
+ mass: 1000,
3036
+ type: "resource",
3037
+ tier: 6,
3038
+ category: "ore"
3039
+ },
3040
+ {
3041
+ id: 107,
3042
+ mass: 1000,
3043
+ type: "resource",
3044
+ tier: 7,
3045
+ category: "ore"
3046
+ },
3047
+ {
3048
+ id: 108,
3049
+ mass: 1000,
3050
+ type: "resource",
3051
+ tier: 8,
3052
+ category: "ore"
3053
+ },
3054
+ {
3055
+ id: 109,
3056
+ mass: 1000,
3057
+ type: "resource",
3058
+ tier: 9,
3059
+ category: "ore"
3060
+ },
3061
+ {
3062
+ id: 110,
3063
+ mass: 1000,
3064
+ type: "resource",
3065
+ tier: 10,
3066
+ category: "ore"
3067
+ },
3068
+ {
3069
+ id: 201,
3070
+ mass: 1000,
3071
+ type: "resource",
3072
+ tier: 1,
3073
+ category: "crystal"
3074
+ },
3075
+ {
3076
+ id: 202,
3077
+ mass: 1000,
3078
+ type: "resource",
3079
+ tier: 2,
3080
+ category: "crystal"
3081
+ },
3082
+ {
3083
+ id: 203,
3084
+ mass: 1000,
3085
+ type: "resource",
3086
+ tier: 3,
3087
+ category: "crystal"
3088
+ },
3089
+ {
3090
+ id: 204,
3091
+ mass: 1000,
3092
+ type: "resource",
3093
+ tier: 4,
3094
+ category: "crystal"
3095
+ },
3096
+ {
3097
+ id: 205,
3098
+ mass: 1000,
3099
+ type: "resource",
3100
+ tier: 5,
3101
+ category: "crystal"
3102
+ },
3103
+ {
3104
+ id: 206,
3105
+ mass: 1000,
3106
+ type: "resource",
3107
+ tier: 6,
3108
+ category: "crystal"
3109
+ },
3110
+ {
3111
+ id: 207,
3112
+ mass: 1000,
3113
+ type: "resource",
3114
+ tier: 7,
3115
+ category: "crystal"
3116
+ },
3117
+ {
3118
+ id: 208,
3119
+ mass: 1000,
3120
+ type: "resource",
3121
+ tier: 8,
3122
+ category: "crystal"
3123
+ },
3124
+ {
3125
+ id: 209,
3126
+ mass: 1000,
3127
+ type: "resource",
3128
+ tier: 9,
3129
+ category: "crystal"
3130
+ },
3131
+ {
3132
+ id: 210,
3133
+ mass: 1000,
3134
+ type: "resource",
3135
+ tier: 10,
3136
+ category: "crystal"
3137
+ },
3138
+ {
3139
+ id: 301,
3140
+ mass: 1000,
3141
+ type: "resource",
3142
+ tier: 1,
3143
+ category: "gas"
3144
+ },
3145
+ {
3146
+ id: 302,
3147
+ mass: 1000,
3148
+ type: "resource",
3149
+ tier: 2,
3150
+ category: "gas"
3151
+ },
3152
+ {
3153
+ id: 303,
3154
+ mass: 1000,
3155
+ type: "resource",
3156
+ tier: 3,
3157
+ category: "gas"
3158
+ },
3159
+ {
3160
+ id: 304,
3161
+ mass: 1000,
3162
+ type: "resource",
3163
+ tier: 4,
3164
+ category: "gas"
3165
+ },
3166
+ {
3167
+ id: 305,
3168
+ mass: 1000,
3169
+ type: "resource",
3170
+ tier: 5,
3171
+ category: "gas"
3172
+ },
3173
+ {
3174
+ id: 306,
3175
+ mass: 1000,
3176
+ type: "resource",
3177
+ tier: 6,
3178
+ category: "gas"
3179
+ },
3180
+ {
3181
+ id: 307,
3182
+ mass: 1000,
3183
+ type: "resource",
3184
+ tier: 7,
3185
+ category: "gas"
3186
+ },
3187
+ {
3188
+ id: 308,
3189
+ mass: 1000,
3190
+ type: "resource",
3191
+ tier: 8,
3192
+ category: "gas"
3193
+ },
3194
+ {
3195
+ id: 309,
3196
+ mass: 1000,
3197
+ type: "resource",
3198
+ tier: 9,
3199
+ category: "gas"
3200
+ },
3201
+ {
3202
+ id: 310,
3203
+ mass: 1000,
3204
+ type: "resource",
3205
+ tier: 10,
3206
+ category: "gas"
3207
+ },
3208
+ {
3209
+ id: 401,
3210
+ mass: 1000,
3211
+ type: "resource",
3212
+ tier: 1,
3213
+ category: "regolith"
3214
+ },
3215
+ {
3216
+ id: 402,
3217
+ mass: 1000,
3218
+ type: "resource",
3219
+ tier: 2,
3220
+ category: "regolith"
3221
+ },
3222
+ {
3223
+ id: 403,
3224
+ mass: 1000,
3225
+ type: "resource",
3226
+ tier: 3,
3227
+ category: "regolith"
3228
+ },
3229
+ {
3230
+ id: 404,
3231
+ mass: 1000,
3232
+ type: "resource",
3233
+ tier: 4,
3234
+ category: "regolith"
3235
+ },
3236
+ {
3237
+ id: 405,
3238
+ mass: 1000,
3239
+ type: "resource",
3240
+ tier: 5,
3241
+ category: "regolith"
3242
+ },
3243
+ {
3244
+ id: 406,
3245
+ mass: 1000,
3246
+ type: "resource",
3247
+ tier: 6,
3248
+ category: "regolith"
3249
+ },
3250
+ {
3251
+ id: 407,
3252
+ mass: 1000,
3253
+ type: "resource",
3254
+ tier: 7,
3255
+ category: "regolith"
3256
+ },
3257
+ {
3258
+ id: 408,
3259
+ mass: 1000,
3260
+ type: "resource",
3261
+ tier: 8,
3262
+ category: "regolith"
3263
+ },
3264
+ {
3265
+ id: 409,
3266
+ mass: 1000,
3267
+ type: "resource",
3268
+ tier: 9,
3269
+ category: "regolith"
3270
+ },
3271
+ {
3272
+ id: 410,
3273
+ mass: 1000,
3274
+ type: "resource",
3275
+ tier: 10,
3276
+ category: "regolith"
3277
+ },
3278
+ {
3279
+ id: 501,
3280
+ mass: 1000,
3281
+ type: "resource",
3282
+ tier: 1,
3283
+ category: "biomass"
3284
+ },
3285
+ {
3286
+ id: 502,
3287
+ mass: 1000,
3288
+ type: "resource",
3289
+ tier: 2,
3290
+ category: "biomass"
3291
+ },
3292
+ {
3293
+ id: 503,
3294
+ mass: 1000,
3295
+ type: "resource",
3296
+ tier: 3,
3297
+ category: "biomass"
3298
+ },
3299
+ {
3300
+ id: 504,
3301
+ mass: 1000,
3302
+ type: "resource",
3303
+ tier: 4,
3304
+ category: "biomass"
3305
+ },
3306
+ {
3307
+ id: 505,
3308
+ mass: 1000,
3309
+ type: "resource",
3310
+ tier: 5,
3311
+ category: "biomass"
3312
+ },
3313
+ {
3314
+ id: 506,
3315
+ mass: 1000,
3316
+ type: "resource",
3317
+ tier: 6,
3318
+ category: "biomass"
3319
+ },
3320
+ {
3321
+ id: 507,
3322
+ mass: 1000,
3323
+ type: "resource",
3324
+ tier: 7,
3325
+ category: "biomass"
3326
+ },
3327
+ {
3328
+ id: 508,
3329
+ mass: 1000,
3330
+ type: "resource",
3331
+ tier: 8,
3332
+ category: "biomass"
3333
+ },
3334
+ {
3335
+ id: 509,
3336
+ mass: 1000,
3337
+ type: "resource",
3338
+ tier: 9,
3339
+ category: "biomass"
3340
+ },
3341
+ {
3342
+ id: 510,
3343
+ mass: 1000,
3344
+ type: "resource",
3345
+ tier: 10,
3346
+ category: "biomass"
3347
+ },
3348
+ {
3349
+ id: 10001,
3350
+ mass: 4000,
3351
+ type: "component",
3352
+ tier: 1
3353
+ },
3354
+ {
3355
+ id: 10002,
3356
+ mass: 4000,
3357
+ type: "component",
3358
+ tier: 1
3359
+ },
3360
+ {
3361
+ id: 10003,
3362
+ mass: 4000,
3363
+ type: "component",
3364
+ tier: 1
3365
+ },
3366
+ {
3367
+ id: 10004,
3368
+ mass: 4000,
3369
+ type: "component",
3370
+ tier: 1
3371
+ },
3372
+ {
3373
+ id: 10005,
3374
+ mass: 4000,
3375
+ type: "component",
3376
+ tier: 1
3377
+ },
3378
+ {
3379
+ id: 10006,
3380
+ mass: 4000,
3381
+ type: "component",
3382
+ tier: 1
3383
+ },
3384
+ {
3385
+ id: 10007,
3386
+ mass: 4000,
3387
+ type: "component",
3388
+ tier: 1
3389
+ },
3390
+ {
3391
+ id: 10008,
3392
+ mass: 4000,
3393
+ type: "component",
3394
+ tier: 1
3395
+ },
3396
+ {
3397
+ id: 10009,
3398
+ mass: 4000,
3399
+ type: "component",
3400
+ tier: 1
3401
+ },
3402
+ {
3403
+ id: 10010,
3404
+ mass: 4000,
3405
+ type: "component",
3406
+ tier: 1
3407
+ },
3408
+ {
3409
+ id: 10100,
3410
+ mass: 960000,
3411
+ type: "module",
3412
+ tier: 1,
3413
+ subtype: "engine"
3414
+ },
3415
+ {
3416
+ id: 10101,
3417
+ mass: 960000,
3418
+ type: "module",
3419
+ tier: 1,
3420
+ subtype: "generator"
3421
+ },
3422
+ {
3423
+ id: 10102,
3424
+ mass: 960000,
3425
+ type: "module",
3426
+ tier: 1,
3427
+ subtype: "gatherer"
3428
+ },
3429
+ {
3430
+ id: 10103,
3431
+ mass: 960000,
3432
+ type: "module",
3433
+ tier: 1,
3434
+ subtype: "loader"
3435
+ },
3436
+ {
3437
+ id: 10104,
3438
+ mass: 960000,
3439
+ type: "module",
3440
+ tier: 1,
3441
+ subtype: "crafter"
3442
+ },
3443
+ {
3444
+ id: 10105,
3445
+ mass: 960000,
3446
+ type: "module",
3447
+ tier: 1,
3448
+ subtype: "storage"
3449
+ },
3450
+ {
3451
+ id: 10106,
3452
+ mass: 960000,
3453
+ type: "module",
3454
+ tier: 1,
3455
+ subtype: "hauler"
3456
+ },
3457
+ {
3458
+ id: 10107,
3459
+ mass: 960000,
3460
+ type: "module",
3461
+ tier: 1,
3462
+ subtype: "warp"
3463
+ },
3464
+ {
3465
+ id: 10108,
3466
+ mass: 960000,
3467
+ type: "module",
3468
+ tier: 1,
3469
+ subtype: "battery"
3470
+ },
3471
+ {
3472
+ id: 10109,
3473
+ mass: 1000000,
3474
+ type: "module",
3475
+ tier: 1,
3476
+ subtype: "launcher"
3477
+ },
3478
+ {
3479
+ id: 10200,
3480
+ mass: 1900000,
3481
+ type: "entity",
3482
+ tier: 1
3483
+ },
3484
+ {
3485
+ id: 10201,
3486
+ mass: 2400000,
3487
+ type: "entity",
3488
+ tier: 1
3489
+ },
3490
+ {
3491
+ id: 10202,
3492
+ mass: 3200000,
3493
+ type: "entity",
3494
+ tier: 1
3495
+ },
3496
+ {
3497
+ id: 10203,
3498
+ mass: 1900000,
3499
+ type: "entity",
3500
+ tier: 1
3501
+ },
3502
+ {
3503
+ id: 10204,
3504
+ mass: 1900000,
3505
+ type: "entity",
3506
+ tier: 1
3507
+ },
3508
+ {
3509
+ id: 10205,
3510
+ mass: 8000000,
3511
+ type: "entity",
3512
+ tier: 1
3513
+ },
3514
+ {
3515
+ id: 10206,
3516
+ mass: 8000000,
3517
+ type: "entity",
3518
+ tier: 1
3519
+ },
3520
+ {
3521
+ id: 20001,
3522
+ mass: 500,
3523
+ type: "component",
3524
+ tier: 2
3525
+ },
3526
+ {
3527
+ id: 20002,
3528
+ mass: 300,
3529
+ type: "component",
3530
+ tier: 2
3531
+ },
3532
+ {
3533
+ id: 20200,
3534
+ mass: 80000,
3535
+ type: "entity",
3536
+ tier: 2
3537
+ }
3538
+ ];
3539
+
3540
+ const itemMetadata = {
3541
+ 101: { name: 'Ore', description: 'Crude metallic ore.', color: '#C26D3F' },
3542
+ 102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
3543
+ 103: {
3544
+ name: 'Ore',
3545
+ description: 'High-grade metallic ore with exceptional density.',
3546
+ color: '#C26D3F',
3547
+ },
3548
+ 104: { name: 'Ore', description: '', color: '#C26D3F' },
3549
+ 105: { name: 'Ore', description: '', color: '#C26D3F' },
3550
+ 106: { name: 'Ore', description: '', color: '#C26D3F' },
3551
+ 107: { name: 'Ore', description: '', color: '#C26D3F' },
3552
+ 108: { name: 'Ore', description: '', color: '#C26D3F' },
3553
+ 109: { name: 'Ore', description: '', color: '#C26D3F' },
3554
+ 110: { name: 'Ore', description: '', color: '#C26D3F' },
3555
+ 201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
3556
+ 202: {
3557
+ name: 'Crystal',
3558
+ description: 'Refined resonant crystal with improved clarity.',
3559
+ color: '#4ADBFF',
3560
+ },
3561
+ 203: {
3562
+ name: 'Crystal',
3563
+ description: 'High-grade resonant crystal with exceptional purity.',
3564
+ color: '#4ADBFF',
3565
+ },
3566
+ 204: { name: 'Crystal', description: '', color: '#4ADBFF' },
3567
+ 205: { name: 'Crystal', description: '', color: '#4ADBFF' },
3568
+ 206: { name: 'Crystal', description: '', color: '#4ADBFF' },
3569
+ 207: { name: 'Crystal', description: '', color: '#4ADBFF' },
3570
+ 208: { name: 'Crystal', description: '', color: '#4ADBFF' },
3571
+ 209: { name: 'Crystal', description: '', color: '#4ADBFF' },
3572
+ 210: { name: 'Crystal', description: '', color: '#4ADBFF' },
3573
+ 301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B877FF' },
3574
+ 302: {
3575
+ name: 'Gas',
3576
+ description: 'Refined volatile gas with improved reactivity.',
3577
+ color: '#B877FF',
3578
+ },
3579
+ 303: {
3580
+ name: 'Gas',
3581
+ description: 'High-grade volatile gas with exceptional energy density.',
3582
+ color: '#B877FF',
3583
+ },
3584
+ 304: { name: 'Gas', description: '', color: '#B877FF' },
3585
+ 305: { name: 'Gas', description: '', color: '#B877FF' },
3586
+ 306: { name: 'Gas', description: '', color: '#B877FF' },
3587
+ 307: { name: 'Gas', description: '', color: '#B877FF' },
3588
+ 308: { name: 'Gas', description: '', color: '#B877FF' },
3589
+ 309: { name: 'Gas', description: '', color: '#B877FF' },
3590
+ 310: { name: 'Gas', description: '', color: '#B877FF' },
3591
+ 401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
3592
+ 402: {
3593
+ name: 'Regolith',
3594
+ description: 'Refined regolith with improved fineness.',
3595
+ color: '#C4A57B',
3596
+ },
3597
+ 403: {
3598
+ name: 'Regolith',
3599
+ description: 'High-grade regolith with exceptional uniformity.',
3600
+ color: '#C4A57B',
3601
+ },
3602
+ 404: { name: 'Regolith', description: '', color: '#C4A57B' },
3603
+ 405: { name: 'Regolith', description: '', color: '#C4A57B' },
3604
+ 406: { name: 'Regolith', description: '', color: '#C4A57B' },
3605
+ 407: { name: 'Regolith', description: '', color: '#C4A57B' },
3606
+ 408: { name: 'Regolith', description: '', color: '#C4A57B' },
3607
+ 409: { name: 'Regolith', description: '', color: '#C4A57B' },
3608
+ 410: { name: 'Regolith', description: '', color: '#C4A57B' },
3609
+ 501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
3610
+ 502: {
3611
+ name: 'Biomass',
3612
+ description: 'Refined biomass with improved plasticity.',
3613
+ color: '#5A8B3E',
3614
+ },
3615
+ 503: {
3616
+ name: 'Biomass',
3617
+ description: 'High-grade biomass with exceptional saturation.',
3618
+ color: '#5A8B3E',
3619
+ },
3620
+ 504: { name: 'Biomass', description: '', color: '#5A8B3E' },
3621
+ 505: { name: 'Biomass', description: '', color: '#5A8B3E' },
3622
+ 506: { name: 'Biomass', description: '', color: '#5A8B3E' },
3623
+ 507: { name: 'Biomass', description: '', color: '#5A8B3E' },
3624
+ 508: { name: 'Biomass', description: '', color: '#5A8B3E' },
3625
+ 509: { name: 'Biomass', description: '', color: '#5A8B3E' },
3626
+ 510: { name: 'Biomass', description: '', color: '#5A8B3E' },
3627
+ 10001: {
3628
+ name: 'Plate',
3629
+ description: 'Structural plating formed from ore. Used in hulls, containers, and storage modules.',
3630
+ color: '#7B8D9E',
3631
+ },
3632
+ 10002: {
3633
+ name: 'Frame',
3634
+ description: 'Composite framing formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
3635
+ color: '#C4A57B',
3636
+ },
3637
+ 10003: {
3638
+ name: 'Plasma Cell',
3639
+ description: 'High-energy gaseous storage cell. Volatile gas held under controlled thermal conditions.',
3640
+ color: '#E86344',
3641
+ },
3642
+ 10004: {
3643
+ name: 'Resonator',
3644
+ description: 'Crystalline resonance lattice. Stores and releases charge through coherent oscillation.',
3645
+ color: '#4ADBFF',
3646
+ },
3647
+ 10005: {
3648
+ name: 'Beam',
3649
+ description: 'Heavy-duty structural beam machined from refined ore. Strong enough to bear load, tolerant enough to survive harsh environments.',
3650
+ color: '#7B8D9E',
3651
+ },
3652
+ 10006: {
3653
+ name: 'Sensor',
3654
+ description: 'Crystal-lattice sensing element with conductive and reflective properties. Reads signal and surface alike.',
3655
+ color: '#4ADBFF',
3656
+ },
3657
+ 10007: {
3658
+ name: 'Polymer',
3659
+ description: 'Pliable biomass-derived polymer with high insulation. Flexible, durable, electrically inert.',
3660
+ color: '#5A8B3E',
3661
+ },
3662
+ 10008: {
3663
+ name: 'Ceramic',
3664
+ description: 'Hardened fine-grained ceramic refined from regolith. Hard enough to cut, fine enough to finish.',
3665
+ color: '#C4A57B',
3666
+ },
3667
+ 10009: {
3668
+ name: 'Reactor',
3669
+ description: 'Gas-pressurized vessel for controlled reactions. Vents heat and contains volatility.',
3670
+ color: '#B877FF',
3671
+ },
3672
+ 10010: {
3673
+ name: 'Resin',
3674
+ description: 'Saturated organic binder cured from biomass. A pliable matrix for haulage and field components.',
3675
+ color: '#5A8B3E',
3676
+ },
3677
+ 10100: {
3678
+ name: 'Engine',
3679
+ description: 'Basic propulsion system. Converts volatile gases into thrust.',
3680
+ color: '#E86344',
3681
+ },
3682
+ 10101: {
3683
+ name: 'Generator',
3684
+ description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
3685
+ color: '#4ADBFF',
3686
+ },
3687
+ 10102: {
3688
+ name: 'Gatherer',
3689
+ description: 'Basic gathering system. Probes and conduits for raw resources.',
3690
+ color: '#7B8D9E',
3691
+ },
3692
+ 10103: {
3693
+ name: 'Loader',
3694
+ description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
3695
+ color: '#5A8B3E',
3696
+ },
3697
+ 10104: {
3698
+ name: 'Crafter',
3699
+ description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
3700
+ color: '#B877FF',
3701
+ },
3702
+ 10105: {
3703
+ name: 'Cargo Bay',
3704
+ description: 'Expanded cargo storage with reinforced internal holds.',
3705
+ color: '#8B7355',
3706
+ },
3707
+ 10106: {
3708
+ name: 'Hauler',
3709
+ description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
3710
+ color: '#4ADBFF',
3711
+ },
3712
+ 10107: {
3713
+ name: 'Warp',
3714
+ description: 'Folds local space-time around the hull, projecting the ship across vast distances in a single discharge of the entire energy reserve.',
3715
+ color: '#9be4ff',
3716
+ },
3717
+ 10108: {
3718
+ name: 'Battery Bank',
3719
+ description: 'Stores additional charge produced by generators.',
3720
+ color: '#4ADBFF',
3721
+ },
3722
+ 10109: {
3723
+ name: 'Drive Coil',
3724
+ description: 'Accelerates and launches cargo payloads toward a remote mass catcher.',
3725
+ color: '#E86344',
3726
+ },
3727
+ 10200: {
3728
+ name: 'Container',
3729
+ description: 'Passive floating cargo storage in space. Towed by ships.',
3730
+ color: '#7B8D9E',
3731
+ },
3732
+ 10201: {
3733
+ name: 'Ship',
3734
+ description: 'General-purpose vessel with 5 module slots.',
3735
+ color: '#4AE898',
3736
+ },
3737
+ 10202: {
3738
+ name: 'Warehouse',
3739
+ description: 'Massive stationary storage facility with a single loader module slot.',
3740
+ color: '#EAB308',
3741
+ },
3742
+ 10203: {
3743
+ name: 'Extractor',
3744
+ description: 'Planetary resource extraction facility with generator and gatherer module slots.',
3745
+ color: '#D4726F',
3746
+ },
3747
+ 10204: {
3748
+ name: 'Factory',
3749
+ description: 'Planetary fabrication facility with generator and crafter module slots.',
3750
+ color: '#7BA7D4',
3751
+ },
3752
+ 10205: {
3753
+ name: 'Mass Driver',
3754
+ description: 'Planetary launch platform with generator and drive coil module slots.',
3755
+ color: '#E86344',
3756
+ },
3757
+ 10206: {
3758
+ name: 'Mass Catcher',
3759
+ description: 'Planetary receiving platform with storage module slots; catches launched payloads.',
3760
+ color: '#4AE898',
3761
+ },
3762
+ 20001: {
3763
+ name: 'Plate',
3764
+ description: 'Advanced structural plating reinforced with tier 2 ore.',
3765
+ color: '#9BADB8',
3766
+ },
3767
+ 20002: {
3768
+ name: 'Frame',
3769
+ description: 'Advanced composite framing reinforced with tier 2 regolith and biomass polymer.',
3770
+ color: '#C4A57B',
3771
+ },
3772
+ 20200: {
3773
+ name: 'Container',
3774
+ description: 'Advanced cargo container with improved capacity formulas.',
3775
+ color: '#9BADB8',
3776
+ },
3777
+ };
3778
+ for (const item of items) {
3779
+ if (!itemMetadata[item.id]) {
3780
+ throw new Error(`Missing metadata for item ${item.id}. Add an entry to metadata.ts.`);
3781
+ }
3782
+ }
3783
+
3784
+ var TaskType;
3785
+ (function (TaskType) {
3786
+ TaskType[TaskType["IDLE"] = 0] = "IDLE";
3787
+ TaskType[TaskType["TRAVEL"] = 1] = "TRAVEL";
3788
+ TaskType[TaskType["RECHARGE"] = 2] = "RECHARGE";
3789
+ TaskType[TaskType["LOAD"] = 3] = "LOAD";
3790
+ TaskType[TaskType["UNLOAD"] = 4] = "UNLOAD";
3791
+ TaskType[TaskType["GATHER"] = 5] = "GATHER";
3792
+ TaskType[TaskType["WARP"] = 6] = "WARP";
3793
+ TaskType[TaskType["CRAFT"] = 7] = "CRAFT";
3794
+ TaskType[TaskType["DEPLOY"] = 8] = "DEPLOY";
3795
+ TaskType[TaskType["TRANSIT"] = 9] = "TRANSIT";
3796
+ TaskType[TaskType["UNWRAP"] = 10] = "UNWRAP";
3797
+ TaskType[TaskType["UNDEPLOY"] = 11] = "UNDEPLOY";
3798
+ TaskType[TaskType["DEMOLISH"] = 13] = "DEMOLISH";
3799
+ TaskType[TaskType["CLAIMPLOT"] = 14] = "CLAIMPLOT";
3800
+ TaskType[TaskType["BUILDPLOT"] = 15] = "BUILDPLOT";
3801
+ })(TaskType || (TaskType = {}));
3802
+ var HoldKind;
3803
+ (function (HoldKind) {
3804
+ HoldKind[HoldKind["PULL"] = 1] = "PULL";
3805
+ HoldKind[HoldKind["PUSH"] = 2] = "PUSH";
3806
+ HoldKind[HoldKind["GATHER"] = 3] = "GATHER";
3807
+ HoldKind[HoldKind["BUILD"] = 4] = "BUILD";
3808
+ })(HoldKind || (HoldKind = {}));
3809
+ var LocationType;
3810
+ (function (LocationType) {
3811
+ LocationType[LocationType["EMPTY"] = 0] = "EMPTY";
3812
+ LocationType[LocationType["PLANET"] = 1] = "PLANET";
3813
+ LocationType[LocationType["ASTEROID"] = 2] = "ASTEROID";
3814
+ LocationType[LocationType["NEBULA"] = 3] = "NEBULA";
3815
+ LocationType[LocationType["ICE_FIELD"] = 4] = "ICE_FIELD";
3816
+ })(LocationType || (LocationType = {}));
3817
+ var TaskCancelable;
3818
+ (function (TaskCancelable) {
3819
+ TaskCancelable[TaskCancelable["NEVER"] = 0] = "NEVER";
3820
+ TaskCancelable[TaskCancelable["BEFORE_START"] = 1] = "BEFORE_START";
3821
+ TaskCancelable[TaskCancelable["ALWAYS"] = 2] = "ALWAYS";
3822
+ })(TaskCancelable || (TaskCancelable = {}));
3823
+ class Coordinates extends Types.coordinates {
3824
+ static from(value) {
3825
+ return super.from(value);
3826
+ }
3827
+ equals(other) {
3828
+ const coords = Coordinates.from(other);
3829
+ return this.x.equals(coords.x) && this.y.equals(coords.y);
3830
+ }
3831
+ toLocationId() {
3832
+ return coordsToLocationId(this);
3833
+ }
3834
+ }
3835
+ function coordsToLocationId(coords) {
3836
+ const c = Coordinates.from(coords);
3837
+ const mask = BigInt(0xffffffff);
3838
+ const x = BigInt(c.x.toNumber()) & mask;
3839
+ const y = BigInt(c.y.toNumber()) & mask;
3840
+ const id = (x << BigInt(32)) | y;
3841
+ return UInt64.from(id);
3842
+ }
3843
+
3844
+ const itemsById = new Map();
3845
+ for (const raw of items) {
3846
+ const meta = itemMetadata[raw.id];
3847
+ if (!meta) {
3848
+ throw new Error(`Missing metadata for item ${raw.id}. Add an entry to metadata.ts.`);
3849
+ }
3850
+ itemsById.set(raw.id, {
3851
+ id: raw.id,
3852
+ name: meta.name,
3853
+ description: meta.description,
3854
+ color: meta.color,
3855
+ mass: raw.mass,
3856
+ type: raw.type,
3857
+ tier: raw.tier,
3858
+ category: raw.category,
3859
+ moduleType: raw.type === 'module' ? raw.subtype : undefined,
3860
+ });
3861
+ }
3862
+ Array.from(itemsById.keys());
3863
+
3864
+ function cargoItemToStack(item) {
3865
+ return {
3866
+ item_id: UInt16.from(item.item_id),
3867
+ quantity: UInt32.from(item.quantity),
3868
+ stats: UInt64.from(item.stats),
3869
+ modules: item.modules ?? [],
3870
+ };
3871
+ }
3872
+ function statsEquals(a, b) {
3873
+ return a.equals(b);
3874
+ }
3875
+ function stackIdentityEqual(a, b) {
3876
+ return a.item_id.equals(b.item_id) && statsEquals(a.stats, b.stats);
3877
+ }
3878
+ function mergeStacks(stacks, add) {
3879
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, add));
3880
+ if (idx === -1) {
3881
+ return [...stacks, { ...add }];
3882
+ }
3883
+ const result = stacks.slice();
3884
+ result[idx] = {
3885
+ ...result[idx],
3886
+ quantity: UInt32.from(result[idx].quantity.adding(add.quantity)),
3887
+ };
3888
+ return result;
3889
+ }
3890
+
3891
+ function assertProjectionEquals(contract, sdk, options = {}) {
3892
+ const mismatches = [];
3893
+ const record = (name, c, s) => {
3894
+ if (c !== s)
3895
+ mismatches.push(` ${name}: contract=${fmt(c)} sdk=${fmt(s)}`);
3896
+ };
3897
+ const recordStatBlock = (name, c, s) => {
3898
+ const cPresent = c !== undefined && c !== null;
3899
+ const sPresent = s !== undefined && s !== null;
3900
+ if (cPresent !== sPresent) {
3901
+ mismatches.push(` ${name}: contract=${cPresent ? 'present' : 'absent'} sdk=${sPresent ? 'present' : 'absent'}`);
3902
+ return;
3903
+ }
3904
+ if (!cPresent)
3905
+ return;
3906
+ const cn = JSON.stringify(normaliseStatBlock(c));
3907
+ const sn = JSON.stringify(normaliseStatBlock(s));
3908
+ if (cn !== sn)
3909
+ mismatches.push(` ${name}: contract=${cn} sdk=${sn}`);
3910
+ };
3911
+ record('coordinates.x', toNum(contract.coordinates.x), Number(sdk.location.x));
3912
+ record('coordinates.y', toNum(contract.coordinates.y), Number(sdk.location.y));
3913
+ record('energy', toNum(contract.energy), Number(sdk.energy));
3914
+ record('cargomass', toNum(contract.cargomass), Number(sdk.cargoMass));
3915
+ record('hullmass', toNum(contract.hullmass), Number(sdk.shipMass));
3916
+ record('capacity', toNum(contract.capacity), sdk.capacity ? Number(sdk.capacity) : undefined);
3917
+ recordStatBlock('engines', contract.engines, sdk.engines);
3918
+ recordStatBlock('generator', contract.generator, sdk.generator);
3919
+ recordStatBlock('hauler', contract.hauler, sdk.hauler);
3920
+ const normLane = (l) => Object.fromEntries(Object.entries(l)
3921
+ .filter(([k]) => k !== 'slot_index')
3922
+ .map(([k, v]) => [k, toNum(v) ?? 0]));
3923
+ const compareLanes = (name, cLanes, sLanes) => {
3924
+ if (cLanes.length !== sLanes.length) {
3925
+ mismatches.push(` ${name}.length: contract=${cLanes.length} sdk=${sLanes.length}`);
3926
+ return;
3927
+ }
3928
+ for (let i = 0; i < cLanes.length; i++) {
3929
+ const cn = JSON.stringify(normLane(cLanes[i]));
3930
+ const sn = JSON.stringify(normLane(sLanes[i]));
3931
+ if (cn !== sn)
3932
+ mismatches.push(` ${name}[${i}]: contract=${cn} sdk=${sn}`);
3933
+ }
3934
+ };
3935
+ compareLanes('gatherer_lanes', contract.gatherer_lanes, sdk.gathererLanes ?? []);
3936
+ compareLanes('crafter_lanes', contract.crafter_lanes, sdk.crafterLanes ?? []);
3937
+ compareLanes('loader_lanes', contract.loader_lanes, sdk.loaderLanes ?? []);
3938
+ if (contract.cargo.length > 0 || sdk.cargo.length > 0) {
3939
+ const contractCargo = normaliseCargo(mergeContractCargo(contract.cargo));
3940
+ const sdkCargo = normaliseCargo(sdk.cargo);
3941
+ if (contractCargo.length !== sdkCargo.length) {
3942
+ mismatches.push(` cargo.length: contract=${contractCargo.length} sdk=${sdkCargo.length}`);
3943
+ }
3944
+ else {
3945
+ for (let i = 0; i < contractCargo.length; i++) {
3946
+ const c = contractCargo[i];
3947
+ const s = sdkCargo[i];
3948
+ if (c.itemId !== s.itemId || c.stats !== s.stats || c.quantity !== s.quantity) {
3949
+ mismatches.push(` cargo[${i}]: contract={item:${c.itemId},stats:${c.stats},qty:${c.quantity}} sdk={item:${s.itemId},stats:${s.stats},qty:${s.quantity}}`);
3950
+ }
3951
+ }
3952
+ }
3953
+ }
3954
+ if (mismatches.length > 0) {
3955
+ const header = options.step !== undefined
3956
+ ? `projection divergence at step ${options.step}:`
3957
+ : 'projection divergence:';
3958
+ throw new Error([header, ...mismatches].join('\n'));
3959
+ }
3960
+ }
3961
+ function mergeContractCargo(cargo) {
3962
+ return cargo.reduce((acc, row) => mergeStacks(acc, cargoItemToStack(row)), []);
3963
+ }
3964
+ function normaliseCargo(cargo) {
3965
+ return cargo
3966
+ .map((s) => ({
3967
+ itemId: Number(s.item_id),
3968
+ stats: BigInt(s.stats.toString()).toString(),
3969
+ quantity: BigInt(s.quantity.toString()).toString(),
3970
+ }))
3971
+ .sort(stackSort);
3972
+ }
3973
+ function stackSort(a, b) {
3974
+ if (a.itemId !== b.itemId)
3975
+ return a.itemId - b.itemId;
3976
+ return a.stats < b.stats ? -1 : a.stats > b.stats ? 1 : 0;
3977
+ }
3978
+ function toNum(v) {
3979
+ if (v === undefined || v === null)
3980
+ return undefined;
3981
+ if (typeof v === 'number')
3982
+ return v;
3983
+ if (typeof v === 'bigint')
3984
+ return Number(v);
3985
+ if (typeof v.toNumber === 'function') {
3986
+ return v.toNumber();
3987
+ }
3988
+ return Number(v);
3989
+ }
3990
+ function fmt(v) {
3991
+ if (v === undefined)
3992
+ return 'undefined';
3993
+ if (v === null)
3994
+ return 'null';
3995
+ return String(v);
3996
+ }
3997
+ function normaliseStatBlock(block) {
3998
+ const out = {};
3999
+ const obj = block;
4000
+ for (const k of Object.keys(obj).sort()) {
4001
+ out[k] = toNum(obj[k]) ?? 0;
4002
+ }
4003
+ return out;
4004
+ }
4005
+
4006
+ export { CATALOG_FILES_REL, assertProjectionEquals, computeCatalogHash };
4007
+ //# sourceMappingURL=testing.m.js.map