@gamepark/rules-api 6.0.5-alpha.0 → 6.0.7-alpha.0
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/DefaultGameSetup.d.ts +7 -0
- package/dist/DefaultGameSetup.js +15 -0
- package/dist/DefaultGameSetup.js.map +1 -0
- package/dist/GameSetup.d.ts +3 -0
- package/dist/{material/moves/Shuffle.js → GameSetup.js} +1 -1
- package/dist/GameSetup.js.map +1 -0
- package/dist/GameSetupCreator.d.ts +4 -0
- package/dist/{material/moves/CreateItem.js → GameSetupCreator.js} +1 -1
- package/dist/GameSetupCreator.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/material/HiddenMaterialRules.d.ts +3 -3
- package/dist/material/HiddenMaterialRules.js +2 -2
- package/dist/material/HiddenMaterialRules.js.map +1 -1
- package/dist/material/MaterialGameSetup.d.ts +13 -0
- package/dist/material/MaterialGameSetup.js +35 -0
- package/dist/material/MaterialGameSetup.js.map +1 -0
- package/dist/material/MaterialRules.d.ts +7 -12
- package/dist/material/MaterialRules.js +4 -42
- package/dist/material/MaterialRules.js.map +1 -1
- package/dist/material/SecretMaterialRules.d.ts +2 -2
- package/dist/material/SecretMaterialRules.js.map +1 -1
- package/dist/material/index.d.ts +1 -0
- package/dist/material/index.js +1 -0
- package/dist/material/index.js.map +1 -1
- package/dist/material/items/Material.d.ts +2 -2
- package/dist/material/items/Material.js.map +1 -1
- package/dist/material/items/MaterialMutator.d.ts +3 -2
- package/dist/material/items/MaterialMutator.js +9 -0
- package/dist/material/items/MaterialMutator.js.map +1 -1
- package/dist/material/moves/MaterialMove.d.ts +2 -2
- package/dist/material/moves/items/ItemMove.d.ts +1 -1
- package/package.json +2 -2
- package/dist/material/helper/MaterialMoveBuilder.d.ts +0 -9
- package/dist/material/helper/MaterialMoveBuilder.js +0 -28
- package/dist/material/helper/MaterialMoveBuilder.js.map +0 -1
- package/dist/material/helper/MaterialSearchHelper.d.ts +0 -18
- package/dist/material/helper/MaterialSearchHelper.js +0 -62
- package/dist/material/helper/MaterialSearchHelper.js.map +0 -1
- package/dist/material/helper/index.d.ts +0 -2
- package/dist/material/helper/index.js +0 -19
- package/dist/material/helper/index.js.map +0 -1
- package/dist/material/items/MaterialOperation.d.ts +0 -17
- package/dist/material/items/MaterialOperation.js +0 -133
- package/dist/material/items/MaterialOperation.js.map +0 -1
- package/dist/material/moves/CreateItem.d.ts +0 -7
- package/dist/material/moves/CreateItem.js.map +0 -1
- package/dist/material/moves/DeleteItem.d.ts +0 -7
- package/dist/material/moves/DeleteItem.js +0 -3
- package/dist/material/moves/DeleteItem.js.map +0 -1
- package/dist/material/moves/MaterialMoveType.d.ts +0 -6
- package/dist/material/moves/MaterialMoveType.js +0 -11
- package/dist/material/moves/MaterialMoveType.js.map +0 -1
- package/dist/material/moves/MaterialMovesBuilder.d.ts +0 -8
- package/dist/material/moves/MaterialMovesBuilder.js +0 -34
- package/dist/material/moves/MaterialMovesBuilder.js.map +0 -1
- package/dist/material/moves/MoveItem.d.ts +0 -19
- package/dist/material/moves/MoveItem.js +0 -18
- package/dist/material/moves/MoveItem.js.map +0 -1
- package/dist/material/moves/Shuffle.d.ts +0 -9
- package/dist/material/moves/Shuffle.js.map +0 -1
- package/dist/material/moves/local/RulesDisplay.d.ts +0 -32
- package/dist/material/moves/local/RulesDisplay.js +0 -26
- package/dist/material/moves/local/RulesDisplay.js.map +0 -1
- package/dist/material/moves/rules/MaterialMutator.d.ts +0 -17
- package/dist/material/moves/rules/MaterialMutator.js +0 -133
- package/dist/material/moves/rules/MaterialMutator.js.map +0 -1
- package/dist/material/rules/MaterialStepRules.d.ts +0 -23
- package/dist/material/rules/MaterialStepRules.js +0 -98
- package/dist/material/rules/MaterialStepRules.js.map +0 -1
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
14
|
-
var t = {};
|
|
15
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
16
|
-
t[p] = s[p];
|
|
17
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
18
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
19
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
20
|
-
t[p[i]] = s[p[i]];
|
|
21
|
-
}
|
|
22
|
-
return t;
|
|
23
|
-
};
|
|
24
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
25
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
26
|
-
};
|
|
27
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.MaterialMutator = void 0;
|
|
29
|
-
var lodash_shuffle_1 = __importDefault(require("lodash.shuffle"));
|
|
30
|
-
var items_1 = require("../../items");
|
|
31
|
-
var fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
32
|
-
var MaterialMutator = /** @class */ (function () {
|
|
33
|
-
function MaterialMutator(type, items, locationsStrategies) {
|
|
34
|
-
if (locationsStrategies === void 0) { locationsStrategies = {}; }
|
|
35
|
-
this.type = type;
|
|
36
|
-
this.items = items;
|
|
37
|
-
this.locationsStrategies = locationsStrategies;
|
|
38
|
-
}
|
|
39
|
-
MaterialMutator.prototype.create = function (item) {
|
|
40
|
-
var _a, _b;
|
|
41
|
-
var mergeItem = this.findMergeItem(item);
|
|
42
|
-
if (mergeItem) {
|
|
43
|
-
mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = item.quantity) !== null && _b !== void 0 ? _b : 1);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.addItem(item);
|
|
47
|
-
}
|
|
48
|
-
return this;
|
|
49
|
-
};
|
|
50
|
-
MaterialMutator.prototype.findMergeItem = function (newItem) {
|
|
51
|
-
return this.items.find(function (item) {
|
|
52
|
-
var itemQuantity = item.quantity, itemWithoutQuantity = __rest(item, ["quantity"]);
|
|
53
|
-
var newItemQuantity = newItem.quantity, newItemWithoutQuantity = __rest(newItem, ["quantity"]);
|
|
54
|
-
return (0, fast_deep_equal_1.default)(itemWithoutQuantity, newItemWithoutQuantity);
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
MaterialMutator.prototype.delete = function (index, quantity) {
|
|
58
|
-
if (quantity === void 0) { quantity = 1; }
|
|
59
|
-
var item = this.items[index];
|
|
60
|
-
return this.removeItem(item, quantity);
|
|
61
|
-
};
|
|
62
|
-
MaterialMutator.prototype.addItem = function (item) {
|
|
63
|
-
this.applyAddItemStrategy(item);
|
|
64
|
-
var availableIndex = this.items.findIndex(function (item) { return item.quantity === 0; });
|
|
65
|
-
if (availableIndex !== -1) {
|
|
66
|
-
this.items[availableIndex] = item;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this.items.push(item);
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
MaterialMutator.prototype.applyAddItemStrategy = function (item) {
|
|
73
|
-
if (item.location.type in this.locationsStrategies) {
|
|
74
|
-
var strategy = this.locationsStrategies[item.location.type];
|
|
75
|
-
if (strategy.addItem) {
|
|
76
|
-
var material = new items_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
|
|
77
|
-
.location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
|
|
78
|
-
strategy.addItem(material, item);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
MaterialMutator.prototype.applyRemoveItemStrategy = function (item) {
|
|
83
|
-
if (item.location.type in this.locationsStrategies) {
|
|
84
|
-
var strategy = this.locationsStrategies[item.location.type];
|
|
85
|
-
if (strategy.removeItem) {
|
|
86
|
-
var material = new items_1.Material(this.type, Array.from(this.items.entries()).filter(function (entry) { return entry[1].quantity !== 0; }))
|
|
87
|
-
.location(item.location.type).player(item.location.player).locationId(item.location.id).parent(item.location.parent);
|
|
88
|
-
strategy.removeItem(material, item);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
MaterialMutator.prototype.shuffle = function (indexes, newIndexes) {
|
|
93
|
-
var _this = this;
|
|
94
|
-
indexes = indexes || Array.from(this.items.keys());
|
|
95
|
-
newIndexes = newIndexes || (0, lodash_shuffle_1.default)(indexes);
|
|
96
|
-
var shuffledItems = indexes.map(function (index) { return _this.items[index]; });
|
|
97
|
-
newIndexes.forEach(function (newIndex, i) {
|
|
98
|
-
_this.items[newIndex] = __assign(__assign({}, shuffledItems[i]), { location: _this.items[newIndex].location });
|
|
99
|
-
});
|
|
100
|
-
return this;
|
|
101
|
-
};
|
|
102
|
-
MaterialMutator.prototype.move = function (index, destination) {
|
|
103
|
-
var _a, _b, _c, _d;
|
|
104
|
-
var sourceItem = this.items[index];
|
|
105
|
-
var quantity = sourceItem.quantity, rotation = sourceItem.rotation, sourceId = __rest(sourceItem, ["quantity", "rotation"]);
|
|
106
|
-
var newItem = __assign(__assign({}, sourceId), destination);
|
|
107
|
-
var mergeItem = this.findMergeItem(newItem);
|
|
108
|
-
if (mergeItem) {
|
|
109
|
-
mergeItem.quantity = ((_a = mergeItem.quantity) !== null && _a !== void 0 ? _a : 1) + ((_b = destination.quantity) !== null && _b !== void 0 ? _b : 1);
|
|
110
|
-
this.removeItem(sourceItem, destination.quantity);
|
|
111
|
-
}
|
|
112
|
-
else if (sourceItem.quantity && sourceItem.quantity > ((_c = destination.quantity) !== null && _c !== void 0 ? _c : 1)) {
|
|
113
|
-
sourceItem.quantity -= ((_d = destination.quantity) !== null && _d !== void 0 ? _d : 1);
|
|
114
|
-
this.addItem(newItem);
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
this.applyAddItemStrategy(newItem);
|
|
118
|
-
this.items[index] = newItem;
|
|
119
|
-
this.applyRemoveItemStrategy(sourceItem);
|
|
120
|
-
}
|
|
121
|
-
};
|
|
122
|
-
MaterialMutator.prototype.removeItem = function (item, quantity) {
|
|
123
|
-
var _a;
|
|
124
|
-
if (quantity === void 0) { quantity = 1; }
|
|
125
|
-
item.quantity = Math.max(0, ((_a = item.quantity) !== null && _a !== void 0 ? _a : 1) - quantity);
|
|
126
|
-
if (item.quantity === 0) {
|
|
127
|
-
this.applyRemoveItemStrategy(item);
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
return MaterialMutator;
|
|
131
|
-
}());
|
|
132
|
-
exports.MaterialMutator = MaterialMutator;
|
|
133
|
-
//# sourceMappingURL=MaterialMutator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../../src/material/moves/rules/MaterialMutator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { MaterialGame } from '../MaterialGame';
|
|
2
|
-
import { Rules } from '../../Rules';
|
|
3
|
-
import { CustomMove, ItemMove, MaterialMove, RuleMove } from '../moves';
|
|
4
|
-
import { Material } from '../items';
|
|
5
|
-
import { MaterialRulesMovesBuilder } from './MaterialRulesMovesBuilder';
|
|
6
|
-
import { RuleStep } from './RuleStep';
|
|
7
|
-
export declare abstract class MaterialStepRules<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends Rules<MaterialGame<Player, MaterialType, LocationType>, MaterialMove<Player, MaterialType, LocationType>, Player> {
|
|
8
|
-
readonly material: (type: MaterialType) => Material<Player, MaterialType, LocationType>;
|
|
9
|
-
constructor(game: MaterialGame<Player, MaterialType, LocationType>, material: (type: MaterialType) => Material<Player, MaterialType, LocationType>);
|
|
10
|
-
beforeItemMove(_move: ItemMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
11
|
-
afterItemMove(_move: ItemMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
12
|
-
onRuleStart<RuleId extends number>(_move: RuleMove<Player, RuleId>, _previousRule?: RuleStep): MaterialMove<Player, MaterialType, LocationType>[];
|
|
13
|
-
onRuleEnd<RuleId extends number>(_move: RuleMove<Player, RuleId>): MaterialMove<Player, MaterialType, LocationType>[];
|
|
14
|
-
onCustomMove(_move: CustomMove): MaterialMove<Player, MaterialType, LocationType>[];
|
|
15
|
-
rules(): MaterialRulesMovesBuilder<Player, MaterialType, LocationType>;
|
|
16
|
-
getMemory<T>(player?: Player): T;
|
|
17
|
-
memorize<T extends Record<string, any>>(memory?: T, player?: Player): void;
|
|
18
|
-
getGameMemory<T>(player?: Player): T;
|
|
19
|
-
memorizeOnGame(memory?: Record<string, any>, player?: Player): void;
|
|
20
|
-
}
|
|
21
|
-
export interface MaterialRulesStepCreator<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> {
|
|
22
|
-
new (game: MaterialGame<Player, MaterialType, LocationType>, material: (type: MaterialType) => Material<Player, MaterialType, LocationType>): MaterialStepRules<Player, MaterialType, LocationType>;
|
|
23
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.MaterialStepRules = void 0;
|
|
30
|
-
var Rules_1 = require("../../Rules");
|
|
31
|
-
var MaterialRulesMovesBuilder_1 = require("./MaterialRulesMovesBuilder");
|
|
32
|
-
var MaterialStepRules = /** @class */ (function (_super) {
|
|
33
|
-
__extends(MaterialStepRules, _super);
|
|
34
|
-
function MaterialStepRules(game, material) {
|
|
35
|
-
var _this = _super.call(this, game) || this;
|
|
36
|
-
_this.material = material;
|
|
37
|
-
return _this;
|
|
38
|
-
}
|
|
39
|
-
MaterialStepRules.prototype.beforeItemMove = function (_move) {
|
|
40
|
-
return [];
|
|
41
|
-
};
|
|
42
|
-
MaterialStepRules.prototype.afterItemMove = function (_move) {
|
|
43
|
-
return [];
|
|
44
|
-
};
|
|
45
|
-
MaterialStepRules.prototype.onRuleStart = function (_move, _previousRule) {
|
|
46
|
-
return [];
|
|
47
|
-
};
|
|
48
|
-
MaterialStepRules.prototype.onRuleEnd = function (_move) {
|
|
49
|
-
return [];
|
|
50
|
-
};
|
|
51
|
-
MaterialStepRules.prototype.onCustomMove = function (_move) {
|
|
52
|
-
return [];
|
|
53
|
-
};
|
|
54
|
-
MaterialStepRules.prototype.rules = function () {
|
|
55
|
-
return new MaterialRulesMovesBuilder_1.MaterialRulesMovesBuilder(this.game);
|
|
56
|
-
};
|
|
57
|
-
MaterialStepRules.prototype.getMemory = function (player) {
|
|
58
|
-
var _a, _b, _c;
|
|
59
|
-
if (player !== undefined) {
|
|
60
|
-
return ((_b = (_a = this.game.rule.playersMemory) === null || _a === void 0 ? void 0 : _a[player]) !== null && _b !== void 0 ? _b : {});
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
return ((_c = this.game.rule.memory) !== null && _c !== void 0 ? _c : {});
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
MaterialStepRules.prototype.memorize = function (memory, player) {
|
|
67
|
-
if (player !== undefined) {
|
|
68
|
-
if (!this.game.rule.playersMemory)
|
|
69
|
-
this.game.rule.playersMemory = {};
|
|
70
|
-
this.game.rule.playersMemory[player] = __assign(__assign({}, this.game.rule.playersMemory[player]), memory);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this.game.rule.memory = __assign(__assign({}, this.game.rule.memory), memory);
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
MaterialStepRules.prototype.getGameMemory = function (player) {
|
|
77
|
-
var _a, _b, _c;
|
|
78
|
-
if (player !== undefined) {
|
|
79
|
-
return ((_b = (_a = this.game.playersMemory) === null || _a === void 0 ? void 0 : _a[player]) !== null && _b !== void 0 ? _b : {});
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
return ((_c = this.game.memory) !== null && _c !== void 0 ? _c : {});
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
MaterialStepRules.prototype.memorizeOnGame = function (memory, player) {
|
|
86
|
-
if (player !== undefined) {
|
|
87
|
-
if (!this.game.playersMemory)
|
|
88
|
-
this.game.playersMemory = {};
|
|
89
|
-
this.game.playersMemory[player] = __assign(__assign({}, this.game.playersMemory[player]), memory);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
this.game.memory = __assign(__assign({}, this.game.memory), memory);
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
return MaterialStepRules;
|
|
96
|
-
}(Rules_1.Rules));
|
|
97
|
-
exports.MaterialStepRules = MaterialStepRules;
|
|
98
|
-
//# sourceMappingURL=MaterialStepRules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialStepRules.js","sourceRoot":"","sources":["../../../src/material/rules/MaterialStepRules.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,qCAAmC;AAGnC,yEAAuE;AAGvE;IACU,qCAAiH;IAIzH,2BAAY,IAAsD,EAAE,QAA8E;QAAlJ,YACE,kBAAM,IAAI,CAAC,SAEZ;QADC,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;;IAC1B,CAAC;IAED,0CAAc,GAAd,UAAe,KAAmD;QAChE,OAAO,EAAE,CAAA;IACX,CAAC;IAED,yCAAa,GAAb,UAAc,KAAmD;QAC/D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,uCAAW,GAAX,UAAmC,KAA+B,EAAE,aAAwB;QAC1F,OAAO,EAAE,CAAA;IACX,CAAC;IAED,qCAAS,GAAT,UAAiC,KAA+B;QAC9D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,wCAAY,GAAZ,UAAa,KAAiB;QAC5B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,iCAAK,GAAL;QACE,OAAO,IAAI,qDAAyB,CAAqC,IAAI,CAAC,IAAI,CAAC,CAAA;IACrF,CAAC;IAED,qCAAS,GAAT,UAAa,MAAe;;QAC1B,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,aAAa,0CAAG,MAAM,CAAC,mCAAI,EAAE,CAAM,CAAA;SAC5D;aAAM;YACL,OAAO,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,mCAAI,EAAE,CAAM,CAAA;SAC3C;IACH,CAAC;IAED,oCAAQ,GAAR,UAAwC,MAAU,EAAE,MAAe;QACjE,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,aAAa;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,aAAa,GAAG,EAAE,CAAA;YACtE,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,aAAa,CAAC,MAAM,CAAC,yBAAQ,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,aAAa,CAAC,MAAM,CAAC,GAAK,MAAM,CAAE,CAAA;SAChG;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,yBAAQ,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAM,GAAK,MAAM,CAAE,CAAA;SAClE;IACH,CAAC;IAED,yCAAa,GAAb,UAAiB,MAAe;;QAC9B,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,aAAa,0CAAG,MAAM,CAAC,mCAAI,EAAE,CAAM,CAAA;SACtD;aAAM;YACL,OAAO,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAM,CAAA;SACrC;IACH,CAAC;IAED,0CAAc,GAAd,UAAe,MAA4B,EAAE,MAAe;QAC1D,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa;gBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAA;YAC1D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,yBAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAK,MAAM,CAAE,CAAA;SACpF;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,yBAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAK,MAAM,CAAE,CAAA;SACtD;IACH,CAAC;IAEH,wBAAC;AAAD,CAAC,AApED,CACU,aAAK,GAmEd;AApEqB,8CAAiB"}
|