@maka/maka-cli 5.88.0 → 5.90.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/bundle/typescript/package.json +1 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js +12 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.d.ts +8 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js +10 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +20 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +28 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +29 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +82 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.d.ts +45 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +140 -43
- package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js +66 -11
- package/bundle/typescript/src/commands/game/sideQuest/commands/unravel.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js +11 -3
- package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +21 -0
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +71 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +88 -16
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/headless.js +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +89 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +161 -10
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/repro.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/types/repro.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.d.ts +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/bystander.js +2 -12
- package/bundle/typescript/src/commands/game/sideQuest/utilities/bystander.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +13 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.d.ts +73 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +210 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +75 -3
- package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js +20 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/shared-run.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.d.ts +19 -2
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js +29 -6
- package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/street-gang.js +2 -14
- package/bundle/typescript/src/commands/game/sideQuest/utilities/street-gang.js.map +1 -1
- package/package.json +1 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combat-exchange.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/combat-exchange.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combat-exchange.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/combat-exchange.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB,EAAmB,MAAM,WAAW,CAAC;AAC/H,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7H,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiC5E;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAc;IAaf;IACA;IACA;IAdV,kEAAkE;IAClE,MAAM,CAAU,OAAO,GAAG,GAAG,CAAC;IAE9B;;;;;OAKG;IACH,MAAM,CAAU,qBAAqB,GAAG,IAAI,CAAC;IAE7C,YACU,KAAY,EACZ,MAAc,EACd,KAAmB;QAFnB,UAAK,GAAL,KAAK,CAAO;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAc;IAC1B,CAAC;IAEJ;;;;;;;;OAQG;IACK,WAAW,GAAqB,EAAE,CAAC;IAE3C,aAAa,CAAC,MAAoB,EAAE,OAAqC,EAAE;QACzE,mEAAmE;QACnE,gEAAgE;QAChE,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,mEAAmE;QACnE,MAAM,UAAU,GAAG,CAAC,CAAe,EAAE,EAAE,CACrC,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC;QAC5E,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;gBAAE,SAAS;YACrC,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC;gBAClF,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,oDAAoD;QACpD,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAC7B,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAEzB,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,gEAAgE;QAChE,kEAAkE;QAClE,mEAAmE;QACnE,qCAAqC;QACrC,EAAE;QACF,+DAA+D;QAC/D,gEAAgE;QAChE,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAE3B,kEAAkE;QAClE,kEAAkE;QAClE,kEAAkE;QAClE,gEAAgE;QAChE,kEAAkE;QAClE,4DAA4D;QAC5D,+DAA+D;QAC/D,iEAAiE;QACjE,oEAAoE;QACpE,+DAA+D;QAC/D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC;gBAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,iEAAiE;QACjE,gEAAgE;QAChE,iEAAiE;QACjE,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,iBAAiB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,MAAM,CAAC,IAAI,gBAAgB,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,IAAI,mEAAmE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC/I,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,oEAAoE;QACpE,oEAAoE;QACpE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;QAE/B,oEAAoE;QACpE,0DAA0D;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,qEAAqE;QACrE,kEAAkE;QAClE,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,YAAY,GAAG,KAAK,CAAC;QAC3B,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAU,EAAE,CAAC;YACvF,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,KAAK,KAAK,IAAI,GAAG,GAAG,SAAS,CAAC,cAAc,GAAG,YAAY,CAAC;YACvG,IAAI,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC;YAC7F,IAAI,UAAU,EAAE,CAAC;gBACf,yDAAyD;gBACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACrI,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,WAAW,CAAC,QAAQ,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvD,8DAA8D;oBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,2BAA2B,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,WAAW,WAAW,CAAC,QAAQ,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvK,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,GAAG,CAAC;QAChC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC;QAE5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wEAAwE;IACxE,eAAe;QACb,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;qCAIiC;IACjC,kBAAkB;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/E,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAA4B,EAAE,SAAS,GAAG,KAAK;QACtE,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,EAAE,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACzC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,cAAc,CAAC,SAAuB,EAAE,QAAsB;QAO5D,oEAAoE;QACpE,6DAA6D;QAC7D,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,qEAAqE;QACrE,mEAAmE;QACnE,2DAA2D;QAC3D,MAAM,OAAO,GAAG,CAAC,CAAe,EAAU,EAAE;YAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;YACpC,IAAI,KAAK,GAAG,CAAC;gBAAE,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,4DAA4D;QAC5D,kEAAkE;QAClE,gEAAgE;QAChE,oEAAoE;QACpE,MAAM,QAAQ,GAAG,CAAC,CAAe,EAAuC,EAAE;YACxE,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACpF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,eAAe;gBAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAC7D,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC;YAC1B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,2DAA2D,CAAC,CAAC;YACzF,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,MAAM,cAAc,GAAG,QAAQ,IAAI,QAAQ,CAAC;QAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpD,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QACrD,mEAAmE;QACnE,uDAAuD;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,GAAG,GAAG,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,SAAS,CAAC,IAAI,IAAI,QAAQ,OAAO,QAAQ,CAAC,IAAI,IAAI,QAAQ,OAAO,KAAK,CAAC,IAAI,SAAS,YAAY,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrK,mEAAmE;QACnE,iEAAiE;QACjE,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,8DAA8D;QAC9D,MAAM,SAAS,GAAG;YAChB,aAAa;YACb,KAAK,SAAS,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,CAAC,EAAE;YACnD,KAAK,QAAQ,CAAC,IAAI,KAAK,gBAAgB,CAAC,OAAO,CAAC,EAAE;SACnD,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,GAAG,WAAW;YACd,GAAG,KAAK,CAAC,IAAI,gBAAgB,YAAY,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC,CAAC,EAAE,EAAE;SACzG,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,eAAe;QACb,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,gEAAgE;QAChE,4CAA4C;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,KAAe,EAAE,OAAiB,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO;QACjF,oEAAoE;QACpE,mEAAmE;QACnE,mEAAmE;QACnE,iEAAiE;QACjE,0DAA0D;QAC1D,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,QAAsB,EAAE,QAAsB;QAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC3C,oEAAoE;QACpE,iEAAiE;QACjE,uEAAuE;QACvE,sEAAsE;QACtE,iEAAiE;QACjE,0CAA0C;QAC1C,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,WAAW,CAAC;YACpE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,SAAS;YAC1F,CAAC,CAAC,SAAS,CAAC;QAEd,mEAAmE;QACnE,uCAAuC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAE9C,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,iEAAiE;QACjE,qEAAqE;QACrE,kEAAkE;QAClE,sEAAsE;QACtE,oEAAoE;QACpE,0BAA0B;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACxG,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC;QACrE,MAAM,YAAY,GAAG,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC;QAEhE,IAAI,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO;gBACL,KAAK,EAAE,sBAAsB,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,EAAE;gBAC5G,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC1E,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;gBAChC,QAAQ,EAAE,CAAC,WAAW,IAAI,SAAS;aACpC,CAAC;QACJ,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpG,OAAO;YACL,KAAK,EAAE,QAAQ,MAAM,CAAC,IAAI,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3E,IAAI,EAAE,QAAQ,CAAC,aAAa,EAAE,GAAG,SAAS;YAC1C,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC;YAC1D,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,QAAQ,EAAE,YAAY;SACvB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CAAC,QAAsB,EAAE,QAAsB;QACnE,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,KAAK,IAAI;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,oEAAoE;QACpE,oEAAoE;QACpE,mDAAmD;QACnD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/G,MAAM,KAAK,GAAG,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7H,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CAAC,QAAsB,EAAE,QAAsB,EAAE,OAAwB;QACpF,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,mDAAmD;QAExE,0DAA0D;QAC1D,IAAI,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC,CAAC;QACjH,CAAC;QAED,8DAA8D;QAC9D,wCAAwC;QACxC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,GAAG,CAAC;YAAE,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACjD,IAAI,QAAQ,GAAG,CAAC;YAAE,QAAQ,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACjD,kEAAkE;QAClE,oEAAoE;QACpE,8DAA8D;QAC9D,iEAAiE;QACjE,qDAAqD;QACrD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,OAAO,QAAQ,CAAC,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACnE,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YACzD,CAAC;YACD,gEAAgE;YAChE,+DAA+D;YAC/D,gEAAgE;YAChE,qBAAqB;YACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,CAAC,CAAe,EAAE,EAAE,CACtC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBACrC,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ;wBAAE,SAAS;oBACvD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC;wBAAE,SAAS;oBACnD,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;wBAAE,SAAS;oBACxE,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;oBACrD,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;wBAC3B,YAAY,GAAG,OAAO,CAAC;wBACvB,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,6DAA6D;QAC7D,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnG,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACvD,8DAA8D;QAC9D,6DAA6D;QAC7D,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC,CAAC;QAEN,kEAAkE;QAClE,8DAA8D;QAC9D,kEAAkE;QAClE,iEAAiE;QACjE,QAAQ;QACR,MAAM,WAAW,GAAG,CAAC,GAAiB,EAAW,EAAE,CACjD,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,GAAa,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,oEAAoE;QACpE,iCAAiC;QACjC,MAAM,aAAa,GAAG,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,yDAAyD;QACzD,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,iEAAiE;QACjE,iDAAiD;QACjD,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExF,8DAA8D;QAC9D,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,iEAAiE;QACjE,oEAAoE;QACpE,mEAAmE;QACnE,2BAA2B;QAC3B,EAAE;QACF,kEAAkE;QAClE,yDAAyD;QACzD,mEAAmE;QACnE,oEAAoE;QACpE,6DAA6D;QAC7D,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO;YAChC,CAAC,CAAC,MAAM,CAAC,KAAK;YACd,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,GAAG,UAAU,EAAE,WAAW,CAAC,CAAC;QACrG,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,YAAY,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC,KAAK,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;YAC7I,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAC3G,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,iBAAiB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,IAAI,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,gBAAgB,kBAAkB,CAAC,CAAC,CAAC,OAAO,kBAAkB,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;QAEzO,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;YAC/E,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,2CAA2C,CAAC;YAC7F,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC3C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,qFAAqF,CAAC,CAAC;YAC3G,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC;YACpD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,UAAU,OAAO,WAAW,QAAQ,mBAAmB,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,QAAQ,CAAC,IAAI,uCAAuC,CAAC,CAAC;YACjF,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,CAAC;QAEhC,iEAAiE;QACjE,mEAAmE;QACnE,kEAAkE;QAClE,+DAA+D;QAC/D,+DAA+D;QAC/D,oEAAoE;QACpE,iCAAiC;QACjC,IAAI,QAAQ,YAAY,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;YACpC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACrB,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,KAAK,6BAA6B,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;gBAChJ,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,UAAU,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,qBAAqB,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACxH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;gBACnE,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,KAAK,2BAA2B,QAAQ,CAAC,IAAI,iBAAiB,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;gBACxJ,KAAK,CAAC,IAAI,CAAC,kDAAkD,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACrF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACrB,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;oBAChD,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,mEAAmE;QACnE,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;YACnC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,KAAK,mBAAmB,QAAQ,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;YACpJ,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,UAAU,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACvH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC/B,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,gDAAgD,GAAG,cAAc,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC7G,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAClD,KAAK,CAAC,IAAI,CAAC,sCAAsC,IAAI,UAAU,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACzF,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,KAAK,CAAC,IAAI,CAAC,6CAA6C,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,oBAAoB,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBACtJ,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,mDAAmD,CAAC,CAAC;gBAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC,CAAC;YAC7G,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;QACpD,CAAC;QAED,gEAAgE;QAChE,qEAAqE;QACrE,oEAAoE;QACpE,kEAAkE;QAClE,sEAAsE;QACtE,iEAAiE;QACjE,iEAAiE;QACjE,kEAAkE;QAClE,qEAAqE;QACrE,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,KAAK,qBAAqB,QAAQ,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;gBACjJ,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,UAAU,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBACpH,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACjC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,mDAAmD,IAAI,UAAU,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACtG,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;wBACjB,KAAK,CAAC,IAAI,CAAC,uCAAuC,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,oBAAoB,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;oBAChJ,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,iDAAiD,CAAC,CAAC;oBAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,6CAA6C,EAAE,CAAC,CAAC,CAAC;gBAC5H,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;YACpD,CAAC;YACD,iEAAiE;QACnE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEtF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,KAAK,YAAY,QAAQ,CAAC,IAAI,UAAU,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,YAAY,cAAc,QAAQ,IAAI,CAAC,CAAC;YAC3J,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,UAAU,IAAI,QAAQ,OAAO,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,8CAA8C,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,2BAA2B,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC9J,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,UAAU,KAAK,aAAa,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC;YACxI,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,IAAI,UAAU,KAAK,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAChH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH;;;;;;;;OAQG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAoB,EAAE,MAAe;QAC/D,MAAM,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC,IAAI,gDAAgD,CAAC,CAAC;QACxH,MAAM,KAAK,GAAG,CAAC,kHAAkH,CAAC,CAAC;QACnI,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAAoB,EACpB,MAAoB,EACpB,IAAoE;QAEpE,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAEpD,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,wDAAwD,CAAC,CAAC;gBAC1G,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,mDAAmD;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,wDAAwD,CAAC,CAAC;YAC1G,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;QAE9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5F,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAEnF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,2CAA2C,MAAM,CAAC,IAAI,qBAAqB,CAAC,CAAC;YAC9G,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE3B,mEAAmE;YACnE,mEAAmE;YACnE,iEAAiE;YACjE,6DAA6D;YAC7D,kEAAkE;YAClE,kDAAkD;YAClD,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;mBACpB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC;uBAChD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,MAAgB,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAgB,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,iBAAiB,MAAM,CAAC,IAAI,uBAAuB,MAAM,CAAC,IAAI,GAAG,CAAC;YAC7G,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,aAAa,EAAE,CAAC;YAClB,6DAA6D;YAC7D,iEAAiE;YACjE,gEAAgE;YAChE,2DAA2D;YAC3D,gEAAgE;YAChE,sBAAsB;YACtB,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,GAAG,MAAM,CAAC,IAAI,0CAA0C,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;YAC5H,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,MAAgB,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC7E,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;gBACxB,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAgB,CAAC,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,MAAgB,CAAC,CAAC;gBACxD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,kEAAkE;QAClE,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,aAAa,GAAG,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,OAAO,GAAG,aAAa,KAAK,QAAQ;YACxC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,uHAAuH;YACvI,CAAC,CAAC,aAAa,KAAK,QAAQ;gBAC1B,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,uHAAuH;gBACvI,CAAC,CAAC,aAAa,KAAK,OAAO;oBAC3B,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,qGAAqG;oBACrH,CAAC,CAAC,aAAa,KAAK,OAAO;wBACzB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,+DAA+D,IAAI,CAAC,IAAI,yBAAyB;wBACjH,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;4BACrB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,4EAA4E;4BAC5F,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,kEAAkE,CAAC;QAC3F,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3B,oEAAoE;QACpE,8DAA8D;QAC9D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,iEAAiE;QACjE,mEAAmE;QACnE,wDAAwD;QACxD,2DAA2D;QAC3D,8DAA8D;QAC9D,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1B,gEAAgE;YAChE,gEAAgE;YAChE,0DAA0D;YAC1D,sBAAsB;YACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,gEAAgE;QAChE,kEAAkE;QAClE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,oEAAoE;QACpE,2DAA2D;QAC3D,kEAAkE;QAClE,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;mBAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;mBACpC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;mBAC/B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAAC,MAAgB;QACnC,oEAAoE;QACpE,8DAA8D;QAC9D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE1B,kEAAkE;QAClE,yEAAyE;QACzE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEnD,gEAAgE;QAChE,qCAAqC;QACrC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,oBAAoB,EAAE,EAAE,CAAC;QAE/C,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { NPC } from '../models/npc.js';
|
|
2
2
|
import { Room } from '../models/room.js';
|
|
3
|
+
import { Player } from '../models/player.js';
|
|
4
|
+
import { GridCoord } from './room-grid.js';
|
|
3
5
|
import type { Scene } from '../models/scene.js';
|
|
4
6
|
/**
|
|
5
7
|
* THE EPHEMERAL NPC GOVERNOR (7ALf6u7PvTg6TZSm7, Maka: "an ephemeral NPC
|
|
@@ -58,6 +60,16 @@ export interface IEphemeralMark {
|
|
|
58
60
|
until: EphemeralScope;
|
|
59
61
|
/** The room they were spawned into -- what 'room' scope is measured against. */
|
|
60
62
|
roomName: string;
|
|
63
|
+
/**
|
|
64
|
+
* WHERE AN AUTHORITY PLANTED ITSELF. A post is a promise to stay, and
|
|
65
|
+
* it has to be WRITTEN DOWN to be kept: a derived drift seat is
|
|
66
|
+
* recomputed from whoever else is in the room, so an officer with no
|
|
67
|
+
* recorded post slides a square sideways every time somebody new
|
|
68
|
+
* walks in. See tickEphemerals.
|
|
69
|
+
*/
|
|
70
|
+
postCell?: GridCoord;
|
|
71
|
+
/** How many player actions this body has lived through -- its own clock. */
|
|
72
|
+
ticks: number;
|
|
61
73
|
}
|
|
62
74
|
/** Every ephemeral currently standing, by NPC name. */
|
|
63
75
|
export type EphemeralRegistry = Map<string, IEphemeralMark>;
|
|
@@ -65,6 +77,29 @@ export type EphemeralRegistry = Map<string, IEphemeralMark>;
|
|
|
65
77
|
export interface IEphemeralHost {
|
|
66
78
|
scene: Scene;
|
|
67
79
|
ephemerals: EphemeralRegistry;
|
|
80
|
+
/**
|
|
81
|
+
* EVERY NAME EVER ISSUED THIS SESSION, and the fix for the third
|
|
82
|
+
* rejection of this feature (Maka: "The NPC that is spawned, while ok,
|
|
83
|
+
* is just following me around. If I move west, it moves west with me").
|
|
84
|
+
*
|
|
85
|
+
* It never did move. The registry proves it: the body in the room you
|
|
86
|
+
* left was despawned and a NEW one spawned in the room you arrived at.
|
|
87
|
+
* But both naming helpers asked "is this name free RIGHT NOW", and
|
|
88
|
+
* despawn runs first, so the pool reset to the top on every arrival --
|
|
89
|
+
* the next bystander was always Ravi, the next gangers always
|
|
90
|
+
* Halloweener and Ancient, and the arrival line was the same sentence
|
|
91
|
+
* word for word. A harness walking two streets printed "Halloweener
|
|
92
|
+
* and Ancient peel off a wall" twice, on different dice.
|
|
93
|
+
*
|
|
94
|
+
* IDENTITY IS THE ENTIRE OF WHAT A PLAYER CAN OBSERVE ABOUT A PASSING
|
|
95
|
+
* FACE. There is no other handle: no history, no inventory they
|
|
96
|
+
* remember, nothing but a name and a one-line reason for standing
|
|
97
|
+
* there. Recycle the name and you have not made a second stranger --
|
|
98
|
+
* you have made the first one walk. So the ledger is CUMULATIVE and
|
|
99
|
+
* never forgets, which is precisely what distinguishes it from asking
|
|
100
|
+
* the scene.
|
|
101
|
+
*/
|
|
102
|
+
spentNames: Set<string>;
|
|
68
103
|
}
|
|
69
104
|
/**
|
|
70
105
|
* Bring one into the world. Returns the NPC, or null when the name is
|
|
@@ -102,6 +137,44 @@ export declare function despawnEphemerals(host: IEphemeralHost, opts: {
|
|
|
102
137
|
/** Ends everything regardless of scope (scene teardown). */
|
|
103
138
|
all?: boolean;
|
|
104
139
|
}): string[];
|
|
140
|
+
/**
|
|
141
|
+
* THE ONE NAMING PATH, for the same reason there is one spawn path: two
|
|
142
|
+
* naming helpers is how two of them end up called Ravi.
|
|
143
|
+
*
|
|
144
|
+
* A name must be free in the scene AND unspent this session. When the
|
|
145
|
+
* pool runs dry it keeps counting rather than refusing -- a street that
|
|
146
|
+
* quietly stops having people on it is a worse bug than a stranger
|
|
147
|
+
* called "Ravi 4", and refusing was what the old helper did after eight
|
|
148
|
+
* faces.
|
|
149
|
+
*
|
|
150
|
+
* `offset` rotates the starting point so a batch spawned together
|
|
151
|
+
* (gangers) does not read as an alphabetical roll-call.
|
|
152
|
+
*/
|
|
153
|
+
export declare function claimEphemeralName(host: IEphemeralHost, pool: readonly string[], offset?: number): string | undefined;
|
|
154
|
+
/**
|
|
155
|
+
* THE AGENDA. One player action is one beat for every ephemeral in the
|
|
156
|
+
* room, and each kind spends it differently.
|
|
157
|
+
*
|
|
158
|
+
* WHY THIS HANGS OFF THE COMMAND DISPATCH, which is the same choice
|
|
159
|
+
* withICTurn made and for the same reason: an ephemeral is not a combat
|
|
160
|
+
* actor, so there is no turn loop to live in, and hooking one verb
|
|
161
|
+
* would give a mob permission to close only while you happened to be
|
|
162
|
+
* walking. It closes while you look, while you talk, while you check
|
|
163
|
+
* your gear. That is what makes it opposition rather than furniture.
|
|
164
|
+
*
|
|
165
|
+
* WHAT THIS IS NOT: it is NOT what made the NPC seem to follow the
|
|
166
|
+
* player. Nothing here existed when that was reported -- an ephemeral
|
|
167
|
+
* spawned, stood on a derived cell, and was deleted, and the only
|
|
168
|
+
* motion in the whole feature was the illusion the recycled name
|
|
169
|
+
* created. This is the other half of the same rejection: the premise
|
|
170
|
+
* of the feature is bodies with their OWN placement, and a body that
|
|
171
|
+
* never acts has no placement to call its own.
|
|
172
|
+
*
|
|
173
|
+
* Returns narration for the player, which only a mob ever produces --
|
|
174
|
+
* a bystander is scenery until spoken to (npc.ts, both silence guards)
|
|
175
|
+
* and an officer holding still is the absence of an event, not one.
|
|
176
|
+
*/
|
|
177
|
+
export declare function tickEphemerals(host: IEphemeralHost, player: Player): string[];
|
|
105
178
|
/**
|
|
106
179
|
* The two denials that make an ephemeral disposable, as prompt text.
|
|
107
180
|
*
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { NPC } from '../models/npc.js';
|
|
2
2
|
import { Logger } from './logger.js';
|
|
3
3
|
import { CommandRegistry } from '../commands/command-registry.js';
|
|
4
|
+
import { actorCell, actorDistanceMeters, standingRoomNear, ADJACENT_METERS } from './spots.js';
|
|
5
|
+
import { METERS_PER_CELL } from './room-grid.js';
|
|
4
6
|
/**
|
|
5
7
|
* Bring one into the world. Returns the NPC, or null when the name is
|
|
6
8
|
* already taken -- the same refusal spawnCompanionShell makes, and for
|
|
@@ -21,11 +23,16 @@ export function spawnEphemeral(host, opts) {
|
|
|
21
23
|
// NOT allyOf, and NOT companionKind: an ephemeral belongs to nobody
|
|
22
24
|
// and is on no roster. Those two fields are what make a companion
|
|
23
25
|
// persist, follow, and take orders.
|
|
24
|
-
npc.ephemeral = { kind: opts.kind, until: opts.until, roomName: opts.room.name };
|
|
26
|
+
npc.ephemeral = { kind: opts.kind, until: opts.until, roomName: opts.room.name, ticks: 0 };
|
|
25
27
|
host.scene.addActor(npc);
|
|
26
28
|
host.scene.setCharacterLocation(npc, opts.room.name);
|
|
27
29
|
npc.scene = host.scene;
|
|
28
30
|
host.ephemerals.set(opts.name, npc.ephemeral);
|
|
31
|
+
// THE ONE LEDGER WRITE. Spawning is the only way a name enters the
|
|
32
|
+
// world, so it is the only place the ledger can be kept honest --
|
|
33
|
+
// claimEphemeralName only reads it. A second writer is how a name
|
|
34
|
+
// gets issued twice.
|
|
35
|
+
host.spentNames.add(opts.name);
|
|
29
36
|
Logger.getInstance().write(`Ephemeral spawned: ${opts.name} (${opts.kind}, until ${opts.until}) in ${opts.room.name}.`);
|
|
30
37
|
return npc;
|
|
31
38
|
}
|
|
@@ -65,6 +72,208 @@ export function despawnEphemerals(host, opts) {
|
|
|
65
72
|
}
|
|
66
73
|
return removed;
|
|
67
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* THE ONE NAMING PATH, for the same reason there is one spawn path: two
|
|
77
|
+
* naming helpers is how two of them end up called Ravi.
|
|
78
|
+
*
|
|
79
|
+
* A name must be free in the scene AND unspent this session. When the
|
|
80
|
+
* pool runs dry it keeps counting rather than refusing -- a street that
|
|
81
|
+
* quietly stops having people on it is a worse bug than a stranger
|
|
82
|
+
* called "Ravi 4", and refusing was what the old helper did after eight
|
|
83
|
+
* faces.
|
|
84
|
+
*
|
|
85
|
+
* `offset` rotates the starting point so a batch spawned together
|
|
86
|
+
* (gangers) does not read as an alphabetical roll-call.
|
|
87
|
+
*/
|
|
88
|
+
export function claimEphemeralName(host, pool, offset = 0) {
|
|
89
|
+
if (pool.length === 0)
|
|
90
|
+
return undefined;
|
|
91
|
+
const free = (n) => !host.scene.getActor(n) && !host.spentNames.has(n);
|
|
92
|
+
for (let i = 0; i < pool.length; i++) {
|
|
93
|
+
const base = pool[(offset + i) % pool.length];
|
|
94
|
+
if (free(base))
|
|
95
|
+
return base;
|
|
96
|
+
}
|
|
97
|
+
for (let n = 2; n < 100; n++) {
|
|
98
|
+
for (let i = 0; i < pool.length; i++) {
|
|
99
|
+
const candidate = `${pool[(offset + i) % pool.length]} ${n}`;
|
|
100
|
+
if (free(candidate))
|
|
101
|
+
return candidate;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A SMALL DETERMINISTIC WHEEL, keyed on who you are and how long you
|
|
108
|
+
* have been standing there.
|
|
109
|
+
*
|
|
110
|
+
* Math.random would have done the job and is what every other flavour
|
|
111
|
+
* pick in this family uses. It is deliberately NOT used here, because
|
|
112
|
+
* "a bystander moves for their own reasons and not because of you" is
|
|
113
|
+
* the CLAIM this feature is making, and a claim has to be checkable. A
|
|
114
|
+
* seeded wheel makes it so: run the same body for the same number of
|
|
115
|
+
* ticks with the player standing somewhere else entirely, and it walks
|
|
116
|
+
* the identical path. That test cannot be written against Math.random,
|
|
117
|
+
* and without it "independent" is just a word in a comment.
|
|
118
|
+
*/
|
|
119
|
+
function wheel(name, tick) {
|
|
120
|
+
let h = 2166136261 ^ tick;
|
|
121
|
+
for (let i = 0; i < name.length; i++) {
|
|
122
|
+
h = Math.imul(h ^ name.charCodeAt(i), 16777619);
|
|
123
|
+
}
|
|
124
|
+
return ((h >>> 0) % 10000) / 10000;
|
|
125
|
+
}
|
|
126
|
+
/** Cells this body could cover in one player action, at a walk. */
|
|
127
|
+
function walkCells(npc) {
|
|
128
|
+
return Math.max(1, Math.floor(npc.walkRateMeters / METERS_PER_CELL));
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* THE AGENDA. One player action is one beat for every ephemeral in the
|
|
132
|
+
* room, and each kind spends it differently.
|
|
133
|
+
*
|
|
134
|
+
* WHY THIS HANGS OFF THE COMMAND DISPATCH, which is the same choice
|
|
135
|
+
* withICTurn made and for the same reason: an ephemeral is not a combat
|
|
136
|
+
* actor, so there is no turn loop to live in, and hooking one verb
|
|
137
|
+
* would give a mob permission to close only while you happened to be
|
|
138
|
+
* walking. It closes while you look, while you talk, while you check
|
|
139
|
+
* your gear. That is what makes it opposition rather than furniture.
|
|
140
|
+
*
|
|
141
|
+
* WHAT THIS IS NOT: it is NOT what made the NPC seem to follow the
|
|
142
|
+
* player. Nothing here existed when that was reported -- an ephemeral
|
|
143
|
+
* spawned, stood on a derived cell, and was deleted, and the only
|
|
144
|
+
* motion in the whole feature was the illusion the recycled name
|
|
145
|
+
* created. This is the other half of the same rejection: the premise
|
|
146
|
+
* of the feature is bodies with their OWN placement, and a body that
|
|
147
|
+
* never acts has no placement to call its own.
|
|
148
|
+
*
|
|
149
|
+
* Returns narration for the player, which only a mob ever produces --
|
|
150
|
+
* a bystander is scenery until spoken to (npc.ts, both silence guards)
|
|
151
|
+
* and an officer holding still is the absence of an event, not one.
|
|
152
|
+
*/
|
|
153
|
+
export function tickEphemerals(host, player) {
|
|
154
|
+
const lines = [];
|
|
155
|
+
if (player.plane !== 'meat')
|
|
156
|
+
return lines;
|
|
157
|
+
const room = player.currentLocation;
|
|
158
|
+
if (!room)
|
|
159
|
+
return lines;
|
|
160
|
+
for (const [name, mark] of host.ephemerals) {
|
|
161
|
+
const npc = host.scene.getActor(name);
|
|
162
|
+
if (!(npc instanceof NPC) || npc.isIncapacitated())
|
|
163
|
+
continue;
|
|
164
|
+
// A BODY IN ANOTHER ROOM IS NOT YOUR PROBLEM AND YOU ARE NOT ITS
|
|
165
|
+
// BUSINESS. This is the line the report was really about: a mob you
|
|
166
|
+
// left behind holds the block it was holding, and nothing here can
|
|
167
|
+
// reach across a doorway to move it after you.
|
|
168
|
+
if (npc.currentLocation !== room)
|
|
169
|
+
continue;
|
|
170
|
+
mark.ticks += 1;
|
|
171
|
+
// An authority plants its post on the beat it arrives -- that IS
|
|
172
|
+
// arriving, for a body whose whole behaviour is not moving.
|
|
173
|
+
if (mark.kind === 'authority') {
|
|
174
|
+
holdPost(room, npc, mark);
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
// NOBODY ELSE ACTS ON THE BEAT THEY ARRIVED. Spawning happens
|
|
178
|
+
// during the same player action this tick closes, so without the
|
|
179
|
+
// grace a corner's gangers "peel off a wall, unhurried" and are
|
|
180
|
+
// standing over you in the same breath -- which is an ambush, and
|
|
181
|
+
// street-gang.ts is explicit that this is not one.
|
|
182
|
+
if (mark.ticks < 2)
|
|
183
|
+
continue;
|
|
184
|
+
if (mark.kind === 'mob') {
|
|
185
|
+
const l = closeOn(room, npc, player);
|
|
186
|
+
if (l)
|
|
187
|
+
lines.push(l);
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
wander(room, npc, mark);
|
|
191
|
+
}
|
|
192
|
+
return lines;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* AN AUTHORITY HOLDS ITS POST. Not "does nothing" -- STAYS, which is a
|
|
196
|
+
* different instruction and needs writing down.
|
|
197
|
+
*
|
|
198
|
+
* A body with no named spot gets its cell derived by seatingIn from the
|
|
199
|
+
* open-floor anchor, and that derivation reads the whole room: who else
|
|
200
|
+
* is spotless, sorted by name, packed outward. So one bystander
|
|
201
|
+
* arriving whose name sorts earlier re-derives the officer one square
|
|
202
|
+
* over. Nobody would call that patrolling, but it is movement the
|
|
203
|
+
* player can see on the minimap, and it is movement the officer did not
|
|
204
|
+
* choose. Pinning the post is what makes standing still a decision.
|
|
205
|
+
*/
|
|
206
|
+
function holdPost(room, npc, mark) {
|
|
207
|
+
// Claimed once, RE-TAKEN every beat, and deliberately not split into
|
|
208
|
+
// a first-time branch and a later one: a branch that only ever runs
|
|
209
|
+
// after the other has already set the same field is a line no test
|
|
210
|
+
// can kill, and this file has had one of those before.
|
|
211
|
+
mark.postCell ??= actorCell(room, npc);
|
|
212
|
+
if (mark.postCell)
|
|
213
|
+
npc.atCell = mark.postCell;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* A MOB CLOSES, DELIBERATELY. Gangers who peeled off a wall to look at
|
|
217
|
+
* you do not then stand at the far end of the block for the rest of the
|
|
218
|
+
* scene.
|
|
219
|
+
*
|
|
220
|
+
* At a WALK, not a run: they are unhurried on purpose -- street-gang.ts
|
|
221
|
+
* spawns them "not in a hurry, just interested", and a corner shakedown
|
|
222
|
+
* that sprinted at you would be the set piece that file says it is not.
|
|
223
|
+
* The line is spoken ONCE, on the beat they arrive in reach, because a
|
|
224
|
+
* closing note on every action is noise and the arrival is the event.
|
|
225
|
+
*/
|
|
226
|
+
function closeOn(room, npc, player) {
|
|
227
|
+
const here = actorCell(room, npc);
|
|
228
|
+
const there = actorCell(room, player);
|
|
229
|
+
if (!here || !there)
|
|
230
|
+
return undefined;
|
|
231
|
+
if (actorDistanceMeters(room, npc, player) <= ADJACENT_METERS)
|
|
232
|
+
return undefined;
|
|
233
|
+
const step = walkCells(npc);
|
|
234
|
+
const dx = there.x - here.x, dy = there.y - here.y;
|
|
235
|
+
const span = Math.max(Math.abs(dx), Math.abs(dy)) || 1;
|
|
236
|
+
const reach = Math.min(1, step / span);
|
|
237
|
+
const aim = {
|
|
238
|
+
x: Math.round(here.x + dx * reach),
|
|
239
|
+
y: Math.round(here.y + dy * reach),
|
|
240
|
+
z: there.z,
|
|
241
|
+
};
|
|
242
|
+
const seat = standingRoomNear(room, aim, npc);
|
|
243
|
+
if (!seat)
|
|
244
|
+
return undefined;
|
|
245
|
+
npc.atCell = seat;
|
|
246
|
+
return actorDistanceMeters(room, npc, player) <= ADJACENT_METERS
|
|
247
|
+
? `{yellow-fg}${npc.name} closes the last of the distance and is standing over you.{/yellow-fg}`
|
|
248
|
+
: undefined;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* A BYSTANDER DRIFTS ABOUT THEIR OWN ERRAND. One cell at a time, chosen
|
|
252
|
+
* from their own name and their own clock -- the player is not an input.
|
|
253
|
+
*
|
|
254
|
+
* SILENT, and that is not an oversight. The whole reason a bystander
|
|
255
|
+
* does not become a character is that nothing gives it a turn it did
|
|
256
|
+
* not earn (bystander.ts); narrating every shuffle would hand it one
|
|
257
|
+
* every time you breathed, and a face the prose keeps mentioning is a
|
|
258
|
+
* face the player is right to think matters.
|
|
259
|
+
*/
|
|
260
|
+
function wander(room, npc, mark) {
|
|
261
|
+
const here = actorCell(room, npc);
|
|
262
|
+
if (!here)
|
|
263
|
+
return;
|
|
264
|
+
const r = wheel(npc.name, mark.ticks);
|
|
265
|
+
// Stand still most beats: somebody waiting on a late bus is mostly
|
|
266
|
+
// waiting. Movement is the exception, which is also what keeps this
|
|
267
|
+
// from reading as pacing.
|
|
268
|
+
if (r < 0.6) {
|
|
269
|
+
npc.atCell = here;
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
const dirs = [[1, 0], [-1, 0], [0, 1], [0, -1], [1, 1], [-1, -1], [1, -1], [-1, 1]];
|
|
273
|
+
const [ox, oy] = dirs[Math.floor(r * 1000) % dirs.length];
|
|
274
|
+
const seat = standingRoomNear(room, { x: here.x + ox, y: here.y + oy, z: here.z }, npc);
|
|
275
|
+
npc.atCell = seat ?? here;
|
|
276
|
+
}
|
|
68
277
|
/**
|
|
69
278
|
* The two denials that make an ephemeral disposable, as prompt text.
|
|
70
279
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ephemeral.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/ephemeral.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ephemeral.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/utilities/ephemeral.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { sameHostSide } from '../models/player.js';
|
|
2
|
+
import { NPC } from '../models/npc.js';
|
|
1
3
|
import { hostLabel } from './grid-names.js';
|
|
2
4
|
import { isLinked } from './comm-style.js';
|
|
3
5
|
import { isWatched, camerasLive, canSnoopFeeds } from './surveillance.js';
|
|
@@ -83,6 +85,13 @@ export function gridIcons(scene, actor, room) {
|
|
|
83
85
|
for (const a of scene.getActorsInRoom(room)) {
|
|
84
86
|
if (a === actor)
|
|
85
87
|
continue;
|
|
88
|
+
// THE WALL READS FROM THIS SIDE TOO. Everything below the divider
|
|
89
|
+
// is the open grid, so an icon that is INSIDE the host does not
|
|
90
|
+
// belong in it (p.246). Until this line the interior list was
|
|
91
|
+
// gated and this one was not, which is the asymmetry that let
|
|
92
|
+
// seeded ice stand on the street outside the node it guards.
|
|
93
|
+
if (!sameHostSide(actor, a))
|
|
94
|
+
continue;
|
|
86
95
|
if (actor.canPerceive(a)) {
|
|
87
96
|
const companion = scene.ownerGame?.companions.find(c => c.npc === a);
|
|
88
97
|
icons.push(companion
|
|
@@ -233,15 +242,31 @@ export function gridIcons(scene, actor, room) {
|
|
|
233
242
|
*/
|
|
234
243
|
function hostInteriorIcons(scene, actor, room) {
|
|
235
244
|
const icons = [];
|
|
236
|
-
//
|
|
245
|
+
// Icons that are ALSO inside this host -- and only those.
|
|
246
|
+
//
|
|
247
|
+
// ICE IS NOT A PERSONA, and this list used to call it one. That was
|
|
248
|
+
// harmless while nothing was ever inside a host to list; now that
|
|
249
|
+
// seeded constructs stand in the node they guard, the label is read
|
|
250
|
+
// by somebody deciding what to attack. scene-factory settles what a
|
|
251
|
+
// matrix-plane NPC IS -- "intrusion countermeasures ... the
|
|
252
|
+
// generator's own schema says so" -- and a line that contradicts the
|
|
253
|
+
// engine's own definition is the small lie this file keeps refusing
|
|
254
|
+
// elsewhere.
|
|
255
|
+
//
|
|
256
|
+
// A PLAYER on the matrix plane is genuinely a persona, so the split
|
|
257
|
+
// is instanceof NPC and nothing cleverer. It deliberately does NOT
|
|
258
|
+
// read `hostile`: a rival decker can be hostile without being ice,
|
|
259
|
+
// and that would put the wrong noun on a person.
|
|
237
260
|
for (const a of scene.getActorsInRoom(room)) {
|
|
238
261
|
if (a === actor)
|
|
239
262
|
continue;
|
|
240
|
-
if (a.plane === 'matrix' && a
|
|
263
|
+
if (a.plane === 'matrix' && sameHostSide(actor, a) && actor.canPerceive(a)) {
|
|
241
264
|
const companion = scene.ownerGame?.companions.find(c => c.npc === a);
|
|
242
265
|
icons.push(companion
|
|
243
266
|
? `◆ ${a.name} -- yours, in here with you`
|
|
244
|
-
:
|
|
267
|
+
: a instanceof NPC
|
|
268
|
+
? `▲ ${a.name} -- intrusion countermeasures, and you are inside its host.`
|
|
269
|
+
: `◆ ${a.name} -- a persona inside this host`);
|
|
245
270
|
}
|
|
246
271
|
}
|
|
247
272
|
// The host's files. Sealed until it is cracked: a mark buys the DOOR
|
|
@@ -282,6 +307,53 @@ function hostInteriorIcons(scene, actor, room) {
|
|
|
282
307
|
for (const name of room.runningIC) {
|
|
283
308
|
icons.push(`▲ ${name} -- hunting, and it has your icon.`);
|
|
284
309
|
}
|
|
310
|
+
// THE WAN IS IN HERE WITH YOU (SR5 p.233, asked directly rather than
|
|
311
|
+
// reasoned from the geometry): "If you are in a host that has a WAN,
|
|
312
|
+
// you are considered directly connected to all devices in the WAN."
|
|
313
|
+
// Direct connection is a STANDING, not flavour -- Noise 0 at any
|
|
314
|
+
// distance (p.231 table, p.232 Direct Connections) -- and p.267-268
|
|
315
|
+
// says it from the other end: inside a host, effective physical
|
|
316
|
+
// distance to a slaved drone is zero. Data Trails p.87-88 works the
|
|
317
|
+
// example, a hacker reaching a slaved door from inside with no
|
|
318
|
+
// proximity at all.
|
|
319
|
+
//
|
|
320
|
+
// TWO QUESTIONS THIS FILE HAD BEEN ANSWERING WITH ONE NUMBER.
|
|
321
|
+
// WHERE the camera icon sits is ENGINE FIAT under acknowledged
|
|
322
|
+
// canon silence: it stays out on the open grid where gridIcons
|
|
323
|
+
// draws it, because Data Trails p.109 covers slave control and does
|
|
324
|
+
// not address icon location, and the rule for that case is to say
|
|
325
|
+
// so and leave it out.
|
|
326
|
+
// WHETHER you can reach those cameras from in here is NOT silent.
|
|
327
|
+
// p.233 is explicit, and the answer is yes.
|
|
328
|
+
// So nothing moves in here. The STANDING gets named, and the icon
|
|
329
|
+
// stays where it always was.
|
|
330
|
+
//
|
|
331
|
+
// NAMED BECAUSE `snoop` ALREADY WORKED and the room said nothing
|
|
332
|
+
// about it. That is the rG8L defect this function was fixed for once
|
|
333
|
+
// already, one object over: a player cannot act on what the game will
|
|
334
|
+
// not name. Unlike the IC lines above, a verb IS offered here --
|
|
335
|
+
// because unlike them, it resolves.
|
|
336
|
+
//
|
|
337
|
+
// GATED ON SNOOP'S OWN PREDICATE, not on a proxy for it. The set
|
|
338
|
+
// below is literally what snoop.ts will accept -- isWatched, then
|
|
339
|
+
// canSnoopFeeds -- so this line cannot advertise a verb that then
|
|
340
|
+
// refuses, and the count it quotes cannot be wrong.
|
|
341
|
+
//
|
|
342
|
+
// The first draft asked cameraMasterHost which rooms this host is
|
|
343
|
+
// master of. That reads better and is wrong twice: the helper returns
|
|
344
|
+
// the FIRST host in the scene for every watched room, so in a
|
|
345
|
+
// multi-host scene the line would vanish inside the second host while
|
|
346
|
+
// `snoop` kept working there -- the same unnamed-but-reachable defect
|
|
347
|
+
// this block exists to close, one case over -- and a room with a host
|
|
348
|
+
// is watched by definition, so the guard could never fire the other
|
|
349
|
+
// way either. Asking the verb's own question has neither problem.
|
|
350
|
+
const rooms = scene.getRooms();
|
|
351
|
+
const reach = Object.values(rooms).filter(r => isWatched(r) && canSnoopFeeds(rooms, r, actor));
|
|
352
|
+
if (reach.length > 0) {
|
|
353
|
+
const elsewhere = reach.filter(r => r !== room).length;
|
|
354
|
+
icons.push(`◎ The site's camera WAN -- every lens slaved to this host, and from in here you are wired straight into them.`
|
|
355
|
+
+ ` ("snoop" reads this floor${elsewhere > 0 ? `; "snoop <room>" rides any of the other ${elsewhere}` : ''})`);
|
|
356
|
+
}
|
|
285
357
|
if (icons.length === 0) {
|
|
286
358
|
icons.push(`Empty architecture -- turning geometry and nothing in it worth the trip.`);
|
|
287
359
|
}
|