@ai-rpg-engine/starter-zombie 2.2.0 → 2.2.1
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/setup.d.ts.map +1 -1
- package/dist/setup.js +24 -18
- package/dist/setup.js.map +1 -1
- package/package.json +1 -1
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAiH7C,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAmIhD"}
|
package/dist/setup.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Game setup — wire content into engine
|
|
2
2
|
import { Engine } from '@ai-rpg-engine/core';
|
|
3
|
-
import { traversalCore, statusCore, createCombatCore, createInventoryCore, createDialogueCore, createCognitionCore, createPerceptionFilter, createProgressionCore, createEnvironmentCore, createFactionCognition, createRumorPropagation, createSimulationInspector, createDistrictCore, createBeliefProvenance, createObserverPresentation, giveItem, createDefeatFallout, createEngagementCore, withEngagement, createCombatReview, createCombatIntent, BUILTIN_PACK_BIASES, createCombatRecovery, createBossPhaseListener, createAbilityCore, createAbilityEffects, createAbilityReview, registerStatusDefinitions, } from '@ai-rpg-engine/modules';
|
|
3
|
+
import { traversalCore, statusCore, createCombatCore, createInventoryCore, createDialogueCore, createCognitionCore, createPerceptionFilter, createProgressionCore, createEnvironmentCore, createFactionCognition, createRumorPropagation, createSimulationInspector, createDistrictCore, createBeliefProvenance, createObserverPresentation, giveItem, createDefeatFallout, createEngagementCore, withEngagement, createCombatReview, createCombatIntent, BUILTIN_PACK_BIASES, createCombatRecovery, createBossPhaseListener, createAbilityCore, createAbilityEffects, createAbilityReview, registerStatusDefinitions, createCombatTactics, withCombatResources, buildTacticalHooks, createCombatResources, } from '@ai-rpg-engine/modules';
|
|
4
4
|
import { manifest, player, medic, scavenger, leader, shambler, runner, bloaterAlpha, bloaterAlphaBoss, zones, districts, medicDialogue, antibioticsEffect, survivalTree, zombieAbilities, zombieStatusDefinitions, } from './content.js';
|
|
5
5
|
import { zombieMinimalRuleset } from './ruleset.js';
|
|
6
6
|
// Zombie-specific: undead hunt by noise — perceive all living as prey
|
|
@@ -39,9 +39,28 @@ const zombieFormulas = {
|
|
|
39
39
|
return Math.min(90, Math.max(15, 40 + wits * 5 + nerve * 2));
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
|
+
// Zombie combat resource profile — infection is consequence, not currency
|
|
43
|
+
const zombieCombatProfile = {
|
|
44
|
+
packId: 'zombie',
|
|
45
|
+
gains: [
|
|
46
|
+
{ trigger: 'take-damage', resourceId: 'infection', amount: 5 },
|
|
47
|
+
],
|
|
48
|
+
spends: [],
|
|
49
|
+
drains: [],
|
|
50
|
+
aiModifiers: [
|
|
51
|
+
{
|
|
52
|
+
resourceId: 'infection',
|
|
53
|
+
highThreshold: 70,
|
|
54
|
+
highModifiers: { attack: 15 },
|
|
55
|
+
lowThreshold: 40,
|
|
56
|
+
lowModifiers: { disengage: 10 },
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
};
|
|
42
60
|
export function createGame(seed) {
|
|
43
61
|
registerStatusDefinitions(zombieStatusDefinitions);
|
|
44
62
|
const review = createCombatReview({ baseFormulas: zombieFormulas });
|
|
63
|
+
const wrappedFormulas = withCombatResources(zombieCombatProfile, withEngagement(zombieFormulas));
|
|
45
64
|
const engine = new Engine({
|
|
46
65
|
manifest,
|
|
47
66
|
seed: seed ?? 42,
|
|
@@ -51,7 +70,7 @@ export function createGame(seed) {
|
|
|
51
70
|
statusCore,
|
|
52
71
|
createEngagementCore({ playerId: 'survivor' }),
|
|
53
72
|
review.module,
|
|
54
|
-
createCombatCore(review.explain(
|
|
73
|
+
createCombatCore(review.explain(wrappedFormulas)),
|
|
55
74
|
createInventoryCore([antibioticsEffect]),
|
|
56
75
|
createDialogueCore([medicDialogue]),
|
|
57
76
|
createCognitionCore({ decay: { baseRate: 0.02, pruneThreshold: 0.05, instabilityFactor: 0.5 } }),
|
|
@@ -104,7 +123,9 @@ export function createGame(seed) {
|
|
|
104
123
|
factions: [{ factionId: 'survivors', entityIds: ['medic_chen', 'scavenger_rook', 'leader_marsh'] }],
|
|
105
124
|
playerId: 'survivor',
|
|
106
125
|
}),
|
|
107
|
-
|
|
126
|
+
createCombatTactics({ hooks: buildTacticalHooks(zombieCombatProfile) }),
|
|
127
|
+
createCombatResources(zombieCombatProfile),
|
|
128
|
+
createCombatIntent({ packBiases: BUILTIN_PACK_BIASES.filter(b => ['zombie', 'undead'].includes(b.tag)), resourceProfile: zombieCombatProfile }),
|
|
108
129
|
createCombatRecovery({ safeZoneTags: ['safe', 'home-base'] }),
|
|
109
130
|
createBossPhaseListener(bloaterAlphaBoss),
|
|
110
131
|
createAbilityCore({ abilities: zombieAbilities, statMapping: { power: 'fitness', precision: 'wits', focus: 'nerve' } }),
|
|
@@ -159,21 +180,6 @@ export function createGame(seed) {
|
|
|
159
180
|
priority: 'high',
|
|
160
181
|
});
|
|
161
182
|
});
|
|
162
|
-
// --- Infection combat hooks ---
|
|
163
|
-
engine.store.events.on('combat.damage.applied', (event) => {
|
|
164
|
-
if (event.payload.targetId === 'survivor') {
|
|
165
|
-
const attackerId = event.payload.attackerId;
|
|
166
|
-
const attacker = engine.store.state.entities[attackerId];
|
|
167
|
-
if (attacker?.tags.includes('zombie')) {
|
|
168
|
-
const p = engine.store.state.entities['survivor'];
|
|
169
|
-
if (p) {
|
|
170
|
-
const dmg = event.payload.damage ?? 0;
|
|
171
|
-
const amount = dmg >= 5 ? 2 : 1;
|
|
172
|
-
p.resources.infection = Math.min(100, (p.resources.infection ?? 0) + amount);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
183
|
return engine;
|
|
178
184
|
}
|
|
179
185
|
//# sourceMappingURL=setup.js.map
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,QAAQ,EACR,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,KAAK,EACL,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,sEAAsE;AACtE,MAAM,YAAY,GAAqB;IACrC,EAAE,EAAE,eAAe;IACnB,aAAa,EAAE,CAAC,oBAAoB,CAAC;IACrC,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChE,SAAS,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,sBAAsB,EAAE,4CAA4C;YACpE,iBAAiB,EAAE,YAAY;YAC/B,iBAAiB,EAAE,IAAI;SACxB;KACF,CAAC;CACH,CAAC;AAEF,mFAAmF;AACnF,MAAM,cAAc,GAAmB;IACrC,WAAW,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;IACvE,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9D,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF,CAAC;AAEF,0EAA0E;AAC1E,MAAM,mBAAmB,GAA0B;IACjD,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE;QACL,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE;KAC/D;IACD,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE;IACV,WAAW,EAAE;QACX;YACE,UAAU,EAAE,WAAW;YACvB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7B,YAAY,EAAE,EAAE;YAChB,YAAY,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;SAChC;KACF;CACF,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,mBAAmB,CAAC,mBAAmB,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,QAAQ;QACR,IAAI,EAAE,IAAI,IAAI,EAAE;QAChB,OAAO,EAAE,oBAAoB;QAC7B,OAAO,EAAE;YACP,aAAa;YACb,UAAU;YACV,oBAAoB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM;YACb,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACjD,mBAAmB,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACxC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC;YACnC,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,CAAC;YAChG,sBAAsB,EAAE;YACxB,qBAAqB,CAAC;gBACpB,KAAK,EAAE,CAAC,YAAY,CAAC;gBACrB,OAAO,EAAE,CAAC;wBACR,YAAY,EAAE,wBAAwB;wBACtC,UAAU,EAAE,IAAI;wBAChB,MAAM,EAAE,CAAC;wBACT,SAAS,EAAE,OAAO;qBACnB,CAAC;aACH,CAAC;YACF,qBAAqB,CAAC;gBACpB,OAAO,EAAE,CAAC;wBACR,EAAE,EAAE,cAAc;wBAClB,SAAS,EAAE,oBAAoB;wBAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK;wBACpE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;4BACrC,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC5E,OAAO,EAAE,CAAC;wBACZ,CAAC;qBACF;oBACD;wBACE,EAAE,EAAE,gBAAgB;wBACpB,SAAS,EAAE,oBAAoB;wBAC/B,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK;wBACtE,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;4BACrC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gCAClC,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;4BACpF,CAAC;4BACD,OAAO,EAAE,CAAC;wBACZ,CAAC;qBACF,CAAC;aACH,CAAC;YACF,sBAAsB,CAAC;gBACrB,QAAQ,EAAE,CAAC;wBACT,SAAS,EAAE,WAAW;wBACtB,SAAS,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,CAAC;wBAC3D,QAAQ,EAAE,GAAG;qBACd,CAAC;aACH,CAAC;YACF,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YAC/C,kBAAkB,CAAC,EAAE,SAAS,EAAE,CAAC;YACjC,sBAAsB,EAAE;YACxB,0BAA0B,CAAC;gBACzB,KAAK,EAAE,CAAC,YAAY,CAAC;aACtB,CAAC;YACF,mBAAmB,CAAC;gBAClB,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,CAAC;gBACnG,QAAQ,EAAE,UAAU;aACrB,CAAC;YACF,mBAAmB,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACvE,qBAAqB,CAAC,mBAAmB,CAAC;YAC1C,kBAAkB,CAAC,EAAE,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,EAAE,mBAAmB,EAAE,CAAC;YAC/I,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;YAC7D,uBAAuB,CAAC,gBAAgB,CAAC;YACzC,iBAAiB,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;YACvH,oBAAoB,EAAE;YACtB,mBAAmB,EAAE;YACrB,yBAAyB,EAAE;SAC5B;KACF,CAAC,CAAC;IAEH,YAAY;IACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;IAE5C,aAAa;IACb,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC;IAElD,oDAAoD;IACpD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;QACjD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACjC,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC5E,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE;gBAC5C,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,MAAM;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,qBAAqB,EAAE;YAC5C,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|