board-game-engine 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/board-game-engine.js +169 -114
- package/dist/board-game-engine.min.js +1 -1
- package/package.json +1 -1
|
@@ -49,31 +49,30 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
49
49
|
}));
|
|
50
50
|
exports["default"] = void 0;
|
|
51
51
|
var _conditionFactory = _interopRequireDefault(__webpack_require__(3534));
|
|
52
|
-
var _serializable = _interopRequireDefault(__webpack_require__(6863));
|
|
53
52
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
54
|
-
class Action
|
|
53
|
+
class Action {
|
|
55
54
|
constructor(rules, game) {
|
|
56
|
-
super(rules, game);
|
|
57
55
|
this.game = game;
|
|
58
56
|
this.rules = rules;
|
|
57
|
+
this.id = `${Math.random()}`;
|
|
59
58
|
const invariantConditionRules = [{
|
|
60
|
-
type:
|
|
59
|
+
type: 'actionTypeMatches',
|
|
61
60
|
actionRule: this.rules
|
|
62
61
|
}, {
|
|
63
|
-
type:
|
|
62
|
+
type: 'pieceMatches',
|
|
64
63
|
actionRule: this.rules
|
|
65
64
|
}, {
|
|
66
|
-
type:
|
|
65
|
+
type: 'isValidPlayer'
|
|
67
66
|
}];
|
|
68
67
|
this.conditions = [...invariantConditionRules, ...(this.rules.conditions || [])].map(conditionRule => (0, _conditionFactory.default)(conditionRule, game));
|
|
69
68
|
}
|
|
70
69
|
assertIsValid(actionPayload) {
|
|
71
70
|
const unmetConditions = this.conditions.filter(condition => !condition.isMet(actionPayload));
|
|
72
71
|
if (unmetConditions.length) {
|
|
73
|
-
console.log(
|
|
74
|
-
console.log(
|
|
75
|
-
console.log(
|
|
76
|
-
throw new Error(
|
|
72
|
+
console.log('==================');
|
|
73
|
+
console.log('unmetConditions', unmetConditions);
|
|
74
|
+
console.log('actionPayload', actionPayload);
|
|
75
|
+
throw new Error('conditions not met ^');
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
do() {}
|
|
@@ -219,7 +218,7 @@ module.exports = exports.default;
|
|
|
219
218
|
/***/ }),
|
|
220
219
|
|
|
221
220
|
/***/ 9578:
|
|
222
|
-
/***/ ((module, exports
|
|
221
|
+
/***/ ((module, exports) => {
|
|
223
222
|
|
|
224
223
|
"use strict";
|
|
225
224
|
|
|
@@ -228,13 +227,11 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
228
227
|
value: true
|
|
229
228
|
}));
|
|
230
229
|
exports["default"] = void 0;
|
|
231
|
-
|
|
232
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
233
|
-
class Board extends _serializable.default {
|
|
230
|
+
class Board {
|
|
234
231
|
constructor(boardRule) {
|
|
235
232
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
236
|
-
super(boardRule, options);
|
|
237
233
|
this.rule = boardRule;
|
|
234
|
+
this.id = `${Math.random()}`;
|
|
238
235
|
if (this.player) {
|
|
239
236
|
this.player = options.player;
|
|
240
237
|
}
|
|
@@ -260,8 +257,6 @@ var _get = _interopRequireDefault(__webpack_require__(8156));
|
|
|
260
257
|
var _board = _interopRequireDefault(__webpack_require__(9578));
|
|
261
258
|
var _space = _interopRequireDefault(__webpack_require__(7971));
|
|
262
259
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
263
|
-
const INITIAL_ROTATION = 0;
|
|
264
|
-
const FLIPPED_ROTATION = 180;
|
|
265
260
|
class Grid extends _board.default {
|
|
266
261
|
constructor(boardRule, options) {
|
|
267
262
|
super(boardRule, options);
|
|
@@ -492,7 +487,7 @@ module.exports = exports.default;
|
|
|
492
487
|
/***/ }),
|
|
493
488
|
|
|
494
489
|
/***/ 7213:
|
|
495
|
-
/***/ ((module, exports
|
|
490
|
+
/***/ ((module, exports) => {
|
|
496
491
|
|
|
497
492
|
"use strict";
|
|
498
493
|
|
|
@@ -501,11 +496,9 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
501
496
|
value: true
|
|
502
497
|
}));
|
|
503
498
|
exports["default"] = void 0;
|
|
504
|
-
|
|
505
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
506
|
-
class Condition extends _serializable.default {
|
|
499
|
+
class Condition {
|
|
507
500
|
constructor(rules, game) {
|
|
508
|
-
|
|
501
|
+
this.id = `${Math.random()}`;
|
|
509
502
|
this.rules = rules;
|
|
510
503
|
this.game = game;
|
|
511
504
|
}
|
|
@@ -701,6 +694,7 @@ var _conditionFactory = _interopRequireDefault(__webpack_require__(3534));
|
|
|
701
694
|
var _actionFactory = _interopRequireDefault(__webpack_require__(9448));
|
|
702
695
|
var _pile = _interopRequireDefault(__webpack_require__(1595));
|
|
703
696
|
var _findValuePath = _interopRequireDefault(__webpack_require__(4229));
|
|
697
|
+
var _wackson = __webpack_require__(7627);
|
|
704
698
|
var _registry = __webpack_require__(8353);
|
|
705
699
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
706
700
|
function initializeState(state, rules) {
|
|
@@ -815,25 +809,25 @@ function handleStartGame(state, rules) {
|
|
|
815
809
|
}
|
|
816
810
|
function makeMove(rules, _state, move) {
|
|
817
811
|
if (!_state) {
|
|
818
|
-
return {
|
|
812
|
+
return (0, _wackson.serialize)({
|
|
819
813
|
context: {},
|
|
820
814
|
winner: null,
|
|
821
815
|
status: 'waiting',
|
|
822
816
|
players: []
|
|
823
|
-
};
|
|
817
|
+
});
|
|
824
818
|
}
|
|
825
|
-
const state =
|
|
819
|
+
const state = deserializeState(_state);
|
|
826
820
|
if (state.status === 'done') {
|
|
827
821
|
throw new Error("Game is over!");
|
|
828
822
|
}
|
|
829
823
|
if (move === undefined) {
|
|
830
|
-
return state;
|
|
824
|
+
return (0, _wackson.serialize)(state);
|
|
831
825
|
} else if (move?.type === 'join') {
|
|
832
826
|
handlePlayerJoin(state, rules, move);
|
|
833
|
-
return
|
|
827
|
+
return (0, _wackson.serialize)(state);
|
|
834
828
|
} else if (move.type === 'start') {
|
|
835
829
|
handleStartGame(state, rules);
|
|
836
|
-
return
|
|
830
|
+
return (0, _wackson.serialize)(state);
|
|
837
831
|
}
|
|
838
832
|
|
|
839
833
|
// Expand the move payload with defaults and normalizations
|
|
@@ -872,7 +866,7 @@ function makeMove(rules, _state, move) {
|
|
|
872
866
|
state.status = 'done';
|
|
873
867
|
state.winner = winner;
|
|
874
868
|
}
|
|
875
|
-
return
|
|
869
|
+
return (0, _wackson.serialize)(state);
|
|
876
870
|
}
|
|
877
871
|
function doInitialPlacement(placement, player, state) {
|
|
878
872
|
const actionRule = placement.action;
|
|
@@ -940,35 +934,8 @@ function addPathToRules(rules) {
|
|
|
940
934
|
rules.rounds.forEach((r, i) => annotate(r, ['rounds', i]));
|
|
941
935
|
}
|
|
942
936
|
}
|
|
943
|
-
function
|
|
944
|
-
|
|
945
|
-
return JSON.parse(JSON.stringify(state, (key, value) => {
|
|
946
|
-
return value;
|
|
947
|
-
}));
|
|
948
|
-
}
|
|
949
|
-
function deserialize(state) {
|
|
950
|
-
const newState = {};
|
|
951
|
-
const instanceMap = new Map();
|
|
952
|
-
const deserialized = JSON.parse(JSON.stringify(state), function (key, value) {
|
|
953
|
-
if (value?.constructorName) {
|
|
954
|
-
// don't create multiple instances for objects with same ID, use canonical instance
|
|
955
|
-
const existingInstance = instanceMap.get(value.id);
|
|
956
|
-
if (existingInstance) {
|
|
957
|
-
return existingInstance;
|
|
958
|
-
} else {
|
|
959
|
-
// by convention, state is last arg to classes that need it
|
|
960
|
-
// it is filtered out of serialization-safe args because it's circular
|
|
961
|
-
const obj = new _registry.registry[value.constructorName](...value.args, newState);
|
|
962
|
-
Object.assign(obj, value); // re-populate instance properties
|
|
963
|
-
instanceMap.set(obj.id, obj);
|
|
964
|
-
return obj;
|
|
965
|
-
}
|
|
966
|
-
} else {
|
|
967
|
-
return value;
|
|
968
|
-
}
|
|
969
|
-
});
|
|
970
|
-
// re-establish circular reference
|
|
971
|
-
return Object.assign(newState, deserialized);
|
|
937
|
+
function deserializeState(state) {
|
|
938
|
+
return (0, _wackson.deserialize)(state, _registry.registry);
|
|
972
939
|
}
|
|
973
940
|
|
|
974
941
|
/***/ }),
|
|
@@ -993,7 +960,7 @@ module.exports = exports.default;
|
|
|
993
960
|
/***/ }),
|
|
994
961
|
|
|
995
962
|
/***/ 5923:
|
|
996
|
-
/***/ ((module, exports
|
|
963
|
+
/***/ ((module, exports) => {
|
|
997
964
|
|
|
998
965
|
"use strict";
|
|
999
966
|
|
|
@@ -1002,12 +969,10 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
1002
969
|
value: true
|
|
1003
970
|
}));
|
|
1004
971
|
exports["default"] = void 0;
|
|
1005
|
-
|
|
1006
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1007
|
-
class Piece extends _serializable.default {
|
|
972
|
+
class Piece {
|
|
1008
973
|
constructor(pieceRule, options) {
|
|
1009
|
-
super(pieceRule, options);
|
|
1010
974
|
this.rule = pieceRule;
|
|
975
|
+
this.id = `${Math.random()}`;
|
|
1011
976
|
if (options.player !== undefined) {
|
|
1012
977
|
({
|
|
1013
978
|
player: this.player
|
|
@@ -1037,15 +1002,14 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
1037
1002
|
}));
|
|
1038
1003
|
exports["default"] = void 0;
|
|
1039
1004
|
var _pieceFactory = _interopRequireDefault(__webpack_require__(4570));
|
|
1040
|
-
var _serializable = _interopRequireDefault(__webpack_require__(6863));
|
|
1041
1005
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1042
1006
|
// all this extra complication is to support arbitrary (infinite) piles of pieces
|
|
1043
|
-
class Pile
|
|
1007
|
+
class Pile {
|
|
1044
1008
|
constructor(pieceRule) {
|
|
1045
1009
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
1046
|
-
super(pieceRule, options);
|
|
1047
1010
|
this.pieceRule = pieceRule;
|
|
1048
1011
|
this.name = pieceRule.name;
|
|
1012
|
+
this.id = `${Math.random()}`;
|
|
1049
1013
|
if (options.player) {
|
|
1050
1014
|
this.player = options.player;
|
|
1051
1015
|
}
|
|
@@ -1104,7 +1068,7 @@ module.exports = exports.default;
|
|
|
1104
1068
|
/***/ }),
|
|
1105
1069
|
|
|
1106
1070
|
/***/ 6835:
|
|
1107
|
-
/***/ ((module, exports
|
|
1071
|
+
/***/ ((module, exports) => {
|
|
1108
1072
|
|
|
1109
1073
|
"use strict";
|
|
1110
1074
|
|
|
@@ -1113,16 +1077,11 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
1113
1077
|
value: true
|
|
1114
1078
|
}));
|
|
1115
1079
|
exports["default"] = void 0;
|
|
1116
|
-
|
|
1117
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1118
|
-
class Player extends _serializable.default {
|
|
1080
|
+
class Player {
|
|
1119
1081
|
constructor(rule, index, id) {
|
|
1120
|
-
super(rule, index, id);
|
|
1121
1082
|
this.rule = rule;
|
|
1122
1083
|
this.index = index;
|
|
1123
|
-
|
|
1124
|
-
this.id = id;
|
|
1125
|
-
}
|
|
1084
|
+
this.id = id || `${Math.random()}`;
|
|
1126
1085
|
}
|
|
1127
1086
|
}
|
|
1128
1087
|
var _default = exports["default"] = Player;
|
|
@@ -1163,7 +1122,6 @@ var _pile = _interopRequireDefault(__webpack_require__(1595));
|
|
|
1163
1122
|
var _player = _interopRequireDefault(__webpack_require__(6835));
|
|
1164
1123
|
var _round = _interopRequireDefault(__webpack_require__(4221));
|
|
1165
1124
|
var _sequentialPlayerTurn = _interopRequireDefault(__webpack_require__(7820));
|
|
1166
|
-
var _serializable = _interopRequireDefault(__webpack_require__(6863));
|
|
1167
1125
|
var _space = _interopRequireDefault(__webpack_require__(7971));
|
|
1168
1126
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1169
1127
|
const registry = exports.registry = {
|
|
@@ -1190,7 +1148,6 @@ const registry = exports.registry = {
|
|
|
1190
1148
|
"Player": _player.default,
|
|
1191
1149
|
"Round": _round.default,
|
|
1192
1150
|
"SequentialPlayerTurn": _sequentialPlayerTurn.default,
|
|
1193
|
-
"Serializable": _serializable.default,
|
|
1194
1151
|
"Space": _space.default
|
|
1195
1152
|
};
|
|
1196
1153
|
|
|
@@ -1228,15 +1185,14 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
1228
1185
|
}));
|
|
1229
1186
|
exports["default"] = void 0;
|
|
1230
1187
|
var _actionFactory = _interopRequireDefault(__webpack_require__(9448));
|
|
1231
|
-
var _serializable = _interopRequireDefault(__webpack_require__(6863));
|
|
1232
1188
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1233
1189
|
const DEBUG = true;
|
|
1234
|
-
class Round
|
|
1190
|
+
class Round {
|
|
1235
1191
|
constructor(rules, game) {
|
|
1236
|
-
super(rules, game);
|
|
1237
1192
|
this.rules = rules;
|
|
1238
1193
|
this.game = game;
|
|
1239
1194
|
this.history = [];
|
|
1195
|
+
this.id = `${Math.random()}`;
|
|
1240
1196
|
this.actions = rules.actions?.map(actionRule => (0, _actionFactory.default)(actionRule, this.game));
|
|
1241
1197
|
}
|
|
1242
1198
|
getCorrectAction(actionPayload) {
|
|
@@ -1296,38 +1252,8 @@ module.exports = exports.default;
|
|
|
1296
1252
|
|
|
1297
1253
|
/***/ }),
|
|
1298
1254
|
|
|
1299
|
-
/***/ 6863:
|
|
1300
|
-
/***/ ((module, exports) => {
|
|
1301
|
-
|
|
1302
|
-
"use strict";
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
Object.defineProperty(exports, "__esModule", ({
|
|
1306
|
-
value: true
|
|
1307
|
-
}));
|
|
1308
|
-
exports["default"] = void 0;
|
|
1309
|
-
class Serializable {
|
|
1310
|
-
constructor() {
|
|
1311
|
-
// arguments must be simple objects, duck type gamestate object out
|
|
1312
|
-
this.args = [...arguments].filter(arg => !arg || arg.status === undefined);
|
|
1313
|
-
this.id = `${Math.random()}`;
|
|
1314
|
-
}
|
|
1315
|
-
toJSON() {
|
|
1316
|
-
const obj = {
|
|
1317
|
-
...this,
|
|
1318
|
-
constructorName: this.constructor.name
|
|
1319
|
-
};
|
|
1320
|
-
delete obj.game;
|
|
1321
|
-
return obj;
|
|
1322
|
-
}
|
|
1323
|
-
}
|
|
1324
|
-
exports["default"] = Serializable;
|
|
1325
|
-
module.exports = exports.default;
|
|
1326
|
-
|
|
1327
|
-
/***/ }),
|
|
1328
|
-
|
|
1329
1255
|
/***/ 7971:
|
|
1330
|
-
/***/ ((module, exports
|
|
1256
|
+
/***/ ((module, exports) => {
|
|
1331
1257
|
|
|
1332
1258
|
"use strict";
|
|
1333
1259
|
|
|
@@ -1336,14 +1262,12 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
1336
1262
|
value: true
|
|
1337
1263
|
}));
|
|
1338
1264
|
exports["default"] = void 0;
|
|
1339
|
-
|
|
1340
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
1341
|
-
class Space extends _serializable.default {
|
|
1265
|
+
class Space {
|
|
1342
1266
|
constructor(coordinates) {
|
|
1343
1267
|
let startingPieces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
1344
|
-
super(coordinates, startingPieces);
|
|
1345
1268
|
this.coordinates = coordinates;
|
|
1346
1269
|
this.pieces = startingPieces;
|
|
1270
|
+
this.id = `${Math.random()}`;
|
|
1347
1271
|
}
|
|
1348
1272
|
placePiece(piece) {
|
|
1349
1273
|
this.pieces.push(piece);
|
|
@@ -6958,6 +6882,109 @@ function toString(value) {
|
|
|
6958
6882
|
module.exports = toString;
|
|
6959
6883
|
|
|
6960
6884
|
|
|
6885
|
+
/***/ }),
|
|
6886
|
+
|
|
6887
|
+
/***/ 7627:
|
|
6888
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
6889
|
+
|
|
6890
|
+
"use strict";
|
|
6891
|
+
__webpack_require__.r(__webpack_exports__);
|
|
6892
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
6893
|
+
/* harmony export */ deserialize: () => (/* binding */ deserialize),
|
|
6894
|
+
/* harmony export */ serialize: () => (/* binding */ serialize)
|
|
6895
|
+
/* harmony export */ });
|
|
6896
|
+
function serialize (state, options) {
|
|
6897
|
+
// preliminary scan allows us to tag only duplicate instances
|
|
6898
|
+
const duplicatesMap = new Map([...walkCyclical(state).duplicates].map(d => [d, null]))
|
|
6899
|
+
|
|
6900
|
+
// Second pass: replace repeated instances with placeholders, add _constructorName
|
|
6901
|
+
return JSON.stringify(state, (_, value) => {
|
|
6902
|
+
if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
6903
|
+
const duplicateId = duplicatesMap.get(value)
|
|
6904
|
+
if (typeof duplicateId === 'number') {
|
|
6905
|
+
return { _instanceReference: duplicateId }
|
|
6906
|
+
}
|
|
6907
|
+
|
|
6908
|
+
const copy = Array.isArray(value) ? [...value] : { ...value }
|
|
6909
|
+
|
|
6910
|
+
if (duplicateId === null) {
|
|
6911
|
+
const id = Math.random()
|
|
6912
|
+
duplicatesMap.set(value, id)
|
|
6913
|
+
copy._instanceReferenceId = id
|
|
6914
|
+
}
|
|
6915
|
+
|
|
6916
|
+
if (value.constructor !== Object && value.constructor !== Array) {
|
|
6917
|
+
copy._constructorName = value.constructor.name
|
|
6918
|
+
}
|
|
6919
|
+
|
|
6920
|
+
return copy
|
|
6921
|
+
}
|
|
6922
|
+
|
|
6923
|
+
return value
|
|
6924
|
+
}, options?.space)
|
|
6925
|
+
}
|
|
6926
|
+
|
|
6927
|
+
function deserialize (serialized, registry) {
|
|
6928
|
+
const parsed = JSON.parse(serialized)
|
|
6929
|
+
const idMap = new Map()
|
|
6930
|
+
|
|
6931
|
+
// restore prototype, gather repeated instance placeholder meta
|
|
6932
|
+
walkCyclical(parsed, (node) => {
|
|
6933
|
+
if (node._instanceReferenceId != null) {
|
|
6934
|
+
const id = node._instanceReferenceId
|
|
6935
|
+
delete node._instanceReferenceId
|
|
6936
|
+
idMap.set(id, node)
|
|
6937
|
+
}
|
|
6938
|
+
|
|
6939
|
+
if (registry && node._constructorName) {
|
|
6940
|
+
const constructor = registry[node._constructorName]
|
|
6941
|
+
if (!constructor) {
|
|
6942
|
+
throw new Error(`Constructor ${node._constructorName} is not in registry`)
|
|
6943
|
+
}
|
|
6944
|
+
Object.setPrototypeOf(node, constructor.prototype)
|
|
6945
|
+
delete node._constructorName
|
|
6946
|
+
}
|
|
6947
|
+
})
|
|
6948
|
+
|
|
6949
|
+
// restore repeated instance references
|
|
6950
|
+
walkCyclical(parsed, (node, parent, key) => {
|
|
6951
|
+
if (node?._instanceReference != null) {
|
|
6952
|
+
const ref = idMap.get(node._instanceReference)
|
|
6953
|
+
if (!ref) {
|
|
6954
|
+
throw new Error(`Unknown _instanceReference: ${node._instanceReference}`)
|
|
6955
|
+
}
|
|
6956
|
+
parent[key] = ref
|
|
6957
|
+
}
|
|
6958
|
+
})
|
|
6959
|
+
|
|
6960
|
+
return parsed
|
|
6961
|
+
}
|
|
6962
|
+
|
|
6963
|
+
function walkCyclical (value, visitor, seen = new WeakSet(), parent = null, key = null, duplicates = new Set()) {
|
|
6964
|
+
if (typeof value !== 'object' || value === null) return duplicates
|
|
6965
|
+
|
|
6966
|
+
if (seen.has(value)) {
|
|
6967
|
+
duplicates.add(value)
|
|
6968
|
+
return
|
|
6969
|
+
}
|
|
6970
|
+
|
|
6971
|
+
seen.add(value)
|
|
6972
|
+
visitor?.(value, parent, key)
|
|
6973
|
+
|
|
6974
|
+
if (Array.isArray(value)) {
|
|
6975
|
+
for (let i = 0; i < value.length; i++) {
|
|
6976
|
+
walkCyclical(value[i], visitor, seen, value, i, duplicates)
|
|
6977
|
+
}
|
|
6978
|
+
} else {
|
|
6979
|
+
for (const k of Object.keys(value)) {
|
|
6980
|
+
walkCyclical(value[k], visitor, seen, value, k, duplicates)
|
|
6981
|
+
}
|
|
6982
|
+
}
|
|
6983
|
+
|
|
6984
|
+
return { duplicates }
|
|
6985
|
+
}
|
|
6986
|
+
|
|
6987
|
+
|
|
6961
6988
|
/***/ })
|
|
6962
6989
|
|
|
6963
6990
|
/******/ });
|
|
@@ -6990,6 +7017,18 @@ module.exports = toString;
|
|
|
6990
7017
|
/******/ }
|
|
6991
7018
|
/******/
|
|
6992
7019
|
/************************************************************************/
|
|
7020
|
+
/******/ /* webpack/runtime/define property getters */
|
|
7021
|
+
/******/ (() => {
|
|
7022
|
+
/******/ // define getter functions for harmony exports
|
|
7023
|
+
/******/ __webpack_require__.d = (exports, definition) => {
|
|
7024
|
+
/******/ for(var key in definition) {
|
|
7025
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
7026
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
7027
|
+
/******/ }
|
|
7028
|
+
/******/ }
|
|
7029
|
+
/******/ };
|
|
7030
|
+
/******/ })();
|
|
7031
|
+
/******/
|
|
6993
7032
|
/******/ /* webpack/runtime/global */
|
|
6994
7033
|
/******/ (() => {
|
|
6995
7034
|
/******/ __webpack_require__.g = (function() {
|
|
@@ -7002,6 +7041,22 @@ module.exports = toString;
|
|
|
7002
7041
|
/******/ })();
|
|
7003
7042
|
/******/ })();
|
|
7004
7043
|
/******/
|
|
7044
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
7045
|
+
/******/ (() => {
|
|
7046
|
+
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
7047
|
+
/******/ })();
|
|
7048
|
+
/******/
|
|
7049
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
7050
|
+
/******/ (() => {
|
|
7051
|
+
/******/ // define __esModule on exports
|
|
7052
|
+
/******/ __webpack_require__.r = (exports) => {
|
|
7053
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
7054
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
7055
|
+
/******/ }
|
|
7056
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
7057
|
+
/******/ };
|
|
7058
|
+
/******/ })();
|
|
7059
|
+
/******/
|
|
7005
7060
|
/******/ /* webpack/runtime/node module decorator */
|
|
7006
7061
|
/******/ (() => {
|
|
7007
7062
|
/******/ __webpack_require__.nmd = (module) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.BoardGameEngine=t():e.BoardGameEngine=t()}(this,(()=>(()=>{var e={9448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"movePiece"===e.type?new n.default(e,t):"swap"===e.type?new o.default(e,t):"selectPiece"===e.type?new a.default(e,t):void 0};var n=u(r(9278)),o=u(r(5149)),a=u(r(9645));function u(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},2655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(3534)),o=a(r(6863));function a(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{constructor(e,t){super(e,t),this.game=t,this.rules=e;const r=[{type:"actionTypeMatches",actionRule:this.rules},{type:"pieceMatches",actionRule:this.rules},{type:"isValidPlayer"}];this.conditions=[...r,...this.rules.conditions||[]].map((e=>(0,n.default)(e,t)))}assertIsValid(e){const t=this.conditions.filter((t=>!t.isMet(e)));if(t.length)throw console.log("=================="),console.log("unmetConditions",t),console.log("actionPayload",e),new Error("conditions not met ^")}do(){}}t.default=u,e.exports=t.default},9278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(2655)),o=u(r(6123)),a=u(r(4093));function u(e){return e&&e.__esModule?e:{default:e}}class s extends n.default{do(e){const t=(0,a.default)(e.piece,this.game);(0,o.default)(e.board,this.game).placePiece(e.target,t)}}t.default=s,e.exports=t.default},9645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(2655))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t)}do(e){let t;e.piece?.id?t=this.game.getPiece({id:e.piece?.id}):"player"===e.from&&(t=this.game.players.find((t=>t.id===e.playerId)).pieces.find((t=>t.name===e.piece.name)).getOne()),this.game.context.selectedPiece=t}}t.default=a,e.exports=t.default},5149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(2655))&&n.__esModule?n:{default:n};class a extends o.default{do(e){let t;"player"===e.from&&(t=this.game.players.find((t=>t.id===e.playerId)).pieces.find((t=>t.name===e.piece.name)).getOne()),this.game.get(e.board).placePiece(e.target,t)}}t.default=a,e.exports=t.default},9534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"grid"===e.type?new n.default(e,t):"stack"===e.type?new o.default(e,t):void console.log("missing board type:",e)};var n=a(r(893)),o=a(r(21));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},5059:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9578))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){this.sections=e.sections.map((()=>o.default.factory(e,t)))}}t.default=a,e.exports=t.default},9578:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6863))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.rule=e,this.player&&(this.player=t.player)}placePiece(e,t){}}t.default=a,e.exports=t.default},893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(8156)),o=u(r(9578)),a=u(r(7971));function u(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{constructor(e,t){super(e,t),this.grid=function(e){const t=e.width,r=e.height;if(!t||!r)throw new Error("No size provided for grid");const n=[];for(let e=0;e<r;e++){const r=[];for(let n=0;n<t;n++)r.push(new a.default([e,n]));n.push(r)}return n}(e)}getEmptySpaces(){const e=[];for(const t of this.grid)for(const r of t)r.isEmpty()&&e.push(r);return e}getSpace(e){return(0,n.default)(this.grid,e)}getPieces(e){return this.getSpace(e).pieces}placePiece(e,t){this.getSpace(e).placePiece(t)}}t.default=s,e.exports=t.default},21:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9578))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.stack=[]}placePiece(e,t){e||this.stack.push(t)}}t.default=a,e.exports=t.default},6829:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(e){return e.actionRule?.type===this.rules.actionType}}t.default=a,e.exports=t.default},3551:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(7213)),o=a(r(6123));function a(e){return e&&e.__esModule?e:{default:e}}class u extends n.default{isMet(){const e=(0,o.default)(this.rules.boardPath,this.game).grid,t=e.length;for(let r=0;r<t;r++)if(this.checkLine(e[r]))return!0;for(let r=0;r<t;r++){const n=[];for(let o=0;o<t;o++)n.push(e[o][r]);if(this.checkLine(n))return!0}const r=[],n=[];for(let o=0;o<t;o++)r.push(e[o][o]),n.push(e[o][t-1-o]);return!(!this.checkLine(r)&&!this.checkLine(n))}checkLine(e){return e.every((e=>e.pieces.some((e=>e.doesRuleMatch(this.rules.piece)))))}}t.default=u,e.exports=t.default},7963:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(7213)),o=a(r(6123));function a(e){return e&&e.__esModule?e:{default:e}}class u extends n.default{isMet(){return(0,o.default)(this.rules.boardPath,this.game).grid.every((e=>e.every((e=>!e.isEmpty()))))}}t.default=u,e.exports=t.default},3534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"contains"===e.type?new o.default(e,t):"doesNotContain"===e.type?new n.default(e,t):"bingo"===e.type?new a.default(e,t):"blackout"===e.type?new u.default(e,t):"some"===e.type?new s.default(e,t):"relativeMove"===e.type?new i.default(e,t):"actionTypeMatches"===e.type?new c.default(e,t):"isValidPlayer"===e.type?new l.default(e,t):"pieceMatches"===e.type?new f.default(e,t):void 0};var n=d(r(3790)),o=d(r(923)),a=d(r(3551)),u=d(r(7963)),s=d(r(7102)),i=d(r(3402)),c=d(r(6829)),l=d(r(3395)),f=d(r(226));function d(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},7213:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6863))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.rules=e,this.game=t}isMet(e){}}t.default=a,e.exports=t.default},923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1505)),o=a(r(7213));function a(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{isMet(e){return!!this.game.get(e.board).getPieces(e.target).filter(filterPieces).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(this.rules.piece)(e)}}t.default=u,e.exports=t.default},3790:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(1505)),o=u(r(7213)),a=u(r(6123));function u(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{isMet(e){return!(0,a.default)(e.board,this.game).getPieces(e.target).filter(this.filterPieces.bind(this)).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(e,this.rules.piece||{})}}t.default=s,e.exports=t.default},3395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(e){return this.game.players[this.game.currentRound.currentPlayerIndex].id===e.playerId}}t.default=a,e.exports=t.default},226:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=u(r(1505)),o=u(r(7213)),a=u(r(4093));function u(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{isMet(e){const t=(0,a.default)(e.piece,this.game);if(this.rules.actionRule?.piece&&!t)return console.error("no piece found"),!1;if(this.rules.actionRule?.piece){const e={...this.rules.actionRule.piece};return(0,n.default)(e)(t.rule)}return!0}}t.default=s,e.exports=t.default},3402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1505)),o=a(r(7213));function a(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{isMet(e){return!this.game.get(e.board).getPieces(e.target).filter(this.filterPieces.bind(this)).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(e,this.rules.piece={})}}t.default=u,e.exports=t.default},7102:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(){return this.rules.conditions.some((e=>new o.default(e).isMet()))}}t.default=a,e.exports=t.default},8989:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPathToRules=b,t.makeMove=function(e,t,r){if(!t)return{context:{},winner:null,status:"waiting",players:[]};const n=function(e){const t={},r=new Map,n=JSON.parse(JSON.stringify(e),(function(e,n){if(n?.constructorName){const e=r.get(n.id);if(e)return e;{const e=new d.registry[n.constructorName](...n.args,t);return Object.assign(e,n),r.set(e.id,e),e}}return n}));return Object.assign(t,n)}(t);if("done"===n.status)throw new Error("Game is over!");if(void 0===r)return n;if("join"===r?.type)return function(e,t,r){if(!(e.players.length<t.playerCountRange[1]))throw new Error("game is full!");e.players.push(new u.default(t.player,e.players.length,r.playerId))}(n,e,r),_(n);if("start"===r.type)return function(e,t){if(!(e.players.length>=t.playerCountRange[0]))throw new Error("not enough players");!function(e,t){(function(e){b(e)})(t),e.sharedBoard=Object.entries(t.sharedBoard).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:(0,a.default)({...n,path:["sharedBoard",r]})}}),{}),e.personalBoards=e.players.reduce(((e,r)=>({...e,[r.id]:Object.entries(t.personalBoard||[]).reduce(((e,t)=>{let[n,o]=t;return{...e,[n]:(0,a.default)({...o,path:["sharedBoard",n]},{player:r})}}),{})})),{}),e.pieces=t.pieces.reduce(((t,r)=>r.perPlayer?[...t,...e.players.map((e=>new l.default(r,{player:e})))]:[...t,new l.default(r)]),[]),t.initialPlacements?.forEach((t=>{t.perPlayer?e.players.forEach((r=>{h(t,r,{sharedBoard:e.sharedBoard,personalBoards:e.personalBoards,pieces:e.pieces})})):h(t,null,{sharedBoard:e.sharedBoard,personalBoards:e.personalBoards,pieces:e.pieces})}));const r=t.round.phases?t.round.phases[0]:t.round;e.currentRound=(0,s.default)(r,e),e.status="active"}(e,t)}(n,e),_(n);const o=v(r,n,e),c=n.currentRound;if(c.doAction(o),c.isOver(n))if(e.round.phases){const t=e.round.phases[n.currentRound.currentPhaseIndex];(0,s.default)(t,n).isOver(n)&&(n.currentRound.currentPhaseIndex++,n.currentRound.currentPhaseIndex>=e.round.phases.length&&(n.currentRound.currentPhaseIndex=0,n.currentRound.currentRoundIndex++))}else n.currentRound.currentRoundIndex++;const f=function(e,t){return e.players.find((r=>{const n={...t.winCondition,piece:{...t.winCondition.piece,player:r}};return(0,i.default)(n,e).isMet()}))||null}(n,e),p=function(e,t){return!(!t.drawCondition||!(0,i.default)(t.drawCondition,e).isMet())}(n,e);return(f||p)&&(n.status="done",n.winner=f),_(n)};var n=p(r(8055)),o=p(r(1505)),a=(p(r(5364)),p(r(9534))),u=p(r(6835)),s=p(r(6270)),i=p(r(3534)),c=p(r(9448)),l=p(r(1595)),f=p(r(4229)),d=r(8353);function p(e){return e&&e.__esModule?e:{default:e}}function v(e,t,r){const a=t.players.find((t=>t.id===e.playerId));if(!a&&"join"!==e.type&&"start"!==e.type)throw new Error("Invalid player ID");const u=r.pieces.find((t=>t.name===e.piece?.name)),s=(0,n.default)(e);return u?.perPlayer&&!s.player&&(s.piece.player={id:a.id}),s.board||(s.board=function(e,t){return function(e,t,r){const n={personalBoards:t.personalBoards,sharedBoard:t.sharedBoard,pieces:t.pieces};return Array.from((0,f.default)(n,(0,o.default)(e))).filter((e=>"rule"!==e[e.length-1])).sort((e=>"pieces"===e[0]?1:-1)).map((e=>y(e,r)))}(e,t,void 0)[0]}(s.piece,t)),s.board=y(s.board,{player:a}),s}function h(e,t,r){const n=e.action,o=e.payload||{};t&&(o.player=t),Array.from(new Array(e.count||1)).forEach((()=>{(0,c.default)(n,r).do(v(o,r,rules))}))}function y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"personalBoard"===e[0]&&t.player?["personalBoards",t.player.id.toString(),...e.slice(1)]:e}function b(e){const t=["phases","rounds"];function r(e,n){if(e&&"object"==typeof e){e.path=n.join(".");for(const o of t){const t=e[o];Array.isArray(t)&&t.forEach(((e,t)=>{r(e,n.concat(o,t))}))}}}e.round&&"object"==typeof e.round&&r(e.round,["round"]),Array.isArray(e.rounds)&&e.rounds.forEach(((e,t)=>r(e,["rounds",t])))}function _(e){return JSON.parse(JSON.stringify(e,((e,t)=>t)))}},4570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return new o.default(e,t)};var n,o=(n=r(5923))&&n.__esModule?n:{default:n};e.exports=t.default},5923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6863))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.rule=e,void 0!==t.player&&({player:this.player}=t)}doesRuleMatch(e){return void 0===e.player||e.player===this.player}}t.default=a,e.exports=t.default},1595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(4570)),o=a(r(6863));function a(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(e,t),this.pieceRule=e,this.name=e.name,t.player&&(this.player=t.player),this.options=t,this.pool=(e.variants?Object.entries(e.variants):[]).reduce(((t,r)=>{let[o,a]=r;const u=a.count||1;return[...t,...Array.from(Array(u)).map((t=>(0,n.default)({...{...e,variantId:o},...a},this.options)))]}),[]),e.shuffled&&(this.pool=this.pool.map((e=>({value:e,sort:Math.random()}))).sort(((e,t)=>e.sort-t.sort)).map((e=>{let{value:t}=e;return t}))),this.count=this.pool.length||e.count}getOne(){return this.getMultiple(1)[0]}getMultiple(e){const t=[];if(void 0===this.count||this.count>=e){this.count&&(this.count-=e);const r=e-this.pool.length;t.push(...this.pool.splice(0,e)),r>0&&t.push(...Array.from(new Array(r)).map((()=>(0,n.default)(this.pieceRule,this.options))))}return t}put(e){void 0!==this.count&&(this.count+=1),this.pool.push(e)}}t.default=u,e.exports=t.default},6835:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6863))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t,r){super(e,t,r),this.rule=e,this.index=t,r&&(this.id=r)}}t.default=a,e.exports=t.default},8353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registry=void 0;var n=S(r(2655)),o=S(r(9278)),a=S(r(9645)),u=S(r(5149)),s=S(r(5059)),i=S(r(9578)),c=S(r(893)),l=S(r(21)),f=S(r(6829)),d=S(r(3551)),p=S(r(7963)),v=S(r(7213)),h=S(r(923)),y=S(r(3790)),b=S(r(3395)),_=S(r(226)),x=S(r(3402)),g=S(r(7102)),j=S(r(5923)),w=S(r(1595)),O=S(r(6835)),m=S(r(4221)),M=S(r(7820)),P=S(r(6863)),A=S(r(7971));function S(e){return e&&e.__esModule?e:{default:e}}t.registry={Action:n.default,MovePieceAction:o.default,SelectPieceAction:a.default,SwapAction:u.default,BoardGroup:s.default,Board:i.default,Grid:c.default,Stack:l.default,ActionTypeMatchesCondition:f.default,BingoCondition:d.default,BlackoutCondition:p.default,Condition:v.default,ContainsCondition:h.default,DoesNotContainCondition:y.default,IsValidPlayerCondition:b.default,PieceMatchesCondition:_.default,RelativeMoveCondition:x.default,SomeCondition:g.default,Piece:j.default,Pile:w.default,Player:O.default,Round:m.default,SequentialPlayerTurn:M.default,Serializable:P.default,Space:A.default}},6270:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("sequentialPlayerTurn"===e.type)return new o.default(e,t)};var n,o=(n=r(7820))&&n.__esModule?n:{default:n};e.exports=t.default},4221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(9448)),o=a(r(6863));function a(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{constructor(e,t){super(e,t),this.rules=e,this.game=t,this.history=[],this.actions=e.actions?.map((e=>(0,n.default)(e,this.game)))}getCorrectAction(e){for(const t of this.actions)try{return t.assertIsValid(e),t}catch(e){throw e}throw new Error(`Invalid Action: ${JSON.stringify(e)}`)}doAction(e){this.getCorrectAction(e).do(e,this.game),this.afterDoAction(),this.history.push(e)}isOver(){return!0}afterDoAction(){}}t.default=u,e.exports=t.default},7820:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(4221))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.currentPlayerIndex=0}afterDoAction(){this.currentPlayerIndex=(this.currentPlayerIndex+1)%this.game.players.length}isOver(){return this.game.players.every((e=>this.history.some((t=>t===e))))}}t.default=a,e.exports=t.default},6863:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(){this.args=[...arguments].filter((e=>!e||void 0===e.status)),this.id=`${Math.random()}`}toJSON(){const e={...this,constructorName:this.constructor.name};return delete e.game,e}},e.exports=t.default},7971:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(6863))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];super(e,t),this.coordinates=e,this.pieces=t}placePiece(e){this.pieces.push(e)}isEmpty(){return 0===this.pieces.length}}t.default=a,e.exports=t.default},4229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Set,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Set;if(o.has(t))return a;if(o.add(t),r(t)&&a.add(n),"object"==typeof t&&null!==t)for(const u in t){const s=[...n,u];e(t[u],r,s,o,a).length&&a.add(n)}return a},e.exports=t.default},6123:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(e))return(0,o.default)(t,e);const r=new WeakSet;return function t(n){if(!n||"object"!=typeof n)return null;if(r.has(n))return null;if(r.add(n),n.id===e.id)return n;if(n.grid&&Array.isArray(n.grid))for(const e of n.grid)for(const r of e){const e=t(r);if(e)return e}for(const e of Object.values(n)){const r=t(e);if(r)return r}return null}(t)};var n,o=(n=r(8156))&&n.__esModule?n:{default:n};e.exports=t.default},4093:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e?.id){const r=[t.sharedBoard,t.personalBoards];for(;r.length;){const t=r.pop();if(t)if(Array.isArray(t))r.push(...t);else if(t.grid)for(const e of t.grid)r.push(...e);else if(t.coordinates&&t.pieces){const r=t.pieces.find((t=>t.id===e.id));if(r)return r}else"object"==typeof t&&r.push(...Object.values(t))}return null}let r;if(r=e?t.pieces.find((t=>t.name===e.name&&(!t.player||t.player.id===e.player?.id))):t.pieces.find((e=>"playerMarker"===e.name&&(!e.player||e.player.id===t.players[t.currentRound.currentPlayerIndex].id))),!r)throw new Error(`No piece group found for ${e.name}`);return r.getOne()},e.exports=t.default},5580:(e,t,r)=>{var n=r(6110)(r(9325),"DataView");e.exports=n},1549:(e,t,r)=>{var n=r(2032),o=r(3862),a=r(6721),u=r(2749),s=r(5749);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=s,e.exports=i},79:(e,t,r)=>{var n=r(3702),o=r(80),a=r(4739),u=r(8655),s=r(1175);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=s,e.exports=i},8223:(e,t,r)=>{var n=r(6110)(r(9325),"Map");e.exports=n},3661:(e,t,r)=>{var n=r(3040),o=r(7670),a=r(289),u=r(4509),s=r(2949);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=u,i.prototype.set=s,e.exports=i},2804:(e,t,r)=>{var n=r(6110)(r(9325),"Promise");e.exports=n},6545:(e,t,r)=>{var n=r(6110)(r(9325),"Set");e.exports=n},8859:(e,t,r)=>{var n=r(3661),o=r(1380),a=r(1459);function u(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}u.prototype.add=u.prototype.push=o,u.prototype.has=a,e.exports=u},7217:(e,t,r)=>{var n=r(79),o=r(1420),a=r(938),u=r(3605),s=r(9817),i=r(945);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=u,c.prototype.has=s,c.prototype.set=i,e.exports=c},1873:(e,t,r)=>{var n=r(9325).Symbol;e.exports=n},7828:(e,t,r)=>{var n=r(9325).Uint8Array;e.exports=n},8303:(e,t,r)=>{var n=r(6110)(r(9325),"WeakMap");e.exports=n},1033:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},3729:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},9770:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var u=e[r];t(u,r,e)&&(a[o++]=u)}return a}},695:(e,t,r)=>{var n=r(8096),o=r(2428),a=r(6449),u=r(3656),s=r(361),i=r(7167),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),l=!r&&o(e),f=!r&&!l&&u(e),d=!r&&!l&&!f&&i(e),p=r||l||f||d,v=p?n(e.length,String):[],h=v.length;for(var y in e)!t&&!c.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||s(y,h))||v.push(y);return v}},4932:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},4528:e=>{e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},4248:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},7805:(e,t,r)=>{var n=r(3360),o=r(5288);e.exports=function(e,t,r){(void 0!==r&&!o(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},6547:(e,t,r)=>{var n=r(3360),o=r(5288),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var u=e[t];a.call(e,t)&&o(u,r)&&(void 0!==r||t in e)||n(e,t,r)}},6025:(e,t,r)=>{var n=r(5288);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},4733:(e,t,r)=>{var n=r(1791),o=r(5950);e.exports=function(e,t){return e&&n(t,o(t),e)}},3838:(e,t,r)=>{var n=r(1791),o=r(7241);e.exports=function(e,t){return e&&n(t,o(t),e)}},3360:(e,t,r)=>{var n=r(3243);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},9999:(e,t,r)=>{var n=r(7217),o=r(3729),a=r(6547),u=r(4733),s=r(3838),i=r(3290),c=r(3007),l=r(2271),f=r(8948),d=r(2),p=r(3349),v=r(5861),h=r(6189),y=r(7199),b=r(5529),_=r(6449),x=r(3656),g=r(7730),j=r(3805),w=r(8440),O=r(5950),m=r(7241),M="[object Arguments]",P="[object Function]",A="[object Object]",S={};S[M]=S["[object Array]"]=S["[object ArrayBuffer]"]=S["[object DataView]"]=S["[object Boolean]"]=S["[object Date]"]=S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Map]"]=S["[object Number]"]=S[A]=S["[object RegExp]"]=S["[object Set]"]=S["[object String]"]=S["[object Symbol]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S["[object Error]"]=S[P]=S["[object WeakMap]"]=!1,e.exports=function e(t,r,B,I,E,R){var C,k=1&r,z=2&r,T=4&r;if(B&&(C=E?B(t,I,E,R):B(t)),void 0!==C)return C;if(!j(t))return t;var N=_(t);if(N){if(C=h(t),!k)return c(t,C)}else{var F=v(t),D=F==P||"[object GeneratorFunction]"==F;if(x(t))return i(t,k);if(F==A||F==M||D&&!E){if(C=z||D?{}:b(t),!k)return z?f(t,s(C,t)):l(t,u(C,t))}else{if(!S[F])return E?t:{};C=y(t,F,k)}}R||(R=new n);var U=R.get(t);if(U)return U;R.set(t,C),w(t)?t.forEach((function(n){C.add(e(n,r,B,n,t,R))})):g(t)&&t.forEach((function(n,o){C.set(o,e(n,r,B,o,t,R))}));var $=N?void 0:(T?z?p:d:z?m:O)(t);return o($||t,(function(n,o){$&&(n=t[o=n]),a(C,o,e(n,r,B,o,t,R))})),C}},9344:(e,t,r)=>{var n=r(3805),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},6649:(e,t,r)=>{var n=r(3221)();e.exports=n},7422:(e,t,r)=>{var n=r(1769),o=r(7797);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},2199:(e,t,r)=>{var n=r(4528),o=r(6449);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},2552:(e,t,r)=>{var n=r(1873),o=r(659),a=r(9350),u=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":u&&u in Object(e)?o(e):a(e)}},7534:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},270:(e,t,r)=>{var n=r(7068),o=r(346);e.exports=function e(t,r,a,u,s){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,u,e,s))}},7068:(e,t,r)=>{var n=r(7217),o=r(5911),a=r(1986),u=r(689),s=r(5861),i=r(6449),c=r(3656),l=r(7167),f="[object Arguments]",d="[object Array]",p="[object Object]",v=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,h,y,b){var _=i(e),x=i(t),g=_?d:s(e),j=x?d:s(t),w=(g=g==f?p:g)==p,O=(j=j==f?p:j)==p,m=g==j;if(m&&c(e)){if(!c(t))return!1;_=!0,w=!1}if(m&&!w)return b||(b=new n),_||l(e)?o(e,t,r,h,y,b):a(e,t,g,r,h,y,b);if(!(1&r)){var M=w&&v.call(e,"__wrapped__"),P=O&&v.call(t,"__wrapped__");if(M||P){var A=M?e.value():e,S=P?t.value():t;return b||(b=new n),y(A,S,r,h,b)}}return!!m&&(b||(b=new n),u(e,t,r,h,y,b))}},9172:(e,t,r)=>{var n=r(5861),o=r(346);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},1799:(e,t,r)=>{var n=r(7217),o=r(270);e.exports=function(e,t,r,a){var u=r.length,s=u,i=!a;if(null==e)return!s;for(e=Object(e);u--;){var c=r[u];if(i&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++u<s;){var l=(c=r[u])[0],f=e[l],d=c[1];if(i&&c[2]){if(void 0===f&&!(l in e))return!1}else{var p=new n;if(a)var v=a(f,d,l,e,t,p);if(!(void 0===v?o(d,f,3,a,p):v))return!1}}return!0}},5083:(e,t,r)=>{var n=r(1882),o=r(7296),a=r(3805),u=r(7473),s=/^\[object .+?Constructor\]$/,i=Function.prototype,c=Object.prototype,l=i.toString,f=c.hasOwnProperty,d=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?d:s).test(u(e))}},6038:(e,t,r)=>{var n=r(5861),o=r(346);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},4901:(e,t,r)=>{var n=r(2552),o=r(294),a=r(346),u={};u["[object Float32Array]"]=u["[object Float64Array]"]=u["[object Int8Array]"]=u["[object Int16Array]"]=u["[object Int32Array]"]=u["[object Uint8Array]"]=u["[object Uint8ClampedArray]"]=u["[object Uint16Array]"]=u["[object Uint32Array]"]=!0,u["[object Arguments]"]=u["[object Array]"]=u["[object ArrayBuffer]"]=u["[object Boolean]"]=u["[object DataView]"]=u["[object Date]"]=u["[object Error]"]=u["[object Function]"]=u["[object Map]"]=u["[object Number]"]=u["[object Object]"]=u["[object RegExp]"]=u["[object Set]"]=u["[object String]"]=u["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!u[n(e)]}},8984:(e,t,r)=>{var n=r(5527),o=r(3650),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},2903:(e,t,r)=>{var n=r(3805),o=r(5527),a=r(181),u=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var s in e)("constructor"!=s||!t&&u.call(e,s))&&r.push(s);return r}},3663:(e,t,r)=>{var n=r(1799),o=r(776),a=r(7197);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},5250:(e,t,r)=>{var n=r(7217),o=r(7805),a=r(6649),u=r(2824),s=r(3805),i=r(7241),c=r(4974);e.exports=function e(t,r,l,f,d){t!==r&&a(r,(function(a,i){if(d||(d=new n),s(a))u(t,r,i,l,e,f,d);else{var p=f?f(c(t,i),a,i+"",t,r,d):void 0;void 0===p&&(p=a),o(t,i,p)}}),i)}},2824:(e,t,r)=>{var n=r(7805),o=r(3290),a=r(1961),u=r(3007),s=r(5529),i=r(2428),c=r(6449),l=r(3693),f=r(3656),d=r(1882),p=r(3805),v=r(1331),h=r(7167),y=r(4974),b=r(9884);e.exports=function(e,t,r,_,x,g,j){var w=y(e,r),O=y(t,r),m=j.get(O);if(m)n(e,r,m);else{var M=g?g(w,O,r+"",e,t,j):void 0,P=void 0===M;if(P){var A=c(O),S=!A&&f(O),B=!A&&!S&&h(O);M=O,A||S||B?c(w)?M=w:l(w)?M=u(w):S?(P=!1,M=o(O,!0)):B?(P=!1,M=a(O,!0)):M=[]:v(O)||i(O)?(M=w,i(w)?M=b(w):p(w)&&!d(w)||(M=s(O))):P=!1}P&&(j.set(O,M),x(M,O,_,g,j),j.delete(O)),n(e,r,M)}}},9302:(e,t,r)=>{var n=r(3488),o=r(6757),a=r(2865);e.exports=function(e,t){return a(o(e,t,n),e+"")}},9570:(e,t,r)=>{var n=r(7334),o=r(3243),a=r(3488),u=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:a;e.exports=u},8096:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7556:(e,t,r)=>{var n=r(1873),o=r(4932),a=r(6449),u=r(4394),s=n?n.prototype:void 0,i=s?s.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return o(t,e)+"";if(u(t))return i?i.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},7301:e=>{e.exports=function(e){return function(t){return e(t)}}},9219:e=>{e.exports=function(e,t){return e.has(t)}},1769:(e,t,r)=>{var n=r(6449),o=r(8586),a=r(1802),u=r(3222);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(u(e))}},9653:(e,t,r)=>{var n=r(7828);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},3290:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o?n.Buffer:void 0,s=u?u.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=s?s(r):new e.constructor(r);return e.copy(n),n}},6169:(e,t,r)=>{var n=r(9653);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},3201:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},3736:(e,t,r)=>{var n=r(1873),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1961:(e,t,r)=>{var n=r(9653);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},3007:e=>{e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},1791:(e,t,r)=>{var n=r(6547),o=r(3360);e.exports=function(e,t,r,a){var u=!r;r||(r={});for(var s=-1,i=t.length;++s<i;){var c=t[s],l=a?a(r[c],e[c],c,r,e):void 0;void 0===l&&(l=e[c]),u?o(r,c,l):n(r,c,l)}return r}},2271:(e,t,r)=>{var n=r(1791),o=r(4664);e.exports=function(e,t){return n(e,o(e),t)}},8948:(e,t,r)=>{var n=r(1791),o=r(6375);e.exports=function(e,t){return n(e,o(e),t)}},5481:(e,t,r)=>{var n=r(9325)["__core-js_shared__"];e.exports=n},999:(e,t,r)=>{var n=r(9302),o=r(6800);e.exports=function(e){return n((function(t,r){var n=-1,a=r.length,u=a>1?r[a-1]:void 0,s=a>2?r[2]:void 0;for(u=e.length>3&&"function"==typeof u?(a--,u):void 0,s&&o(r[0],r[1],s)&&(u=a<3?void 0:u,a=1),t=Object(t);++n<a;){var i=r[n];i&&e(t,i,n,u)}return t}))}},3221:e=>{e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),u=n(t),s=u.length;s--;){var i=u[e?s:++o];if(!1===r(a[i],i,a))break}return t}}},3243:(e,t,r)=>{var n=r(6110),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},5911:(e,t,r)=>{var n=r(8859),o=r(4248),a=r(9219);e.exports=function(e,t,r,u,s,i){var c=1&r,l=e.length,f=t.length;if(l!=f&&!(c&&f>l))return!1;var d=i.get(e),p=i.get(t);if(d&&p)return d==t&&p==e;var v=-1,h=!0,y=2&r?new n:void 0;for(i.set(e,t),i.set(t,e);++v<l;){var b=e[v],_=t[v];if(u)var x=c?u(_,b,v,t,e,i):u(b,_,v,e,t,i);if(void 0!==x){if(x)continue;h=!1;break}if(y){if(!o(t,(function(e,t){if(!a(y,t)&&(b===e||s(b,e,r,u,i)))return y.push(t)}))){h=!1;break}}else if(b!==_&&!s(b,_,r,u,i)){h=!1;break}}return i.delete(e),i.delete(t),h}},1986:(e,t,r)=>{var n=r(1873),o=r(7828),a=r(5288),u=r(5911),s=r(317),i=r(4247),c=n?n.prototype:void 0,l=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,f,d){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!f(new o(e),new o(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var p=s;case"[object Set]":var v=1&n;if(p||(p=i),e.size!=t.size&&!v)return!1;var h=d.get(e);if(h)return h==t;n|=2,d.set(e,t);var y=u(p(e),p(t),n,c,f,d);return d.delete(e),y;case"[object Symbol]":if(l)return l.call(e)==l.call(t)}return!1}},689:(e,t,r)=>{var n=r(2),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,u,s){var i=1&r,c=n(e),l=c.length;if(l!=n(t).length&&!i)return!1;for(var f=l;f--;){var d=c[f];if(!(i?d in t:o.call(t,d)))return!1}var p=s.get(e),v=s.get(t);if(p&&v)return p==t&&v==e;var h=!0;s.set(e,t),s.set(t,e);for(var y=i;++f<l;){var b=e[d=c[f]],_=t[d];if(a)var x=i?a(_,b,d,t,e,s):a(b,_,d,e,t,s);if(!(void 0===x?b===_||u(b,_,r,a,s):x)){h=!1;break}y||(y="constructor"==d)}if(h&&!y){var g=e.constructor,j=t.constructor;g==j||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j||(h=!1)}return s.delete(e),s.delete(t),h}},4840:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},2:(e,t,r)=>{var n=r(2199),o=r(4664),a=r(5950);e.exports=function(e){return n(e,a,o)}},3349:(e,t,r)=>{var n=r(2199),o=r(6375),a=r(7241);e.exports=function(e){return n(e,a,o)}},2651:(e,t,r)=>{var n=r(4218);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},776:(e,t,r)=>{var n=r(756),o=r(5950);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],u=e[a];t[r]=[a,u,n(u)]}return t}},6110:(e,t,r)=>{var n=r(5083),o=r(392);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},8879:(e,t,r)=>{var n=r(4335)(Object.getPrototypeOf,Object);e.exports=n},659:(e,t,r)=>{var n=r(1873),o=Object.prototype,a=o.hasOwnProperty,u=o.toString,s=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(e){}var o=u.call(e);return n&&(t?e[s]=r:delete e[s]),o}},4664:(e,t,r)=>{var n=r(9770),o=r(3345),a=Object.prototype.propertyIsEnumerable,u=Object.getOwnPropertySymbols,s=u?function(e){return null==e?[]:(e=Object(e),n(u(e),(function(t){return a.call(e,t)})))}:o;e.exports=s},6375:(e,t,r)=>{var n=r(4528),o=r(8879),a=r(4664),u=r(3345),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:u;e.exports=s},5861:(e,t,r)=>{var n=r(5580),o=r(8223),a=r(2804),u=r(6545),s=r(8303),i=r(2552),c=r(7473),l="[object Map]",f="[object Promise]",d="[object Set]",p="[object WeakMap]",v="[object DataView]",h=c(n),y=c(o),b=c(a),_=c(u),x=c(s),g=i;(n&&g(new n(new ArrayBuffer(1)))!=v||o&&g(new o)!=l||a&&g(a.resolve())!=f||u&&g(new u)!=d||s&&g(new s)!=p)&&(g=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case h:return v;case y:return l;case b:return f;case _:return d;case x:return p}return t}),e.exports=g},392:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},2032:(e,t,r)=>{var n=r(1042);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3862:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},6721:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},2749:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},5749:(e,t,r)=>{var n=r(1042);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},6189:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},7199:(e,t,r)=>{var n=r(9653),o=r(6169),a=r(3201),u=r(3736),s=r(1961);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return s(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return u(e)}}},5529:(e,t,r)=>{var n=r(9344),o=r(8879),a=r(5527);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},361:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},6800:(e,t,r)=>{var n=r(5288),o=r(4894),a=r(361),u=r(3805);e.exports=function(e,t,r){if(!u(r))return!1;var s=typeof t;return!!("number"==s?o(r)&&a(t,r.length):"string"==s&&t in r)&&n(r[t],e)}},8586:(e,t,r)=>{var n=r(6449),o=r(4394),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||u.test(e)||!a.test(e)||null!=t&&e in Object(t)}},4218:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},7296:(e,t,r)=>{var n,o=r(5481),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},5527:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},756:(e,t,r)=>{var n=r(3805);e.exports=function(e){return e==e&&!n(e)}},3702:e=>{e.exports=function(){this.__data__=[],this.size=0}},80:(e,t,r)=>{var n=r(6025),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():o.call(t,r,1),--this.size,0))}},4739:(e,t,r)=>{var n=r(6025);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},8655:(e,t,r)=>{var n=r(6025);e.exports=function(e){return n(this.__data__,e)>-1}},1175:(e,t,r)=>{var n=r(6025);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},3040:(e,t,r)=>{var n=r(1549),o=r(79),a=r(8223);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},7670:(e,t,r)=>{var n=r(2651);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},289:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).get(e)}},4509:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).has(e)}},2949:(e,t,r)=>{var n=r(2651);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},317:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},7197:e=>{e.exports=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}},2224:(e,t,r)=>{var n=r(104);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},1042:(e,t,r)=>{var n=r(6110)(Object,"create");e.exports=n},3650:(e,t,r)=>{var n=r(4335)(Object.keys,Object);e.exports=n},181:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},6009:(e,t,r)=>{e=r.nmd(e);var n=r(4840),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,u=a&&a.exports===o&&n.process,s=function(){try{return a&&a.require&&a.require("util").types||u&&u.binding&&u.binding("util")}catch(e){}}();e.exports=s},9350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},4335:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},6757:(e,t,r)=>{var n=r(1033),o=Math.max;e.exports=function(e,t,r){return t=o(void 0===t?e.length-1:t,0),function(){for(var a=arguments,u=-1,s=o(a.length-t,0),i=Array(s);++u<s;)i[u]=a[t+u];u=-1;for(var c=Array(t+1);++u<t;)c[u]=a[u];return c[t]=r(i),n(e,this,c)}}},9325:(e,t,r)=>{var n=r(4840),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},4974:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},1380:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},1459:e=>{e.exports=function(e){return this.__data__.has(e)}},4247:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},2865:(e,t,r)=>{var n=r(9570),o=r(1811)(n);e.exports=o},1811:e=>{var t=Date.now;e.exports=function(e){var r=0,n=0;return function(){var o=t(),a=16-(o-n);if(n=o,a>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},1420:(e,t,r)=>{var n=r(79);e.exports=function(){this.__data__=new n,this.size=0}},938:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},3605:e=>{e.exports=function(e){return this.__data__.get(e)}},9817:e=>{e.exports=function(e){return this.__data__.has(e)}},945:(e,t,r)=>{var n=r(79),o=r(8223),a=r(3661);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var u=r.__data__;if(!o||u.length<199)return u.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(u)}return r.set(e,t),this.size=r.size,this}},1802:(e,t,r)=>{var n=r(2224),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,u=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,"$1"):r||e)})),t}));e.exports=u},7797:(e,t,r)=>{var n=r(4394);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},7473:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},8055:(e,t,r)=>{var n=r(9999);e.exports=function(e){return n(e,5)}},7334:e=>{e.exports=function(e){return function(){return e}}},5288:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},8156:(e,t,r)=>{var n=r(7422);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},3488:e=>{e.exports=function(e){return e}},2428:(e,t,r)=>{var n=r(7534),o=r(346),a=Object.prototype,u=a.hasOwnProperty,s=a.propertyIsEnumerable,i=n(function(){return arguments}())?n:function(e){return o(e)&&u.call(e,"callee")&&!s.call(e,"callee")};e.exports=i},6449:e=>{var t=Array.isArray;e.exports=t},4894:(e,t,r)=>{var n=r(1882),o=r(294);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},3693:(e,t,r)=>{var n=r(4894),o=r(346);e.exports=function(e){return o(e)&&n(e)}},3656:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=r(9935),a=t&&!t.nodeType&&t,u=a&&e&&!e.nodeType&&e,s=u&&u.exports===a?n.Buffer:void 0,i=(s?s.isBuffer:void 0)||o;e.exports=i},1882:(e,t,r)=>{var n=r(2552),o=r(3805);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},294:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},7730:(e,t,r)=>{var n=r(9172),o=r(7301),a=r(6009),u=a&&a.isMap,s=u?o(u):n;e.exports=s},3805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},1331:(e,t,r)=>{var n=r(2552),o=r(8879),a=r(346),u=Function.prototype,s=Object.prototype,i=u.toString,c=s.hasOwnProperty,l=i.call(Object);e.exports=function(e){if(!a(e)||"[object Object]"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&i.call(r)==l}},8440:(e,t,r)=>{var n=r(6038),o=r(7301),a=r(6009),u=a&&a.isSet,s=u?o(u):n;e.exports=s},4394:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},7167:(e,t,r)=>{var n=r(4901),o=r(7301),a=r(6009),u=a&&a.isTypedArray,s=u?o(u):n;e.exports=s},5950:(e,t,r)=>{var n=r(695),o=r(8984),a=r(4894);e.exports=function(e){return a(e)?n(e):o(e)}},7241:(e,t,r)=>{var n=r(695),o=r(2903),a=r(4894);e.exports=function(e){return a(e)?n(e,!0):o(e)}},1505:(e,t,r)=>{var n=r(9999),o=r(3663);e.exports=function(e){return o(n(e,1))}},104:(e,t,r)=>{var n=r(3661);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var u=e.apply(this,n);return r.cache=a.set(o,u)||a,u};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},5364:(e,t,r)=>{var n=r(5250),o=r(999)((function(e,t,r){n(e,t,r)}));e.exports=o},3345:e=>{e.exports=function(){return[]}},9935:e=>{e.exports=function(){return!1}},9884:(e,t,r)=>{var n=r(1791),o=r(7241);e.exports=function(e){return n(e,o(e))}},3222:(e,t,r)=>{var n=r(7556);e.exports=function(e){return null==e?"":n(e)}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n](a,a.exports,r),a.loaded=!0,a.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};return(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"makeMove",{enumerable:!0,get:function(){return t.makeMove}});var t=r(8989)})(),n})()));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.BoardGameEngine=t():e.BoardGameEngine=t()}(this,(()=>(()=>{var e={9448:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"movePiece"===e.type?new n.default(e,t):"swap"===e.type?new o.default(e,t):"selectPiece"===e.type?new a.default(e,t):void 0};var n=s(r(9278)),o=s(r(5149)),a=s(r(9645));function s(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},2655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(3534))&&n.__esModule?n:{default:n};t.default=class{constructor(e,t){this.game=t,this.rules=e,this.id=`${Math.random()}`;const r=[{type:"actionTypeMatches",actionRule:this.rules},{type:"pieceMatches",actionRule:this.rules},{type:"isValidPlayer"}];this.conditions=[...r,...this.rules.conditions||[]].map((e=>(0,o.default)(e,t)))}assertIsValid(e){const t=this.conditions.filter((t=>!t.isMet(e)));if(t.length)throw console.log("=================="),console.log("unmetConditions",t),console.log("actionPayload",e),new Error("conditions not met ^")}do(){}},e.exports=t.default},9278:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(2655)),o=s(r(6123)),a=s(r(4093));function s(e){return e&&e.__esModule?e:{default:e}}class u extends n.default{do(e){const t=(0,a.default)(e.piece,this.game);(0,o.default)(e.board,this.game).placePiece(e.target,t)}}t.default=u,e.exports=t.default},9645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(2655))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t)}do(e){let t;e.piece?.id?t=this.game.getPiece({id:e.piece?.id}):"player"===e.from&&(t=this.game.players.find((t=>t.id===e.playerId)).pieces.find((t=>t.name===e.piece.name)).getOne()),this.game.context.selectedPiece=t}}t.default=a,e.exports=t.default},5149:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(2655))&&n.__esModule?n:{default:n};class a extends o.default{do(e){let t;"player"===e.from&&(t=this.game.players.find((t=>t.id===e.playerId)).pieces.find((t=>t.name===e.piece.name)).getOne()),this.game.get(e.board).placePiece(e.target,t)}}t.default=a,e.exports=t.default},9534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"grid"===e.type?new n.default(e,t):"stack"===e.type?new o.default(e,t):void console.log("missing board type:",e)};var n=a(r(893)),o=a(r(21));function a(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},5059:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9578))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){this.sections=e.sections.map((()=>o.default.factory(e,t)))}}t.default=a,e.exports=t.default},9578:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.rule=e,this.id=`${Math.random()}`,this.player&&(this.player=t.player)}placePiece(e,t){}},e.exports=t.default},893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(8156)),o=s(r(9578)),a=s(r(7971));function s(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{constructor(e,t){super(e,t),this.grid=function(e){const t=e.width,r=e.height;if(!t||!r)throw new Error("No size provided for grid");const n=[];for(let e=0;e<r;e++){const r=[];for(let n=0;n<t;n++)r.push(new a.default([e,n]));n.push(r)}return n}(e)}getEmptySpaces(){const e=[];for(const t of this.grid)for(const r of t)r.isEmpty()&&e.push(r);return e}getSpace(e){return(0,n.default)(this.grid,e)}getPieces(e){return this.getSpace(e).pieces}placePiece(e,t){this.getSpace(e).placePiece(t)}}t.default=u,e.exports=t.default},21:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9578))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.stack=[]}placePiece(e,t){e||this.stack.push(t)}}t.default=a,e.exports=t.default},6829:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(e){return e.actionRule?.type===this.rules.actionType}}t.default=a,e.exports=t.default},3551:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(7213)),o=a(r(6123));function a(e){return e&&e.__esModule?e:{default:e}}class s extends n.default{isMet(){const e=(0,o.default)(this.rules.boardPath,this.game).grid,t=e.length;for(let r=0;r<t;r++)if(this.checkLine(e[r]))return!0;for(let r=0;r<t;r++){const n=[];for(let o=0;o<t;o++)n.push(e[o][r]);if(this.checkLine(n))return!0}const r=[],n=[];for(let o=0;o<t;o++)r.push(e[o][o]),n.push(e[o][t-1-o]);return!(!this.checkLine(r)&&!this.checkLine(n))}checkLine(e){return e.every((e=>e.pieces.some((e=>e.doesRuleMatch(this.rules.piece)))))}}t.default=s,e.exports=t.default},7963:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(7213)),o=a(r(6123));function a(e){return e&&e.__esModule?e:{default:e}}class s extends n.default{isMet(){return(0,o.default)(this.rules.boardPath,this.game).grid.every((e=>e.every((e=>!e.isEmpty()))))}}t.default=s,e.exports=t.default},3534:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return"contains"===e.type?new o.default(e,t):"doesNotContain"===e.type?new n.default(e,t):"bingo"===e.type?new a.default(e,t):"blackout"===e.type?new s.default(e,t):"some"===e.type?new u.default(e,t):"relativeMove"===e.type?new i.default(e,t):"actionTypeMatches"===e.type?new c.default(e,t):"isValidPlayer"===e.type?new l.default(e,t):"pieceMatches"===e.type?new f.default(e,t):void 0};var n=d(r(3790)),o=d(r(923)),a=d(r(3551)),s=d(r(7963)),u=d(r(7102)),i=d(r(3402)),c=d(r(6829)),l=d(r(3395)),f=d(r(226));function d(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},7213:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t){this.id=`${Math.random()}`,this.rules=e,this.game=t}isMet(e){}},e.exports=t.default},923:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1505)),o=a(r(7213));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{isMet(e){return!!this.game.get(e.board).getPieces(e.target).filter(filterPieces).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(this.rules.piece)(e)}}t.default=s,e.exports=t.default},3790:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(1505)),o=s(r(7213)),a=s(r(6123));function s(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{isMet(e){return!(0,a.default)(e.board,this.game).getPieces(e.target).filter(this.filterPieces.bind(this)).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(e,this.rules.piece||{})}}t.default=u,e.exports=t.default},3395:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(e){return this.game.players[this.game.currentRound.currentPlayerIndex].id===e.playerId}}t.default=a,e.exports=t.default},226:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=s(r(1505)),o=s(r(7213)),a=s(r(4093));function s(e){return e&&e.__esModule?e:{default:e}}class u extends o.default{isMet(e){const t=(0,a.default)(e.piece,this.game);if(this.rules.actionRule?.piece&&!t)return console.error("no piece found"),!1;if(this.rules.actionRule?.piece){const e={...this.rules.actionRule.piece};return(0,n.default)(e)(t.rule)}return!0}}t.default=u,e.exports=t.default},3402:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(r(1505)),o=a(r(7213));function a(e){return e&&e.__esModule?e:{default:e}}class s extends o.default{isMet(e){return!this.game.get(e.board).getPieces(e.target).filter(this.filterPieces.bind(this)).length}filterPieces(e){return"any"===this.rules.piece||(0,n.default)(e,this.rules.piece={})}}t.default=s,e.exports=t.default},7102:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(7213))&&n.__esModule?n:{default:n};class a extends o.default{isMet(){return this.rules.conditions.some((e=>new o.default(e).isMet()))}}t.default=a,e.exports=t.default},8989:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addPathToRules=_,t.makeMove=function(e,t,r){if(!t)return(0,d.serialize)({context:{},winner:null,status:"waiting",players:[]});const n=function(e){return(0,d.deserialize)(e,p.registry)}(t);if("done"===n.status)throw new Error("Game is over!");if(void 0===r)return(0,d.serialize)(n);if("join"===r?.type)return function(e,t,r){if(!(e.players.length<t.playerCountRange[1]))throw new Error("game is full!");e.players.push(new s.default(t.player,e.players.length,r.playerId))}(n,e,r),(0,d.serialize)(n);if("start"===r.type)return function(e,t){if(!(e.players.length>=t.playerCountRange[0]))throw new Error("not enough players");!function(e,t){(function(e){_(e)})(t),e.sharedBoard=Object.entries(t.sharedBoard).reduce(((e,t)=>{let[r,n]=t;return{...e,[r]:(0,a.default)({...n,path:["sharedBoard",r]})}}),{}),e.personalBoards=e.players.reduce(((e,r)=>({...e,[r.id]:Object.entries(t.personalBoard||[]).reduce(((e,t)=>{let[n,o]=t;return{...e,[n]:(0,a.default)({...o,path:["sharedBoard",n]},{player:r})}}),{})})),{}),e.pieces=t.pieces.reduce(((t,r)=>r.perPlayer?[...t,...e.players.map((e=>new l.default(r,{player:e})))]:[...t,new l.default(r)]),[]),t.initialPlacements?.forEach((t=>{t.perPlayer?e.players.forEach((r=>{y(t,r,{sharedBoard:e.sharedBoard,personalBoards:e.personalBoards,pieces:e.pieces})})):y(t,null,{sharedBoard:e.sharedBoard,personalBoards:e.personalBoards,pieces:e.pieces})}));const r=t.round.phases?t.round.phases[0]:t.round;e.currentRound=(0,u.default)(r,e),e.status="active"}(e,t)}(n,e),(0,d.serialize)(n);const o=h(r,n,e),c=n.currentRound;if(c.doAction(o),c.isOver(n))if(e.round.phases){const t=e.round.phases[n.currentRound.currentPhaseIndex];(0,u.default)(t,n).isOver(n)&&(n.currentRound.currentPhaseIndex++,n.currentRound.currentPhaseIndex>=e.round.phases.length&&(n.currentRound.currentPhaseIndex=0,n.currentRound.currentRoundIndex++))}else n.currentRound.currentRoundIndex++;const f=function(e,t){return e.players.find((r=>{const n={...t.winCondition,piece:{...t.winCondition.piece,player:r}};return(0,i.default)(n,e).isMet()}))||null}(n,e),v=function(e,t){return!(!t.drawCondition||!(0,i.default)(t.drawCondition,e).isMet())}(n,e);return(f||v)&&(n.status="done",n.winner=f),(0,d.serialize)(n)};var n=v(r(8055)),o=v(r(1505)),a=(v(r(5364)),v(r(9534))),s=v(r(6835)),u=v(r(6270)),i=v(r(3534)),c=v(r(9448)),l=v(r(1595)),f=v(r(4229)),d=r(7627),p=r(8353);function v(e){return e&&e.__esModule?e:{default:e}}function h(e,t,r){const a=t.players.find((t=>t.id===e.playerId));if(!a&&"join"!==e.type&&"start"!==e.type)throw new Error("Invalid player ID");const s=r.pieces.find((t=>t.name===e.piece?.name)),u=(0,n.default)(e);return s?.perPlayer&&!u.player&&(u.piece.player={id:a.id}),u.board||(u.board=function(e,t){return function(e,t,r){const n={personalBoards:t.personalBoards,sharedBoard:t.sharedBoard,pieces:t.pieces};return Array.from((0,f.default)(n,(0,o.default)(e))).filter((e=>"rule"!==e[e.length-1])).sort((e=>"pieces"===e[0]?1:-1)).map((e=>b(e,r)))}(e,t,void 0)[0]}(u.piece,t)),u.board=b(u.board,{player:a}),u}function y(e,t,r){const n=e.action,o=e.payload||{};t&&(o.player=t),Array.from(new Array(e.count||1)).forEach((()=>{(0,c.default)(n,r).do(h(o,r,rules))}))}function b(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"personalBoard"===e[0]&&t.player?["personalBoards",t.player.id.toString(),...e.slice(1)]:e}function _(e){const t=["phases","rounds"];function r(e,n){if(e&&"object"==typeof e){e.path=n.join(".");for(const o of t){const t=e[o];Array.isArray(t)&&t.forEach(((e,t)=>{r(e,n.concat(o,t))}))}}}e.round&&"object"==typeof e.round&&r(e.round,["round"]),Array.isArray(e.rounds)&&e.rounds.forEach(((e,t)=>r(e,["rounds",t])))}},4570:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return new o.default(e,t)};var n,o=(n=r(5923))&&n.__esModule?n:{default:n};e.exports=t.default},5923:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t){this.rule=e,this.id=`${Math.random()}`,void 0!==t.player&&({player:this.player}=t)}doesRuleMatch(e){return void 0===e.player||e.player===this.player}},e.exports=t.default},1595:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(4570))&&n.__esModule?n:{default:n};t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.pieceRule=e,this.name=e.name,this.id=`${Math.random()}`,t.player&&(this.player=t.player),this.options=t,this.pool=(e.variants?Object.entries(e.variants):[]).reduce(((t,r)=>{let[n,a]=r;const s=a.count||1;return[...t,...Array.from(Array(s)).map((t=>(0,o.default)({...{...e,variantId:n},...a},this.options)))]}),[]),e.shuffled&&(this.pool=this.pool.map((e=>({value:e,sort:Math.random()}))).sort(((e,t)=>e.sort-t.sort)).map((e=>{let{value:t}=e;return t}))),this.count=this.pool.length||e.count}getOne(){return this.getMultiple(1)[0]}getMultiple(e){const t=[];if(void 0===this.count||this.count>=e){this.count&&(this.count-=e);const r=e-this.pool.length;t.push(...this.pool.splice(0,e)),r>0&&t.push(...Array.from(new Array(r)).map((()=>(0,o.default)(this.pieceRule,this.options))))}return t}put(e){void 0!==this.count&&(this.count+=1),this.pool.push(e)}},e.exports=t.default},6835:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e,t,r){this.rule=e,this.index=t,this.id=r||`${Math.random()}`}},e.exports=t.default},8353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.registry=void 0;var n=A(r(2655)),o=A(r(9278)),a=A(r(9645)),s=A(r(5149)),u=A(r(5059)),i=A(r(9578)),c=A(r(893)),l=A(r(21)),f=A(r(6829)),d=A(r(3551)),p=A(r(7963)),v=A(r(7213)),h=A(r(923)),y=A(r(3790)),b=A(r(3395)),_=A(r(226)),x=A(r(3402)),g=A(r(7102)),j=A(r(5923)),m=A(r(1595)),w=A(r(6835)),O=A(r(4221)),M=A(r(7820)),P=A(r(7971));function A(e){return e&&e.__esModule?e:{default:e}}t.registry={Action:n.default,MovePieceAction:o.default,SelectPieceAction:a.default,SwapAction:s.default,BoardGroup:u.default,Board:i.default,Grid:c.default,Stack:l.default,ActionTypeMatchesCondition:f.default,BingoCondition:d.default,BlackoutCondition:p.default,Condition:v.default,ContainsCondition:h.default,DoesNotContainCondition:y.default,IsValidPlayerCondition:b.default,PieceMatchesCondition:_.default,RelativeMoveCondition:x.default,SomeCondition:g.default,Piece:j.default,Pile:m.default,Player:w.default,Round:O.default,SequentialPlayerTurn:M.default,Space:P.default}},6270:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("sequentialPlayerTurn"===e.type)return new o.default(e,t)};var n,o=(n=r(7820))&&n.__esModule?n:{default:n};e.exports=t.default},4221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(9448))&&n.__esModule?n:{default:n};t.default=class{constructor(e,t){this.rules=e,this.game=t,this.history=[],this.id=`${Math.random()}`,this.actions=e.actions?.map((e=>(0,o.default)(e,this.game)))}getCorrectAction(e){for(const t of this.actions)try{return t.assertIsValid(e),t}catch(e){throw e}throw new Error(`Invalid Action: ${JSON.stringify(e)}`)}doAction(e){this.getCorrectAction(e).do(e,this.game),this.afterDoAction(),this.history.push(e)}isOver(){return!0}afterDoAction(){}},e.exports=t.default},7820:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n,o=(n=r(4221))&&n.__esModule?n:{default:n};class a extends o.default{constructor(e,t){super(e,t),this.currentPlayerIndex=0}afterDoAction(){this.currentPlayerIndex=(this.currentPlayerIndex+1)%this.game.players.length}isOver(){return this.game.players.every((e=>this.history.some((t=>t===e))))}}t.default=a,e.exports=t.default},7971:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];this.coordinates=e,this.pieces=t,this.id=`${Math.random()}`}placePiece(e){this.pieces.push(e)}isEmpty(){return 0===this.pieces.length}},e.exports=t.default},4229:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(t,r){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Set,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:new Set;if(o.has(t))return a;if(o.add(t),r(t)&&a.add(n),"object"==typeof t&&null!==t)for(const s in t){const u=[...n,s];e(t[s],r,u,o,a).length&&a.add(n)}return a},e.exports=t.default},6123:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(e))return(0,o.default)(t,e);const r=new WeakSet;return function t(n){if(!n||"object"!=typeof n)return null;if(r.has(n))return null;if(r.add(n),n.id===e.id)return n;if(n.grid&&Array.isArray(n.grid))for(const e of n.grid)for(const r of e){const e=t(r);if(e)return e}for(const e of Object.values(n)){const r=t(e);if(r)return r}return null}(t)};var n,o=(n=r(8156))&&n.__esModule?n:{default:n};e.exports=t.default},4093:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(e?.id){const r=[t.sharedBoard,t.personalBoards];for(;r.length;){const t=r.pop();if(t)if(Array.isArray(t))r.push(...t);else if(t.grid)for(const e of t.grid)r.push(...e);else if(t.coordinates&&t.pieces){const r=t.pieces.find((t=>t.id===e.id));if(r)return r}else"object"==typeof t&&r.push(...Object.values(t))}return null}let r;if(r=e?t.pieces.find((t=>t.name===e.name&&(!t.player||t.player.id===e.player?.id))):t.pieces.find((e=>"playerMarker"===e.name&&(!e.player||e.player.id===t.players[t.currentRound.currentPlayerIndex].id))),!r)throw new Error(`No piece group found for ${e.name}`);return r.getOne()},e.exports=t.default},5580:(e,t,r)=>{var n=r(6110)(r(9325),"DataView");e.exports=n},1549:(e,t,r)=>{var n=r(2032),o=r(3862),a=r(6721),s=r(2749),u=r(5749);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=s,i.prototype.set=u,e.exports=i},79:(e,t,r)=>{var n=r(3702),o=r(80),a=r(4739),s=r(8655),u=r(1175);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=s,i.prototype.set=u,e.exports=i},8223:(e,t,r)=>{var n=r(6110)(r(9325),"Map");e.exports=n},3661:(e,t,r)=>{var n=r(3040),o=r(7670),a=r(289),s=r(4509),u=r(2949);function i(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}i.prototype.clear=n,i.prototype.delete=o,i.prototype.get=a,i.prototype.has=s,i.prototype.set=u,e.exports=i},2804:(e,t,r)=>{var n=r(6110)(r(9325),"Promise");e.exports=n},6545:(e,t,r)=>{var n=r(6110)(r(9325),"Set");e.exports=n},8859:(e,t,r)=>{var n=r(3661),o=r(1380),a=r(1459);function s(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new n;++t<r;)this.add(e[t])}s.prototype.add=s.prototype.push=o,s.prototype.has=a,e.exports=s},7217:(e,t,r)=>{var n=r(79),o=r(1420),a=r(938),s=r(3605),u=r(9817),i=r(945);function c(e){var t=this.__data__=new n(e);this.size=t.size}c.prototype.clear=o,c.prototype.delete=a,c.prototype.get=s,c.prototype.has=u,c.prototype.set=i,e.exports=c},1873:(e,t,r)=>{var n=r(9325).Symbol;e.exports=n},7828:(e,t,r)=>{var n=r(9325).Uint8Array;e.exports=n},8303:(e,t,r)=>{var n=r(6110)(r(9325),"WeakMap");e.exports=n},1033:e=>{e.exports=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}},3729:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}},9770:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=0,a=[];++r<n;){var s=e[r];t(s,r,e)&&(a[o++]=s)}return a}},695:(e,t,r)=>{var n=r(8096),o=r(2428),a=r(6449),s=r(3656),u=r(361),i=r(7167),c=Object.prototype.hasOwnProperty;e.exports=function(e,t){var r=a(e),l=!r&&o(e),f=!r&&!l&&s(e),d=!r&&!l&&!f&&i(e),p=r||l||f||d,v=p?n(e.length,String):[],h=v.length;for(var y in e)!t&&!c.call(e,y)||p&&("length"==y||f&&("offset"==y||"parent"==y)||d&&("buffer"==y||"byteLength"==y||"byteOffset"==y)||u(y,h))||v.push(y);return v}},4932:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}},4528:e=>{e.exports=function(e,t){for(var r=-1,n=t.length,o=e.length;++r<n;)e[o+r]=t[r];return e}},4248:e=>{e.exports=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}},7805:(e,t,r)=>{var n=r(3360),o=r(5288);e.exports=function(e,t,r){(void 0!==r&&!o(e[t],r)||void 0===r&&!(t in e))&&n(e,t,r)}},6547:(e,t,r)=>{var n=r(3360),o=r(5288),a=Object.prototype.hasOwnProperty;e.exports=function(e,t,r){var s=e[t];a.call(e,t)&&o(s,r)&&(void 0!==r||t in e)||n(e,t,r)}},6025:(e,t,r)=>{var n=r(5288);e.exports=function(e,t){for(var r=e.length;r--;)if(n(e[r][0],t))return r;return-1}},4733:(e,t,r)=>{var n=r(1791),o=r(5950);e.exports=function(e,t){return e&&n(t,o(t),e)}},3838:(e,t,r)=>{var n=r(1791),o=r(7241);e.exports=function(e,t){return e&&n(t,o(t),e)}},3360:(e,t,r)=>{var n=r(3243);e.exports=function(e,t,r){"__proto__"==t&&n?n(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}},9999:(e,t,r)=>{var n=r(7217),o=r(3729),a=r(6547),s=r(4733),u=r(3838),i=r(3290),c=r(3007),l=r(2271),f=r(8948),d=r(2),p=r(3349),v=r(5861),h=r(6189),y=r(7199),b=r(5529),_=r(6449),x=r(3656),g=r(7730),j=r(3805),m=r(8440),w=r(5950),O=r(7241),M="[object Arguments]",P="[object Function]",A="[object Object]",S={};S[M]=S["[object Array]"]=S["[object ArrayBuffer]"]=S["[object DataView]"]=S["[object Boolean]"]=S["[object Date]"]=S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Map]"]=S["[object Number]"]=S[A]=S["[object RegExp]"]=S["[object Set]"]=S["[object String]"]=S["[object Symbol]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S["[object Error]"]=S[P]=S["[object WeakMap]"]=!1,e.exports=function e(t,r,R,I,B,E){var z,k=1&r,C=2&r,$=4&r;if(R&&(z=B?R(t,I,B,E):R(t)),void 0!==z)return z;if(!j(t))return t;var T=_(t);if(T){if(z=h(t),!k)return c(t,z)}else{var F=v(t),N=F==P||"[object GeneratorFunction]"==F;if(x(t))return i(t,k);if(F==A||F==M||N&&!B){if(z=C||N?{}:b(t),!k)return C?f(t,u(z,t)):l(t,s(z,t))}else{if(!S[F])return B?t:{};z=y(t,F,k)}}E||(E=new n);var D=E.get(t);if(D)return D;E.set(t,z),m(t)?t.forEach((function(n){z.add(e(n,r,R,n,t,E))})):g(t)&&t.forEach((function(n,o){z.set(o,e(n,r,R,o,t,E))}));var U=T?void 0:($?C?p:d:C?O:w)(t);return o(U||t,(function(n,o){U&&(n=t[o=n]),a(z,o,e(n,r,R,o,t,E))})),z}},9344:(e,t,r)=>{var n=r(3805),o=Object.create,a=function(){function e(){}return function(t){if(!n(t))return{};if(o)return o(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();e.exports=a},6649:(e,t,r)=>{var n=r(3221)();e.exports=n},7422:(e,t,r)=>{var n=r(1769),o=r(7797);e.exports=function(e,t){for(var r=0,a=(t=n(t,e)).length;null!=e&&r<a;)e=e[o(t[r++])];return r&&r==a?e:void 0}},2199:(e,t,r)=>{var n=r(4528),o=r(6449);e.exports=function(e,t,r){var a=t(e);return o(e)?a:n(a,r(e))}},2552:(e,t,r)=>{var n=r(1873),o=r(659),a=r(9350),s=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?o(e):a(e)}},7534:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return o(e)&&"[object Arguments]"==n(e)}},270:(e,t,r)=>{var n=r(7068),o=r(346);e.exports=function e(t,r,a,s,u){return t===r||(null==t||null==r||!o(t)&&!o(r)?t!=t&&r!=r:n(t,r,a,s,e,u))}},7068:(e,t,r)=>{var n=r(7217),o=r(5911),a=r(1986),s=r(689),u=r(5861),i=r(6449),c=r(3656),l=r(7167),f="[object Arguments]",d="[object Array]",p="[object Object]",v=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,h,y,b){var _=i(e),x=i(t),g=_?d:u(e),j=x?d:u(t),m=(g=g==f?p:g)==p,w=(j=j==f?p:j)==p,O=g==j;if(O&&c(e)){if(!c(t))return!1;_=!0,m=!1}if(O&&!m)return b||(b=new n),_||l(e)?o(e,t,r,h,y,b):a(e,t,g,r,h,y,b);if(!(1&r)){var M=m&&v.call(e,"__wrapped__"),P=w&&v.call(t,"__wrapped__");if(M||P){var A=M?e.value():e,S=P?t.value():t;return b||(b=new n),y(A,S,r,h,b)}}return!!O&&(b||(b=new n),s(e,t,r,h,y,b))}},9172:(e,t,r)=>{var n=r(5861),o=r(346);e.exports=function(e){return o(e)&&"[object Map]"==n(e)}},1799:(e,t,r)=>{var n=r(7217),o=r(270);e.exports=function(e,t,r,a){var s=r.length,u=s,i=!a;if(null==e)return!u;for(e=Object(e);s--;){var c=r[s];if(i&&c[2]?c[1]!==e[c[0]]:!(c[0]in e))return!1}for(;++s<u;){var l=(c=r[s])[0],f=e[l],d=c[1];if(i&&c[2]){if(void 0===f&&!(l in e))return!1}else{var p=new n;if(a)var v=a(f,d,l,e,t,p);if(!(void 0===v?o(d,f,3,a,p):v))return!1}}return!0}},5083:(e,t,r)=>{var n=r(1882),o=r(7296),a=r(3805),s=r(7473),u=/^\[object .+?Constructor\]$/,i=Function.prototype,c=Object.prototype,l=i.toString,f=c.hasOwnProperty,d=RegExp("^"+l.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");e.exports=function(e){return!(!a(e)||o(e))&&(n(e)?d:u).test(s(e))}},6038:(e,t,r)=>{var n=r(5861),o=r(346);e.exports=function(e){return o(e)&&"[object Set]"==n(e)}},4901:(e,t,r)=>{var n=r(2552),o=r(294),a=r(346),s={};s["[object Float32Array]"]=s["[object Float64Array]"]=s["[object Int8Array]"]=s["[object Int16Array]"]=s["[object Int32Array]"]=s["[object Uint8Array]"]=s["[object Uint8ClampedArray]"]=s["[object Uint16Array]"]=s["[object Uint32Array]"]=!0,s["[object Arguments]"]=s["[object Array]"]=s["[object ArrayBuffer]"]=s["[object Boolean]"]=s["[object DataView]"]=s["[object Date]"]=s["[object Error]"]=s["[object Function]"]=s["[object Map]"]=s["[object Number]"]=s["[object Object]"]=s["[object RegExp]"]=s["[object Set]"]=s["[object String]"]=s["[object WeakMap]"]=!1,e.exports=function(e){return a(e)&&o(e.length)&&!!s[n(e)]}},8984:(e,t,r)=>{var n=r(5527),o=r(3650),a=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return o(e);var t=[];for(var r in Object(e))a.call(e,r)&&"constructor"!=r&&t.push(r);return t}},2903:(e,t,r)=>{var n=r(3805),o=r(5527),a=r(181),s=Object.prototype.hasOwnProperty;e.exports=function(e){if(!n(e))return a(e);var t=o(e),r=[];for(var u in e)("constructor"!=u||!t&&s.call(e,u))&&r.push(u);return r}},3663:(e,t,r)=>{var n=r(1799),o=r(776),a=r(7197);e.exports=function(e){var t=o(e);return 1==t.length&&t[0][2]?a(t[0][0],t[0][1]):function(r){return r===e||n(r,e,t)}}},5250:(e,t,r)=>{var n=r(7217),o=r(7805),a=r(6649),s=r(2824),u=r(3805),i=r(7241),c=r(4974);e.exports=function e(t,r,l,f,d){t!==r&&a(r,(function(a,i){if(d||(d=new n),u(a))s(t,r,i,l,e,f,d);else{var p=f?f(c(t,i),a,i+"",t,r,d):void 0;void 0===p&&(p=a),o(t,i,p)}}),i)}},2824:(e,t,r)=>{var n=r(7805),o=r(3290),a=r(1961),s=r(3007),u=r(5529),i=r(2428),c=r(6449),l=r(3693),f=r(3656),d=r(1882),p=r(3805),v=r(1331),h=r(7167),y=r(4974),b=r(9884);e.exports=function(e,t,r,_,x,g,j){var m=y(e,r),w=y(t,r),O=j.get(w);if(O)n(e,r,O);else{var M=g?g(m,w,r+"",e,t,j):void 0,P=void 0===M;if(P){var A=c(w),S=!A&&f(w),R=!A&&!S&&h(w);M=w,A||S||R?c(m)?M=m:l(m)?M=s(m):S?(P=!1,M=o(w,!0)):R?(P=!1,M=a(w,!0)):M=[]:v(w)||i(w)?(M=m,i(m)?M=b(m):p(m)&&!d(m)||(M=u(w))):P=!1}P&&(j.set(w,M),x(M,w,_,g,j),j.delete(w)),n(e,r,M)}}},9302:(e,t,r)=>{var n=r(3488),o=r(6757),a=r(2865);e.exports=function(e,t){return a(o(e,t,n),e+"")}},9570:(e,t,r)=>{var n=r(7334),o=r(3243),a=r(3488),s=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:n(t),writable:!0})}:a;e.exports=s},8096:e=>{e.exports=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}},7556:(e,t,r)=>{var n=r(1873),o=r(4932),a=r(6449),s=r(4394),u=n?n.prototype:void 0,i=u?u.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(a(t))return o(t,e)+"";if(s(t))return i?i.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r}},7301:e=>{e.exports=function(e){return function(t){return e(t)}}},9219:e=>{e.exports=function(e,t){return e.has(t)}},1769:(e,t,r)=>{var n=r(6449),o=r(8586),a=r(1802),s=r(3222);e.exports=function(e,t){return n(e)?e:o(e,t)?[e]:a(s(e))}},9653:(e,t,r)=>{var n=r(7828);e.exports=function(e){var t=new e.constructor(e.byteLength);return new n(t).set(new n(e)),t}},3290:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,s=a&&a.exports===o?n.Buffer:void 0,u=s?s.allocUnsafe:void 0;e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=u?u(r):new e.constructor(r);return e.copy(n),n}},6169:(e,t,r)=>{var n=r(9653);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}},3201:e=>{var t=/\w*$/;e.exports=function(e){var r=new e.constructor(e.source,t.exec(e));return r.lastIndex=e.lastIndex,r}},3736:(e,t,r)=>{var n=r(1873),o=n?n.prototype:void 0,a=o?o.valueOf:void 0;e.exports=function(e){return a?Object(a.call(e)):{}}},1961:(e,t,r)=>{var n=r(9653);e.exports=function(e,t){var r=t?n(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}},3007:e=>{e.exports=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}},1791:(e,t,r)=>{var n=r(6547),o=r(3360);e.exports=function(e,t,r,a){var s=!r;r||(r={});for(var u=-1,i=t.length;++u<i;){var c=t[u],l=a?a(r[c],e[c],c,r,e):void 0;void 0===l&&(l=e[c]),s?o(r,c,l):n(r,c,l)}return r}},2271:(e,t,r)=>{var n=r(1791),o=r(4664);e.exports=function(e,t){return n(e,o(e),t)}},8948:(e,t,r)=>{var n=r(1791),o=r(6375);e.exports=function(e,t){return n(e,o(e),t)}},5481:(e,t,r)=>{var n=r(9325)["__core-js_shared__"];e.exports=n},999:(e,t,r)=>{var n=r(9302),o=r(6800);e.exports=function(e){return n((function(t,r){var n=-1,a=r.length,s=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(s=e.length>3&&"function"==typeof s?(a--,s):void 0,u&&o(r[0],r[1],u)&&(s=a<3?void 0:s,a=1),t=Object(t);++n<a;){var i=r[n];i&&e(t,i,n,s)}return t}))}},3221:e=>{e.exports=function(e){return function(t,r,n){for(var o=-1,a=Object(t),s=n(t),u=s.length;u--;){var i=s[e?u:++o];if(!1===r(a[i],i,a))break}return t}}},3243:(e,t,r)=>{var n=r(6110),o=function(){try{var e=n(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();e.exports=o},5911:(e,t,r)=>{var n=r(8859),o=r(4248),a=r(9219);e.exports=function(e,t,r,s,u,i){var c=1&r,l=e.length,f=t.length;if(l!=f&&!(c&&f>l))return!1;var d=i.get(e),p=i.get(t);if(d&&p)return d==t&&p==e;var v=-1,h=!0,y=2&r?new n:void 0;for(i.set(e,t),i.set(t,e);++v<l;){var b=e[v],_=t[v];if(s)var x=c?s(_,b,v,t,e,i):s(b,_,v,e,t,i);if(void 0!==x){if(x)continue;h=!1;break}if(y){if(!o(t,(function(e,t){if(!a(y,t)&&(b===e||u(b,e,r,s,i)))return y.push(t)}))){h=!1;break}}else if(b!==_&&!u(b,_,r,s,i)){h=!1;break}}return i.delete(e),i.delete(t),h}},1986:(e,t,r)=>{var n=r(1873),o=r(7828),a=r(5288),s=r(5911),u=r(317),i=r(4247),c=n?n.prototype:void 0,l=c?c.valueOf:void 0;e.exports=function(e,t,r,n,c,f,d){switch(r){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!f(new o(e),new o(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return a(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var p=u;case"[object Set]":var v=1&n;if(p||(p=i),e.size!=t.size&&!v)return!1;var h=d.get(e);if(h)return h==t;n|=2,d.set(e,t);var y=s(p(e),p(t),n,c,f,d);return d.delete(e),y;case"[object Symbol]":if(l)return l.call(e)==l.call(t)}return!1}},689:(e,t,r)=>{var n=r(2),o=Object.prototype.hasOwnProperty;e.exports=function(e,t,r,a,s,u){var i=1&r,c=n(e),l=c.length;if(l!=n(t).length&&!i)return!1;for(var f=l;f--;){var d=c[f];if(!(i?d in t:o.call(t,d)))return!1}var p=u.get(e),v=u.get(t);if(p&&v)return p==t&&v==e;var h=!0;u.set(e,t),u.set(t,e);for(var y=i;++f<l;){var b=e[d=c[f]],_=t[d];if(a)var x=i?a(_,b,d,t,e,u):a(b,_,d,e,t,u);if(!(void 0===x?b===_||s(b,_,r,a,u):x)){h=!1;break}y||(y="constructor"==d)}if(h&&!y){var g=e.constructor,j=t.constructor;g==j||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j||(h=!1)}return u.delete(e),u.delete(t),h}},4840:(e,t,r)=>{var n="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g;e.exports=n},2:(e,t,r)=>{var n=r(2199),o=r(4664),a=r(5950);e.exports=function(e){return n(e,a,o)}},3349:(e,t,r)=>{var n=r(2199),o=r(6375),a=r(7241);e.exports=function(e){return n(e,a,o)}},2651:(e,t,r)=>{var n=r(4218);e.exports=function(e,t){var r=e.__data__;return n(t)?r["string"==typeof t?"string":"hash"]:r.map}},776:(e,t,r)=>{var n=r(756),o=r(5950);e.exports=function(e){for(var t=o(e),r=t.length;r--;){var a=t[r],s=e[a];t[r]=[a,s,n(s)]}return t}},6110:(e,t,r)=>{var n=r(5083),o=r(392);e.exports=function(e,t){var r=o(e,t);return n(r)?r:void 0}},8879:(e,t,r)=>{var n=r(4335)(Object.getPrototypeOf,Object);e.exports=n},659:(e,t,r)=>{var n=r(1873),o=Object.prototype,a=o.hasOwnProperty,s=o.toString,u=n?n.toStringTag:void 0;e.exports=function(e){var t=a.call(e,u),r=e[u];try{e[u]=void 0;var n=!0}catch(e){}var o=s.call(e);return n&&(t?e[u]=r:delete e[u]),o}},4664:(e,t,r)=>{var n=r(9770),o=r(3345),a=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,u=s?function(e){return null==e?[]:(e=Object(e),n(s(e),(function(t){return a.call(e,t)})))}:o;e.exports=u},6375:(e,t,r)=>{var n=r(4528),o=r(8879),a=r(4664),s=r(3345),u=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)n(t,a(e)),e=o(e);return t}:s;e.exports=u},5861:(e,t,r)=>{var n=r(5580),o=r(8223),a=r(2804),s=r(6545),u=r(8303),i=r(2552),c=r(7473),l="[object Map]",f="[object Promise]",d="[object Set]",p="[object WeakMap]",v="[object DataView]",h=c(n),y=c(o),b=c(a),_=c(s),x=c(u),g=i;(n&&g(new n(new ArrayBuffer(1)))!=v||o&&g(new o)!=l||a&&g(a.resolve())!=f||s&&g(new s)!=d||u&&g(new u)!=p)&&(g=function(e){var t=i(e),r="[object Object]"==t?e.constructor:void 0,n=r?c(r):"";if(n)switch(n){case h:return v;case y:return l;case b:return f;case _:return d;case x:return p}return t}),e.exports=g},392:e=>{e.exports=function(e,t){return null==e?void 0:e[t]}},2032:(e,t,r)=>{var n=r(1042);e.exports=function(){this.__data__=n?n(null):{},this.size=0}},3862:e=>{e.exports=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}},6721:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;if(n){var r=t[e];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(t,e)?t[e]:void 0}},2749:(e,t,r)=>{var n=r(1042),o=Object.prototype.hasOwnProperty;e.exports=function(e){var t=this.__data__;return n?void 0!==t[e]:o.call(t,e)}},5749:(e,t,r)=>{var n=r(1042);e.exports=function(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=n&&void 0===t?"__lodash_hash_undefined__":t,this}},6189:e=>{var t=Object.prototype.hasOwnProperty;e.exports=function(e){var r=e.length,n=new e.constructor(r);return r&&"string"==typeof e[0]&&t.call(e,"index")&&(n.index=e.index,n.input=e.input),n}},7199:(e,t,r)=>{var n=r(9653),o=r(6169),a=r(3201),s=r(3736),u=r(1961);e.exports=function(e,t,r){var i=e.constructor;switch(t){case"[object ArrayBuffer]":return n(e);case"[object Boolean]":case"[object Date]":return new i(+e);case"[object DataView]":return o(e,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return u(e,r);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(e);case"[object RegExp]":return a(e);case"[object Symbol]":return s(e)}}},5529:(e,t,r)=>{var n=r(9344),o=r(8879),a=r(5527);e.exports=function(e){return"function"!=typeof e.constructor||a(e)?{}:n(o(e))}},361:e=>{var t=/^(?:0|[1-9]\d*)$/;e.exports=function(e,r){var n=typeof e;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&t.test(e))&&e>-1&&e%1==0&&e<r}},6800:(e,t,r)=>{var n=r(5288),o=r(4894),a=r(361),s=r(3805);e.exports=function(e,t,r){if(!s(r))return!1;var u=typeof t;return!!("number"==u?o(r)&&a(t,r.length):"string"==u&&t in r)&&n(r[t],e)}},8586:(e,t,r)=>{var n=r(6449),o=r(4394),a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;e.exports=function(e,t){if(n(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!o(e))||s.test(e)||!a.test(e)||null!=t&&e in Object(t)}},4218:e=>{e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},7296:(e,t,r)=>{var n,o=r(5481),a=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";e.exports=function(e){return!!a&&a in e}},5527:e=>{var t=Object.prototype;e.exports=function(e){var r=e&&e.constructor;return e===("function"==typeof r&&r.prototype||t)}},756:(e,t,r)=>{var n=r(3805);e.exports=function(e){return e==e&&!n(e)}},3702:e=>{e.exports=function(){this.__data__=[],this.size=0}},80:(e,t,r)=>{var n=r(6025),o=Array.prototype.splice;e.exports=function(e){var t=this.__data__,r=n(t,e);return!(r<0||(r==t.length-1?t.pop():o.call(t,r,1),--this.size,0))}},4739:(e,t,r)=>{var n=r(6025);e.exports=function(e){var t=this.__data__,r=n(t,e);return r<0?void 0:t[r][1]}},8655:(e,t,r)=>{var n=r(6025);e.exports=function(e){return n(this.__data__,e)>-1}},1175:(e,t,r)=>{var n=r(6025);e.exports=function(e,t){var r=this.__data__,o=n(r,e);return o<0?(++this.size,r.push([e,t])):r[o][1]=t,this}},3040:(e,t,r)=>{var n=r(1549),o=r(79),a=r(8223);e.exports=function(){this.size=0,this.__data__={hash:new n,map:new(a||o),string:new n}}},7670:(e,t,r)=>{var n=r(2651);e.exports=function(e){var t=n(this,e).delete(e);return this.size-=t?1:0,t}},289:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).get(e)}},4509:(e,t,r)=>{var n=r(2651);e.exports=function(e){return n(this,e).has(e)}},2949:(e,t,r)=>{var n=r(2651);e.exports=function(e,t){var r=n(this,e),o=r.size;return r.set(e,t),this.size+=r.size==o?0:1,this}},317:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e,n){r[++t]=[n,e]})),r}},7197:e=>{e.exports=function(e,t){return function(r){return null!=r&&r[e]===t&&(void 0!==t||e in Object(r))}}},2224:(e,t,r)=>{var n=r(104);e.exports=function(e){var t=n(e,(function(e){return 500===r.size&&r.clear(),e})),r=t.cache;return t}},1042:(e,t,r)=>{var n=r(6110)(Object,"create");e.exports=n},3650:(e,t,r)=>{var n=r(4335)(Object.keys,Object);e.exports=n},181:e=>{e.exports=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}},6009:(e,t,r)=>{e=r.nmd(e);var n=r(4840),o=t&&!t.nodeType&&t,a=o&&e&&!e.nodeType&&e,s=a&&a.exports===o&&n.process,u=function(){try{return a&&a.require&&a.require("util").types||s&&s.binding&&s.binding("util")}catch(e){}}();e.exports=u},9350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},4335:e=>{e.exports=function(e,t){return function(r){return e(t(r))}}},6757:(e,t,r)=>{var n=r(1033),o=Math.max;e.exports=function(e,t,r){return t=o(void 0===t?e.length-1:t,0),function(){for(var a=arguments,s=-1,u=o(a.length-t,0),i=Array(u);++s<u;)i[s]=a[t+s];s=-1;for(var c=Array(t+1);++s<t;)c[s]=a[s];return c[t]=r(i),n(e,this,c)}}},9325:(e,t,r)=>{var n=r(4840),o="object"==typeof self&&self&&self.Object===Object&&self,a=n||o||Function("return this")();e.exports=a},4974:e=>{e.exports=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}},1380:e=>{e.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},1459:e=>{e.exports=function(e){return this.__data__.has(e)}},4247:e=>{e.exports=function(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}},2865:(e,t,r)=>{var n=r(9570),o=r(1811)(n);e.exports=o},1811:e=>{var t=Date.now;e.exports=function(e){var r=0,n=0;return function(){var o=t(),a=16-(o-n);if(n=o,a>0){if(++r>=800)return arguments[0]}else r=0;return e.apply(void 0,arguments)}}},1420:(e,t,r)=>{var n=r(79);e.exports=function(){this.__data__=new n,this.size=0}},938:e=>{e.exports=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}},3605:e=>{e.exports=function(e){return this.__data__.get(e)}},9817:e=>{e.exports=function(e){return this.__data__.has(e)}},945:(e,t,r)=>{var n=r(79),o=r(8223),a=r(3661);e.exports=function(e,t){var r=this.__data__;if(r instanceof n){var s=r.__data__;if(!o||s.length<199)return s.push([e,t]),this.size=++r.size,this;r=this.__data__=new a(s)}return r.set(e,t),this.size=r.size,this}},1802:(e,t,r)=>{var n=r(2224),o=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,a=/\\(\\)?/g,s=n((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(o,(function(e,r,n,o){t.push(n?o.replace(a,"$1"):r||e)})),t}));e.exports=s},7797:(e,t,r)=>{var n=r(4394);e.exports=function(e){if("string"==typeof e||n(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}},7473:e=>{var t=Function.prototype.toString;e.exports=function(e){if(null!=e){try{return t.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},8055:(e,t,r)=>{var n=r(9999);e.exports=function(e){return n(e,5)}},7334:e=>{e.exports=function(e){return function(){return e}}},5288:e=>{e.exports=function(e,t){return e===t||e!=e&&t!=t}},8156:(e,t,r)=>{var n=r(7422);e.exports=function(e,t,r){var o=null==e?void 0:n(e,t);return void 0===o?r:o}},3488:e=>{e.exports=function(e){return e}},2428:(e,t,r)=>{var n=r(7534),o=r(346),a=Object.prototype,s=a.hasOwnProperty,u=a.propertyIsEnumerable,i=n(function(){return arguments}())?n:function(e){return o(e)&&s.call(e,"callee")&&!u.call(e,"callee")};e.exports=i},6449:e=>{var t=Array.isArray;e.exports=t},4894:(e,t,r)=>{var n=r(1882),o=r(294);e.exports=function(e){return null!=e&&o(e.length)&&!n(e)}},3693:(e,t,r)=>{var n=r(4894),o=r(346);e.exports=function(e){return o(e)&&n(e)}},3656:(e,t,r)=>{e=r.nmd(e);var n=r(9325),o=r(9935),a=t&&!t.nodeType&&t,s=a&&e&&!e.nodeType&&e,u=s&&s.exports===a?n.Buffer:void 0,i=(u?u.isBuffer:void 0)||o;e.exports=i},1882:(e,t,r)=>{var n=r(2552),o=r(3805);e.exports=function(e){if(!o(e))return!1;var t=n(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}},294:e=>{e.exports=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}},7730:(e,t,r)=>{var n=r(9172),o=r(7301),a=r(6009),s=a&&a.isMap,u=s?o(s):n;e.exports=u},3805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},1331:(e,t,r)=>{var n=r(2552),o=r(8879),a=r(346),s=Function.prototype,u=Object.prototype,i=s.toString,c=u.hasOwnProperty,l=i.call(Object);e.exports=function(e){if(!a(e)||"[object Object]"!=n(e))return!1;var t=o(e);if(null===t)return!0;var r=c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&i.call(r)==l}},8440:(e,t,r)=>{var n=r(6038),o=r(7301),a=r(6009),s=a&&a.isSet,u=s?o(s):n;e.exports=u},4394:(e,t,r)=>{var n=r(2552),o=r(346);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==n(e)}},7167:(e,t,r)=>{var n=r(4901),o=r(7301),a=r(6009),s=a&&a.isTypedArray,u=s?o(s):n;e.exports=u},5950:(e,t,r)=>{var n=r(695),o=r(8984),a=r(4894);e.exports=function(e){return a(e)?n(e):o(e)}},7241:(e,t,r)=>{var n=r(695),o=r(2903),a=r(4894);e.exports=function(e){return a(e)?n(e,!0):o(e)}},1505:(e,t,r)=>{var n=r(9999),o=r(3663);e.exports=function(e){return o(n(e,1))}},104:(e,t,r)=>{var n=r(3661);function o(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var s=e.apply(this,n);return r.cache=a.set(o,s)||a,s};return r.cache=new(o.Cache||n),r}o.Cache=n,e.exports=o},5364:(e,t,r)=>{var n=r(5250),o=r(999)((function(e,t,r){n(e,t,r)}));e.exports=o},3345:e=>{e.exports=function(){return[]}},9935:e=>{e.exports=function(){return!1}},9884:(e,t,r)=>{var n=r(1791),o=r(7241);e.exports=function(e){return n(e,o(e))}},3222:(e,t,r)=>{var n=r(7556);e.exports=function(e){return null==e?"":n(e)}},7627:(e,t,r)=>{"use strict";function n(e,t){const r=new Map([...a(e).duplicates].map((e=>[e,null])));return JSON.stringify(e,((e,t)=>{if("object"==typeof t&&null!==t&&!Array.isArray(t)){const e=r.get(t);if("number"==typeof e)return{_instanceReference:e};const n=Array.isArray(t)?[...t]:{...t};if(null===e){const e=Math.random();r.set(t,e),n._instanceReferenceId=e}return t.constructor!==Object&&t.constructor!==Array&&(n._constructorName=t.constructor.name),n}return t}),t?.space)}function o(e,t){const r=JSON.parse(e),n=new Map;return a(r,(e=>{if(null!=e._instanceReferenceId){const t=e._instanceReferenceId;delete e._instanceReferenceId,n.set(t,e)}if(t&&e._constructorName){const r=t[e._constructorName];if(!r)throw new Error(`Constructor ${e._constructorName} is not in registry`);Object.setPrototypeOf(e,r.prototype),delete e._constructorName}})),a(r,((e,t,r)=>{if(null!=e?._instanceReference){const o=n.get(e._instanceReference);if(!o)throw new Error(`Unknown _instanceReference: ${e._instanceReference}`);t[r]=o}})),r}function a(e,t,r=new WeakSet,n=null,o=null,s=new Set){if("object"!=typeof e||null===e)return s;if(!r.has(e)){if(r.add(e),t?.(e,n,o),Array.isArray(e))for(let n=0;n<e.length;n++)a(e[n],t,r,e,n,s);else for(const n of Object.keys(e))a(e[n],t,r,e,n,s);return{duplicates:s}}s.add(e)}r.r(t),r.d(t,{deserialize:()=>o,serialize:()=>n})}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var a=t[n]={id:n,loaded:!1,exports:{}};return e[n](a,a.exports,r),a.loaded=!0,a.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e);var n={};return(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"makeMove",{enumerable:!0,get:function(){return t.makeMove}});var t=r(8989)})(),n})()));
|