@shipload/sdk 1.0.0-next.11 → 1.0.0-next.13

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.
@@ -0,0 +1,3059 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { readFileSync } from 'node:fs';
3
+ import { Blob, ABI, Struct, Name, UInt64, Checksum256, UInt32, TimePointSec, UInt16, UInt8, Int64, TimePoint, 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('DmVvc2lvOjphYmkvMS4yAA4KY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/C2NvbXBhbnlfcm93AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nBmVuYWJsZQABB2VuYWJsZWQEYm9vbAplbmFibGVnYW1lAAIIY29udHJhY3QEbmFtZQdlbmFibGVkBGJvb2wMZm91bmRjb21wYW55AAIHYWNjb3VudARuYW1lBG5hbWUGc3RyaW5nC2dhbWVfY29uZmlnAAQEc2VlZAtjaGVja3N1bTI1NgllcG9jaHRpbWUGdWludDMyBXN0YXJ0DnRpbWVfcG9pbnRfc2VjA2VuZA50aW1lX3BvaW50X3NlYwlnYW1lX21ldGEABARuYW1lBnN0cmluZwtkZXNjcmlwdGlvbgZzdHJpbmcDdXJsBnN0cmluZwd2ZXJzaW9uBnN0cmluZwhnYW1lX3JvdwAECGNvbnRyYWN0BG5hbWUGY29uZmlnC2dhbWVfY29uZmlnBG1ldGEJZ2FtZV9tZXRhBXN0YXRlCmdhbWVfc3RhdGUKZ2FtZV9zdGF0ZQABB2VuYWJsZWQEYm9vbAxzZXRlcG9jaHRpbWUAAghjb250cmFjdARuYW1lCWVwb2NodGltZQZ1aW50MzIJc3RhcnRnYW1lAAQIY29udHJhY3QEbmFtZQZjb25maWcLZ2FtZV9jb25maWcEbWV0YQlnYW1lX21ldGEFc3RhdGUKZ2FtZV9zdGF0ZQlzdGF0ZV9yb3cAAQdlbmFibGVkBGJvb2wKdXBkYXRlZ2FtZQACCGNvbnRyYWN0BG5hbWUEbWV0YQlnYW1lX21ldGEEd2lwZQAACACAisfka1RECmNsZWFydGFibGW+AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjbGVhcnRhYmxlCnN1bW1hcnk6ICdERUJVRzogY2xlYXJ0YWJsZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAqHjMVAZlbmFibGXzAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ0VuYWJsZS9kaXNhYmxlIHBsYXRmb3JtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHBsYXRmb3JtIGNvbnRyYWN0LgCAkoapeMxUCmVuYWJsZWdhbWX8AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGVnYW1lCnN1bW1hcnk6ICdFbmFibGUvZGlzYmFibGUgYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTEzNzgyI2QzYmYyOTBmZGRlZGRiYjdkMzJhYTg5N2U5ZjdlOWUxM2EyYWU0NDk1NjE0MmUyM2ViNDdiNzcwOTZhMmVhOGQKCi0tLQoKRW5hYmxlIG9yIGRpc2FibGUgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LuCnqZKiNDVdDGZvdW5kY29tcGFueYMCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGZvdW5kY29tcGFueQpzdW1tYXJ5OiAnRm91bmQgYSBuZXcgY29tcGFueScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KCkZvdW5kIGEgbmV3IGNvbXBhbnkgaW4gdGhlIFNoaXBsb2FkIHBsYXRmb3JtIGNvbnRyYWN0LqCkyw3RqrLCDHNldGVwb2NodGltZQAAAFDSsHxNxglzdGFydGdhbWX/AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzdGFydGdhbWUKc3VtbWFyeTogJ1N0YXJ0IGEgbmV3IGdhbWUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTgxMTM3ODIjZDNiZjI5MGZkZGVkZGJiN2QzMmFhODk3ZTlmN2U5ZTEzYTJhZTQ0OTU2MTQyZTIzZWI0N2I3NzA5NmEyZWE4ZAoKLS0tCgpTdGFydCBhIG5ldyBnYW1lIG9mIFNoaXBsb2FkIGRlcGxveWVkIHRvIGEgbmV3IGNvbnRyYWN0LgCAkoapbFLVCnVwZGF0ZWdhbWWNAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB1cGRhdGVnYW1lCnN1bW1hcnk6ICdVcGRhdGUgZ2FtZSBpbmZvcm1hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE1ODExMzc4MiNkM2JmMjkwZmRkZWRkYmI3ZDMyYWE4OTdlOWY3ZTllMTNhMmFlNDQ5NTYxNDJlMjNlYjQ3Yjc3MDk2YTJlYThkCgotLS0KClVwZGF0ZSB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCBnYW1lIGNvbnRyYWN0LgoKLS0tAAAAAACgquMEd2lwZbIBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdpcGUKc3VtbWFyeTogJ0RFQlVHOiB3aXBlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQMAAADAT1MlRQNpNjQAAAtjb21wYW55X3JvdwAAAAAArKRhA2k2NAAACGdhbWVfcm93AAAAAACVTcYDaTY0AAAJc3RhdGVfcm93ARNTaGlwbG9hZCAoUGxhdGZvcm0pE1NoaXBsb2FkIChQbGF0Zm9ybSkAAAAA');
24
+ ABI.from(abiBlob$1);
25
+ var Types$1;
26
+ (function (Types) {
27
+ let cleartable = class cleartable extends Struct {
28
+ };
29
+ __decorate([
30
+ Struct.field(Name)
31
+ ], cleartable.prototype, "table_name", void 0);
32
+ __decorate([
33
+ Struct.field(Name, { optional: true })
34
+ ], cleartable.prototype, "scope", void 0);
35
+ __decorate([
36
+ Struct.field(UInt64, { optional: true })
37
+ ], cleartable.prototype, "max_rows", void 0);
38
+ cleartable = __decorate([
39
+ Struct.type('cleartable')
40
+ ], cleartable);
41
+ Types.cleartable = cleartable;
42
+ let company_row = class company_row extends Struct {
43
+ };
44
+ __decorate([
45
+ Struct.field(Name)
46
+ ], company_row.prototype, "account", void 0);
47
+ __decorate([
48
+ Struct.field('string')
49
+ ], company_row.prototype, "name", void 0);
50
+ company_row = __decorate([
51
+ Struct.type('company_row')
52
+ ], company_row);
53
+ Types.company_row = company_row;
54
+ let enable = class enable extends Struct {
55
+ };
56
+ __decorate([
57
+ Struct.field('bool')
58
+ ], enable.prototype, "enabled", void 0);
59
+ enable = __decorate([
60
+ Struct.type('enable')
61
+ ], enable);
62
+ Types.enable = enable;
63
+ let enablegame = class enablegame extends Struct {
64
+ };
65
+ __decorate([
66
+ Struct.field(Name)
67
+ ], enablegame.prototype, "contract", void 0);
68
+ __decorate([
69
+ Struct.field('bool')
70
+ ], enablegame.prototype, "enabled", void 0);
71
+ enablegame = __decorate([
72
+ Struct.type('enablegame')
73
+ ], enablegame);
74
+ Types.enablegame = enablegame;
75
+ let foundcompany = class foundcompany extends Struct {
76
+ };
77
+ __decorate([
78
+ Struct.field(Name)
79
+ ], foundcompany.prototype, "account", void 0);
80
+ __decorate([
81
+ Struct.field('string')
82
+ ], foundcompany.prototype, "name", void 0);
83
+ foundcompany = __decorate([
84
+ Struct.type('foundcompany')
85
+ ], foundcompany);
86
+ Types.foundcompany = foundcompany;
87
+ let game_config = class game_config extends Struct {
88
+ };
89
+ __decorate([
90
+ Struct.field(Checksum256)
91
+ ], game_config.prototype, "seed", void 0);
92
+ __decorate([
93
+ Struct.field(UInt32)
94
+ ], game_config.prototype, "epochtime", void 0);
95
+ __decorate([
96
+ Struct.field(TimePointSec)
97
+ ], game_config.prototype, "start", void 0);
98
+ __decorate([
99
+ Struct.field(TimePointSec)
100
+ ], game_config.prototype, "end", void 0);
101
+ game_config = __decorate([
102
+ Struct.type('game_config')
103
+ ], game_config);
104
+ Types.game_config = game_config;
105
+ let game_meta = class game_meta extends Struct {
106
+ };
107
+ __decorate([
108
+ Struct.field('string')
109
+ ], game_meta.prototype, "name", void 0);
110
+ __decorate([
111
+ Struct.field('string')
112
+ ], game_meta.prototype, "description", void 0);
113
+ __decorate([
114
+ Struct.field('string')
115
+ ], game_meta.prototype, "url", void 0);
116
+ __decorate([
117
+ Struct.field('string')
118
+ ], game_meta.prototype, "version", void 0);
119
+ game_meta = __decorate([
120
+ Struct.type('game_meta')
121
+ ], game_meta);
122
+ Types.game_meta = game_meta;
123
+ let game_state = class game_state extends Struct {
124
+ };
125
+ __decorate([
126
+ Struct.field('bool')
127
+ ], game_state.prototype, "enabled", void 0);
128
+ game_state = __decorate([
129
+ Struct.type('game_state')
130
+ ], game_state);
131
+ Types.game_state = game_state;
132
+ let game_row = class game_row extends Struct {
133
+ };
134
+ __decorate([
135
+ Struct.field(Name)
136
+ ], game_row.prototype, "contract", void 0);
137
+ __decorate([
138
+ Struct.field(game_config)
139
+ ], game_row.prototype, "config", void 0);
140
+ __decorate([
141
+ Struct.field(game_meta)
142
+ ], game_row.prototype, "meta", void 0);
143
+ __decorate([
144
+ Struct.field(game_state)
145
+ ], game_row.prototype, "state", void 0);
146
+ game_row = __decorate([
147
+ Struct.type('game_row')
148
+ ], game_row);
149
+ Types.game_row = game_row;
150
+ let setepochtime = class setepochtime extends Struct {
151
+ };
152
+ __decorate([
153
+ Struct.field(Name)
154
+ ], setepochtime.prototype, "contract", void 0);
155
+ __decorate([
156
+ Struct.field(UInt32)
157
+ ], setepochtime.prototype, "epochtime", void 0);
158
+ setepochtime = __decorate([
159
+ Struct.type('setepochtime')
160
+ ], setepochtime);
161
+ Types.setepochtime = setepochtime;
162
+ let startgame = class startgame extends Struct {
163
+ };
164
+ __decorate([
165
+ Struct.field(Name)
166
+ ], startgame.prototype, "contract", void 0);
167
+ __decorate([
168
+ Struct.field(game_config)
169
+ ], startgame.prototype, "config", void 0);
170
+ __decorate([
171
+ Struct.field(game_meta)
172
+ ], startgame.prototype, "meta", void 0);
173
+ __decorate([
174
+ Struct.field(game_state)
175
+ ], startgame.prototype, "state", void 0);
176
+ startgame = __decorate([
177
+ Struct.type('startgame')
178
+ ], startgame);
179
+ Types.startgame = startgame;
180
+ let state_row = class state_row extends Struct {
181
+ };
182
+ __decorate([
183
+ Struct.field('bool')
184
+ ], state_row.prototype, "enabled", void 0);
185
+ state_row = __decorate([
186
+ Struct.type('state_row')
187
+ ], state_row);
188
+ Types.state_row = state_row;
189
+ let updategame = class updategame extends Struct {
190
+ };
191
+ __decorate([
192
+ Struct.field(Name)
193
+ ], updategame.prototype, "contract", void 0);
194
+ __decorate([
195
+ Struct.field(game_meta)
196
+ ], updategame.prototype, "meta", void 0);
197
+ updategame = __decorate([
198
+ Struct.type('updategame')
199
+ ], updategame);
200
+ Types.updategame = updategame;
201
+ let wipe = class wipe extends Struct {
202
+ };
203
+ wipe = __decorate([
204
+ Struct.type('wipe')
205
+ ], wipe);
206
+ Types.wipe = wipe;
207
+ })(Types$1 || (Types$1 = {}));
208
+ ({
209
+ company: Types$1.company_row,
210
+ games: Types$1.game_row,
211
+ state: Types$1.state_row,
212
+ });
213
+
214
+ const abiBlob = Blob.from('DmVvc2lvOjphYmkvMS4yAhVCX3ZlY3Rvcl9lbnRpdHlfcmVmX0UMZW50aXR5X3JlZltdDWxvY2F0aW9uX3R5cGUFdWludDiFAQlhZGRtb2R1bGUABAllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAptb2R1bGVfcmVmCWNhcmdvX3JlZgp0YXJnZXRfcmVmCmNhcmdvX3JlZj8IYWRkbmV4dXMAAwpuZXh1c19uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQHYWR2YW5jZQACBnJldmVhbAZzdHJpbmcGY29tbWl0C2NoZWNrc3VtMjU2BWJsZW5kAAICaWQGdWludDY0BmlucHV0cwxjYXJnb19pdGVtW10GY2FuY2VsAAICaWQGdWludDY0BWNvdW50BnVpbnQ2NA5jYW5jZWxfcmVzdWx0cwAGCWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQ9jYW5jZWxsZWRfY291bnQFdWludDgQc2NoZWR1bGVfc3RhcnRlZAt0aW1lX3BvaW50PwtlbnRpdHlncm91cAd1aW50NjQ/DWdyb3VwX21lbWJlcnMWQl92ZWN0b3JfZW50aXR5X3JlZl9FPwpjYXJnb19pdGVtAAQHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10IcXVhbnRpdHkGdWludDMyCWNhcmdvX3JlZgADB2l0ZW1faWQGdWludDE2BXN0YXRzBnVpbnQ2NAdtb2R1bGVzDm1vZHVsZV9lbnRyeVtdCWNhcmdvX3JvdwAGAmlkBnVpbnQ2NAllbnRpdHlfaWQGdWludDY0B2l0ZW1faWQGdWludDY0CHF1YW50aXR5BnVpbnQ2NAVzdGF0cwZ1aW50NjQHbW9kdWxlcw5tb2R1bGVfZW50cnlbXQpjYXJnb192aWV3AAUHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0B21vZHVsZXMObW9kdWxlX2VudHJ5W10IcXVhbnRpdHkGdWludDMyAmlkBnVpbnQ2NAxjbGFpbXN0YXJ0ZXIAAwdhY2NvdW50BG5hbWUBeAVpbnQ2NAF5BWludDY0CWNsZWFucnN2cAACBWVwb2NoBnVpbnQ2NAhtYXhfcm93cwZ1aW50NjQKY2xlYXJ0YWJsZQADCnRhYmxlX25hbWUEbmFtZQVzY29wZQVuYW1lPwhtYXhfcm93cwd1aW50NjQ/BmNvbW1pdAABBmNvbW1pdAtjaGVja3N1bTI1Ngljb25maWdsb2cAAQZjb25maWcLZ2FtZV9jb25maWcLY29vcmRpbmF0ZXMAAwF4BWludDY0AXkFaW50NjQBegd1aW50MTY/BWNyYWZ0AAQCaWQGdWludDY0CXJlY2lwZV9pZAZ1aW50MTYIcXVhbnRpdHkGdWludDMyBmlucHV0cwxjYXJnb19pdGVtW10NY3JhZnRlcl9zdGF0cwACBXNwZWVkBnVpbnQxNgVkcmFpbgZ1aW50MTYMY3JlYXRlZW50aXR5AAUFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwF4BWludDY0AXkFaW50NjQIZGVtb2xpc2gAAQllbnRpdHlfaWQGdWludDY0BmRlcGxveQACAmlkBnVpbnQ2NANyZWYJY2FyZ29fcmVmCmRlc2NlbnRpdHkABAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAxtb2R1bGVfaXRlbXMIdWludDE2W10MbW9kdWxlX3N0YXRzCHVpbnQ2NFtdBmVuYWJsZQABB2VuYWJsZWQEYm9vbAxlbmVyZ3lfc3RhdHMAAghjYXBhY2l0eQZ1aW50MTYIcmVjaGFyZ2UGdWludDE2FGVudGl0eV9jdXJyZW50X3N0YXRlAAILY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMGZW5lcmd5BnVpbnQxNg9lbnRpdHlfZGVmYXVsdHMAAgt3YXJlaG91c2VfegZ1aW50MTYLY29udGFpbmVyX3oGdWludDE2C2VudGl0eV9pbmZvABkEdHlwZQRuYW1lAmlkBnVpbnQ2NAVvd25lcgRuYW1lC2VudGl0eV9uYW1lBnN0cmluZwtjb29yZGluYXRlcwtjb29yZGluYXRlcwljYXJnb21hc3MGdWludDMyBWNhcmdvDGNhcmdvX3ZpZXdbXQdsb2FkZXJzDWxvYWRlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQZlbmVyZ3kHdWludDE2PwhodWxsbWFzcwd1aW50MzI/B2VuZ2luZXMPbW92ZW1lbnRfc3RhdHM/CWdlbmVyYXRvcg1lbmVyZ3lfc3RhdHM/CGNhcGFjaXR5B3VpbnQzMj8IZ2F0aGVyZXIPZ2F0aGVyZXJfc3RhdHM/BmhhdWxlcg1oYXVsZXJfc3RhdHM/BHdhcnALd2FycF9zdGF0cz8HY3JhZnRlcg5jcmFmdGVyX3N0YXRzPwdpc19pZGxlBGJvb2wMY3VycmVudF90YXNrBXRhc2s/FGN1cnJlbnRfdGFza19lbGFwc2VkBnVpbnQzMhZjdXJyZW50X3Rhc2tfcmVtYWluaW5nBnVpbnQzMg1wZW5kaW5nX3Rhc2tzBnRhc2tbXQdpZGxlX2F0C3RpbWVfcG9pbnQ/CHNjaGVkdWxlCXNjaGVkdWxlPw1lbnRpdHlfbGF5b3V0AAIOZW50aXR5X2l0ZW1faWQGdWludDE2BXNsb3RzCnNsb3RfZGVmW10VZW50aXR5X2xheW91dHNfcmVzdWx0AAEIZW50aXRpZXMPZW50aXR5X2xheW91dFtdCmVudGl0eV9yZWYAAgtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKZW50aXR5X3JvdwAUAmlkBnVpbnQ2NAVvd25lcgRuYW1lBGtpbmQEbmFtZQRuYW1lBnN0cmluZwVzdGF0cwZ1aW50NjQLY29vcmRpbmF0ZXMLY29vcmRpbmF0ZXMIaHVsbG1hc3MHdWludDMyPwhjYXBhY2l0eQd1aW50MzI/BmVuZXJneQd1aW50MTY/CWNhcmdvbWFzcwZ1aW50MzIHZW5naW5lcw9tb3ZlbWVudF9zdGF0cz8JZ2VuZXJhdG9yDWVuZXJneV9zdGF0cz8HbG9hZGVycw1sb2FkZXJfc3RhdHM/CGdhdGhlcmVyD2dhdGhlcmVyX3N0YXRzPwR3YXJwC3dhcnBfc3RhdHM/B2NyYWZ0ZXIOY3JhZnRlcl9zdGF0cz8GaGF1bGVyDWhhdWxlcl9zdGF0cz8HbW9kdWxlcw5tb2R1bGVfZW50cnlbXQhzY2hlZHVsZQlzY2hlZHVsZT8HaXRlbV9pZAZ1aW50MTYOZW50aXR5X3N1bW1hcnkACAR0eXBlBG5hbWUCaWQGdWludDY0BW93bmVyBG5hbWULZW50aXR5X25hbWUGc3RyaW5nC2Nvb3JkaW5hdGVzC2Nvb3JkaW5hdGVzB2lzX2lkbGUEYm9vbA5yZXNvbHZlZF9jb3VudAZ1aW50MzINcGVuZGluZ19jb3VudAZ1aW50MzIQZW50aXR5X3Rhc2tfaW5mbwAECWVudGl0eV9pZAZ1aW50NjQLZW50aXR5X3R5cGUEbmFtZQp0YXNrX2NvdW50BXVpbnQ4EHNjaGVkdWxlX3N0YXJ0ZWQKdGltZV9wb2ludA9lbnRpdHlncm91cF9yb3cAAgJpZAZ1aW50NjQMcGFydGljaXBhbnRzDGVudGl0eV9yZWZbXQtlbnVtX21lbWJlcgACBXZhbHVlBXVpbnQ4BG5hbWUGc3RyaW5nC2VudW1fcmVzdWx0AAEHbWVtYmVycw1lbnVtX21lbWJlcltdDGZpeGNhcmdvbWFzcwABCWVudGl0eV9pZAZ1aW50NjQLZ2FtZV9jb25maWcAAwd2ZXJzaW9uBnVpbnQzMghkZWZhdWx0cw9lbnRpdHlfZGVmYXVsdHMFaXRlbXMKaXRlbV9kZWZbXQZnYXRoZXIABAlzb3VyY2VfaWQGdWludDY0DmRlc3RpbmF0aW9uX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNghxdWFudGl0eQZ1aW50MzIOZ2F0aGVyZXJfc3RhdHMABAV5aWVsZAZ1aW50MTYFZHJhaW4GdWludDE2BWRlcHRoBnVpbnQxNgVzcGVlZAZ1aW50MTYJZ2V0Y29uZmlnAAALZ2V0ZWxpZ2libGUAAgZjb29yZHMLY29vcmRpbmF0ZXMHc3RyYXR1bQZ1aW50MTYLZ2V0ZW50aXRpZXMAAgVvd25lcgRuYW1lC2VudGl0eV90eXBlBW5hbWU/CWdldGVudGl0eQABCWVudGl0eV9pZAZ1aW50NjQLZ2V0aXRlbWRhdGEAAApnZXRpdGVtaWRzAAAIZ2V0aXRlbXMAAAxnZXRpdGVtdHlwZXMAAAtnZXRsb2NhdGlvbgACAXgFaW50NjQBeQVpbnQ2NApnZXRsb2NkYXRhAAIBeAVpbnQ2NAF5BWludDY0C2dldG1vZHR5cGVzAAAKZ2V0bW9kdWxlcwAACWdldG5lYXJieQACCWVudGl0eV9pZAZ1aW50NjQIcmVjaGFyZ2UEYm9vbApnZXRuZnRpbmZvAAAJZ2V0cGxheWVyAAEHYWNjb3VudARuYW1lCWdldHJlY2lwZQABDm91dHB1dF9pdGVtX2lkBnVpbnQxNgpnZXRyZWNpcGVzAAILbG93ZXJfYm91bmQGdWludDE2BWxpbWl0BXVpbnQ4CmdldHJlc2NhdHMAAAtnZXRyZXNlcnZlcwACAXgFaW50NjQBeQVpbnQ2NAxnZXRyZXNvdXJjZXMAAAhnZXRzbG90cwAACmdldHN0cmF0dW0AAwF4BWludDY0AXkFaW50NjQHc3RyYXR1bQZ1aW50MTYMZ2V0c3VtbWFyaWVzAAIFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQVuYW1lPwtncm91cHRyYXZlbAAECGVudGl0aWVzDGVudGl0eV9yZWZbXQF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbARoYXNoAAEFdmFsdWUGc3RyaW5nB2hhc2g1MTIAAQV2YWx1ZQZzdHJpbmcMaGF1bGVyX3N0YXRzAAMIY2FwYWNpdHkFdWludDgKZWZmaWNpZW5jeQZ1aW50MTYFZHJhaW4GdWludDE2CmluaXRpYWxpemUAAQRzZWVkC2NoZWNrc3VtMjU2CGl0ZW1fZGVmAAUCaWQGdWludDE2BG1hc3MGdWludDMyBHR5cGUFdWludDgHc3VidHlwZQV1aW50OAR0aWVyBXVpbnQ4DGl0ZW1faWRfcGFpcgACAmlkBnVpbnQxNgRuYW1lBnN0cmluZw9pdGVtX2lkc19yZXN1bHQAAQVpdGVtcw5pdGVtX2lkX3BhaXJbXQ9pdGVtZGF0YV9yZXN1bHQAAgVpdGVtcwppdGVtX2RlZltdB3JlY2lwZXMOcmVjaXBlc19yZXN1bHQKaXRlbXNfaW5mbwABBWl0ZW1zCml0ZW1fZGVmW10Eam9pbgABB2FjY291bnQEbmFtZQxsb2FkZXJfc3RhdHMAAwRtYXNzBnVpbnQzMgZ0aHJ1c3QGdWludDE2CHF1YW50aXR5BXVpbnQ4EGxvY2F0aW9uX2Rlcml2ZWQAAgxzdGF0aWNfcHJvcHMPbG9jYXRpb25fc3RhdGljBHNpemUGdWludDE2DWxvY2F0aW9uX2luZm8AAgZjb29yZHMLY29vcmRpbmF0ZXMJaXNfc3lzdGVtBGJvb2wPbG9jYXRpb25fc3RhdGljAAUGY29vcmRzC2Nvb3JkaW5hdGVzBHR5cGUNbG9jYXRpb25fdHlwZQdzdWJ0eXBlBXVpbnQ4BXNlZWQwBXVpbnQ4BXNlZWQxBXVpbnQ4DG1vZHVsZV9lbnRyeQACBHR5cGUFdWludDgJaW5zdGFsbGVkDnBhY2tlZF9tb2R1bGU/C21vZHVsZV9pbmZvAAQCaWQGdWludDE2BG1hc3MGdWludDMyC21vZHVsZV90eXBlBXVpbnQ4BHRpZXIFdWludDgObW9kdWxlc19yZXN1bHQAAQdtb2R1bGVzDW1vZHVsZV9pbmZvW10ObW92ZW1lbnRfc3RhdHMAAgZ0aHJ1c3QGdWludDMyBWRyYWluBnVpbnQxNgtuZWFyYnlfaW5mbwAFCmNhbl90cmF2ZWwEYm9vbAdjdXJyZW50FGVudGl0eV9jdXJyZW50X3N0YXRlCXByb2plY3RlZBRlbnRpdHlfY3VycmVudF9zdGF0ZQptYXhfZW5lcmd5BnVpbnQxNgdzeXN0ZW1zD25lYXJieV9zeXN0ZW1bXQ1uZWFyYnlfc3lzdGVtAAQIZGlzdGFuY2UGdWludDY0C2VuZXJneV9jb3N0BnVpbnQ2NAtmbGlnaHRfdGltZQZ1aW50MzIIbG9jYXRpb24NbG9jYXRpb25faW5mbw5uZnRfc2NoZW1hX2RlZgACC3NjaGVtYV9uYW1lBG5hbWUGZmllbGRzDnNjaGVtYV9maWVsZFtdEG5mdF90ZW1wbGF0ZV9kZWYAAgdpdGVtX2lkBnVpbnQxNgtzY2hlbWFfbmFtZQRuYW1lDW5mdGNvbmZpZ19yb3cAAwdpdGVtX2lkBnVpbnQxNgt0ZW1wbGF0ZV9pZAVpbnQzMgtzY2hlbWFfbmFtZQRuYW1lDm5mdGluZm9fcmVzdWx0AAIHc2NoZW1hcxBuZnRfc2NoZW1hX2RlZltdCXRlbXBsYXRlcxJuZnRfdGVtcGxhdGVfZGVmW10Gbm90aWZ5AAEFZXZlbnQKdGFza19ldmVudA1wYWNrZWRfbW9kdWxlAAIHaXRlbV9pZAZ1aW50MTYFc3RhdHMGdWludDY0C3BsYXllcl9pbmZvAAMFb3duZXIEbmFtZQlpc19wbGF5ZXIEYm9vbAxjb21wYW55X25hbWUGc3RyaW5nCnBsYXllcl9yb3cAAQVvd25lcgRuYW1lCHJlY2hhcmdlAAECaWQGdWludDY0DHJlY2lwZV9pbnB1dAAEB2l0ZW1faWQGdWludDE2CGNhdGVnb3J5BXVpbnQ4BHRpZXIFdWludDgIcXVhbnRpdHkGdWludDMyEHJlY2lwZV9pdGVtX2luZm8AAgJpZAZ1aW50MTYEbWFzcwZ1aW50MzIPcmVjaXBlX3Jlc3BvbnNlAAcOb3V0cHV0X2l0ZW1faWQGdWludDE2C291dHB1dF9tYXNzBnVpbnQzMgZpbnB1dHMOcmVjaXBlX2lucHV0W10Kc3RhdF9zbG90cxRzdGF0X3Nsb3RfcmVzcG9uc2VbXQ1ibGVuZF93ZWlnaHRzBWJ5dGVzC291dHB1dF9pdGVtEHJlY2lwZV9pdGVtX2luZm8LaW5wdXRfaXRlbXMScmVjaXBlX2l0ZW1faW5mb1tdDnJlY2lwZXNfcmVzdWx0AAEHcmVjaXBlcxFyZWNpcGVfcmVzcG9uc2VbXQxyZWZyc2hlbnRpdHkAAQllbnRpdHlfaWQGdWludDY0C3Jlc2VydmVfcm93AAQCaWQGdWludDY0CGNvb3JkX2lkBnVpbnQ2NAdzdHJhdHVtBnVpbnQxNglyZW1haW5pbmcGdWludDMyB3Jlc29sdmUAAgJpZAZ1aW50NjQFY291bnQHdWludDY0Pw9yZXNvbHZlX3Jlc3VsdHMABgllbnRpdHlfaWQGdWludDY0C2VudGl0eV90eXBlBG5hbWUOcmVzb2x2ZWRfY291bnQFdWludDgUbmV3X3NjaGVkdWxlX3N0YXJ0ZWQLdGltZV9wb2ludD8LZW50aXR5Z3JvdXAHdWludDY0Pw1ncm91cF9tZW1iZXJzFkJfdmVjdG9yX2VudGl0eV9yZWZfRT8NcmVzb3VyY2VfaW5mbwAEAmlkBnVpbnQxNgRtYXNzBnVpbnQzMghjYXRlZ29yeQV1aW50OAR0aWVyBXVpbnQ4DnJlc291cmNlX3N0YXRzAAMFc3RhdDEGdWludDE2BXN0YXQyBnVpbnQxNgVzdGF0MwZ1aW50MTYQcmVzb3VyY2VzX3Jlc3VsdAABCXJlc291cmNlcw9yZXNvdXJjZV9pbmZvW10Icm1tb2R1bGUAAwllbnRpdHlfaWQGdWludDY0DG1vZHVsZV9pbmRleAV1aW50OAp0YXJnZXRfcmVmCmNhcmdvX3JlZj8Icm1uZnRjZmcAAQdpdGVtX2lkBnVpbnQxNgRzYWx0AAEEc2FsdAZ1aW50NjQIc2NoZWR1bGUAAgdzdGFydGVkCnRpbWVfcG9pbnQFdGFza3MGdGFza1tdDHNjaGVtYV9maWVsZAACBG5hbWUGc3RyaW5nCmZpZWxkX3R5cGUGc3RyaW5nCXNldG5mdGNmZwADB2l0ZW1faWQGdWludDE2C3RlbXBsYXRlX2lkBWludDMyC3NjaGVtYV9uYW1lBG5hbWUKc2tpcHJldmVhbAABBmNvbW1pdAtjaGVja3N1bTI1NghzbG90X2RlZgACBHR5cGUFdWludDgKb3V0cHV0X3BjdAZ1aW50MTYKc3Bhd25jYXJnbwADCWVudGl0eV9pZAZ1aW50NjQHaXRlbV9pZAZ1aW50NjQIcXVhbnRpdHkGdWludDY0C3NwYXducGFja2VkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQxNgpodWxsX3N0YXRzBnVpbnQ2NAlpbnN0YWxsZWQPcGFja2VkX21vZHVsZVtdC3NwYXduc2VlZGVkAAQJZW50aXR5X2lkBnVpbnQ2NAdpdGVtX2lkBnVpbnQ2NAhxdWFudGl0eQZ1aW50NjQFc3RhdHMGdWludDY0EnN0YXRfc2xvdF9yZXNwb25zZQABB3NvdXJjZXMNc3RhdF9zb3VyY2VbXQtzdGF0X3NvdXJjZQACC2lucHV0X2luZGV4BXVpbnQ4EGlucHV0X3N0YXRfaW5kZXgFdWludDgJc3RhdGVfcm93AAUHZW5hYmxlZARib29sBWVwb2NoBnVpbnQzMgRzYWx0BnVpbnQ2NARzZWVkC2NoZWNrc3VtMjU2BmNvbW1pdAtjaGVja3N1bTI1NgxzdHJhdHVtX2RhdGEAAgdzdHJhdHVtDHN0cmF0dW1faW5mbwVzdGF0cw5yZXNvdXJjZV9zdGF0cwxzdHJhdHVtX2luZm8ABQdpdGVtX2lkBnVpbnQxNgRzZWVkBnVpbnQ2NAhyaWNobmVzcwZ1aW50MTYHcmVzZXJ2ZQZ1aW50MzILcmVzZXJ2ZV9tYXgGdWludDMyEXN0cmF0dW1fcmVtYWluaW5nAAIHc3RyYXR1bQZ1aW50MTYJcmVtYWluaW5nBnVpbnQzMgR0YXNrAAgEdHlwZQV1aW50OAhkdXJhdGlvbgZ1aW50MzIKY2FuY2VsYWJsZQV1aW50OAtjb29yZGluYXRlcwxjb29yZGluYXRlcz8FY2FyZ28MY2FyZ29faXRlbVtdDGVudGl0eXRhcmdldAtlbnRpdHlfcmVmPwtlbnRpdHlncm91cAd1aW50NjQ/C2VuZXJneV9jb3N0B3VpbnQxNj8KdGFza19ldmVudAAJCmV2ZW50X3R5cGUFdWludDgFb3duZXIEbmFtZQtlbnRpdHlfdHlwZQRuYW1lCWVudGl0eV9pZAZ1aW50NjQKdGFza19pbmRleAV1aW50OAR0YXNrBHRhc2sJc3RhcnRzX2F0CnRpbWVfcG9pbnQMY29tcGxldGVzX2F0CnRpbWVfcG9pbnQKbmV3X2VuZXJneQd1aW50MTY/DHRhc2tfcmVzdWx0cwABCGVudGl0aWVzEmVudGl0eV90YXNrX2luZm9bXQh0cmFuc2ZlcgADCXNvdXJjZV9pZAZ1aW50NjQHZGVzdF9pZAZ1aW50NjQFaXRlbXMMY2FyZ29faXRlbVtdBnRyYXZlbAAEAmlkBnVpbnQ2NAF4BWludDY0AXkFaW50NjQIcmVjaGFyZ2UEYm9vbAl0eXBlc19yb3cABAJpZAZ1aW50NjQTZW50aXR5X3N1bW1hcnlfdHlwZQ5lbnRpdHlfc3VtbWFyeRBnYW1lX2NvbmZpZ190eXBlC2dhbWVfY29uZmlnFnN0cmF0dW1fcmVtYWluaW5nX3R5cGURc3RyYXR1bV9yZW1haW5pbmcIdW5kZXBsb3kAAgdob3N0X2lkBnVpbnQ2NAl0YXJnZXRfaWQGdWludDY0BHdhcnAAAwJpZAZ1aW50NjQBeAVpbnQ2NAF5BWludDY0CndhcnBfc3RhdHMAAQVyYW5nZQZ1aW50MzIEd2lwZQAABHdyYXAABAVvd25lcgRuYW1lCWVudGl0eV9pZAZ1aW50NjQIbmV4dXNfaWQGdWludDY0BWl0ZW1zDGNhcmdvX2l0ZW1bXQp3cmFwZW50aXR5AAIJZW50aXR5X2lkBnVpbnQ2NAhuZXh1c19pZAZ1aW50NjRBAABQUScqUzIJYWRkbW9kdWxlxwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbW9kdWxlCnN1bW1hcnk6ICdJbnN0YWxsIGEgbW9kdWxlIGludG8gYSBzbG90JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnN0YWxsIGEgbW9kdWxlIGZyb20gY2FyZ28gaW50byBhIG1vZHVsZSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSB0eXBlIG11c3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSB0YXJnZXQgc2xvdCB0eXBlLiBUaGUgbW9kdWxlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIGNhcmdvIHVwb24gaW5zdGFsbGF0aW9uLgAAAFh3NVMyCGFkZG5leHVzpwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWRkbmV4dXMKc3VtbWFyeTogJ0FkZCBhIG5leHVzIGxvY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDcmVhdGUgYSBuZXcgbmV4dXMgZW50aXR5IGF0IHRoZSBnaXZlbiBjb29yZGluYXRlcy4gTmV4dXNlcyBhcmUgb3duZWQgYnkgdGhlIGNvbnRyYWN0IGFuZCBzZXJ2ZSBhcyBmaXhlZCBnYXRoZXJpbmcgcG9pbnRzIHdoZXJlIHBsYXllcnMgY2FuIHdyYXAsIHVud3JhcCwgZGVwbG95LCBhbmQgb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggTkZULWJhY2tlZCBhc3NldHMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAABAoWl2MgdhZHZhbmNl0wEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogYWR2YW5jZQpzdW1tYXJ5OiAnQWR2YW5jZSB0dXJuJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpBZHZhbmNlIHRoZSBnYW1lIHRvIHRoZSBuZXh0IHR1cm4uAAAAAIA0VTwFYmxlbmT8Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBibGVuZApzdW1tYXJ5OiAnQmxlbmQgY2FyZ28gc3RhY2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDb21iaW5lIG11bHRpcGxlIGNhcmdvIHN0YWNrcyBvZiB0aGUgc2FtZSBpdGVtIHR5cGUgaW50byBhIHNpbmdsZSBzdGFjayB3aXRoIG5ldyBibGVuZGVkIHN0YXRzLiBBbGwgaW5wdXQgc3RhY2tzIG11c3Qgc2hhcmUgdGhlIHNhbWUgaXRlbSBpZC4gVGhlIG91dHB1dCBzdGFjayBoYXMgdGhlIGNvbWJpbmVkIHF1YW50aXR5IG9mIGFsbCBpbnB1dHMuAAAAAESFpkEGY2FuY2VswgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2FuY2VsCnN1bW1hcnk6ICdDYW5jZWwgc2NoZWR1bGVkIHRhc2tzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpDYW5jZWwgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgdGFza3MgZnJvbSB0aGUgZW5kIG9mIGFuIGVudGl0eSdzIHNjaGVkdWxlLiBUYXNrcyB0aGF0IGFyZSBpbW11dGFibGUgYW5kIGluIHByb2dyZXNzIGNhbm5vdCBiZSBjYW5jZWxsZWQucFW+JmPpTEQMY2xhaW1zdGFydGVyhQQtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xhaW1zdGFydGVyCnN1bW1hcnk6ICdERUJVRzogY2xhaW0gYSBzdGFydGVyIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClNwYXduIGEgcHJlLWtpdHRlZCBUMSBzdGFydGVyIHNoaXAgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGVzIGZvciBhIHJlZ2lzdGVyZWQgcGxheWVyLiBBdmFpbGFibGUgb25seSBvbiB0ZXN0IGRlcGxveW1lbnRzIHdoZXJlIG5vIGluLWdhbWUgc2hpcCBlY29ub215IHlldCBleGlzdHMuIFJlcXVpcmVzIHRoZSBjYWxsZXIgdG8gYmUgYSBqb2luZWQgcGxheWVyIHdpdGggbm8gZXhpc3Rpbmcgc2hpcHM7IHRoZSByZXN1bHRpbmcgc2hpcCBpcyBmaXR0ZWQgd2l0aCBhIGdlbmVyYXRvciwgZW5naW5lLCBnYXRoZXJlciwgY3JhZnRlciwgYW5kIGhhdWxlciBtb2R1bGUuAACoG99pVEQJY2xlYW5yc3Zw7AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY2xlYW5yc3ZwCnN1bW1hcnk6ICdDbGVhbiB1cCBwYXN0IGVwb2NoIHJlc2VydmVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFcmFzZSByZXNlcnZlIHRhYmxlIHJvd3MgZnJvbSBhIHBhc3QgZXBvY2guIENhbm5vdCBjbGVhbiB0aGUgY3VycmVudCBvciBmdXR1cmUgZXBvY2hzLiBUaGUgbWF4X3Jvd3MgcGFyYW1ldGVyIGNhcHMgdGhlIG51bWJlciBvZiByb3dzIGVyYXNlZCBwZXIgY2FsbCB0byBsaW1pdCBDUFUgdXNhZ2UuAICKx+RrVEQKY2xlYXJ0YWJsZb4BLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNsZWFydGFibGUKc3VtbWFyeTogJ0RFQlVHOiBjbGVhcnRhYmxlIGFjdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAABkJyVFBmNvbW1pdOwBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNvbW1pdApzdW1tYXJ5OiAnU2V0IGNvbW1pdCB2YWx1ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKU2V0IHRoZSBpbml0aWFsIGNvbW1pdCB2YWx1ZSBkdXJpbmcgZ2FtZSBpbml0aWFsaXphdGlvbi4AAGA0MrcmRQljb25maWdsb2fdAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBjb25maWdsb2cKc3VtbWFyeTogJ0xvZyBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkludGVybmFsIGFjdGlvbiB0aGF0IGxvZ3MgdGhlIGN1cnJlbnQgZ2FtZSBjb25maWd1cmF0aW9uLiBDYWxsZWQgaW5saW5lIGFmdGVyIGluaXRpYWxpemF0aW9uIHRvIGJyb2FkY2FzdCBjb25maWcgdmlhIGFjdGlvbiB0cmFjZXMuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AAAAAgLzMRQVjcmFmdMgDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGNyYWZ0CnN1bW1hcnk6ICdDcmFmdCBpdGVtcyBmcm9tIGEgcmVjaXBlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUcmFuc2Zvcm0gY2FyZ28gaXRlbXMgaW50byBhIG5ldyBpdGVtIHVzaW5nIGEgcmVjaXBlLiBUaGUgZW50aXR5IG11c3QgaGF2ZSBhIGNyYWZ0ZXIgbW9kdWxlIGluc3RhbGxlZC4gQ29uc3VtZXMgZW5lcmd5IGFuZCBzY2hlZHVsZXMgYSBjcmFmdGluZyB0YXNrIHdpdGggZHVyYXRpb24gYmFzZWQgb24gdG90YWwgaW5wdXQgbWFzcyBhbmQgY3JhZnRlciBzcGVlZC4gSW5wdXQgcXVhbnRpdGllcyBtdXN0IGV4YWN0bHkgbWF0Y2ggdGhlIHJlY2lwZSByZXF1aXJlbWVudHMu4LPLU6ls1EUMY3JlYXRlZW50aXR5vwEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogY3JlYXRlZW50aXR5CnN1bW1hcnk6ICdERUJVRzogY3JlYXRlIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQAAAA27SKVKCGRlbW9saXNo8QMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZGVtb2xpc2gKc3VtbWFyeTogJ0RlbW9saXNoIGEgc3RhdGlvbmFyeSBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkRlY29tbWlzc2lvbiBhbiBlbnRpdHksIGVyYXNpbmcgaXQgZnJvbSB0aGUgZ2FtZS4gVGhlIGVudGl0eSBtdXN0IGJlIGlkbGUsIGhhdmUgZW1wdHkgY2FyZ28sIGFuZCBoYXZlIG5vIGluc3RhbGxlZCBtb2R1bGVzIChyZW1vdmUgZWFjaCB2aWEgcm1tb2R1bGUgZmlyc3QpLiBTY2hlZHVsZXMgYSBkZW1vbGlzaCB0YXNrIHRoYXQgZXJhc2VzIHRoZSBlbnRpdHkgb24gcmVzb2x1dGlvbi4gT25seSB2YWxpZCBmb3IgZW50aXRpZXMgdGhhdCBjYW5ub3QgbW92ZTsgdXNlIHVuZGVwbG95IG9yIHdyYXBlbnRpdHkgZm9yIHRoZSByZXN0LgAAAAB4GqtKBmRlcGxveewCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGRlcGxveQpzdW1tYXJ5OiAnRGVwbG95IGEgcGFja2VkIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVW5wYWNrIGEgcGFja2VkIGVudGl0eSBpdGVtIChwYWNrZWQgc2hpcCBvciBwYWNrZWQgY29udGFpbmVyKSBmcm9tIGNhcmdvLCBzY2hlZHVsaW5nIGEgZGVwbG95IHRhc2sgdGhhdCBjcmVhdGVzIHRoZSBuZXcgZW50aXR5IGF0IHRoZSBkZXBsb3lpbmcgZW50aXR5J3MgbG9jYXRpb24gdXBvbiByZXNvbHV0aW9uLgCAzy5PhbBKCmRlc2NlbnRpdHnJAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBkZXNjZW50aXR5CnN1bW1hcnk6ICdEZXNjcmliZSBhIHBhY2tlZCBlbnRpdHknCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gc3RyaW5nIGZvciBhIHBhY2tlZCBlbnRpdHksIGRlcml2ZWQgZnJvbSB0aGUgZW50aXR5IGl0ZW0gaWQsIGh1bGwgc3RhdHMsIGFuZCB0aGUgbGlzdCBvZiBpbnN0YWxsZWQgbW9kdWxlIGl0ZW0gaWRzIGFuZCBzdGF0cy4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyBhbmQgTkZUIHJlbmRlcmVycyB0byBkaXNwbGF5IHBhY2tlZCBlbnRpdGllcy4AAAAAqHjMVAZlbmFibGXdAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBlbmFibGUKc3VtbWFyeTogJ1NldCBlbmFibGVkIHN0YXRlJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpFbmFibGUgb3IgZGlzYWJsZSB0aGlzIGdhbWUgb2YgU2hpcGxvYWQugLGRlF2DulsMZml4Y2FyZ29tYXNzAAAAAABc1bJhBmdhdGhlcpcDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdhdGhlcgpzdW1tYXJ5OiAnR2F0aGVyIHJlc291cmNlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKR2F0aGVyIHJlc291cmNlcyBhdCB0aGUgc2hpcCdzIGN1cnJlbnQgbG9jYXRpb24uIE9ubHkgd29ya3MgYXQgZ2F0aGVyYWJsZSBsb2NhdGlvbiB0eXBlcy4gU2NoZWR1bGVzIGEgZ2F0aGVyIHRhc2sgdGhhdCBjb25zdW1lcyBlbmVyZ3kgYW5kIHlpZWxkcyBjYXJnbyBiYXNlZCBvbiB0aGUgc2hpcCdzIGdhdGhlcmVyIHN0YXRzIGFuZCB0aGUgbG9jYXRpb24ncyByZXNvdXJjZSBjb21wb3NpdGlvbi4AAGBuTYqyYglnZXRjb25maWfKAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRjb25maWcKc3VtbWFyeTogJ0dldCBnYW1lIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgdGhlIGdhbWUgY29uZmlndXJhdGlvbiBpbmNsdWRpbmcgZGVmYXVsdCBlbnRpdHkgc3RhdHMgZm9yIHdhcmVob3VzZXMgYW5kIGNvbnRhaW5lcnMsIGFuZCB0aGUgZnVsbCBpdGVtIGRlZmluaXRpb25zIHRhYmxlLgBUPI65qLJiC2dldGVsaWdpYmxlyAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0ZWxpZ2libGUKc3VtbWFyeTogJ0dldCBlbGlnaWJsZSByZXNvdXJjZSBpdGVtIElEcyBhdCBhIGxvY2F0aW9uIGFuZCBzdHJhdHVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbGlzdCBvZiByZXNvdXJjZSBpdGVtIElEcyBlbGlnaWJsZSB0byBiZSBnYXRoZXJlZCBhdCB0aGUgZ2l2ZW4gY29vcmRpbmF0ZXMgYW5kIHN0cmF0dW0gZGVwdGguIEl0ZW1zIGFyZSBnYXRlZCBieSBib3RoIHRoZSBsb2NhdGlvbidzIHJlc291cmNlIHByb2ZpbGUgYW5kIHRoZSBkZXB0aCB0aHJlc2hvbGQgZm9yIGVhY2ggdGllci4AsHLZ5amyYgtnZXRlbnRpdGllc6QCLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0aWVzCnN1bW1hcnk6ICdHZXQgYWxsIGVudGl0aWVzIGZvciBhIHBsYXllcicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyBmdWxsIGVudGl0eSBpbmZvIGZvciBhbGwgZW50aXRpZXMgb3duZWQgYnkgYSBwbGF5ZXIuIE9wdGlvbmFsbHkgZmlsdGVyIGJ5IGVudGl0eSB0eXBlLgAA8NnlqbJiCWdldGVudGl0eaICLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGVudGl0eQpzdW1tYXJ5OiAnR2V0IGVudGl0eSBzdGF0ZScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbiBlbnRpdHkgaW5jbHVkaW5nIGlkZW50aXR5LCBjYXJnbywgc2NoZWR1bGUgc3RhdGUsIGFuZCB0eXBlLXNwZWNpZmljIGZpZWxkcy4ATDZJquyyYgtnZXRpdGVtZGF0YagDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldGl0ZW1kYXRhCnN1bW1hcnk6ICdHZXQgZnVsbCBpdGVtIGNhdGFsb2cnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBjb21wbGV0ZSBpdGVtIGNhdGFsb2cgYXMgdGhlIGNvbnRyYWN0IHNlZXMgaXQsIGluY2x1ZGluZyB0eXBlLCBzdWJ0eXBlLCB0aWVyLCBtYXNzLCBhbmQgb3RoZXIgc3RhdGljIG1ldGFkYXRhLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIGFuZCBjbGllbnRzIHRvIG1pcnJvciB0aGUgY29udHJhY3QncyBpdGVtIGRlZmluaXRpb25zLgAATk6q7LJiCmdldGl0ZW1pZHOGAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtaWRzCnN1bW1hcnk6ICdHZXQgaXRlbSBpZCB0byBuYW1lIG1hcHBpbmdzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBtYXBwaW5nIG9mIGl0ZW0gaWQgY29uc3RhbnRzIHRvIHRoZWlyIGNhbm9uaWNhbCBzdHJpbmcgbmFtZXMuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gcmVzb2x2ZSBudW1lcmljIGl0ZW0gaWRzIHRvIGh1bWFuLXJlYWRhYmxlIGlkZW50aWZpZXJzLgAAAFiq7LJiCGdldGl0ZW1zmgItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0aXRlbXMKc3VtbWFyeTogJ0dldCBhbGwgYXZhaWxhYmxlIGl0ZW1zJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGEgbGlzdCBvZiBhbGwgaXRlbXMgaW4gdGhlIGdhbWUgaW5jbHVkaW5nIHRoZWlyIGlkLCBiYXNlIHByaWNlLCBhbmQgbWFzcy6AVfVZquyyYgxnZXRpdGVtdHlwZXOIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRpdGVtdHlwZXMKc3VtbWFyeTogJ0dldCBpdGVtIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBpdGVtIHR5cGUgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAocmVzb3VyY2UsIGNvbXBvbmVudCwgbW9kdWxlLCBlbnRpdHkpLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRlY29kZSBpdGVtIHR5cGUgaWRlbnRpZmllcnMuACZ12SAas2ILZ2V0bG9jYXRpb27iAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NhdGlvbgpzdW1tYXJ5OiAnR2V0IGxvY2F0aW9uIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgbG9jYXRpb24gaW5jbHVkaW5nIHdoZXRoZXIgYSBzeXN0ZW0gZXhpc3RzLCBhbmQgZm9yIGVhY2ggaXRlbTogcHJpY2UsIHN1cHBseSwgcmFyaXR5IG11bHRpcGxpZXIsIGFuZCBsb2NhdGlvbiBtdWx0aXBsaWVyLgCAySYhGrNiCmdldGxvY2RhdGH+Ai0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRsb2NkYXRhCnN1bW1hcnk6ICdHZXQgZGVyaXZlZCBsb2NhdGlvbiBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGRlcml2ZWQgbG9jYXRpb24gZGF0YSBpbmNsdWRpbmcgc3RhdGljIHByb3BlcnRpZXMgKHR5cGUsIGRpZmZpY3VsdHksIHNlZWRzKSBmcm9tIHRoZSBnYW1lIHNlZWQgYW5kIGVwb2NoLXNwZWNpZmljIHByb3BlcnRpZXMgKGFjdGl2ZSwgc2VlZHMpIGZyb20gdGhlIGN1cnJlbnQgZXBvY2ggc2VlZC4AsKo+JyqzYgtnZXRtb2R0eXBlc9YDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldG1vZHR5cGVzCnN1bW1hcnk6ICdHZXQgbW9kdWxlIHR5cGUgZW51bSB2YWx1ZXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBtb2R1bGUgdHlwZSBlbnVtIHZhbHVlcyBhbmQgdGhlaXIgc3RyaW5nIG5hbWVzIChhbnksIGVuZ2luZSwgZ2VuZXJhdG9yLCBnYXRoZXJlciwgbG9hZGVyLCB3YXJwLCBjcmFmdGVyLCBsYXVuY2hlciwgc3RvcmFnZSwgaGF1bGVyKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgbW9kdWxlIHN1YnR5cGUgaWRlbnRpZmllcnMgYW5kIHNsb3QgY29tcGF0aWJpbGl0eS4AAFZRJyqzYgpnZXRtb2R1bGVzgAMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bW9kdWxlcwpzdW1tYXJ5OiAnR2V0IGFsbCBtb2R1bGUgaXRlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBzdWJzZXQgb2YgaXRlbXMgY2xhc3NpZmllZCBhcyBtb2R1bGVzLCBpbmNsdWRpbmcgZWFjaCBtb2R1bGUncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGluc3RhbGxhYmxlIGVxdWlwbWVudC4AAPDnGjWzYglnZXRuZWFyYnneAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRuZWFyYnkKc3VtbWFyeTogJ0dldCBuZWFyYnkgcmVhY2hhYmxlIHN5c3RlbXMnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgYWN0aW9uIHJldHVybnMgbmVhcmJ5IHN5c3RlbXMgcmVhY2hhYmxlIGJ5IGFuIGVudGl0eSBmcm9tIGl0cyBwcm9qZWN0ZWQgbG9jYXRpb24uIFJldHVybnMgY3VycmVudCBzdGF0ZSAod2l0aCBjb21wbGV0ZWQgdGFza3MgcmVzb2x2ZWQpLCBwcm9qZWN0ZWQgc3RhdGUgKGFmdGVyIGFsbCBzY2hlZHVsZWQgdGFza3MpLCBhbmQgYSBsaXN0IG9mIHJlYWNoYWJsZSBzeXN0ZW1zIHdpdGggZGlzdGFuY2UsIGVuZXJneSBjb3N0LCBmbGlnaHQgdGltZSwgYW5kIG1hcmtldCBpbmZvcm1hdGlvbi4AAF3T5TWzYgpnZXRuZnRpbmZv8AMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0bmZ0aW5mbwpzdW1tYXJ5OiAnR2V0IE5GVCBzY2hlbWEgYW5kIHRlbXBsYXRlIGNvbmZpZ3VyYXRpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSBmdWxsIHNldCBvZiBBdG9taWNBc3NldHMgc2NoZW1hcyBhbmQgdGVtcGxhdGVzIHRoZSBnYW1lIGNvbnRyYWN0IGV4cGVjdHMsIHBsdXMgdGhlIGN1cnJlbnQgYGl0ZW1faWQg4oaSICh0ZW1wbGF0ZV9pZCwgc2NoZW1hX25hbWUpYCBtYXBwaW5nIHN0b3JlZCBpbiB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gc3luYyBhdG9taWNhc3NldHMgc3RhdGUgd2l0aCB0aGUgY29udHJhY3QuAAC4yptYs2IJZ2V0cGxheWVy/QItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cGxheWVyCnN1bW1hcnk6ICdHZXQgcGxheWVyIGluZm9ybWF0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgcGxheWVyIGluY2x1ZGluZyBiYWxhbmNlLCBkZWJ0LCBuZXR3b3J0aCwgZW50aXR5IGNvdW50cywgYW5kIHByaWNpbmcgZm9yIG5leHQgcHVyY2hhc2VzLiBSZXR1cm5zIGlzX3BsYXllcj1mYWxzZSBpZiB0aGUgYWNjb3VudCBoYXMgbm90IGpvaW5lZCB0aGUgZ2FtZS4AAFDVIXWzYglnZXRyZWNpcGWmAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRyZWNpcGUKc3VtbWFyeTogJ0dldCBhIHNpbmdsZSBjcmFmdGluZyByZWNpcGUnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClRoaXMgaXMgYSByZWFkLW9ubHkgcXVlcnkgdGhhdCByZXR1cm5zIHRoZSByZWNpcGUgd2hvc2Ugb3V0cHV0IG1hdGNoZXMgdGhlIGdpdmVuIGl0ZW0gaWQsIGluY2x1ZGluZyBpdHMgaW5wdXRzLCBibGVuZCB3ZWlnaHRzLCBzdGF0IHNsb3RzLCBhbmQgcmVzb2x2ZWQgaXRlbSBtYXNzIGluZm8uIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZGlzcGxheSBjcmFmdGluZyByZXF1aXJlbWVudHMuAABW1SF1s2IKZ2V0cmVjaXBlc6wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlY2lwZXMKc3VtbWFyeTogJ0xpc3QgY3JhZnRpbmcgcmVjaXBlcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgYSBwYWdpbmF0ZWQgbGlzdCBvZiBjcmFmdGluZyByZWNpcGVzIHN0YXJ0aW5nIGF0IHRoZSBwcm92aWRlZCBsb3dlciBib3VuZCBvdXRwdXQgaXRlbSBpZCwgdXAgdG8gdGhlIHNwZWNpZmllZCBsaW1pdC4gRWFjaCBlbnRyeSBpbmNsdWRlcyBpbnB1dHMsIGJsZW5kIHdlaWdodHMsIHN0YXQgc2xvdHMsIGFuZCByZXNvbHZlZCBpdGVtIG1hc3MgaW5mby4AAM4GYXWzYgpnZXRyZXNjYXRzngMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0cmVzY2F0cwpzdW1tYXJ5OiAnR2V0IHJlc291cmNlIGNhdGVnb3J5IGVudW0gdmFsdWVzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgcmVzb3VyY2UgY2F0ZWdvcnkgZW51bSB2YWx1ZXMgYW5kIHRoZWlyIHN0cmluZyBuYW1lcyAob3JlLCBnYXMsIHJlZ29saXRoLCBiaW9tYXNzLCBjcnlzdGFsKS4gVXNlZCBieSBvZmYtY2hhaW4gdG9vbGluZyB0byBkZWNvZGUgcmVzb3VyY2Ugc3VidHlwZSBpZGVudGlmaWVycy4AsNpXYXWzYgtnZXRyZXNlcnZlc/wDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc2VydmVzCnN1bW1hcnk6ICdHZXQgY3VycmVudCByZXNlcnZlIG1vZGlmaWNhdGlvbnMgYXQgYSBsb2NhdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBhY3Rpb24gcmV0dXJucyB0aGUgY2hhaW4ncyBtb2RpZmljYXRpb25zIHRvIGRlcml2ZWQgcmVzZXJ2ZXMgYXQgdGhlIGdpdmVuIGNvb3JkaW5hdGUgZm9yIHRoZSBjdXJyZW50IGVwb2NoIGFzIGEgbGlzdCBvZiB7c3RyYXR1bSwgcmVtYWluaW5nfSBwYWlycy4gU3RyYXRhIG5vdCBwcmVzZW50IGluIHRoZSByZXNwb25zZSB1c2UgdGhlaXIgZGVyaXZlZCBpbml0aWFsIHJlc2VydmUuIENvbXBvc2Ugd2l0aCBTREsgZGVyaXZhdGlvbiB0byBnZXQgdGhlIGZ1bGwgcGVyLWxvY2F0aW9uIHN0cmF0YSB2aWV3LoAVuppidbNiDGdldHJlc291cmNlc4cDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdldHJlc291cmNlcwpzdW1tYXJ5OiAnR2V0IGFsbCByZXNvdXJjZSBpdGVtcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVGhpcyBpcyBhIHJlYWQtb25seSBxdWVyeSB0aGF0IHJldHVybnMgdGhlIHN1YnNldCBvZiBpdGVtcyBjbGFzc2lmaWVkIGFzIHJlc291cmNlcywgaW5jbHVkaW5nIGVhY2ggcmVzb3VyY2UncyBpZCwgbWFzcywgc3VidHlwZSwgYW5kIHRpZXIuIFVzZWQgYnkgb2ZmLWNoYWluIHRvb2xpbmcgdG8gZW51bWVyYXRlIGdhdGhlcmFibGUgbWF0ZXJpYWxzLgAAADjTiLNiCGdldHNsb3RzuwMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c2xvdHMKc3VtbWFyeTogJ0dldCBlbnRpdHkgc2xvdCBsYXlvdXRzJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGlzIGEgcmVhZC1vbmx5IHF1ZXJ5IHRoYXQgcmV0dXJucyB0aGUgbW9kdWxlIHNsb3QgbGF5b3V0IGZvciBldmVyeSBlbnRpdHkgaXRlbSB0eXBlLCBsaXN0aW5nIHRoZSBvcmRlcmVkIHNsb3QgdHlwZXMgYXZhaWxhYmxlIGZvciBtb2R1bGUgaW5zdGFsbGF0aW9uLiBVc2VkIGJ5IG9mZi1jaGFpbiB0b29saW5nIHRvIGRldGVybWluZSB3aGljaCBtb2R1bGUgdHlwZXMgYXJlIGNvbXBhdGlibGUgd2l0aCBhIGdpdmVuIGVudGl0eSBodWxsLgCA1NncjLNiCmdldHN0cmF0dW3SAi0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBnZXRzdHJhdHVtCnN1bW1hcnk6ICdHZXQgcmVzb3VyY2Ugc3RyYXR1bSBkYXRhJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpUaGlzIGFjdGlvbiByZXR1cm5zIHJlc291cmNlIHN0cmF0dW0gZGF0YSBmb3IgYSBzcGVjaWZpYyBkZXB0aCBsYXllciBhdCBhIGNvb3JkaW5hdGUsIGluY2x1ZGluZyB0aGUgc3RyYXR1bSBzZWVkIGluZm8gYW5kIGRlcml2ZWQgcmVzb3VyY2Ugc3RhdHMugJW7RkqNs2IMZ2V0c3VtbWFyaWVz6AItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogZ2V0c3VtbWFyaWVzCnN1bW1hcnk6ICdHZXQgZW50aXR5IHN1bW1hcmllcyBmb3IgYSBwbGF5ZXInCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJldHVybnMgbGlnaHR3ZWlnaHQgc3VtbWFyaWVzIG9mIGFsbCBlbnRpdGllcyBvd25lZCBieSBhIHBsYXllciBpbmNsdWRpbmcgdHlwZSwgaWQsIG93bmVyLCBuYW1lLCBsb2NhdGlvbiwgYW5kIGlkbGUgc3RhdHVzLiBPcHRpb25hbGx5IGZpbHRlciBieSBlbnRpdHkgdHlwZS4Aotrm5qrpZQtncm91cHRyYXZlbJoELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGdyb3VwdHJhdmVsCnN1bW1hcnk6ICdNb3ZlIG11bHRpcGxlIGVudGl0aWVzIHRvZ2V0aGVyJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbml0aWF0ZSBncm91cCB0cmF2ZWwgZm9yIG11bHRpcGxlIGVudGl0aWVzIHRvIGEgZGVzdGluYXRpb24uIEFsbCBlbnRpdGllcyBtdXN0IGJlIGF0IHRoZSBzYW1lIGxvY2F0aW9uIGFuZCBvd25lZCBieSB0aGUgY2FsbGVyLiBBdCBsZWFzdCBvbmUgZW50aXR5IHdpdGggZW5naW5lcyBpcyByZXF1aXJlZCB0byBwcm92aWRlIHRocnVzdC4gRmxpZ2h0IGR1cmF0aW9uIGlzIGNhbGN1bGF0ZWQgZnJvbSBjb21iaW5lZCB0aHJ1c3QgYW5kIHRvdGFsIG1hc3Mgb2YgYWxsIGVudGl0aWVzLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGZvciBhdG9taWMgcmVzb2x1dGlvbiBhbmQgY2FuY2VsbGF0aW9uLgAAAAAA0LBpBGhhc2j4AS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBoYXNoCnN1bW1hcnk6ICdDYWxjdWxhdGUgc2hhMjU2IGhhc2gnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkNhbGN1bGF0ZXMgdGhlIHNoYTI1NiBoYXNoIG9mIGEgc3RyaW5nIGJhc2VkIHVzaW5nIHRoZSBnYW1lIHNlZWQuAAAAQITSsGkHaGFzaDUxMvsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGhhc2g1MTIKc3VtbWFyeTogJ0NhbGN1bGF0ZSBzaGE1MTIgaGFzaCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQ2FsY3VsYXRlcyB0aGUgc2hhNTEyIGhhc2ggb2YgYSBzdHJpbmcgYmFzZWQgdXNpbmcgdGhlIGdhbWUgc2VlZC4AgPouGpfddAppbml0aWFsaXplgAItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogaW5pdGlhbGl6ZQpzdW1tYXJ5OiAnSW5pdGlhbGl6ZSBnYW1lIHNlZWQnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYWxpemUgYSB0aGUgZ2FtZXMgc2VlZCBhbmQgc2VlZCB2YWx1ZXMgdG8gYm9vdHN0cmFwIGdhbWUgc3RhdGUuAAAAAAAwHX0Eam9pbsQBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IGpvaW4Kc3VtbWFyeTogJ0pvaW4gYSBnYW1lJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpKb2luIGEgZ2FtZSBvZiBTaGlwbG9hZAAAAAD45TKdBm5vdGlmeYoDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IG5vdGlmeQpzdW1tYXJ5OiAnVGFzayBsaWZlY3ljbGUgbm90aWZpY2F0aW9uJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpJbnRlcm5hbCBhY3Rpb24gdGhhdCBub3RpZmllcyBlbnRpdHkgb3duZXJzIG9mIHRhc2sgbGlmZWN5Y2xlIGV2ZW50cyAocmVzb2x2ZWQsIGNhbmNlbGxlZCkuIENhbGxlZCBpbmxpbmUgd2hlbiB0YXNrcyBjaGFuZ2Ugc3RhdGUuIFVzZXMgcmVxdWlyZV9yZWNpcGllbnQgdG8gZW5hYmxlIG9mZi1jaGFpbiBtb25pdG9yaW5nIHZpYSBhY3Rpb24gdHJhY2VzLgAAAIpd05C6CHJlY2hhcmdlzQItLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogcmVjaGFyZ2UKc3VtbWFyeTogJ1JlY2hhcmdlIHNoaXAgZW5lcmd5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpTY2hlZHVsZSBhIHJlY2hhcmdlIHRhc2sgZm9yIGFuIGVudGl0eSB0byByZXN0b3JlIGVuZXJneSB0byBmdWxsIGNhcGFjaXR5LiBUaGUgcmVjaGFyZ2UgZHVyYXRpb24gZGVwZW5kcyBvbiBjdXJyZW50IGVuZXJneSBsZXZlbCBhbmQgcmVjaGFyZ2UgcmF0ZS7gs8tTNXyXugxyZWZyc2hlbnRpdHkAAAAAQO1IsboHcmVzb2x2ZdADLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJlc29sdmUKc3VtbWFyeTogJ0NvbXBsZXRlIHNjaGVkdWxlZCB0YXNrcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKUmVzb2x2ZSBjb21wbGV0ZWQgdGFza3MgaW4gYW4gZW50aXR5J3Mgc2NoZWR1bGUsIGFwcGx5aW5nIHRoZWlyIGVmZmVjdHMgKHJlY2hhcmdlIGVuZXJneSwgdXBkYXRlIGxvY2F0aW9uLCBsb2FkL3VubG9hZCBjYXJnbykuIElmIGNvdW50IGlzIHNwZWNpZmllZCwgcmVzb2x2ZSBleGFjdGx5IHRoYXQgbWFueSB0YXNrczsgb3RoZXJ3aXNlIHJlc29sdmUgYWxsIGNvbXBsZXRlZCB0YXNrcy4gRmFpbHMgaWYgY291bnQgZXhjZWVkcyB0aGUgbnVtYmVyIG9mIGNvbXBsZXRlZCB0YXNrcy4AAAAq6kSlvAhybW1vZHVsZbwDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHJtbW9kdWxlCnN1bW1hcnk6ICdSZW1vdmUgYSBtb2R1bGUgZnJvbSBhIHNsb3QnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KClJlbW92ZSBhbiBpbnN0YWxsZWQgbW9kdWxlIGZyb20gYSBzbG90IG9uIGEgbGl2ZSBlbnRpdHkgb3IgYSBwYWNrZWQgZW50aXR5IGluIGNhcmdvLiBUaGUgZW50aXR5IG11c3QgYmUgaWRsZSB3aXRoIG5vIHNjaGVkdWxlZCB0YXNrcy4gVGhlIG1vZHVsZSBpcyByZXR1cm5lZCB0byBjYXJnby4gRmFpbHMgaWYgdGhlIGVudGl0eSBkb2VzIG5vdCBoYXZlIGVub3VnaCBjYXJnbyBjYXBhY2l0eSB0byBob2xkIHRoZSByZXR1cm5lZCBtb2R1bGUuAAAAbKG8prwIcm1uZnRjZmehAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBybW5mdGNmZwpzdW1tYXJ5OiAnUmVtb3ZlIE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpSZW1vdmUgdGhlIEF0b21pY0Fzc2V0cyB0ZW1wbGF0ZSBtYXBwaW5nIGZvciB0aGUgc3BlY2lmaWVkIGl0ZW0gaWQgZnJvbSB0aGUgYG5mdGNvbmZpZ2AgdGFibGUuIEFmdGVyIHJlbW92YWwgdGhlIGl0ZW0gY2FuIG5vIGxvbmdlciBiZSB3cmFwcGVkIG9yIHVud3JhcHBlZCB1bnRpbCBhIG5ldyBtYXBwaW5nIGlzIHNldC4gUmVxdWlyZXMgY29udHJhY3QgYXV0aG9yaXR5LgAAAAAAkKPBBHNhbHTYAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzYWx0CnN1bW1hcnk6ICdBcHBlbmQgU2FsdCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKQWRkIGFkZGl0aW9uYWwgc2FsdCB0byB0aGUgbmV4dCBlcG9jaCBzZWVkLgAAYAvlNbPCCXNldG5mdGNmZ8QDLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHNldG5mdGNmZwpzdW1tYXJ5OiAnU2V0IE5GVCB0ZW1wbGF0ZSBtYXBwaW5nIGZvciBhbiBpdGVtJwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpCaW5kIGFuIGl0ZW0gaWQgdG8gYW4gQXRvbWljQXNzZXRzIHRlbXBsYXRlIGlkIGFuZCBzY2hlbWEgbmFtZS4gVXNlZCB0byBjb25maWd1cmUgaG93IHRoZSBjb250cmFjdCBtaW50cyBhbmQgcmVjb2duaXplcyBORlRzIGZvciBhIGdpdmVuIGl0ZW0uIEluc2VydHMgYSBuZXcgbWFwcGluZyBpZiBvbmUgZG9lcyBub3QgZXhpc3QsIG9yIHVwZGF0ZXMgdGhlIGV4aXN0aW5nIG1hcHBpbmcuIFJlcXVpcmVzIGNvbnRyYWN0IGF1dGhvcml0eS4AQDRqq1sdxApza2lwcmV2ZWFsAAAAZdegyU3FCnNwYXduY2FyZ2/FAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzcGF3bmNhcmdvCnN1bW1hcnk6ICdERUJVRzogc3Bhd24gY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAJKCyNTJTcULc3Bhd25wYWNrZWTnAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiBzcGF3bnBhY2tlZApzdW1tYXJ5OiAnREVCVUc6IHNwYXduIGEgcGFja2VkIGVudGl0eSB3aXRoIGluc3RhbGxlZCBtb2R1bGVzIG9uIGFuIGVudGl0eScKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQCSSkrhyU3FC3NwYXduc2VlZGVkzQEtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogc3Bhd25zZWVkZWQKc3VtbWFyeTogJ0RFQlVHOiBzcGF3biBzZWVkZWQgY2FyZ28gb24gYW4gZW50aXR5JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tAAAAVy08zc0IdHJhbnNmZXLIAy0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB0cmFuc2ZlcgpzdW1tYXJ5OiAnVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiBlbnRpdGllcycKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKVHJhbnNmZXIgY2FyZ28gYmV0d2VlbiB0d28gZW50aXRpZXMgYXQgdGhlIHNhbWUgbG9jYXRpb24uIEJvdGggZW50aXRpZXMgbXVzdCBiZSBvd25lZCBieSB0aGUgY2FsbGVyIGFuZCBhdCBsZWFzdCBvbmUgbXVzdCBoYXZlIGxvYWRlcnMuIENyZWF0ZXMgbG9hZCBhbmQgdW5sb2FkIHRhc2tzIG9uIGJvdGggZW50aXRpZXMgd2l0aCBkdXJhdGlvbiBiYXNlZCBvbiBjb21iaW5lZCBsb2FkZXIgY2FwYWNpdHkgYW5kIFotZGlzdGFuY2UgYmV0d2VlbiB0aGVtLgAAAABEtc3NBnRyYXZlbPsBLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHRyYXZlbApzdW1tYXJ5OiAnTW92ZSBhIHNoaXAnCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0KCkluaXRpYXRlIHRyYXZlbCBvZiBhbiBlbnRpdHkgZnJvbSBpdHMgY3VycmVudCBsb2NhdGlvbiB0byBhIG5ldyBkZXN0aW5hdGlvbi4AAACexqrS1Ah1bmRlcGxveecELS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHVuZGVwbG95CnN1bW1hcnk6ICdQYWNrIGEgZGVwbG95ZWQgZW50aXR5IGludG8gYSBob3N0JwppY29uOiBodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQ3MjkyODYxP3M9NDAwJnU9M2IxYWY2NmU5MGRkODUxZjRkN2MwOTZlZDZhMmZiYjRiOWUxOTBkYQoKLS0tCgpQYWNrIGFuIGVudGl0eSBpbnRvIGEgaG9zdCBlbnRpdHkncyBjYXJnbyBhcyBhIHBhY2tlZC1lbnRpdHkgaXRlbS4gSG9zdCBhbmQgdGFyZ2V0IG11c3Qgc2hhcmUgdGhlIHNhbWUgb3duZXIgYW5kIGNvb3JkaW5hdGVzLCB0aGUgaG9zdCBtdXN0IGhhdmUgbG9hZGVycyBhbmQgZW5vdWdoIGNhcGFjaXR5IGZvciB0aGUgcGFja2VkIG1hc3MsIGFuZCB0aGUgdGFyZ2V0IG11c3QgYmUgaWRsZSB3aXRoIGVtcHR5IGNhcmdvLiBDcmVhdGVzIGFuIGVudGl0eWdyb3VwIGFuZCBzY2hlZHVsZXMgdW5kZXBsb3kgdGFza3Mgb24gYm90aCBlbnRpdGllczsgb24gcmVzb2x1dGlvbiB0aGUgdGFyZ2V0IGlzIGVyYXNlZCBhbmQgdGhlIHBhY2tlZCBlbnRpdHkgaXMgYWRkZWQgdG8gdGhlIGhvc3QncyBjYXJnby4gSW52ZXJzZSBvZiBkZXBsb3kuAAAAAABQr+EEd2FycJ8DLS0tCgpzcGVjX3ZlcnNpb246ICIwLjIuMCIKdGl0bGU6IHdhcnAKc3VtbWFyeTogJ1dhcnAgdG8gYSBkZXN0aW5hdGlvbicKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKSW5zdGFudGx5IHRlbGVwb3J0IGFuIGVudGl0eSB0byBhIGRlc3RpbmF0aW9uIHN5c3RlbS4gUmVxdWlyZXMgd2FycCBjYXBhYmlsaXR5LCBmdWxsIGVuZXJneSwgZW1wdHkgY2FyZ28sIGFuZCBhbiBlbXB0eSBzY2hlZHVsZS4gVGhlIGRlc3RpbmF0aW9uIG11c3QgYmUgYSB2YWxpZCBzeXN0ZW0gd2l0aGluIHdhcnAgcmFuZ2UuIFJlc29sdmVzIGltbWVkaWF0ZWx5IGFzIGEgemVyby1kdXJhdGlvbiB0YXNrLgAAAAAAoKrjBHdpcGWyAS0tLQoKc3BlY192ZXJzaW9uOiAiMC4yLjAiCnRpdGxlOiB3aXBlCnN1bW1hcnk6ICdERUJVRzogd2lwZSBhY3Rpb24nCmljb246IGh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNDcyOTI4NjE/cz00MDAmdT0zYjFhZjY2ZTkwZGQ4NTFmNGQ3YzA5NmVkNmEyZmJiNGI5ZTE5MGRhCgotLS0AAAAAAFDN5QR3cmFw/gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd3JhcApzdW1tYXJ5OiAnV3JhcCBjYXJnbyBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKV3JhcCBhIHF1YW50aXR5IG9mIGNhcmdvIGZyb20gYW4gZW50aXR5IGludG8gYW4gQXRvbWljQXNzZXRzIE5GVCBtaW50ZWQgdG8gdGhlIHNwZWNpZmllZCBvd25lci4gVGhlIGVudGl0eSBtdXN0IGJlIGF0IGEgbmV4dXMsIGhhdmUgbG9hZGVycywgYW5kIGNvbnRhaW4gZW5vdWdoIG9mIHRoZSByZXF1ZXN0ZWQgY2FyZ28uIFNjaGVkdWxlcyBhIHdyYXAgdGFzayB0aGF0LCBvbiByZXNvbHV0aW9uLCByZW1vdmVzIHRoZSBjYXJnbyBmcm9tIHRoZSBlbnRpdHkgYW5kIG1pbnRzIHRoZSBORlQgdXNpbmcgdGhlIHRlbXBsYXRlIGNvbmZpZ3VyZWQgZm9yIHRoYXQgaXRlbSBpZC4AgM8uT1XN5Qp3cmFwZW50aXR55gMtLS0KCnNwZWNfdmVyc2lvbjogIjAuMi4wIgp0aXRsZTogd3JhcGVudGl0eQpzdW1tYXJ5OiAnV3JhcCBhIGRlcGxveWVkIGVudGl0eSBpbnRvIGFuIE5GVCcKaWNvbjogaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0NzI5Mjg2MT9zPTQwMCZ1PTNiMWFmNjZlOTBkZDg1MWY0ZDdjMDk2ZWQ2YTJmYmI0YjllMTkwZGEKCi0tLQoKV3JhcCBhbiBlbnRpdHkgaW50byBhbiBBdG9taWNBc3NldHMgTkZUIG1pbnRlZCB0byBpdHMgb3duZXIuIFRoZSBlbnRpdHkgbXVzdCBiZSBhdCBhIG5leHVzLCBpZGxlIHdpdGggZW1wdHkgY2FyZ28sIGFuZCBoYXZlIGFuIG5mdGNvbmZpZyBtYXBwaW5nIGZvciBpdHMgaXRlbSBpZC4gU2NoZWR1bGVzIGEgd3JhcCB0YXNrIHRoYXQsIG9uIHJlc29sdXRpb24sIGVyYXNlcyB0aGUgZW50aXR5IGFuZCBtaW50cyB0aGUgTkZUIHByZXNlcnZpbmcgaXRzIHN0YXRzIGFuZCBpbnN0YWxsZWQgbW9kdWxlcy4IAAAAAADKrkEDaTY0AAAJY2FyZ29fcm93AAAAAPjs8lQDaTY0AAAKZW50aXR5X3JvdwCqppf57PJUA2k2NAAAD2VudGl0eWdyb3VwX3JvdwAAYG5NivKaA2k2NAAADW5mdGNvbmZpZ19yb3cAAAAAXOVNrANpNjQAAApwbGF5ZXJfcm93AAAAQO2rsLoDaTY0AAALcmVzZXJ2ZV9yb3cAAAAAAJVNxgNpNjQAAAlzdGF0ZV9yb3cAAAAAAKyqzwNpNjQAAAl0eXBlc19yb3cBEVNoaXBsb2FkIChTZXJ2ZXIpEVNoaXBsb2FkIChTZXJ2ZXIpAAAAKAAAAABEhaZBDmNhbmNlbF9yZXN1bHRzAAAAAIC8zEUMdGFza19yZXN1bHRzAAAADbtIpUoMdGFza19yZXN1bHRzAAAAAHgaq0oMdGFza19yZXN1bHRzAIDPLk+FsEoGc3RyaW5nAAAAAFzVsmEMdGFza19yZXN1bHRzAABgbk2KsmILZ2FtZV9jb25maWcAVDyOuaiyYgh1aW50MTZbXQCwctnlqbJiDWVudGl0eV9pbmZvW10AAPDZ5amyYgtlbnRpdHlfaW5mbwBMNkmq7LJiD2l0ZW1kYXRhX3Jlc3VsdAAATk6q7LJiD2l0ZW1faWRzX3Jlc3VsdAAAAFiq7LJiCml0ZW1zX2luZm+AVfVZquyyYgtlbnVtX3Jlc3VsdAAmddkgGrNiDWxvY2F0aW9uX2luZm8AgMkmIRqzYhBsb2NhdGlvbl9kZXJpdmVkALCqPicqs2ILZW51bV9yZXN1bHQAAFZRJyqzYg5tb2R1bGVzX3Jlc3VsdAAA8OcaNbNiC25lYXJieV9pbmZvAABd0+U1s2IObmZ0aW5mb19yZXN1bHQAALjKm1izYgtwbGF5ZXJfaW5mbwAAUNUhdbNiDnJlY2lwZXNfcmVzdWx0AABW1SF1s2IOcmVjaXBlc19yZXN1bHQAAM4GYXWzYgtlbnVtX3Jlc3VsdACw2ldhdbNiE3N0cmF0dW1fcmVtYWluaW5nW12AFbqaYnWzYhByZXNvdXJjZXNfcmVzdWx0AAAAONOIs2IVZW50aXR5X2xheW91dHNfcmVzdWx0AIDU2dyMs2IMc3RyYXR1bV9kYXRhgJW7RkqNs2IQZW50aXR5X3N1bW1hcnlbXQCi2ubmqullDHRhc2tfcmVzdWx0cwAAAAAA0LBpC2NoZWNrc3VtMjU2AAAAQITSsGkLY2hlY2tzdW01MTIAAACKXdOQugx0YXNrX3Jlc3VsdHMAAABA7Uixug9yZXNvbHZlX3Jlc3VsdHMAAABXLTzNzQx0YXNrX3Jlc3VsdHMAAAAARLXNzQx0YXNrX3Jlc3VsdHMAAACexqrS1Ax0YXNrX3Jlc3VsdHMAAAAAAFCv4Qx0YXNrX3Jlc3VsdHMAAAAAAFDN5Qx0YXNrX3Jlc3VsdHMAgM8uT1XN5Qx0YXNrX3Jlc3VsdHM=');
215
+ ABI.from(abiBlob);
216
+ var Types;
217
+ (function (Types) {
218
+ let packed_module = class packed_module extends Struct {
219
+ };
220
+ __decorate([
221
+ Struct.field(UInt16)
222
+ ], packed_module.prototype, "item_id", void 0);
223
+ __decorate([
224
+ Struct.field(UInt64)
225
+ ], packed_module.prototype, "stats", void 0);
226
+ packed_module = __decorate([
227
+ Struct.type('packed_module')
228
+ ], packed_module);
229
+ Types.packed_module = packed_module;
230
+ let module_entry = class module_entry extends Struct {
231
+ };
232
+ __decorate([
233
+ Struct.field(UInt8)
234
+ ], module_entry.prototype, "type", void 0);
235
+ __decorate([
236
+ Struct.field(packed_module, { optional: true })
237
+ ], module_entry.prototype, "installed", void 0);
238
+ module_entry = __decorate([
239
+ Struct.type('module_entry')
240
+ ], module_entry);
241
+ Types.module_entry = module_entry;
242
+ let cargo_ref = class cargo_ref extends Struct {
243
+ };
244
+ __decorate([
245
+ Struct.field(UInt16)
246
+ ], cargo_ref.prototype, "item_id", void 0);
247
+ __decorate([
248
+ Struct.field(UInt64)
249
+ ], cargo_ref.prototype, "stats", void 0);
250
+ __decorate([
251
+ Struct.field(module_entry, { array: true })
252
+ ], cargo_ref.prototype, "modules", void 0);
253
+ cargo_ref = __decorate([
254
+ Struct.type('cargo_ref')
255
+ ], cargo_ref);
256
+ Types.cargo_ref = cargo_ref;
257
+ let addmodule = class addmodule extends Struct {
258
+ };
259
+ __decorate([
260
+ Struct.field(UInt64)
261
+ ], addmodule.prototype, "entity_id", void 0);
262
+ __decorate([
263
+ Struct.field(UInt8)
264
+ ], addmodule.prototype, "module_index", void 0);
265
+ __decorate([
266
+ Struct.field(cargo_ref)
267
+ ], addmodule.prototype, "module_ref", void 0);
268
+ __decorate([
269
+ Struct.field(cargo_ref, { optional: true })
270
+ ], addmodule.prototype, "target_ref", void 0);
271
+ addmodule = __decorate([
272
+ Struct.type('addmodule')
273
+ ], addmodule);
274
+ Types.addmodule = addmodule;
275
+ let addnexus = class addnexus extends Struct {
276
+ };
277
+ __decorate([
278
+ Struct.field('string')
279
+ ], addnexus.prototype, "nexus_name", void 0);
280
+ __decorate([
281
+ Struct.field(Int64)
282
+ ], addnexus.prototype, "x", void 0);
283
+ __decorate([
284
+ Struct.field(Int64)
285
+ ], addnexus.prototype, "y", void 0);
286
+ addnexus = __decorate([
287
+ Struct.type('addnexus')
288
+ ], addnexus);
289
+ Types.addnexus = addnexus;
290
+ let advance = class advance extends Struct {
291
+ };
292
+ __decorate([
293
+ Struct.field('string')
294
+ ], advance.prototype, "reveal", void 0);
295
+ __decorate([
296
+ Struct.field(Checksum256)
297
+ ], advance.prototype, "commit", void 0);
298
+ advance = __decorate([
299
+ Struct.type('advance')
300
+ ], advance);
301
+ Types.advance = advance;
302
+ let cargo_item = class cargo_item extends Struct {
303
+ };
304
+ __decorate([
305
+ Struct.field(UInt16)
306
+ ], cargo_item.prototype, "item_id", void 0);
307
+ __decorate([
308
+ Struct.field(UInt64)
309
+ ], cargo_item.prototype, "stats", void 0);
310
+ __decorate([
311
+ Struct.field(module_entry, { array: true })
312
+ ], cargo_item.prototype, "modules", void 0);
313
+ __decorate([
314
+ Struct.field(UInt32)
315
+ ], cargo_item.prototype, "quantity", void 0);
316
+ cargo_item = __decorate([
317
+ Struct.type('cargo_item')
318
+ ], cargo_item);
319
+ Types.cargo_item = cargo_item;
320
+ let blend = class blend extends Struct {
321
+ };
322
+ __decorate([
323
+ Struct.field(UInt64)
324
+ ], blend.prototype, "id", void 0);
325
+ __decorate([
326
+ Struct.field(cargo_item, { array: true })
327
+ ], blend.prototype, "inputs", void 0);
328
+ blend = __decorate([
329
+ Struct.type('blend')
330
+ ], blend);
331
+ Types.blend = blend;
332
+ let cancel = class cancel extends Struct {
333
+ };
334
+ __decorate([
335
+ Struct.field(UInt64)
336
+ ], cancel.prototype, "id", void 0);
337
+ __decorate([
338
+ Struct.field(UInt64)
339
+ ], cancel.prototype, "count", void 0);
340
+ cancel = __decorate([
341
+ Struct.type('cancel')
342
+ ], cancel);
343
+ Types.cancel = cancel;
344
+ let entity_ref = class entity_ref extends Struct {
345
+ };
346
+ __decorate([
347
+ Struct.field(Name)
348
+ ], entity_ref.prototype, "entity_type", void 0);
349
+ __decorate([
350
+ Struct.field(UInt64)
351
+ ], entity_ref.prototype, "entity_id", void 0);
352
+ entity_ref = __decorate([
353
+ Struct.type('entity_ref')
354
+ ], entity_ref);
355
+ Types.entity_ref = entity_ref;
356
+ let cancel_results = class cancel_results extends Struct {
357
+ };
358
+ __decorate([
359
+ Struct.field(UInt64)
360
+ ], cancel_results.prototype, "entity_id", void 0);
361
+ __decorate([
362
+ Struct.field(Name)
363
+ ], cancel_results.prototype, "entity_type", void 0);
364
+ __decorate([
365
+ Struct.field(UInt8)
366
+ ], cancel_results.prototype, "cancelled_count", void 0);
367
+ __decorate([
368
+ Struct.field(TimePoint, { optional: true })
369
+ ], cancel_results.prototype, "schedule_started", void 0);
370
+ __decorate([
371
+ Struct.field(UInt64, { optional: true })
372
+ ], cancel_results.prototype, "entitygroup", void 0);
373
+ __decorate([
374
+ Struct.field(entity_ref, { array: true, optional: true })
375
+ ], cancel_results.prototype, "group_members", void 0);
376
+ cancel_results = __decorate([
377
+ Struct.type('cancel_results')
378
+ ], cancel_results);
379
+ Types.cancel_results = cancel_results;
380
+ let cargo_row = class cargo_row extends Struct {
381
+ };
382
+ __decorate([
383
+ Struct.field(UInt64)
384
+ ], cargo_row.prototype, "id", void 0);
385
+ __decorate([
386
+ Struct.field(UInt64)
387
+ ], cargo_row.prototype, "entity_id", void 0);
388
+ __decorate([
389
+ Struct.field(UInt64)
390
+ ], cargo_row.prototype, "item_id", void 0);
391
+ __decorate([
392
+ Struct.field(UInt64)
393
+ ], cargo_row.prototype, "quantity", void 0);
394
+ __decorate([
395
+ Struct.field(UInt64)
396
+ ], cargo_row.prototype, "stats", void 0);
397
+ __decorate([
398
+ Struct.field(module_entry, { array: true })
399
+ ], cargo_row.prototype, "modules", void 0);
400
+ cargo_row = __decorate([
401
+ Struct.type('cargo_row')
402
+ ], cargo_row);
403
+ Types.cargo_row = cargo_row;
404
+ let cargo_view = class cargo_view extends Struct {
405
+ };
406
+ __decorate([
407
+ Struct.field(UInt16)
408
+ ], cargo_view.prototype, "item_id", void 0);
409
+ __decorate([
410
+ Struct.field(UInt64)
411
+ ], cargo_view.prototype, "stats", void 0);
412
+ __decorate([
413
+ Struct.field(module_entry, { array: true })
414
+ ], cargo_view.prototype, "modules", void 0);
415
+ __decorate([
416
+ Struct.field(UInt32)
417
+ ], cargo_view.prototype, "quantity", void 0);
418
+ __decorate([
419
+ Struct.field(UInt64)
420
+ ], cargo_view.prototype, "id", void 0);
421
+ cargo_view = __decorate([
422
+ Struct.type('cargo_view')
423
+ ], cargo_view);
424
+ Types.cargo_view = cargo_view;
425
+ let claimstarter = class claimstarter extends Struct {
426
+ };
427
+ __decorate([
428
+ Struct.field(Name)
429
+ ], claimstarter.prototype, "account", void 0);
430
+ __decorate([
431
+ Struct.field(Int64)
432
+ ], claimstarter.prototype, "x", void 0);
433
+ __decorate([
434
+ Struct.field(Int64)
435
+ ], claimstarter.prototype, "y", void 0);
436
+ claimstarter = __decorate([
437
+ Struct.type('claimstarter')
438
+ ], claimstarter);
439
+ Types.claimstarter = claimstarter;
440
+ let cleanrsvp = class cleanrsvp extends Struct {
441
+ };
442
+ __decorate([
443
+ Struct.field(UInt64)
444
+ ], cleanrsvp.prototype, "epoch", void 0);
445
+ __decorate([
446
+ Struct.field(UInt64)
447
+ ], cleanrsvp.prototype, "max_rows", void 0);
448
+ cleanrsvp = __decorate([
449
+ Struct.type('cleanrsvp')
450
+ ], cleanrsvp);
451
+ Types.cleanrsvp = cleanrsvp;
452
+ let cleartable = class cleartable extends Struct {
453
+ };
454
+ __decorate([
455
+ Struct.field(Name)
456
+ ], cleartable.prototype, "table_name", void 0);
457
+ __decorate([
458
+ Struct.field(Name, { optional: true })
459
+ ], cleartable.prototype, "scope", void 0);
460
+ __decorate([
461
+ Struct.field(UInt64, { optional: true })
462
+ ], cleartable.prototype, "max_rows", void 0);
463
+ cleartable = __decorate([
464
+ Struct.type('cleartable')
465
+ ], cleartable);
466
+ Types.cleartable = cleartable;
467
+ let commit = class commit extends Struct {
468
+ };
469
+ __decorate([
470
+ Struct.field(Checksum256)
471
+ ], commit.prototype, "commit", void 0);
472
+ commit = __decorate([
473
+ Struct.type('commit')
474
+ ], commit);
475
+ Types.commit = commit;
476
+ let entity_defaults = class entity_defaults extends Struct {
477
+ };
478
+ __decorate([
479
+ Struct.field(UInt16)
480
+ ], entity_defaults.prototype, "warehouse_z", void 0);
481
+ __decorate([
482
+ Struct.field(UInt16)
483
+ ], entity_defaults.prototype, "container_z", void 0);
484
+ entity_defaults = __decorate([
485
+ Struct.type('entity_defaults')
486
+ ], entity_defaults);
487
+ Types.entity_defaults = entity_defaults;
488
+ let item_def = class item_def extends Struct {
489
+ };
490
+ __decorate([
491
+ Struct.field(UInt16)
492
+ ], item_def.prototype, "id", void 0);
493
+ __decorate([
494
+ Struct.field(UInt32)
495
+ ], item_def.prototype, "mass", void 0);
496
+ __decorate([
497
+ Struct.field(UInt8)
498
+ ], item_def.prototype, "type", void 0);
499
+ __decorate([
500
+ Struct.field(UInt8)
501
+ ], item_def.prototype, "subtype", void 0);
502
+ __decorate([
503
+ Struct.field(UInt8)
504
+ ], item_def.prototype, "tier", void 0);
505
+ item_def = __decorate([
506
+ Struct.type('item_def')
507
+ ], item_def);
508
+ Types.item_def = item_def;
509
+ let game_config = class game_config extends Struct {
510
+ };
511
+ __decorate([
512
+ Struct.field(UInt32)
513
+ ], game_config.prototype, "version", void 0);
514
+ __decorate([
515
+ Struct.field(entity_defaults)
516
+ ], game_config.prototype, "defaults", void 0);
517
+ __decorate([
518
+ Struct.field(item_def, { array: true })
519
+ ], game_config.prototype, "items", void 0);
520
+ game_config = __decorate([
521
+ Struct.type('game_config')
522
+ ], game_config);
523
+ Types.game_config = game_config;
524
+ let configlog = class configlog extends Struct {
525
+ };
526
+ __decorate([
527
+ Struct.field(game_config)
528
+ ], configlog.prototype, "config", void 0);
529
+ configlog = __decorate([
530
+ Struct.type('configlog')
531
+ ], configlog);
532
+ Types.configlog = configlog;
533
+ let coordinates = class coordinates extends Struct {
534
+ };
535
+ __decorate([
536
+ Struct.field(Int64)
537
+ ], coordinates.prototype, "x", void 0);
538
+ __decorate([
539
+ Struct.field(Int64)
540
+ ], coordinates.prototype, "y", void 0);
541
+ __decorate([
542
+ Struct.field(UInt16, { optional: true })
543
+ ], coordinates.prototype, "z", void 0);
544
+ coordinates = __decorate([
545
+ Struct.type('coordinates')
546
+ ], coordinates);
547
+ Types.coordinates = coordinates;
548
+ let craft = class craft extends Struct {
549
+ };
550
+ __decorate([
551
+ Struct.field(UInt64)
552
+ ], craft.prototype, "id", void 0);
553
+ __decorate([
554
+ Struct.field(UInt16)
555
+ ], craft.prototype, "recipe_id", void 0);
556
+ __decorate([
557
+ Struct.field(UInt32)
558
+ ], craft.prototype, "quantity", void 0);
559
+ __decorate([
560
+ Struct.field(cargo_item, { array: true })
561
+ ], craft.prototype, "inputs", void 0);
562
+ craft = __decorate([
563
+ Struct.type('craft')
564
+ ], craft);
565
+ Types.craft = craft;
566
+ let crafter_stats = class crafter_stats extends Struct {
567
+ };
568
+ __decorate([
569
+ Struct.field(UInt16)
570
+ ], crafter_stats.prototype, "speed", void 0);
571
+ __decorate([
572
+ Struct.field(UInt16)
573
+ ], crafter_stats.prototype, "drain", void 0);
574
+ crafter_stats = __decorate([
575
+ Struct.type('crafter_stats')
576
+ ], crafter_stats);
577
+ Types.crafter_stats = crafter_stats;
578
+ let createentity = class createentity extends Struct {
579
+ };
580
+ __decorate([
581
+ Struct.field(Name)
582
+ ], createentity.prototype, "owner", void 0);
583
+ __decorate([
584
+ Struct.field(Name)
585
+ ], createentity.prototype, "entity_type", void 0);
586
+ __decorate([
587
+ Struct.field('string')
588
+ ], createentity.prototype, "entity_name", void 0);
589
+ __decorate([
590
+ Struct.field(Int64)
591
+ ], createentity.prototype, "x", void 0);
592
+ __decorate([
593
+ Struct.field(Int64)
594
+ ], createentity.prototype, "y", void 0);
595
+ createentity = __decorate([
596
+ Struct.type('createentity')
597
+ ], createentity);
598
+ Types.createentity = createentity;
599
+ let demolish = class demolish extends Struct {
600
+ };
601
+ __decorate([
602
+ Struct.field(UInt64)
603
+ ], demolish.prototype, "entity_id", void 0);
604
+ demolish = __decorate([
605
+ Struct.type('demolish')
606
+ ], demolish);
607
+ Types.demolish = demolish;
608
+ let deploy = class deploy extends Struct {
609
+ };
610
+ __decorate([
611
+ Struct.field(UInt64)
612
+ ], deploy.prototype, "id", void 0);
613
+ __decorate([
614
+ Struct.field(cargo_ref)
615
+ ], deploy.prototype, "ref", void 0);
616
+ deploy = __decorate([
617
+ Struct.type('deploy')
618
+ ], deploy);
619
+ Types.deploy = deploy;
620
+ let descentity = class descentity extends Struct {
621
+ };
622
+ __decorate([
623
+ Struct.field(UInt16)
624
+ ], descentity.prototype, "item_id", void 0);
625
+ __decorate([
626
+ Struct.field(UInt64)
627
+ ], descentity.prototype, "hull_stats", void 0);
628
+ __decorate([
629
+ Struct.field(UInt16, { array: true })
630
+ ], descentity.prototype, "module_items", void 0);
631
+ __decorate([
632
+ Struct.field(UInt64, { array: true })
633
+ ], descentity.prototype, "module_stats", void 0);
634
+ descentity = __decorate([
635
+ Struct.type('descentity')
636
+ ], descentity);
637
+ Types.descentity = descentity;
638
+ let enable = class enable extends Struct {
639
+ };
640
+ __decorate([
641
+ Struct.field('bool')
642
+ ], enable.prototype, "enabled", void 0);
643
+ enable = __decorate([
644
+ Struct.type('enable')
645
+ ], enable);
646
+ Types.enable = enable;
647
+ let energy_stats = class energy_stats extends Struct {
648
+ };
649
+ __decorate([
650
+ Struct.field(UInt16)
651
+ ], energy_stats.prototype, "capacity", void 0);
652
+ __decorate([
653
+ Struct.field(UInt16)
654
+ ], energy_stats.prototype, "recharge", void 0);
655
+ energy_stats = __decorate([
656
+ Struct.type('energy_stats')
657
+ ], energy_stats);
658
+ Types.energy_stats = energy_stats;
659
+ let entity_current_state = class entity_current_state extends Struct {
660
+ };
661
+ __decorate([
662
+ Struct.field(coordinates)
663
+ ], entity_current_state.prototype, "coordinates", void 0);
664
+ __decorate([
665
+ Struct.field(UInt16)
666
+ ], entity_current_state.prototype, "energy", void 0);
667
+ entity_current_state = __decorate([
668
+ Struct.type('entity_current_state')
669
+ ], entity_current_state);
670
+ Types.entity_current_state = entity_current_state;
671
+ let loader_stats = class loader_stats extends Struct {
672
+ };
673
+ __decorate([
674
+ Struct.field(UInt32)
675
+ ], loader_stats.prototype, "mass", void 0);
676
+ __decorate([
677
+ Struct.field(UInt16)
678
+ ], loader_stats.prototype, "thrust", void 0);
679
+ __decorate([
680
+ Struct.field(UInt8)
681
+ ], loader_stats.prototype, "quantity", void 0);
682
+ loader_stats = __decorate([
683
+ Struct.type('loader_stats')
684
+ ], loader_stats);
685
+ Types.loader_stats = loader_stats;
686
+ let movement_stats = class movement_stats extends Struct {
687
+ };
688
+ __decorate([
689
+ Struct.field(UInt32)
690
+ ], movement_stats.prototype, "thrust", void 0);
691
+ __decorate([
692
+ Struct.field(UInt16)
693
+ ], movement_stats.prototype, "drain", void 0);
694
+ movement_stats = __decorate([
695
+ Struct.type('movement_stats')
696
+ ], movement_stats);
697
+ Types.movement_stats = movement_stats;
698
+ let gatherer_stats = class gatherer_stats extends Struct {
699
+ };
700
+ __decorate([
701
+ Struct.field(UInt16)
702
+ ], gatherer_stats.prototype, "yield", void 0);
703
+ __decorate([
704
+ Struct.field(UInt16)
705
+ ], gatherer_stats.prototype, "drain", void 0);
706
+ __decorate([
707
+ Struct.field(UInt16)
708
+ ], gatherer_stats.prototype, "depth", void 0);
709
+ __decorate([
710
+ Struct.field(UInt16)
711
+ ], gatherer_stats.prototype, "speed", void 0);
712
+ gatherer_stats = __decorate([
713
+ Struct.type('gatherer_stats')
714
+ ], gatherer_stats);
715
+ Types.gatherer_stats = gatherer_stats;
716
+ let hauler_stats = class hauler_stats extends Struct {
717
+ };
718
+ __decorate([
719
+ Struct.field(UInt8)
720
+ ], hauler_stats.prototype, "capacity", void 0);
721
+ __decorate([
722
+ Struct.field(UInt16)
723
+ ], hauler_stats.prototype, "efficiency", void 0);
724
+ __decorate([
725
+ Struct.field(UInt16)
726
+ ], hauler_stats.prototype, "drain", void 0);
727
+ hauler_stats = __decorate([
728
+ Struct.type('hauler_stats')
729
+ ], hauler_stats);
730
+ Types.hauler_stats = hauler_stats;
731
+ let warp_stats = class warp_stats extends Struct {
732
+ };
733
+ __decorate([
734
+ Struct.field(UInt32)
735
+ ], warp_stats.prototype, "range", void 0);
736
+ warp_stats = __decorate([
737
+ Struct.type('warp_stats')
738
+ ], warp_stats);
739
+ Types.warp_stats = warp_stats;
740
+ let task = class task extends Struct {
741
+ };
742
+ __decorate([
743
+ Struct.field(UInt8)
744
+ ], task.prototype, "type", void 0);
745
+ __decorate([
746
+ Struct.field(UInt32)
747
+ ], task.prototype, "duration", void 0);
748
+ __decorate([
749
+ Struct.field(UInt8)
750
+ ], task.prototype, "cancelable", void 0);
751
+ __decorate([
752
+ Struct.field(coordinates, { optional: true })
753
+ ], task.prototype, "coordinates", void 0);
754
+ __decorate([
755
+ Struct.field(cargo_item, { array: true })
756
+ ], task.prototype, "cargo", void 0);
757
+ __decorate([
758
+ Struct.field(entity_ref, { optional: true })
759
+ ], task.prototype, "entitytarget", void 0);
760
+ __decorate([
761
+ Struct.field(UInt64, { optional: true })
762
+ ], task.prototype, "entitygroup", void 0);
763
+ __decorate([
764
+ Struct.field(UInt16, { optional: true })
765
+ ], task.prototype, "energy_cost", void 0);
766
+ task = __decorate([
767
+ Struct.type('task')
768
+ ], task);
769
+ Types.task = task;
770
+ let schedule = class schedule extends Struct {
771
+ };
772
+ __decorate([
773
+ Struct.field(TimePoint)
774
+ ], schedule.prototype, "started", void 0);
775
+ __decorate([
776
+ Struct.field(task, { array: true })
777
+ ], schedule.prototype, "tasks", void 0);
778
+ schedule = __decorate([
779
+ Struct.type('schedule')
780
+ ], schedule);
781
+ Types.schedule = schedule;
782
+ let entity_info = class entity_info extends Struct {
783
+ };
784
+ __decorate([
785
+ Struct.field(Name)
786
+ ], entity_info.prototype, "type", void 0);
787
+ __decorate([
788
+ Struct.field(UInt64)
789
+ ], entity_info.prototype, "id", void 0);
790
+ __decorate([
791
+ Struct.field(Name)
792
+ ], entity_info.prototype, "owner", void 0);
793
+ __decorate([
794
+ Struct.field('string')
795
+ ], entity_info.prototype, "entity_name", void 0);
796
+ __decorate([
797
+ Struct.field(coordinates)
798
+ ], entity_info.prototype, "coordinates", void 0);
799
+ __decorate([
800
+ Struct.field(UInt32)
801
+ ], entity_info.prototype, "cargomass", void 0);
802
+ __decorate([
803
+ Struct.field(cargo_view, { array: true })
804
+ ], entity_info.prototype, "cargo", void 0);
805
+ __decorate([
806
+ Struct.field(loader_stats, { optional: true })
807
+ ], entity_info.prototype, "loaders", void 0);
808
+ __decorate([
809
+ Struct.field(module_entry, { array: true })
810
+ ], entity_info.prototype, "modules", void 0);
811
+ __decorate([
812
+ Struct.field(UInt16, { optional: true })
813
+ ], entity_info.prototype, "energy", void 0);
814
+ __decorate([
815
+ Struct.field(UInt32, { optional: true })
816
+ ], entity_info.prototype, "hullmass", void 0);
817
+ __decorate([
818
+ Struct.field(movement_stats, { optional: true })
819
+ ], entity_info.prototype, "engines", void 0);
820
+ __decorate([
821
+ Struct.field(energy_stats, { optional: true })
822
+ ], entity_info.prototype, "generator", void 0);
823
+ __decorate([
824
+ Struct.field(UInt32, { optional: true })
825
+ ], entity_info.prototype, "capacity", void 0);
826
+ __decorate([
827
+ Struct.field(gatherer_stats, { optional: true })
828
+ ], entity_info.prototype, "gatherer", void 0);
829
+ __decorate([
830
+ Struct.field(hauler_stats, { optional: true })
831
+ ], entity_info.prototype, "hauler", void 0);
832
+ __decorate([
833
+ Struct.field(warp_stats, { optional: true })
834
+ ], entity_info.prototype, "warp", void 0);
835
+ __decorate([
836
+ Struct.field(crafter_stats, { optional: true })
837
+ ], entity_info.prototype, "crafter", void 0);
838
+ __decorate([
839
+ Struct.field('bool')
840
+ ], entity_info.prototype, "is_idle", void 0);
841
+ __decorate([
842
+ Struct.field(task, { optional: true })
843
+ ], entity_info.prototype, "current_task", void 0);
844
+ __decorate([
845
+ Struct.field(UInt32)
846
+ ], entity_info.prototype, "current_task_elapsed", void 0);
847
+ __decorate([
848
+ Struct.field(UInt32)
849
+ ], entity_info.prototype, "current_task_remaining", void 0);
850
+ __decorate([
851
+ Struct.field(task, { array: true })
852
+ ], entity_info.prototype, "pending_tasks", void 0);
853
+ __decorate([
854
+ Struct.field(TimePoint, { optional: true })
855
+ ], entity_info.prototype, "idle_at", void 0);
856
+ __decorate([
857
+ Struct.field(schedule, { optional: true })
858
+ ], entity_info.prototype, "schedule", void 0);
859
+ entity_info = __decorate([
860
+ Struct.type('entity_info')
861
+ ], entity_info);
862
+ Types.entity_info = entity_info;
863
+ let slot_def = class slot_def extends Struct {
864
+ };
865
+ __decorate([
866
+ Struct.field(UInt8)
867
+ ], slot_def.prototype, "type", void 0);
868
+ __decorate([
869
+ Struct.field(UInt16)
870
+ ], slot_def.prototype, "output_pct", void 0);
871
+ slot_def = __decorate([
872
+ Struct.type('slot_def')
873
+ ], slot_def);
874
+ Types.slot_def = slot_def;
875
+ let entity_layout = class entity_layout extends Struct {
876
+ };
877
+ __decorate([
878
+ Struct.field(UInt16)
879
+ ], entity_layout.prototype, "entity_item_id", void 0);
880
+ __decorate([
881
+ Struct.field(slot_def, { array: true })
882
+ ], entity_layout.prototype, "slots", void 0);
883
+ entity_layout = __decorate([
884
+ Struct.type('entity_layout')
885
+ ], entity_layout);
886
+ Types.entity_layout = entity_layout;
887
+ let entity_layouts_result = class entity_layouts_result extends Struct {
888
+ };
889
+ __decorate([
890
+ Struct.field(entity_layout, { array: true })
891
+ ], entity_layouts_result.prototype, "entities", void 0);
892
+ entity_layouts_result = __decorate([
893
+ Struct.type('entity_layouts_result')
894
+ ], entity_layouts_result);
895
+ Types.entity_layouts_result = entity_layouts_result;
896
+ let entity_row = class entity_row extends Struct {
897
+ };
898
+ __decorate([
899
+ Struct.field(UInt64)
900
+ ], entity_row.prototype, "id", void 0);
901
+ __decorate([
902
+ Struct.field(Name)
903
+ ], entity_row.prototype, "owner", void 0);
904
+ __decorate([
905
+ Struct.field(Name)
906
+ ], entity_row.prototype, "kind", void 0);
907
+ __decorate([
908
+ Struct.field('string')
909
+ ], entity_row.prototype, "name", void 0);
910
+ __decorate([
911
+ Struct.field(UInt64)
912
+ ], entity_row.prototype, "stats", void 0);
913
+ __decorate([
914
+ Struct.field(coordinates)
915
+ ], entity_row.prototype, "coordinates", void 0);
916
+ __decorate([
917
+ Struct.field(UInt32, { optional: true })
918
+ ], entity_row.prototype, "hullmass", void 0);
919
+ __decorate([
920
+ Struct.field(UInt32, { optional: true })
921
+ ], entity_row.prototype, "capacity", void 0);
922
+ __decorate([
923
+ Struct.field(UInt16, { optional: true })
924
+ ], entity_row.prototype, "energy", void 0);
925
+ __decorate([
926
+ Struct.field(UInt32)
927
+ ], entity_row.prototype, "cargomass", void 0);
928
+ __decorate([
929
+ Struct.field(movement_stats, { optional: true })
930
+ ], entity_row.prototype, "engines", void 0);
931
+ __decorate([
932
+ Struct.field(energy_stats, { optional: true })
933
+ ], entity_row.prototype, "generator", void 0);
934
+ __decorate([
935
+ Struct.field(loader_stats, { optional: true })
936
+ ], entity_row.prototype, "loaders", void 0);
937
+ __decorate([
938
+ Struct.field(gatherer_stats, { optional: true })
939
+ ], entity_row.prototype, "gatherer", void 0);
940
+ __decorate([
941
+ Struct.field(warp_stats, { optional: true })
942
+ ], entity_row.prototype, "warp", void 0);
943
+ __decorate([
944
+ Struct.field(crafter_stats, { optional: true })
945
+ ], entity_row.prototype, "crafter", void 0);
946
+ __decorate([
947
+ Struct.field(hauler_stats, { optional: true })
948
+ ], entity_row.prototype, "hauler", void 0);
949
+ __decorate([
950
+ Struct.field(module_entry, { array: true })
951
+ ], entity_row.prototype, "modules", void 0);
952
+ __decorate([
953
+ Struct.field(schedule, { optional: true })
954
+ ], entity_row.prototype, "schedule", void 0);
955
+ __decorate([
956
+ Struct.field(UInt16)
957
+ ], entity_row.prototype, "item_id", void 0);
958
+ entity_row = __decorate([
959
+ Struct.type('entity_row')
960
+ ], entity_row);
961
+ Types.entity_row = entity_row;
962
+ let entity_summary = class entity_summary extends Struct {
963
+ };
964
+ __decorate([
965
+ Struct.field(Name)
966
+ ], entity_summary.prototype, "type", void 0);
967
+ __decorate([
968
+ Struct.field(UInt64)
969
+ ], entity_summary.prototype, "id", void 0);
970
+ __decorate([
971
+ Struct.field(Name)
972
+ ], entity_summary.prototype, "owner", void 0);
973
+ __decorate([
974
+ Struct.field('string')
975
+ ], entity_summary.prototype, "entity_name", void 0);
976
+ __decorate([
977
+ Struct.field(coordinates)
978
+ ], entity_summary.prototype, "coordinates", void 0);
979
+ __decorate([
980
+ Struct.field('bool')
981
+ ], entity_summary.prototype, "is_idle", void 0);
982
+ __decorate([
983
+ Struct.field(UInt32)
984
+ ], entity_summary.prototype, "resolved_count", void 0);
985
+ __decorate([
986
+ Struct.field(UInt32)
987
+ ], entity_summary.prototype, "pending_count", void 0);
988
+ entity_summary = __decorate([
989
+ Struct.type('entity_summary')
990
+ ], entity_summary);
991
+ Types.entity_summary = entity_summary;
992
+ let entity_task_info = class entity_task_info extends Struct {
993
+ };
994
+ __decorate([
995
+ Struct.field(UInt64)
996
+ ], entity_task_info.prototype, "entity_id", void 0);
997
+ __decorate([
998
+ Struct.field(Name)
999
+ ], entity_task_info.prototype, "entity_type", void 0);
1000
+ __decorate([
1001
+ Struct.field(UInt8)
1002
+ ], entity_task_info.prototype, "task_count", void 0);
1003
+ __decorate([
1004
+ Struct.field(TimePoint)
1005
+ ], entity_task_info.prototype, "schedule_started", void 0);
1006
+ entity_task_info = __decorate([
1007
+ Struct.type('entity_task_info')
1008
+ ], entity_task_info);
1009
+ Types.entity_task_info = entity_task_info;
1010
+ let entitygroup_row = class entitygroup_row extends Struct {
1011
+ };
1012
+ __decorate([
1013
+ Struct.field(UInt64)
1014
+ ], entitygroup_row.prototype, "id", void 0);
1015
+ __decorate([
1016
+ Struct.field(entity_ref, { array: true })
1017
+ ], entitygroup_row.prototype, "participants", void 0);
1018
+ entitygroup_row = __decorate([
1019
+ Struct.type('entitygroup_row')
1020
+ ], entitygroup_row);
1021
+ Types.entitygroup_row = entitygroup_row;
1022
+ let enum_member = class enum_member extends Struct {
1023
+ };
1024
+ __decorate([
1025
+ Struct.field(UInt8)
1026
+ ], enum_member.prototype, "value", void 0);
1027
+ __decorate([
1028
+ Struct.field('string')
1029
+ ], enum_member.prototype, "name", void 0);
1030
+ enum_member = __decorate([
1031
+ Struct.type('enum_member')
1032
+ ], enum_member);
1033
+ Types.enum_member = enum_member;
1034
+ let enum_result = class enum_result extends Struct {
1035
+ };
1036
+ __decorate([
1037
+ Struct.field(enum_member, { array: true })
1038
+ ], enum_result.prototype, "members", void 0);
1039
+ enum_result = __decorate([
1040
+ Struct.type('enum_result')
1041
+ ], enum_result);
1042
+ Types.enum_result = enum_result;
1043
+ let fixcargomass = class fixcargomass extends Struct {
1044
+ };
1045
+ __decorate([
1046
+ Struct.field(UInt64)
1047
+ ], fixcargomass.prototype, "entity_id", void 0);
1048
+ fixcargomass = __decorate([
1049
+ Struct.type('fixcargomass')
1050
+ ], fixcargomass);
1051
+ Types.fixcargomass = fixcargomass;
1052
+ let gather = class gather extends Struct {
1053
+ };
1054
+ __decorate([
1055
+ Struct.field(UInt64)
1056
+ ], gather.prototype, "source_id", void 0);
1057
+ __decorate([
1058
+ Struct.field(UInt64)
1059
+ ], gather.prototype, "destination_id", void 0);
1060
+ __decorate([
1061
+ Struct.field(UInt16)
1062
+ ], gather.prototype, "stratum", void 0);
1063
+ __decorate([
1064
+ Struct.field(UInt32)
1065
+ ], gather.prototype, "quantity", void 0);
1066
+ gather = __decorate([
1067
+ Struct.type('gather')
1068
+ ], gather);
1069
+ Types.gather = gather;
1070
+ let getconfig = class getconfig extends Struct {
1071
+ };
1072
+ getconfig = __decorate([
1073
+ Struct.type('getconfig')
1074
+ ], getconfig);
1075
+ Types.getconfig = getconfig;
1076
+ let geteligible = class geteligible extends Struct {
1077
+ };
1078
+ __decorate([
1079
+ Struct.field(coordinates)
1080
+ ], geteligible.prototype, "coords", void 0);
1081
+ __decorate([
1082
+ Struct.field(UInt16)
1083
+ ], geteligible.prototype, "stratum", void 0);
1084
+ geteligible = __decorate([
1085
+ Struct.type('geteligible')
1086
+ ], geteligible);
1087
+ Types.geteligible = geteligible;
1088
+ let getentities = class getentities extends Struct {
1089
+ };
1090
+ __decorate([
1091
+ Struct.field(Name)
1092
+ ], getentities.prototype, "owner", void 0);
1093
+ __decorate([
1094
+ Struct.field(Name, { optional: true })
1095
+ ], getentities.prototype, "entity_type", void 0);
1096
+ getentities = __decorate([
1097
+ Struct.type('getentities')
1098
+ ], getentities);
1099
+ Types.getentities = getentities;
1100
+ let getentity = class getentity extends Struct {
1101
+ };
1102
+ __decorate([
1103
+ Struct.field(UInt64)
1104
+ ], getentity.prototype, "entity_id", void 0);
1105
+ getentity = __decorate([
1106
+ Struct.type('getentity')
1107
+ ], getentity);
1108
+ Types.getentity = getentity;
1109
+ let getitemdata = class getitemdata extends Struct {
1110
+ };
1111
+ getitemdata = __decorate([
1112
+ Struct.type('getitemdata')
1113
+ ], getitemdata);
1114
+ Types.getitemdata = getitemdata;
1115
+ let getitemids = class getitemids extends Struct {
1116
+ };
1117
+ getitemids = __decorate([
1118
+ Struct.type('getitemids')
1119
+ ], getitemids);
1120
+ Types.getitemids = getitemids;
1121
+ let getitems = class getitems extends Struct {
1122
+ };
1123
+ getitems = __decorate([
1124
+ Struct.type('getitems')
1125
+ ], getitems);
1126
+ Types.getitems = getitems;
1127
+ let getitemtypes = class getitemtypes extends Struct {
1128
+ };
1129
+ getitemtypes = __decorate([
1130
+ Struct.type('getitemtypes')
1131
+ ], getitemtypes);
1132
+ Types.getitemtypes = getitemtypes;
1133
+ let getlocation = class getlocation extends Struct {
1134
+ };
1135
+ __decorate([
1136
+ Struct.field(Int64)
1137
+ ], getlocation.prototype, "x", void 0);
1138
+ __decorate([
1139
+ Struct.field(Int64)
1140
+ ], getlocation.prototype, "y", void 0);
1141
+ getlocation = __decorate([
1142
+ Struct.type('getlocation')
1143
+ ], getlocation);
1144
+ Types.getlocation = getlocation;
1145
+ let getlocdata = class getlocdata extends Struct {
1146
+ };
1147
+ __decorate([
1148
+ Struct.field(Int64)
1149
+ ], getlocdata.prototype, "x", void 0);
1150
+ __decorate([
1151
+ Struct.field(Int64)
1152
+ ], getlocdata.prototype, "y", void 0);
1153
+ getlocdata = __decorate([
1154
+ Struct.type('getlocdata')
1155
+ ], getlocdata);
1156
+ Types.getlocdata = getlocdata;
1157
+ let getmodtypes = class getmodtypes extends Struct {
1158
+ };
1159
+ getmodtypes = __decorate([
1160
+ Struct.type('getmodtypes')
1161
+ ], getmodtypes);
1162
+ Types.getmodtypes = getmodtypes;
1163
+ let getmodules = class getmodules extends Struct {
1164
+ };
1165
+ getmodules = __decorate([
1166
+ Struct.type('getmodules')
1167
+ ], getmodules);
1168
+ Types.getmodules = getmodules;
1169
+ let getnearby = class getnearby extends Struct {
1170
+ };
1171
+ __decorate([
1172
+ Struct.field(UInt64)
1173
+ ], getnearby.prototype, "entity_id", void 0);
1174
+ __decorate([
1175
+ Struct.field('bool')
1176
+ ], getnearby.prototype, "recharge", void 0);
1177
+ getnearby = __decorate([
1178
+ Struct.type('getnearby')
1179
+ ], getnearby);
1180
+ Types.getnearby = getnearby;
1181
+ let getnftinfo = class getnftinfo extends Struct {
1182
+ };
1183
+ getnftinfo = __decorate([
1184
+ Struct.type('getnftinfo')
1185
+ ], getnftinfo);
1186
+ Types.getnftinfo = getnftinfo;
1187
+ let getplayer = class getplayer extends Struct {
1188
+ };
1189
+ __decorate([
1190
+ Struct.field(Name)
1191
+ ], getplayer.prototype, "account", void 0);
1192
+ getplayer = __decorate([
1193
+ Struct.type('getplayer')
1194
+ ], getplayer);
1195
+ Types.getplayer = getplayer;
1196
+ let getrecipe = class getrecipe extends Struct {
1197
+ };
1198
+ __decorate([
1199
+ Struct.field(UInt16)
1200
+ ], getrecipe.prototype, "output_item_id", void 0);
1201
+ getrecipe = __decorate([
1202
+ Struct.type('getrecipe')
1203
+ ], getrecipe);
1204
+ Types.getrecipe = getrecipe;
1205
+ let getrecipes = class getrecipes extends Struct {
1206
+ };
1207
+ __decorate([
1208
+ Struct.field(UInt16)
1209
+ ], getrecipes.prototype, "lower_bound", void 0);
1210
+ __decorate([
1211
+ Struct.field(UInt8)
1212
+ ], getrecipes.prototype, "limit", void 0);
1213
+ getrecipes = __decorate([
1214
+ Struct.type('getrecipes')
1215
+ ], getrecipes);
1216
+ Types.getrecipes = getrecipes;
1217
+ let getrescats = class getrescats extends Struct {
1218
+ };
1219
+ getrescats = __decorate([
1220
+ Struct.type('getrescats')
1221
+ ], getrescats);
1222
+ Types.getrescats = getrescats;
1223
+ let getreserves = class getreserves extends Struct {
1224
+ };
1225
+ __decorate([
1226
+ Struct.field(Int64)
1227
+ ], getreserves.prototype, "x", void 0);
1228
+ __decorate([
1229
+ Struct.field(Int64)
1230
+ ], getreserves.prototype, "y", void 0);
1231
+ getreserves = __decorate([
1232
+ Struct.type('getreserves')
1233
+ ], getreserves);
1234
+ Types.getreserves = getreserves;
1235
+ let getresources = class getresources extends Struct {
1236
+ };
1237
+ getresources = __decorate([
1238
+ Struct.type('getresources')
1239
+ ], getresources);
1240
+ Types.getresources = getresources;
1241
+ let getslots = class getslots extends Struct {
1242
+ };
1243
+ getslots = __decorate([
1244
+ Struct.type('getslots')
1245
+ ], getslots);
1246
+ Types.getslots = getslots;
1247
+ let getstratum = class getstratum extends Struct {
1248
+ };
1249
+ __decorate([
1250
+ Struct.field(Int64)
1251
+ ], getstratum.prototype, "x", void 0);
1252
+ __decorate([
1253
+ Struct.field(Int64)
1254
+ ], getstratum.prototype, "y", void 0);
1255
+ __decorate([
1256
+ Struct.field(UInt16)
1257
+ ], getstratum.prototype, "stratum", void 0);
1258
+ getstratum = __decorate([
1259
+ Struct.type('getstratum')
1260
+ ], getstratum);
1261
+ Types.getstratum = getstratum;
1262
+ let getsummaries = class getsummaries extends Struct {
1263
+ };
1264
+ __decorate([
1265
+ Struct.field(Name)
1266
+ ], getsummaries.prototype, "owner", void 0);
1267
+ __decorate([
1268
+ Struct.field(Name, { optional: true })
1269
+ ], getsummaries.prototype, "entity_type", void 0);
1270
+ getsummaries = __decorate([
1271
+ Struct.type('getsummaries')
1272
+ ], getsummaries);
1273
+ Types.getsummaries = getsummaries;
1274
+ let grouptravel = class grouptravel extends Struct {
1275
+ };
1276
+ __decorate([
1277
+ Struct.field(entity_ref, { array: true })
1278
+ ], grouptravel.prototype, "entities", void 0);
1279
+ __decorate([
1280
+ Struct.field(Int64)
1281
+ ], grouptravel.prototype, "x", void 0);
1282
+ __decorate([
1283
+ Struct.field(Int64)
1284
+ ], grouptravel.prototype, "y", void 0);
1285
+ __decorate([
1286
+ Struct.field('bool')
1287
+ ], grouptravel.prototype, "recharge", void 0);
1288
+ grouptravel = __decorate([
1289
+ Struct.type('grouptravel')
1290
+ ], grouptravel);
1291
+ Types.grouptravel = grouptravel;
1292
+ let hash = class hash extends Struct {
1293
+ };
1294
+ __decorate([
1295
+ Struct.field('string')
1296
+ ], hash.prototype, "value", void 0);
1297
+ hash = __decorate([
1298
+ Struct.type('hash')
1299
+ ], hash);
1300
+ Types.hash = hash;
1301
+ let hash512 = class hash512 extends Struct {
1302
+ };
1303
+ __decorate([
1304
+ Struct.field('string')
1305
+ ], hash512.prototype, "value", void 0);
1306
+ hash512 = __decorate([
1307
+ Struct.type('hash512')
1308
+ ], hash512);
1309
+ Types.hash512 = hash512;
1310
+ let initialize = class initialize extends Struct {
1311
+ };
1312
+ __decorate([
1313
+ Struct.field(Checksum256)
1314
+ ], initialize.prototype, "seed", void 0);
1315
+ initialize = __decorate([
1316
+ Struct.type('initialize')
1317
+ ], initialize);
1318
+ Types.initialize = initialize;
1319
+ let item_id_pair = class item_id_pair extends Struct {
1320
+ };
1321
+ __decorate([
1322
+ Struct.field(UInt16)
1323
+ ], item_id_pair.prototype, "id", void 0);
1324
+ __decorate([
1325
+ Struct.field('string')
1326
+ ], item_id_pair.prototype, "name", void 0);
1327
+ item_id_pair = __decorate([
1328
+ Struct.type('item_id_pair')
1329
+ ], item_id_pair);
1330
+ Types.item_id_pair = item_id_pair;
1331
+ let item_ids_result = class item_ids_result extends Struct {
1332
+ };
1333
+ __decorate([
1334
+ Struct.field(item_id_pair, { array: true })
1335
+ ], item_ids_result.prototype, "items", void 0);
1336
+ item_ids_result = __decorate([
1337
+ Struct.type('item_ids_result')
1338
+ ], item_ids_result);
1339
+ Types.item_ids_result = item_ids_result;
1340
+ let recipe_input = class recipe_input extends Struct {
1341
+ };
1342
+ __decorate([
1343
+ Struct.field(UInt16)
1344
+ ], recipe_input.prototype, "item_id", void 0);
1345
+ __decorate([
1346
+ Struct.field(UInt8)
1347
+ ], recipe_input.prototype, "category", void 0);
1348
+ __decorate([
1349
+ Struct.field(UInt8)
1350
+ ], recipe_input.prototype, "tier", void 0);
1351
+ __decorate([
1352
+ Struct.field(UInt32)
1353
+ ], recipe_input.prototype, "quantity", void 0);
1354
+ recipe_input = __decorate([
1355
+ Struct.type('recipe_input')
1356
+ ], recipe_input);
1357
+ Types.recipe_input = recipe_input;
1358
+ let stat_source = class stat_source extends Struct {
1359
+ };
1360
+ __decorate([
1361
+ Struct.field(UInt8)
1362
+ ], stat_source.prototype, "input_index", void 0);
1363
+ __decorate([
1364
+ Struct.field(UInt8)
1365
+ ], stat_source.prototype, "input_stat_index", void 0);
1366
+ stat_source = __decorate([
1367
+ Struct.type('stat_source')
1368
+ ], stat_source);
1369
+ Types.stat_source = stat_source;
1370
+ let stat_slot_response = class stat_slot_response extends Struct {
1371
+ };
1372
+ __decorate([
1373
+ Struct.field(stat_source, { array: true })
1374
+ ], stat_slot_response.prototype, "sources", void 0);
1375
+ stat_slot_response = __decorate([
1376
+ Struct.type('stat_slot_response')
1377
+ ], stat_slot_response);
1378
+ Types.stat_slot_response = stat_slot_response;
1379
+ let recipe_item_info = class recipe_item_info extends Struct {
1380
+ };
1381
+ __decorate([
1382
+ Struct.field(UInt16)
1383
+ ], recipe_item_info.prototype, "id", void 0);
1384
+ __decorate([
1385
+ Struct.field(UInt32)
1386
+ ], recipe_item_info.prototype, "mass", void 0);
1387
+ recipe_item_info = __decorate([
1388
+ Struct.type('recipe_item_info')
1389
+ ], recipe_item_info);
1390
+ Types.recipe_item_info = recipe_item_info;
1391
+ let recipe_response = class recipe_response extends Struct {
1392
+ };
1393
+ __decorate([
1394
+ Struct.field(UInt16)
1395
+ ], recipe_response.prototype, "output_item_id", void 0);
1396
+ __decorate([
1397
+ Struct.field(UInt32)
1398
+ ], recipe_response.prototype, "output_mass", void 0);
1399
+ __decorate([
1400
+ Struct.field(recipe_input, { array: true })
1401
+ ], recipe_response.prototype, "inputs", void 0);
1402
+ __decorate([
1403
+ Struct.field(stat_slot_response, { array: true })
1404
+ ], recipe_response.prototype, "stat_slots", void 0);
1405
+ __decorate([
1406
+ Struct.field(Bytes)
1407
+ ], recipe_response.prototype, "blend_weights", void 0);
1408
+ __decorate([
1409
+ Struct.field(recipe_item_info)
1410
+ ], recipe_response.prototype, "output_item", void 0);
1411
+ __decorate([
1412
+ Struct.field(recipe_item_info, { array: true })
1413
+ ], recipe_response.prototype, "input_items", void 0);
1414
+ recipe_response = __decorate([
1415
+ Struct.type('recipe_response')
1416
+ ], recipe_response);
1417
+ Types.recipe_response = recipe_response;
1418
+ let recipes_result = class recipes_result extends Struct {
1419
+ };
1420
+ __decorate([
1421
+ Struct.field(recipe_response, { array: true })
1422
+ ], recipes_result.prototype, "recipes", void 0);
1423
+ recipes_result = __decorate([
1424
+ Struct.type('recipes_result')
1425
+ ], recipes_result);
1426
+ Types.recipes_result = recipes_result;
1427
+ let itemdata_result = class itemdata_result extends Struct {
1428
+ };
1429
+ __decorate([
1430
+ Struct.field(item_def, { array: true })
1431
+ ], itemdata_result.prototype, "items", void 0);
1432
+ __decorate([
1433
+ Struct.field(recipes_result)
1434
+ ], itemdata_result.prototype, "recipes", void 0);
1435
+ itemdata_result = __decorate([
1436
+ Struct.type('itemdata_result')
1437
+ ], itemdata_result);
1438
+ Types.itemdata_result = itemdata_result;
1439
+ let items_info = class items_info extends Struct {
1440
+ };
1441
+ __decorate([
1442
+ Struct.field(item_def, { array: true })
1443
+ ], items_info.prototype, "items", void 0);
1444
+ items_info = __decorate([
1445
+ Struct.type('items_info')
1446
+ ], items_info);
1447
+ Types.items_info = items_info;
1448
+ let join = class join extends Struct {
1449
+ };
1450
+ __decorate([
1451
+ Struct.field(Name)
1452
+ ], join.prototype, "account", void 0);
1453
+ join = __decorate([
1454
+ Struct.type('join')
1455
+ ], join);
1456
+ Types.join = join;
1457
+ let location_static = class location_static extends Struct {
1458
+ };
1459
+ __decorate([
1460
+ Struct.field(coordinates)
1461
+ ], location_static.prototype, "coords", void 0);
1462
+ __decorate([
1463
+ Struct.field(UInt8)
1464
+ ], location_static.prototype, "type", void 0);
1465
+ __decorate([
1466
+ Struct.field(UInt8)
1467
+ ], location_static.prototype, "subtype", void 0);
1468
+ __decorate([
1469
+ Struct.field(UInt8)
1470
+ ], location_static.prototype, "seed0", void 0);
1471
+ __decorate([
1472
+ Struct.field(UInt8)
1473
+ ], location_static.prototype, "seed1", void 0);
1474
+ location_static = __decorate([
1475
+ Struct.type('location_static')
1476
+ ], location_static);
1477
+ Types.location_static = location_static;
1478
+ let location_derived = class location_derived extends Struct {
1479
+ };
1480
+ __decorate([
1481
+ Struct.field(location_static)
1482
+ ], location_derived.prototype, "static_props", void 0);
1483
+ __decorate([
1484
+ Struct.field(UInt16)
1485
+ ], location_derived.prototype, "size", void 0);
1486
+ location_derived = __decorate([
1487
+ Struct.type('location_derived')
1488
+ ], location_derived);
1489
+ Types.location_derived = location_derived;
1490
+ let location_info = class location_info extends Struct {
1491
+ };
1492
+ __decorate([
1493
+ Struct.field(coordinates)
1494
+ ], location_info.prototype, "coords", void 0);
1495
+ __decorate([
1496
+ Struct.field('bool')
1497
+ ], location_info.prototype, "is_system", void 0);
1498
+ location_info = __decorate([
1499
+ Struct.type('location_info')
1500
+ ], location_info);
1501
+ Types.location_info = location_info;
1502
+ let module_info = class module_info extends Struct {
1503
+ };
1504
+ __decorate([
1505
+ Struct.field(UInt16)
1506
+ ], module_info.prototype, "id", void 0);
1507
+ __decorate([
1508
+ Struct.field(UInt32)
1509
+ ], module_info.prototype, "mass", void 0);
1510
+ __decorate([
1511
+ Struct.field(UInt8)
1512
+ ], module_info.prototype, "module_type", void 0);
1513
+ __decorate([
1514
+ Struct.field(UInt8)
1515
+ ], module_info.prototype, "tier", void 0);
1516
+ module_info = __decorate([
1517
+ Struct.type('module_info')
1518
+ ], module_info);
1519
+ Types.module_info = module_info;
1520
+ let modules_result = class modules_result extends Struct {
1521
+ };
1522
+ __decorate([
1523
+ Struct.field(module_info, { array: true })
1524
+ ], modules_result.prototype, "modules", void 0);
1525
+ modules_result = __decorate([
1526
+ Struct.type('modules_result')
1527
+ ], modules_result);
1528
+ Types.modules_result = modules_result;
1529
+ let nearby_system = class nearby_system extends Struct {
1530
+ };
1531
+ __decorate([
1532
+ Struct.field(UInt64)
1533
+ ], nearby_system.prototype, "distance", void 0);
1534
+ __decorate([
1535
+ Struct.field(UInt64)
1536
+ ], nearby_system.prototype, "energy_cost", void 0);
1537
+ __decorate([
1538
+ Struct.field(UInt32)
1539
+ ], nearby_system.prototype, "flight_time", void 0);
1540
+ __decorate([
1541
+ Struct.field(location_info)
1542
+ ], nearby_system.prototype, "location", void 0);
1543
+ nearby_system = __decorate([
1544
+ Struct.type('nearby_system')
1545
+ ], nearby_system);
1546
+ Types.nearby_system = nearby_system;
1547
+ let nearby_info = class nearby_info extends Struct {
1548
+ };
1549
+ __decorate([
1550
+ Struct.field('bool')
1551
+ ], nearby_info.prototype, "can_travel", void 0);
1552
+ __decorate([
1553
+ Struct.field(entity_current_state)
1554
+ ], nearby_info.prototype, "current", void 0);
1555
+ __decorate([
1556
+ Struct.field(entity_current_state)
1557
+ ], nearby_info.prototype, "projected", void 0);
1558
+ __decorate([
1559
+ Struct.field(UInt16)
1560
+ ], nearby_info.prototype, "max_energy", void 0);
1561
+ __decorate([
1562
+ Struct.field(nearby_system, { array: true })
1563
+ ], nearby_info.prototype, "systems", void 0);
1564
+ nearby_info = __decorate([
1565
+ Struct.type('nearby_info')
1566
+ ], nearby_info);
1567
+ Types.nearby_info = nearby_info;
1568
+ let schema_field = class schema_field extends Struct {
1569
+ };
1570
+ __decorate([
1571
+ Struct.field('string')
1572
+ ], schema_field.prototype, "name", void 0);
1573
+ __decorate([
1574
+ Struct.field('string')
1575
+ ], schema_field.prototype, "field_type", void 0);
1576
+ schema_field = __decorate([
1577
+ Struct.type('schema_field')
1578
+ ], schema_field);
1579
+ Types.schema_field = schema_field;
1580
+ let nft_schema_def = class nft_schema_def extends Struct {
1581
+ };
1582
+ __decorate([
1583
+ Struct.field(Name)
1584
+ ], nft_schema_def.prototype, "schema_name", void 0);
1585
+ __decorate([
1586
+ Struct.field(schema_field, { array: true })
1587
+ ], nft_schema_def.prototype, "fields", void 0);
1588
+ nft_schema_def = __decorate([
1589
+ Struct.type('nft_schema_def')
1590
+ ], nft_schema_def);
1591
+ Types.nft_schema_def = nft_schema_def;
1592
+ let nft_template_def = class nft_template_def extends Struct {
1593
+ };
1594
+ __decorate([
1595
+ Struct.field(UInt16)
1596
+ ], nft_template_def.prototype, "item_id", void 0);
1597
+ __decorate([
1598
+ Struct.field(Name)
1599
+ ], nft_template_def.prototype, "schema_name", void 0);
1600
+ nft_template_def = __decorate([
1601
+ Struct.type('nft_template_def')
1602
+ ], nft_template_def);
1603
+ Types.nft_template_def = nft_template_def;
1604
+ let nftconfig_row = class nftconfig_row extends Struct {
1605
+ };
1606
+ __decorate([
1607
+ Struct.field(UInt16)
1608
+ ], nftconfig_row.prototype, "item_id", void 0);
1609
+ __decorate([
1610
+ Struct.field(Int32)
1611
+ ], nftconfig_row.prototype, "template_id", void 0);
1612
+ __decorate([
1613
+ Struct.field(Name)
1614
+ ], nftconfig_row.prototype, "schema_name", void 0);
1615
+ nftconfig_row = __decorate([
1616
+ Struct.type('nftconfig_row')
1617
+ ], nftconfig_row);
1618
+ Types.nftconfig_row = nftconfig_row;
1619
+ let nftinfo_result = class nftinfo_result extends Struct {
1620
+ };
1621
+ __decorate([
1622
+ Struct.field(nft_schema_def, { array: true })
1623
+ ], nftinfo_result.prototype, "schemas", void 0);
1624
+ __decorate([
1625
+ Struct.field(nft_template_def, { array: true })
1626
+ ], nftinfo_result.prototype, "templates", void 0);
1627
+ nftinfo_result = __decorate([
1628
+ Struct.type('nftinfo_result')
1629
+ ], nftinfo_result);
1630
+ Types.nftinfo_result = nftinfo_result;
1631
+ let task_event = class task_event extends Struct {
1632
+ };
1633
+ __decorate([
1634
+ Struct.field(UInt8)
1635
+ ], task_event.prototype, "event_type", void 0);
1636
+ __decorate([
1637
+ Struct.field(Name)
1638
+ ], task_event.prototype, "owner", void 0);
1639
+ __decorate([
1640
+ Struct.field(Name)
1641
+ ], task_event.prototype, "entity_type", void 0);
1642
+ __decorate([
1643
+ Struct.field(UInt64)
1644
+ ], task_event.prototype, "entity_id", void 0);
1645
+ __decorate([
1646
+ Struct.field(UInt8)
1647
+ ], task_event.prototype, "task_index", void 0);
1648
+ __decorate([
1649
+ Struct.field(task)
1650
+ ], task_event.prototype, "task", void 0);
1651
+ __decorate([
1652
+ Struct.field(TimePoint)
1653
+ ], task_event.prototype, "starts_at", void 0);
1654
+ __decorate([
1655
+ Struct.field(TimePoint)
1656
+ ], task_event.prototype, "completes_at", void 0);
1657
+ __decorate([
1658
+ Struct.field(UInt16, { optional: true })
1659
+ ], task_event.prototype, "new_energy", void 0);
1660
+ task_event = __decorate([
1661
+ Struct.type('task_event')
1662
+ ], task_event);
1663
+ Types.task_event = task_event;
1664
+ let notify = class notify extends Struct {
1665
+ };
1666
+ __decorate([
1667
+ Struct.field(task_event)
1668
+ ], notify.prototype, "event", void 0);
1669
+ notify = __decorate([
1670
+ Struct.type('notify')
1671
+ ], notify);
1672
+ Types.notify = notify;
1673
+ let player_info = class player_info extends Struct {
1674
+ };
1675
+ __decorate([
1676
+ Struct.field(Name)
1677
+ ], player_info.prototype, "owner", void 0);
1678
+ __decorate([
1679
+ Struct.field('bool')
1680
+ ], player_info.prototype, "is_player", void 0);
1681
+ __decorate([
1682
+ Struct.field('string')
1683
+ ], player_info.prototype, "company_name", void 0);
1684
+ player_info = __decorate([
1685
+ Struct.type('player_info')
1686
+ ], player_info);
1687
+ Types.player_info = player_info;
1688
+ let player_row = class player_row extends Struct {
1689
+ };
1690
+ __decorate([
1691
+ Struct.field(Name)
1692
+ ], player_row.prototype, "owner", void 0);
1693
+ player_row = __decorate([
1694
+ Struct.type('player_row')
1695
+ ], player_row);
1696
+ Types.player_row = player_row;
1697
+ let recharge = class recharge extends Struct {
1698
+ };
1699
+ __decorate([
1700
+ Struct.field(UInt64)
1701
+ ], recharge.prototype, "id", void 0);
1702
+ recharge = __decorate([
1703
+ Struct.type('recharge')
1704
+ ], recharge);
1705
+ Types.recharge = recharge;
1706
+ let refrshentity = class refrshentity extends Struct {
1707
+ };
1708
+ __decorate([
1709
+ Struct.field(UInt64)
1710
+ ], refrshentity.prototype, "entity_id", void 0);
1711
+ refrshentity = __decorate([
1712
+ Struct.type('refrshentity')
1713
+ ], refrshentity);
1714
+ Types.refrshentity = refrshentity;
1715
+ let reserve_row = class reserve_row extends Struct {
1716
+ };
1717
+ __decorate([
1718
+ Struct.field(UInt64)
1719
+ ], reserve_row.prototype, "id", void 0);
1720
+ __decorate([
1721
+ Struct.field(UInt64)
1722
+ ], reserve_row.prototype, "coord_id", void 0);
1723
+ __decorate([
1724
+ Struct.field(UInt16)
1725
+ ], reserve_row.prototype, "stratum", void 0);
1726
+ __decorate([
1727
+ Struct.field(UInt32)
1728
+ ], reserve_row.prototype, "remaining", void 0);
1729
+ reserve_row = __decorate([
1730
+ Struct.type('reserve_row')
1731
+ ], reserve_row);
1732
+ Types.reserve_row = reserve_row;
1733
+ let resolve = class resolve extends Struct {
1734
+ };
1735
+ __decorate([
1736
+ Struct.field(UInt64)
1737
+ ], resolve.prototype, "id", void 0);
1738
+ __decorate([
1739
+ Struct.field(UInt64, { optional: true })
1740
+ ], resolve.prototype, "count", void 0);
1741
+ resolve = __decorate([
1742
+ Struct.type('resolve')
1743
+ ], resolve);
1744
+ Types.resolve = resolve;
1745
+ let resolve_results = class resolve_results extends Struct {
1746
+ };
1747
+ __decorate([
1748
+ Struct.field(UInt64)
1749
+ ], resolve_results.prototype, "entity_id", void 0);
1750
+ __decorate([
1751
+ Struct.field(Name)
1752
+ ], resolve_results.prototype, "entity_type", void 0);
1753
+ __decorate([
1754
+ Struct.field(UInt8)
1755
+ ], resolve_results.prototype, "resolved_count", void 0);
1756
+ __decorate([
1757
+ Struct.field(TimePoint, { optional: true })
1758
+ ], resolve_results.prototype, "new_schedule_started", void 0);
1759
+ __decorate([
1760
+ Struct.field(UInt64, { optional: true })
1761
+ ], resolve_results.prototype, "entitygroup", void 0);
1762
+ __decorate([
1763
+ Struct.field(entity_ref, { array: true, optional: true })
1764
+ ], resolve_results.prototype, "group_members", void 0);
1765
+ resolve_results = __decorate([
1766
+ Struct.type('resolve_results')
1767
+ ], resolve_results);
1768
+ Types.resolve_results = resolve_results;
1769
+ let resource_info = class resource_info extends Struct {
1770
+ };
1771
+ __decorate([
1772
+ Struct.field(UInt16)
1773
+ ], resource_info.prototype, "id", void 0);
1774
+ __decorate([
1775
+ Struct.field(UInt32)
1776
+ ], resource_info.prototype, "mass", void 0);
1777
+ __decorate([
1778
+ Struct.field(UInt8)
1779
+ ], resource_info.prototype, "category", void 0);
1780
+ __decorate([
1781
+ Struct.field(UInt8)
1782
+ ], resource_info.prototype, "tier", void 0);
1783
+ resource_info = __decorate([
1784
+ Struct.type('resource_info')
1785
+ ], resource_info);
1786
+ Types.resource_info = resource_info;
1787
+ let resource_stats = class resource_stats extends Struct {
1788
+ };
1789
+ __decorate([
1790
+ Struct.field(UInt16)
1791
+ ], resource_stats.prototype, "stat1", void 0);
1792
+ __decorate([
1793
+ Struct.field(UInt16)
1794
+ ], resource_stats.prototype, "stat2", void 0);
1795
+ __decorate([
1796
+ Struct.field(UInt16)
1797
+ ], resource_stats.prototype, "stat3", void 0);
1798
+ resource_stats = __decorate([
1799
+ Struct.type('resource_stats')
1800
+ ], resource_stats);
1801
+ Types.resource_stats = resource_stats;
1802
+ let resources_result = class resources_result extends Struct {
1803
+ };
1804
+ __decorate([
1805
+ Struct.field(resource_info, { array: true })
1806
+ ], resources_result.prototype, "resources", void 0);
1807
+ resources_result = __decorate([
1808
+ Struct.type('resources_result')
1809
+ ], resources_result);
1810
+ Types.resources_result = resources_result;
1811
+ let rmmodule = class rmmodule extends Struct {
1812
+ };
1813
+ __decorate([
1814
+ Struct.field(UInt64)
1815
+ ], rmmodule.prototype, "entity_id", void 0);
1816
+ __decorate([
1817
+ Struct.field(UInt8)
1818
+ ], rmmodule.prototype, "module_index", void 0);
1819
+ __decorate([
1820
+ Struct.field(cargo_ref, { optional: true })
1821
+ ], rmmodule.prototype, "target_ref", void 0);
1822
+ rmmodule = __decorate([
1823
+ Struct.type('rmmodule')
1824
+ ], rmmodule);
1825
+ Types.rmmodule = rmmodule;
1826
+ let rmnftcfg = class rmnftcfg extends Struct {
1827
+ };
1828
+ __decorate([
1829
+ Struct.field(UInt16)
1830
+ ], rmnftcfg.prototype, "item_id", void 0);
1831
+ rmnftcfg = __decorate([
1832
+ Struct.type('rmnftcfg')
1833
+ ], rmnftcfg);
1834
+ Types.rmnftcfg = rmnftcfg;
1835
+ let salt = class salt extends Struct {
1836
+ };
1837
+ __decorate([
1838
+ Struct.field(UInt64)
1839
+ ], salt.prototype, "salt", void 0);
1840
+ salt = __decorate([
1841
+ Struct.type('salt')
1842
+ ], salt);
1843
+ Types.salt = salt;
1844
+ let setnftcfg = class setnftcfg extends Struct {
1845
+ };
1846
+ __decorate([
1847
+ Struct.field(UInt16)
1848
+ ], setnftcfg.prototype, "item_id", void 0);
1849
+ __decorate([
1850
+ Struct.field(Int32)
1851
+ ], setnftcfg.prototype, "template_id", void 0);
1852
+ __decorate([
1853
+ Struct.field(Name)
1854
+ ], setnftcfg.prototype, "schema_name", void 0);
1855
+ setnftcfg = __decorate([
1856
+ Struct.type('setnftcfg')
1857
+ ], setnftcfg);
1858
+ Types.setnftcfg = setnftcfg;
1859
+ let skipreveal = class skipreveal extends Struct {
1860
+ };
1861
+ __decorate([
1862
+ Struct.field(Checksum256)
1863
+ ], skipreveal.prototype, "commit", void 0);
1864
+ skipreveal = __decorate([
1865
+ Struct.type('skipreveal')
1866
+ ], skipreveal);
1867
+ Types.skipreveal = skipreveal;
1868
+ let spawncargo = class spawncargo extends Struct {
1869
+ };
1870
+ __decorate([
1871
+ Struct.field(UInt64)
1872
+ ], spawncargo.prototype, "entity_id", void 0);
1873
+ __decorate([
1874
+ Struct.field(UInt64)
1875
+ ], spawncargo.prototype, "item_id", void 0);
1876
+ __decorate([
1877
+ Struct.field(UInt64)
1878
+ ], spawncargo.prototype, "quantity", void 0);
1879
+ spawncargo = __decorate([
1880
+ Struct.type('spawncargo')
1881
+ ], spawncargo);
1882
+ Types.spawncargo = spawncargo;
1883
+ let spawnpacked = class spawnpacked extends Struct {
1884
+ };
1885
+ __decorate([
1886
+ Struct.field(UInt64)
1887
+ ], spawnpacked.prototype, "entity_id", void 0);
1888
+ __decorate([
1889
+ Struct.field(UInt16)
1890
+ ], spawnpacked.prototype, "item_id", void 0);
1891
+ __decorate([
1892
+ Struct.field(UInt64)
1893
+ ], spawnpacked.prototype, "hull_stats", void 0);
1894
+ __decorate([
1895
+ Struct.field(packed_module, { array: true })
1896
+ ], spawnpacked.prototype, "installed", void 0);
1897
+ spawnpacked = __decorate([
1898
+ Struct.type('spawnpacked')
1899
+ ], spawnpacked);
1900
+ Types.spawnpacked = spawnpacked;
1901
+ let spawnseeded = class spawnseeded extends Struct {
1902
+ };
1903
+ __decorate([
1904
+ Struct.field(UInt64)
1905
+ ], spawnseeded.prototype, "entity_id", void 0);
1906
+ __decorate([
1907
+ Struct.field(UInt64)
1908
+ ], spawnseeded.prototype, "item_id", void 0);
1909
+ __decorate([
1910
+ Struct.field(UInt64)
1911
+ ], spawnseeded.prototype, "quantity", void 0);
1912
+ __decorate([
1913
+ Struct.field(UInt64)
1914
+ ], spawnseeded.prototype, "stats", void 0);
1915
+ spawnseeded = __decorate([
1916
+ Struct.type('spawnseeded')
1917
+ ], spawnseeded);
1918
+ Types.spawnseeded = spawnseeded;
1919
+ let state_row = class state_row extends Struct {
1920
+ };
1921
+ __decorate([
1922
+ Struct.field('bool')
1923
+ ], state_row.prototype, "enabled", void 0);
1924
+ __decorate([
1925
+ Struct.field(UInt32)
1926
+ ], state_row.prototype, "epoch", void 0);
1927
+ __decorate([
1928
+ Struct.field(UInt64)
1929
+ ], state_row.prototype, "salt", void 0);
1930
+ __decorate([
1931
+ Struct.field(Checksum256)
1932
+ ], state_row.prototype, "seed", void 0);
1933
+ __decorate([
1934
+ Struct.field(Checksum256)
1935
+ ], state_row.prototype, "commit", void 0);
1936
+ state_row = __decorate([
1937
+ Struct.type('state_row')
1938
+ ], state_row);
1939
+ Types.state_row = state_row;
1940
+ let stratum_info = class stratum_info extends Struct {
1941
+ };
1942
+ __decorate([
1943
+ Struct.field(UInt16)
1944
+ ], stratum_info.prototype, "item_id", void 0);
1945
+ __decorate([
1946
+ Struct.field(UInt64)
1947
+ ], stratum_info.prototype, "seed", void 0);
1948
+ __decorate([
1949
+ Struct.field(UInt16)
1950
+ ], stratum_info.prototype, "richness", void 0);
1951
+ __decorate([
1952
+ Struct.field(UInt32)
1953
+ ], stratum_info.prototype, "reserve", void 0);
1954
+ __decorate([
1955
+ Struct.field(UInt32)
1956
+ ], stratum_info.prototype, "reserve_max", void 0);
1957
+ stratum_info = __decorate([
1958
+ Struct.type('stratum_info')
1959
+ ], stratum_info);
1960
+ Types.stratum_info = stratum_info;
1961
+ let stratum_data = class stratum_data extends Struct {
1962
+ };
1963
+ __decorate([
1964
+ Struct.field(stratum_info)
1965
+ ], stratum_data.prototype, "stratum", void 0);
1966
+ __decorate([
1967
+ Struct.field(resource_stats)
1968
+ ], stratum_data.prototype, "stats", void 0);
1969
+ stratum_data = __decorate([
1970
+ Struct.type('stratum_data')
1971
+ ], stratum_data);
1972
+ Types.stratum_data = stratum_data;
1973
+ let stratum_remaining = class stratum_remaining extends Struct {
1974
+ };
1975
+ __decorate([
1976
+ Struct.field(UInt16)
1977
+ ], stratum_remaining.prototype, "stratum", void 0);
1978
+ __decorate([
1979
+ Struct.field(UInt32)
1980
+ ], stratum_remaining.prototype, "remaining", void 0);
1981
+ stratum_remaining = __decorate([
1982
+ Struct.type('stratum_remaining')
1983
+ ], stratum_remaining);
1984
+ Types.stratum_remaining = stratum_remaining;
1985
+ let task_results = class task_results extends Struct {
1986
+ };
1987
+ __decorate([
1988
+ Struct.field(entity_task_info, { array: true })
1989
+ ], task_results.prototype, "entities", void 0);
1990
+ task_results = __decorate([
1991
+ Struct.type('task_results')
1992
+ ], task_results);
1993
+ Types.task_results = task_results;
1994
+ let transfer = class transfer extends Struct {
1995
+ };
1996
+ __decorate([
1997
+ Struct.field(UInt64)
1998
+ ], transfer.prototype, "source_id", void 0);
1999
+ __decorate([
2000
+ Struct.field(UInt64)
2001
+ ], transfer.prototype, "dest_id", void 0);
2002
+ __decorate([
2003
+ Struct.field(cargo_item, { array: true })
2004
+ ], transfer.prototype, "items", void 0);
2005
+ transfer = __decorate([
2006
+ Struct.type('transfer')
2007
+ ], transfer);
2008
+ Types.transfer = transfer;
2009
+ let travel = class travel extends Struct {
2010
+ };
2011
+ __decorate([
2012
+ Struct.field(UInt64)
2013
+ ], travel.prototype, "id", void 0);
2014
+ __decorate([
2015
+ Struct.field(Int64)
2016
+ ], travel.prototype, "x", void 0);
2017
+ __decorate([
2018
+ Struct.field(Int64)
2019
+ ], travel.prototype, "y", void 0);
2020
+ __decorate([
2021
+ Struct.field('bool')
2022
+ ], travel.prototype, "recharge", void 0);
2023
+ travel = __decorate([
2024
+ Struct.type('travel')
2025
+ ], travel);
2026
+ Types.travel = travel;
2027
+ let types_row = class types_row extends Struct {
2028
+ };
2029
+ __decorate([
2030
+ Struct.field(UInt64)
2031
+ ], types_row.prototype, "id", void 0);
2032
+ __decorate([
2033
+ Struct.field(entity_summary)
2034
+ ], types_row.prototype, "entity_summary_type", void 0);
2035
+ __decorate([
2036
+ Struct.field(game_config)
2037
+ ], types_row.prototype, "game_config_type", void 0);
2038
+ __decorate([
2039
+ Struct.field(stratum_remaining)
2040
+ ], types_row.prototype, "stratum_remaining_type", void 0);
2041
+ types_row = __decorate([
2042
+ Struct.type('types_row')
2043
+ ], types_row);
2044
+ Types.types_row = types_row;
2045
+ let undeploy = class undeploy extends Struct {
2046
+ };
2047
+ __decorate([
2048
+ Struct.field(UInt64)
2049
+ ], undeploy.prototype, "host_id", void 0);
2050
+ __decorate([
2051
+ Struct.field(UInt64)
2052
+ ], undeploy.prototype, "target_id", void 0);
2053
+ undeploy = __decorate([
2054
+ Struct.type('undeploy')
2055
+ ], undeploy);
2056
+ Types.undeploy = undeploy;
2057
+ let warp = class warp extends Struct {
2058
+ };
2059
+ __decorate([
2060
+ Struct.field(UInt64)
2061
+ ], warp.prototype, "id", void 0);
2062
+ __decorate([
2063
+ Struct.field(Int64)
2064
+ ], warp.prototype, "x", void 0);
2065
+ __decorate([
2066
+ Struct.field(Int64)
2067
+ ], warp.prototype, "y", void 0);
2068
+ warp = __decorate([
2069
+ Struct.type('warp')
2070
+ ], warp);
2071
+ Types.warp = warp;
2072
+ let wipe = class wipe extends Struct {
2073
+ };
2074
+ wipe = __decorate([
2075
+ Struct.type('wipe')
2076
+ ], wipe);
2077
+ Types.wipe = wipe;
2078
+ let wrap = class wrap extends Struct {
2079
+ };
2080
+ __decorate([
2081
+ Struct.field(Name)
2082
+ ], wrap.prototype, "owner", void 0);
2083
+ __decorate([
2084
+ Struct.field(UInt64)
2085
+ ], wrap.prototype, "entity_id", void 0);
2086
+ __decorate([
2087
+ Struct.field(UInt64)
2088
+ ], wrap.prototype, "nexus_id", void 0);
2089
+ __decorate([
2090
+ Struct.field(cargo_item, { array: true })
2091
+ ], wrap.prototype, "items", void 0);
2092
+ wrap = __decorate([
2093
+ Struct.type('wrap')
2094
+ ], wrap);
2095
+ Types.wrap = wrap;
2096
+ let wrapentity = class wrapentity extends Struct {
2097
+ };
2098
+ __decorate([
2099
+ Struct.field(UInt64)
2100
+ ], wrapentity.prototype, "entity_id", void 0);
2101
+ __decorate([
2102
+ Struct.field(UInt64)
2103
+ ], wrapentity.prototype, "nexus_id", void 0);
2104
+ wrapentity = __decorate([
2105
+ Struct.type('wrapentity')
2106
+ ], wrapentity);
2107
+ Types.wrapentity = wrapentity;
2108
+ })(Types || (Types = {}));
2109
+ ({
2110
+ cargo: Types.cargo_row,
2111
+ entity: Types.entity_row,
2112
+ entitygroup: Types.entitygroup_row,
2113
+ nftconfig: Types.nftconfig_row,
2114
+ player: Types.player_row,
2115
+ reserve: Types.reserve_row,
2116
+ state: Types.state_row,
2117
+ types: Types.types_row,
2118
+ });
2119
+
2120
+ var items = [
2121
+ {
2122
+ id: 101,
2123
+ mass: 52000,
2124
+ type: "resource",
2125
+ tier: 1,
2126
+ category: "ore"
2127
+ },
2128
+ {
2129
+ id: 102,
2130
+ mass: 58000,
2131
+ type: "resource",
2132
+ tier: 2,
2133
+ category: "ore"
2134
+ },
2135
+ {
2136
+ id: 103,
2137
+ mass: 64000,
2138
+ type: "resource",
2139
+ tier: 3,
2140
+ category: "ore"
2141
+ },
2142
+ {
2143
+ id: 104,
2144
+ mass: 71000,
2145
+ type: "resource",
2146
+ tier: 4,
2147
+ category: "ore"
2148
+ },
2149
+ {
2150
+ id: 105,
2151
+ mass: 78000,
2152
+ type: "resource",
2153
+ tier: 5,
2154
+ category: "ore"
2155
+ },
2156
+ {
2157
+ id: 106,
2158
+ mass: 87000,
2159
+ type: "resource",
2160
+ tier: 6,
2161
+ category: "ore"
2162
+ },
2163
+ {
2164
+ id: 107,
2165
+ mass: 96000,
2166
+ type: "resource",
2167
+ tier: 7,
2168
+ category: "ore"
2169
+ },
2170
+ {
2171
+ id: 108,
2172
+ mass: 107000,
2173
+ type: "resource",
2174
+ tier: 8,
2175
+ category: "ore"
2176
+ },
2177
+ {
2178
+ id: 109,
2179
+ mass: 118000,
2180
+ type: "resource",
2181
+ tier: 9,
2182
+ category: "ore"
2183
+ },
2184
+ {
2185
+ id: 110,
2186
+ mass: 130000,
2187
+ type: "resource",
2188
+ tier: 10,
2189
+ category: "ore"
2190
+ },
2191
+ {
2192
+ id: 201,
2193
+ mass: 35000,
2194
+ type: "resource",
2195
+ tier: 1,
2196
+ category: "crystal"
2197
+ },
2198
+ {
2199
+ id: 202,
2200
+ mass: 35000,
2201
+ type: "resource",
2202
+ tier: 2,
2203
+ category: "crystal"
2204
+ },
2205
+ {
2206
+ id: 203,
2207
+ mass: 35000,
2208
+ type: "resource",
2209
+ tier: 3,
2210
+ category: "crystal"
2211
+ },
2212
+ {
2213
+ id: 204,
2214
+ mass: 35000,
2215
+ type: "resource",
2216
+ tier: 4,
2217
+ category: "crystal"
2218
+ },
2219
+ {
2220
+ id: 205,
2221
+ mass: 35000,
2222
+ type: "resource",
2223
+ tier: 5,
2224
+ category: "crystal"
2225
+ },
2226
+ {
2227
+ id: 206,
2228
+ mass: 35000,
2229
+ type: "resource",
2230
+ tier: 6,
2231
+ category: "crystal"
2232
+ },
2233
+ {
2234
+ id: 207,
2235
+ mass: 35000,
2236
+ type: "resource",
2237
+ tier: 7,
2238
+ category: "crystal"
2239
+ },
2240
+ {
2241
+ id: 208,
2242
+ mass: 35000,
2243
+ type: "resource",
2244
+ tier: 8,
2245
+ category: "crystal"
2246
+ },
2247
+ {
2248
+ id: 209,
2249
+ mass: 35000,
2250
+ type: "resource",
2251
+ tier: 9,
2252
+ category: "crystal"
2253
+ },
2254
+ {
2255
+ id: 210,
2256
+ mass: 35000,
2257
+ type: "resource",
2258
+ tier: 10,
2259
+ category: "crystal"
2260
+ },
2261
+ {
2262
+ id: 301,
2263
+ mass: 15000,
2264
+ type: "resource",
2265
+ tier: 1,
2266
+ category: "gas"
2267
+ },
2268
+ {
2269
+ id: 302,
2270
+ mass: 13500,
2271
+ type: "resource",
2272
+ tier: 2,
2273
+ category: "gas"
2274
+ },
2275
+ {
2276
+ id: 303,
2277
+ mass: 12000,
2278
+ type: "resource",
2279
+ tier: 3,
2280
+ category: "gas"
2281
+ },
2282
+ {
2283
+ id: 304,
2284
+ mass: 11000,
2285
+ type: "resource",
2286
+ tier: 4,
2287
+ category: "gas"
2288
+ },
2289
+ {
2290
+ id: 305,
2291
+ mass: 10000,
2292
+ type: "resource",
2293
+ tier: 5,
2294
+ category: "gas"
2295
+ },
2296
+ {
2297
+ id: 306,
2298
+ mass: 9000,
2299
+ type: "resource",
2300
+ tier: 6,
2301
+ category: "gas"
2302
+ },
2303
+ {
2304
+ id: 307,
2305
+ mass: 8000,
2306
+ type: "resource",
2307
+ tier: 7,
2308
+ category: "gas"
2309
+ },
2310
+ {
2311
+ id: 308,
2312
+ mass: 7500,
2313
+ type: "resource",
2314
+ tier: 8,
2315
+ category: "gas"
2316
+ },
2317
+ {
2318
+ id: 309,
2319
+ mass: 6500,
2320
+ type: "resource",
2321
+ tier: 9,
2322
+ category: "gas"
2323
+ },
2324
+ {
2325
+ id: 310,
2326
+ mass: 6000,
2327
+ type: "resource",
2328
+ tier: 10,
2329
+ category: "gas"
2330
+ },
2331
+ {
2332
+ id: 401,
2333
+ mass: 22000,
2334
+ type: "resource",
2335
+ tier: 1,
2336
+ category: "regolith"
2337
+ },
2338
+ {
2339
+ id: 402,
2340
+ mass: 25000,
2341
+ type: "resource",
2342
+ tier: 2,
2343
+ category: "regolith"
2344
+ },
2345
+ {
2346
+ id: 403,
2347
+ mass: 28000,
2348
+ type: "resource",
2349
+ tier: 3,
2350
+ category: "regolith"
2351
+ },
2352
+ {
2353
+ id: 404,
2354
+ mass: 32000,
2355
+ type: "resource",
2356
+ tier: 4,
2357
+ category: "regolith"
2358
+ },
2359
+ {
2360
+ id: 405,
2361
+ mass: 36000,
2362
+ type: "resource",
2363
+ tier: 5,
2364
+ category: "regolith"
2365
+ },
2366
+ {
2367
+ id: 406,
2368
+ mass: 40500,
2369
+ type: "resource",
2370
+ tier: 6,
2371
+ category: "regolith"
2372
+ },
2373
+ {
2374
+ id: 407,
2375
+ mass: 46000,
2376
+ type: "resource",
2377
+ tier: 7,
2378
+ category: "regolith"
2379
+ },
2380
+ {
2381
+ id: 408,
2382
+ mass: 52000,
2383
+ type: "resource",
2384
+ tier: 8,
2385
+ category: "regolith"
2386
+ },
2387
+ {
2388
+ id: 409,
2389
+ mass: 58500,
2390
+ type: "resource",
2391
+ tier: 9,
2392
+ category: "regolith"
2393
+ },
2394
+ {
2395
+ id: 410,
2396
+ mass: 66000,
2397
+ type: "resource",
2398
+ tier: 10,
2399
+ category: "regolith"
2400
+ },
2401
+ {
2402
+ id: 501,
2403
+ mass: 42000,
2404
+ type: "resource",
2405
+ tier: 1,
2406
+ category: "biomass"
2407
+ },
2408
+ {
2409
+ id: 502,
2410
+ mass: 37000,
2411
+ type: "resource",
2412
+ tier: 2,
2413
+ category: "biomass"
2414
+ },
2415
+ {
2416
+ id: 503,
2417
+ mass: 33000,
2418
+ type: "resource",
2419
+ tier: 3,
2420
+ category: "biomass"
2421
+ },
2422
+ {
2423
+ id: 504,
2424
+ mass: 29000,
2425
+ type: "resource",
2426
+ tier: 4,
2427
+ category: "biomass"
2428
+ },
2429
+ {
2430
+ id: 505,
2431
+ mass: 26000,
2432
+ type: "resource",
2433
+ tier: 5,
2434
+ category: "biomass"
2435
+ },
2436
+ {
2437
+ id: 506,
2438
+ mass: 23000,
2439
+ type: "resource",
2440
+ tier: 6,
2441
+ category: "biomass"
2442
+ },
2443
+ {
2444
+ id: 507,
2445
+ mass: 20000,
2446
+ type: "resource",
2447
+ tier: 7,
2448
+ category: "biomass"
2449
+ },
2450
+ {
2451
+ id: 508,
2452
+ mass: 18000,
2453
+ type: "resource",
2454
+ tier: 8,
2455
+ category: "biomass"
2456
+ },
2457
+ {
2458
+ id: 509,
2459
+ mass: 16000,
2460
+ type: "resource",
2461
+ tier: 9,
2462
+ category: "biomass"
2463
+ },
2464
+ {
2465
+ id: 510,
2466
+ mass: 14000,
2467
+ type: "resource",
2468
+ tier: 10,
2469
+ category: "biomass"
2470
+ },
2471
+ {
2472
+ id: 10001,
2473
+ mass: 50000,
2474
+ type: "component",
2475
+ tier: 1
2476
+ },
2477
+ {
2478
+ id: 10002,
2479
+ mass: 30000,
2480
+ type: "component",
2481
+ tier: 1
2482
+ },
2483
+ {
2484
+ id: 10003,
2485
+ mass: 50000,
2486
+ type: "component",
2487
+ tier: 1
2488
+ },
2489
+ {
2490
+ id: 10004,
2491
+ mass: 30000,
2492
+ type: "component",
2493
+ tier: 1
2494
+ },
2495
+ {
2496
+ id: 10005,
2497
+ mass: 50000,
2498
+ type: "component",
2499
+ tier: 1
2500
+ },
2501
+ {
2502
+ id: 10006,
2503
+ mass: 30000,
2504
+ type: "component",
2505
+ tier: 1
2506
+ },
2507
+ {
2508
+ id: 10007,
2509
+ mass: 30000,
2510
+ type: "component",
2511
+ tier: 1
2512
+ },
2513
+ {
2514
+ id: 10008,
2515
+ mass: 30000,
2516
+ type: "component",
2517
+ tier: 1
2518
+ },
2519
+ {
2520
+ id: 10009,
2521
+ mass: 50000,
2522
+ type: "component",
2523
+ tier: 1
2524
+ },
2525
+ {
2526
+ id: 10010,
2527
+ mass: 40000,
2528
+ type: "component",
2529
+ tier: 1
2530
+ },
2531
+ {
2532
+ id: 10100,
2533
+ mass: 150000,
2534
+ type: "module",
2535
+ tier: 1,
2536
+ subtype: "engine"
2537
+ },
2538
+ {
2539
+ id: 10101,
2540
+ mass: 75000,
2541
+ type: "module",
2542
+ tier: 1,
2543
+ subtype: "generator"
2544
+ },
2545
+ {
2546
+ id: 10102,
2547
+ mass: 145000,
2548
+ type: "module",
2549
+ tier: 1,
2550
+ subtype: "gatherer"
2551
+ },
2552
+ {
2553
+ id: 10103,
2554
+ mass: 90000,
2555
+ type: "module",
2556
+ tier: 1,
2557
+ subtype: "loader"
2558
+ },
2559
+ {
2560
+ id: 10104,
2561
+ mass: 120000,
2562
+ type: "module",
2563
+ tier: 1,
2564
+ subtype: "crafter"
2565
+ },
2566
+ {
2567
+ id: 10105,
2568
+ mass: 100000,
2569
+ type: "module",
2570
+ tier: 1,
2571
+ subtype: "storage"
2572
+ },
2573
+ {
2574
+ id: 10106,
2575
+ mass: 120000,
2576
+ type: "module",
2577
+ tier: 1,
2578
+ subtype: "hauler"
2579
+ },
2580
+ {
2581
+ id: 10107,
2582
+ mass: 180000,
2583
+ type: "module",
2584
+ tier: 1,
2585
+ subtype: "warp"
2586
+ },
2587
+ {
2588
+ id: 10200,
2589
+ mass: 80000,
2590
+ type: "entity",
2591
+ tier: 1
2592
+ },
2593
+ {
2594
+ id: 10201,
2595
+ mass: 100000,
2596
+ type: "entity",
2597
+ tier: 1
2598
+ },
2599
+ {
2600
+ id: 10202,
2601
+ mass: 1300000,
2602
+ type: "entity",
2603
+ tier: 1
2604
+ },
2605
+ {
2606
+ id: 10203,
2607
+ mass: 800000,
2608
+ type: "entity",
2609
+ tier: 1
2610
+ },
2611
+ {
2612
+ id: 10204,
2613
+ mass: 800000,
2614
+ type: "entity",
2615
+ tier: 1
2616
+ },
2617
+ {
2618
+ id: 20001,
2619
+ mass: 50000,
2620
+ type: "component",
2621
+ tier: 2
2622
+ },
2623
+ {
2624
+ id: 20002,
2625
+ mass: 30000,
2626
+ type: "component",
2627
+ tier: 2
2628
+ },
2629
+ {
2630
+ id: 20200,
2631
+ mass: 80000,
2632
+ type: "entity",
2633
+ tier: 2
2634
+ }
2635
+ ];
2636
+
2637
+ const itemMetadata = {
2638
+ 101: { name: 'Ore', description: 'Crude metallic ore.', color: '#C26D3F' },
2639
+ 102: { name: 'Ore', description: 'Refined metallic ore with improved purity.', color: '#C26D3F' },
2640
+ 103: {
2641
+ name: 'Ore',
2642
+ description: 'High-grade metallic ore with exceptional density.',
2643
+ color: '#C26D3F',
2644
+ },
2645
+ 104: { name: 'Ore', description: '', color: '#C26D3F' },
2646
+ 105: { name: 'Ore', description: '', color: '#C26D3F' },
2647
+ 106: { name: 'Ore', description: '', color: '#C26D3F' },
2648
+ 107: { name: 'Ore', description: '', color: '#C26D3F' },
2649
+ 108: { name: 'Ore', description: '', color: '#C26D3F' },
2650
+ 109: { name: 'Ore', description: '', color: '#C26D3F' },
2651
+ 110: { name: 'Ore', description: '', color: '#C26D3F' },
2652
+ 201: { name: 'Crystal', description: 'Raw resonant crystal.', color: '#4ADBFF' },
2653
+ 202: {
2654
+ name: 'Crystal',
2655
+ description: 'Refined resonant crystal with improved clarity.',
2656
+ color: '#4ADBFF',
2657
+ },
2658
+ 203: {
2659
+ name: 'Crystal',
2660
+ description: 'High-grade resonant crystal with exceptional purity.',
2661
+ color: '#4ADBFF',
2662
+ },
2663
+ 204: { name: 'Crystal', description: '', color: '#4ADBFF' },
2664
+ 205: { name: 'Crystal', description: '', color: '#4ADBFF' },
2665
+ 206: { name: 'Crystal', description: '', color: '#4ADBFF' },
2666
+ 207: { name: 'Crystal', description: '', color: '#4ADBFF' },
2667
+ 208: { name: 'Crystal', description: '', color: '#4ADBFF' },
2668
+ 209: { name: 'Crystal', description: '', color: '#4ADBFF' },
2669
+ 210: { name: 'Crystal', description: '', color: '#4ADBFF' },
2670
+ 301: { name: 'Gas', description: 'Raw volatile gas.', color: '#B8E4A0' },
2671
+ 302: {
2672
+ name: 'Gas',
2673
+ description: 'Refined volatile gas with improved reactivity.',
2674
+ color: '#B8E4A0',
2675
+ },
2676
+ 303: {
2677
+ name: 'Gas',
2678
+ description: 'High-grade volatile gas with exceptional energy density.',
2679
+ color: '#B8E4A0',
2680
+ },
2681
+ 304: { name: 'Gas', description: '', color: '#B8E4A0' },
2682
+ 305: { name: 'Gas', description: '', color: '#B8E4A0' },
2683
+ 306: { name: 'Gas', description: '', color: '#B8E4A0' },
2684
+ 307: { name: 'Gas', description: '', color: '#B8E4A0' },
2685
+ 308: { name: 'Gas', description: '', color: '#B8E4A0' },
2686
+ 309: { name: 'Gas', description: '', color: '#B8E4A0' },
2687
+ 310: { name: 'Gas', description: '', color: '#B8E4A0' },
2688
+ 401: { name: 'Regolith', description: 'Crude regolith dust.', color: '#C4A57B' },
2689
+ 402: {
2690
+ name: 'Regolith',
2691
+ description: 'Refined regolith with improved fineness.',
2692
+ color: '#C4A57B',
2693
+ },
2694
+ 403: {
2695
+ name: 'Regolith',
2696
+ description: 'High-grade regolith with exceptional uniformity.',
2697
+ color: '#C4A57B',
2698
+ },
2699
+ 404: { name: 'Regolith', description: '', color: '#C4A57B' },
2700
+ 405: { name: 'Regolith', description: '', color: '#C4A57B' },
2701
+ 406: { name: 'Regolith', description: '', color: '#C4A57B' },
2702
+ 407: { name: 'Regolith', description: '', color: '#C4A57B' },
2703
+ 408: { name: 'Regolith', description: '', color: '#C4A57B' },
2704
+ 409: { name: 'Regolith', description: '', color: '#C4A57B' },
2705
+ 410: { name: 'Regolith', description: '', color: '#C4A57B' },
2706
+ 501: { name: 'Biomass', description: 'Crude organic biomass.', color: '#5A8B3E' },
2707
+ 502: {
2708
+ name: 'Biomass',
2709
+ description: 'Refined biomass with improved plasticity.',
2710
+ color: '#5A8B3E',
2711
+ },
2712
+ 503: {
2713
+ name: 'Biomass',
2714
+ description: 'High-grade biomass with exceptional saturation.',
2715
+ color: '#5A8B3E',
2716
+ },
2717
+ 504: { name: 'Biomass', description: '', color: '#5A8B3E' },
2718
+ 505: { name: 'Biomass', description: '', color: '#5A8B3E' },
2719
+ 506: { name: 'Biomass', description: '', color: '#5A8B3E' },
2720
+ 507: { name: 'Biomass', description: '', color: '#5A8B3E' },
2721
+ 508: { name: 'Biomass', description: '', color: '#5A8B3E' },
2722
+ 509: { name: 'Biomass', description: '', color: '#5A8B3E' },
2723
+ 510: { name: 'Biomass', description: '', color: '#5A8B3E' },
2724
+ 10001: {
2725
+ name: 'Hull Plates',
2726
+ description: 'Structural plating formed from ore. Used in hulls, containers, and frames.',
2727
+ color: '#7B8D9E',
2728
+ },
2729
+ 10002: {
2730
+ name: 'Cargo Lining',
2731
+ description: 'Composite lining formed from fine regolith bound in biomass polymer. Dense enough to seal cargo holds, flexible enough to absorb vibration.',
2732
+ color: '#C4A57B',
2733
+ },
2734
+ 10003: {
2735
+ name: 'Thruster Core',
2736
+ description: 'High-energy propulsion component formed from volatile gases.',
2737
+ color: '#E86344',
2738
+ },
2739
+ 10004: {
2740
+ name: 'Power Cell',
2741
+ description: 'Crystalline energy storage matrix. Resonant lattices retain and release charge.',
2742
+ color: '#4ADBFF',
2743
+ },
2744
+ 10005: {
2745
+ name: 'Matter Conduit',
2746
+ description: 'Heavy-duty ore shaft used in gathering equipment.',
2747
+ color: '#7B8D9E',
2748
+ },
2749
+ 10006: {
2750
+ name: 'Survey Probe',
2751
+ description: 'Crystal-lattice sensor array for deep resource detection.',
2752
+ color: '#4ADBFF',
2753
+ },
2754
+ 10007: {
2755
+ name: 'Cargo Arm',
2756
+ description: 'Flexible biomass composite arm for cargo handling.',
2757
+ color: '#5A8B3E',
2758
+ },
2759
+ 10008: {
2760
+ name: 'Tool Bit',
2761
+ description: 'Dense regolith cutting head for crafting operations.',
2762
+ color: '#C4A57B',
2763
+ },
2764
+ 10009: {
2765
+ name: 'Reaction Chamber',
2766
+ description: 'Gas-pressurized vessel for controlled crafting reactions.',
2767
+ color: '#B8E4A0',
2768
+ },
2769
+ 10010: {
2770
+ name: 'Focusing Array',
2771
+ description: "Precision-formed crystal lens array. Routes the haul beam's energy efficiently to the target lock.",
2772
+ color: '#4ADBFF',
2773
+ },
2774
+ 10100: {
2775
+ name: 'Engine',
2776
+ description: 'Basic propulsion system. Converts volatile gases into thrust.',
2777
+ color: '#E86344',
2778
+ },
2779
+ 10101: {
2780
+ name: 'Generator',
2781
+ description: 'Basic energy system. Stores and recharges energy from resonant crystals.',
2782
+ color: '#4ADBFF',
2783
+ },
2784
+ 10102: {
2785
+ name: 'Gatherer',
2786
+ description: 'Basic gathering system. Probes and conduits for raw resources.',
2787
+ color: '#7B8D9E',
2788
+ },
2789
+ 10103: {
2790
+ name: 'Loader',
2791
+ description: 'Basic cargo handling system. Loads and unloads cargo with articulated arms.',
2792
+ color: '#5A8B3E',
2793
+ },
2794
+ 10104: {
2795
+ name: 'Crafter',
2796
+ description: 'Basic crafting system. Processes materials using reaction chambers and cutting tools.',
2797
+ color: '#B8E4A0',
2798
+ },
2799
+ 10105: {
2800
+ name: 'Storage',
2801
+ description: 'Expands cargo capacity based on hull material quality.',
2802
+ color: '#8B7355',
2803
+ },
2804
+ 10106: {
2805
+ name: 'Hauler',
2806
+ description: 'Projects a haul beam to lock onto and transport containers or warehouses through group travel.',
2807
+ color: '#4ADBFF',
2808
+ },
2809
+ 10107: {
2810
+ name: 'Warp',
2811
+ description: 'Folds local space-time around the hull, projecting the ship across vast distances in a single discharge of the entire energy reserve.',
2812
+ color: '#9be4ff',
2813
+ },
2814
+ 10200: {
2815
+ name: 'Container',
2816
+ description: 'Passive floating cargo storage in space. Towed by ships.',
2817
+ color: '#7B8D9E',
2818
+ },
2819
+ 10201: {
2820
+ name: 'Ship',
2821
+ description: 'General-purpose vessel with 5 module slots.',
2822
+ color: '#4AE898',
2823
+ },
2824
+ 10202: {
2825
+ name: 'Warehouse',
2826
+ description: 'Massive stationary storage facility with a single loader module slot.',
2827
+ color: '#EAB308',
2828
+ },
2829
+ 10203: {
2830
+ name: 'Extractor',
2831
+ description: 'Planetary resource extraction facility with generator and gatherer module slots.',
2832
+ color: '#D4726F',
2833
+ },
2834
+ 10204: {
2835
+ name: 'Factory',
2836
+ description: 'Planetary fabrication facility with generator and crafter module slots.',
2837
+ color: '#7BA7D4',
2838
+ },
2839
+ 20001: {
2840
+ name: 'Hull Plates',
2841
+ description: 'Advanced structural plating reinforced with tier 2 ore.',
2842
+ color: '#9BADB8',
2843
+ },
2844
+ 20002: {
2845
+ name: 'Cargo Lining',
2846
+ description: 'Advanced composite lining reinforced with tier 2 regolith and biomass polymer.',
2847
+ color: '#C4A57B',
2848
+ },
2849
+ 20200: {
2850
+ name: 'Container',
2851
+ description: 'Advanced cargo container with improved capacity formulas.',
2852
+ color: '#9BADB8',
2853
+ },
2854
+ };
2855
+ for (const item of items) {
2856
+ if (!itemMetadata[item.id]) {
2857
+ throw new Error(`Missing metadata for item ${item.id}. Add an entry to metadata.ts.`);
2858
+ }
2859
+ }
2860
+
2861
+ var TaskType;
2862
+ (function (TaskType) {
2863
+ TaskType[TaskType["IDLE"] = 0] = "IDLE";
2864
+ TaskType[TaskType["TRAVEL"] = 1] = "TRAVEL";
2865
+ TaskType[TaskType["RECHARGE"] = 2] = "RECHARGE";
2866
+ TaskType[TaskType["LOAD"] = 3] = "LOAD";
2867
+ TaskType[TaskType["UNLOAD"] = 4] = "UNLOAD";
2868
+ TaskType[TaskType["GATHER"] = 5] = "GATHER";
2869
+ TaskType[TaskType["WARP"] = 6] = "WARP";
2870
+ TaskType[TaskType["CRAFT"] = 7] = "CRAFT";
2871
+ TaskType[TaskType["DEPLOY"] = 8] = "DEPLOY";
2872
+ TaskType[TaskType["WRAP"] = 9] = "WRAP";
2873
+ TaskType[TaskType["UNWRAP"] = 10] = "UNWRAP";
2874
+ TaskType[TaskType["UNDEPLOY"] = 11] = "UNDEPLOY";
2875
+ TaskType[TaskType["WRAP_ENTITY"] = 12] = "WRAP_ENTITY";
2876
+ TaskType[TaskType["DEMOLISH"] = 13] = "DEMOLISH";
2877
+ })(TaskType || (TaskType = {}));
2878
+ var LocationType;
2879
+ (function (LocationType) {
2880
+ LocationType[LocationType["EMPTY"] = 0] = "EMPTY";
2881
+ LocationType[LocationType["PLANET"] = 1] = "PLANET";
2882
+ LocationType[LocationType["ASTEROID"] = 2] = "ASTEROID";
2883
+ LocationType[LocationType["NEBULA"] = 3] = "NEBULA";
2884
+ LocationType[LocationType["ICE_FIELD"] = 4] = "ICE_FIELD";
2885
+ })(LocationType || (LocationType = {}));
2886
+ var TaskCancelable;
2887
+ (function (TaskCancelable) {
2888
+ TaskCancelable[TaskCancelable["NEVER"] = 0] = "NEVER";
2889
+ TaskCancelable[TaskCancelable["BEFORE_START"] = 1] = "BEFORE_START";
2890
+ TaskCancelable[TaskCancelable["ALWAYS"] = 2] = "ALWAYS";
2891
+ })(TaskCancelable || (TaskCancelable = {}));
2892
+ class Coordinates extends Types.coordinates {
2893
+ static from(value) {
2894
+ return super.from(value);
2895
+ }
2896
+ equals(other) {
2897
+ const coords = Coordinates.from(other);
2898
+ return this.x.equals(coords.x) && this.y.equals(coords.y);
2899
+ }
2900
+ toLocationId() {
2901
+ return coordsToLocationId(this);
2902
+ }
2903
+ }
2904
+ function coordsToLocationId(coords) {
2905
+ const c = Coordinates.from(coords);
2906
+ const mask = BigInt(0xffffffff);
2907
+ const x = BigInt(c.x.toNumber()) & mask;
2908
+ const y = BigInt(c.y.toNumber()) & mask;
2909
+ const id = (x << BigInt(32)) | y;
2910
+ return UInt64.from(id);
2911
+ }
2912
+
2913
+ const itemsById = new Map();
2914
+ for (const raw of items) {
2915
+ const meta = itemMetadata[raw.id];
2916
+ if (!meta) {
2917
+ throw new Error(`Missing metadata for item ${raw.id}. Add an entry to metadata.ts.`);
2918
+ }
2919
+ itemsById.set(raw.id, {
2920
+ id: raw.id,
2921
+ name: meta.name,
2922
+ description: meta.description,
2923
+ color: meta.color,
2924
+ mass: raw.mass,
2925
+ type: raw.type,
2926
+ tier: raw.tier,
2927
+ category: raw.category,
2928
+ moduleType: raw.type === 'module' ? raw.subtype : undefined,
2929
+ });
2930
+ }
2931
+ Array.from(itemsById.keys());
2932
+
2933
+ function cargoItemToStack(item) {
2934
+ return {
2935
+ item_id: UInt16.from(item.item_id),
2936
+ quantity: UInt32.from(item.quantity),
2937
+ stats: UInt64.from(item.stats),
2938
+ modules: item.modules ?? [],
2939
+ };
2940
+ }
2941
+ function statsEquals(a, b) {
2942
+ return a.equals(b);
2943
+ }
2944
+ function stackIdentityEqual(a, b) {
2945
+ return a.item_id.equals(b.item_id) && statsEquals(a.stats, b.stats);
2946
+ }
2947
+ function mergeStacks(stacks, add) {
2948
+ const idx = stacks.findIndex((s) => stackIdentityEqual(s, add));
2949
+ if (idx === -1) {
2950
+ return [...stacks, { ...add }];
2951
+ }
2952
+ const result = stacks.slice();
2953
+ result[idx] = {
2954
+ ...result[idx],
2955
+ quantity: UInt32.from(result[idx].quantity.adding(add.quantity)),
2956
+ };
2957
+ return result;
2958
+ }
2959
+
2960
+ function assertProjectionEquals(contract, sdk, options = {}) {
2961
+ const mismatches = [];
2962
+ const record = (name, c, s) => {
2963
+ if (c !== s)
2964
+ mismatches.push(` ${name}: contract=${fmt(c)} sdk=${fmt(s)}`);
2965
+ };
2966
+ const recordStatBlock = (name, c, s) => {
2967
+ const cPresent = c !== undefined && c !== null;
2968
+ const sPresent = s !== undefined && s !== null;
2969
+ if (cPresent !== sPresent) {
2970
+ mismatches.push(` ${name}: contract=${cPresent ? 'present' : 'absent'} sdk=${sPresent ? 'present' : 'absent'}`);
2971
+ return;
2972
+ }
2973
+ if (!cPresent)
2974
+ return;
2975
+ const cn = JSON.stringify(normaliseStatBlock(c));
2976
+ const sn = JSON.stringify(normaliseStatBlock(s));
2977
+ if (cn !== sn)
2978
+ mismatches.push(` ${name}: contract=${cn} sdk=${sn}`);
2979
+ };
2980
+ record('coordinates.x', toNum(contract.coordinates.x), Number(sdk.location.x));
2981
+ record('coordinates.y', toNum(contract.coordinates.y), Number(sdk.location.y));
2982
+ record('energy', toNum(contract.energy), Number(sdk.energy));
2983
+ record('cargomass', toNum(contract.cargomass), Number(sdk.cargoMass));
2984
+ record('hullmass', toNum(contract.hullmass), Number(sdk.shipMass));
2985
+ record('capacity', toNum(contract.capacity), sdk.capacity ? Number(sdk.capacity) : undefined);
2986
+ recordStatBlock('engines', contract.engines, sdk.engines);
2987
+ recordStatBlock('loaders', contract.loaders, sdk.loaders);
2988
+ recordStatBlock('generator', contract.generator, sdk.generator);
2989
+ recordStatBlock('hauler', contract.hauler, sdk.hauler);
2990
+ if (contract.cargo.length > 0 || sdk.cargo.length > 0) {
2991
+ const contractCargo = normaliseCargo(mergeContractCargo(contract.cargo));
2992
+ const sdkCargo = normaliseCargo(sdk.cargo);
2993
+ if (contractCargo.length !== sdkCargo.length) {
2994
+ mismatches.push(` cargo.length: contract=${contractCargo.length} sdk=${sdkCargo.length}`);
2995
+ }
2996
+ else {
2997
+ for (let i = 0; i < contractCargo.length; i++) {
2998
+ const c = contractCargo[i];
2999
+ const s = sdkCargo[i];
3000
+ if (c.itemId !== s.itemId || c.stats !== s.stats || c.quantity !== s.quantity) {
3001
+ mismatches.push(` cargo[${i}]: contract={item:${c.itemId},stats:${c.stats},qty:${c.quantity}} sdk={item:${s.itemId},stats:${s.stats},qty:${s.quantity}}`);
3002
+ }
3003
+ }
3004
+ }
3005
+ }
3006
+ if (mismatches.length > 0) {
3007
+ const header = options.step !== undefined
3008
+ ? `projection divergence at step ${options.step}:`
3009
+ : 'projection divergence:';
3010
+ throw new Error([header, ...mismatches].join('\n'));
3011
+ }
3012
+ }
3013
+ function mergeContractCargo(cargo) {
3014
+ return cargo.reduce((acc, row) => mergeStacks(acc, cargoItemToStack(row)), []);
3015
+ }
3016
+ function normaliseCargo(cargo) {
3017
+ return cargo
3018
+ .map((s) => ({
3019
+ itemId: Number(s.item_id),
3020
+ stats: BigInt(s.stats.toString()).toString(),
3021
+ quantity: BigInt(s.quantity.toString()).toString(),
3022
+ }))
3023
+ .sort(stackSort);
3024
+ }
3025
+ function stackSort(a, b) {
3026
+ if (a.itemId !== b.itemId)
3027
+ return a.itemId - b.itemId;
3028
+ return a.stats < b.stats ? -1 : a.stats > b.stats ? 1 : 0;
3029
+ }
3030
+ function toNum(v) {
3031
+ if (v === undefined || v === null)
3032
+ return undefined;
3033
+ if (typeof v === 'number')
3034
+ return v;
3035
+ if (typeof v === 'bigint')
3036
+ return Number(v);
3037
+ if (typeof v.toNumber === 'function') {
3038
+ return v.toNumber();
3039
+ }
3040
+ return Number(v);
3041
+ }
3042
+ function fmt(v) {
3043
+ if (v === undefined)
3044
+ return 'undefined';
3045
+ if (v === null)
3046
+ return 'null';
3047
+ return String(v);
3048
+ }
3049
+ function normaliseStatBlock(block) {
3050
+ const out = {};
3051
+ const obj = block;
3052
+ for (const k of Object.keys(obj).sort()) {
3053
+ out[k] = toNum(obj[k]) ?? 0;
3054
+ }
3055
+ return out;
3056
+ }
3057
+
3058
+ export { CATALOG_FILES_REL, assertProjectionEquals, computeCatalogHash };
3059
+ //# sourceMappingURL=testing.m.js.map