client_plugin_logic_deb 1.8.471 → 1.8.472

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/Kosi-Kaverit-kaverit.js +77 -77
  2. package/Kosi-Kodein-kodein-di.js +595 -595
  3. package/Kotlin-DateTime-library-kotlinx-datetime.js +1631 -1631
  4. package/Logic_Debertz-ai_module.js +544 -544
  5. package/Logic_Debertz-ai_module.js.map +1 -1
  6. package/Logic_Debertz-bot_engine.js +618 -614
  7. package/Logic_Debertz-bot_engine.js.map +1 -1
  8. package/Logic_Debertz-client_plugin.d.ts +4 -3
  9. package/Logic_Debertz-client_plugin.js +3271 -3272
  10. package/Logic_Debertz-client_plugin.js.map +1 -1
  11. package/Logic_Debertz-core.js +1901 -1901
  12. package/Logic_Debertz-core.js.map +1 -1
  13. package/Logic_Debertz-engine.js +17728 -17689
  14. package/Logic_Debertz-engine.js.map +1 -1
  15. package/Logic_Debertz-game_client.js +9591 -9591
  16. package/Logic_Debertz-game_client.js.map +1 -1
  17. package/Logic_Debertz-game_server.js +1411 -1411
  18. package/Logic_Debertz-game_server.js.map +1 -1
  19. package/error-library-error.js +5 -5
  20. package/kotlin-kotlin-stdlib.js +1310 -957
  21. package/kotlin-kotlin-stdlib.js.map +1 -1
  22. package/kotlinx-atomicfu.js +22 -22
  23. package/kotlinx-coroutines-core.js +2591 -2591
  24. package/kotlinx-io-kotlinx-io-bytestring.js +47 -47
  25. package/kotlinx-io-kotlinx-io-core.js +582 -582
  26. package/kotlinx-serialization-kotlinx-serialization-core.js +1956 -1956
  27. package/kotlinx-serialization-kotlinx-serialization-core.js.map +1 -1
  28. package/kotlinx-serialization-kotlinx-serialization-json.js +1444 -1444
  29. package/ktor-ktor-client-content-negotiation.js +158 -158
  30. package/ktor-ktor-client-core.js +1977 -1977
  31. package/ktor-ktor-client-logging.js +652 -652
  32. package/ktor-ktor-events.js +12 -12
  33. package/ktor-ktor-http-cio.js +372 -372
  34. package/ktor-ktor-http.js +742 -742
  35. package/ktor-ktor-io.js +653 -653
  36. package/ktor-ktor-serialization-kotlinx-json.js +8 -8
  37. package/ktor-ktor-serialization-kotlinx.js +153 -153
  38. package/ktor-ktor-serialization.js +72 -72
  39. package/ktor-ktor-utils.js +701 -701
  40. package/ktor-ktor-utils.js.map +1 -1
  41. package/ktor-ktor-websockets.js +52 -52
  42. package/package.json +1 -1
  43. package/random-library-crypto-rand.js +13 -13
  44. package/random-library-secure-random.js +8 -8
  45. package/raspberry-cardgame-lib-core.js +224 -224
  46. package/raspberry-cardgame-lib-logger.js +106 -106
  47. package/raspberry-cardgame-lib-random.js +865 -865
  48. package/raspberry-cardgame-lib-random.js.map +1 -1
  49. package/uuid.js +29 -29
@@ -23,58 +23,58 @@
23
23
  //region block: imports
24
24
  var imul = Math.imul;
25
25
  var VOID = kotlin_kotlin.$_$.b;
26
- var toString = kotlin_kotlin.$_$.gk;
27
- var protoOf = kotlin_kotlin.$_$.ne;
28
- var hashCode = kotlin_kotlin.$_$.ld;
29
- var equals = kotlin_kotlin.$_$.ed;
30
- var initMetadataForClass = kotlin_kotlin.$_$.md;
31
- var getBooleanHashCode = kotlin_kotlin.$_$.hd;
32
- var emptyList = kotlin_kotlin.$_$.o7;
33
- var toString_0 = kotlin_kotlin.$_$.qe;
34
- var getStringHashCode = kotlin_kotlin.$_$.kd;
35
- var Unit_instance = kotlin_kotlin.$_$.k5;
36
- var initMetadataForCompanion = kotlin_kotlin.$_$.nd;
37
- var FunctionAdapter = kotlin_kotlin.$_$.rc;
38
- var isInterface = kotlin_kotlin.$_$.be;
39
- var Comparator = kotlin_kotlin.$_$.oi;
40
- var compareValues = kotlin_kotlin.$_$.wa;
41
- var sortedWith = kotlin_kotlin.$_$.w9;
42
- var getOrNull = kotlin_kotlin.$_$.c8;
43
- var Collection = kotlin_kotlin.$_$.m5;
44
- var coerceIn = kotlin_kotlin.$_$.af;
45
- var coerceAtLeast = kotlin_kotlin.$_$.we;
46
- var coerceAtLeast_0 = kotlin_kotlin.$_$.ve;
26
+ var toString = kotlin_kotlin.$_$.hk;
27
+ var protoOf = kotlin_kotlin.$_$.oe;
28
+ var hashCode = kotlin_kotlin.$_$.md;
29
+ var equals = kotlin_kotlin.$_$.fd;
30
+ var initMetadataForClass = kotlin_kotlin.$_$.nd;
31
+ var getBooleanHashCode = kotlin_kotlin.$_$.id;
32
+ var emptyList = kotlin_kotlin.$_$.p7;
33
+ var toString_0 = kotlin_kotlin.$_$.re;
34
+ var getStringHashCode = kotlin_kotlin.$_$.ld;
35
+ var Unit_instance = kotlin_kotlin.$_$.l5;
36
+ var initMetadataForCompanion = kotlin_kotlin.$_$.od;
37
+ var FunctionAdapter = kotlin_kotlin.$_$.sc;
38
+ var isInterface = kotlin_kotlin.$_$.ce;
39
+ var Comparator = kotlin_kotlin.$_$.pi;
40
+ var compareValues = kotlin_kotlin.$_$.xa;
41
+ var sortedWith = kotlin_kotlin.$_$.x9;
42
+ var getOrNull = kotlin_kotlin.$_$.d8;
43
+ var Collection = kotlin_kotlin.$_$.n5;
44
+ var coerceIn = kotlin_kotlin.$_$.bf;
45
+ var coerceAtLeast = kotlin_kotlin.$_$.xe;
46
+ var coerceAtLeast_0 = kotlin_kotlin.$_$.we;
47
47
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.s1;
48
- var booleanArray = kotlin_kotlin.$_$.uc;
48
+ var booleanArray = kotlin_kotlin.$_$.vc;
49
49
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.j;
50
- var toIntArray = kotlin_kotlin.$_$.fa;
51
- var getKClassFromExpression = kotlin_kotlin.$_$.jf;
52
- var THROW_CCE = kotlin_kotlin.$_$.cj;
53
- var get_indices = kotlin_kotlin.$_$.h8;
54
- var contentEquals = kotlin_kotlin.$_$.s6;
55
- var contentEquals_0 = kotlin_kotlin.$_$.t6;
56
- var contentHashCode = kotlin_kotlin.$_$.w6;
57
- var contentDeepHashCode = kotlin_kotlin.$_$.q6;
58
- var initMetadataForObject = kotlin_kotlin.$_$.sd;
50
+ var toIntArray = kotlin_kotlin.$_$.ga;
51
+ var getKClassFromExpression = kotlin_kotlin.$_$.kf;
52
+ var THROW_CCE = kotlin_kotlin.$_$.dj;
53
+ var get_indices = kotlin_kotlin.$_$.i8;
54
+ var contentEquals = kotlin_kotlin.$_$.t6;
55
+ var contentEquals_0 = kotlin_kotlin.$_$.u6;
56
+ var contentHashCode = kotlin_kotlin.$_$.x6;
57
+ var contentDeepHashCode = kotlin_kotlin.$_$.r6;
58
+ var initMetadataForObject = kotlin_kotlin.$_$.td;
59
59
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.s;
60
- var collectionSizeOrDefault = kotlin_kotlin.$_$.o6;
60
+ var collectionSizeOrDefault = kotlin_kotlin.$_$.p6;
61
61
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.i;
62
62
  var getPlayer = kotlin_io_raspberryapps_game_engine_core.$_$.q;
63
- var addAll = kotlin_kotlin.$_$.c6;
63
+ var addAll = kotlin_kotlin.$_$.d6;
64
64
  var CombinationState_ACCEPTED_getInstance = kotlin_io_raspberryapps_game_engine_engine.$_$.x9;
65
65
  var get_isEarnPointScene = kotlin_io_raspberryapps_game_engine_engine.$_$.x3;
66
66
  var get_entries = kotlin_io_raspberryapps_cardgame_core.$_$.s;
67
- var plus = kotlin_kotlin.$_$.j9;
67
+ var plus = kotlin_kotlin.$_$.k9;
68
68
  var get_isTradeScene = kotlin_io_raspberryapps_game_engine_engine.$_$.a4;
69
- var listOf = kotlin_kotlin.$_$.v8;
70
- var noWhenBranchMatchedException = kotlin_kotlin.$_$.bk;
69
+ var listOf = kotlin_kotlin.$_$.w8;
70
+ var noWhenBranchMatchedException = kotlin_kotlin.$_$.ck;
71
71
  var CombinationChoiceFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.d5;
72
- var emptySet = kotlin_kotlin.$_$.q7;
72
+ var emptySet = kotlin_kotlin.$_$.r7;
73
73
  var Combination = kotlin_io_raspberryapps_game_engine_engine.$_$.n3;
74
74
  var CardFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.c5;
75
75
  var SuitChoiceFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.l5;
76
76
  var WaitingActData = kotlin_io_raspberryapps_game_engine_engine.$_$.q1;
77
- var getKClass = kotlin_kotlin.$_$.kf;
77
+ var getKClass = kotlin_kotlin.$_$.lf;
78
78
  var MechanicException = kotlin_io_raspberryapps_game_engine_core.$_$.b;
79
79
  var Companion_instance = kotlin_io_raspberryapps_game_engine_engine.$_$.hb;
80
80
  var RequestedCardDecksFromClientAction = kotlin_io_raspberryapps_game_engine_engine.$_$.k5;
@@ -86,33 +86,33 @@
86
86
  var get_isCalcPointScene = kotlin_io_raspberryapps_game_engine_engine.$_$.v3;
87
87
  var get_isChoosePartnerScene = kotlin_io_raspberryapps_game_engine_engine.$_$.w3;
88
88
  var ExternalBotAnswerProvider = kotlin_io_raspberryapps_game_engine_engine.$_$.h8;
89
- var Enum = kotlin_kotlin.$_$.ri;
90
- var max = kotlin_kotlin.$_$.a9;
91
- var sum = kotlin_kotlin.$_$.z9;
92
- var FloatCompanionObject_instance = kotlin_kotlin.$_$.s4;
93
- var floatFromBits = kotlin_kotlin.$_$.gd;
94
- var toSet = kotlin_kotlin.$_$.qa;
95
- var setOf = kotlin_kotlin.$_$.r9;
96
- var setOf_0 = kotlin_kotlin.$_$.s9;
97
- var first = kotlin_kotlin.$_$.x7;
89
+ var Enum = kotlin_kotlin.$_$.si;
90
+ var max = kotlin_kotlin.$_$.b9;
91
+ var sum = kotlin_kotlin.$_$.aa;
92
+ var FloatCompanionObject_instance = kotlin_kotlin.$_$.t4;
93
+ var floatFromBits = kotlin_kotlin.$_$.hd;
94
+ var toSet = kotlin_kotlin.$_$.ra;
95
+ var setOf = kotlin_kotlin.$_$.s9;
96
+ var setOf_0 = kotlin_kotlin.$_$.t9;
97
+ var first = kotlin_kotlin.$_$.y7;
98
98
  var getGrowth = kotlin_io_raspberryapps_game_engine_core.$_$.p1;
99
- var compareTo = kotlin_kotlin.$_$.cd;
100
- var getNumberHashCode = kotlin_kotlin.$_$.id;
101
- var emptyMap = kotlin_kotlin.$_$.p7;
102
- var distinct = kotlin_kotlin.$_$.l7;
103
- var mapCapacity = kotlin_kotlin.$_$.w8;
99
+ var compareTo = kotlin_kotlin.$_$.dd;
100
+ var getNumberHashCode = kotlin_kotlin.$_$.jd;
101
+ var emptyMap = kotlin_kotlin.$_$.q7;
102
+ var distinct = kotlin_kotlin.$_$.m7;
103
+ var mapCapacity = kotlin_kotlin.$_$.x8;
104
104
  var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.r;
105
- var sum_0 = kotlin_kotlin.$_$.y9;
105
+ var sum_0 = kotlin_kotlin.$_$.z9;
106
106
  var NoSuchElementException_init_$Create$ = kotlin_kotlin.$_$.w1;
107
- var toMutableList = kotlin_kotlin.$_$.na;
108
- var Default_getInstance = kotlin_kotlin.$_$.w4;
107
+ var toMutableList = kotlin_kotlin.$_$.oa;
108
+ var Default_getInstance = kotlin_kotlin.$_$.x4;
109
109
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.o1;
110
- var ensureNotNull = kotlin_kotlin.$_$.uj;
110
+ var ensureNotNull = kotlin_kotlin.$_$.vj;
111
111
  var getPoint = kotlin_io_raspberryapps_game_engine_core.$_$.q1;
112
112
  var Companion_instance_0 = kotlin_io_raspberryapps_cardgame_core.$_$.n;
113
- var get_indices_0 = kotlin_kotlin.$_$.g8;
114
- var toList = kotlin_kotlin.$_$.ha;
115
- var get_lastIndex = kotlin_kotlin.$_$.o8;
113
+ var get_indices_0 = kotlin_kotlin.$_$.h8;
114
+ var toList = kotlin_kotlin.$_$.ia;
115
+ var get_lastIndex = kotlin_kotlin.$_$.p8;
116
116
  var CardName_ACE_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.a;
117
117
  var CardName_KING_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.d;
118
118
  var CardName_QUEEN_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.f;
@@ -121,12 +121,12 @@
121
121
  var CardName_NINE_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.e;
122
122
  var CardName_EIGHT_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.b;
123
123
  var CardName_SEVEN_getInstance = kotlin_io_raspberryapps_cardgame_core.$_$.g;
124
- var until = kotlin_kotlin.$_$.ff;
125
- var checkCountOverflow = kotlin_kotlin.$_$.m6;
126
- var objectCreate = kotlin_kotlin.$_$.me;
124
+ var until = kotlin_kotlin.$_$.gf;
125
+ var checkCountOverflow = kotlin_kotlin.$_$.n6;
126
+ var objectCreate = kotlin_kotlin.$_$.ne;
127
127
  var getValueInHand = kotlin_io_raspberryapps_game_engine_core.$_$.r1;
128
- var to = kotlin_kotlin.$_$.hk;
129
- var firstOrNull = kotlin_kotlin.$_$.u7;
128
+ var to = kotlin_kotlin.$_$.ik;
129
+ var firstOrNull = kotlin_kotlin.$_$.v7;
130
130
  //endregion
131
131
  //region block: pre-declaration
132
132
  initMetadataForClass(BotAction, 'BotAction');
@@ -167,23 +167,23 @@
167
167
  initMetadataForClass(sam$kotlin_Comparator$0_0, 'sam$kotlin_Comparator$0', VOID, VOID, [Comparator, FunctionAdapter]);
168
168
  initMetadataForClass(WorldSampler, 'WorldSampler');
169
169
  initMetadataForClass(SampledWorld, 'SampledWorld');
170
- initMetadataForClass(FirstLegalActionPolicy, 'FirstLegalActionPolicy', FirstLegalActionPolicy);
171
170
  initMetadataForClass(PimcBotPolicy, 'PimcBotPolicy');
171
+ initMetadataForClass(RandomPolicy, 'RandomPolicy', RandomPolicy);
172
172
  initMetadataForClass(RolloutPolicy, 'RolloutPolicy', RolloutPolicy);
173
173
  initMetadataForClass(SuitSelectionPolicy, 'SuitSelectionPolicy', SuitSelectionPolicy);
174
174
  //endregion
175
175
  function PlayCard(card, combinations) {
176
176
  combinations = combinations === VOID ? null : combinations;
177
177
  BotAction.call(this);
178
- this.kb4_1 = card;
179
- this.lb4_1 = combinations;
178
+ this.mb5_1 = card;
179
+ this.nb5_1 = combinations;
180
180
  }
181
181
  protoOf(PlayCard).toString = function () {
182
- return 'PlayCard(card=' + this.kb4_1.toString() + ', combinations=' + toString(this.lb4_1) + ')';
182
+ return 'PlayCard(card=' + this.mb5_1.toString() + ', combinations=' + toString(this.nb5_1) + ')';
183
183
  };
184
184
  protoOf(PlayCard).hashCode = function () {
185
- var result = this.kb4_1.hashCode();
186
- result = imul(result, 31) + (this.lb4_1 == null ? 0 : hashCode(this.lb4_1)) | 0;
185
+ var result = this.mb5_1.hashCode();
186
+ result = imul(result, 31) + (this.nb5_1 == null ? 0 : hashCode(this.nb5_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.kb4_1.equals(other.kb4_1))
194
+ if (!this.mb5_1.equals(other.mb5_1))
195
195
  return false;
196
- if (!equals(this.lb4_1, other.lb4_1))
196
+ if (!equals(this.nb5_1, other.nb5_1))
197
197
  return false;
198
198
  return true;
199
199
  };
200
200
  function SelectSuit(suit) {
201
201
  BotAction.call(this);
202
- this.mb4_1 = suit;
202
+ this.ob5_1 = suit;
203
203
  }
204
204
  protoOf(SelectSuit).toString = function () {
205
- return 'SelectSuit(suit=' + toString(this.mb4_1) + ')';
205
+ return 'SelectSuit(suit=' + toString(this.ob5_1) + ')';
206
206
  };
207
207
  protoOf(SelectSuit).hashCode = function () {
208
- return this.mb4_1 == null ? 0 : this.mb4_1.hashCode();
208
+ return this.ob5_1 == null ? 0 : this.ob5_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.mb4_1, other.mb4_1))
215
+ if (!equals(this.ob5_1, other.ob5_1))
216
216
  return false;
217
217
  return true;
218
218
  };
219
219
  function AcceptCombinations(isAccepted) {
220
220
  BotAction.call(this);
221
- this.nb4_1 = isAccepted;
221
+ this.pb5_1 = isAccepted;
222
222
  }
