client_plugin_logic_deb 1.8.472 → 1.8.473
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Logic_Debertz-bot_engine.js +517 -517
- package/Logic_Debertz-client_plugin.d.ts +3 -2
- package/Logic_Debertz-client_plugin.js +2038 -2038
- package/Logic_Debertz-core.js +1 -1
- package/Logic_Debertz-engine.js +11705 -11678
- package/Logic_Debertz-engine.js.map +1 -1
- package/Logic_Debertz-game_client.js +6287 -6287
- package/Logic_Debertz-game_server.js +933 -933
- package/kotlin-kotlin-stdlib.js +10 -10
- package/kotlin-kotlin-stdlib.js.map +1 -1
- package/kotlinx-coroutines-core.js +7 -7
- package/kotlinx-coroutines-core.js.map +1 -1
- package/package.json +1 -1
|
@@ -175,15 +175,15 @@
|
|
|
175
175
|
function PlayCard(card, combinations) {
|
|
176
176
|
combinations = combinations === VOID ? null : combinations;
|
|
177
177
|
BotAction.call(this);
|
|
178
|
-
this.
|
|
179
|
-
this.
|
|
178
|
+
this.ob5_1 = card;
|
|
179
|
+
this.pb5_1 = combinations;
|
|
180
180
|
}
|
|
181
181
|
protoOf(PlayCard).toString = function () {
|
|
182
|
-
return 'PlayCard(card=' + this.
|
|
182
|
+
return 'PlayCard(card=' + this.ob5_1.toString() + ', combinations=' + toString(this.pb5_1) + ')';
|
|
183
183
|
};
|
|
184
184
|
protoOf(PlayCard).hashCode = function () {
|
|
185
|
-
var result = this.
|
|
186
|
-
result = imul(result, 31) + (this.
|
|
185
|
+
var result = this.ob5_1.hashCode();
|
|
186
|
+
result = imul(result, 31) + (this.pb5_1 == null ? 0 : hashCode(this.pb5_1)) | 0;
|
|
187
187
|
return result;
|
|
188
188
|
};
|
|
189
189
|
protoOf(PlayCard).equals = function (other) {
|
|
@@ -191,47 +191,47 @@
|
|
|
191
191
|
return true;
|
|
192
192
|
if (!(other instanceof PlayCard))
|
|
193
193
|
return false;
|
|
194
|
-
if (!this.
|
|
194
|
+
if (!this.ob5_1.equals(other.ob5_1))
|
|
195
195
|
return false;
|
|
196
|
-
if (!equals(this.
|
|
196
|
+
if (!equals(this.pb5_1, other.pb5_1))
|
|
197
197
|
return false;
|
|
198
198
|
return true;
|
|
199
199
|
};
|
|
200
200
|
function SelectSuit(suit) {
|
|
201
201
|
BotAction.call(this);
|
|
202
|
-
this.
|
|
202
|
+
this.qb5_1 = suit;
|
|
203
203
|
}
|
|
204
204
|
protoOf(SelectSuit).toString = function () {
|
|
205
|
-
return 'SelectSuit(suit=' + toString(this.
|
|
205
|
+
return 'SelectSuit(suit=' + toString(this.qb5_1) + ')';
|
|
206
206
|
};
|
|
207
207
|
protoOf(SelectSuit).hashCode = function () {
|
|
208
|
-
return this.
|
|
208
|
+
return this.qb5_1 == null ? 0 : this.qb5_1.hashCode();
|
|
209
209
|
};
|
|
210
210
|
protoOf(SelectSuit).equals = function (other) {
|
|
211
211
|
if (this === other)
|
|
212
212
|
return true;
|
|
213
213
|
if (!(other instanceof SelectSuit))
|
|
214
214
|
return false;
|
|
215
|
-
if (!equals(this.
|
|
215
|
+
if (!equals(this.qb5_1, other.qb5_1))
|
|
216
216
|
return false;
|
|
217
217
|
return true;
|
|
218
218
|
};
|
|
219
219
|
function AcceptCombinations(isAccepted) {
|
|
220
220
|
BotAction.call(this);
|
|
221
|
-
this.
|
|
221
|
+
this.rb5_1 = isAccepted;
|
|
222
222
|
}
|
|
223
223
|
protoOf(AcceptCombinations).toString = function () {
|
|
224
|
-
return 'AcceptCombinations(isAccepted=' + this.
|
|
224
|
+
return 'AcceptCombinations(isAccepted=' + this.rb5_1 + ')';
|
|
225
225
|
};
|
|
226
226
|
protoOf(AcceptCombinations).hashCode = function () {
|
|
227
|
-
return getBooleanHashCode(this.
|
|
227
|
+
return getBooleanHashCode(this.rb5_1);
|
|
228
228
|
};
|
|
229
229
|
protoOf(AcceptCombinations).equals = function (other) {
|
|
230
230
|
if (this === other)
|
|
231
231
|
return true;
|
|
232
232
|
if (!(other instanceof AcceptCombinations))
|
|
233
233
|
return false;
|
|
234
|
-
if (!(this.
|
|
234
|
+
if (!(this.rb5_1 === other.rb5_1))
|
|
235
235
|
return false;
|
|
236
236
|
return true;
|
|
237
237
|
};
|
|
@@ -241,51 +241,51 @@
|
|
|
241
241
|
trumpCard = trumpCard === VOID ? null : trumpCard;
|
|
242
242
|
suitSelectionHistory = suitSelectionHistory === VOID ? emptyList() : suitSelectionHistory;
|
|
243
243
|
handSize = handSize === VOID ? 8 : handSize;
|
|
244
|
-
this.
|
|
245
|
-
this.
|
|
246
|
-
this.
|
|
247
|
-
this.
|
|
248
|
-
this.
|
|
249
|
-
this.
|
|
250
|
-
this.
|
|
251
|
-
this.
|
|
252
|
-
this.
|
|
253
|
-
this.
|
|
254
|
-
this.
|
|
255
|
-
this.
|
|
256
|
-
this.
|
|
257
|
-
this.
|
|
258
|
-
this.
|
|
259
|
-
this.
|
|
260
|
-
this.
|
|
261
|
-
this.
|
|
262
|
-
this.
|
|
263
|
-
this.
|
|
244
|
+
this.sb5_1 = focalPlayerId;
|
|
245
|
+
this.tb5_1 = playerOrder;
|
|
246
|
+
this.ub5_1 = ownCards;
|
|
247
|
+
this.vb5_1 = playedCards;
|
|
248
|
+
this.wb5_1 = currentTrick;
|
|
249
|
+
this.xb5_1 = trump;
|
|
250
|
+
this.yb5_1 = trumpCard;
|
|
251
|
+
this.zb5_1 = isTrumpDeclarer;
|
|
252
|
+
this.ab6_1 = suitSelectionHistory;
|
|
253
|
+
this.bb6_1 = ownTeamScore;
|
|
254
|
+
this.cb6_1 = opponentTeamScore;
|
|
255
|
+
this.db6_1 = ownRoundPoints;
|
|
256
|
+
this.eb6_1 = opponentRoundPoints;
|
|
257
|
+
this.fb6_1 = trickNumber;
|
|
258
|
+
this.gb6_1 = positionInTrick;
|
|
259
|
+
this.hb6_1 = ownTeamWonLastTrick;
|
|
260
|
+
this.ib6_1 = declaredCombinations;
|
|
261
|
+
this.jb6_1 = rules;
|
|
262
|
+
this.kb6_1 = playersMode;
|
|
263
|
+
this.lb6_1 = handSize;
|
|
264
264
|
}
|
|
265
265
|
protoOf(BotGameState).toString = function () {
|
|
266
|
-
return 'BotGameState(focalPlayerId=' + this.
|
|
266
|
+
return 'BotGameState(focalPlayerId=' + this.sb5_1 + ', playerOrder=' + toString_0(this.tb5_1) + ', ownCards=' + toString_0(this.ub5_1) + ', playedCards=' + toString_0(this.vb5_1) + ', currentTrick=' + toString_0(this.wb5_1) + ', trump=' + toString(this.xb5_1) + ', trumpCard=' + toString(this.yb5_1) + ', isTrumpDeclarer=' + this.zb5_1 + ', suitSelectionHistory=' + toString_0(this.ab6_1) + ', ownTeamScore=' + this.bb6_1 + ', opponentTeamScore=' + this.cb6_1 + ', ownRoundPoints=' + this.db6_1 + ', opponentRoundPoints=' + this.eb6_1 + ', trickNumber=' + this.fb6_1 + ', positionInTrick=' + this.gb6_1 + ', ownTeamWonLastTrick=' + this.hb6_1 + ', declaredCombinations=' + toString_0(this.ib6_1) + ', rules=' + this.jb6_1.toString() + ', playersMode=' + this.kb6_1.toString() + ', handSize=' + this.lb6_1 + ')';
|
|
267
267
|
};
|
|
268
268
|
protoOf(BotGameState).hashCode = function () {
|
|
269
|
-
var result = getStringHashCode(this.
|
|
270
|
-
result = imul(result, 31) + hashCode(this.rb5_1) | 0;
|
|
271
|
-
result = imul(result, 31) + hashCode(this.sb5_1) | 0;
|
|
269
|
+
var result = getStringHashCode(this.sb5_1);
|
|
272
270
|
result = imul(result, 31) + hashCode(this.tb5_1) | 0;
|
|
273
271
|
result = imul(result, 31) + hashCode(this.ub5_1) | 0;
|
|
274
|
-
result = imul(result, 31) + (this.vb5_1
|
|
275
|
-
result = imul(result, 31) + (this.wb5_1
|
|
276
|
-
result = imul(result, 31) +
|
|
277
|
-
result = imul(result, 31) +
|
|
278
|
-
result = imul(result, 31) + this.zb5_1 | 0;
|
|
279
|
-
result = imul(result, 31) + this.ab6_1 | 0;
|
|
272
|
+
result = imul(result, 31) + hashCode(this.vb5_1) | 0;
|
|
273
|
+
result = imul(result, 31) + hashCode(this.wb5_1) | 0;
|
|
274
|
+
result = imul(result, 31) + (this.xb5_1 == null ? 0 : this.xb5_1.hashCode()) | 0;
|
|
275
|
+
result = imul(result, 31) + (this.yb5_1 == null ? 0 : this.yb5_1.hashCode()) | 0;
|
|
276
|
+
result = imul(result, 31) + getBooleanHashCode(this.zb5_1) | 0;
|
|
277
|
+
result = imul(result, 31) + hashCode(this.ab6_1) | 0;
|
|
280
278
|
result = imul(result, 31) + this.bb6_1 | 0;
|
|
281
279
|
result = imul(result, 31) + this.cb6_1 | 0;
|
|
282
280
|
result = imul(result, 31) + this.db6_1 | 0;
|
|
283
281
|
result = imul(result, 31) + this.eb6_1 | 0;
|
|
284
|
-
result = imul(result, 31) +
|
|
285
|
-
result = imul(result, 31) +
|
|
286
|
-
result = imul(result, 31) + this.hb6_1
|
|
287
|
-
result = imul(result, 31) + this.ib6_1
|
|
288
|
-
result = imul(result, 31) + this.jb6_1 | 0;
|
|
282
|
+
result = imul(result, 31) + this.fb6_1 | 0;
|
|
283
|
+
result = imul(result, 31) + this.gb6_1 | 0;
|
|
284
|
+
result = imul(result, 31) + getBooleanHashCode(this.hb6_1) | 0;
|
|
285
|
+
result = imul(result, 31) + hashCode(this.ib6_1) | 0;
|
|
286
|
+
result = imul(result, 31) + this.jb6_1.hashCode() | 0;
|
|
287
|
+
result = imul(result, 31) + this.kb6_1.hashCode() | 0;
|
|
288
|
+
result = imul(result, 31) + this.lb6_1 | 0;
|
|
289
289
|
return result;
|
|
290
290
|
};
|
|
291
291
|
protoOf(BotGameState).equals = function (other) {
|
|
@@ -293,11 +293,7 @@
|
|
|
293
293
|
return true;
|
|
294
294
|
if (!(other instanceof BotGameState))
|
|
295
295
|
return false;
|
|
296
|
-
if (!(this.
|
|
297
|
-
return false;
|
|
298
|
-
if (!equals(this.rb5_1, other.rb5_1))
|
|
299
|
-
return false;
|
|
300
|
-
if (!equals(this.sb5_1, other.sb5_1))
|
|
296
|
+
if (!(this.sb5_1 === other.sb5_1))
|
|
301
297
|
return false;
|
|
302
298
|
if (!equals(this.tb5_1, other.tb5_1))
|
|
303
299
|
return false;
|
|
@@ -307,13 +303,13 @@
|
|
|
307
303
|
return false;
|
|
308
304
|
if (!equals(this.wb5_1, other.wb5_1))
|
|
309
305
|
return false;
|
|
310
|
-
if (!(this.xb5_1
|
|
306
|
+
if (!equals(this.xb5_1, other.xb5_1))
|
|
311
307
|
return false;
|
|
312
308
|
if (!equals(this.yb5_1, other.yb5_1))
|
|
313
309
|
return false;
|
|
314
310
|
if (!(this.zb5_1 === other.zb5_1))
|
|
315
311
|
return false;
|
|
316
|
-
if (!(this.ab6_1
|
|
312
|
+
if (!equals(this.ab6_1, other.ab6_1))
|
|
317
313
|
return false;
|
|
318
314
|
if (!(this.bb6_1 === other.bb6_1))
|
|
319
315
|
return false;
|
|
@@ -325,13 +321,17 @@
|
|
|
325
321
|
return false;
|
|
326
322
|
if (!(this.fb6_1 === other.fb6_1))
|
|
327
323
|
return false;
|
|
328
|
-
if (!
|
|
324
|
+
if (!(this.gb6_1 === other.gb6_1))
|
|
325
|
+
return false;
|
|
326
|
+
if (!(this.hb6_1 === other.hb6_1))
|
|
327
|
+
return false;
|
|
328
|
+
if (!equals(this.ib6_1, other.ib6_1))
|
|
329
329
|
return false;
|
|
330
|
-
if (!this.
|
|
330
|
+
if (!this.jb6_1.equals(other.jb6_1))
|
|
331
331
|
return false;
|
|
332
|
-
if (!this.
|
|
332
|
+
if (!this.kb6_1.equals(other.kb6_1))
|
|
333
333
|
return false;
|
|
334
|
-
if (!(this.
|
|
334
|
+
if (!(this.lb6_1 === other.lb6_1))
|
|
335
335
|
return false;
|
|
336
336
|
return true;
|
|
337
337
|
};
|
|
@@ -339,35 +339,35 @@
|
|
|
339
339
|
var _iterator__ex2g4s = cards.t();
|
|
340
340
|
while (_iterator__ex2g4s.u()) {
|
|
341
341
|
var card = _iterator__ex2g4s.v();
|
|
342
|
-
vec[offset + CardLocationIndex_instance.
|
|
342
|
+
vec[offset + CardLocationIndex_instance.pb6(card) | 0] = 1.0;
|
|
343
343
|
}
|
|
344
344
|
return offset + 32 | 0;
|
|
345
345
|
}
|
|
346
346
|
function encodeCardOneHot($this, vec, offset, card) {
|
|
347
347
|
if (!(card == null)) {
|
|
348
|
-
vec[offset + CardLocationIndex_instance.
|
|
348
|
+
vec[offset + CardLocationIndex_instance.pb6(card) | 0] = 1.0;
|
|
349
349
|
}
|
|
350
350
|
return offset + 32 | 0;
|
|
351
351
|
}
|
|
352
352
|
function Companion() {
|
|
353
|
-
this.
|
|
354
|
-
this.
|
|
353
|
+
this.qb6_1 = 32;
|
|
354
|
+
this.rb6_1 = 162.0;
|
|
355
355
|
}
|
|
356
356
|
var Companion_instance_1;
|
|
357
357
|
function Companion_getInstance() {
|
|
358
358
|
return Companion_instance_1;
|
|
359
359
|
}
|
|
360
360
|
function sam$kotlin_Comparator$0(function_0) {
|
|
361
|
-
this.
|
|
361
|
+
this.sb6_1 = function_0;
|
|
362
362
|
}
|
|
363
363
|
protoOf(sam$kotlin_Comparator$0).hd = function (a, b) {
|
|
364
|
-
return this.
|
|
364
|
+
return this.sb6_1(a, b);
|
|
365
365
|
};
|
|
366
366
|
protoOf(sam$kotlin_Comparator$0).compare = function (a, b) {
|
|
367
367
|
return this.hd(a, b);
|
|
368
368
|
};
|
|
369
369
|
protoOf(sam$kotlin_Comparator$0).s3 = function () {
|
|
370
|
-
return this.
|
|
370
|
+
return this.sb6_1;
|
|
371
371
|
};
|
|
372
372
|
protoOf(sam$kotlin_Comparator$0).equals = function (other) {
|
|
373
373
|
var tmp;
|
|
@@ -389,33 +389,33 @@
|
|
|
389
389
|
};
|
|
390
390
|
function BeliefFeatureEncoder$encode$lambda(a, b) {
|
|
391
391
|
// Inline function 'kotlin.comparisons.compareValuesBy' call
|
|
392
|
-
var tmp = a.
|
|
393
|
-
var tmp$ret$1 = b.
|
|
392
|
+
var tmp = a.j8j_1;
|
|
393
|
+
var tmp$ret$1 = b.j8j_1;
|
|
394
394
|
return compareValues(tmp, tmp$ret$1);
|
|
395
395
|
}
|
|
396
396
|
function BeliefFeatureEncoder(playersMode) {
|
|
397
|
-
this.
|
|
398
|
-
this.
|
|
399
|
-
this.
|
|
397
|
+
this.tb6_1 = playersMode;
|
|
398
|
+
this.ub6_1 = this.tb6_1.count;
|
|
399
|
+
this.vb6_1 = this.ub6_1 - 1 | 0;
|
|
400
400
|
var tmp = this;
|
|
401
401
|
// Inline function 'kotlin.run' call
|
|
402
|
-
tmp.
|
|
402
|
+
tmp.wb6_1 = (((((((((32 + imul(32, this.ub6_1) | 0) + 96 | 0) + 4 | 0) + 32 | 0) + 1 | 0) + imul(this.ub6_1, 4) | 0) + 8 | 0) + 4 | 0) + 4 | 0) + this.vb6_1 | 0;
|
|
403
403
|
}
|
|
404
|
-
protoOf(BeliefFeatureEncoder).
|
|
405
|
-
var vec = new Float32Array(this.
|
|
404
|
+
protoOf(BeliefFeatureEncoder).xb6 = function (state) {
|
|
405
|
+
var vec = new Float32Array(this.wb6_1);
|
|
406
406
|
var offset = 0;
|
|
407
|
-
var focalIndex = state.
|
|
408
|
-
var n = state.
|
|
409
|
-
offset = encodeCardSet(this, vec, offset, state.
|
|
407
|
+
var focalIndex = state.tb5_1.o2(state.sb5_1);
|
|
408
|
+
var n = state.tb5_1.g1();
|
|
409
|
+
offset = encodeCardSet(this, vec, offset, state.ub5_1);
|
|
410
410
|
var inductionVariable = 0;
|
|
411
|
-
var last = this.
|
|
411
|
+
var last = this.ub6_1;
|
|
412
412
|
if (inductionVariable < last)
|
|
413
413
|
do {
|
|
414
414
|
var relPos = inductionVariable;
|
|
415
415
|
inductionVariable = inductionVariable + 1 | 0;
|
|
416
416
|
var absIdx = (focalIndex + relPos | 0) % n | 0;
|
|
417
417
|
// Inline function 'kotlin.collections.getOrElse' call
|
|
418
|
-
var this_0 = state.
|
|
418
|
+
var this_0 = state.tb5_1;
|
|
419
419
|
var tmp;
|
|
420
420
|
if (0 <= absIdx ? absIdx < this_0.g1() : false) {
|
|
421
421
|
tmp = this_0.h1(absIdx);
|
|
@@ -424,12 +424,12 @@
|
|
|
424
424
|
}
|
|
425
425
|
var pid = tmp;
|
|
426
426
|
var tmp_0 = offset;
|
|
427
|
-
var tmp0_elvis_lhs = state.
|
|
427
|
+
var tmp0_elvis_lhs = state.vb5_1.v2(pid);
|
|
428
428
|
offset = encodeCardSet(this, vec, tmp_0, tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs);
|
|
429
429
|
}
|
|
430
430
|
while (inductionVariable < last);
|
|
431
431
|
// Inline function 'kotlin.collections.sortedBy' call
|
|
432
|
-
var this_1 = state.
|
|
432
|
+
var this_1 = state.wb5_1;
|
|
433
433
|
// Inline function 'kotlin.comparisons.compareBy' call
|
|
434
434
|
var tmp_1 = BeliefFeatureEncoder$encode$lambda;
|
|
435
435
|
var tmp$ret$2 = new sam$kotlin_Comparator$0(tmp_1);
|
|
@@ -440,28 +440,28 @@
|
|
|
440
440
|
var slot = inductionVariable_0;
|
|
441
441
|
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
442
442
|
var tmp1_safe_receiver = getOrNull(sortedTrick, slot);
|
|
443
|
-
var card = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.
|
|
443
|
+
var card = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.k8j_1;
|
|
444
444
|
offset = encodeCardOneHot(this, vec, offset, card);
|
|
445
445
|
}
|
|
446
446
|
while (inductionVariable_0 <= 2);
|
|
447
|
-
var trump = state.
|
|
447
|
+
var trump = state.xb5_1;
|
|
448
448
|
if (!(trump == null)) {
|
|
449
449
|
vec[offset + trump.a1_1 | 0] = 1.0;
|
|
450
450
|
}
|
|
451
451
|
offset = offset + 4 | 0;
|
|
452
|
-
offset = encodeCardOneHot(this, vec, offset, state.
|
|
452
|
+
offset = encodeCardOneHot(this, vec, offset, state.yb5_1);
|
|
453
453
|
var _unary__edvuaz = offset;
|
|
454
454
|
offset = _unary__edvuaz + 1 | 0;
|
|
455
|
-
vec[_unary__edvuaz] = state.
|
|
455
|
+
vec[_unary__edvuaz] = state.zb5_1 ? 1.0 : 0.0;
|
|
456
456
|
var inductionVariable_1 = 0;
|
|
457
|
-
var last_0 = this.
|
|
457
|
+
var last_0 = this.ub6_1;
|
|
458
458
|
if (inductionVariable_1 < last_0)
|
|
459
459
|
do {
|
|
460
460
|
var relPos_0 = inductionVariable_1;
|
|
461
461
|
inductionVariable_1 = inductionVariable_1 + 1 | 0;
|
|
462
462
|
var absIdx_0 = (focalIndex + relPos_0 | 0) % n | 0;
|
|
463
463
|
// Inline function 'kotlin.collections.getOrElse' call
|
|
464
|
-
var this_2 = state.
|
|
464
|
+
var this_2 = state.tb5_1;
|
|
465
465
|
var tmp_2;
|
|
466
466
|
if (0 <= absIdx_0 ? absIdx_0 < this_2.g1() : false) {
|
|
467
467
|
tmp_2 = this_2.h1(absIdx_0);
|
|
@@ -474,7 +474,7 @@
|
|
|
474
474
|
do {
|
|
475
475
|
var suitOrd = inductionVariable_2;
|
|
476
476
|
inductionVariable_2 = inductionVariable_2 + 1 | 0;
|
|
477
|
-
var tmp0 = state.
|
|
477
|
+
var tmp0 = state.ab6_1;
|
|
478
478
|
var tmp$ret$6;
|
|
479
479
|
$l$block_0: {
|
|
480
480
|
// Inline function 'kotlin.collections.any' call
|
|
@@ -491,7 +491,7 @@
|
|
|
491
491
|
var _iterator__ex2g4s = tmp0.t();
|
|
492
492
|
while (_iterator__ex2g4s.u()) {
|
|
493
493
|
var element = _iterator__ex2g4s.v();
|
|
494
|
-
if (element.
|
|
494
|
+
if (element.yb6_1 === pid_0 && element.zb6_1 == null) {
|
|
495
495
|
tmp$ret$6 = true;
|
|
496
496
|
break $l$block_0;
|
|
497
497
|
}
|
|
@@ -506,34 +506,34 @@
|
|
|
506
506
|
while (inductionVariable_2 < 4);
|
|
507
507
|
}
|
|
508
508
|
while (inductionVariable_1 < last_0);
|
|
509
|
-
var trickIdx = coerceIn(state.
|
|
509
|
+
var trickIdx = coerceIn(state.fb6_1, 0, 7);
|
|
510
510
|
vec[offset + trickIdx | 0] = 1.0;
|
|
511
511
|
offset = offset + 8 | 0;
|
|
512
|
-
var posIdx = coerceIn(state.
|
|
512
|
+
var posIdx = coerceIn(state.gb6_1, 0, 3);
|
|
513
513
|
vec[offset + posIdx | 0] = 1.0;
|
|
514
514
|
offset = offset + 4 | 0;
|
|
515
|
-
var winTarget = coerceAtLeast(state.
|
|
515
|
+
var winTarget = coerceAtLeast(state.jb6_1.winTargetPoints, 1.0);
|
|
516
516
|
var _unary__edvuaz_1 = offset;
|
|
517
517
|
offset = _unary__edvuaz_1 + 1 | 0;
|
|
518
|
-
vec[_unary__edvuaz_1] = state.
|
|
518
|
+
vec[_unary__edvuaz_1] = state.bb6_1 / winTarget;
|
|
519
519
|
var _unary__edvuaz_2 = offset;
|
|
520
520
|
offset = _unary__edvuaz_2 + 1 | 0;
|
|
521
|
-
vec[_unary__edvuaz_2] = state.
|
|
521
|
+
vec[_unary__edvuaz_2] = state.cb6_1 / winTarget;
|
|
522
522
|
var _unary__edvuaz_3 = offset;
|
|
523
523
|
offset = _unary__edvuaz_3 + 1 | 0;
|
|
524
|
-
vec[_unary__edvuaz_3] = state.
|
|
524
|
+
vec[_unary__edvuaz_3] = state.db6_1 / 162.0;
|
|
525
525
|
var _unary__edvuaz_4 = offset;
|
|
526
526
|
offset = _unary__edvuaz_4 + 1 | 0;
|
|
527
|
-
vec[_unary__edvuaz_4] = state.
|
|
527
|
+
vec[_unary__edvuaz_4] = state.eb6_1 / 162.0;
|
|
528
528
|
var inductionVariable_3 = 1;
|
|
529
|
-
var last_1 = this.
|
|
529
|
+
var last_1 = this.vb6_1;
|
|
530
530
|
if (inductionVariable_3 <= last_1)
|
|
531
531
|
do {
|
|
532
532
|
var relPos_1 = inductionVariable_3;
|
|
533
533
|
inductionVariable_3 = inductionVariable_3 + 1 | 0;
|
|
534
534
|
var absIdx_1 = (focalIndex + relPos_1 | 0) % n | 0;
|
|
535
535
|
// Inline function 'kotlin.collections.getOrElse' call
|
|
536
|
-
var this_3 = state.
|
|
536
|
+
var this_3 = state.tb5_1;
|
|
537
537
|
var tmp_4;
|
|
538
538
|
if (0 <= absIdx_1 ? absIdx_1 < this_3.g1() : false) {
|
|
539
539
|
tmp_4 = this_3.h1(absIdx_1);
|
|
@@ -541,54 +541,54 @@
|
|
|
541
541
|
tmp_4 = '';
|
|
542
542
|
}
|
|
543
543
|
var pid_1 = tmp_4;
|
|
544
|
-
var tmp2_elvis_lhs = state.
|
|
544
|
+
var tmp2_elvis_lhs = state.vb5_1.v2(pid_1);
|
|
545
545
|
var played = (tmp2_elvis_lhs == null ? emptyList() : tmp2_elvis_lhs).g1();
|
|
546
|
-
var remaining = coerceAtLeast_0(state.
|
|
546
|
+
var remaining = coerceAtLeast_0(state.lb6_1 - played | 0, 0);
|
|
547
547
|
var _unary__edvuaz_5 = offset;
|
|
548
548
|
offset = _unary__edvuaz_5 + 1 | 0;
|
|
549
|
-
vec[_unary__edvuaz_5] = remaining / coerceAtLeast(state.
|
|
549
|
+
vec[_unary__edvuaz_5] = remaining / coerceAtLeast(state.lb6_1, 1.0);
|
|
550
550
|
}
|
|
551
551
|
while (!(relPos_1 === last_1));
|
|
552
552
|
// Inline function 'kotlin.check' call
|
|
553
|
-
if (!(offset === this.
|
|
554
|
-
var message = 'BeliefFeatureEncoder: wrote ' + offset + ' floats but expected ' + this.
|
|
553
|
+
if (!(offset === this.wb6_1)) {
|
|
554
|
+
var message = 'BeliefFeatureEncoder: wrote ' + offset + ' floats but expected ' + this.wb6_1;
|
|
555
555
|
throw IllegalStateException_init_$Create$(toString_0(message));
|
|
556
556
|
}
|
|
557
557
|
return vec;
|
|
558
558
|
};
|
|
559
559
|
function CardBeliefNetwork(engine, encoder, playersMode) {
|
|
560
|
-
this.
|
|
561
|
-
this.
|
|
562
|
-
this.
|
|
563
|
-
this.
|
|
564
|
-
this.
|
|
560
|
+
this.bb7_1 = engine;
|
|
561
|
+
this.cb7_1 = encoder;
|
|
562
|
+
this.db7_1 = playersMode;
|
|
563
|
+
this.eb7_1 = CardLocationIndex_instance.gb7(this.db7_1);
|
|
564
|
+
this.fb7_1 = false;
|
|
565
565
|
}
|
|
566
|
-
protoOf(CardBeliefNetwork).
|
|
567
|
-
this.
|
|
568
|
-
this.
|
|
566
|
+
protoOf(CardBeliefNetwork).hb7 = function (modelBytes) {
|
|
567
|
+
this.bb7_1.hb7(modelBytes);
|
|
568
|
+
this.fb7_1 = true;
|
|
569
569
|
};
|
|
570
|
-
protoOf(CardBeliefNetwork).
|
|
570
|
+
protoOf(CardBeliefNetwork).ib7 = function (state) {
|
|
571
571
|
var knownCards = booleanArray(32);
|
|
572
|
-
var _iterator__ex2g4s = state.
|
|
572
|
+
var _iterator__ex2g4s = state.ub5_1.t();
|
|
573
573
|
while (_iterator__ex2g4s.u()) {
|
|
574
574
|
var card = _iterator__ex2g4s.v();
|
|
575
|
-
knownCards[CardLocationIndex_instance.
|
|
575
|
+
knownCards[CardLocationIndex_instance.pb6(card)] = true;
|
|
576
576
|
}
|
|
577
577
|
// Inline function 'kotlin.collections.iterator' call
|
|
578
|
-
var _iterator__ex2g4s_0 = state.
|
|
578
|
+
var _iterator__ex2g4s_0 = state.vb5_1.m1().t();
|
|
579
579
|
while (_iterator__ex2g4s_0.u()) {
|
|
580
580
|
// Inline function 'kotlin.collections.component2' call
|
|
581
581
|
var cards = _iterator__ex2g4s_0.v().o1();
|
|
582
582
|
var _iterator__ex2g4s_1 = cards.t();
|
|
583
583
|
while (_iterator__ex2g4s_1.u()) {
|
|
584
584
|
var card_0 = _iterator__ex2g4s_1.v();
|
|
585
|
-
knownCards[CardLocationIndex_instance.
|
|
585
|
+
knownCards[CardLocationIndex_instance.pb6(card_0)] = true;
|
|
586
586
|
}
|
|
587
587
|
}
|
|
588
|
-
var _iterator__ex2g4s_2 = state.
|
|
588
|
+
var _iterator__ex2g4s_2 = state.wb5_1.t();
|
|
589
589
|
while (_iterator__ex2g4s_2.u()) {
|
|
590
590
|
var cot = _iterator__ex2g4s_2.v();
|
|
591
|
-
knownCards[CardLocationIndex_instance.
|
|
591
|
+
knownCards[CardLocationIndex_instance.pb6(cot.k8j_1)] = true;
|
|
592
592
|
}
|
|
593
593
|
// Inline function 'kotlin.collections.mutableListOf' call
|
|
594
594
|
var hiddenIndices = ArrayList_init_$Create$();
|
|
@@ -602,8 +602,8 @@
|
|
|
602
602
|
}
|
|
603
603
|
}
|
|
604
604
|
while (inductionVariable < 32);
|
|
605
|
-
if (!this.
|
|
606
|
-
var uniform = 1.0 / this.
|
|
605
|
+
if (!this.fb7_1) {
|
|
606
|
+
var uniform = 1.0 / this.eb7_1;
|
|
607
607
|
var tmp = 0;
|
|
608
608
|
var tmp_0 = hiddenIndices.g1();
|
|
609
609
|
// Inline function 'kotlin.arrayOfNulls' call
|
|
@@ -611,7 +611,7 @@
|
|
|
611
611
|
while (tmp < tmp_0) {
|
|
612
612
|
var tmp_2 = tmp;
|
|
613
613
|
var tmp_3 = 0;
|
|
614
|
-
var tmp_4 = this.
|
|
614
|
+
var tmp_4 = this.eb7_1;
|
|
615
615
|
var tmp_5 = new Float32Array(tmp_4);
|
|
616
616
|
while (tmp_3 < tmp_4) {
|
|
617
617
|
tmp_5[tmp_3] = uniform;
|
|
@@ -623,8 +623,8 @@
|
|
|
623
623
|
var matrix = tmp_1;
|
|
624
624
|
return new CardBeliefResult(matrix, toIntArray(hiddenIndices));
|
|
625
625
|
}
|
|
626
|
-
var features = this.
|
|
627
|
-
var rawOutput = this.
|
|
626
|
+
var features = this.cb7_1.xb6(state);
|
|
627
|
+
var rawOutput = this.bb7_1.jb7(features);
|
|
628
628
|
var tmp_6 = 0;
|
|
629
629
|
var tmp_7 = hiddenIndices.g1();
|
|
630
630
|
// Inline function 'kotlin.arrayOfNulls' call
|
|
@@ -632,9 +632,9 @@
|
|
|
632
632
|
while (tmp_6 < tmp_7) {
|
|
633
633
|
var tmp_9 = tmp_6;
|
|
634
634
|
var cardIdx = hiddenIndices.h1(tmp_9);
|
|
635
|
-
var rowStart = imul(cardIdx, this.
|
|
635
|
+
var rowStart = imul(cardIdx, this.eb7_1);
|
|
636
636
|
var tmp_10 = 0;
|
|
637
|
-
var tmp_11 = this.
|
|
637
|
+
var tmp_11 = this.eb7_1;
|
|
638
638
|
var tmp_12 = new Float32Array(tmp_11);
|
|
639
639
|
while (tmp_10 < tmp_11) {
|
|
640
640
|
var tmp_13 = tmp_10;
|
|
@@ -650,15 +650,15 @@
|
|
|
650
650
|
tmp_10 = tmp_10 + 1 | 0;
|
|
651
651
|
}
|
|
652
652
|
var logits = tmp_12;
|
|
653
|
-
tmp_8[tmp_9] = Companion_instance_3.
|
|
653
|
+
tmp_8[tmp_9] = Companion_instance_3.lb7(logits);
|
|
654
654
|
tmp_6 = tmp_6 + 1 | 0;
|
|
655
655
|
}
|
|
656
656
|
var matrix_0 = tmp_8;
|
|
657
657
|
return new CardBeliefResult(matrix_0, toIntArray(hiddenIndices));
|
|
658
658
|
};
|
|
659
659
|
function CardBeliefResult(beliefMatrix, hiddenCardIndices) {
|
|
660
|
-
this.
|
|
661
|
-
this.
|
|
660
|
+
this.mb7_1 = beliefMatrix;
|
|
661
|
+
this.nb7_1 = hiddenCardIndices;
|
|
662
662
|
}
|
|
663
663
|
protoOf(CardBeliefResult).equals = function (other) {
|
|
664
664
|
if (this === other)
|
|
@@ -668,8 +668,8 @@
|
|
|
668
668
|
if (!(other instanceof CardBeliefResult))
|
|
669
669
|
THROW_CCE();
|
|
670
670
|
var tmp;
|
|
671
|
-
if (contentEquals_0(this.
|
|
672
|
-
var tmp0 = get_indices(this.
|
|
671
|
+
if (contentEquals_0(this.nb7_1, other.nb7_1) && this.mb7_1.length === other.mb7_1.length) {
|
|
672
|
+
var tmp0 = get_indices(this.mb7_1);
|
|
673
673
|
var tmp$ret$0;
|
|
674
674
|
$l$block_0: {
|
|
675
675
|
// Inline function 'kotlin.collections.all' call
|
|
@@ -690,7 +690,7 @@
|
|
|
690
690
|
var element = inductionVariable;
|
|
691
691
|
inductionVariable = inductionVariable + 1 | 0;
|
|
692
692
|
var it = element;
|
|
693
|
-
if (!contentEquals(this.
|
|
693
|
+
if (!contentEquals(this.mb7_1[it], other.mb7_1[it])) {
|
|
694
694
|
tmp$ret$0 = false;
|
|
695
695
|
break $l$block_0;
|
|
696
696
|
}
|
|
@@ -705,22 +705,22 @@
|
|
|
705
705
|
return tmp;
|
|
706
706
|
};
|
|
707
707
|
protoOf(CardBeliefResult).hashCode = function () {
|
|
708
|
-
var result = contentHashCode(this.
|
|
709
|
-
result = imul(31, result) + contentDeepHashCode(this.
|
|
708
|
+
var result = contentHashCode(this.nb7_1);
|
|
709
|
+
result = imul(31, result) + contentDeepHashCode(this.mb7_1) | 0;
|
|
710
710
|
return result;
|
|
711
711
|
};
|
|
712
712
|
protoOf(CardBeliefResult).toString = function () {
|
|
713
|
-
return 'CardBeliefResult(beliefMatrix=' + toString_0(this.
|
|
713
|
+
return 'CardBeliefResult(beliefMatrix=' + toString_0(this.mb7_1) + ', hiddenCardIndices=' + toString_0(this.nb7_1) + ')';
|
|
714
714
|
};
|
|
715
715
|
function CardLocationIndex() {
|
|
716
|
-
this.
|
|
717
|
-
this.
|
|
718
|
-
this.
|
|
716
|
+
this.mb6_1 = 32;
|
|
717
|
+
this.nb6_1 = 4;
|
|
718
|
+
this.ob6_1 = 8;
|
|
719
719
|
}
|
|
720
|
-
protoOf(CardLocationIndex).
|
|
720
|
+
protoOf(CardLocationIndex).pb6 = function (card) {
|
|
721
721
|
return imul(card.w6l().a1_1, 8) + card.m().a1_1 | 0;
|
|
722
722
|
};
|
|
723
|
-
protoOf(CardLocationIndex).
|
|
723
|
+
protoOf(CardLocationIndex).gb7 = function (mode) {
|
|
724
724
|
return mode.count - 1 | 0;
|
|
725
725
|
};
|
|
726
726
|
var CardLocationIndex_instance;
|
|
@@ -728,17 +728,17 @@
|
|
|
728
728
|
return CardLocationIndex_instance;
|
|
729
729
|
}
|
|
730
730
|
function BotModelConfig(playersMode, rulesSetType, modelBytes) {
|
|
731
|
-
this.
|
|
732
|
-
this.
|
|
733
|
-
this.
|
|
731
|
+
this.ob7_1 = playersMode;
|
|
732
|
+
this.pb7_1 = rulesSetType;
|
|
733
|
+
this.qb7_1 = modelBytes;
|
|
734
734
|
}
|
|
735
735
|
protoOf(BotModelConfig).toString = function () {
|
|
736
|
-
return 'BotModelConfig(playersMode=' + this.
|
|
736
|
+
return 'BotModelConfig(playersMode=' + this.ob7_1.toString() + ', rulesSetType=' + this.pb7_1.toString() + ', modelBytes=' + toString_0(this.qb7_1) + ')';
|
|
737
737
|
};
|
|
738
738
|
protoOf(BotModelConfig).hashCode = function () {
|
|
739
|
-
var result = this.
|
|
740
|
-
result = imul(result, 31) + this.
|
|
741
|
-
result = imul(result, 31) + hashCode(this.
|
|
739
|
+
var result = this.ob7_1.hashCode();
|
|
740
|
+
result = imul(result, 31) + this.pb7_1.hashCode() | 0;
|
|
741
|
+
result = imul(result, 31) + hashCode(this.qb7_1) | 0;
|
|
742
742
|
return result;
|
|
743
743
|
};
|
|
744
744
|
protoOf(BotModelConfig).equals = function (other) {
|
|
@@ -746,43 +746,43 @@
|
|
|
746
746
|
return true;
|
|
747
747
|
if (!(other instanceof BotModelConfig))
|
|
748
748
|
return false;
|
|
749
|
-
if (!this.
|
|
749
|
+
if (!this.ob7_1.equals(other.ob7_1))
|
|
750
750
|
return false;
|
|
751
|
-
if (!this.
|
|
751
|
+
if (!this.pb7_1.equals(other.pb7_1))
|
|
752
752
|
return false;
|
|
753
|
-
if (!equals(this.
|
|
753
|
+
if (!equals(this.qb7_1, other.qb7_1))
|
|
754
754
|
return false;
|
|
755
755
|
return true;
|
|
756
756
|
};
|
|
757
757
|
function BotModelRegistry() {
|
|
758
758
|
var tmp = this;
|
|
759
759
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
760
|
-
tmp.
|
|
760
|
+
tmp.rb7_1 = LinkedHashMap_init_$Create$();
|
|
761
761
|
}
|
|
762
|
-
protoOf(BotModelRegistry).
|
|
763
|
-
var tmp0 = this.
|
|
764
|
-
var tmp2 = new BotModelKey(config.
|
|
762
|
+
protoOf(BotModelRegistry).sb7 = function (config) {
|
|
763
|
+
var tmp0 = this.rb7_1;
|
|
764
|
+
var tmp2 = new BotModelKey(config.ob7_1, config.pb7_1);
|
|
765
765
|
// Inline function 'kotlin.collections.set' call
|
|
766
|
-
var value = config.
|
|
766
|
+
var value = config.qb7_1;
|
|
767
767
|
tmp0.g3(tmp2, value);
|
|
768
768
|
};
|
|
769
|
-
protoOf(BotModelRegistry).
|
|
770
|
-
return this.
|
|
769
|
+
protoOf(BotModelRegistry).tb7 = function (playersMode, rulesSetType) {
|
|
770
|
+
return this.rb7_1.v2(new BotModelKey(playersMode, rulesSetType));
|
|
771
771
|
};
|
|
772
|
-
protoOf(BotModelRegistry).
|
|
772
|
+
protoOf(BotModelRegistry).ub7 = function () {
|
|
773
773
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
774
|
-
return !this.
|
|
774
|
+
return !this.rb7_1.r();
|
|
775
775
|
};
|
|
776
776
|
function BotModelKey(playersMode, rulesSetType) {
|
|
777
|
-
this.
|
|
778
|
-
this.
|
|
777
|
+
this.vb7_1 = playersMode;
|
|
778
|
+
this.wb7_1 = rulesSetType;
|
|
779
779
|
}
|
|
780
780
|
protoOf(BotModelKey).toString = function () {
|
|
781
|
-
return 'BotModelKey(playersMode=' + this.
|
|
781
|
+
return 'BotModelKey(playersMode=' + this.vb7_1.toString() + ', rulesSetType=' + this.wb7_1.toString() + ')';
|
|
782
782
|
};
|
|
783
783
|
protoOf(BotModelKey).hashCode = function () {
|
|
784
|
-
var result = this.
|
|
785
|
-
result = imul(result, 31) + this.
|
|
784
|
+
var result = this.vb7_1.hashCode();
|
|
785
|
+
result = imul(result, 31) + this.wb7_1.hashCode() | 0;
|
|
786
786
|
return result;
|
|
787
787
|
};
|
|
788
788
|
protoOf(BotModelKey).equals = function (other) {
|
|
@@ -790,9 +790,9 @@
|
|
|
790
790
|
return true;
|
|
791
791
|
if (!(other instanceof BotModelKey))
|
|
792
792
|
return false;
|
|
793
|
-
if (!this.
|
|
793
|
+
if (!this.vb7_1.equals(other.vb7_1))
|
|
794
794
|
return false;
|
|
795
|
-
if (!this.
|
|
795
|
+
if (!this.wb7_1.equals(other.wb7_1))
|
|
796
796
|
return false;
|
|
797
797
|
return true;
|
|
798
798
|
};
|
|
@@ -825,13 +825,13 @@
|
|
|
825
825
|
while (_iterator__ex2g4s_1.u()) {
|
|
826
826
|
var element = _iterator__ex2g4s_1.v();
|
|
827
827
|
// Inline function 'kotlin.collections.filter' call
|
|
828
|
-
var tmp0_0 = element.
|
|
828
|
+
var tmp0_0 = element.p91_1;
|
|
829
829
|
// Inline function 'kotlin.collections.filterTo' call
|
|
830
830
|
var destination_1 = ArrayList_init_$Create$();
|
|
831
831
|
var _iterator__ex2g4s_2 = tmp0_0.t();
|
|
832
832
|
while (_iterator__ex2g4s_2.u()) {
|
|
833
833
|
var element_0 = _iterator__ex2g4s_2.v();
|
|
834
|
-
if (element_0.
|
|
834
|
+
if (element_0.i8j_1 === p) {
|
|
835
835
|
destination_1.e1(element_0);
|
|
836
836
|
}
|
|
837
837
|
}
|
|
@@ -841,7 +841,7 @@
|
|
|
841
841
|
var _iterator__ex2g4s_3 = destination_1.t();
|
|
842
842
|
while (_iterator__ex2g4s_3.u()) {
|
|
843
843
|
var item_0 = _iterator__ex2g4s_3.v();
|
|
844
|
-
var tmp$ret$7 = item_0.
|
|
844
|
+
var tmp$ret$7 = item_0.k8j_1;
|
|
845
845
|
destination_2.e1(tmp$ret$7);
|
|
846
846
|
}
|
|
847
847
|
var list = destination_2;
|
|
@@ -854,10 +854,10 @@
|
|
|
854
854
|
var opponentRoundPoints;
|
|
855
855
|
if (playersMode.isTeamGame && players.g1() === 4) {
|
|
856
856
|
var partnerIndex = (focalIndex + 2 | 0) % 4 | 0;
|
|
857
|
-
ownRoundPoints = table.players.h1(focalIndex).
|
|
858
|
-
opponentRoundPoints = table.players.h1((focalIndex + 1 | 0) % 4 | 0).
|
|
857
|
+
ownRoundPoints = table.players.h1(focalIndex).a7z_1.r85_1 + table.players.h1(partnerIndex).a7z_1.r85_1 | 0;
|
|
858
|
+
opponentRoundPoints = table.players.h1((focalIndex + 1 | 0) % 4 | 0).a7z_1.r85_1 + table.players.h1((focalIndex + 3 | 0) % 4 | 0).a7z_1.r85_1 | 0;
|
|
859
859
|
} else {
|
|
860
|
-
ownRoundPoints = table.players.h1(focalIndex).
|
|
860
|
+
ownRoundPoints = table.players.h1(focalIndex).a7z_1.r85_1;
|
|
861
861
|
// Inline function 'kotlin.collections.filter' call
|
|
862
862
|
var tmp0_1 = table.players;
|
|
863
863
|
// Inline function 'kotlin.collections.filterTo' call
|
|
@@ -875,7 +875,7 @@
|
|
|
875
875
|
while (_iterator__ex2g4s_5.u()) {
|
|
876
876
|
var element_2 = _iterator__ex2g4s_5.v();
|
|
877
877
|
var tmp = sum;
|
|
878
|
-
sum = tmp + element_2.
|
|
878
|
+
sum = tmp + element_2.a7z_1.r85_1 | 0;
|
|
879
879
|
}
|
|
880
880
|
opponentRoundPoints = sum;
|
|
881
881
|
}
|
|
@@ -889,7 +889,7 @@
|
|
|
889
889
|
var _iterator__ex2g4s_6 = tmp0_2.t();
|
|
890
890
|
while (_iterator__ex2g4s_6.u()) {
|
|
891
891
|
var element_3 = _iterator__ex2g4s_6.v();
|
|
892
|
-
if (element_3.
|
|
892
|
+
if (element_3.y7y_1.p84_1) {
|
|
893
893
|
tmp$ret$20 = element_3;
|
|
894
894
|
break $l$block;
|
|
895
895
|
}
|
|
@@ -904,13 +904,13 @@
|
|
|
904
904
|
while (_iterator__ex2g4s_7.u()) {
|
|
905
905
|
var p_0 = _iterator__ex2g4s_7.v();
|
|
906
906
|
// Inline function 'kotlin.collections.filter' call
|
|
907
|
-
var tmp0_3 = p_0.
|
|
907
|
+
var tmp0_3 = p_0.a7z_1.s85_1;
|
|
908
908
|
// Inline function 'kotlin.collections.filterTo' call
|
|
909
909
|
var destination_4 = ArrayList_init_$Create$();
|
|
910
910
|
var _iterator__ex2g4s_8 = tmp0_3.t();
|
|
911
911
|
while (_iterator__ex2g4s_8.u()) {
|
|
912
912
|
var element_4 = _iterator__ex2g4s_8.v();
|
|
913
|
-
if (element_4.
|
|
913
|
+
if (element_4.e8a_1.equals(CombinationState_ACCEPTED_getInstance())) {
|
|
914
914
|
destination_4.e1(element_4);
|
|
915
915
|
}
|
|
916
916
|
}
|
|
@@ -920,7 +920,7 @@
|
|
|
920
920
|
var _iterator__ex2g4s_9 = destination_4.t();
|
|
921
921
|
while (_iterator__ex2g4s_9.u()) {
|
|
922
922
|
var item_1 = _iterator__ex2g4s_9.v();
|
|
923
|
-
var tmp$ret$25 = item_1.
|
|
923
|
+
var tmp$ret$25 = item_1.d8a_1;
|
|
924
924
|
destination_5.e1(tmp$ret$25);
|
|
925
925
|
}
|
|
926
926
|
var combos = destination_5;
|
|
@@ -936,11 +936,11 @@
|
|
|
936
936
|
if (!table.bribes.r()) {
|
|
937
937
|
var focalPlayer = table.players.h1(focalIndex);
|
|
938
938
|
var tmp_1;
|
|
939
|
-
if (focalPlayer.
|
|
939
|
+
if (focalPlayer.y7y_1.n84_1) {
|
|
940
940
|
tmp_1 = true;
|
|
941
941
|
} else if (playersMode.isTeamGame && players.g1() === 4) {
|
|
942
942
|
var partnerIndex_0 = (focalIndex + 2 | 0) % 4 | 0;
|
|
943
|
-
tmp_1 = table.players.h1(partnerIndex_0).
|
|
943
|
+
tmp_1 = table.players.h1(partnerIndex_0).y7y_1.n84_1;
|
|
944
944
|
} else {
|
|
945
945
|
tmp_1 = false;
|
|
946
946
|
}
|
|
@@ -951,11 +951,11 @@
|
|
|
951
951
|
var ownTeamWonLastTrick = tmp_0;
|
|
952
952
|
var tmp_2 = table.currentTrump;
|
|
953
953
|
var tmp1_safe_receiver = table.cardDeck;
|
|
954
|
-
return new BotGameState(playerId, players, player.
|
|
954
|
+
return new BotGameState(playerId, players, player.x7y_1, playedCards, cardsOnTable, tmp_2, tmp1_safe_receiver == null ? null : tmp1_safe_receiver.s91_1, trumpDeclarerId === playerId, emptyList(), 0, 0, ownRoundPoints, opponentRoundPoints, trickNumber, positionInTrick, ownTeamWonLastTrick, declaredCombinations, rules, playersMode, rules.dealerFinalCardsCount);
|
|
955
955
|
}
|
|
956
956
|
function computeLegalActions($this, playerId, table) {
|
|
957
|
-
var sceneId = table.sceneInfo.
|
|
958
|
-
var actId = table.sceneInfo.
|
|
957
|
+
var sceneId = table.sceneInfo.d9f_1;
|
|
958
|
+
var actId = table.sceneInfo.f9f_1;
|
|
959
959
|
var tmp;
|
|
960
960
|
if (actId === 'COMBINATION') {
|
|
961
961
|
tmp = listOf([new AcceptCombinations(true), new AcceptCombinations(false)]);
|
|
@@ -972,12 +972,12 @@
|
|
|
972
972
|
destination.e1(tmp$ret$0);
|
|
973
973
|
}
|
|
974
974
|
var suits = destination;
|
|
975
|
-
var canPass = table.config.rules.playWithoutLiabilities || !player.
|
|
975
|
+
var canPass = table.config.rules.playWithoutLiabilities || !player.y7y_1.h84_1 || !player.y7y_1.y88();
|
|
976
976
|
tmp = canPass ? plus(suits, new SelectSuit(null)) : suits;
|
|
977
977
|
} else if (get_isEarnPointScene(sceneId) && actId === 'PLAYER_TURN') {
|
|
978
978
|
var player_0 = getPlayer(table.players, playerId);
|
|
979
979
|
// Inline function 'kotlin.collections.map' call
|
|
980
|
-
var this_1 = player_0.
|
|
980
|
+
var this_1 = player_0.x7y_1;
|
|
981
981
|
// Inline function 'kotlin.collections.mapTo' call
|
|
982
982
|
var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_1, 10));
|
|
983
983
|
var _iterator__ex2g4s_0 = this_1.t();
|
|
@@ -995,16 +995,16 @@
|
|
|
995
995
|
function mapToClientAction($this, action, playerId, table) {
|
|
996
996
|
var tmp;
|
|
997
997
|
if (action instanceof SelectSuit) {
|
|
998
|
-
var tmp4_suit = action.
|
|
999
|
-
var tmp1_$this = $this.
|
|
998
|
+
var tmp4_suit = action.qb5_1;
|
|
999
|
+
var tmp1_$this = $this.zb7_1;
|
|
1000
1000
|
var tmp2_player = getPlayer(table.players, playerId);
|
|
1001
1001
|
var tmp3_round = table.gameInfo.round;
|
|
1002
|
-
var tmp5_tag = tmp1_$this.
|
|
1002
|
+
var tmp5_tag = tmp1_$this.na9(tmp3_round, tmp2_player);
|
|
1003
1003
|
tmp = new SuitChoiceFromClientAction(playerId, true, tmp5_tag, tmp4_suit);
|
|
1004
1004
|
} else {
|
|
1005
1005
|
if (action instanceof PlayCard) {
|
|
1006
|
-
var tmp7_card = action.
|
|
1007
|
-
var tmp6_safe_receiver = action.
|
|
1006
|
+
var tmp7_card = action.ob5_1;
|
|
1007
|
+
var tmp6_safe_receiver = action.pb5_1;
|
|
1008
1008
|
var tmp_0;
|
|
1009
1009
|
if (tmp6_safe_receiver == null) {
|
|
1010
1010
|
tmp_0 = null;
|
|
@@ -1021,15 +1021,15 @@
|
|
|
1021
1021
|
tmp_0 = destination;
|
|
1022
1022
|
}
|
|
1023
1023
|
var tmp8_combinations = tmp_0;
|
|
1024
|
-
var tmp9_tag = $this.
|
|
1024
|
+
var tmp9_tag = $this.zb7_1.oa9(table.gameInfo.round, VOID, table.cardsOnTable.g1());
|
|
1025
1025
|
tmp = new CardFromClientAction(playerId, true, tmp9_tag, tmp7_card, tmp8_combinations);
|
|
1026
1026
|
} else {
|
|
1027
1027
|
if (action instanceof AcceptCombinations) {
|
|
1028
|
-
var tmp13_isAccepted = action.
|
|
1029
|
-
var tmp10_$this = $this.
|
|
1028
|
+
var tmp13_isAccepted = action.rb5_1;
|
|
1029
|
+
var tmp10_$this = $this.zb7_1;
|
|
1030
1030
|
var tmp11_round = table.gameInfo.round;
|
|
1031
1031
|
var tmp12_sceneInfo = table.sceneInfo;
|
|
1032
|
-
var tmp14_tag = tmp10_$this.
|
|
1032
|
+
var tmp14_tag = tmp10_$this.ma9(tmp12_sceneInfo, tmp11_round);
|
|
1033
1033
|
tmp = new CombinationChoiceFromClientAction(playerId, true, tmp14_tag, tmp13_isAccepted);
|
|
1034
1034
|
} else {
|
|
1035
1035
|
noWhenBranchMatchedException();
|
|
@@ -1039,9 +1039,9 @@
|
|
|
1039
1039
|
return tmp;
|
|
1040
1040
|
}
|
|
1041
1041
|
function handleWaitingAct($this, playerId, table) {
|
|
1042
|
-
if (!(table.sceneInfo.
|
|
1042
|
+
if (!(table.sceneInfo.f9f_1 === 'WAITING_ACT'))
|
|
1043
1043
|
return null;
|
|
1044
|
-
var tmp0 = table.sceneInfo.
|
|
1044
|
+
var tmp0 = table.sceneInfo.h9f_1;
|
|
1045
1045
|
var tmp$ret$0;
|
|
1046
1046
|
$l$block: {
|
|
1047
1047
|
// Inline function 'games.jass.logic.data.models.scenes.requireActData' call
|
|
@@ -1052,7 +1052,7 @@
|
|
|
1052
1052
|
throw new MechanicException('Required ' + getKClass(WaitingActData).o() + ', current act is ' + toString(tmp0));
|
|
1053
1053
|
}
|
|
1054
1054
|
var waitingActData = tmp$ret$0;
|
|
1055
|
-
var tmp0_elvis_lhs = waitingActData.
|
|
1055
|
+
var tmp0_elvis_lhs = waitingActData.m8k_1;
|
|
1056
1056
|
var tmp;
|
|
1057
1057
|
if (tmp0_elvis_lhs == null) {
|
|
1058
1058
|
return null;
|
|
@@ -1064,7 +1064,7 @@
|
|
|
1064
1064
|
if (requestPayload instanceof CardDeckRequest) {
|
|
1065
1065
|
// Inline function 'kotlin.collections.List' call
|
|
1066
1066
|
// Inline function 'kotlin.collections.MutableList' call
|
|
1067
|
-
var size = requestPayload.
|
|
1067
|
+
var size = requestPayload.k8k_1;
|
|
1068
1068
|
var list = ArrayList_init_$Create$_0(size);
|
|
1069
1069
|
// Inline function 'kotlin.repeat' call
|
|
1070
1070
|
var inductionVariable = 0;
|
|
@@ -1072,11 +1072,11 @@
|
|
|
1072
1072
|
do {
|
|
1073
1073
|
var index = inductionVariable;
|
|
1074
1074
|
inductionVariable = inductionVariable + 1 | 0;
|
|
1075
|
-
var tmp$ret$1 = Companion_instance.
|
|
1075
|
+
var tmp$ret$1 = Companion_instance.o95($this.yb7_1.ha9());
|
|
1076
1076
|
list.e1(tmp$ret$1);
|
|
1077
1077
|
}
|
|
1078
1078
|
while (inductionVariable < size);
|
|
1079
|
-
var tmp3_tag = $this.
|
|
1079
|
+
var tmp3_tag = $this.zb7_1.ja9(table.sceneInfo.d9f_1, table.gameInfo.round);
|
|
1080
1080
|
tmp_0 = new RequestedCardDecksFromClientAction(list, playerId, true, tmp3_tag);
|
|
1081
1081
|
} else {
|
|
1082
1082
|
noWhenBranchMatchedException();
|
|
@@ -1103,12 +1103,12 @@
|
|
|
1103
1103
|
var playerIndex = tmp$ret$1;
|
|
1104
1104
|
var partnerIndex = (playerIndex + 2 | 0) % table.players.g1() | 0;
|
|
1105
1105
|
var partnerId = table.players.h1(partnerIndex).playerId;
|
|
1106
|
-
var tmp0_tag = $this.
|
|
1106
|
+
var tmp0_tag = $this.zb7_1.ka9(table.gameInfo.round);
|
|
1107
1107
|
return new PartnerSelectedFromClientAction(playerId, true, tmp0_tag, partnerId);
|
|
1108
1108
|
}
|
|
1109
1109
|
function handleCalcPoints($this, playerId, table) {
|
|
1110
|
-
if ($this.
|
|
1111
|
-
var tmp0 = table.sceneInfo.
|
|
1110
|
+
if ($this.ab8_1 === table.gameInfo.gameNumber) {
|
|
1111
|
+
var tmp0 = table.sceneInfo.g9f_1;
|
|
1112
1112
|
var tmp$ret$0;
|
|
1113
1113
|
$l$block: {
|
|
1114
1114
|
// Inline function 'games.jass.logic.data.models.scenes.requireSceneData' call
|
|
@@ -1120,29 +1120,29 @@
|
|
|
1120
1120
|
}
|
|
1121
1121
|
var sceneData = tmp$ret$0;
|
|
1122
1122
|
// Inline function 'kotlin.collections.orEmpty' call
|
|
1123
|
-
var tmp0_elvis_lhs = sceneData.
|
|
1123
|
+
var tmp0_elvis_lhs = sceneData.h8l_1;
|
|
1124
1124
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1125
1125
|
if (!(tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs).r()) {
|
|
1126
1126
|
return new ExitFromClientAction(playerId, true);
|
|
1127
1127
|
}
|
|
1128
1128
|
}
|
|
1129
|
-
return new PlayerReadyFromClientAction(playerId, true, $this.
|
|
1129
|
+
return new PlayerReadyFromClientAction(playerId, true, $this.zb7_1.la9(table.gameInfo.round));
|
|
1130
1130
|
}
|
|
1131
1131
|
function BotPolicyAnswerProvider(policies, dealerInteractor, tagProvider, exitAfterGameNumber) {
|
|
1132
1132
|
exitAfterGameNumber = exitAfterGameNumber === VOID ? null : exitAfterGameNumber;
|
|
1133
|
-
this.
|
|
1134
|
-
this.
|
|
1135
|
-
this.
|
|
1136
|
-
this.
|
|
1133
|
+
this.xb7_1 = policies;
|
|
1134
|
+
this.yb7_1 = dealerInteractor;
|
|
1135
|
+
this.zb7_1 = tagProvider;
|
|
1136
|
+
this.ab8_1 = exitAfterGameNumber;
|
|
1137
1137
|
}
|
|
1138
|
-
protoOf(BotPolicyAnswerProvider).
|
|
1138
|
+
protoOf(BotPolicyAnswerProvider).paq = function (playerId, table) {
|
|
1139
1139
|
var waitingAction = handleWaitingAct(this, playerId, table);
|
|
1140
1140
|
if (!(waitingAction == null))
|
|
1141
1141
|
return waitingAction;
|
|
1142
|
-
if (get_isCalcPointScene(table.sceneInfo.
|
|
1142
|
+
if (get_isCalcPointScene(table.sceneInfo.d9f_1)) {
|
|
1143
1143
|
return handleCalcPoints(this, playerId, table);
|
|
1144
1144
|
}
|
|
1145
|
-
if (get_isChoosePartnerScene(table.sceneInfo.
|
|
1145
|
+
if (get_isChoosePartnerScene(table.sceneInfo.d9f_1)) {
|
|
1146
1146
|
return handleChoosePartner(this, playerId, table);
|
|
1147
1147
|
}
|
|
1148
1148
|
var tmp0 = table.players;
|
|
@@ -1162,28 +1162,28 @@
|
|
|
1162
1162
|
tmp$ret$1 = -1;
|
|
1163
1163
|
}
|
|
1164
1164
|
var seatIndex = tmp$ret$1;
|
|
1165
|
-
var policy = this.
|
|
1165
|
+
var policy = this.xb7_1[seatIndex % this.xb7_1.length | 0];
|
|
1166
1166
|
var state = mapToBotState(this, playerId, table);
|
|
1167
1167
|
var legalActions = computeLegalActions(this, playerId, table);
|
|
1168
|
-
var chosen = policy.
|
|
1168
|
+
var chosen = policy.bb8(state, legalActions);
|
|
1169
1169
|
return mapToClientAction(this, chosen, playerId, table);
|
|
1170
1170
|
};
|
|
1171
1171
|
function getOrCreatePolicy($this, playersMode, rulesSetType) {
|
|
1172
1172
|
var cacheKey = rulesSetType.value + '_' + playersMode.z_1;
|
|
1173
1173
|
// Inline function 'kotlin.collections.getOrPut' call
|
|
1174
|
-
var this_0 = $this.
|
|
1174
|
+
var this_0 = $this.gb8_1;
|
|
1175
1175
|
var value = this_0.v2(cacheKey);
|
|
1176
1176
|
var tmp;
|
|
1177
1177
|
if (value == null) {
|
|
1178
1178
|
var tmp$ret$0;
|
|
1179
1179
|
$l$block: {
|
|
1180
|
-
var modelBytes = $this.
|
|
1180
|
+
var modelBytes = $this.cb8_1.tb7(playersMode, rulesSetType);
|
|
1181
1181
|
if (modelBytes == null) {
|
|
1182
|
-
$this.
|
|
1182
|
+
$this.fb8_1.w('PimcBotAnswerProvider', 'No PIMC model for rulesSet=' + rulesSetType.value + ', ' + ('mode=' + playersMode.z_1 + '. Falling back to RandomPolicy.'));
|
|
1183
1183
|
tmp$ret$0 = new RandomPolicy();
|
|
1184
1184
|
break $l$block;
|
|
1185
1185
|
}
|
|
1186
|
-
$this.
|
|
1186
|
+
$this.fb8_1.d('PimcBotAnswerProvider', 'PIMC model loaded for rulesSet=' + rulesSetType.value + ', mode=' + playersMode.z_1);
|
|
1187
1187
|
tmp$ret$0 = createPimcPolicy($this, modelBytes, playersMode);
|
|
1188
1188
|
}
|
|
1189
1189
|
var answer = tmp$ret$0;
|
|
@@ -1198,28 +1198,28 @@
|
|
|
1198
1198
|
var inferenceEngine = new PureKotlinInferenceEngine();
|
|
1199
1199
|
var encoder = new BeliefFeatureEncoder(playersMode);
|
|
1200
1200
|
var beliefNetwork = new CardBeliefNetwork(inferenceEngine, encoder, playersMode);
|
|
1201
|
-
beliefNetwork.
|
|
1201
|
+
beliefNetwork.hb7(modelBytes);
|
|
1202
1202
|
var rolloutPolicy = new RolloutPolicy();
|
|
1203
1203
|
var pimcEngine = new PimcEngine(beliefNetwork, rolloutPolicy, new PimcConfig());
|
|
1204
1204
|
return PimcBotPolicy_init_$Create$(pimcEngine);
|
|
1205
1205
|
}
|
|
1206
1206
|
function Companion_0() {
|
|
1207
|
-
this.
|
|
1207
|
+
this.hb8_1 = 'PimcBotAnswerProvider';
|
|
1208
1208
|
}
|
|
1209
1209
|
var Companion_instance_2;
|
|
1210
1210
|
function Companion_getInstance_0() {
|
|
1211
1211
|
return Companion_instance_2;
|
|
1212
1212
|
}
|
|
1213
1213
|
function PimcBotAnswerProvider(registry, dealerInteractor, tagProvider, logger) {
|
|
1214
|
-
this.
|
|
1215
|
-
this.
|
|
1216
|
-
this.
|
|
1217
|
-
this.
|
|
1214
|
+
this.cb8_1 = registry;
|
|
1215
|
+
this.db8_1 = dealerInteractor;
|
|
1216
|
+
this.eb8_1 = tagProvider;
|
|
1217
|
+
this.fb8_1 = logger;
|
|
1218
1218
|
var tmp = this;
|
|
1219
1219
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
1220
|
-
tmp.
|
|
1220
|
+
tmp.gb8_1 = LinkedHashMap_init_$Create$();
|
|
1221
1221
|
}
|
|
1222
|
-
protoOf(PimcBotAnswerProvider).
|
|
1222
|
+
protoOf(PimcBotAnswerProvider).paq = function (playerId, table) {
|
|
1223
1223
|
var playersMode = table.config.playersMode;
|
|
1224
1224
|
var rulesSetType = table.config.rulesSetType;
|
|
1225
1225
|
var policy = getOrCreatePolicy(this, playersMode, rulesSetType);
|
|
@@ -1232,8 +1232,8 @@
|
|
|
1232
1232
|
tmp = tmp + 1 | 0;
|
|
1233
1233
|
}
|
|
1234
1234
|
var policies = tmp_0;
|
|
1235
|
-
var provider = new BotPolicyAnswerProvider(policies, this.
|
|
1236
|
-
return provider.
|
|
1235
|
+
var provider = new BotPolicyAnswerProvider(policies, this.db8_1, this.eb8_1);
|
|
1236
|
+
return provider.paq(playerId, table);
|
|
1237
1237
|
};
|
|
1238
1238
|
var Activation_RELU_instance;
|
|
1239
1239
|
var Activation_NONE_instance;
|
|
@@ -1246,43 +1246,43 @@
|
|
|
1246
1246
|
Activation_NONE_instance = new Activation('NONE', 1);
|
|
1247
1247
|
}
|
|
1248
1248
|
function forward($this, layer, input) {
|
|
1249
|
-
var out = new Float32Array(layer.
|
|
1249
|
+
var out = new Float32Array(layer.jb8_1);
|
|
1250
1250
|
var inductionVariable = 0;
|
|
1251
|
-
var last = layer.
|
|
1251
|
+
var last = layer.jb8_1;
|
|
1252
1252
|
if (inductionVariable < last)
|
|
1253
1253
|
do {
|
|
1254
1254
|
var j = inductionVariable;
|
|
1255
1255
|
inductionVariable = inductionVariable + 1 | 0;
|
|
1256
|
-
var sum = layer.
|
|
1256
|
+
var sum = layer.lb8_1[j];
|
|
1257
1257
|
var inductionVariable_0 = 0;
|
|
1258
|
-
var last_0 = layer.
|
|
1258
|
+
var last_0 = layer.ib8_1;
|
|
1259
1259
|
if (inductionVariable_0 < last_0)
|
|
1260
1260
|
do {
|
|
1261
1261
|
var i = inductionVariable_0;
|
|
1262
1262
|
inductionVariable_0 = inductionVariable_0 + 1 | 0;
|
|
1263
|
-
sum = sum + input[i] * layer.
|
|
1263
|
+
sum = sum + input[i] * layer.kb8_1[imul(i, layer.jb8_1) + j | 0];
|
|
1264
1264
|
}
|
|
1265
1265
|
while (inductionVariable_0 < last_0);
|
|
1266
1266
|
out[j] = sum;
|
|
1267
1267
|
}
|
|
1268
1268
|
while (inductionVariable < last);
|
|
1269
|
-
var bn = layer.
|
|
1269
|
+
var bn = layer.mb8_1;
|
|
1270
1270
|
if (!(bn == null)) {
|
|
1271
1271
|
var inductionVariable_1 = 0;
|
|
1272
|
-
var last_1 = layer.
|
|
1272
|
+
var last_1 = layer.jb8_1;
|
|
1273
1273
|
if (inductionVariable_1 < last_1)
|
|
1274
1274
|
do {
|
|
1275
1275
|
var j_0 = inductionVariable_1;
|
|
1276
1276
|
inductionVariable_1 = inductionVariable_1 + 1 | 0;
|
|
1277
|
-
var normalized = (out[j_0] - bn.
|
|
1278
|
-
out[j_0] = bn.
|
|
1277
|
+
var normalized = (out[j_0] - bn.qb8_1[j_0]) / sqrt(bn.rb8_1[j_0] + 1.0E-5);
|
|
1278
|
+
out[j_0] = bn.ob8_1[j_0] * normalized + bn.pb8_1[j_0];
|
|
1279
1279
|
}
|
|
1280
1280
|
while (inductionVariable_1 < last_1);
|
|
1281
1281
|
}
|
|
1282
|
-
switch (layer.
|
|
1282
|
+
switch (layer.nb8_1.a1_1) {
|
|
1283
1283
|
case 0:
|
|
1284
1284
|
var inductionVariable_2 = 0;
|
|
1285
|
-
var last_2 = layer.
|
|
1285
|
+
var last_2 = layer.jb8_1;
|
|
1286
1286
|
if (inductionVariable_2 < last_2)
|
|
1287
1287
|
do {
|
|
1288
1288
|
var j_1 = inductionVariable_2;
|
|
@@ -1302,23 +1302,23 @@
|
|
|
1302
1302
|
return out;
|
|
1303
1303
|
}
|
|
1304
1304
|
function Layer(inDim, outDim, weight, bias, batchNorm, activation) {
|
|
1305
|
-
this.
|
|
1306
|
-
this.
|
|
1307
|
-
this.
|
|
1308
|
-
this.
|
|
1309
|
-
this.
|
|
1310
|
-
this.
|
|
1305
|
+
this.ib8_1 = inDim;
|
|
1306
|
+
this.jb8_1 = outDim;
|
|
1307
|
+
this.kb8_1 = weight;
|
|
1308
|
+
this.lb8_1 = bias;
|
|
1309
|
+
this.mb8_1 = batchNorm;
|
|
1310
|
+
this.nb8_1 = activation;
|
|
1311
1311
|
}
|
|
1312
1312
|
protoOf(Layer).toString = function () {
|
|
1313
|
-
return 'Layer(inDim=' + this.
|
|
1313
|
+
return 'Layer(inDim=' + this.ib8_1 + ', outDim=' + this.jb8_1 + ', weight=' + toString_0(this.kb8_1) + ', bias=' + toString_0(this.lb8_1) + ', batchNorm=' + toString(this.mb8_1) + ', activation=' + this.nb8_1.toString() + ')';
|
|
1314
1314
|
};
|
|
1315
1315
|
protoOf(Layer).hashCode = function () {
|
|
1316
|
-
var result = this.
|
|
1317
|
-
result = imul(result, 31) + this.
|
|
1318
|
-
result = imul(result, 31) + hashCode(this.
|
|
1319
|
-
result = imul(result, 31) + hashCode(this.
|
|
1320
|
-
result = imul(result, 31) + (this.
|
|
1321
|
-
result = imul(result, 31) + this.
|
|
1316
|
+
var result = this.ib8_1;
|
|
1317
|
+
result = imul(result, 31) + this.jb8_1 | 0;
|
|
1318
|
+
result = imul(result, 31) + hashCode(this.kb8_1) | 0;
|
|
1319
|
+
result = imul(result, 31) + hashCode(this.lb8_1) | 0;
|
|
1320
|
+
result = imul(result, 31) + (this.mb8_1 == null ? 0 : this.mb8_1.hashCode()) | 0;
|
|
1321
|
+
result = imul(result, 31) + this.nb8_1.hashCode() | 0;
|
|
1322
1322
|
return result;
|
|
1323
1323
|
};
|
|
1324
1324
|
protoOf(Layer).equals = function (other) {
|
|
@@ -1326,34 +1326,34 @@
|
|
|
1326
1326
|
return true;
|
|
1327
1327
|
if (!(other instanceof Layer))
|
|
1328
1328
|
return false;
|
|
1329
|
-
if (!(this.
|
|
1329
|
+
if (!(this.ib8_1 === other.ib8_1))
|
|
1330
1330
|
return false;
|
|
1331
|
-
if (!(this.
|
|
1331
|
+
if (!(this.jb8_1 === other.jb8_1))
|
|
1332
1332
|
return false;
|
|
1333
|
-
if (!equals(this.
|
|
1333
|
+
if (!equals(this.kb8_1, other.kb8_1))
|
|
1334
1334
|
return false;
|
|
1335
|
-
if (!equals(this.
|
|
1335
|
+
if (!equals(this.lb8_1, other.lb8_1))
|
|
1336
1336
|
return false;
|
|
1337
|
-
if (!equals(this.
|
|
1337
|
+
if (!equals(this.mb8_1, other.mb8_1))
|
|
1338
1338
|
return false;
|
|
1339
|
-
if (!this.
|
|
1339
|
+
if (!this.nb8_1.equals(other.nb8_1))
|
|
1340
1340
|
return false;
|
|
1341
1341
|
return true;
|
|
1342
1342
|
};
|
|
1343
1343
|
function BatchNormParams(gamma, beta, runningMean, runningVar) {
|
|
1344
|
-
this.
|
|
1345
|
-
this.
|
|
1346
|
-
this.
|
|
1347
|
-
this.
|
|
1344
|
+
this.ob8_1 = gamma;
|
|
1345
|
+
this.pb8_1 = beta;
|
|
1346
|
+
this.qb8_1 = runningMean;
|
|
1347
|
+
this.rb8_1 = runningVar;
|
|
1348
1348
|
}
|
|
1349
1349
|
protoOf(BatchNormParams).toString = function () {
|
|
1350
|
-
return 'BatchNormParams(gamma=' + toString_0(this.
|
|
1350
|
+
return 'BatchNormParams(gamma=' + toString_0(this.ob8_1) + ', beta=' + toString_0(this.pb8_1) + ', runningMean=' + toString_0(this.qb8_1) + ', runningVar=' + toString_0(this.rb8_1) + ')';
|
|
1351
1351
|
};
|
|
1352
1352
|
protoOf(BatchNormParams).hashCode = function () {
|
|
1353
|
-
var result = hashCode(this.
|
|
1354
|
-
result = imul(result, 31) + hashCode(this.nb8_1) | 0;
|
|
1355
|
-
result = imul(result, 31) + hashCode(this.ob8_1) | 0;
|
|
1353
|
+
var result = hashCode(this.ob8_1);
|
|
1356
1354
|
result = imul(result, 31) + hashCode(this.pb8_1) | 0;
|
|
1355
|
+
result = imul(result, 31) + hashCode(this.qb8_1) | 0;
|
|
1356
|
+
result = imul(result, 31) + hashCode(this.rb8_1) | 0;
|
|
1357
1357
|
return result;
|
|
1358
1358
|
};
|
|
1359
1359
|
protoOf(BatchNormParams).equals = function (other) {
|
|
@@ -1361,23 +1361,23 @@
|
|
|
1361
1361
|
return true;
|
|
1362
1362
|
if (!(other instanceof BatchNormParams))
|
|
1363
1363
|
return false;
|
|
1364
|
-
if (!equals(this.mb8_1, other.mb8_1))
|
|
1365
|
-
return false;
|
|
1366
|
-
if (!equals(this.nb8_1, other.nb8_1))
|
|
1367
|
-
return false;
|
|
1368
1364
|
if (!equals(this.ob8_1, other.ob8_1))
|
|
1369
1365
|
return false;
|
|
1370
1366
|
if (!equals(this.pb8_1, other.pb8_1))
|
|
1371
1367
|
return false;
|
|
1368
|
+
if (!equals(this.qb8_1, other.qb8_1))
|
|
1369
|
+
return false;
|
|
1370
|
+
if (!equals(this.rb8_1, other.rb8_1))
|
|
1371
|
+
return false;
|
|
1372
1372
|
return true;
|
|
1373
1373
|
};
|
|
1374
1374
|
function Activation(name, ordinal) {
|
|
1375
1375
|
Enum.call(this, name, ordinal);
|
|
1376
1376
|
}
|
|
1377
1377
|
function Companion_1() {
|
|
1378
|
-
this.
|
|
1378
|
+
this.kb7_1 = 1.0E-5;
|
|
1379
1379
|
}
|
|
1380
|
-
protoOf(Companion_1).
|
|
1380
|
+
protoOf(Companion_1).lb7 = function (logits) {
|
|
1381
1381
|
var max_0 = max(logits);
|
|
1382
1382
|
var tmp = 0;
|
|
1383
1383
|
var tmp_0 = logits.length;
|
|
@@ -1417,16 +1417,16 @@
|
|
|
1417
1417
|
return Activation_NONE_instance;
|
|
1418
1418
|
}
|
|
1419
1419
|
function PureKotlinInferenceEngine() {
|
|
1420
|
-
this.
|
|
1420
|
+
this.sb8_1 = emptyList();
|
|
1421
1421
|
}
|
|
1422
|
-
protoOf(PureKotlinInferenceEngine).
|
|
1422
|
+
protoOf(PureKotlinInferenceEngine).hb7 = function (modelBytes) {
|
|
1423
1423
|
var buf = new ByteArrayReader(modelBytes);
|
|
1424
|
-
var layerCount = buf.
|
|
1424
|
+
var layerCount = buf.vb8();
|
|
1425
1425
|
var tmp = 0;
|
|
1426
1426
|
var tmp_0 = layerCount + 1 | 0;
|
|
1427
1427
|
var tmp_1 = new Int32Array(tmp_0);
|
|
1428
1428
|
while (tmp < tmp_0) {
|
|
1429
|
-
tmp_1[tmp] = buf.
|
|
1429
|
+
tmp_1[tmp] = buf.vb8();
|
|
1430
1430
|
tmp = tmp + 1 | 0;
|
|
1431
1431
|
}
|
|
1432
1432
|
var sizes = tmp_1;
|
|
@@ -1440,11 +1440,11 @@
|
|
|
1440
1440
|
var inDim = sizes[i];
|
|
1441
1441
|
var outDim = sizes[i + 1 | 0];
|
|
1442
1442
|
var isHidden = i < (layerCount - 1 | 0);
|
|
1443
|
-
var weight = buf.
|
|
1444
|
-
var bias = buf.
|
|
1443
|
+
var weight = buf.wb8(imul(inDim, outDim));
|
|
1444
|
+
var bias = buf.wb8(outDim);
|
|
1445
1445
|
var tmp_2;
|
|
1446
1446
|
if (isHidden) {
|
|
1447
|
-
tmp_2 = new BatchNormParams(buf.
|
|
1447
|
+
tmp_2 = new BatchNormParams(buf.wb8(outDim), buf.wb8(outDim), buf.wb8(outDim), buf.wb8(outDim));
|
|
1448
1448
|
} else {
|
|
1449
1449
|
tmp_2 = null;
|
|
1450
1450
|
}
|
|
@@ -1454,17 +1454,17 @@
|
|
|
1454
1454
|
parsed.e1(element);
|
|
1455
1455
|
}
|
|
1456
1456
|
while (inductionVariable < layerCount);
|
|
1457
|
-
this.
|
|
1457
|
+
this.sb8_1 = parsed;
|
|
1458
1458
|
};
|
|
1459
|
-
protoOf(PureKotlinInferenceEngine).
|
|
1459
|
+
protoOf(PureKotlinInferenceEngine).jb7 = function (input) {
|
|
1460
1460
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1461
1461
|
// Inline function 'kotlin.check' call
|
|
1462
|
-
if (!!this.
|
|
1462
|
+
if (!!this.sb8_1.r()) {
|
|
1463
1463
|
var message = 'Model not loaded. Call loadModel() first.';
|
|
1464
1464
|
throw IllegalStateException_init_$Create$(toString_0(message));
|
|
1465
1465
|
}
|
|
1466
1466
|
var x = input;
|
|
1467
|
-
var _iterator__ex2g4s = this.
|
|
1467
|
+
var _iterator__ex2g4s = this.sb8_1.t();
|
|
1468
1468
|
while (_iterator__ex2g4s.u()) {
|
|
1469
1469
|
var layer = _iterator__ex2g4s.v();
|
|
1470
1470
|
x = forward(this, layer, x);
|
|
@@ -1472,34 +1472,34 @@
|
|
|
1472
1472
|
return x;
|
|
1473
1473
|
};
|
|
1474
1474
|
function ByteArrayReader(data) {
|
|
1475
|
-
this.
|
|
1476
|
-
this.
|
|
1477
|
-
}
|
|
1478
|
-
protoOf(ByteArrayReader).
|
|
1479
|
-
var _unary__edvuaz = this.
|
|
1480
|
-
this.
|
|
1481
|
-
var b0 = this.
|
|
1482
|
-
var _unary__edvuaz_0 = this.
|
|
1483
|
-
this.
|
|
1484
|
-
var b1 = this.
|
|
1485
|
-
var _unary__edvuaz_1 = this.
|
|
1486
|
-
this.
|
|
1487
|
-
var b2 = this.
|
|
1488
|
-
var _unary__edvuaz_2 = this.
|
|
1489
|
-
this.
|
|
1490
|
-
var b3 = this.
|
|
1475
|
+
this.tb8_1 = data;
|
|
1476
|
+
this.ub8_1 = 0;
|
|
1477
|
+
}
|
|
1478
|
+
protoOf(ByteArrayReader).vb8 = function () {
|
|
1479
|
+
var _unary__edvuaz = this.ub8_1;
|
|
1480
|
+
this.ub8_1 = _unary__edvuaz + 1 | 0;
|
|
1481
|
+
var b0 = this.tb8_1[_unary__edvuaz] & 255;
|
|
1482
|
+
var _unary__edvuaz_0 = this.ub8_1;
|
|
1483
|
+
this.ub8_1 = _unary__edvuaz_0 + 1 | 0;
|
|
1484
|
+
var b1 = this.tb8_1[_unary__edvuaz_0] & 255;
|
|
1485
|
+
var _unary__edvuaz_1 = this.ub8_1;
|
|
1486
|
+
this.ub8_1 = _unary__edvuaz_1 + 1 | 0;
|
|
1487
|
+
var b2 = this.tb8_1[_unary__edvuaz_1] & 255;
|
|
1488
|
+
var _unary__edvuaz_2 = this.ub8_1;
|
|
1489
|
+
this.ub8_1 = _unary__edvuaz_2 + 1 | 0;
|
|
1490
|
+
var b3 = this.tb8_1[_unary__edvuaz_2] & 255;
|
|
1491
1491
|
return b0 | b1 << 8 | b2 << 16 | b3 << 24;
|
|
1492
1492
|
};
|
|
1493
|
-
protoOf(ByteArrayReader).
|
|
1493
|
+
protoOf(ByteArrayReader).xb8 = function () {
|
|
1494
1494
|
// Inline function 'kotlin.fromBits' call
|
|
1495
|
-
var bits = this.
|
|
1495
|
+
var bits = this.vb8();
|
|
1496
1496
|
return floatFromBits(bits);
|
|
1497
1497
|
};
|
|
1498
|
-
protoOf(ByteArrayReader).
|
|
1498
|
+
protoOf(ByteArrayReader).wb8 = function (size) {
|
|
1499
1499
|
var tmp = 0;
|
|
1500
1500
|
var tmp_0 = new Float32Array(size);
|
|
1501
1501
|
while (tmp < size) {
|
|
1502
|
-
tmp_0[tmp] = this.
|
|
1502
|
+
tmp_0[tmp] = this.xb8();
|
|
1503
1503
|
tmp = tmp + 1 | 0;
|
|
1504
1504
|
}
|
|
1505
1505
|
return tmp_0;
|
|
@@ -1509,15 +1509,15 @@
|
|
|
1509
1509
|
return Math.sqrt(x);
|
|
1510
1510
|
}
|
|
1511
1511
|
function finishTrick($this, state) {
|
|
1512
|
-
var playersInOrder = Companion_instance_4.
|
|
1512
|
+
var playersInOrder = Companion_instance_4.jb9(state.yb8_1, state.hb9_1);
|
|
1513
1513
|
// Inline function 'kotlin.collections.map' call
|
|
1514
|
-
var this_0 = state.
|
|
1514
|
+
var this_0 = state.bb9_1;
|
|
1515
1515
|
// Inline function 'kotlin.collections.mapTo' call
|
|
1516
1516
|
var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
|
|
1517
1517
|
var _iterator__ex2g4s = this_0.t();
|
|
1518
1518
|
while (_iterator__ex2g4s.u()) {
|
|
1519
1519
|
var item = _iterator__ex2g4s.v();
|
|
1520
|
-
var tmp$ret$0 = item.
|
|
1520
|
+
var tmp$ret$0 = item.kb9_1;
|
|
1521
1521
|
destination.e1(tmp$ret$0);
|
|
1522
1522
|
}
|
|
1523
1523
|
var alreadyPlayed = toSet(destination);
|
|
@@ -1531,8 +1531,8 @@
|
|
|
1531
1531
|
resolveTrickAndAdvance($this, state);
|
|
1532
1532
|
}
|
|
1533
1533
|
function playFullTrick($this, state) {
|
|
1534
|
-
state.
|
|
1535
|
-
var playersInOrder = Companion_instance_4.
|
|
1534
|
+
state.bb9_1.b3();
|
|
1535
|
+
var playersInOrder = Companion_instance_4.jb9(state.yb8_1, state.hb9_1);
|
|
1536
1536
|
var _iterator__ex2g4s = playersInOrder.t();
|
|
1537
1537
|
while (_iterator__ex2g4s.u()) {
|
|
1538
1538
|
var pid = _iterator__ex2g4s.v();
|
|
@@ -1541,7 +1541,7 @@
|
|
|
1541
1541
|
resolveTrickAndAdvance($this, state);
|
|
1542
1542
|
}
|
|
1543
1543
|
function playCard($this, state, playerId) {
|
|
1544
|
-
var tmp0_elvis_lhs = state.
|
|
1544
|
+
var tmp0_elvis_lhs = state.zb8_1.v2(playerId);
|
|
1545
1545
|
var tmp;
|
|
1546
1546
|
if (tmp0_elvis_lhs == null) {
|
|
1547
1547
|
return Unit_instance;
|
|
@@ -1551,40 +1551,40 @@
|
|
|
1551
1551
|
var hand = tmp;
|
|
1552
1552
|
if (hand.r())
|
|
1553
1553
|
return Unit_instance;
|
|
1554
|
-
var partnerPid = Companion_instance_4.
|
|
1554
|
+
var partnerPid = Companion_instance_4.mb9(playerId, state.yb8_1, state.eb9_1);
|
|
1555
1555
|
var partnerWinning = isPartnerWinning($this, state, partnerPid);
|
|
1556
|
-
var legalCards = TrickSimulator_instance.
|
|
1557
|
-
var card = $this.
|
|
1556
|
+
var legalCards = TrickSimulator_instance.nb9(hand, state.bb9_1, state.ab9_1, state.fb9_1, state.eb9_1, playerId, partnerPid);
|
|
1557
|
+
var card = $this.ob9_1.pb9(hand, legalCards, state.bb9_1, state.ab9_1, partnerPid, partnerWinning);
|
|
1558
1558
|
hand.y2(card);
|
|
1559
|
-
state.
|
|
1559
|
+
state.bb9_1.e1(new SimCard(playerId, card));
|
|
1560
1560
|
}
|
|
1561
1561
|
function resolveTrickAndAdvance($this, state) {
|
|
1562
|
-
var result = TrickSimulator_instance.
|
|
1563
|
-
var tmp0 = state.
|
|
1564
|
-
var tmp2 = result.
|
|
1565
|
-
var tmp0_elvis_lhs = state.
|
|
1562
|
+
var result = TrickSimulator_instance.qb9(state.bb9_1, state.ab9_1);
|
|
1563
|
+
var tmp0 = state.db9_1;
|
|
1564
|
+
var tmp2 = result.rb9_1;
|
|
1565
|
+
var tmp0_elvis_lhs = state.db9_1.v2(result.rb9_1);
|
|
1566
1566
|
// Inline function 'kotlin.collections.set' call
|
|
1567
|
-
var value = (tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs) + result.
|
|
1567
|
+
var value = (tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs) + result.sb9_1 | 0;
|
|
1568
1568
|
tmp0.g3(tmp2, value);
|
|
1569
|
-
state.
|
|
1570
|
-
state.
|
|
1571
|
-
state.
|
|
1569
|
+
state.hb9_1 = result.rb9_1;
|
|
1570
|
+
state.cb9_1 = state.cb9_1 + 1 | 0;
|
|
1571
|
+
state.bb9_1.b3();
|
|
1572
1572
|
}
|
|
1573
1573
|
function computeResult($this, state) {
|
|
1574
|
-
var focalIndex = state.
|
|
1575
|
-
var n = state.
|
|
1574
|
+
var focalIndex = state.yb8_1.o2(state.gb9_1);
|
|
1575
|
+
var n = state.yb8_1.g1();
|
|
1576
1576
|
var tmp;
|
|
1577
|
-
if (state.
|
|
1577
|
+
if (state.eb9_1.isTeamGame && n === 4) {
|
|
1578
1578
|
var partnerIndex = (focalIndex + 2 | 0) % n | 0;
|
|
1579
|
-
tmp = setOf_0([state.
|
|
1579
|
+
tmp = setOf_0([state.yb8_1.h1(focalIndex), state.yb8_1.h1(partnerIndex)]);
|
|
1580
1580
|
} else {
|
|
1581
|
-
tmp = setOf(state.
|
|
1581
|
+
tmp = setOf(state.gb9_1);
|
|
1582
1582
|
}
|
|
1583
1583
|
var focalTeam = tmp;
|
|
1584
1584
|
var focalPts = 0;
|
|
1585
1585
|
var oppPts = 0;
|
|
1586
1586
|
// Inline function 'kotlin.collections.iterator' call
|
|
1587
|
-
var _iterator__ex2g4s = state.
|
|
1587
|
+
var _iterator__ex2g4s = state.db9_1.m1().t();
|
|
1588
1588
|
while (_iterator__ex2g4s.u()) {
|
|
1589
1589
|
var _destruct__k2r9zo = _iterator__ex2g4s.v();
|
|
1590
1590
|
// Inline function 'kotlin.collections.component1' call
|
|
@@ -1599,10 +1599,10 @@
|
|
|
1599
1599
|
return new RolloutResult(focalPts, oppPts);
|
|
1600
1600
|
}
|
|
1601
1601
|
function isPartnerWinning($this, state, partnerPid) {
|
|
1602
|
-
if (partnerPid == null || state.
|
|
1602
|
+
if (partnerPid == null || state.bb9_1.r())
|
|
1603
1603
|
return false;
|
|
1604
|
-
var firstSuit = first(state.
|
|
1605
|
-
var tmp0 = state.
|
|
1604
|
+
var firstSuit = first(state.bb9_1).lb9_1.w6l();
|
|
1605
|
+
var tmp0 = state.bb9_1;
|
|
1606
1606
|
var tmp$ret$0;
|
|
1607
1607
|
$l$block_0: {
|
|
1608
1608
|
// Inline function 'kotlin.collections.maxByOrNull' call
|
|
@@ -1617,10 +1617,10 @@
|
|
|
1617
1617
|
break $l$block_0;
|
|
1618
1618
|
}
|
|
1619
1619
|
var it = maxElem;
|
|
1620
|
-
var maxValue = getGrowth(it.
|
|
1620
|
+
var maxValue = getGrowth(it.lb9_1, state.ab9_1, firstSuit);
|
|
1621
1621
|
do {
|
|
1622
1622
|
var e = iterator.v();
|
|
1623
|
-
var v = getGrowth(e.
|
|
1623
|
+
var v = getGrowth(e.lb9_1, state.ab9_1, firstSuit);
|
|
1624
1624
|
if (compareTo(maxValue, v) < 0) {
|
|
1625
1625
|
maxElem = e;
|
|
1626
1626
|
maxValue = v;
|
|
@@ -1630,12 +1630,12 @@
|
|
|
1630
1630
|
tmp$ret$0 = maxElem;
|
|
1631
1631
|
}
|
|
1632
1632
|
var winner = tmp$ret$0;
|
|
1633
|
-
return (winner == null ? null : winner.
|
|
1633
|
+
return (winner == null ? null : winner.kb9_1) == partnerPid;
|
|
1634
1634
|
}
|
|
1635
1635
|
function Companion_2() {
|
|
1636
|
-
this.
|
|
1636
|
+
this.ib9_1 = 10;
|
|
1637
1637
|
}
|
|
1638
|
-
protoOf(Companion_2).
|
|
1638
|
+
protoOf(Companion_2).jb9 = function (playerOrder, leadId) {
|
|
1639
1639
|
var startIdx = coerceAtLeast_0(playerOrder.o2(leadId), 0);
|
|
1640
1640
|
// Inline function 'kotlin.collections.List' call
|
|
1641
1641
|
// Inline function 'kotlin.collections.MutableList' call
|
|
@@ -1653,7 +1653,7 @@
|
|
|
1653
1653
|
while (inductionVariable < size);
|
|
1654
1654
|
return list;
|
|
1655
1655
|
};
|
|
1656
|
-
protoOf(Companion_2).
|
|
1656
|
+
protoOf(Companion_2).mb9 = function (playerId, playerOrder, playersMode) {
|
|
1657
1657
|
if (!playersMode.isTeamGame || !(playerOrder.g1() === 4))
|
|
1658
1658
|
return null;
|
|
1659
1659
|
var idx = playerOrder.o2(playerId);
|
|
@@ -1666,11 +1666,11 @@
|
|
|
1666
1666
|
return Companion_instance_4;
|
|
1667
1667
|
}
|
|
1668
1668
|
function DeterministicRollout(rolloutPolicy) {
|
|
1669
|
-
this.
|
|
1669
|
+
this.ob9_1 = rolloutPolicy;
|
|
1670
1670
|
}
|
|
1671
|
-
protoOf(DeterministicRollout).
|
|
1671
|
+
protoOf(DeterministicRollout).tb9 = function (initialState) {
|
|
1672
1672
|
var state = initialState;
|
|
1673
|
-
var tmp0 = state.
|
|
1673
|
+
var tmp0 = state.zb8_1.x2();
|
|
1674
1674
|
var tmp$ret$0;
|
|
1675
1675
|
$l$block: {
|
|
1676
1676
|
// Inline function 'kotlin.collections.maxOfOrNull' call
|
|
@@ -1690,21 +1690,21 @@
|
|
|
1690
1690
|
}
|
|
1691
1691
|
var tmp0_elvis_lhs = tmp$ret$0;
|
|
1692
1692
|
var maxTricks = tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs;
|
|
1693
|
-
var tmp = state.
|
|
1693
|
+
var tmp = state.cb9_1 + maxTricks | 0;
|
|
1694
1694
|
var tmp_0;
|
|
1695
1695
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1696
|
-
if (!state.
|
|
1696
|
+
if (!state.bb9_1.r()) {
|
|
1697
1697
|
tmp_0 = 1;
|
|
1698
1698
|
} else {
|
|
1699
1699
|
tmp_0 = 0;
|
|
1700
1700
|
}
|
|
1701
1701
|
var totalTricks = tmp + tmp_0 | 0;
|
|
1702
1702
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
1703
|
-
if (!state.
|
|
1703
|
+
if (!state.bb9_1.r()) {
|
|
1704
1704
|
finishTrick(this, state);
|
|
1705
1705
|
}
|
|
1706
1706
|
$l$loop: while (true) {
|
|
1707
|
-
var tmp0_0 = state.
|
|
1707
|
+
var tmp0_0 = state.zb8_1.x2();
|
|
1708
1708
|
var tmp$ret$5;
|
|
1709
1709
|
$l$block_1: {
|
|
1710
1710
|
// Inline function 'kotlin.collections.any' call
|
|
@@ -1734,40 +1734,40 @@
|
|
|
1734
1734
|
}
|
|
1735
1735
|
playFullTrick(this, state);
|
|
1736
1736
|
}
|
|
1737
|
-
var lastTrickWinner = state.
|
|
1738
|
-
var tmp0_1 = state.
|
|
1739
|
-
var tmp1_elvis_lhs = state.
|
|
1737
|
+
var lastTrickWinner = state.hb9_1;
|
|
1738
|
+
var tmp0_1 = state.db9_1;
|
|
1739
|
+
var tmp1_elvis_lhs = state.db9_1.v2(lastTrickWinner);
|
|
1740
1740
|
// Inline function 'kotlin.collections.set' call
|
|
1741
1741
|
var value = (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) + 10 | 0;
|
|
1742
1742
|
tmp0_1.g3(lastTrickWinner, value);
|
|
1743
1743
|
return computeResult(this, state);
|
|
1744
1744
|
};
|
|
1745
1745
|
function RolloutState(playerOrder, hands, trump, currentTrick, trickNumber, points, playersMode, rules, focalPlayerId, leadPlayerId) {
|
|
1746
|
-
this.
|
|
1747
|
-
this.
|
|
1748
|
-
this.
|
|
1749
|
-
this.
|
|
1750
|
-
this.
|
|
1751
|
-
this.
|
|
1752
|
-
this.
|
|
1753
|
-
this.
|
|
1754
|
-
this.
|
|
1755
|
-
this.
|
|
1746
|
+
this.yb8_1 = playerOrder;
|
|
1747
|
+
this.zb8_1 = hands;
|
|
1748
|
+
this.ab9_1 = trump;
|
|
1749
|
+
this.bb9_1 = currentTrick;
|
|
1750
|
+
this.cb9_1 = trickNumber;
|
|
1751
|
+
this.db9_1 = points;
|
|
1752
|
+
this.eb9_1 = playersMode;
|
|
1753
|
+
this.fb9_1 = rules;
|
|
1754
|
+
this.gb9_1 = focalPlayerId;
|
|
1755
|
+
this.hb9_1 = leadPlayerId;
|
|
1756
1756
|
}
|
|
1757
1757
|
protoOf(RolloutState).toString = function () {
|
|
1758
|
-
return 'RolloutState(playerOrder=' + toString_0(this.
|
|
1758
|
+
return 'RolloutState(playerOrder=' + toString_0(this.yb8_1) + ', hands=' + toString_0(this.zb8_1) + ', trump=' + this.ab9_1.toString() + ', currentTrick=' + toString_0(this.bb9_1) + ', trickNumber=' + this.cb9_1 + ', points=' + toString_0(this.db9_1) + ', playersMode=' + this.eb9_1.toString() + ', rules=' + this.fb9_1.toString() + ', focalPlayerId=' + this.gb9_1 + ', leadPlayerId=' + this.hb9_1 + ')';
|
|
1759
1759
|
};
|
|
1760
1760
|
protoOf(RolloutState).hashCode = function () {
|
|
1761
|
-
var result = hashCode(this.
|
|
1762
|
-
result = imul(result, 31) + hashCode(this.xb8_1) | 0;
|
|
1763
|
-
result = imul(result, 31) + this.yb8_1.hashCode() | 0;
|
|
1761
|
+
var result = hashCode(this.yb8_1);
|
|
1764
1762
|
result = imul(result, 31) + hashCode(this.zb8_1) | 0;
|
|
1765
|
-
result = imul(result, 31) + this.ab9_1 | 0;
|
|
1763
|
+
result = imul(result, 31) + this.ab9_1.hashCode() | 0;
|
|
1766
1764
|
result = imul(result, 31) + hashCode(this.bb9_1) | 0;
|
|
1767
|
-
result = imul(result, 31) + this.cb9_1
|
|
1768
|
-
result = imul(result, 31) + this.db9_1
|
|
1769
|
-
result = imul(result, 31) +
|
|
1770
|
-
result = imul(result, 31) +
|
|
1765
|
+
result = imul(result, 31) + this.cb9_1 | 0;
|
|
1766
|
+
result = imul(result, 31) + hashCode(this.db9_1) | 0;
|
|
1767
|
+
result = imul(result, 31) + this.eb9_1.hashCode() | 0;
|
|
1768
|
+
result = imul(result, 31) + this.fb9_1.hashCode() | 0;
|
|
1769
|
+
result = imul(result, 31) + getStringHashCode(this.gb9_1) | 0;
|
|
1770
|
+
result = imul(result, 31) + getStringHashCode(this.hb9_1) | 0;
|
|
1771
1771
|
return result;
|
|
1772
1772
|
};
|
|
1773
1773
|
protoOf(RolloutState).equals = function (other) {
|
|
@@ -1775,38 +1775,38 @@
|
|
|
1775
1775
|
return true;
|
|
1776
1776
|
if (!(other instanceof RolloutState))
|
|
1777
1777
|
return false;
|
|
1778
|
-
if (!equals(this.
|
|
1779
|
-
return false;
|
|
1780
|
-
if (!equals(this.xb8_1, other.xb8_1))
|
|
1781
|
-
return false;
|
|
1782
|
-
if (!this.yb8_1.equals(other.yb8_1))
|
|
1778
|
+
if (!equals(this.yb8_1, other.yb8_1))
|
|
1783
1779
|
return false;
|
|
1784
1780
|
if (!equals(this.zb8_1, other.zb8_1))
|
|
1785
1781
|
return false;
|
|
1786
|
-
if (!
|
|
1782
|
+
if (!this.ab9_1.equals(other.ab9_1))
|
|
1787
1783
|
return false;
|
|
1788
1784
|
if (!equals(this.bb9_1, other.bb9_1))
|
|
1789
1785
|
return false;
|
|
1790
|
-
if (!this.cb9_1
|
|
1786
|
+
if (!(this.cb9_1 === other.cb9_1))
|
|
1791
1787
|
return false;
|
|
1792
|
-
if (!this.db9_1
|
|
1788
|
+
if (!equals(this.db9_1, other.db9_1))
|
|
1793
1789
|
return false;
|
|
1794
|
-
if (!
|
|
1790
|
+
if (!this.eb9_1.equals(other.eb9_1))
|
|
1795
1791
|
return false;
|
|
1796
|
-
if (!
|
|
1792
|
+
if (!this.fb9_1.equals(other.fb9_1))
|
|
1793
|
+
return false;
|
|
1794
|
+
if (!(this.gb9_1 === other.gb9_1))
|
|
1795
|
+
return false;
|
|
1796
|
+
if (!(this.hb9_1 === other.hb9_1))
|
|
1797
1797
|
return false;
|
|
1798
1798
|
return true;
|
|
1799
1799
|
};
|
|
1800
1800
|
function RolloutResult(focalTeamPoints, opponentTeamPoints) {
|
|
1801
|
-
this.
|
|
1802
|
-
this.
|
|
1801
|
+
this.ub9_1 = focalTeamPoints;
|
|
1802
|
+
this.vb9_1 = opponentTeamPoints;
|
|
1803
1803
|
}
|
|
1804
1804
|
protoOf(RolloutResult).toString = function () {
|
|
1805
|
-
return 'RolloutResult(focalTeamPoints=' + this.
|
|
1805
|
+
return 'RolloutResult(focalTeamPoints=' + this.ub9_1 + ', opponentTeamPoints=' + this.vb9_1 + ')';
|
|
1806
1806
|
};
|
|
1807
1807
|
protoOf(RolloutResult).hashCode = function () {
|
|
1808
|
-
var result = this.
|
|
1809
|
-
result = imul(result, 31) + this.
|
|
1808
|
+
var result = this.ub9_1;
|
|
1809
|
+
result = imul(result, 31) + this.vb9_1 | 0;
|
|
1810
1810
|
return result;
|
|
1811
1811
|
};
|
|
1812
1812
|
protoOf(RolloutResult).equals = function (other) {
|
|
@@ -1814,22 +1814,22 @@
|
|
|
1814
1814
|
return true;
|
|
1815
1815
|
if (!(other instanceof RolloutResult))
|
|
1816
1816
|
return false;
|
|
1817
|
-
if (!(this.
|
|
1817
|
+
if (!(this.ub9_1 === other.ub9_1))
|
|
1818
1818
|
return false;
|
|
1819
|
-
if (!(this.
|
|
1819
|
+
if (!(this.vb9_1 === other.vb9_1))
|
|
1820
1820
|
return false;
|
|
1821
1821
|
return true;
|
|
1822
1822
|
};
|
|
1823
1823
|
function WorldMoveScore(action, normalizedScore) {
|
|
1824
|
-
this.
|
|
1825
|
-
this.
|
|
1824
|
+
this.wb9_1 = action;
|
|
1825
|
+
this.xb9_1 = normalizedScore;
|
|
1826
1826
|
}
|
|
1827
1827
|
protoOf(WorldMoveScore).toString = function () {
|
|
1828
|
-
return 'WorldMoveScore(action=' + toString_0(this.
|
|
1828
|
+
return 'WorldMoveScore(action=' + toString_0(this.wb9_1) + ', normalizedScore=' + this.xb9_1 + ')';
|
|
1829
1829
|
};
|
|
1830
1830
|
protoOf(WorldMoveScore).hashCode = function () {
|
|
1831
|
-
var result = hashCode(this.
|
|
1832
|
-
result = imul(result, 31) + getNumberHashCode(this.
|
|
1831
|
+
var result = hashCode(this.wb9_1);
|
|
1832
|
+
result = imul(result, 31) + getNumberHashCode(this.xb9_1) | 0;
|
|
1833
1833
|
return result;
|
|
1834
1834
|
};
|
|
1835
1835
|
protoOf(WorldMoveScore).equals = function (other) {
|
|
@@ -1837,15 +1837,15 @@
|
|
|
1837
1837
|
return true;
|
|
1838
1838
|
if (!(other instanceof WorldMoveScore))
|
|
1839
1839
|
return false;
|
|
1840
|
-
if (!equals(this.
|
|
1840
|
+
if (!equals(this.wb9_1, other.wb9_1))
|
|
1841
1841
|
return false;
|
|
1842
|
-
if (!equals(this.
|
|
1842
|
+
if (!equals(this.xb9_1, other.xb9_1))
|
|
1843
1843
|
return false;
|
|
1844
1844
|
return true;
|
|
1845
1845
|
};
|
|
1846
1846
|
function MoveScoreAggregator() {
|
|
1847
1847
|
}
|
|
1848
|
-
protoOf(MoveScoreAggregator).
|
|
1848
|
+
protoOf(MoveScoreAggregator).yb9 = function (worldScores, config) {
|
|
1849
1849
|
if (worldScores.r())
|
|
1850
1850
|
return emptyMap();
|
|
1851
1851
|
// Inline function 'kotlin.collections.flatMap' call
|
|
@@ -1860,7 +1860,7 @@
|
|
|
1860
1860
|
var _iterator__ex2g4s_0 = element.t();
|
|
1861
1861
|
while (_iterator__ex2g4s_0.u()) {
|
|
1862
1862
|
var item = _iterator__ex2g4s_0.v();
|
|
1863
|
-
var tmp$ret$0 = item.
|
|
1863
|
+
var tmp$ret$0 = item.wb9_1;
|
|
1864
1864
|
destination_0.e1(tmp$ret$0);
|
|
1865
1865
|
}
|
|
1866
1866
|
var list = destination_0;
|
|
@@ -1887,7 +1887,7 @@
|
|
|
1887
1887
|
var _iterator__ex2g4s_3 = item_0.t();
|
|
1888
1888
|
while (_iterator__ex2g4s_3.u()) {
|
|
1889
1889
|
var element_1 = _iterator__ex2g4s_3.v();
|
|
1890
|
-
if (equals(element_1.
|
|
1890
|
+
if (equals(element_1.wb9_1, element_0)) {
|
|
1891
1891
|
tmp$ret$7 = element_1;
|
|
1892
1892
|
break $l$block;
|
|
1893
1893
|
}
|
|
@@ -1895,7 +1895,7 @@
|
|
|
1895
1895
|
tmp$ret$7 = null;
|
|
1896
1896
|
}
|
|
1897
1897
|
var tmp0_safe_receiver = tmp$ret$7;
|
|
1898
|
-
var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.
|
|
1898
|
+
var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.xb9_1;
|
|
1899
1899
|
var tmp$ret$8 = tmp1_elvis_lhs == null ? 0.0 : tmp1_elvis_lhs;
|
|
1900
1900
|
destination_1.e1(tmp$ret$8);
|
|
1901
1901
|
}
|
|
@@ -1916,7 +1916,7 @@
|
|
|
1916
1916
|
destination_2.g3(tmp, tmp$ret$16);
|
|
1917
1917
|
}
|
|
1918
1918
|
var avgScores = destination_2;
|
|
1919
|
-
if (!config.
|
|
1919
|
+
if (!config.bba_1) {
|
|
1920
1920
|
return avgScores;
|
|
1921
1921
|
}
|
|
1922
1922
|
// Inline function 'kotlin.collections.associateWith' call
|
|
@@ -1971,7 +1971,7 @@
|
|
|
1971
1971
|
var tmp0_elvis_lhs = avgScores.v2(element_4);
|
|
1972
1972
|
var tmp_0 = tmp0_elvis_lhs == null ? 0.0 : tmp0_elvis_lhs;
|
|
1973
1973
|
var tmp1_elvis_lhs_3 = maxRegrets.v2(element_4);
|
|
1974
|
-
var tmp$ret$27 = tmp_0 - config.
|
|
1974
|
+
var tmp$ret$27 = tmp_0 - config.cba_1 * (tmp1_elvis_lhs_3 == null ? 0.0 : tmp1_elvis_lhs_3);
|
|
1975
1975
|
result_1.g3(element_4, tmp$ret$27);
|
|
1976
1976
|
}
|
|
1977
1977
|
return result_1;
|
|
@@ -1985,19 +1985,19 @@
|
|
|
1985
1985
|
exactSolveThreshold = exactSolveThreshold === VOID ? 3 : exactSolveThreshold;
|
|
1986
1986
|
enableStrategyFusionMitigation = enableStrategyFusionMitigation === VOID ? true : enableStrategyFusionMitigation;
|
|
1987
1987
|
variancePenalty = variancePenalty === VOID ? 0.3 : variancePenalty;
|
|
1988
|
-
this.
|
|
1989
|
-
this.
|
|
1990
|
-
this.
|
|
1991
|
-
this.
|
|
1988
|
+
this.zb9_1 = worldCount;
|
|
1989
|
+
this.aba_1 = exactSolveThreshold;
|
|
1990
|
+
this.bba_1 = enableStrategyFusionMitigation;
|
|
1991
|
+
this.cba_1 = variancePenalty;
|
|
1992
1992
|
}
|
|
1993
1993
|
protoOf(PimcConfig).toString = function () {
|
|
1994
|
-
return 'PimcConfig(worldCount=' + this.
|
|
1994
|
+
return 'PimcConfig(worldCount=' + this.zb9_1 + ', exactSolveThreshold=' + this.aba_1 + ', enableStrategyFusionMitigation=' + this.bba_1 + ', variancePenalty=' + this.cba_1 + ')';
|
|
1995
1995
|
};
|
|
1996
1996
|
protoOf(PimcConfig).hashCode = function () {
|
|
1997
|
-
var result = this.
|
|
1998
|
-
result = imul(result, 31) + this.
|
|
1999
|
-
result = imul(result, 31) + getBooleanHashCode(this.
|
|
2000
|
-
result = imul(result, 31) + getNumberHashCode(this.
|
|
1997
|
+
var result = this.zb9_1;
|
|
1998
|
+
result = imul(result, 31) + this.aba_1 | 0;
|
|
1999
|
+
result = imul(result, 31) + getBooleanHashCode(this.bba_1) | 0;
|
|
2000
|
+
result = imul(result, 31) + getNumberHashCode(this.cba_1) | 0;
|
|
2001
2001
|
return result;
|
|
2002
2002
|
};
|
|
2003
2003
|
protoOf(PimcConfig).equals = function (other) {
|
|
@@ -2005,13 +2005,13 @@
|
|
|
2005
2005
|
return true;
|
|
2006
2006
|
if (!(other instanceof PimcConfig))
|
|
2007
2007
|
return false;
|
|
2008
|
-
if (!(this.
|
|
2008
|
+
if (!(this.zb9_1 === other.zb9_1))
|
|
2009
2009
|
return false;
|
|
2010
|
-
if (!(this.
|
|
2010
|
+
if (!(this.aba_1 === other.aba_1))
|
|
2011
2011
|
return false;
|
|
2012
|
-
if (!(this.
|
|
2012
|
+
if (!(this.bba_1 === other.bba_1))
|
|
2013
2013
|
return false;
|
|
2014
|
-
if (!equals(this.
|
|
2014
|
+
if (!equals(this.cba_1, other.cba_1))
|
|
2015
2015
|
return false;
|
|
2016
2016
|
return true;
|
|
2017
2017
|
};
|
|
@@ -2019,7 +2019,7 @@
|
|
|
2019
2019
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
2020
2020
|
var hands = LinkedHashMap_init_$Create$();
|
|
2021
2021
|
// Inline function 'kotlin.collections.iterator' call
|
|
2022
|
-
var _iterator__ex2g4s = world.
|
|
2022
|
+
var _iterator__ex2g4s = world.dba_1.m1().t();
|
|
2023
2023
|
while (_iterator__ex2g4s.u()) {
|
|
2024
2024
|
var _destruct__k2r9zo = _iterator__ex2g4s.v();
|
|
2025
2025
|
// Inline function 'kotlin.collections.component1' call
|
|
@@ -2030,60 +2030,60 @@
|
|
|
2030
2030
|
var value = toMutableList(cards);
|
|
2031
2031
|
hands.g3(pid, value);
|
|
2032
2032
|
}
|
|
2033
|
-
var focalHand = toMutableList(state.
|
|
2034
|
-
focalHand.y2(action.
|
|
2033
|
+
var focalHand = toMutableList(state.ub5_1);
|
|
2034
|
+
focalHand.y2(action.ob5_1);
|
|
2035
2035
|
// Inline function 'kotlin.collections.set' call
|
|
2036
|
-
var key = state.
|
|
2036
|
+
var key = state.sb5_1;
|
|
2037
2037
|
hands.g3(key, focalHand);
|
|
2038
2038
|
// Inline function 'kotlin.collections.map' call
|
|
2039
|
-
var this_0 = state.
|
|
2039
|
+
var this_0 = state.wb5_1;
|
|
2040
2040
|
// Inline function 'kotlin.collections.mapTo' call
|
|
2041
2041
|
var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
|
|
2042
2042
|
var _iterator__ex2g4s_0 = this_0.t();
|
|
2043
2043
|
while (_iterator__ex2g4s_0.u()) {
|
|
2044
2044
|
var item = _iterator__ex2g4s_0.v();
|
|
2045
|
-
var tmp$ret$6 = new SimCard(item.
|
|
2045
|
+
var tmp$ret$6 = new SimCard(item.i8j_1, item.k8j_1);
|
|
2046
2046
|
destination.e1(tmp$ret$6);
|
|
2047
2047
|
}
|
|
2048
2048
|
var currentTrick = toMutableList(destination);
|
|
2049
|
-
currentTrick.e1(new SimCard(state.
|
|
2049
|
+
currentTrick.e1(new SimCard(state.sb5_1, action.ob5_1));
|
|
2050
2050
|
// Inline function 'kotlin.collections.mutableMapOf' call
|
|
2051
2051
|
var points = LinkedHashMap_init_$Create$();
|
|
2052
|
-
var tmp2 = state.
|
|
2052
|
+
var tmp2 = state.sb5_1;
|
|
2053
2053
|
// Inline function 'kotlin.collections.set' call
|
|
2054
|
-
var value_0 = state.
|
|
2054
|
+
var value_0 = state.db6_1;
|
|
2055
2055
|
points.g3(tmp2, value_0);
|
|
2056
|
-
var focalIndex = state.
|
|
2057
|
-
if (state.
|
|
2058
|
-
var oppId = state.
|
|
2056
|
+
var focalIndex = state.tb5_1.o2(state.sb5_1);
|
|
2057
|
+
if (state.tb5_1.g1() > 1) {
|
|
2058
|
+
var oppId = state.tb5_1.h1((focalIndex + 1 | 0) % state.tb5_1.g1() | 0);
|
|
2059
2059
|
// Inline function 'kotlin.collections.set' call
|
|
2060
|
-
var value_1 = state.
|
|
2060
|
+
var value_1 = state.eb6_1;
|
|
2061
2061
|
points.g3(oppId, value_1);
|
|
2062
2062
|
}
|
|
2063
2063
|
var tmp;
|
|
2064
2064
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
2065
|
-
if (!state.
|
|
2066
|
-
tmp = first(state.
|
|
2065
|
+
if (!state.wb5_1.r()) {
|
|
2066
|
+
tmp = first(state.wb5_1).i8j_1;
|
|
2067
2067
|
} else {
|
|
2068
|
-
tmp = state.
|
|
2068
|
+
tmp = state.sb5_1;
|
|
2069
2069
|
}
|
|
2070
2070
|
var leadPid = tmp;
|
|
2071
|
-
var rolloutState = new RolloutState(state.
|
|
2072
|
-
var result = $this.
|
|
2073
|
-
var total = coerceAtLeast(result.
|
|
2074
|
-
return result.
|
|
2071
|
+
var rolloutState = new RolloutState(state.tb5_1, hands, trump, currentTrick, state.fb6_1, points, state.kb6_1, state.jb6_1, state.sb5_1, leadPid);
|
|
2072
|
+
var result = $this.jba_1.tb9(rolloutState);
|
|
2073
|
+
var total = coerceAtLeast(result.ub9_1 + result.vb9_1 | 0, 1.0);
|
|
2074
|
+
return result.ub9_1 / total;
|
|
2075
2075
|
}
|
|
2076
2076
|
function PimcEngine(beliefNetwork, rolloutPolicy, config, random) {
|
|
2077
2077
|
config = config === VOID ? new PimcConfig() : config;
|
|
2078
2078
|
random = random === VOID ? Default_getInstance() : random;
|
|
2079
|
-
this.
|
|
2080
|
-
this.
|
|
2081
|
-
this.
|
|
2082
|
-
this.
|
|
2083
|
-
this.
|
|
2084
|
-
this.
|
|
2085
|
-
}
|
|
2086
|
-
protoOf(PimcEngine).
|
|
2079
|
+
this.eba_1 = beliefNetwork;
|
|
2080
|
+
this.fba_1 = rolloutPolicy;
|
|
2081
|
+
this.gba_1 = config;
|
|
2082
|
+
this.hba_1 = random;
|
|
2083
|
+
this.iba_1 = new WorldSampler(this.hba_1);
|
|
2084
|
+
this.jba_1 = new DeterministicRollout(this.fba_1);
|
|
2085
|
+
}
|
|
2086
|
+
protoOf(PimcEngine).kba = function (state, legalActions) {
|
|
2087
2087
|
if (legalActions.g1() <= 1) {
|
|
2088
2088
|
// Inline function 'kotlin.collections.associateWith' call
|
|
2089
2089
|
var result = LinkedHashMap_init_$Create$_0(coerceAtLeast_0(mapCapacity(collectionSizeOrDefault(legalActions, 10)), 16));
|
|
@@ -2117,7 +2117,7 @@
|
|
|
2117
2117
|
}
|
|
2118
2118
|
return result_0;
|
|
2119
2119
|
}
|
|
2120
|
-
var tmp0_elvis_lhs = state.
|
|
2120
|
+
var tmp0_elvis_lhs = state.xb5_1;
|
|
2121
2121
|
var tmp;
|
|
2122
2122
|
if (tmp0_elvis_lhs == null) {
|
|
2123
2123
|
// Inline function 'kotlin.collections.associateWith' call
|
|
@@ -2133,8 +2133,8 @@
|
|
|
2133
2133
|
tmp = tmp0_elvis_lhs;
|
|
2134
2134
|
}
|
|
2135
2135
|
var trump = tmp;
|
|
2136
|
-
var belief = this.
|
|
2137
|
-
var worlds = this.
|
|
2136
|
+
var belief = this.eba_1.ib7(state);
|
|
2137
|
+
var worlds = this.iba_1.mba(state, belief, this.gba_1.zb9_1);
|
|
2138
2138
|
// Inline function 'kotlin.collections.map' call
|
|
2139
2139
|
// Inline function 'kotlin.collections.mapTo' call
|
|
2140
2140
|
var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(worlds, 10));
|
|
@@ -2154,18 +2154,18 @@
|
|
|
2154
2154
|
destination_0.e1(destination_1);
|
|
2155
2155
|
}
|
|
2156
2156
|
var worldScores = destination_0;
|
|
2157
|
-
return MoveScoreAggregator_instance.
|
|
2157
|
+
return MoveScoreAggregator_instance.yb9(worldScores, this.gba_1);
|
|
2158
2158
|
};
|
|
2159
2159
|
function SimCard(playerId, card) {
|
|
2160
|
-
this.
|
|
2161
|
-
this.
|
|
2160
|
+
this.kb9_1 = playerId;
|
|
2161
|
+
this.lb9_1 = card;
|
|
2162
2162
|
}
|
|
2163
2163
|
protoOf(SimCard).toString = function () {
|
|
2164
|
-
return 'SimCard(playerId=' + this.
|
|
2164
|
+
return 'SimCard(playerId=' + this.kb9_1 + ', card=' + this.lb9_1.toString() + ')';
|
|
2165
2165
|
};
|
|
2166
2166
|
protoOf(SimCard).hashCode = function () {
|
|
2167
|
-
var result = getStringHashCode(this.
|
|
2168
|
-
result = imul(result, 31) + this.
|
|
2167
|
+
var result = getStringHashCode(this.kb9_1);
|
|
2168
|
+
result = imul(result, 31) + this.lb9_1.hashCode() | 0;
|
|
2169
2169
|
return result;
|
|
2170
2170
|
};
|
|
2171
2171
|
protoOf(SimCard).equals = function (other) {
|
|
@@ -2173,9 +2173,9 @@
|
|
|
2173
2173
|
return true;
|
|
2174
2174
|
if (!(other instanceof SimCard))
|
|
2175
2175
|
return false;
|
|
2176
|
-
if (!(this.
|
|
2176
|
+
if (!(this.kb9_1 === other.kb9_1))
|
|
2177
2177
|
return false;
|
|
2178
|
-
if (!this.
|
|
2178
|
+
if (!this.lb9_1.equals(other.lb9_1))
|
|
2179
2179
|
return false;
|
|
2180
2180
|
return true;
|
|
2181
2181
|
};
|
|
@@ -2203,14 +2203,14 @@
|
|
|
2203
2203
|
}
|
|
2204
2204
|
function TrickSimulator() {
|
|
2205
2205
|
}
|
|
2206
|
-
protoOf(TrickSimulator).
|
|
2206
|
+
protoOf(TrickSimulator).qb9 = function (cards, trump) {
|
|
2207
2207
|
// Inline function 'kotlin.collections.isNotEmpty' call
|
|
2208
2208
|
// Inline function 'kotlin.require' call
|
|
2209
2209
|
if (!!cards.r()) {
|
|
2210
2210
|
var message = 'Cannot resolve an empty trick';
|
|
2211
2211
|
throw IllegalArgumentException_init_$Create$(toString_0(message));
|
|
2212
2212
|
}
|
|
2213
|
-
var firstSuit = first(cards).
|
|
2213
|
+
var firstSuit = first(cards).lb9_1.w6l();
|
|
2214
2214
|
var tmp$ret$3;
|
|
2215
2215
|
$l$block_0: {
|
|
2216
2216
|
// Inline function 'kotlin.collections.maxByOrNull' call
|
|
@@ -2225,10 +2225,10 @@
|
|
|
2225
2225
|
break $l$block_0;
|
|
2226
2226
|
}
|
|
2227
2227
|
var it = maxElem;
|
|
2228
|
-
var maxValue = getGrowth(it.
|
|
2228
|
+
var maxValue = getGrowth(it.lb9_1, trump, firstSuit);
|
|
2229
2229
|
do {
|
|
2230
2230
|
var e = iterator.v();
|
|
2231
|
-
var v = getGrowth(e.
|
|
2231
|
+
var v = getGrowth(e.lb9_1, trump, firstSuit);
|
|
2232
2232
|
if (compareTo(maxValue, v) < 0) {
|
|
2233
2233
|
maxElem = e;
|
|
2234
2234
|
maxValue = v;
|
|
@@ -2244,17 +2244,17 @@
|
|
|
2244
2244
|
while (_iterator__ex2g4s.u()) {
|
|
2245
2245
|
var element = _iterator__ex2g4s.v();
|
|
2246
2246
|
var tmp = sum;
|
|
2247
|
-
sum = tmp + getPoint(element.
|
|
2247
|
+
sum = tmp + getPoint(element.lb9_1, trump) | 0;
|
|
2248
2248
|
}
|
|
2249
2249
|
var points = sum;
|
|
2250
|
-
return new TrickResult(winner.
|
|
2250
|
+
return new TrickResult(winner.kb9_1, points);
|
|
2251
2251
|
};
|
|
2252
|
-
protoOf(TrickSimulator).
|
|
2252
|
+
protoOf(TrickSimulator).nb9 = function (hand, trickCards, trump, rules, playersMode, playerId, partnerPlayerId) {
|
|
2253
2253
|
if (hand.r())
|
|
2254
2254
|
return emptyList();
|
|
2255
2255
|
if (trickCards.r())
|
|
2256
2256
|
return hand;
|
|
2257
|
-
var firstSuit = first(trickCards).
|
|
2257
|
+
var firstSuit = first(trickCards).lb9_1.w6l();
|
|
2258
2258
|
var tmp$ret$0;
|
|
2259
2259
|
$l$block_0: {
|
|
2260
2260
|
// Inline function 'kotlin.collections.any' call
|
|
@@ -2349,7 +2349,7 @@
|
|
|
2349
2349
|
var _iterator__ex2g4s_3 = trickCards.t();
|
|
2350
2350
|
while (_iterator__ex2g4s_3.u()) {
|
|
2351
2351
|
var element_3 = _iterator__ex2g4s_3.v();
|
|
2352
|
-
if (element_3.
|
|
2352
|
+
if (element_3.lb9_1.w6l().equals(trump)) {
|
|
2353
2353
|
tmp$ret$10 = true;
|
|
2354
2354
|
break $l$block_4;
|
|
2355
2355
|
}
|
|
@@ -2389,10 +2389,10 @@
|
|
|
2389
2389
|
break $l$block_6;
|
|
2390
2390
|
}
|
|
2391
2391
|
var it = maxElem;
|
|
2392
|
-
var maxValue = getGrowth(it.
|
|
2392
|
+
var maxValue = getGrowth(it.lb9_1, trump, firstSuit);
|
|
2393
2393
|
do {
|
|
2394
2394
|
var e = iterator.v();
|
|
2395
|
-
var v = getGrowth(e.
|
|
2395
|
+
var v = getGrowth(e.lb9_1, trump, firstSuit);
|
|
2396
2396
|
if (compareTo(maxValue, v) < 0) {
|
|
2397
2397
|
maxElem = e;
|
|
2398
2398
|
maxValue = v;
|
|
@@ -2409,7 +2409,7 @@
|
|
|
2409
2409
|
tmp_4 = tmp1_elvis_lhs;
|
|
2410
2410
|
}
|
|
2411
2411
|
var winningCard = tmp_4;
|
|
2412
|
-
var isPartnerWinning = playersMode.isTeamGame && winningCard.
|
|
2412
|
+
var isPartnerWinning = playersMode.isTeamGame && winningCard.kb9_1 === partnerPlayerId;
|
|
2413
2413
|
if (isPartnerWinning) {
|
|
2414
2414
|
var tmp_5;
|
|
2415
2415
|
switch (rules.trumpCardStepPartnerMode.a1_1) {
|
|
@@ -2420,7 +2420,7 @@
|
|
|
2420
2420
|
tmp_5 = candidates;
|
|
2421
2421
|
break;
|
|
2422
2422
|
case 1:
|
|
2423
|
-
tmp_5 = filterHigherTrumpOrAll(this, candidates, winningCard.
|
|
2423
|
+
tmp_5 = filterHigherTrumpOrAll(this, candidates, winningCard.lb9_1, trump, firstSuit);
|
|
2424
2424
|
break;
|
|
2425
2425
|
default:
|
|
2426
2426
|
noWhenBranchMatchedException();
|
|
@@ -2428,22 +2428,22 @@
|
|
|
2428
2428
|
}
|
|
2429
2429
|
return tmp_5;
|
|
2430
2430
|
}
|
|
2431
|
-
return filterHigherTrumpOrAll(this, candidates, winningCard.
|
|
2431
|
+
return filterHigherTrumpOrAll(this, candidates, winningCard.lb9_1, trump, firstSuit);
|
|
2432
2432
|
};
|
|
2433
2433
|
var TrickSimulator_instance;
|
|
2434
2434
|
function TrickSimulator_getInstance() {
|
|
2435
2435
|
return TrickSimulator_instance;
|
|
2436
2436
|
}
|
|
2437
2437
|
function TrickResult(winnerId, points) {
|
|
2438
|
-
this.
|
|
2439
|
-
this.
|
|
2438
|
+
this.rb9_1 = winnerId;
|
|
2439
|
+
this.sb9_1 = points;
|
|
2440
2440
|
}
|
|
2441
2441
|
protoOf(TrickResult).toString = function () {
|
|
2442
|
-
return 'TrickResult(winnerId=' + this.
|
|
2442
|
+
return 'TrickResult(winnerId=' + this.rb9_1 + ', points=' + this.sb9_1 + ')';
|
|
2443
2443
|
};
|
|
2444
2444
|
protoOf(TrickResult).hashCode = function () {
|
|
2445
|
-
var result = getStringHashCode(this.
|
|
2446
|
-
result = imul(result, 31) + this.
|
|
2445
|
+
var result = getStringHashCode(this.rb9_1);
|
|
2446
|
+
result = imul(result, 31) + this.sb9_1 | 0;
|
|
2447
2447
|
return result;
|
|
2448
2448
|
};
|
|
2449
2449
|
protoOf(TrickResult).equals = function (other) {
|
|
@@ -2451,9 +2451,9 @@
|
|
|
2451
2451
|
return true;
|
|
2452
2452
|
if (!(other instanceof TrickResult))
|
|
2453
2453
|
return false;
|
|
2454
|
-
if (!(this.
|
|
2454
|
+
if (!(this.rb9_1 === other.rb9_1))
|
|
2455
2455
|
return false;
|
|
2456
|
-
if (!(this.
|
|
2456
|
+
if (!(this.sb9_1 === other.sb9_1))
|
|
2457
2457
|
return false;
|
|
2458
2458
|
return true;
|
|
2459
2459
|
};
|
|
@@ -2463,7 +2463,7 @@
|
|
|
2463
2463
|
var _iterator__ex2g4s = get_entries().t();
|
|
2464
2464
|
while (_iterator__ex2g4s.u()) {
|
|
2465
2465
|
var suit = _iterator__ex2g4s.v();
|
|
2466
|
-
var _iterator__ex2g4s_0 = $this.
|
|
2466
|
+
var _iterator__ex2g4s_0 = $this.oba_1.t();
|
|
2467
2467
|
while (_iterator__ex2g4s_0.u()) {
|
|
2468
2468
|
var name = _iterator__ex2g4s_0.v();
|
|
2469
2469
|
var idx = imul(suit.a1_1, 8) + name.a1_1 | 0;
|
|
@@ -2489,7 +2489,7 @@
|
|
|
2489
2489
|
var currentSizes = new Int32Array(opponents.g1());
|
|
2490
2490
|
var assigned = booleanArray(32);
|
|
2491
2491
|
// Inline function 'kotlin.collections.sortedBy' call
|
|
2492
|
-
var this_0 = get_indices_0(belief.
|
|
2492
|
+
var this_0 = get_indices_0(belief.nb7_1);
|
|
2493
2493
|
// Inline function 'kotlin.comparisons.compareBy' call
|
|
2494
2494
|
var tmp = WorldSampler$sampleOneWorld$lambda($this, belief);
|
|
2495
2495
|
var tmp$ret$4 = new sam$kotlin_Comparator$0_0(tmp);
|
|
@@ -2497,8 +2497,8 @@
|
|
|
2497
2497
|
var _iterator__ex2g4s_0 = sortedHiddenIndices.t();
|
|
2498
2498
|
$l$loop_1: while (_iterator__ex2g4s_0.u()) {
|
|
2499
2499
|
var rowIdx = _iterator__ex2g4s_0.v();
|
|
2500
|
-
var cardIdx = belief.
|
|
2501
|
-
var probs = belief.
|
|
2500
|
+
var cardIdx = belief.nb7_1[rowIdx];
|
|
2501
|
+
var probs = belief.mb7_1[rowIdx];
|
|
2502
2502
|
var placed = false;
|
|
2503
2503
|
var inductionVariable = 0;
|
|
2504
2504
|
if (inductionVariable < 100)
|
|
@@ -2562,7 +2562,7 @@
|
|
|
2562
2562
|
return new SampledWorld(destination);
|
|
2563
2563
|
}
|
|
2564
2564
|
function sampleFromDistribution($this, probs) {
|
|
2565
|
-
var r = $this.
|
|
2565
|
+
var r = $this.lba_1.bj();
|
|
2566
2566
|
var cumulative = 0.0;
|
|
2567
2567
|
var inductionVariable = 0;
|
|
2568
2568
|
var last = probs.length - 1 | 0;
|
|
@@ -2592,8 +2592,8 @@
|
|
|
2592
2592
|
}
|
|
2593
2593
|
function Companion_3() {
|
|
2594
2594
|
Companion_instance_5 = this;
|
|
2595
|
-
this.
|
|
2596
|
-
this.
|
|
2595
|
+
this.nba_1 = 100;
|
|
2596
|
+
this.oba_1 = listOf([CardName_ACE_getInstance(), CardName_KING_getInstance(), CardName_QUEEN_getInstance(), CardName_JACK_getInstance(), CardName_TEN_getInstance(), CardName_NINE_getInstance(), CardName_EIGHT_getInstance(), CardName_SEVEN_getInstance()]);
|
|
2597
2597
|
}
|
|
2598
2598
|
var Companion_instance_5;
|
|
2599
2599
|
function Companion_getInstance_3() {
|
|
@@ -2602,16 +2602,16 @@
|
|
|
2602
2602
|
return Companion_instance_5;
|
|
2603
2603
|
}
|
|
2604
2604
|
function sam$kotlin_Comparator$0_0(function_0) {
|
|
2605
|
-
this.
|
|
2605
|
+
this.pba_1 = function_0;
|
|
2606
2606
|
}
|
|
2607
2607
|
protoOf(sam$kotlin_Comparator$0_0).hd = function (a, b) {
|
|
2608
|
-
return this.
|
|
2608
|
+
return this.pba_1(a, b);
|
|
2609
2609
|
};
|
|
2610
2610
|
protoOf(sam$kotlin_Comparator$0_0).compare = function (a, b) {
|
|
2611
2611
|
return this.hd(a, b);
|
|
2612
2612
|
};
|
|
2613
2613
|
protoOf(sam$kotlin_Comparator$0_0).s3 = function () {
|
|
2614
|
-
return this.
|
|
2614
|
+
return this.pba_1;
|
|
2615
2615
|
};
|
|
2616
2616
|
protoOf(sam$kotlin_Comparator$0_0).equals = function (other) {
|
|
2617
2617
|
var tmp;
|
|
@@ -2634,18 +2634,18 @@
|
|
|
2634
2634
|
function WorldSampler$sampleOneWorld$lambda(this$0, $belief) {
|
|
2635
2635
|
return function (a, b) {
|
|
2636
2636
|
// Inline function 'kotlin.comparisons.compareValuesBy' call
|
|
2637
|
-
var tmp = entropy(this$0, $belief.
|
|
2638
|
-
var tmp$ret$1 = entropy(this$0, $belief.
|
|
2637
|
+
var tmp = entropy(this$0, $belief.mb7_1[a]);
|
|
2638
|
+
var tmp$ret$1 = entropy(this$0, $belief.mb7_1[b]);
|
|
2639
2639
|
return compareValues(tmp, tmp$ret$1);
|
|
2640
2640
|
};
|
|
2641
2641
|
}
|
|
2642
2642
|
function WorldSampler(random) {
|
|
2643
2643
|
Companion_getInstance_3();
|
|
2644
|
-
this.
|
|
2644
|
+
this.lba_1 = random;
|
|
2645
2645
|
}
|
|
2646
|
-
protoOf(WorldSampler).
|
|
2647
|
-
var focalIndex = state.
|
|
2648
|
-
var n = state.
|
|
2646
|
+
protoOf(WorldSampler).mba = function (state, belief, worldCount) {
|
|
2647
|
+
var focalIndex = state.tb5_1.o2(state.sb5_1);
|
|
2648
|
+
var n = state.tb5_1.g1();
|
|
2649
2649
|
// Inline function 'kotlin.collections.map' call
|
|
2650
2650
|
var this_0 = until(1, n);
|
|
2651
2651
|
// Inline function 'kotlin.collections.mapTo' call
|
|
@@ -2657,7 +2657,7 @@
|
|
|
2657
2657
|
var item = inductionVariable;
|
|
2658
2658
|
inductionVariable = inductionVariable + 1 | 0;
|
|
2659
2659
|
var absIdx = (focalIndex + item | 0) % n | 0;
|
|
2660
|
-
var tmp$ret$0 = state.
|
|
2660
|
+
var tmp$ret$0 = state.tb5_1.h1(absIdx);
|
|
2661
2661
|
destination.e1(tmp$ret$0);
|
|
2662
2662
|
}
|
|
2663
2663
|
while (!(item === last));
|
|
@@ -2668,9 +2668,9 @@
|
|
|
2668
2668
|
var _iterator__ex2g4s = opponents.t();
|
|
2669
2669
|
while (_iterator__ex2g4s.u()) {
|
|
2670
2670
|
var item_0 = _iterator__ex2g4s.v();
|
|
2671
|
-
var tmp0_elvis_lhs = state.
|
|
2671
|
+
var tmp0_elvis_lhs = state.vb5_1.v2(item_0);
|
|
2672
2672
|
var played = (tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs).g1();
|
|
2673
|
-
var tmp0 = state.
|
|
2673
|
+
var tmp0 = state.wb5_1;
|
|
2674
2674
|
var tmp$ret$3;
|
|
2675
2675
|
$l$block: {
|
|
2676
2676
|
// Inline function 'kotlin.collections.count' call
|
|
@@ -2688,7 +2688,7 @@
|
|
|
2688
2688
|
var _iterator__ex2g4s_0 = tmp0.t();
|
|
2689
2689
|
while (_iterator__ex2g4s_0.u()) {
|
|
2690
2690
|
var element = _iterator__ex2g4s_0.v();
|
|
2691
|
-
if (element.
|
|
2691
|
+
if (element.i8j_1 === item_0) {
|
|
2692
2692
|
count = count + 1 | 0;
|
|
2693
2693
|
checkCountOverflow(count);
|
|
2694
2694
|
}
|
|
@@ -2696,7 +2696,7 @@
|
|
|
2696
2696
|
tmp$ret$3 = count;
|
|
2697
2697
|
}
|
|
2698
2698
|
var onTable = tmp$ret$3;
|
|
2699
|
-
var tmp$ret$5 = coerceAtLeast_0((state.
|
|
2699
|
+
var tmp$ret$5 = coerceAtLeast_0((state.lb6_1 - played | 0) - onTable | 0, 0);
|
|
2700
2700
|
destination_0.e1(tmp$ret$5);
|
|
2701
2701
|
}
|
|
2702
2702
|
var handSizes = destination_0;
|
|
@@ -2717,20 +2717,20 @@
|
|
|
2717
2717
|
return list;
|
|
2718
2718
|
};
|
|
2719
2719
|
function SampledWorld(hands) {
|
|
2720
|
-
this.
|
|
2720
|
+
this.dba_1 = hands;
|
|
2721
2721
|
}
|
|
2722
2722
|
protoOf(SampledWorld).toString = function () {
|
|
2723
|
-
return 'SampledWorld(hands=' + toString_0(this.
|
|
2723
|
+
return 'SampledWorld(hands=' + toString_0(this.dba_1) + ')';
|
|
2724
2724
|
};
|
|
2725
2725
|
protoOf(SampledWorld).hashCode = function () {
|
|
2726
|
-
return hashCode(this.
|
|
2726
|
+
return hashCode(this.dba_1);
|
|
2727
2727
|
};
|
|
2728
2728
|
protoOf(SampledWorld).equals = function (other) {
|
|
2729
2729
|
if (this === other)
|
|
2730
2730
|
return true;
|
|
2731
2731
|
if (!(other instanceof SampledWorld))
|
|
2732
2732
|
return false;
|
|
2733
|
-
if (!equals(this.
|
|
2733
|
+
if (!equals(this.dba_1, other.dba_1))
|
|
2734
2734
|
return false;
|
|
2735
2735
|
return true;
|
|
2736
2736
|
};
|
|
@@ -2746,10 +2746,10 @@
|
|
|
2746
2746
|
return PimcBotPolicy_init_$Init$(pimcEngine, objectCreate(protoOf(PimcBotPolicy)));
|
|
2747
2747
|
}
|
|
2748
2748
|
function PimcBotPolicy(pimcEngine, suitSelectionPolicy) {
|
|
2749
|
-
this.
|
|
2750
|
-
this.
|
|
2749
|
+
this.qba_1 = pimcEngine;
|
|
2750
|
+
this.rba_1 = suitSelectionPolicy;
|
|
2751
2751
|
}
|
|
2752
|
-
protoOf(PimcBotPolicy).
|
|
2752
|
+
protoOf(PimcBotPolicy).bb8 = function (state, legalActions) {
|
|
2753
2753
|
if (legalActions.g1() === 1)
|
|
2754
2754
|
return first(legalActions);
|
|
2755
2755
|
var tmp;
|
|
@@ -2777,7 +2777,7 @@
|
|
|
2777
2777
|
tmp$ret$0 = false;
|
|
2778
2778
|
}
|
|
2779
2779
|
if (tmp$ret$0) {
|
|
2780
|
-
var scores = this.
|
|
2780
|
+
var scores = this.qba_1.kba(state, legalActions);
|
|
2781
2781
|
// Inline function 'kotlin.collections.maxByOrNull' call
|
|
2782
2782
|
var tmp0 = scores.m1();
|
|
2783
2783
|
var tmp$ret$2;
|
|
@@ -2833,7 +2833,7 @@
|
|
|
2833
2833
|
tmp$ret$6 = false;
|
|
2834
2834
|
}
|
|
2835
2835
|
if (tmp$ret$6) {
|
|
2836
|
-
tmp = this.
|
|
2836
|
+
tmp = this.rba_1.sba(state, legalActions);
|
|
2837
2837
|
} else {
|
|
2838
2838
|
var tmp$ret$8;
|
|
2839
2839
|
$l$block_6: {
|
|
@@ -2867,7 +2867,7 @@
|
|
|
2867
2867
|
var element_2 = _iterator__ex2g4s_2.v();
|
|
2868
2868
|
var tmp_3;
|
|
2869
2869
|
if (element_2 instanceof AcceptCombinations) {
|
|
2870
|
-
tmp_3 = element_2.
|
|
2870
|
+
tmp_3 = element_2.rb5_1;
|
|
2871
2871
|
} else {
|
|
2872
2872
|
tmp_3 = false;
|
|
2873
2873
|
}
|
|
@@ -2889,10 +2889,10 @@
|
|
|
2889
2889
|
};
|
|
2890
2890
|
function RandomPolicy(random) {
|
|
2891
2891
|
random = random === VOID ? Default_getInstance() : random;
|
|
2892
|
-
this.
|
|
2892
|
+
this.tba_1 = random;
|
|
2893
2893
|
}
|
|
2894
|
-
protoOf(RandomPolicy).
|
|
2895
|
-
return legalActions.h1(this.
|
|
2894
|
+
protoOf(RandomPolicy).bb8 = function (state, legalActions) {
|
|
2895
|
+
return legalActions.h1(this.tba_1.k1(legalActions.g1()));
|
|
2896
2896
|
};
|
|
2897
2897
|
function selectLead($this, legalCards, trump) {
|
|
2898
2898
|
// Inline function 'kotlin.collections.filter' call
|
|
@@ -2995,7 +2995,7 @@
|
|
|
2995
2995
|
return tmp1_elvis_lhs == null ? first(legalCards) : tmp1_elvis_lhs;
|
|
2996
2996
|
}
|
|
2997
2997
|
function selectFollow($this, legalCards, currentTrick, trump, partnerWinning) {
|
|
2998
|
-
var firstSuit = first(currentTrick).
|
|
2998
|
+
var firstSuit = first(currentTrick).lb9_1.w6l();
|
|
2999
2999
|
if (partnerWinning) {
|
|
3000
3000
|
var tmp$ret$0;
|
|
3001
3001
|
$l$block_0: {
|
|
@@ -3031,10 +3031,10 @@
|
|
|
3031
3031
|
if (!iterator_0.u())
|
|
3032
3032
|
throw NoSuchElementException_init_$Create$();
|
|
3033
3033
|
var it_0 = iterator_0.v();
|
|
3034
|
-
var maxValue = getGrowth(it_0.
|
|
3034
|
+
var maxValue = getGrowth(it_0.lb9_1, trump, firstSuit);
|
|
3035
3035
|
while (iterator_0.u()) {
|
|
3036
3036
|
var it_1 = iterator_0.v();
|
|
3037
|
-
var v_0 = getGrowth(it_1.
|
|
3037
|
+
var v_0 = getGrowth(it_1.lb9_1, trump, firstSuit);
|
|
3038
3038
|
if (compareTo(maxValue, v_0) < 0) {
|
|
3039
3039
|
maxValue = v_0;
|
|
3040
3040
|
}
|
|
@@ -3113,7 +3113,7 @@
|
|
|
3113
3113
|
}
|
|
3114
3114
|
function RolloutPolicy() {
|
|
3115
3115
|
}
|
|
3116
|
-
protoOf(RolloutPolicy).
|
|
3116
|
+
protoOf(RolloutPolicy).pb9 = function (hand, legalCards, currentTrick, trump, partnerPlayerId, partnerWinning) {
|
|
3117
3117
|
if (legalCards.g1() === 1)
|
|
3118
3118
|
return first(legalCards);
|
|
3119
3119
|
var tmp;
|
|
@@ -3147,7 +3147,7 @@
|
|
|
3147
3147
|
}
|
|
3148
3148
|
function SuitSelectionPolicy() {
|
|
3149
3149
|
}
|
|
3150
|
-
protoOf(SuitSelectionPolicy).
|
|
3150
|
+
protoOf(SuitSelectionPolicy).sba = function (state, legalActions) {
|
|
3151
3151
|
// Inline function 'kotlin.collections.filterIsInstance' call
|
|
3152
3152
|
// Inline function 'kotlin.collections.filterIsInstanceTo' call
|
|
3153
3153
|
var destination = ArrayList_init_$Create$();
|
|
@@ -3169,7 +3169,7 @@
|
|
|
3169
3169
|
var _iterator__ex2g4s_0 = suitActions.t();
|
|
3170
3170
|
while (_iterator__ex2g4s_0.u()) {
|
|
3171
3171
|
var element_0 = _iterator__ex2g4s_0.v();
|
|
3172
|
-
if (element_0.
|
|
3172
|
+
if (element_0.qb5_1 == null) {
|
|
3173
3173
|
tmp$ret$3 = element_0;
|
|
3174
3174
|
break $l$block;
|
|
3175
3175
|
}
|
|
@@ -3183,7 +3183,7 @@
|
|
|
3183
3183
|
var _iterator__ex2g4s_1 = suitActions.t();
|
|
3184
3184
|
while (_iterator__ex2g4s_1.u()) {
|
|
3185
3185
|
var element_1 = _iterator__ex2g4s_1.v();
|
|
3186
|
-
if (!(element_1.
|
|
3186
|
+
if (!(element_1.qb5_1 == null)) {
|
|
3187
3187
|
destination_0.e1(element_1);
|
|
3188
3188
|
}
|
|
3189
3189
|
}
|
|
@@ -3192,10 +3192,10 @@
|
|
|
3192
3192
|
return passAction == null ? first(suitActions) : passAction;
|
|
3193
3193
|
}
|
|
3194
3194
|
var tmp;
|
|
3195
|
-
if (state.
|
|
3195
|
+
if (state.ab6_1.r()) {
|
|
3196
3196
|
tmp = 1;
|
|
3197
3197
|
} else {
|
|
3198
|
-
var tmp0 = state.
|
|
3198
|
+
var tmp0 = state.ab6_1;
|
|
3199
3199
|
var tmp$ret$7;
|
|
3200
3200
|
$l$block_0: {
|
|
3201
3201
|
// Inline function 'kotlin.collections.maxOfOrNull' call
|
|
@@ -3204,9 +3204,9 @@
|
|
|
3204
3204
|
tmp$ret$7 = null;
|
|
3205
3205
|
break $l$block_0;
|
|
3206
3206
|
}
|
|
3207
|
-
var maxValue = iterator.v().
|
|
3207
|
+
var maxValue = iterator.v().ab7_1;
|
|
3208
3208
|
while (iterator.u()) {
|
|
3209
|
-
var v = iterator.v().
|
|
3209
|
+
var v = iterator.v().ab7_1;
|
|
3210
3210
|
if (compareTo(maxValue, v) < 0) {
|
|
3211
3211
|
maxValue = v;
|
|
3212
3212
|
}
|
|
@@ -3217,14 +3217,14 @@
|
|
|
3217
3217
|
tmp = tmp2_elvis_lhs == null ? 1 : tmp2_elvis_lhs;
|
|
3218
3218
|
}
|
|
3219
3219
|
var circle = tmp;
|
|
3220
|
-
var thresholds = getThresholds(this, state.
|
|
3220
|
+
var thresholds = getThresholds(this, state.kb6_1);
|
|
3221
3221
|
var threshold = circle <= 1 ? thresholds.first : thresholds.second;
|
|
3222
3222
|
var bestSuit = null;
|
|
3223
3223
|
var bestEhv = 0;
|
|
3224
3224
|
var _iterator__ex2g4s_2 = declareActions.t();
|
|
3225
3225
|
$l$loop: while (_iterator__ex2g4s_2.u()) {
|
|
3226
3226
|
var action = _iterator__ex2g4s_2.v();
|
|
3227
|
-
var tmp3_elvis_lhs = action.
|
|
3227
|
+
var tmp3_elvis_lhs = action.qb5_1;
|
|
3228
3228
|
var tmp_0;
|
|
3229
3229
|
if (tmp3_elvis_lhs == null) {
|
|
3230
3230
|
continue $l$loop;
|
|
@@ -3232,8 +3232,8 @@
|
|
|
3232
3232
|
tmp_0 = tmp3_elvis_lhs;
|
|
3233
3233
|
}
|
|
3234
3234
|
var suit = tmp_0;
|
|
3235
|
-
var ehv = computeEhv(this, state.
|
|
3236
|
-
var tmp4_safe_receiver = state.
|
|
3235
|
+
var ehv = computeEhv(this, state.ub5_1, suit);
|
|
3236
|
+
var tmp4_safe_receiver = state.yb5_1;
|
|
3237
3237
|
var tmp_1;
|
|
3238
3238
|
if (tmp4_safe_receiver == null) {
|
|
3239
3239
|
tmp_1 = null;
|