223
223
  protoOf(AcceptCombinations).toString = function () {
224
- return 'AcceptCombinations(isAccepted=' + this.nb4_1 + ')';
224
+ return 'AcceptCombinations(isAccepted=' + this.pb5_1 + ')';
225
225
  };
226
226
  protoOf(AcceptCombinations).hashCode = function () {
227
- return getBooleanHashCode(this.nb4_1);
227
+ return getBooleanHashCode(this.pb5_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.nb4_1 === other.nb4_1))
234
+ if (!(this.pb5_1 === other.pb5_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.ob4_1 = focalPlayerId;
245
- this.pb4_1 = playerOrder;
246
- this.qb4_1 = ownCards;
247
- this.rb4_1 = playedCards;
248
- this.sb4_1 = currentTrick;
249
- this.tb4_1 = trump;
250
- this.ub4_1 = trumpCard;
251
- this.vb4_1 = isTrumpDeclarer;
252
- this.wb4_1 = suitSelectionHistory;
253
- this.xb4_1 = ownTeamScore;
254
- this.yb4_1 = opponentTeamScore;
255
- this.zb4_1 = ownRoundPoints;
256
- this.ab5_1 = opponentRoundPoints;
257
- this.bb5_1 = trickNumber;
258
- this.cb5_1 = positionInTrick;
259
- this.db5_1 = ownTeamWonLastTrick;
260
- this.eb5_1 = declaredCombinations;
261
- this.fb5_1 = rules;
262
- this.gb5_1 = playersMode;
263
- this.hb5_1 = handSize;
244
+ this.qb5_1 = focalPlayerId;
245
+ this.rb5_1 = playerOrder;
246
+ this.sb5_1 = ownCards;
247
+ this.tb5_1 = playedCards;
248
+ this.ub5_1 = currentTrick;
249
+ this.vb5_1 = trump;
250
+ this.wb5_1 = trumpCard;
251
+ this.xb5_1 = isTrumpDeclarer;
252
+ this.yb5_1 = suitSelectionHistory;
253
+ this.zb5_1 = ownTeamScore;
254
+ this.ab6_1 = opponentTeamScore;
255
+ this.bb6_1 = ownRoundPoints;
256
+ this.cb6_1 = opponentRoundPoints;
257
+ this.db6_1 = trickNumber;
258
+ this.eb6_1 = positionInTrick;
259
+ this.fb6_1 = ownTeamWonLastTrick;
260
+ this.gb6_1 = declaredCombinations;
261
+ this.hb6_1 = rules;
262
+ this.ib6_1 = playersMode;
263
+ this.jb6_1 = handSize;
264
264
  }
265
265
  protoOf(BotGameState).toString = function () {
266
- return 'BotGameState(focalPlayerId=' + this.ob4_1 + ', playerOrder=' + toString_0(this.pb4_1) + ', ownCards=' + toString_0(this.qb4_1) + ', playedCards=' + toString_0(this.rb4_1) + ', currentTrick=' + toString_0(this.sb4_1) + ', trump=' + toString(this.tb4_1) + ', trumpCard=' + toString(this.ub4_1) + ', isTrumpDeclarer=' + this.vb4_1 + ', suitSelectionHistory=' + toString_0(this.wb4_1) + ', ownTeamScore=' + this.xb4_1 + ', opponentTeamScore=' + this.yb4_1 + ', ownRoundPoints=' + this.zb4_1 + ', opponentRoundPoints=' + this.ab5_1 + ', trickNumber=' + this.bb5_1 + ', positionInTrick=' + this.cb5_1 + ', ownTeamWonLastTrick=' + this.db5_1 + ', declaredCombinations=' + toString_0(this.eb5_1) + ', rules=' + this.fb5_1.toString() + ', playersMode=' + this.gb5_1.toString() + ', handSize=' + this.hb5_1 + ')';
266
+ return 'BotGameState(focalPlayerId=' + this.qb5_1 + ', playerOrder=' + toString_0(this.rb5_1) + ', ownCards=' + toString_0(this.sb5_1) + ', playedCards=' + toString_0(this.tb5_1) + ', currentTrick=' + toString_0(this.ub5_1) + ', trump=' + toString(this.vb5_1) + ', trumpCard=' + toString(this.wb5_1) + ', isTrumpDeclarer=' + this.xb5_1 + ', suitSelectionHistory=' + toString_0(this.yb5_1) + ', ownTeamScore=' + this.zb5_1 + ', opponentTeamScore=' + this.ab6_1 + ', ownRoundPoints=' + this.bb6_1 + ', opponentRoundPoints=' + this.cb6_1 + ', trickNumber=' + this.db6_1 + ', positionInTrick=' + this.eb6_1 + ', ownTeamWonLastTrick=' + this.fb6_1 + ', declaredCombinations=' + toString_0(this.gb6_1) + ', rules=' + this.hb6_1.toString() + ', playersMode=' + this.ib6_1.toString() + ', handSize=' + this.jb6_1 + ')';
267
267
  };
268
268
  protoOf(BotGameState).hashCode = function () {
269
- var result = getStringHashCode(this.ob4_1);
270
- result = imul(result, 31) + hashCode(this.pb4_1) | 0;
271
- result = imul(result, 31) + hashCode(this.qb4_1) | 0;
272
- result = imul(result, 31) + hashCode(this.rb4_1) | 0;
273
- result = imul(result, 31) + hashCode(this.sb4_1) | 0;
274
- result = imul(result, 31) + (this.tb4_1 == null ? 0 : this.tb4_1.hashCode()) | 0;
275
- result = imul(result, 31) + (this.ub4_1 == null ? 0 : this.ub4_1.hashCode()) | 0;
276
- result = imul(result, 31) + getBooleanHashCode(this.vb4_1) | 0;
277
- result = imul(result, 31) + hashCode(this.wb4_1) | 0;
278
- result = imul(result, 31) + this.xb4_1 | 0;
279
- result = imul(result, 31) + this.yb4_1 | 0;
280
- result = imul(result, 31) + this.zb4_1 | 0;
281
- result = imul(result, 31) + this.ab5_1 | 0;
282
- result = imul(result, 31) + this.bb5_1 | 0;
283
- result = imul(result, 31) + this.cb5_1 | 0;
284
- result = imul(result, 31) + getBooleanHashCode(this.db5_1) | 0;
285
- result = imul(result, 31) + hashCode(this.eb5_1) | 0;
286
- result = imul(result, 31) + this.fb5_1.hashCode() | 0;
287
- result = imul(result, 31) + this.gb5_1.hashCode() | 0;
288
- result = imul(result, 31) + this.hb5_1 | 0;
269
+ var result = getStringHashCode(this.qb5_1);
270
+ result = imul(result, 31) + hashCode(this.rb5_1) | 0;
271
+ result = imul(result, 31) + hashCode(this.sb5_1) | 0;
272
+ result = imul(result, 31) + hashCode(this.tb5_1) | 0;
273
+ result = imul(result, 31) + hashCode(this.ub5_1) | 0;
274
+ result = imul(result, 31) + (this.vb5_1 == null ? 0 : this.vb5_1.hashCode()) | 0;
275
+ result = imul(result, 31) + (this.wb5_1 == null ? 0 : this.wb5_1.hashCode()) | 0;
276
+ result = imul(result, 31) + getBooleanHashCode(this.xb5_1) | 0;
277
+ result = imul(result, 31) + hashCode(this.yb5_1) | 0;
278
+ result = imul(result, 31) + this.zb5_1 | 0;
279
+ result = imul(result, 31) + this.ab6_1 | 0;
280
+ result = imul(result, 31) + this.bb6_1 | 0;
281
+ result = imul(result, 31) + this.cb6_1 | 0;
282
+ result = imul(result, 31) + this.db6_1 | 0;
283
+ result = imul(result, 31) + this.eb6_1 | 0;
284
+ result = imul(result, 31) + getBooleanHashCode(this.fb6_1) | 0;
285
+ result = imul(result, 31) + hashCode(this.gb6_1) | 0;
286
+ result = imul(result, 31) + this.hb6_1.hashCode() | 0;
287
+ result = imul(result, 31) + this.ib6_1.hashCode() | 0;
288
+ result = imul(result, 31) + this.jb6_1 | 0;
289
289
  return result;
290
290
  };
291
291
  protoOf(BotGameState).equals = function (other) {
@@ -293,45 +293,45 @@
293
293
  return true;
294
294
  if (!(other instanceof BotGameState))
295
295
  return false;
296
- if (!(this.ob4_1 === other.ob4_1))
296
+ if (!(this.qb5_1 === other.qb5_1))
297
297
  return false;
298
- if (!equals(this.pb4_1, other.pb4_1))
298
+ if (!equals(this.rb5_1, other.rb5_1))
299
299
  return false;
300
- if (!equals(this.qb4_1, other.qb4_1))
300
+ if (!equals(this.sb5_1, other.sb5_1))
301
301
  return false;
302
- if (!equals(this.rb4_1, other.rb4_1))
302
+ if (!equals(this.tb5_1, other.tb5_1))
303
303
  return false;
304
- if (!equals(this.sb4_1, other.sb4_1))
304
+ if (!equals(this.ub5_1, other.ub5_1))
305
305
  return false;
306
- if (!equals(this.tb4_1, other.tb4_1))
306
+ if (!equals(this.vb5_1, other.vb5_1))
307
307
  return false;
308
- if (!equals(this.ub4_1, other.ub4_1))
308
+ if (!equals(this.wb5_1, other.wb5_1))
309
309
  return false;
310
- if (!(this.vb4_1 === other.vb4_1))
310
+ if (!(this.xb5_1 === other.xb5_1))
311
311
  return false;
312
- if (!equals(this.wb4_1, other.wb4_1))
312
+ if (!equals(this.yb5_1, other.yb5_1))
313
313
  return false;
314
- if (!(this.xb4_1 === other.xb4_1))
314
+ if (!(this.zb5_1 === other.zb5_1))
315
315
  return false;
316
- if (!(this.yb4_1 === other.yb4_1))
316
+ if (!(this.ab6_1 === other.ab6_1))
317
317
  return false;
318
- if (!(this.zb4_1 === other.zb4_1))
318
+ if (!(this.bb6_1 === other.bb6_1))
319
319
  return false;
320
- if (!(this.ab5_1 === other.ab5_1))
320
+ if (!(this.cb6_1 === other.cb6_1))
321
321
  return false;
322
- if (!(this.bb5_1 === other.bb5_1))
322
+ if (!(this.db6_1 === other.db6_1))
323
323
  return false;
324
- if (!(this.cb5_1 === other.cb5_1))
324
+ if (!(this.eb6_1 === other.eb6_1))
325
325
  return false;
326
- if (!(this.db5_1 === other.db5_1))
326
+ if (!(this.fb6_1 === other.fb6_1))
327
327
  return false;
328
- if (!equals(this.eb5_1, other.eb5_1))
328
+ if (!equals(this.gb6_1, other.gb6_1))
329
329
  return false;
330
- if (!this.fb5_1.equals(other.fb5_1))
330
+ if (!this.hb6_1.equals(other.hb6_1))
331
331
  return false;
332
- if (!this.gb5_1.equals(other.gb5_1))
332
+ if (!this.ib6_1.equals(other.ib6_1))
333
333
  return false;
334
- if (!(this.hb5_1 === other.hb5_1))
334
+ if (!(this.jb6_1 === other.jb6_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.lb5(card) | 0] = 1.0;
342
+ vec[offset + CardLocationIndex_instance.nb6(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.lb5(card) | 0] = 1.0;
348
+ vec[offset + CardLocationIndex_instance.nb6(card) | 0] = 1.0;
349
349
  }
350
350
  return offset + 32 | 0;
351
351
  }
352
352
  function Companion() {
353
- this.mb5_1 = 32;
354
- this.nb5_1 = 162.0;
353
+ this.ob6_1 = 32;
354
+ this.pb6_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.ob5_1 = function_0;
361
+ this.qb6_1 = function_0;
362
362
  }
363
363
  protoOf(sam$kotlin_Comparator$0).hd = function (a, b) {
364
- return this.ob5_1(a, b);
364
+ return this.qb6_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.ob5_1;
370
+ return this.qb6_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.h8i_1;
393
- var tmp$ret$1 = b.h8i_1;
392
+ var tmp = a.i8j_1;
393
+ var tmp$ret$1 = b.i8j_1;
394
394
  return compareValues(tmp, tmp$ret$1);
395
395
  }
396
396
  function BeliefFeatureEncoder(playersMode) {
397
- this.pb5_1 = playersMode;
398
- this.qb5_1 = this.pb5_1.count;
399
- this.rb5_1 = this.qb5_1 - 1 | 0;
397
+ this.rb6_1 = playersMode;
398
+ this.sb6_1 = this.rb6_1.count;
399
+ this.tb6_1 = this.sb6_1 - 1 | 0;
400
400
  var tmp = this;
401
401
  // Inline function 'kotlin.run' call
402
- tmp.sb5_1 = (((((((((32 + imul(32, this.qb5_1) | 0) + 96 | 0) + 4 | 0) + 32 | 0) + 1 | 0) + imul(this.qb5_1, 4) | 0) + 8 | 0) + 4 | 0) + 4 | 0) + this.rb5_1 | 0;
402
+ tmp.ub6_1 = (((((((((32 + imul(32, this.sb6_1) | 0) + 96 | 0) + 4 | 0) + 32 | 0) + 1 | 0) + imul(this.sb6_1, 4) | 0) + 8 | 0) + 4 | 0) + 4 | 0) + this.tb6_1 | 0;
403
403
  }
404
- protoOf(BeliefFeatureEncoder).tb5 = function (state) {
405
- var vec = new Float32Array(this.sb5_1);
404
+ protoOf(BeliefFeatureEncoder).vb6 = function (state) {
405
+ var vec = new Float32Array(this.ub6_1);
406
406
  var offset = 0;
407
- var focalIndex = state.pb4_1.o2(state.ob4_1);
408
- var n = state.pb4_1.g1();
409
- offset = encodeCardSet(this, vec, offset, state.qb4_1);
407
+ var focalIndex = state.rb5_1.o2(state.qb5_1);
408
+ var n = state.rb5_1.g1();
409
+ offset = encodeCardSet(this, vec, offset, state.sb5_1);
410
410
  var inductionVariable = 0;
411
- var last = this.qb5_1;
411
+ var last = this.sb6_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.pb4_1;
418
+ var this_0 = state.rb5_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.rb4_1.v2(pid);
427
+ var tmp0_elvis_lhs = state.tb5_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.sb4_1;
432
+ var this_1 = state.ub5_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.i8i_1;
443
+ var card = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.j8j_1;
444
444
  offset = encodeCardOneHot(this, vec, offset, card);
445
445
  }
446
446
  while (inductionVariable_0 <= 2);
447
- var trump = state.tb4_1;
447
+ var trump = state.vb5_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.ub4_1);
452
+ offset = encodeCardOneHot(this, vec, offset, state.wb5_1);
453
453
  var _unary__edvuaz = offset;
454
454
  offset = _unary__edvuaz + 1 | 0;
455
- vec[_unary__edvuaz] = state.vb4_1 ? 1.0 : 0.0;
455
+ vec[_unary__edvuaz] = state.xb5_1 ? 1.0 : 0.0;
456
456
  var inductionVariable_1 = 0;
457
- var last_0 = this.qb5_1;
457
+ var last_0 = this.sb6_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.pb4_1;
464
+ var this_2 = state.rb5_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.wb4_1;
477
+ var tmp0 = state.yb5_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.ub5_1 === pid_0 && element.vb5_1 == null) {
494
+ if (element.wb6_1 === pid_0 && element.xb6_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.bb5_1, 0, 7);
509
+ var trickIdx = coerceIn(state.db6_1, 0, 7);
510
510
  vec[offset + trickIdx | 0] = 1.0;
511
511
  offset = offset + 8 | 0;
512
- var posIdx = coerceIn(state.cb5_1, 0, 3);
512
+ var posIdx = coerceIn(state.eb6_1, 0, 3);
513
513
  vec[offset + posIdx | 0] = 1.0;
514
514
  offset = offset + 4 | 0;
515
- var winTarget = coerceAtLeast(state.fb5_1.winTargetPoints, 1.0);
515
+ var winTarget = coerceAtLeast(state.hb6_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.xb4_1 / winTarget;
518
+ vec[_unary__edvuaz_1] = state.zb5_1 / winTarget;
519
519
  var _unary__edvuaz_2 = offset;
520
520
  offset = _unary__edvuaz_2 + 1 | 0;
521
- vec[_unary__edvuaz_2] = state.yb4_1 / winTarget;
521
+ vec[_unary__edvuaz_2] = state.ab6_1 / winTarget;
522
522
  var _unary__edvuaz_3 = offset;
523
523
  offset = _unary__edvuaz_3 + 1 | 0;
524
- vec[_unary__edvuaz_3] = state.zb4_1 / 162.0;
524
+ vec[_unary__edvuaz_3] = state.bb6_1 / 162.0;
525
525
  var _unary__edvuaz_4 = offset;
526
526
  offset = _unary__edvuaz_4 + 1 | 0;
527
- vec[_unary__edvuaz_4] = state.ab5_1 / 162.0;
527
+ vec[_unary__edvuaz_4] = state.cb6_1 / 162.0;
528
528
  var inductionVariable_3 = 1;
529
- var last_1 = this.rb5_1;
529
+ var last_1 = this.tb6_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.pb4_1;
536
+ var this_3 = state.rb5_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.rb4_1.v2(pid_1);
544
+ var tmp2_elvis_lhs = state.tb5_1.v2(pid_1);
545
545
  var played = (tmp2_elvis_lhs == null ? emptyList() : tmp2_elvis_lhs).g1();
546
- var remaining = coerceAtLeast_0(state.hb5_1 - played | 0, 0);
546
+ var remaining = coerceAtLeast_0(state.jb6_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.hb5_1, 1.0);
549
+ vec[_unary__edvuaz_5] = remaining / coerceAtLeast(state.jb6_1, 1.0);
550
550
  }
551
551
  while (!(relPos_1 === last_1));
552
552
  // Inline function 'kotlin.check' call
553
- if (!(offset === this.sb5_1)) {
554
- var message = 'BeliefFeatureEncoder: wrote ' + offset + ' floats but expected ' + this.sb5_1;
553
+ if (!(offset === this.ub6_1)) {
554
+ var message = 'BeliefFeatureEncoder: wrote ' + offset + ' floats but expected ' + this.ub6_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.xb5_1 = engine;
561
- this.yb5_1 = encoder;
562
- this.zb5_1 = playersMode;
563
- this.ab6_1 = CardLocationIndex_instance.cb6(this.zb5_1);
564
- this.bb6_1 = false;
560
+ this.zb6_1 = engine;
561
+ this.ab7_1 = encoder;
562
+ this.bb7_1 = playersMode;
563
+ this.cb7_1 = CardLocationIndex_instance.eb7(this.bb7_1);
564
+ this.db7_1 = false;
565
565
  }
566
- protoOf(CardBeliefNetwork).db6 = function (modelBytes) {
567
- this.xb5_1.db6(modelBytes);
568
- this.bb6_1 = true;
566
+ protoOf(CardBeliefNetwork).fb7 = function (modelBytes) {
567
+ this.zb6_1.fb7(modelBytes);
568
+ this.db7_1 = true;
569
569
  };
570
- protoOf(CardBeliefNetwork).eb6 = function (state) {
570
+ protoOf(CardBeliefNetwork).gb7 = function (state) {
571
571
  var knownCards = booleanArray(32);
572
- var _iterator__ex2g4s = state.qb4_1.t();
572
+ var _iterator__ex2g4s = state.sb5_1.t();
573
573
  while (_iterator__ex2g4s.u()) {
574
574
  var card = _iterator__ex2g4s.v();
575
- knownCards[CardLocationIndex_instance.lb5(card)] = true;
575
+ knownCards[CardLocationIndex_instance.nb6(card)] = true;
576
576
  }
577
577
  // Inline function 'kotlin.collections.iterator' call
578
- var _iterator__ex2g4s_0 = state.rb4_1.m1().t();
578
+ var _iterator__ex2g4s_0 = state.tb5_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.lb5(card_0)] = true;
585
+ knownCards[CardLocationIndex_instance.nb6(card_0)] = true;
586
586
  }
587
587
  }
588
- var _iterator__ex2g4s_2 = state.sb4_1.t();
588
+ var _iterator__ex2g4s_2 = state.ub5_1.t();
589
589
  while (_iterator__ex2g4s_2.u()) {
590
590
  var cot = _iterator__ex2g4s_2.v();
591
- knownCards[CardLocationIndex_instance.lb5(cot.i8i_1)] = true;
591
+ knownCards[CardLocationIndex_instance.nb6(cot.j8j_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.bb6_1) {
606
- var uniform = 1.0 / this.ab6_1;
605
+ if (!this.db7_1) {
606
+ var uniform = 1.0 / this.cb7_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.ab6_1;
614
+ var tmp_4 = this.cb7_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.yb5_1.tb5(state);
627
- var rawOutput = this.xb5_1.fb6(features);
626
+ var features = this.ab7_1.vb6(state);
627
+ var rawOutput = this.zb6_1.hb7(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.ab6_1);
635
+ var rowStart = imul(cardIdx, this.cb7_1);
636
636
  var tmp_10 = 0;
637
- var tmp_11 = this.ab6_1;
637
+ var tmp_11 = this.cb7_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.hb6(logits);
653
+ tmp_8[tmp_9] = Companion_instance_3.jb7(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.ib6_1 = beliefMatrix;
661
- this.jb6_1 = hiddenCardIndices;
660
+ this.kb7_1 = beliefMatrix;
661
+ this.lb7_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.jb6_1, other.jb6_1) && this.ib6_1.length === other.ib6_1.length) {
672
- var tmp0 = get_indices(this.ib6_1);
671
+ if (contentEquals_0(this.lb7_1, other.lb7_1) && this.kb7_1.length === other.kb7_1.length) {
672
+ var tmp0 = get_indices(this.kb7_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.ib6_1[it], other.ib6_1[it])) {
693
+ if (!contentEquals(this.kb7_1[it], other.kb7_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.jb6_1);
709
- result = imul(31, result) + contentDeepHashCode(this.ib6_1) | 0;
708
+ var result = contentHashCode(this.lb7_1);
709
+ result = imul(31, result) + contentDeepHashCode(this.kb7_1) | 0;
710
710
  return result;
711
711
  };
712
712
  protoOf(CardBeliefResult).toString = function () {
713
- return 'CardBeliefResult(beliefMatrix=' + toString_0(this.ib6_1) + ', hiddenCardIndices=' + toString_0(this.jb6_1) + ')';
713
+ return 'CardBeliefResult(beliefMatrix=' + toString_0(this.kb7_1) + ', hiddenCardIndices=' + toString_0(this.lb7_1) + ')';
714
714
  };
715
715
  function CardLocationIndex() {
716
- this.ib5_1 = 32;
717
- this.jb5_1 = 4;
718
- this.kb5_1 = 8;
716
+ this.kb6_1 = 32;
717
+ this.lb6_1 = 4;
718
+ this.mb6_1 = 8;
719
719
  }
720
- protoOf(CardLocationIndex).lb5 = function (card) {
721
- return imul(card.u6k().a1_1, 8) + card.m().a1_1 | 0;
720
+ protoOf(CardLocationIndex).nb6 = function (card) {
721
+ return imul(card.w6l().a1_1, 8) + card.m().a1_1 | 0;
722
722
  };
723
- protoOf(CardLocationIndex).cb6 = function (mode) {
723
+ protoOf(CardLocationIndex).eb7 = 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.kb6_1 = playersMode;
732
- this.lb6_1 = rulesSetType;
733
- this.mb6_1 = modelBytes;
731
+ this.mb7_1 = playersMode;
732
+ this.nb7_1 = rulesSetType;
733
+ this.ob7_1 = modelBytes;
734
734
  }
735
735
  protoOf(BotModelConfig).toString = function () {
736
- return 'BotModelConfig(playersMode=' + this.kb6_1.toString() + ', rulesSetType=' + this.lb6_1.toString() + ', modelBytes=' + toString_0(this.mb6_1) + ')';
736
+ return 'BotModelConfig(playersMode=' + this.mb7_1.toString() + ', rulesSetType=' + this.nb7_1.toString() + ', modelBytes=' + toString_0(this.ob7_1) + ')';
737
737
  };
738
738
  protoOf(BotModelConfig).hashCode = function () {
739
- var result = this.kb6_1.hashCode();
740
- result = imul(result, 31) + this.lb6_1.hashCode() | 0;
741
- result = imul(result, 31) + hashCode(this.mb6_1) | 0;
739
+ var result = this.mb7_1.hashCode();
740
+ result = imul(result, 31) + this.nb7_1.hashCode() | 0;
741
+ result = imul(result, 31) + hashCode(this.ob7_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.kb6_1.equals(other.kb6_1))
749
+ if (!this.mb7_1.equals(other.mb7_1))
750
750
  return false;
751
- if (!this.lb6_1.equals(other.lb6_1))
751
+ if (!this.nb7_1.equals(other.nb7_1))
752
752
  return false;
753
- if (!equals(this.mb6_1, other.mb6_1))
753
+ if (!equals(this.ob7_1, other.ob7_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.nb6_1 = LinkedHashMap_init_$Create$();
760
+ tmp.pb7_1 = LinkedHashMap_init_$Create$();
761
761
  }
762
- protoOf(BotModelRegistry).ob6 = function (config) {
763
- var tmp0 = this.nb6_1;
764
- var tmp2 = new BotModelKey(config.kb6_1, config.lb6_1);
762
+ protoOf(BotModelRegistry).qb7 = function (config) {
763
+ var tmp0 = this.pb7_1;
764
+ var tmp2 = new BotModelKey(config.mb7_1, config.nb7_1);
765
765
  // Inline function 'kotlin.collections.set' call
766
- var value = config.mb6_1;
766
+ var value = config.ob7_1;
767
767
  tmp0.g3(tmp2, value);
768
768
  };
769
- protoOf(BotModelRegistry).pb6 = function (playersMode, rulesSetType) {
770
- return this.nb6_1.v2(new BotModelKey(playersMode, rulesSetType));
769
+ protoOf(BotModelRegistry).rb7 = function (playersMode, rulesSetType) {
770
+ return this.pb7_1.v2(new BotModelKey(playersMode, rulesSetType));
771
771
  };
772
- protoOf(BotModelRegistry).qb6 = function () {
772
+ protoOf(BotModelRegistry).sb7 = function () {
773
773
  // Inline function 'kotlin.collections.isNotEmpty' call
774
- return !this.nb6_1.r();
774
+ return !this.pb7_1.r();
775
775
  };
776
776
  function BotModelKey(playersMode, rulesSetType) {
777
- this.rb6_1 = playersMode;
778
- this.sb6_1 = rulesSetType;
777
+ this.tb7_1 = playersMode;
778
+ this.ub7_1 = rulesSetType;
779
779
  }
780
780
  protoOf(BotModelKey).toString = function () {
781
- return 'BotModelKey(playersMode=' + this.rb6_1.toString() + ', rulesSetType=' + this.sb6_1.toString() + ')';
781
+ return 'BotModelKey(playersMode=' + this.tb7_1.toString() + ', rulesSetType=' + this.ub7_1.toString() + ')';
782
782
  };
783
783
  protoOf(BotModelKey).hashCode = function () {
784
- var result = this.rb6_1.hashCode();
785
- result = imul(result, 31) + this.sb6_1.hashCode() | 0;
784
+ var result = this.tb7_1.hashCode();
785
+ result = imul(result, 31) + this.ub7_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.rb6_1.equals(other.rb6_1))
793
+ if (!this.tb7_1.equals(other.tb7_1))
794
794
  return false;
795
- if (!this.sb6_1.equals(other.sb6_1))
795
+ if (!this.ub7_1.equals(other.ub7_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.m90_1;
828
+ var tmp0_0 = element.n91_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.g8i_1 === p) {
834
+ if (element_0.h8j_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.i8i_1;
844
+ var tmp$ret$7 = item_0.j8j_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).y7x_1.p84_1 + table.players.h1(partnerIndex).y7x_1.p84_1 | 0;
858
- opponentRoundPoints = table.players.h1((focalIndex + 1 | 0) % 4 | 0).y7x_1.p84_1 + table.players.h1((focalIndex + 3 | 0) % 4 | 0).y7x_1.p84_1 | 0;
857
+ ownRoundPoints = table.players.h1(focalIndex).z7y_1.q85_1 + table.players.h1(partnerIndex).z7y_1.q85_1 | 0;
858
+ opponentRoundPoints = table.players.h1((focalIndex + 1 | 0) % 4 | 0).z7y_1.q85_1 + table.players.h1((focalIndex + 3 | 0) % 4 | 0).z7y_1.q85_1 | 0;
859
859
  } else {
860
- ownRoundPoints = table.players.h1(focalIndex).y7x_1.p84_1;
860
+ ownRoundPoints = table.players.h1(focalIndex).z7y_1.q85_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.y7x_1.p84_1 | 0;
878
+ sum = tmp + element_2.z7y_1.q85_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.w7x_1.n83_1) {
892
+ if (element_3.x7y_1.o84_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.y7x_1.q84_1;
907
+ var tmp0_3 = p_0.z7y_1.r85_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.c89_1.equals(CombinationState_ACCEPTED_getInstance())) {
913
+ if (element_4.d8a_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.b89_1;
923
+ var tmp$ret$25 = item_1.c8a_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.w7x_1.l83_1) {
939
+ if (focalPlayer.x7y_1.m84_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).w7x_1.l83_1;
943
+ tmp_1 = table.players.h1(partnerIndex_0).x7y_1.m84_1;
944
944
  } else {
945
945
  tmp_1 = false;
946
946
  }
@@ -951,15 +951,16 @@
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.v7x_1, playedCards, cardsOnTable, tmp_2, tmp1_safe_receiver == null ? null : tmp1_safe_receiver.p90_1, trumpDeclarerId === playerId, emptyList(), 0, 0, ownRoundPoints, opponentRoundPoints, trickNumber, positionInTrick, ownTeamWonLastTrick, declaredCombinations, rules, playersMode, rules.dealerFinalCardsCount);
954
+ return new BotGameState(playerId, players, player.w7y_1, playedCards, cardsOnTable, tmp_2, tmp1_safe_receiver == null ? null : tmp1_safe_receiver.q91_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.a9e_1;
958
- var actId = table.sceneInfo.c9e_1;
957
+ var sceneId = table.sceneInfo.b9f_1;
958
+ var actId = table.sceneInfo.d9f_1;
959
959
  var tmp;
960
960
  if (actId === 'COMBINATION') {
961
961
  tmp = listOf([new AcceptCombinations(true), new AcceptCombinations(false)]);
962
962
  } else if (get_isTradeScene(sceneId) && actId === 'PLAYER_TURN') {
963
+ var player = getPlayer(table.players, playerId);
963
964
  // Inline function 'kotlin.collections.map' call
964
965
  var this_0 = get_entries();
965
966
  // Inline function 'kotlin.collections.mapTo' call
@@ -971,11 +972,12 @@
971
972
  destination.e1(tmp$ret$0);
972
973
  }
973
974
  var suits = destination;
974
- tmp = plus(suits, new SelectSuit(null));
975
+ var canPass = table.config.rules.playWithoutLiabilities || !player.x7y_1.g84_1 || !player.x7y_1.x88();
976
+ tmp = canPass ? plus(suits, new SelectSuit(null)) : suits;
975
977
  } else if (get_isEarnPointScene(sceneId) && actId === 'PLAYER_TURN') {
976
- var player = getPlayer(table.players, playerId);
978
+ var player_0 = getPlayer(table.players, playerId);
977
979
  // Inline function 'kotlin.collections.map' call
978
- var this_1 = player.v7x_1;
980
+ var this_1 = player_0.w7y_1;
979
981
  // Inline function 'kotlin.collections.mapTo' call
980
982
  var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_1, 10));
981
983
  var _iterator__ex2g4s_0 = this_1.t();
@@ -993,16 +995,16 @@
993
995
  function mapToClientAction($this, action, playerId, table) {
994
996
  var tmp;
995
997
  if (action instanceof SelectSuit) {
996
- var tmp4_suit = action.mb4_1;
997
- var tmp1_$this = $this.vb6_1;
998
+ var tmp4_suit = action.ob5_1;
999
+ var tmp1_$this = $this.xb7_1;
998
1000
  var tmp2_player = getPlayer(table.players, playerId);
999
1001
  var tmp3_round = table.gameInfo.round;
1000
- var tmp5_tag = tmp1_$this.ja8(tmp3_round, tmp2_player);
1002
+ var tmp5_tag = tmp1_$this.la9(tmp3_round, tmp2_player);
1001
1003
  tmp = new SuitChoiceFromClientAction(playerId, true, tmp5_tag, tmp4_suit);
1002
1004
  } else {
1003
1005
  if (action instanceof PlayCard) {
1004
- var tmp7_card = action.kb4_1;
1005
- var tmp6_safe_receiver = action.lb4_1;
1006
+ var tmp7_card = action.mb5_1;
1007
+ var tmp6_safe_receiver = action.nb5_1;
1006
1008
  var tmp_0;
1007
1009
  if (tmp6_safe_receiver == null) {
1008
1010
  tmp_0 = null;
@@ -1019,15 +1021,15 @@
1019
1021
  tmp_0 = destination;
1020
1022
  }
1021
1023
  var tmp8_combinations = tmp_0;
1022
- var tmp9_tag = $this.vb6_1.ka8(table.gameInfo.round, VOID, table.cardsOnTable.g1());
1024
+ var tmp9_tag = $this.xb7_1.ma9(table.gameInfo.round, VOID, table.cardsOnTable.g1());
1023
1025
  tmp = new CardFromClientAction(playerId, true, tmp9_tag, tmp7_card, tmp8_combinations);
1024
1026
  } else {
1025
1027
  if (action instanceof AcceptCombinations) {
1026
- var tmp13_isAccepted = action.nb4_1;
1027
- var tmp10_$this = $this.vb6_1;
1028
+ var tmp13_isAccepted = action.pb5_1;
1029
+ var tmp10_$this = $this.xb7_1;
1028
1030
  var tmp11_round = table.gameInfo.round;
1029
1031
  var tmp12_sceneInfo = table.sceneInfo;
1030
- var tmp14_tag = tmp10_$this.ia8(tmp12_sceneInfo, tmp11_round);
1032
+ var tmp14_tag = tmp10_$this.ka9(tmp12_sceneInfo, tmp11_round);
1031
1033
  tmp = new CombinationChoiceFromClientAction(playerId, true, tmp14_tag, tmp13_isAccepted);
1032
1034
  } else {
1033
1035
  noWhenBranchMatchedException();
@@ -1037,9 +1039,9 @@
1037
1039
  return tmp;
1038
1040
  }
1039
1041
  function handleWaitingAct($this, playerId, table) {
1040
- if (!(table.sceneInfo.c9e_1 === 'WAITING_ACT'))
1042
+ if (!(table.sceneInfo.d9f_1 === 'WAITING_ACT'))
1041
1043
  return null;
1042
- var tmp0 = table.sceneInfo.e9e_1;
1044
+ var tmp0 = table.sceneInfo.f9f_1;
1043
1045
  var tmp$ret$0;
1044
1046
  $l$block: {
1045
1047
  // Inline function 'games.jass.logic.data.models.scenes.requireActData' call
@@ -1050,7 +1052,7 @@
1050
1052
  throw new MechanicException('Required ' + getKClass(WaitingActData).o() + ', current act is ' + toString(tmp0));
1051
1053
  }
1052
1054
  var waitingActData = tmp$ret$0;
1053
- var tmp0_elvis_lhs = waitingActData.k8j_1;
1055
+ var tmp0_elvis_lhs = waitingActData.l8k_1;
1054
1056
  var tmp;
1055
1057
  if (tmp0_elvis_lhs == null) {
1056
1058
  return null;
@@ -1062,7 +1064,7 @@
1062
1064
  if (requestPayload instanceof CardDeckRequest) {
1063
1065
  // Inline function 'kotlin.collections.List' call
1064
1066
  // Inline function 'kotlin.collections.MutableList' call
1065
- var size = requestPayload.i8j_1;
1067
+ var size = requestPayload.j8k_1;
1066
1068
  var list = ArrayList_init_$Create$_0(size);
1067
1069
  // Inline function 'kotlin.repeat' call
1068
1070
  var inductionVariable = 0;
@@ -1070,11 +1072,11 @@
1070
1072
  do {
1071
1073
  var index = inductionVariable;
1072
1074
  inductionVariable = inductionVariable + 1 | 0;
1073
- var tmp$ret$1 = Companion_instance.l94($this.ub6_1.da8());
1075
+ var tmp$ret$1 = Companion_instance.m95($this.wb7_1.fa9());
1074
1076
  list.e1(tmp$ret$1);
1075
1077
  }
1076
1078
  while (inductionVariable < size);
1077
- var tmp3_tag = $this.vb6_1.fa8(table.sceneInfo.a9e_1, table.gameInfo.round);
1079
+ var tmp3_tag = $this.xb7_1.ha9(table.sceneInfo.b9f_1, table.gameInfo.round);
1078
1080
  tmp_0 = new RequestedCardDecksFromClientAction(list, playerId, true, tmp3_tag);
1079
1081
  } else {
1080
1082
  noWhenBranchMatchedException();
@@ -1101,12 +1103,12 @@
1101
1103
  var playerIndex = tmp$ret$1;
1102
1104
  var partnerIndex = (playerIndex + 2 | 0) % table.players.g1() | 0;
1103
1105
  var partnerId = table.players.h1(partnerIndex).playerId;
1104
- var tmp0_tag = $this.vb6_1.ga8(table.gameInfo.round);
1106
+ var tmp0_tag = $this.xb7_1.ia9(table.gameInfo.round);
1105
1107
  return new PartnerSelectedFromClientAction(playerId, true, tmp0_tag, partnerId);
1106
1108
  }
1107
1109
  function handleCalcPoints($this, playerId, table) {
1108
- if ($this.wb6_1 === table.gameInfo.gameNumber) {
1109
- var tmp0 = table.sceneInfo.d9e_1;
1110
+ if ($this.yb7_1 === table.gameInfo.gameNumber) {
1111
+ var tmp0 = table.sceneInfo.e9f_1;
1110
1112
  var tmp$ret$0;
1111
1113
  $l$block: {
1112
1114
  // Inline function 'games.jass.logic.data.models.scenes.requireSceneData' call
@@ -1118,29 +1120,29 @@
1118
1120
  }
1119
1121
  var sceneData = tmp$ret$0;
1120
1122
  // Inline function 'kotlin.collections.orEmpty' call
1121
- var tmp0_elvis_lhs = sceneData.f8k_1;
1123
+ var tmp0_elvis_lhs = sceneData.g8l_1;
1122
1124
  // Inline function 'kotlin.collections.isNotEmpty' call
1123
1125
  if (!(tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs).r()) {
1124
1126
  return new ExitFromClientAction(playerId, true);
1125
1127
  }
1126
1128
  }
1127
- return new PlayerReadyFromClientAction(playerId, true, $this.vb6_1.ha8(table.gameInfo.round));
1129
+ return new PlayerReadyFromClientAction(playerId, true, $this.xb7_1.ja9(table.gameInfo.round));
1128
1130
  }
1129
1131
  function BotPolicyAnswerProvider(policies, dealerInteractor, tagProvider, exitAfterGameNumber) {
1130
1132
  exitAfterGameNumber = exitAfterGameNumber === VOID ? null : exitAfterGameNumber;
1131
- this.tb6_1 = policies;
1132
- this.ub6_1 = dealerInteractor;
1133
- this.vb6_1 = tagProvider;
1134
- this.wb6_1 = exitAfterGameNumber;
1133
+ this.vb7_1 = policies;
1134
+ this.wb7_1 = dealerInteractor;
1135
+ this.xb7_1 = tagProvider;
1136
+ this.yb7_1 = exitAfterGameNumber;
1135
1137
  }
1136
- protoOf(BotPolicyAnswerProvider).lap = function (playerId, table) {
1138
+ protoOf(BotPolicyAnswerProvider).naq = function (playerId, table) {
1137
1139
  var waitingAction = handleWaitingAct(this, playerId, table);
1138
1140
  if (!(waitingAction == null))
1139
1141
  return waitingAction;
1140
- if (get_isCalcPointScene(table.sceneInfo.a9e_1)) {
1142
+ if (get_isCalcPointScene(table.sceneInfo.b9f_1)) {
1141
1143
  return handleCalcPoints(this, playerId, table);
1142
1144
  }
1143
- if (get_isChoosePartnerScene(table.sceneInfo.a9e_1)) {
1145
+ if (get_isChoosePartnerScene(table.sceneInfo.b9f_1)) {
1144
1146
  return handleChoosePartner(this, playerId, table);
1145
1147
  }
1146
1148
  var tmp0 = table.players;
@@ -1160,28 +1162,28 @@
1160
1162
  tmp$ret$1 = -1;
1161
1163
  }
1162
1164
  var seatIndex = tmp$ret$1;
1163
- var policy = this.tb6_1[seatIndex % this.tb6_1.length | 0];
1165
+ var policy = this.vb7_1[seatIndex % this.vb7_1.length | 0];
1164
1166
  var state = mapToBotState(this, playerId, table);
1165
1167
  var legalActions = computeLegalActions(this, playerId, table);
1166
- var chosen = policy.xb6(state, legalActions);
1168
+ var chosen = policy.zb7(state, legalActions);
1167
1169
  return mapToClientAction(this, chosen, playerId, table);
1168
1170
  };
1169
1171
  function getOrCreatePolicy($this, playersMode, rulesSetType) {
1170
1172
  var cacheKey = rulesSetType.value + '_' + playersMode.z_1;
1171
1173
  // Inline function 'kotlin.collections.getOrPut' call
1172
- var this_0 = $this.cb7_1;
1174
+ var this_0 = $this.eb8_1;
1173
1175
  var value = this_0.v2(cacheKey);
1174
1176
  var tmp;
1175
1177
  if (value == null) {
1176
1178
  var tmp$ret$0;
1177
1179
  $l$block: {
1178
- var modelBytes = $this.yb6_1.pb6(playersMode, rulesSetType);
1180
+ var modelBytes = $this.ab8_1.rb7(playersMode, rulesSetType);
1179
1181
  if (modelBytes == null) {
1180
- $this.bb7_1.w('PimcBotAnswerProvider', 'No PIMC model for rulesSet=' + rulesSetType.value + ', ' + ('mode=' + playersMode.z_1 + '. Falling back to FirstLegalActionPolicy.'));
1181
- tmp$ret$0 = new FirstLegalActionPolicy();
1182
+ $this.db8_1.w('PimcBotAnswerProvider', 'No PIMC model for rulesSet=' + rulesSetType.value + ', ' + ('mode=' + playersMode.z_1 + '. Falling back to RandomPolicy.'));
1183
+ tmp$ret$0 = new RandomPolicy();
1182
1184
  break $l$block;
1183
1185
  }
1184
- $this.bb7_1.d('PimcBotAnswerProvider', 'PIMC model loaded for rulesSet=' + rulesSetType.value + ', mode=' + playersMode.z_1);
1186
+ $this.db8_1.d('PimcBotAnswerProvider', 'PIMC model loaded for rulesSet=' + rulesSetType.value + ', mode=' + playersMode.z_1);
1185
1187
  tmp$ret$0 = createPimcPolicy($this, modelBytes, playersMode);
1186
1188
  }
1187
1189
  var answer = tmp$ret$0;
@@ -1196,28 +1198,28 @@
1196
1198
  var inferenceEngine = new PureKotlinInferenceEngine();
1197
1199
  var encoder = new BeliefFeatureEncoder(playersMode);
1198
1200
  var beliefNetwork = new CardBeliefNetwork(inferenceEngine, encoder, playersMode);
1199
- beliefNetwork.db6(modelBytes);
1201
+ beliefNetwork.fb7(modelBytes);
1200
1202
  var rolloutPolicy = new RolloutPolicy();
1201
1203
  var pimcEngine = new PimcEngine(beliefNetwork, rolloutPolicy, new PimcConfig());
1202
1204
  return PimcBotPolicy_init_$Create$(pimcEngine);
1203
1205
  }
1204
1206
  function Companion_0() {
1205
- this.db7_1 = 'PimcBotAnswerProvider';
1207
+ this.fb8_1 = 'PimcBotAnswerProvider';
1206
1208
  }
1207
1209
  var Companion_instance_2;
1208
1210
  function Companion_getInstance_0() {
1209
1211
  return Companion_instance_2;
1210
1212
  }
1211
1213
  function PimcBotAnswerProvider(registry, dealerInteractor, tagProvider, logger) {
1212
- this.yb6_1 = registry;
1213
- this.zb6_1 = dealerInteractor;
1214
- this.ab7_1 = tagProvider;
1215
- this.bb7_1 = logger;
1214
+ this.ab8_1 = registry;
1215
+ this.bb8_1 = dealerInteractor;
1216
+ this.cb8_1 = tagProvider;
1217
+ this.db8_1 = logger;
1216
1218
  var tmp = this;
1217
1219
  // Inline function 'kotlin.collections.mutableMapOf' call
1218
- tmp.cb7_1 = LinkedHashMap_init_$Create$();
1220
+ tmp.eb8_1 = LinkedHashMap_init_$Create$();
1219
1221
  }
1220
- protoOf(PimcBotAnswerProvider).lap = function (playerId, table) {
1222
+ protoOf(PimcBotAnswerProvider).naq = function (playerId, table) {
1221
1223
  var playersMode = table.config.playersMode;
1222
1224
  var rulesSetType = table.config.rulesSetType;
1223
1225
  var policy = getOrCreatePolicy(this, playersMode, rulesSetType);
@@ -1230,8 +1232,8 @@
1230
1232
  tmp = tmp + 1 | 0;
1231
1233
  }
1232
1234
  var policies = tmp_0;
1233
- var provider = new BotPolicyAnswerProvider(policies, this.zb6_1, this.ab7_1);
1234
- return provider.lap(playerId, table);
1235
+ var provider = new BotPolicyAnswerProvider(policies, this.bb8_1, this.cb8_1);
1236
+ return provider.naq(playerId, table);
1235
1237
  };
1236
1238
  var Activation_RELU_instance;
1237
1239
  var Activation_NONE_instance;
@@ -1244,43 +1246,43 @@
1244
1246
  Activation_NONE_instance = new Activation('NONE', 1);
1245
1247
  }
1246
1248
  function forward($this, layer, input) {
1247
- var out = new Float32Array(layer.fb7_1);
1249
+ var out = new Float32Array(layer.hb8_1);
1248
1250
  var inductionVariable = 0;
1249
- var last = layer.fb7_1;
1251
+ var last = layer.hb8_1;
1250
1252
  if (inductionVariable < last)
1251
1253
  do {
1252
1254
  var j = inductionVariable;
1253
1255
  inductionVariable = inductionVariable + 1 | 0;
1254
- var sum = layer.hb7_1[j];
1256
+ var sum = layer.jb8_1[j];
1255
1257
  var inductionVariable_0 = 0;
1256
- var last_0 = layer.eb7_1;
1258
+ var last_0 = layer.gb8_1;
1257
1259
  if (inductionVariable_0 < last_0)
1258
1260
  do {
1259
1261
  var i = inductionVariable_0;
1260
1262
  inductionVariable_0 = inductionVariable_0 + 1 | 0;
1261
- sum = sum + input[i] * layer.gb7_1[imul(i, layer.fb7_1) + j | 0];
1263
+ sum = sum + input[i] * layer.ib8_1[imul(i, layer.hb8_1) + j | 0];
1262
1264
  }
1263
1265
  while (inductionVariable_0 < last_0);
1264
1266
  out[j] = sum;
1265
1267
  }
1266
1268
  while (inductionVariable < last);
1267
- var bn = layer.ib7_1;
1269
+ var bn = layer.kb8_1;
1268
1270
  if (!(bn == null)) {
1269
1271
  var inductionVariable_1 = 0;
1270
- var last_1 = layer.fb7_1;
1272
+ var last_1 = layer.hb8_1;
1271
1273
  if (inductionVariable_1 < last_1)
1272
1274
  do {
1273
1275
  var j_0 = inductionVariable_1;
1274
1276
  inductionVariable_1 = inductionVariable_1 + 1 | 0;
1275
- var normalized = (out[j_0] - bn.mb7_1[j_0]) / sqrt(bn.nb7_1[j_0] + 1.0E-5);
1276
- out[j_0] = bn.kb7_1[j_0] * normalized + bn.lb7_1[j_0];
1277
+ var normalized = (out[j_0] - bn.ob8_1[j_0]) / sqrt(bn.pb8_1[j_0] + 1.0E-5);
1278
+ out[j_0] = bn.mb8_1[j_0] * normalized + bn.nb8_1[j_0];
1277
1279
  }
1278
1280
  while (inductionVariable_1 < last_1);
1279
1281
  }
1280
- switch (layer.jb7_1.a1_1) {
1282
+ switch (layer.lb8_1.a1_1) {
1281
1283
  case 0:
1282
1284
  var inductionVariable_2 = 0;
1283
- var last_2 = layer.fb7_1;
1285
+ var last_2 = layer.hb8_1;
1284
1286
  if (inductionVariable_2 < last_2)
1285
1287
  do {
1286
1288
  var j_1 = inductionVariable_2;
@@ -1300,23 +1302,23 @@
1300
1302
  return out;
1301
1303
  }
1302
1304
  function Layer(inDim, outDim, weight, bias, batchNorm, activation) {
1303
- this.eb7_1 = inDim;
1304
- this.fb7_1 = outDim;
1305
- this.gb7_1 = weight;
1306
- this.hb7_1 = bias;
1307
- this.ib7_1 = batchNorm;
1308
- this.jb7_1 = activation;
1305
+ this.gb8_1 = inDim;
1306
+ this.hb8_1 = outDim;
1307
+ this.ib8_1 = weight;
1308
+ this.jb8_1 = bias;
1309
+ this.kb8_1 = batchNorm;
1310
+ this.lb8_1 = activation;
1309
1311
  }
1310
1312
  protoOf(Layer).toString = function () {
1311
- return 'Layer(inDim=' + this.eb7_1 + ', outDim=' + this.fb7_1 + ', weight=' + toString_0(this.gb7_1) + ', bias=' + toString_0(this.hb7_1) + ', batchNorm=' + toString(this.ib7_1) + ', activation=' + this.jb7_1.toString() + ')';
1313
+ return 'Layer(inDim=' + this.gb8_1 + ', outDim=' + this.hb8_1 + ', weight=' + toString_0(this.ib8_1) + ', bias=' + toString_0(this.jb8_1) + ', batchNorm=' + toString(this.kb8_1) + ', activation=' + this.lb8_1.toString() + ')';
1312
1314
  };
1313
1315
  protoOf(Layer).hashCode = function () {
1314
- var result = this.eb7_1;
1315
- result = imul(result, 31) + this.fb7_1 | 0;
1316
- result = imul(result, 31) + hashCode(this.gb7_1) | 0;
1317
- result = imul(result, 31) + hashCode(this.hb7_1) | 0;
1318
- result = imul(result, 31) + (this.ib7_1 == null ? 0 : this.ib7_1.hashCode()) | 0;
1319
- result = imul(result, 31) + this.jb7_1.hashCode() | 0;
1316
+ var result = this.gb8_1;
1317
+ result = imul(result, 31) + this.hb8_1 | 0;
1318
+ result = imul(result, 31) + hashCode(this.ib8_1) | 0;
1319
+ result = imul(result, 31) + hashCode(this.jb8_1) | 0;
1320
+ result = imul(result, 31) + (this.kb8_1 == null ? 0 : this.kb8_1.hashCode()) | 0;
1321
+ result = imul(result, 31) + this.lb8_1.hashCode() | 0;
1320
1322
  return result;
1321
1323
  };
1322
1324
  protoOf(Layer).equals = function (other) {
@@ -1324,34 +1326,34 @@
1324
1326
  return true;
1325
1327
  if (!(other instanceof Layer))
1326
1328
  return false;
1327
- if (!(this.eb7_1 === other.eb7_1))
1329
+ if (!(this.gb8_1 === other.gb8_1))
1328
1330
  return false;
1329
- if (!(this.fb7_1 === other.fb7_1))
1331
+ if (!(this.hb8_1 === other.hb8_1))
1330
1332
  return false;
1331
- if (!equals(this.gb7_1, other.gb7_1))
1333
+ if (!equals(this.ib8_1, other.ib8_1))
1332
1334
  return false;
1333
- if (!equals(this.hb7_1, other.hb7_1))
1335
+ if (!equals(this.jb8_1, other.jb8_1))
1334
1336
  return false;
1335
- if (!equals(this.ib7_1, other.ib7_1))
1337
+ if (!equals(this.kb8_1, other.kb8_1))
1336
1338
  return false;
1337
- if (!this.jb7_1.equals(other.jb7_1))
1339
+ if (!this.lb8_1.equals(other.lb8_1))
1338
1340
  return false;
1339
1341
  return true;
1340
1342
  };
1341
1343
  function BatchNormParams(gamma, beta, runningMean, runningVar) {
1342
- this.kb7_1 = gamma;
1343
- this.lb7_1 = beta;
1344
- this.mb7_1 = runningMean;
1345
- this.nb7_1 = runningVar;
1344
+ this.mb8_1 = gamma;
1345
+ this.nb8_1 = beta;
1346
+ this.ob8_1 = runningMean;
1347
+ this.pb8_1 = runningVar;
1346
1348
  }
1347
1349
  protoOf(BatchNormParams).toString = function () {
1348
- return 'BatchNormParams(gamma=' + toString_0(this.kb7_1) + ', beta=' + toString_0(this.lb7_1) + ', runningMean=' + toString_0(this.mb7_1) + ', runningVar=' + toString_0(this.nb7_1) + ')';
1350
+ return 'BatchNormParams(gamma=' + toString_0(this.mb8_1) + ', beta=' + toString_0(this.nb8_1) + ', runningMean=' + toString_0(this.ob8_1) + ', runningVar=' + toString_0(this.pb8_1) + ')';
1349
1351
  };
1350
1352
  protoOf(BatchNormParams).hashCode = function () {
1351
- var result = hashCode(this.kb7_1);
1352
- result = imul(result, 31) + hashCode(this.lb7_1) | 0;
1353
- result = imul(result, 31) + hashCode(this.mb7_1) | 0;
1354
- result = imul(result, 31) + hashCode(this.nb7_1) | 0;
1353
+ var result = hashCode(this.mb8_1);
1354
+ result = imul(result, 31) + hashCode(this.nb8_1) | 0;
1355
+ result = imul(result, 31) + hashCode(this.ob8_1) | 0;
1356
+ result = imul(result, 31) + hashCode(this.pb8_1) | 0;
1355
1357
  return result;
1356
1358
  };
1357
1359
  protoOf(BatchNormParams).equals = function (other) {
@@ -1359,13 +1361,13 @@
1359
1361
  return true;
1360
1362
  if (!(other instanceof BatchNormParams))
1361
1363
  return false;
1362
- if (!equals(this.kb7_1, other.kb7_1))
1364
+ if (!equals(this.mb8_1, other.mb8_1))
1363
1365
  return false;
1364
- if (!equals(this.lb7_1, other.lb7_1))
1366
+ if (!equals(this.nb8_1, other.nb8_1))
1365
1367
  return false;
1366
- if (!equals(this.mb7_1, other.mb7_1))
1368
+ if (!equals(this.ob8_1, other.ob8_1))
1367
1369
  return false;
1368
- if (!equals(this.nb7_1, other.nb7_1))
1370
+ if (!equals(this.pb8_1, other.pb8_1))
1369
1371
  return false;
1370
1372
  return true;
1371
1373
  };
@@ -1373,9 +1375,9 @@
1373
1375
  Enum.call(this, name, ordinal);
1374
1376
  }
1375
1377
  function Companion_1() {
1376
- this.gb6_1 = 1.0E-5;
1378
+ this.ib7_1 = 1.0E-5;
1377
1379
  }
1378
- protoOf(Companion_1).hb6 = function (logits) {
1380
+ protoOf(Companion_1).jb7 = function (logits) {
1379
1381
  var max_0 = max(logits);
1380
1382
  var tmp = 0;
1381
1383
  var tmp_0 = logits.length;
@@ -1415,16 +1417,16 @@
1415
1417
  return Activation_NONE_instance;
1416
1418
  }
1417
1419
  function PureKotlinInferenceEngine() {
1418
- this.ob7_1 = emptyList();
1420
+ this.qb8_1 = emptyList();
1419
1421
  }
1420
- protoOf(PureKotlinInferenceEngine).db6 = function (modelBytes) {
1422
+ protoOf(PureKotlinInferenceEngine).fb7 = function (modelBytes) {
1421
1423
  var buf = new ByteArrayReader(modelBytes);
1422
- var layerCount = buf.rb7();
1424
+ var layerCount = buf.tb8();
1423
1425
  var tmp = 0;
1424
1426
  var tmp_0 = layerCount + 1 | 0;
1425
1427
  var tmp_1 = new Int32Array(tmp_0);
1426
1428
  while (tmp < tmp_0) {
1427
- tmp_1[tmp] = buf.rb7();
1429
+ tmp_1[tmp] = buf.tb8();
1428
1430
  tmp = tmp + 1 | 0;
1429
1431
  }
1430
1432
  var sizes = tmp_1;
@@ -1438,11 +1440,11 @@
1438
1440
  var inDim = sizes[i];
1439
1441
  var outDim = sizes[i + 1 | 0];
1440
1442
  var isHidden = i < (layerCount - 1 | 0);
1441
- var weight = buf.sb7(imul(inDim, outDim));
1442
- var bias = buf.sb7(outDim);
1443
+ var weight = buf.ub8(imul(inDim, outDim));
1444
+ var bias = buf.ub8(outDim);
1443
1445
  var tmp_2;
1444
1446
  if (isHidden) {
1445
- tmp_2 = new BatchNormParams(buf.sb7(outDim), buf.sb7(outDim), buf.sb7(outDim), buf.sb7(outDim));
1447
+ tmp_2 = new BatchNormParams(buf.ub8(outDim), buf.ub8(outDim), buf.ub8(outDim), buf.ub8(outDim));
1446
1448
  } else {
1447
1449
  tmp_2 = null;
1448
1450
  }
@@ -1452,17 +1454,17 @@
1452
1454
  parsed.e1(element);
1453
1455
  }
1454
1456
  while (inductionVariable < layerCount);
1455
- this.ob7_1 = parsed;
1457
+ this.qb8_1 = parsed;
1456
1458
  };
1457
- protoOf(PureKotlinInferenceEngine).fb6 = function (input) {
1459
+ protoOf(PureKotlinInferenceEngine).hb7 = function (input) {
1458
1460
  // Inline function 'kotlin.collections.isNotEmpty' call
1459
1461
  // Inline function 'kotlin.check' call
1460
- if (!!this.ob7_1.r()) {
1462
+ if (!!this.qb8_1.r()) {
1461
1463
  var message = 'Model not loaded. Call loadModel() first.';
1462
1464
  throw IllegalStateException_init_$Create$(toString_0(message));
1463
1465
  }
1464
1466
  var x = input;
1465
- var _iterator__ex2g4s = this.ob7_1.t();
1467
+ var _iterator__ex2g4s = this.qb8_1.t();
1466
1468
  while (_iterator__ex2g4s.u()) {
1467
1469
  var layer = _iterator__ex2g4s.v();
1468
1470
  x = forward(this, layer, x);
@@ -1470,34 +1472,34 @@
1470
1472
  return x;
1471
1473
  };
1472
1474
  function ByteArrayReader(data) {
1473
- this.pb7_1 = data;
1474
- this.qb7_1 = 0;
1475
- }
1476
- protoOf(ByteArrayReader).rb7 = function () {
1477
- var _unary__edvuaz = this.qb7_1;
1478
- this.qb7_1 = _unary__edvuaz + 1 | 0;
1479
- var b0 = this.pb7_1[_unary__edvuaz] & 255;
1480
- var _unary__edvuaz_0 = this.qb7_1;
1481
- this.qb7_1 = _unary__edvuaz_0 + 1 | 0;
1482
- var b1 = this.pb7_1[_unary__edvuaz_0] & 255;
1483
- var _unary__edvuaz_1 = this.qb7_1;
1484
- this.qb7_1 = _unary__edvuaz_1 + 1 | 0;
1485
- var b2 = this.pb7_1[_unary__edvuaz_1] & 255;
1486
- var _unary__edvuaz_2 = this.qb7_1;
1487
- this.qb7_1 = _unary__edvuaz_2 + 1 | 0;
1488
- var b3 = this.pb7_1[_unary__edvuaz_2] & 255;
1475
+ this.rb8_1 = data;
1476
+ this.sb8_1 = 0;
1477
+ }
1478
+ protoOf(ByteArrayReader).tb8 = function () {
1479
+ var _unary__edvuaz = this.sb8_1;
1480
+ this.sb8_1 = _unary__edvuaz + 1 | 0;
1481
+ var b0 = this.rb8_1[_unary__edvuaz] & 255;
1482
+ var _unary__edvuaz_0 = this.sb8_1;
1483
+ this.sb8_1 = _unary__edvuaz_0 + 1 | 0;
1484
+ var b1 = this.rb8_1[_unary__edvuaz_0] & 255;
1485
+ var _unary__edvuaz_1 = this.sb8_1;
1486
+ this.sb8_1 = _unary__edvuaz_1 + 1 | 0;
1487
+ var b2 = this.rb8_1[_unary__edvuaz_1] & 255;
1488
+ var _unary__edvuaz_2 = this.sb8_1;
1489
+ this.sb8_1 = _unary__edvuaz_2 + 1 | 0;
1490
+ var b3 = this.rb8_1[_unary__edvuaz_2] & 255;
1489
1491
  return b0 | b1 << 8 | b2 << 16 | b3 << 24;
1490
1492
  };
1491
- protoOf(ByteArrayReader).tb7 = function () {
1493
+ protoOf(ByteArrayReader).vb8 = function () {
1492
1494
  // Inline function 'kotlin.fromBits' call
1493
- var bits = this.rb7();
1495
+ var bits = this.tb8();
1494
1496
  return floatFromBits(bits);
1495
1497
  };
1496
- protoOf(ByteArrayReader).sb7 = function (size) {
1498
+ protoOf(ByteArrayReader).ub8 = function (size) {
1497
1499
  var tmp = 0;
1498
1500
  var tmp_0 = new Float32Array(size);
1499
1501
  while (tmp < size) {
1500
- tmp_0[tmp] = this.tb7();
1502
+ tmp_0[tmp] = this.vb8();
1501
1503
  tmp = tmp + 1 | 0;
1502
1504
  }
1503
1505
  return tmp_0;
@@ -1507,15 +1509,15 @@
1507
1509
  return Math.sqrt(x);
1508
1510
  }
1509
1511
  function finishTrick($this, state) {
1510
- var playersInOrder = Companion_instance_4.fb8(state.ub7_1, state.db8_1);
1512
+ var playersInOrder = Companion_instance_4.hb9(state.wb8_1, state.fb9_1);
1511
1513
  // Inline function 'kotlin.collections.map' call
1512
- var this_0 = state.xb7_1;
1514
+ var this_0 = state.zb8_1;
1513
1515
  // Inline function 'kotlin.collections.mapTo' call
1514
1516
  var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
1515
1517
  var _iterator__ex2g4s = this_0.t();
1516
1518
  while (_iterator__ex2g4s.u()) {
1517
1519
  var item = _iterator__ex2g4s.v();
1518
- var tmp$ret$0 = item.gb8_1;
1520
+ var tmp$ret$0 = item.ib9_1;
1519
1521
  destination.e1(tmp$ret$0);
1520
1522
  }
1521
1523
  var alreadyPlayed = toSet(destination);
@@ -1529,8 +1531,8 @@
1529
1531
  resolveTrickAndAdvance($this, state);
1530
1532
  }
1531
1533
  function playFullTrick($this, state) {
1532
- state.xb7_1.b3();
1533
- var playersInOrder = Companion_instance_4.fb8(state.ub7_1, state.db8_1);
1534
+ state.zb8_1.b3();
1535
+ var playersInOrder = Companion_instance_4.hb9(state.wb8_1, state.fb9_1);
1534
1536
  var _iterator__ex2g4s = playersInOrder.t();
1535
1537
  while (_iterator__ex2g4s.u()) {
1536
1538
  var pid = _iterator__ex2g4s.v();
@@ -1539,7 +1541,7 @@
1539
1541
  resolveTrickAndAdvance($this, state);
1540
1542
  }
1541
1543
  function playCard($this, state, playerId) {
1542
- var tmp0_elvis_lhs = state.vb7_1.v2(playerId);
1544
+ var tmp0_elvis_lhs = state.xb8_1.v2(playerId);
1543
1545
  var tmp;
1544
1546
  if (tmp0_elvis_lhs == null) {
1545
1547
  return Unit_instance;
@@ -1549,40 +1551,40 @@
1549
1551
  var hand = tmp;
1550
1552
  if (hand.r())
1551
1553
  return Unit_instance;
1552
- var partnerPid = Companion_instance_4.ib8(playerId, state.ub7_1, state.ab8_1);
1554
+ var partnerPid = Companion_instance_4.kb9(playerId, state.wb8_1, state.cb9_1);
1553
1555
  var partnerWinning = isPartnerWinning($this, state, partnerPid);
1554
- var legalCards = TrickSimulator_instance.jb8(hand, state.xb7_1, state.wb7_1, state.bb8_1, state.ab8_1, playerId, partnerPid);
1555
- var card = $this.kb8_1.lb8(hand, legalCards, state.xb7_1, state.wb7_1, partnerPid, partnerWinning);
1556
+ var legalCards = TrickSimulator_instance.lb9(hand, state.zb8_1, state.yb8_1, state.db9_1, state.cb9_1, playerId, partnerPid);
1557
+ var card = $this.mb9_1.nb9(hand, legalCards, state.zb8_1, state.yb8_1, partnerPid, partnerWinning);
1556
1558
  hand.y2(card);
1557
- state.xb7_1.e1(new SimCard(playerId, card));
1559
+ state.zb8_1.e1(new SimCard(playerId, card));
1558
1560
  }
1559
1561
  function resolveTrickAndAdvance($this, state) {
1560
- var result = TrickSimulator_instance.mb8(state.xb7_1, state.wb7_1);
1561
- var tmp0 = state.zb7_1;
1562
- var tmp2 = result.nb8_1;
1563
- var tmp0_elvis_lhs = state.zb7_1.v2(result.nb8_1);
1562
+ var result = TrickSimulator_instance.ob9(state.zb8_1, state.yb8_1);
1563
+ var tmp0 = state.bb9_1;
1564
+ var tmp2 = result.pb9_1;
1565
+ var tmp0_elvis_lhs = state.bb9_1.v2(result.pb9_1);
1564
1566
  // Inline function 'kotlin.collections.set' call
1565
- var value = (tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs) + result.ob8_1 | 0;
1567
+ var value = (tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs) + result.qb9_1 | 0;
1566
1568
  tmp0.g3(tmp2, value);
1567
- state.db8_1 = result.nb8_1;
1568
- state.yb7_1 = state.yb7_1 + 1 | 0;
1569
- state.xb7_1.b3();
1569
+ state.fb9_1 = result.pb9_1;
1570
+ state.ab9_1 = state.ab9_1 + 1 | 0;
1571
+ state.zb8_1.b3();
1570
1572
  }
1571
1573
  function computeResult($this, state) {
1572
- var focalIndex = state.ub7_1.o2(state.cb8_1);
1573
- var n = state.ub7_1.g1();
1574
+ var focalIndex = state.wb8_1.o2(state.eb9_1);
1575
+ var n = state.wb8_1.g1();
1574
1576
  var tmp;
1575
- if (state.ab8_1.isTeamGame && n === 4) {
1577
+ if (state.cb9_1.isTeamGame && n === 4) {
1576
1578
  var partnerIndex = (focalIndex + 2 | 0) % n | 0;
1577
- tmp = setOf_0([state.ub7_1.h1(focalIndex), state.ub7_1.h1(partnerIndex)]);
1579
+ tmp = setOf_0([state.wb8_1.h1(focalIndex), state.wb8_1.h1(partnerIndex)]);
1578
1580
  } else {
1579
- tmp = setOf(state.cb8_1);
1581
+ tmp = setOf(state.eb9_1);
1580
1582
  }
1581
1583
  var focalTeam = tmp;
1582
1584
  var focalPts = 0;
1583
1585
  var oppPts = 0;
1584
1586
  // Inline function 'kotlin.collections.iterator' call
1585
- var _iterator__ex2g4s = state.zb7_1.m1().t();
1587
+ var _iterator__ex2g4s = state.bb9_1.m1().t();
1586
1588
  while (_iterator__ex2g4s.u()) {
1587
1589
  var _destruct__k2r9zo = _iterator__ex2g4s.v();
1588
1590
  // Inline function 'kotlin.collections.component1' call
@@ -1597,10 +1599,10 @@
1597
1599
  return new RolloutResult(focalPts, oppPts);
1598
1600
  }
1599
1601
  function isPartnerWinning($this, state, partnerPid) {
1600
- if (partnerPid == null || state.xb7_1.r())
1602
+ if (partnerPid == null || state.zb8_1.r())
1601
1603
  return false;
1602
- var firstSuit = first(state.xb7_1).hb8_1.u6k();
1603
- var tmp0 = state.xb7_1;
1604
+ var firstSuit = first(state.zb8_1).jb9_1.w6l();
1605
+ var tmp0 = state.zb8_1;
1604
1606
  var tmp$ret$0;
1605
1607
  $l$block_0: {
1606
1608
  // Inline function 'kotlin.collections.maxByOrNull' call
@@ -1615,10 +1617,10 @@
1615
1617
  break $l$block_0;
1616
1618
  }
1617
1619
  var it = maxElem;
1618
- var maxValue = getGrowth(it.hb8_1, state.wb7_1, firstSuit);
1620
+ var maxValue = getGrowth(it.jb9_1, state.yb8_1, firstSuit);
1619
1621
  do {
1620
1622
  var e = iterator.v();
1621
- var v = getGrowth(e.hb8_1, state.wb7_1, firstSuit);
1623
+ var v = getGrowth(e.jb9_1, state.yb8_1, firstSuit);
1622
1624
  if (compareTo(maxValue, v) < 0) {
1623
1625
  maxElem = e;
1624
1626
  maxValue = v;
@@ -1628,12 +1630,12 @@
1628
1630
  tmp$ret$0 = maxElem;
1629
1631
  }
1630
1632
  var winner = tmp$ret$0;
1631
- return (winner == null ? null : winner.gb8_1) == partnerPid;
1633
+ return (winner == null ? null : winner.ib9_1) == partnerPid;
1632
1634
  }
1633
1635
  function Companion_2() {
1634
- this.eb8_1 = 10;
1636
+ this.gb9_1 = 10;
1635
1637
  }
1636
- protoOf(Companion_2).fb8 = function (playerOrder, leadId) {
1638
+ protoOf(Companion_2).hb9 = function (playerOrder, leadId) {
1637
1639
  var startIdx = coerceAtLeast_0(playerOrder.o2(leadId), 0);
1638
1640
  // Inline function 'kotlin.collections.List' call
1639
1641
  // Inline function 'kotlin.collections.MutableList' call
@@ -1651,7 +1653,7 @@
1651
1653
  while (inductionVariable < size);
1652
1654
  return list;
1653
1655
  };
1654
- protoOf(Companion_2).ib8 = function (playerId, playerOrder, playersMode) {
1656
+ protoOf(Companion_2).kb9 = function (playerId, playerOrder, playersMode) {
1655
1657
  if (!playersMode.isTeamGame || !(playerOrder.g1() === 4))
1656
1658
  return null;
1657
1659
  var idx = playerOrder.o2(playerId);
@@ -1664,11 +1666,11 @@
1664
1666
  return Companion_instance_4;
1665
1667
  }
1666
1668
  function DeterministicRollout(rolloutPolicy) {
1667
- this.kb8_1 = rolloutPolicy;
1669
+ this.mb9_1 = rolloutPolicy;
1668
1670
  }
1669
- protoOf(DeterministicRollout).pb8 = function (initialState) {
1671
+ protoOf(DeterministicRollout).rb9 = function (initialState) {
1670
1672
  var state = initialState;
1671
- var tmp0 = state.vb7_1.x2();
1673
+ var tmp0 = state.xb8_1.x2();
1672
1674
  var tmp$ret$0;
1673
1675
  $l$block: {
1674
1676
  // Inline function 'kotlin.collections.maxOfOrNull' call
@@ -1688,21 +1690,21 @@
1688
1690
  }
1689
1691
  var tmp0_elvis_lhs = tmp$ret$0;
1690
1692
  var maxTricks = tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs;
1691
- var tmp = state.yb7_1 + maxTricks | 0;
1693
+ var tmp = state.ab9_1 + maxTricks | 0;
1692
1694
  var tmp_0;
1693
1695
  // Inline function 'kotlin.collections.isNotEmpty' call
1694
- if (!state.xb7_1.r()) {
1696
+ if (!state.zb8_1.r()) {
1695
1697
  tmp_0 = 1;
1696
1698
  } else {
1697
1699
  tmp_0 = 0;
1698
1700
  }
1699
1701
  var totalTricks = tmp + tmp_0 | 0;
1700
1702
  // Inline function 'kotlin.collections.isNotEmpty' call
1701
- if (!state.xb7_1.r()) {
1703
+ if (!state.zb8_1.r()) {
1702
1704
  finishTrick(this, state);
1703
1705
  }
1704
1706
  $l$loop: while (true) {
1705
- var tmp0_0 = state.vb7_1.x2();
1707
+ var tmp0_0 = state.xb8_1.x2();
1706
1708
  var tmp$ret$5;
1707
1709
  $l$block_1: {
1708
1710
  // Inline function 'kotlin.collections.any' call
@@ -1732,40 +1734,40 @@
1732
1734
  }
1733
1735
  playFullTrick(this, state);
1734
1736
  }
1735
- var lastTrickWinner = state.db8_1;
1736
- var tmp0_1 = state.zb7_1;
1737
- var tmp1_elvis_lhs = state.zb7_1.v2(lastTrickWinner);
1737
+ var lastTrickWinner = state.fb9_1;
1738
+ var tmp0_1 = state.bb9_1;
1739
+ var tmp1_elvis_lhs = state.bb9_1.v2(lastTrickWinner);
1738
1740
  // Inline function 'kotlin.collections.set' call
1739
1741
  var value = (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) + 10 | 0;
1740
1742
  tmp0_1.g3(lastTrickWinner, value);
1741
1743
  return computeResult(this, state);
1742
1744
  };
1743
1745
  function RolloutState(playerOrder, hands, trump, currentTrick, trickNumber, points, playersMode, rules, focalPlayerId, leadPlayerId) {
1744
- this.ub7_1 = playerOrder;
1745
- this.vb7_1 = hands;
1746
- this.wb7_1 = trump;
1747
- this.xb7_1 = currentTrick;
1748
- this.yb7_1 = trickNumber;
1749
- this.zb7_1 = points;
1750
- this.ab8_1 = playersMode;
1751
- this.bb8_1 = rules;
1752
- this.cb8_1 = focalPlayerId;
1753
- this.db8_1 = leadPlayerId;
1746
+ this.wb8_1 = playerOrder;
1747
+ this.xb8_1 = hands;
1748
+ this.yb8_1 = trump;
1749
+ this.zb8_1 = currentTrick;
1750
+ this.ab9_1 = trickNumber;
1751
+ this.bb9_1 = points;
1752
+ this.cb9_1 = playersMode;
1753
+ this.db9_1 = rules;
1754
+ this.eb9_1 = focalPlayerId;
1755
+ this.fb9_1 = leadPlayerId;
1754
1756
  }
1755
1757
  protoOf(RolloutState).toString = function () {
1756
- return 'RolloutState(playerOrder=' + toString_0(this.ub7_1) + ', hands=' + toString_0(this.vb7_1) + ', trump=' + this.wb7_1.toString() + ', currentTrick=' + toString_0(this.xb7_1) + ', trickNumber=' + this.yb7_1 + ', points=' + toString_0(this.zb7_1) + ', playersMode=' + this.ab8_1.toString() + ', rules=' + this.bb8_1.toString() + ', focalPlayerId=' + this.cb8_1 + ', leadPlayerId=' + this.db8_1 + ')';
1758
+ return 'RolloutState(playerOrder=' + toString_0(this.wb8_1) + ', hands=' + toString_0(this.xb8_1) + ', trump=' + this.yb8_1.toString() + ', currentTrick=' + toString_0(this.zb8_1) + ', trickNumber=' + this.ab9_1 + ', points=' + toString_0(this.bb9_1) + ', playersMode=' + this.cb9_1.toString() + ', rules=' + this.db9_1.toString() + ', focalPlayerId=' + this.eb9_1 + ', leadPlayerId=' + this.fb9_1 + ')';
1757
1759
  };
1758
1760
  protoOf(RolloutState).hashCode = function () {
1759
- var result = hashCode(this.ub7_1);
1760
- result = imul(result, 31) + hashCode(this.vb7_1) | 0;
1761
- result = imul(result, 31) + this.wb7_1.hashCode() | 0;
1762
- result = imul(result, 31) + hashCode(this.xb7_1) | 0;
1763
- result = imul(result, 31) + this.yb7_1 | 0;
1764
- result = imul(result, 31) + hashCode(this.zb7_1) | 0;
1765
- result = imul(result, 31) + this.ab8_1.hashCode() | 0;
1766
- result = imul(result, 31) + this.bb8_1.hashCode() | 0;
1767
- result = imul(result, 31) + getStringHashCode(this.cb8_1) | 0;
1768
- result = imul(result, 31) + getStringHashCode(this.db8_1) | 0;
1761
+ var result = hashCode(this.wb8_1);
1762
+ result = imul(result, 31) + hashCode(this.xb8_1) | 0;
1763
+ result = imul(result, 31) + this.yb8_1.hashCode() | 0;
1764
+ result = imul(result, 31) + hashCode(this.zb8_1) | 0;
1765
+ result = imul(result, 31) + this.ab9_1 | 0;
1766
+ result = imul(result, 31) + hashCode(this.bb9_1) | 0;
1767
+ result = imul(result, 31) + this.cb9_1.hashCode() | 0;
1768
+ result = imul(result, 31) + this.db9_1.hashCode() | 0;
1769
+ result = imul(result, 31) + getStringHashCode(this.eb9_1) | 0;
1770
+ result = imul(result, 31) + getStringHashCode(this.fb9_1) | 0;
1769
1771
  return result;
1770
1772
  };
1771
1773
  protoOf(RolloutState).equals = function (other) {
@@ -1773,38 +1775,38 @@
1773
1775
  return true;
1774
1776
  if (!(other instanceof RolloutState))
1775
1777
  return false;
1776
- if (!equals(this.ub7_1, other.ub7_1))
1778
+ if (!equals(this.wb8_1, other.wb8_1))
1777
1779
  return false;
1778
- if (!equals(this.vb7_1, other.vb7_1))
1780
+ if (!equals(this.xb8_1, other.xb8_1))
1779
1781
  return false;
1780
- if (!this.wb7_1.equals(other.wb7_1))
1782
+ if (!this.yb8_1.equals(other.yb8_1))
1781
1783
  return false;
1782
- if (!equals(this.xb7_1, other.xb7_1))
1784
+ if (!equals(this.zb8_1, other.zb8_1))
1783
1785
  return false;
1784
- if (!(this.yb7_1 === other.yb7_1))
1786
+ if (!(this.ab9_1 === other.ab9_1))
1785
1787
  return false;
1786
- if (!equals(this.zb7_1, other.zb7_1))
1788
+ if (!equals(this.bb9_1, other.bb9_1))
1787
1789
  return false;
1788
- if (!this.ab8_1.equals(other.ab8_1))
1790
+ if (!this.cb9_1.equals(other.cb9_1))
1789
1791
  return false;
1790
- if (!this.bb8_1.equals(other.bb8_1))
1792
+ if (!this.db9_1.equals(other.db9_1))
1791
1793
  return false;
1792
- if (!(this.cb8_1 === other.cb8_1))
1794
+ if (!(this.eb9_1 === other.eb9_1))
1793
1795
  return false;
1794
- if (!(this.db8_1 === other.db8_1))
1796
+ if (!(this.fb9_1 === other.fb9_1))
1795
1797
  return false;
1796
1798
  return true;
1797
1799
  };
1798
1800
  function RolloutResult(focalTeamPoints, opponentTeamPoints) {
1799
- this.qb8_1 = focalTeamPoints;
1800
- this.rb8_1 = opponentTeamPoints;
1801
+ this.sb9_1 = focalTeamPoints;
1802
+ this.tb9_1 = opponentTeamPoints;
1801
1803
  }
1802
1804
  protoOf(RolloutResult).toString = function () {
1803
- return 'RolloutResult(focalTeamPoints=' + this.qb8_1 + ', opponentTeamPoints=' + this.rb8_1 + ')';
1805
+ return 'RolloutResult(focalTeamPoints=' + this.sb9_1 + ', opponentTeamPoints=' + this.tb9_1 + ')';
1804
1806
  };
1805
1807
  protoOf(RolloutResult).hashCode = function () {
1806
- var result = this.qb8_1;
1807
- result = imul(result, 31) + this.rb8_1 | 0;
1808
+ var result = this.sb9_1;
1809
+ result = imul(result, 31) + this.tb9_1 | 0;
1808
1810
  return result;
1809
1811
  };
1810
1812
  protoOf(RolloutResult).equals = function (other) {
@@ -1812,22 +1814,22 @@
1812
1814
  return true;
1813
1815
  if (!(other instanceof RolloutResult))
1814
1816
  return false;
1815
- if (!(this.qb8_1 === other.qb8_1))
1817
+ if (!(this.sb9_1 === other.sb9_1))
1816
1818
  return false;
1817
- if (!(this.rb8_1 === other.rb8_1))
1819
+ if (!(this.tb9_1 === other.tb9_1))
1818
1820
  return false;
1819
1821
  return true;
1820
1822
  };
1821
1823
  function WorldMoveScore(action, normalizedScore) {
1822
- this.sb8_1 = action;
1823
- this.tb8_1 = normalizedScore;
1824
+ this.ub9_1 = action;
1825
+ this.vb9_1 = normalizedScore;
1824
1826
  }
1825
1827
  protoOf(WorldMoveScore).toString = function () {
1826
- return 'WorldMoveScore(action=' + toString_0(this.sb8_1) + ', normalizedScore=' + this.tb8_1 + ')';
1828
+ return 'WorldMoveScore(action=' + toString_0(this.ub9_1) + ', normalizedScore=' + this.vb9_1 + ')';
1827
1829
  };
1828
1830
  protoOf(WorldMoveScore).hashCode = function () {
1829
- var result = hashCode(this.sb8_1);
1830
- result = imul(result, 31) + getNumberHashCode(this.tb8_1) | 0;
1831
+ var result = hashCode(this.ub9_1);
1832
+ result = imul(result, 31) + getNumberHashCode(this.vb9_1) | 0;
1831
1833
  return result;
1832
1834
  };
1833
1835
  protoOf(WorldMoveScore).equals = function (other) {
@@ -1835,15 +1837,15 @@
1835
1837
  return true;
1836
1838
  if (!(other instanceof WorldMoveScore))
1837
1839
  return false;
1838
- if (!equals(this.sb8_1, other.sb8_1))
1840
+ if (!equals(this.ub9_1, other.ub9_1))
1839
1841
  return false;
1840
- if (!equals(this.tb8_1, other.tb8_1))
1842
+ if (!equals(this.vb9_1, other.vb9_1))
1841
1843
  return false;
1842
1844
  return true;
1843
1845
  };
1844
1846
  function MoveScoreAggregator() {
1845
1847
  }
1846
- protoOf(MoveScoreAggregator).ub8 = function (worldScores, config) {
1848
+ protoOf(MoveScoreAggregator).wb9 = function (worldScores, config) {
1847
1849
  if (worldScores.r())
1848
1850
  return emptyMap();
1849
1851
  // Inline function 'kotlin.collections.flatMap' call
@@ -1858,7 +1860,7 @@
1858
1860
  var _iterator__ex2g4s_0 = element.t();
1859
1861
  while (_iterator__ex2g4s_0.u()) {
1860
1862
  var item = _iterator__ex2g4s_0.v();
1861
- var tmp$ret$0 = item.sb8_1;
1863
+ var tmp$ret$0 = item.ub9_1;
1862
1864
  destination_0.e1(tmp$ret$0);
1863
1865
  }
1864
1866
  var list = destination_0;
@@ -1885,7 +1887,7 @@
1885
1887
  var _iterator__ex2g4s_3 = item_0.t();
1886
1888
  while (_iterator__ex2g4s_3.u()) {
1887
1889
  var element_1 = _iterator__ex2g4s_3.v();
1888
- if (equals(element_1.sb8_1, element_0)) {
1890
+ if (equals(element_1.ub9_1, element_0)) {
1889
1891
  tmp$ret$7 = element_1;
1890
1892
  break $l$block;
1891
1893
  }
@@ -1893,7 +1895,7 @@
1893
1895
  tmp$ret$7 = null;
1894
1896
  }
1895
1897
  var tmp0_safe_receiver = tmp$ret$7;
1896
- var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.tb8_1;
1898
+ var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.vb9_1;
1897
1899
  var tmp$ret$8 = tmp1_elvis_lhs == null ? 0.0 : tmp1_elvis_lhs;
1898
1900
  destination_1.e1(tmp$ret$8);
1899
1901
  }
@@ -1914,7 +1916,7 @@
1914
1916
  destination_2.g3(tmp, tmp$ret$16);
1915
1917
  }
1916
1918
  var avgScores = destination_2;
1917
- if (!config.xb8_1) {
1919
+ if (!config.zb9_1) {
1918
1920
  return avgScores;
1919
1921
  }
1920
1922
  // Inline function 'kotlin.collections.associateWith' call
@@ -1969,7 +1971,7 @@
1969
1971
  var tmp0_elvis_lhs = avgScores.v2(element_4);
1970
1972
  var tmp_0 = tmp0_elvis_lhs == null ? 0.0 : tmp0_elvis_lhs;
1971
1973
  var tmp1_elvis_lhs_3 = maxRegrets.v2(element_4);
1972
- var tmp$ret$27 = tmp_0 - config.yb8_1 * (tmp1_elvis_lhs_3 == null ? 0.0 : tmp1_elvis_lhs_3);
1974
+ var tmp$ret$27 = tmp_0 - config.aba_1 * (tmp1_elvis_lhs_3 == null ? 0.0 : tmp1_elvis_lhs_3);
1973
1975
  result_1.g3(element_4, tmp$ret$27);
1974
1976
  }
1975
1977
  return result_1;
@@ -1983,19 +1985,19 @@
1983
1985
  exactSolveThreshold = exactSolveThreshold === VOID ? 3 : exactSolveThreshold;
1984
1986
  enableStrategyFusionMitigation = enableStrategyFusionMitigation === VOID ? true : enableStrategyFusionMitigation;
1985
1987
  variancePenalty = variancePenalty === VOID ? 0.3 : variancePenalty;
1986
- this.vb8_1 = worldCount;
1987
- this.wb8_1 = exactSolveThreshold;
1988
- this.xb8_1 = enableStrategyFusionMitigation;
1989
- this.yb8_1 = variancePenalty;
1988
+ this.xb9_1 = worldCount;
1989
+ this.yb9_1 = exactSolveThreshold;
1990
+ this.zb9_1 = enableStrategyFusionMitigation;
1991
+ this.aba_1 = variancePenalty;
1990
1992
  }
1991
1993
  protoOf(PimcConfig).toString = function () {
1992
- return 'PimcConfig(worldCount=' + this.vb8_1 + ', exactSolveThreshold=' + this.wb8_1 + ', enableStrategyFusionMitigation=' + this.xb8_1 + ', variancePenalty=' + this.yb8_1 + ')';
1994
+ return 'PimcConfig(worldCount=' + this.xb9_1 + ', exactSolveThreshold=' + this.yb9_1 + ', enableStrategyFusionMitigation=' + this.zb9_1 + ', variancePenalty=' + this.aba_1 + ')';
1993
1995
  };
1994
1996
  protoOf(PimcConfig).hashCode = function () {
1995
- var result = this.vb8_1;
1996
- result = imul(result, 31) + this.wb8_1 | 0;
1997
- result = imul(result, 31) + getBooleanHashCode(this.xb8_1) | 0;
1998
- result = imul(result, 31) + getNumberHashCode(this.yb8_1) | 0;
1997
+ var result = this.xb9_1;
1998
+ result = imul(result, 31) + this.yb9_1 | 0;
1999
+ result = imul(result, 31) + getBooleanHashCode(this.zb9_1) | 0;
2000
+ result = imul(result, 31) + getNumberHashCode(this.aba_1) | 0;
1999
2001
  return result;
2000
2002
  };
2001
2003
  protoOf(PimcConfig).equals = function (other) {
@@ -2003,13 +2005,13 @@
2003
2005
  return true;
2004
2006
  if (!(other instanceof PimcConfig))
2005
2007
  return false;
2006
- if (!(this.vb8_1 === other.vb8_1))
2008
+ if (!(this.xb9_1 === other.xb9_1))
2007
2009
  return false;
2008
- if (!(this.wb8_1 === other.wb8_1))
2010
+ if (!(this.yb9_1 === other.yb9_1))
2009
2011
  return false;
2010
- if (!(this.xb8_1 === other.xb8_1))
2012
+ if (!(this.zb9_1 === other.zb9_1))
2011
2013
  return false;
2012
- if (!equals(this.yb8_1, other.yb8_1))
2014
+ if (!equals(this.aba_1, other.aba_1))
2013
2015
  return false;
2014
2016
  return true;
2015
2017
  };
@@ -2017,7 +2019,7 @@
2017
2019
  // Inline function 'kotlin.collections.mutableMapOf' call
2018
2020
  var hands = LinkedHashMap_init_$Create$();
2019
2021
  // Inline function 'kotlin.collections.iterator' call
2020
- var _iterator__ex2g4s = world.zb8_1.m1().t();
2022
+ var _iterator__ex2g4s = world.bba_1.m1().t();
2021
2023
  while (_iterator__ex2g4s.u()) {
2022
2024
  var _destruct__k2r9zo = _iterator__ex2g4s.v();
2023
2025
  // Inline function 'kotlin.collections.component1' call
@@ -2028,60 +2030,60 @@
2028
2030
  var value = toMutableList(cards);
2029
2031
  hands.g3(pid, value);
2030
2032
  }
2031
- var focalHand = toMutableList(state.qb4_1);
2032
- focalHand.y2(action.kb4_1);
2033
+ var focalHand = toMutableList(state.sb5_1);
2034
+ focalHand.y2(action.mb5_1);
2033
2035
  // Inline function 'kotlin.collections.set' call
2034
- var key = state.ob4_1;
2036
+ var key = state.qb5_1;
2035
2037
  hands.g3(key, focalHand);
2036
2038
  // Inline function 'kotlin.collections.map' call
2037
- var this_0 = state.sb4_1;
2039
+ var this_0 = state.ub5_1;
2038
2040
  // Inline function 'kotlin.collections.mapTo' call
2039
2041
  var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
2040
2042
  var _iterator__ex2g4s_0 = this_0.t();
2041
2043
  while (_iterator__ex2g4s_0.u()) {
2042
2044
  var item = _iterator__ex2g4s_0.v();
2043
- var tmp$ret$6 = new SimCard(item.g8i_1, item.i8i_1);
2045
+ var tmp$ret$6 = new SimCard(item.h8j_1, item.j8j_1);
2044
2046
  destination.e1(tmp$ret$6);
2045
2047
  }
2046
2048
  var currentTrick = toMutableList(destination);
2047
- currentTrick.e1(new SimCard(state.ob4_1, action.kb4_1));
2049
+ currentTrick.e1(new SimCard(state.qb5_1, action.mb5_1));
2048
2050
  // Inline function 'kotlin.collections.mutableMapOf' call
2049
2051
  var points = LinkedHashMap_init_$Create$();
2050
- var tmp2 = state.ob4_1;
2052
+ var tmp2 = state.qb5_1;
2051
2053
  // Inline function 'kotlin.collections.set' call
2052
- var value_0 = state.zb4_1;
2054
+ var value_0 = state.bb6_1;
2053
2055
  points.g3(tmp2, value_0);
2054
- var focalIndex = state.pb4_1.o2(state.ob4_1);
2055
- if (state.pb4_1.g1() > 1) {
2056
- var oppId = state.pb4_1.h1((focalIndex + 1 | 0) % state.pb4_1.g1() | 0);
2056
+ var focalIndex = state.rb5_1.o2(state.qb5_1);
2057
+ if (state.rb5_1.g1() > 1) {
2058
+ var oppId = state.rb5_1.h1((focalIndex + 1 | 0) % state.rb5_1.g1() | 0);
2057
2059
  // Inline function 'kotlin.collections.set' call
2058
- var value_1 = state.ab5_1;
2060
+ var value_1 = state.cb6_1;
2059
2061
  points.g3(oppId, value_1);
2060
2062
  }
2061
2063
  var tmp;
2062
2064
  // Inline function 'kotlin.collections.isNotEmpty' call
2063
- if (!state.sb4_1.r()) {
2064
- tmp = first(state.sb4_1).g8i_1;
2065
+ if (!state.ub5_1.r()) {
2066
+ tmp = first(state.ub5_1).h8j_1;
2065
2067
  } else {
2066
- tmp = state.ob4_1;
2068
+ tmp = state.qb5_1;
2067
2069
  }
2068
2070
  var leadPid = tmp;
2069
- var rolloutState = new RolloutState(state.pb4_1, hands, trump, currentTrick, state.bb5_1, points, state.gb5_1, state.fb5_1, state.ob4_1, leadPid);
2070
- var result = $this.fb9_1.pb8(rolloutState);
2071
- var total = coerceAtLeast(result.qb8_1 + result.rb8_1 | 0, 1.0);
2072
- return result.qb8_1 / total;
2071
+ var rolloutState = new RolloutState(state.rb5_1, hands, trump, currentTrick, state.db6_1, points, state.ib6_1, state.hb6_1, state.qb5_1, leadPid);
2072
+ var result = $this.hba_1.rb9(rolloutState);
2073
+ var total = coerceAtLeast(result.sb9_1 + result.tb9_1 | 0, 1.0);
2074
+ return result.sb9_1 / total;
2073
2075
  }
2074
2076
  function PimcEngine(beliefNetwork, rolloutPolicy, config, random) {
2075
2077
  config = config === VOID ? new PimcConfig() : config;
2076
2078
  random = random === VOID ? Default_getInstance() : random;
2077
- this.ab9_1 = beliefNetwork;
2078
- this.bb9_1 = rolloutPolicy;
2079
- this.cb9_1 = config;
2080
- this.db9_1 = random;
2081
- this.eb9_1 = new WorldSampler(this.db9_1);
2082
- this.fb9_1 = new DeterministicRollout(this.bb9_1);
2083
- }
2084
- protoOf(PimcEngine).gb9 = function (state, legalActions) {
2079
+ this.cba_1 = beliefNetwork;
2080
+ this.dba_1 = rolloutPolicy;
2081
+ this.eba_1 = config;
2082
+ this.fba_1 = random;
2083
+ this.gba_1 = new WorldSampler(this.fba_1);
2084
+ this.hba_1 = new DeterministicRollout(this.dba_1);
2085
+ }
2086
+ protoOf(PimcEngine).iba = function (state, legalActions) {
2085
2087
  if (legalActions.g1() <= 1) {
2086
2088
  // Inline function 'kotlin.collections.associateWith' call
2087
2089
  var result = LinkedHashMap_init_$Create$_0(coerceAtLeast_0(mapCapacity(collectionSizeOrDefault(legalActions, 10)), 16));
@@ -2115,7 +2117,7 @@
2115
2117
  }
2116
2118
  return result_0;
2117
2119
  }
2118
- var tmp0_elvis_lhs = state.tb4_1;
2120
+ var tmp0_elvis_lhs = state.vb5_1;
2119
2121
  var tmp;
2120
2122
  if (tmp0_elvis_lhs == null) {
2121
2123
  // Inline function 'kotlin.collections.associateWith' call
@@ -2131,8 +2133,8 @@
2131
2133
  tmp = tmp0_elvis_lhs;
2132
2134
  }
2133
2135
  var trump = tmp;
2134
- var belief = this.ab9_1.eb6(state);
2135
- var worlds = this.eb9_1.ib9(state, belief, this.cb9_1.vb8_1);
2136
+ var belief = this.cba_1.gb7(state);
2137
+ var worlds = this.gba_1.kba(state, belief, this.eba_1.xb9_1);
2136
2138
  // Inline function 'kotlin.collections.map' call
2137
2139
  // Inline function 'kotlin.collections.mapTo' call
2138
2140
  var destination_0 = ArrayList_init_$Create$_0(collectionSizeOrDefault(worlds, 10));
@@ -2152,18 +2154,18 @@
2152
2154
  destination_0.e1(destination_1);
2153
2155
  }
2154
2156
  var worldScores = destination_0;
2155
- return MoveScoreAggregator_instance.ub8(worldScores, this.cb9_1);
2157
+ return MoveScoreAggregator_instance.wb9(worldScores, this.eba_1);
2156
2158
  };
2157
2159
  function SimCard(playerId, card) {
2158
- this.gb8_1 = playerId;
2159
- this.hb8_1 = card;
2160
+ this.ib9_1 = playerId;
2161
+ this.jb9_1 = card;
2160
2162
  }
2161
2163
  protoOf(SimCard).toString = function () {
2162
- return 'SimCard(playerId=' + this.gb8_1 + ', card=' + this.hb8_1.toString() + ')';
2164
+ return 'SimCard(playerId=' + this.ib9_1 + ', card=' + this.jb9_1.toString() + ')';
2163
2165
  };
2164
2166
  protoOf(SimCard).hashCode = function () {
2165
- var result = getStringHashCode(this.gb8_1);
2166
- result = imul(result, 31) + this.hb8_1.hashCode() | 0;
2167
+ var result = getStringHashCode(this.ib9_1);
2168
+ result = imul(result, 31) + this.jb9_1.hashCode() | 0;
2167
2169
  return result;
2168
2170
  };
2169
2171
  protoOf(SimCard).equals = function (other) {
@@ -2171,9 +2173,9 @@
2171
2173
  return true;
2172
2174
  if (!(other instanceof SimCard))
2173
2175
  return false;
2174
- if (!(this.gb8_1 === other.gb8_1))
2176
+ if (!(this.ib9_1 === other.ib9_1))
2175
2177
  return false;
2176
- if (!this.hb8_1.equals(other.hb8_1))
2178
+ if (!this.jb9_1.equals(other.jb9_1))
2177
2179
  return false;
2178
2180
  return true;
2179
2181
  };
@@ -2201,14 +2203,14 @@
2201
2203
  }
2202
2204
  function TrickSimulator() {
2203
2205
  }
2204
- protoOf(TrickSimulator).mb8 = function (cards, trump) {
2206
+ protoOf(TrickSimulator).ob9 = function (cards, trump) {
2205
2207
  // Inline function 'kotlin.collections.isNotEmpty' call
2206
2208
  // Inline function 'kotlin.require' call
2207
2209
  if (!!cards.r()) {
2208
2210
  var message = 'Cannot resolve an empty trick';
2209
2211
  throw IllegalArgumentException_init_$Create$(toString_0(message));
2210
2212
  }
2211
- var firstSuit = first(cards).hb8_1.u6k();
2213
+ var firstSuit = first(cards).jb9_1.w6l();
2212
2214
  var tmp$ret$3;
2213
2215
  $l$block_0: {
2214
2216
  // Inline function 'kotlin.collections.maxByOrNull' call
@@ -2223,10 +2225,10 @@
2223
2225
  break $l$block_0;
2224
2226
  }
2225
2227
  var it = maxElem;
2226
- var maxValue = getGrowth(it.hb8_1, trump, firstSuit);
2228
+ var maxValue = getGrowth(it.jb9_1, trump, firstSuit);
2227
2229
  do {
2228
2230
  var e = iterator.v();
2229
- var v = getGrowth(e.hb8_1, trump, firstSuit);
2231
+ var v = getGrowth(e.jb9_1, trump, firstSuit);
2230
2232
  if (compareTo(maxValue, v) < 0) {
2231
2233
  maxElem = e;
2232
2234
  maxValue = v;
@@ -2242,17 +2244,17 @@
2242
2244
  while (_iterator__ex2g4s.u()) {
2243
2245
  var element = _iterator__ex2g4s.v();
2244
2246
  var tmp = sum;
2245
- sum = tmp + getPoint(element.hb8_1, trump) | 0;
2247
+ sum = tmp + getPoint(element.jb9_1, trump) | 0;
2246
2248
  }
2247
2249
  var points = sum;
2248
- return new TrickResult(winner.gb8_1, points);
2250
+ return new TrickResult(winner.ib9_1, points);
2249
2251
  };
2250
- protoOf(TrickSimulator).jb8 = function (hand, trickCards, trump, rules, playersMode, playerId, partnerPlayerId) {
2252
+ protoOf(TrickSimulator).lb9 = function (hand, trickCards, trump, rules, playersMode, playerId, partnerPlayerId) {
2251
2253
  if (hand.r())
2252
2254
  return emptyList();
2253
2255
  if (trickCards.r())
2254
2256
  return hand;
2255
- var firstSuit = first(trickCards).hb8_1.u6k();
2257
+ var firstSuit = first(trickCards).jb9_1.w6l();
2256
2258
  var tmp$ret$0;
2257
2259
  $l$block_0: {
2258
2260
  // Inline function 'kotlin.collections.any' call
@@ -2269,7 +2271,7 @@
2269
2271
  var _iterator__ex2g4s = hand.t();
2270
2272
  while (_iterator__ex2g4s.u()) {
2271
2273
  var element = _iterator__ex2g4s.v();
2272
- if (element.u6k().equals(firstSuit)) {
2274
+ if (element.w6l().equals(firstSuit)) {
2273
2275
  tmp$ret$0 = true;
2274
2276
  break $l$block_0;
2275
2277
  }
@@ -2293,7 +2295,7 @@
2293
2295
  var _iterator__ex2g4s_0 = hand.t();
2294
2296
  while (_iterator__ex2g4s_0.u()) {
2295
2297
  var element_0 = _iterator__ex2g4s_0.v();
2296
- if (element_0.u6k().equals(trump)) {
2298
+ if (element_0.w6l().equals(trump)) {
2297
2299
  tmp$ret$2 = true;
2298
2300
  break $l$block_2;
2299
2301
  }
@@ -2309,7 +2311,7 @@
2309
2311
  var _iterator__ex2g4s_1 = hand.t();
2310
2312
  while (_iterator__ex2g4s_1.u()) {
2311
2313
  var element_1 = _iterator__ex2g4s_1.v();
2312
- if (element_1.u6k().equals(firstSuit)) {
2314
+ if (element_1.w6l().equals(firstSuit)) {
2313
2315
  destination.e1(element_1);
2314
2316
  }
2315
2317
  }
@@ -2321,7 +2323,7 @@
2321
2323
  var _iterator__ex2g4s_2 = hand.t();
2322
2324
  while (_iterator__ex2g4s_2.u()) {
2323
2325
  var element_2 = _iterator__ex2g4s_2.v();
2324
- if (element_2.u6k().equals(trump)) {
2326
+ if (element_2.w6l().equals(trump)) {
2325
2327
  destination_0.e1(element_2);
2326
2328
  }
2327
2329
  }
@@ -2347,7 +2349,7 @@
2347
2349
  var _iterator__ex2g4s_3 = trickCards.t();
2348
2350
  while (_iterator__ex2g4s_3.u()) {
2349
2351
  var element_3 = _iterator__ex2g4s_3.v();
2350
- if (element_3.hb8_1.u6k().equals(trump)) {
2352
+ if (element_3.jb9_1.w6l().equals(trump)) {
2351
2353
  tmp$ret$10 = true;
2352
2354
  break $l$block_4;
2353
2355
  }
@@ -2387,10 +2389,10 @@
2387
2389
  break $l$block_6;
2388
2390
  }
2389
2391
  var it = maxElem;
2390
- var maxValue = getGrowth(it.hb8_1, trump, firstSuit);
2392
+ var maxValue = getGrowth(it.jb9_1, trump, firstSuit);
2391
2393
  do {
2392
2394
  var e = iterator.v();
2393
- var v = getGrowth(e.hb8_1, trump, firstSuit);
2395
+ var v = getGrowth(e.jb9_1, trump, firstSuit);
2394
2396
  if (compareTo(maxValue, v) < 0) {
2395
2397
  maxElem = e;
2396
2398
  maxValue = v;
@@ -2407,7 +2409,7 @@
2407
2409
  tmp_4 = tmp1_elvis_lhs;
2408
2410
  }
2409
2411
  var winningCard = tmp_4;
2410
- var isPartnerWinning = playersMode.isTeamGame && winningCard.gb8_1 === partnerPlayerId;
2412
+ var isPartnerWinning = playersMode.isTeamGame && winningCard.ib9_1 === partnerPlayerId;
2411
2413
  if (isPartnerWinning) {
2412
2414
  var tmp_5;
2413
2415
  switch (rules.trumpCardStepPartnerMode.a1_1) {
@@ -2418,7 +2420,7 @@
2418
2420
  tmp_5 = candidates;
2419
2421
  break;
2420
2422
  case 1:
2421
- tmp_5 = filterHigherTrumpOrAll(this, candidates, winningCard.hb8_1, trump, firstSuit);
2423
+ tmp_5 = filterHigherTrumpOrAll(this, candidates, winningCard.jb9_1, trump, firstSuit);
2422
2424
  break;
2423
2425
  default:
2424
2426
  noWhenBranchMatchedException();
@@ -2426,22 +2428,22 @@
2426
2428
  }
2427
2429
  return tmp_5;
2428
2430
  }
2429
- return filterHigherTrumpOrAll(this, candidates, winningCard.hb8_1, trump, firstSuit);
2431
+ return filterHigherTrumpOrAll(this, candidates, winningCard.jb9_1, trump, firstSuit);
2430
2432
  };
2431
2433
  var TrickSimulator_instance;
2432
2434
  function TrickSimulator_getInstance() {
2433
2435
  return TrickSimulator_instance;
2434
2436
  }
2435
2437
  function TrickResult(winnerId, points) {
2436
- this.nb8_1 = winnerId;
2437
- this.ob8_1 = points;
2438
+ this.pb9_1 = winnerId;
2439
+ this.qb9_1 = points;
2438
2440
  }
2439
2441
  protoOf(TrickResult).toString = function () {
2440
- return 'TrickResult(winnerId=' + this.nb8_1 + ', points=' + this.ob8_1 + ')';
2442
+ return 'TrickResult(winnerId=' + this.pb9_1 + ', points=' + this.qb9_1 + ')';
2441
2443
  };
2442
2444
  protoOf(TrickResult).hashCode = function () {
2443
- var result = getStringHashCode(this.nb8_1);
2444
- result = imul(result, 31) + this.ob8_1 | 0;
2445
+ var result = getStringHashCode(this.pb9_1);
2446
+ result = imul(result, 31) + this.qb9_1 | 0;
2445
2447
  return result;
2446
2448
  };
2447
2449
  protoOf(TrickResult).equals = function (other) {
@@ -2449,9 +2451,9 @@
2449
2451
  return true;
2450
2452
  if (!(other instanceof TrickResult))
2451
2453
  return false;
2452
- if (!(this.nb8_1 === other.nb8_1))
2454
+ if (!(this.pb9_1 === other.pb9_1))
2453
2455
  return false;
2454
- if (!(this.ob8_1 === other.ob8_1))
2456
+ if (!(this.qb9_1 === other.qb9_1))
2455
2457
  return false;
2456
2458
  return true;
2457
2459
  };
@@ -2461,12 +2463,12 @@
2461
2463
  var _iterator__ex2g4s = get_entries().t();
2462
2464
  while (_iterator__ex2g4s.u()) {
2463
2465
  var suit = _iterator__ex2g4s.v();
2464
- var _iterator__ex2g4s_0 = $this.kb9_1.t();
2466
+ var _iterator__ex2g4s_0 = $this.mba_1.t();
2465
2467
  while (_iterator__ex2g4s_0.u()) {
2466
2468
  var name = _iterator__ex2g4s_0.v();
2467
2469
  var idx = imul(suit.a1_1, 8) + name.a1_1 | 0;
2468
2470
  if (idx < 32) {
2469
- arr[idx] = Companion_instance_0.x6k(suit, name);
2471
+ arr[idx] = Companion_instance_0.z6l(suit, name);
2470
2472
  }
2471
2473
  }
2472
2474
  }
@@ -2487,7 +2489,7 @@
2487
2489
  var currentSizes = new Int32Array(opponents.g1());
2488
2490
  var assigned = booleanArray(32);
2489
2491
  // Inline function 'kotlin.collections.sortedBy' call
2490
- var this_0 = get_indices_0(belief.jb6_1);
2492
+ var this_0 = get_indices_0(belief.lb7_1);
2491
2493
  // Inline function 'kotlin.comparisons.compareBy' call
2492
2494
  var tmp = WorldSampler$sampleOneWorld$lambda($this, belief);
2493
2495
  var tmp$ret$4 = new sam$kotlin_Comparator$0_0(tmp);
@@ -2495,8 +2497,8 @@
2495
2497
  var _iterator__ex2g4s_0 = sortedHiddenIndices.t();
2496
2498
  $l$loop_1: while (_iterator__ex2g4s_0.u()) {
2497
2499
  var rowIdx = _iterator__ex2g4s_0.v();
2498
- var cardIdx = belief.jb6_1[rowIdx];
2499
- var probs = belief.ib6_1[rowIdx];
2500
+ var cardIdx = belief.lb7_1[rowIdx];
2501
+ var probs = belief.kb7_1[rowIdx];
2500
2502
  var placed = false;
2501
2503
  var inductionVariable = 0;
2502
2504
  if (inductionVariable < 100)
@@ -2560,7 +2562,7 @@
2560
2562
  return new SampledWorld(destination);
2561
2563
  }
2562
2564
  function sampleFromDistribution($this, probs) {
2563
- var r = $this.hb9_1.zh();
2565
+ var r = $this.jba_1.bj();
2564
2566
  var cumulative = 0.0;
2565
2567
  var inductionVariable = 0;
2566
2568
  var last = probs.length - 1 | 0;
@@ -2590,8 +2592,8 @@
2590
2592
  }
2591
2593
  function Companion_3() {
2592
2594
  Companion_instance_5 = this;
2593
- this.jb9_1 = 100;
2594
- this.kb9_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()]);
2595
+ this.lba_1 = 100;
2596
+ this.mba_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()]);
2595
2597
  }
2596
2598
  var Companion_instance_5;
2597
2599
  function Companion_getInstance_3() {
@@ -2600,16 +2602,16 @@
2600
2602
  return Companion_instance_5;
2601
2603
  }
2602
2604
  function sam$kotlin_Comparator$0_0(function_0) {
2603
- this.lb9_1 = function_0;
2605
+ this.nba_1 = function_0;
2604
2606
  }
2605
2607
  protoOf(sam$kotlin_Comparator$0_0).hd = function (a, b) {
2606
- return this.lb9_1(a, b);
2608
+ return this.nba_1(a, b);
2607
2609
  };
2608
2610
  protoOf(sam$kotlin_Comparator$0_0).compare = function (a, b) {
2609
2611
  return this.hd(a, b);
2610
2612
  };
2611
2613
  protoOf(sam$kotlin_Comparator$0_0).s3 = function () {
2612
- return this.lb9_1;
2614
+ return this.nba_1;
2613
2615
  };
2614
2616
  protoOf(sam$kotlin_Comparator$0_0).equals = function (other) {
2615
2617
  var tmp;
@@ -2632,18 +2634,18 @@
2632
2634
  function WorldSampler$sampleOneWorld$lambda(this$0, $belief) {
2633
2635
  return function (a, b) {
2634
2636
  // Inline function 'kotlin.comparisons.compareValuesBy' call
2635
- var tmp = entropy(this$0, $belief.ib6_1[a]);
2636
- var tmp$ret$1 = entropy(this$0, $belief.ib6_1[b]);
2637
+ var tmp = entropy(this$0, $belief.kb7_1[a]);
2638
+ var tmp$ret$1 = entropy(this$0, $belief.kb7_1[b]);
2637
2639
  return compareValues(tmp, tmp$ret$1);
2638
2640
  };
2639
2641
  }
2640
2642
  function WorldSampler(random) {
2641
2643
  Companion_getInstance_3();
2642
- this.hb9_1 = random;
2644
+ this.jba_1 = random;
2643
2645
  }
2644
- protoOf(WorldSampler).ib9 = function (state, belief, worldCount) {
2645
- var focalIndex = state.pb4_1.o2(state.ob4_1);
2646
- var n = state.pb4_1.g1();
2646
+ protoOf(WorldSampler).kba = function (state, belief, worldCount) {
2647
+ var focalIndex = state.rb5_1.o2(state.qb5_1);
2648
+ var n = state.rb5_1.g1();
2647
2649
  // Inline function 'kotlin.collections.map' call
2648
2650
  var this_0 = until(1, n);
2649
2651
  // Inline function 'kotlin.collections.mapTo' call
@@ -2655,7 +2657,7 @@
2655
2657
  var item = inductionVariable;
2656
2658
  inductionVariable = inductionVariable + 1 | 0;
2657
2659
  var absIdx = (focalIndex + item | 0) % n | 0;
2658
- var tmp$ret$0 = state.pb4_1.h1(absIdx);
2660
+ var tmp$ret$0 = state.rb5_1.h1(absIdx);
2659
2661
  destination.e1(tmp$ret$0);
2660
2662
  }
2661
2663
  while (!(item === last));
@@ -2666,9 +2668,9 @@
2666
2668
  var _iterator__ex2g4s = opponents.t();
2667
2669
  while (_iterator__ex2g4s.u()) {
2668
2670
  var item_0 = _iterator__ex2g4s.v();
2669
- var tmp0_elvis_lhs = state.rb4_1.v2(item_0);
2671
+ var tmp0_elvis_lhs = state.tb5_1.v2(item_0);
2670
2672
  var played = (tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs).g1();
2671
- var tmp0 = state.sb4_1;
2673
+ var tmp0 = state.ub5_1;
2672
2674
  var tmp$ret$3;
2673
2675
  $l$block: {
2674
2676
  // Inline function 'kotlin.collections.count' call
@@ -2686,7 +2688,7 @@
2686
2688
  var _iterator__ex2g4s_0 = tmp0.t();
2687
2689
  while (_iterator__ex2g4s_0.u()) {
2688
2690
  var element = _iterator__ex2g4s_0.v();
2689
- if (element.g8i_1 === item_0) {
2691
+ if (element.h8j_1 === item_0) {
2690
2692
  count = count + 1 | 0;
2691
2693
  checkCountOverflow(count);
2692
2694
  }
@@ -2694,7 +2696,7 @@
2694
2696
  tmp$ret$3 = count;
2695
2697
  }
2696
2698
  var onTable = tmp$ret$3;
2697
- var tmp$ret$5 = coerceAtLeast_0((state.hb5_1 - played | 0) - onTable | 0, 0);
2699
+ var tmp$ret$5 = coerceAtLeast_0((state.jb6_1 - played | 0) - onTable | 0, 0);
2698
2700
  destination_0.e1(tmp$ret$5);
2699
2701
  }
2700
2702
  var handSizes = destination_0;
@@ -2715,20 +2717,20 @@
2715
2717
  return list;
2716
2718
  };
2717
2719
  function SampledWorld(hands) {
2718
- this.zb8_1 = hands;
2720
+ this.bba_1 = hands;
2719
2721
  }
2720
2722
  protoOf(SampledWorld).toString = function () {
2721
- return 'SampledWorld(hands=' + toString_0(this.zb8_1) + ')';
2723
+ return 'SampledWorld(hands=' + toString_0(this.bba_1) + ')';
2722
2724
  };
2723
2725
  protoOf(SampledWorld).hashCode = function () {
2724
- return hashCode(this.zb8_1);
2726
+ return hashCode(this.bba_1);
2725
2727
  };
2726
2728
  protoOf(SampledWorld).equals = function (other) {
2727
2729
  if (this === other)
2728
2730
  return true;
2729
2731
  if (!(other instanceof SampledWorld))
2730
2732
  return false;
2731
- if (!equals(this.zb8_1, other.zb8_1))
2733
+ if (!equals(this.bba_1, other.bba_1))
2732
2734
  return false;
2733
2735
  return true;
2734
2736
  };
@@ -2736,11 +2738,6 @@
2736
2738
  // Inline function 'kotlin.math.ln' call
2737
2739
  return Math.log(x);
2738
2740
  }
2739
- function FirstLegalActionPolicy() {
2740
- }
2741
- protoOf(FirstLegalActionPolicy).xb6 = function (state, legalActions) {
2742
- return first(legalActions);
2743
- };
2744
2741
  function PimcBotPolicy_init_$Init$(pimcEngine, $this) {
2745
2742
  PimcBotPolicy.call($this, pimcEngine, new SuitSelectionPolicy());
2746
2743
  return $this;
@@ -2749,10 +2746,10 @@
2749
2746
  return PimcBotPolicy_init_$Init$(pimcEngine, objectCreate(protoOf(PimcBotPolicy)));
2750
2747
  }
2751
2748
  function PimcBotPolicy(pimcEngine, suitSelectionPolicy) {
2752
- this.mb9_1 = pimcEngine;
2753
- this.nb9_1 = suitSelectionPolicy;
2749
+ this.oba_1 = pimcEngine;
2750
+ this.pba_1 = suitSelectionPolicy;
2754
2751
  }
2755
- protoOf(PimcBotPolicy).xb6 = function (state, legalActions) {
2752
+ protoOf(PimcBotPolicy).zb7 = function (state, legalActions) {
2756
2753
  if (legalActions.g1() === 1)
2757
2754
  return first(legalActions);
2758
2755
  var tmp;
@@ -2780,7 +2777,7 @@
2780
2777
  tmp$ret$0 = false;
2781
2778
  }
2782
2779
  if (tmp$ret$0) {
2783
- var scores = this.mb9_1.gb9(state, legalActions);
2780
+ var scores = this.oba_1.iba(state, legalActions);
2784
2781
  // Inline function 'kotlin.collections.maxByOrNull' call
2785
2782
  var tmp0 = scores.m1();
2786
2783
  var tmp$ret$2;
@@ -2836,7 +2833,7 @@
2836
2833
  tmp$ret$6 = false;
2837
2834
  }
2838
2835
  if (tmp$ret$6) {
2839
- tmp = this.nb9_1.ob9(state, legalActions);
2836
+ tmp = this.pba_1.qba(state, legalActions);
2840
2837
  } else {
2841
2838
  var tmp$ret$8;
2842
2839
  $l$block_6: {
@@ -2870,7 +2867,7 @@
2870
2867
  var element_2 = _iterator__ex2g4s_2.v();
2871
2868
  var tmp_3;
2872
2869
  if (element_2 instanceof AcceptCombinations) {
2873
- tmp_3 = element_2.nb4_1;
2870
+ tmp_3 = element_2.pb5_1;
2874
2871
  } else {
2875
2872
  tmp_3 = false;
2876
2873
  }
@@ -2890,6 +2887,13 @@
2890
2887
  }
2891
2888
  return tmp;
2892
2889
  };
2890
+ function RandomPolicy(random) {
2891
+ random = random === VOID ? Default_getInstance() : random;
2892
+ this.rba_1 = random;
2893
+ }
2894
+ protoOf(RandomPolicy).zb7 = function (state, legalActions) {
2895
+ return legalActions.h1(this.rba_1.k1(legalActions.g1()));
2896
+ };
2893
2897
  function selectLead($this, legalCards, trump) {
2894
2898
  // Inline function 'kotlin.collections.filter' call
2895
2899
  // Inline function 'kotlin.collections.filterTo' call
@@ -2897,7 +2901,7 @@
2897
2901
  var _iterator__ex2g4s = legalCards.t();
2898
2902
  while (_iterator__ex2g4s.u()) {
2899
2903
  var element = _iterator__ex2g4s.v();
2900
- if (element.m().equals(CardName_ACE_getInstance()) && !element.u6k().equals(trump)) {
2904
+ if (element.m().equals(CardName_ACE_getInstance()) && !element.w6l().equals(trump)) {
2901
2905
  destination.e1(element);
2902
2906
  }
2903
2907
  }
@@ -2911,7 +2915,7 @@
2911
2915
  var _iterator__ex2g4s_0 = legalCards.t();
2912
2916
  while (_iterator__ex2g4s_0.u()) {
2913
2917
  var element_0 = _iterator__ex2g4s_0.v();
2914
- if (element_0.m().equals(CardName_TEN_getInstance()) && !element_0.u6k().equals(trump)) {
2918
+ if (element_0.m().equals(CardName_TEN_getInstance()) && !element_0.w6l().equals(trump)) {
2915
2919
  destination_0.e1(element_0);
2916
2920
  }
2917
2921
  }
@@ -2925,7 +2929,7 @@
2925
2929
  var _iterator__ex2g4s_1 = legalCards.t();
2926
2930
  while (_iterator__ex2g4s_1.u()) {
2927
2931
  var element_1 = _iterator__ex2g4s_1.v();
2928
- if (!element_1.u6k().equals(trump)) {
2932
+ if (!element_1.w6l().equals(trump)) {
2929
2933
  destination_1.e1(element_1);
2930
2934
  }
2931
2935
  }
@@ -2991,7 +2995,7 @@
2991
2995
  return tmp1_elvis_lhs == null ? first(legalCards) : tmp1_elvis_lhs;
2992
2996
  }
2993
2997
  function selectFollow($this, legalCards, currentTrick, trump, partnerWinning) {
2994
- var firstSuit = first(currentTrick).hb8_1.u6k();
2998
+ var firstSuit = first(currentTrick).jb9_1.w6l();
2995
2999
  if (partnerWinning) {
2996
3000
  var tmp$ret$0;
2997
3001
  $l$block_0: {
@@ -3027,10 +3031,10 @@
3027
3031
  if (!iterator_0.u())
3028
3032
  throw NoSuchElementException_init_$Create$();
3029
3033
  var it_0 = iterator_0.v();
3030
- var maxValue = getGrowth(it_0.hb8_1, trump, firstSuit);
3034
+ var maxValue = getGrowth(it_0.jb9_1, trump, firstSuit);
3031
3035
  while (iterator_0.u()) {
3032
3036
  var it_1 = iterator_0.v();
3033
- var v_0 = getGrowth(it_1.hb8_1, trump, firstSuit);
3037
+ var v_0 = getGrowth(it_1.jb9_1, trump, firstSuit);
3034
3038
  if (compareTo(maxValue, v_0) < 0) {
3035
3039
  maxValue = v_0;
3036
3040
  }
@@ -3109,7 +3113,7 @@
3109
3113
  }
3110
3114
  function RolloutPolicy() {
3111
3115
  }
3112
- protoOf(RolloutPolicy).lb8 = function (hand, legalCards, currentTrick, trump, partnerPlayerId, partnerWinning) {
3116
+ protoOf(RolloutPolicy).nb9 = function (hand, legalCards, currentTrick, trump, partnerPlayerId, partnerWinning) {
3113
3117
  if (legalCards.g1() === 1)
3114
3118
  return first(legalCards);
3115
3119
  var tmp;
@@ -3143,7 +3147,7 @@
3143
3147
  }
3144
3148
  function SuitSelectionPolicy() {
3145
3149
  }
3146
- protoOf(SuitSelectionPolicy).ob9 = function (state, legalActions) {
3150
+ protoOf(SuitSelectionPolicy).qba = function (state, legalActions) {
3147
3151
  // Inline function 'kotlin.collections.filterIsInstance' call
3148
3152
  // Inline function 'kotlin.collections.filterIsInstanceTo' call
3149
3153
  var destination = ArrayList_init_$Create$();
@@ -3165,7 +3169,7 @@
3165
3169
  var _iterator__ex2g4s_0 = suitActions.t();
3166
3170
  while (_iterator__ex2g4s_0.u()) {
3167
3171
  var element_0 = _iterator__ex2g4s_0.v();
3168
- if (element_0.mb4_1 == null) {
3172
+ if (element_0.ob5_1 == null) {
3169
3173
  tmp$ret$3 = element_0;
3170
3174
  break $l$block;
3171
3175
  }
@@ -3179,7 +3183,7 @@
3179
3183
  var _iterator__ex2g4s_1 = suitActions.t();
3180
3184
  while (_iterator__ex2g4s_1.u()) {
3181
3185
  var element_1 = _iterator__ex2g4s_1.v();
3182
- if (!(element_1.mb4_1 == null)) {
3186
+ if (!(element_1.ob5_1 == null)) {
3183
3187
  destination_0.e1(element_1);
3184
3188
  }
3185
3189
  }
@@ -3188,10 +3192,10 @@
3188
3192
  return passAction == null ? first(suitActions) : passAction;
3189
3193
  }
3190
3194
  var tmp;
3191
- if (state.wb4_1.r()) {
3195
+ if (state.yb5_1.r()) {
3192
3196
  tmp = 1;
3193
3197
  } else {
3194
- var tmp0 = state.wb4_1;
3198
+ var tmp0 = state.yb5_1;
3195
3199
  var tmp$ret$7;
3196
3200
  $l$block_0: {
3197
3201
  // Inline function 'kotlin.collections.maxOfOrNull' call
@@ -3200,9 +3204,9 @@
3200
3204
  tmp$ret$7 = null;
3201
3205
  break $l$block_0;
3202
3206
  }
3203
- var maxValue = iterator.v().wb5_1;
3207
+ var maxValue = iterator.v().yb6_1;
3204
3208
  while (iterator.u()) {
3205
- var v = iterator.v().wb5_1;
3209
+ var v = iterator.v().yb6_1;
3206
3210
  if (compareTo(maxValue, v) < 0) {
3207
3211
  maxValue = v;
3208
3212
  }
@@ -3213,14 +3217,14 @@
3213
3217
  tmp = tmp2_elvis_lhs == null ? 1 : tmp2_elvis_lhs;
3214
3218
  }
3215
3219
  var circle = tmp;
3216
- var thresholds = getThresholds(this, state.gb5_1);
3220
+ var thresholds = getThresholds(this, state.ib6_1);
3217
3221
  var threshold = circle <= 1 ? thresholds.first : thresholds.second;
3218
3222
  var bestSuit = null;
3219
3223
  var bestEhv = 0;
3220
3224
  var _iterator__ex2g4s_2 = declareActions.t();
3221
3225
  $l$loop: while (_iterator__ex2g4s_2.u()) {
3222
3226
  var action = _iterator__ex2g4s_2.v();
3223
- var tmp3_elvis_lhs = action.mb4_1;
3227
+ var tmp3_elvis_lhs = action.ob5_1;
3224
3228
  var tmp_0;
3225
3229
  if (tmp3_elvis_lhs == null) {
3226
3230
  continue $l$loop;
@@ -3228,14 +3232,14 @@
3228
3232
  tmp_0 = tmp3_elvis_lhs;
3229
3233
  }
3230
3234
  var suit = tmp_0;
3231
- var ehv = computeEhv(this, state.qb4_1, suit);
3232
- var tmp4_safe_receiver = state.ub4_1;
3235
+ var ehv = computeEhv(this, state.sb5_1, suit);
3236
+ var tmp4_safe_receiver = state.wb5_1;
3233
3237
  var tmp_1;
3234
3238
  if (tmp4_safe_receiver == null) {
3235
3239
  tmp_1 = null;
3236
3240
  } else {
3237
3241
  // Inline function 'kotlin.let' call
3238
- tmp_1 = tmp4_safe_receiver.u6k().equals(suit) ? getPoint(tmp4_safe_receiver, suit) : 0;
3242
+ tmp_1 = tmp4_safe_receiver.w6l().equals(suit) ? getPoint(tmp4_safe_receiver, suit) : 0;
3239
3243
  }
3240
3244
  var tmp5_elvis_lhs = tmp_1;
3241
3245
  var trumpBonus = tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs;