@kradle/challenges-sdk 0.10.0 → 0.11.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.
Files changed (84) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/LLM_README.md +235 -2333
  3. package/README.md +151 -570
  4. package/dist/index.d.ts +1 -4
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +2 -6
  7. package/dist/index.js.map +1 -1
  8. package/dist/runtime/examples/capture-the-flag.d.ts +33 -0
  9. package/dist/runtime/examples/capture-the-flag.d.ts.map +1 -0
  10. package/dist/runtime/examples/capture-the-flag.js +79 -0
  11. package/dist/runtime/examples/capture-the-flag.js.map +1 -0
  12. package/dist/runtime/examples/climb.d.ts +34 -0
  13. package/dist/runtime/examples/climb.d.ts.map +1 -0
  14. package/dist/runtime/examples/climb.js +54 -0
  15. package/dist/runtime/examples/climb.js.map +1 -0
  16. package/dist/runtime/examples/four-bridges.d.ts +107 -0
  17. package/dist/runtime/examples/four-bridges.d.ts.map +1 -0
  18. package/dist/runtime/examples/four-bridges.js +294 -0
  19. package/dist/runtime/examples/four-bridges.js.map +1 -0
  20. package/dist/runtime/examples/herding.d.ts +59 -0
  21. package/dist/runtime/examples/herding.d.ts.map +1 -0
  22. package/dist/runtime/examples/herding.js +181 -0
  23. package/dist/runtime/examples/herding.js.map +1 -0
  24. package/dist/runtime/examples/skywars.d.ts +116 -0
  25. package/dist/runtime/examples/skywars.d.ts.map +1 -0
  26. package/dist/runtime/examples/skywars.js +253 -0
  27. package/dist/runtime/examples/skywars.js.map +1 -0
  28. package/dist/runtime/harness.d.ts +176 -0
  29. package/dist/runtime/harness.d.ts.map +1 -0
  30. package/dist/runtime/harness.js +441 -0
  31. package/dist/runtime/harness.js.map +1 -0
  32. package/dist/runtime/index.d.ts +2 -0
  33. package/dist/runtime/index.d.ts.map +1 -0
  34. package/dist/runtime/index.js +18 -0
  35. package/dist/runtime/index.js.map +1 -0
  36. package/dist/runtime/sandbox-registry.d.ts +7 -0
  37. package/dist/runtime/sandbox-registry.d.ts.map +1 -0
  38. package/dist/runtime/sandbox-registry.js +16 -0
  39. package/dist/runtime/sandbox-registry.js.map +1 -0
  40. package/dist/runtime/sandbox.d.ts +29 -0
  41. package/dist/runtime/sandbox.d.ts.map +1 -0
  42. package/dist/runtime/sandbox.js +70 -0
  43. package/dist/runtime/sandbox.js.map +1 -0
  44. package/dist/runtime/sdk.d.ts +1038 -0
  45. package/dist/runtime/sdk.d.ts.map +1 -0
  46. package/dist/runtime/sdk.js +1271 -0
  47. package/dist/runtime/sdk.js.map +1 -0
  48. package/dist/runtime/world.d.ts +141 -0
  49. package/dist/runtime/world.d.ts.map +1 -0
  50. package/dist/runtime/world.js +344 -0
  51. package/dist/runtime/world.js.map +1 -0
  52. package/package.json +76 -40
  53. package/dist/actions.d.ts +0 -901
  54. package/dist/actions.d.ts.map +0 -1
  55. package/dist/actions.js +0 -1155
  56. package/dist/actions.js.map +0 -1
  57. package/dist/api_utils.d.ts +0 -25
  58. package/dist/api_utils.d.ts.map +0 -1
  59. package/dist/api_utils.js +0 -48
  60. package/dist/api_utils.js.map +0 -1
  61. package/dist/challenge.d.ts +0 -58
  62. package/dist/challenge.d.ts.map +0 -1
  63. package/dist/challenge.js +0 -582
  64. package/dist/challenge.js.map +0 -1
  65. package/dist/commands.d.ts +0 -57
  66. package/dist/commands.d.ts.map +0 -1
  67. package/dist/commands.js +0 -200
  68. package/dist/commands.js.map +0 -1
  69. package/dist/constants.d.ts +0 -78
  70. package/dist/constants.d.ts.map +0 -1
  71. package/dist/constants.js +0 -109
  72. package/dist/constants.js.map +0 -1
  73. package/dist/testmode.d.ts +0 -3
  74. package/dist/testmode.d.ts.map +0 -1
  75. package/dist/testmode.js +0 -19
  76. package/dist/testmode.js.map +0 -1
  77. package/dist/types.d.ts +0 -195
  78. package/dist/types.d.ts.map +0 -1
  79. package/dist/types.js +0 -38
  80. package/dist/types.js.map +0 -1
  81. package/dist/utils.d.ts +0 -17
  82. package/dist/utils.d.ts.map +0 -1
  83. package/dist/utils.js +0 -22
  84. package/dist/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"four-bridges.js","sourceRoot":"","sources":["../../../src/runtime/examples/four-bridges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { type Box, type Vec3 } from "../sdk.js";
2
+ export declare const config: {
3
+ readonly name: "Sheep Herding V2";
4
+ readonly challengeConfig: {};
5
+ readonly roles: {
6
+ readonly herder: {
7
+ readonly description: "Herd sheep into your pen. Hold wheat and they follow you. Most sheep in your pen after 3 minutes wins.";
8
+ readonly minParticipants: 2;
9
+ };
10
+ };
11
+ readonly endStates: {
12
+ readonly all_penned: "every sheep is in a pen";
13
+ readonly time_up: "the 3 minutes ran out";
14
+ };
15
+ };
16
+ export declare const CENTER: Vec3;
17
+ export declare const SHEEP = 8;
18
+ /** One herder per sheep at most: setup refuses a bigger roster. */
19
+ export declare const MAX_HERDERS = 8;
20
+ /** A pen: its fence square, the box inside it, and the two-block gap that faces the center. */
21
+ export interface Pen {
22
+ center: Vec3;
23
+ inside: Box;
24
+ gap: Vec3[];
25
+ walls: Box[];
26
+ }
27
+ /** The pens for `n` herders, on a circle around the center; pen `i` belongs to player number `i + 1`. */
28
+ export declare function pens(n: number): Pen[];
29
+ declare const _default: import("../sdk.js").Challenge<{
30
+ readonly name: "Sheep Herding V2";
31
+ readonly challengeConfig: {};
32
+ readonly roles: {
33
+ readonly herder: {
34
+ readonly description: "Herd sheep into your pen. Hold wheat and they follow you. Most sheep in your pen after 3 minutes wins.";
35
+ readonly minParticipants: 2;
36
+ };
37
+ };
38
+ readonly endStates: {
39
+ readonly all_penned: "every sheep is in a pen";
40
+ readonly time_up: "the 3 minutes ran out";
41
+ };
42
+ }, Record<string, never>, import("../sdk.js").ResolvePlayers<{
43
+ readonly name: "Sheep Herding V2";
44
+ readonly challengeConfig: {};
45
+ readonly roles: {
46
+ readonly herder: {
47
+ readonly description: "Herd sheep into your pen. Hold wheat and they follow you. Most sheep in your pen after 3 minutes wins.";
48
+ readonly minParticipants: 2;
49
+ };
50
+ };
51
+ readonly endStates: {
52
+ readonly all_penned: "every sheep is in a pen";
53
+ readonly time_up: "the 3 minutes ran out";
54
+ };
55
+ }, {
56
+ closed: boolean;
57
+ }, Record<never, never>>, string, never, never>;
58
+ export default _default;
59
+ //# sourceMappingURL=herding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herding.d.ts","sourceRoot":"","sources":["../../../src/runtime/examples/herding.ts"],"names":[],"mappings":"AAUA,OAAO,EACN,KAAK,GAAG,EAOR,KAAK,IAAI,EAET,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAciB,CAAC;AAErC,eAAO,MAAM,MAAM,EAAE,IAA6B,CAAC;AACnD,eAAO,MAAM,KAAK,IAAI,CAAC;AACvB,mEAAmE;AACnE,eAAO,MAAM,WAAW,IAAI,CAAC;AAM7B,+FAA+F;AAC/F,MAAM,WAAW,GAAG;IACnB,MAAM,EAAE,IAAI,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,GAAG,EAAE,IAAI,EAAE,CAAC;IACZ,KAAK,EAAE,GAAG,EAAE,CAAC;CACb;AAED,yGAAyG;AACzG,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAsCrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BD,wBAwFG"}
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_HERDERS = exports.SHEEP = exports.CENTER = exports.config = void 0;
4
+ exports.pens = pens;
5
+ // Sheep herding on the runtime SDK. Each herder gets a fenced pen with an open
6
+ // gap; 8 sheep spawn in the middle. Hold wheat and the sheep follow you. The
7
+ // score is the number of sheep inside your pen, live; closing the gap with the
8
+ // fences you carry keeps them in. Nothing here is declared to the engine: the
9
+ // sheep come from the entity mirror, the gap from the block mirror.
10
+ //
11
+ // One population: the sheep alive in the mirror, whatever their origin (a
12
+ // birth counts, a death does not). Scores, the end condition and the winner
13
+ // all read that same snapshot, and the scores follow every event that can
14
+ // end the game, so a burst of deaths never crowns a herder with fewer sheep.
15
+ const sdk_js_1 = require("../sdk.js");
16
+ exports.config = {
17
+ name: "Sheep Herding V2",
18
+ challengeConfig: {},
19
+ roles: {
20
+ herder: {
21
+ description: "Herd sheep into your pen. Hold wheat and they follow you. Most sheep in your pen after 3 minutes wins.",
22
+ minParticipants: 2,
23
+ },
24
+ },
25
+ endStates: {
26
+ all_penned: "every sheep is in a pen",
27
+ time_up: "the 3 minutes ran out",
28
+ },
29
+ };
30
+ exports.CENTER = { x: 0, y: -60, z: 0 }; // the surface of the flat world
31
+ exports.SHEEP = 8;
32
+ /** One herder per sheep at most: setup refuses a bigger roster. */
33
+ exports.MAX_HERDERS = 8;
34
+ const PEN_RADIUS = 24; // distance from the center to a pen's middle
35
+ const PEN_HALF = 4; // the fence square is 9 x 9; the inside is 7 x 7
36
+ const WHEAT = "minecraft:wheat";
37
+ const FENCE = "minecraft:oak_fence";
38
+ /** The pens for `n` herders, on a circle around the center; pen `i` belongs to player number `i + 1`. */
39
+ function pens(n) {
40
+ const out = [];
41
+ for (let i = 0; i < n; i++) {
42
+ const angle = (2 * Math.PI * i) / n;
43
+ const cx = Math.round(exports.CENTER.x + PEN_RADIUS * Math.cos(angle));
44
+ const cz = Math.round(exports.CENTER.z + PEN_RADIUS * Math.sin(angle));
45
+ const y = exports.CENTER.y;
46
+ const x1 = cx - PEN_HALF;
47
+ const x2 = cx + PEN_HALF;
48
+ const z1 = cz - PEN_HALF;
49
+ const z2 = cz + PEN_HALF;
50
+ // The gap sits in the wall that faces the center: the wall on the side of the center's direction.
51
+ const dx = exports.CENTER.x - cx;
52
+ const dz = exports.CENTER.z - cz;
53
+ const gapOnX = Math.abs(dx) >= Math.abs(dz);
54
+ const gap = gapOnX
55
+ ? [
56
+ { x: dx > 0 ? x2 : x1, y, z: cz },
57
+ { x: dx > 0 ? x2 : x1, y, z: cz + 1 },
58
+ ]
59
+ : [
60
+ { x: cx, y, z: dz > 0 ? z2 : z1 },
61
+ { x: cx + 1, y, z: dz > 0 ? z2 : z1 },
62
+ ];
63
+ const walls = [
64
+ { from: { x: x1, y, z: z1 }, to: { x: x2, y, z: z1 } },
65
+ { from: { x: x1, y, z: z2 }, to: { x: x2, y, z: z2 } },
66
+ { from: { x: x1, y, z: z1 }, to: { x: x1, y, z: z2 } },
67
+ { from: { x: x2, y, z: z1 }, to: { x: x2, y, z: z2 } },
68
+ ];
69
+ out.push({
70
+ center: { x: cx, y, z: cz },
71
+ inside: { from: { x: x1 + 1, y: y - 1, z: z1 + 1 }, to: { x: x2 - 1, y: y + 2, z: z2 - 1 } },
72
+ gap,
73
+ walls,
74
+ });
75
+ }
76
+ return out;
77
+ }
78
+ const SHEEP_TYPE = "minecraft:sheep";
79
+ const state = {
80
+ player: () => ({ closed: false }),
81
+ };
82
+ const penOf = (g, p) => pens(g.players.length)[p.number - 1];
83
+ /** Every sheep alive in the mirror: the one population behind the scores, the end and the winner. */
84
+ const sheep = (g) => g.entities({ type: SHEEP_TYPE });
85
+ const pennedIds = (g, p) => g.entities({ box: penOf(g, p).inside, type: SHEEP_TYPE }).map((e) => e.id);
86
+ function score(g) {
87
+ for (const p of g.players)
88
+ p.score = pennedIds(g, p).length;
89
+ }
90
+ /** Every sheep is inside a pen. Ids are unique, so no sheep counts twice, whatever the pens' geometry. */
91
+ function allPenned(g) {
92
+ const all = sheep(g);
93
+ if (all.length === 0)
94
+ return false;
95
+ const penned = new Set(g.players.flatMap((p) => pennedIds(g, p)));
96
+ return all.every((e) => penned.has(e.id));
97
+ }
98
+ exports.default = (0, sdk_js_1.defineChallenge)(exports.config, {
99
+ ...state,
100
+ duration: (0, sdk_js_1.minutes)(3),
101
+ life: "respawn",
102
+ world: { spawn: exports.CENTER, time: "day" },
103
+ announce: { deaths: false },
104
+ setup(g) {
105
+ if (g.players.length > exports.MAX_HERDERS) {
106
+ throw new Error(`Sheep Herding takes at most ${exports.MAX_HERDERS} herders (one per sheep); this run has ${g.players.length}.`);
107
+ }
108
+ g.killEntities();
109
+ for (const pen of pens(g.players.length)) {
110
+ for (const wall of pen.walls)
111
+ g.fill(wall.from, wall.to, FENCE);
112
+ for (const at of pen.gap)
113
+ g.setblock(at, "minecraft:air");
114
+ }
115
+ for (let i = 0; i < exports.SHEEP; i++) {
116
+ g.summon(SHEEP_TYPE, {
117
+ x: exports.CENTER.x + g.rand(-3, 3) + 0.5,
118
+ y: exports.CENTER.y,
119
+ z: exports.CENTER.z + g.rand(-3, 3) + 0.5,
120
+ });
121
+ }
122
+ g.worldBorder({ center: { x: exports.CENTER.x, z: exports.CENTER.z }, size: 120 });
123
+ },
124
+ start(g) {
125
+ for (const p of g.players) {
126
+ const pen = penOf(g, p);
127
+ g.teleport(p, { x: exports.CENTER.x + 0.5, y: exports.CENTER.y, z: exports.CENTER.z + 0.5 });
128
+ g.give(p, WHEAT, 16);
129
+ g.give(p, FENCE, 4);
130
+ g.tell(p, `You are herder ${p.number}. Your pen is at X: ${pen.center.x} Z: ${pen.center.z}; its opening faces the middle at X: ${pen.gap[0]?.x} Z: ${pen.gap[0]?.z}. Hold wheat and walk: the sheep follow. Close the opening with your fences once they are in.`);
131
+ }
132
+ g.say(`${exports.SHEEP} sheep are loose in the middle. Most sheep in your own pen after 3 minutes wins!`);
133
+ },
134
+ every: [
135
+ {
136
+ interval: (0, sdk_js_1.seconds)(30),
137
+ run: (g) => g.say(`Standings: ${g.players.map((p) => `${p.name} ${p.score}`).join(", ")}. ${Math.max(0, 180 - Math.floor(g.elapsed / 20))} s left.`),
138
+ },
139
+ ],
140
+ on: {
141
+ // The score is live: every tick, from the entity mirror.
142
+ tick: score,
143
+ // A birth or a death changes the population and can end the game, so the
144
+ // scores follow at once: the winner comes from the same snapshot as the end.
145
+ entitySpawned(g, { entity }) {
146
+ if (entity.type === SHEEP_TYPE)
147
+ score(g);
148
+ },
149
+ entityRemoved(g, { entity }) {
150
+ if (entity.type !== SHEEP_TYPE)
151
+ return;
152
+ score(g);
153
+ g.say(`A sheep is gone. ${sheep(g).length} left.`);
154
+ },
155
+ blocksChanged(g, { changes }) {
156
+ for (const p of g.players) {
157
+ const pen = penOf(g, p);
158
+ if (!changes.some((c) => pen.gap.some((a) => a.x === c.x && a.y === c.y && a.z === c.z)))
159
+ continue;
160
+ // A gap block the mirror does not know is not a closed gap.
161
+ const closed = pen.gap.every((a) => {
162
+ const block = g.blockAt(a);
163
+ return block !== undefined && block !== "minecraft:air";
164
+ });
165
+ if (closed === p.closed)
166
+ continue;
167
+ p.closed = closed;
168
+ g.tell(p, closed ? "Your pen is closed. The sheep inside stay in." : "Your pen is open again.");
169
+ }
170
+ },
171
+ },
172
+ end: allPenned,
173
+ endState: (g) => (allPenned(g) ? "all_penned" : "time_up"),
174
+ onOver(g) {
175
+ score(g);
176
+ for (const p of g.players)
177
+ g.title(p, `${p.score} sheep`, p.closed ? "pen closed" : "pen open");
178
+ },
179
+ winners: sdk_js_1.Win.topScore({ min: 1 }),
180
+ });
181
+ //# sourceMappingURL=herding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herding.js","sourceRoot":"","sources":["../../../src/runtime/examples/herding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { type ContainerItem, type ContextOf, type Item, type Vec3 } from "../sdk.js";
2
+ export declare const CENTER: Vec3;
3
+ export declare const config: {
4
+ readonly name: "Skywars";
5
+ readonly challengeConfig: {
6
+ readonly locations: {
7
+ readonly center: {
8
+ readonly coordinates: Vec3;
9
+ };
10
+ };
11
+ };
12
+ readonly roles: {
13
+ readonly fighter: {
14
+ readonly description: "fighter";
15
+ readonly minParticipants: 2;
16
+ };
17
+ };
18
+ readonly endStates: {
19
+ readonly last_standing: "One player remains alive; that player wins";
20
+ readonly time_up: "The timer ran out with several players alive; nobody wins";
21
+ };
22
+ };
23
+ export declare const BORDER_SHRINKS: {
24
+ at: import("../sdk.js").Ticks;
25
+ size: number;
26
+ seconds: number;
27
+ message: string;
28
+ }[];
29
+ type Count = number | [number, number];
30
+ type Entry = {
31
+ weight: number;
32
+ items: Array<{
33
+ item: Item;
34
+ count?: Count;
35
+ nbt?: string;
36
+ }>;
37
+ };
38
+ type Pool = {
39
+ rolls: Count;
40
+ entries: Entry[];
41
+ };
42
+ export declare const STARTING_LOOT: Pool[];
43
+ export declare const MID_LOOT: Pool[];
44
+ declare const state: {
45
+ game: () => {
46
+ chests: Vec3[];
47
+ };
48
+ player: () => {
49
+ island: string;
50
+ damageDealt: number;
51
+ };
52
+ markers: {
53
+ tags: string[];
54
+ within: {
55
+ from: {
56
+ x: number;
57
+ y: number;
58
+ z: number;
59
+ };
60
+ to: {
61
+ x: number;
62
+ y: number;
63
+ z: number;
64
+ };
65
+ };
66
+ };
67
+ };
68
+ type G = ContextOf<typeof config, typeof state>;
69
+ /** Rolls every pool of a table into chest items on random slots, like a vanilla loot table would. */
70
+ export declare function rollChest(g: G, table: Pool[]): ContainerItem[];
71
+ declare const _default: import("../sdk.js").Challenge<{
72
+ readonly name: "Skywars";
73
+ readonly challengeConfig: {
74
+ readonly locations: {
75
+ readonly center: {
76
+ readonly coordinates: Vec3;
77
+ };
78
+ };
79
+ };
80
+ readonly roles: {
81
+ readonly fighter: {
82
+ readonly description: "fighter";
83
+ readonly minParticipants: 2;
84
+ };
85
+ };
86
+ readonly endStates: {
87
+ readonly last_standing: "One player remains alive; that player wins";
88
+ readonly time_up: "The timer ran out with several players alive; nobody wins";
89
+ };
90
+ }, {
91
+ chests: Vec3[];
92
+ }, import("../sdk.js").ResolvePlayers<{
93
+ readonly name: "Skywars";
94
+ readonly challengeConfig: {
95
+ readonly locations: {
96
+ readonly center: {
97
+ readonly coordinates: Vec3;
98
+ };
99
+ };
100
+ };
101
+ readonly roles: {
102
+ readonly fighter: {
103
+ readonly description: "fighter";
104
+ readonly minParticipants: 2;
105
+ };
106
+ };
107
+ readonly endStates: {
108
+ readonly last_standing: "One player remains alive; that player wins";
109
+ readonly time_up: "The timer ran out with several players alive; nobody wins";
110
+ };
111
+ }, {
112
+ island: string;
113
+ damageDealt: number;
114
+ }, Record<never, never>>, string, never, never>;
115
+ export default _default;
116
+ //# sourceMappingURL=skywars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skywars.d.ts","sourceRoot":"","sources":["../../../src/runtime/examples/skywars.ts"],"names":[],"mappings":"AAMA,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,KAAK,IAAI,EAGT,KAAK,IAAI,EACT,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,MAAM,EAAE,IAA+B,CAAC;AAErD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;CAQiB,CAAC;AASrC,eAAO,MAAM,cAAc;;;;;GAI1B,CAAC;AAIF,KAAK,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvC,KAAK,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAC3F,KAAK,IAAI,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,KAAK,EAAE,CAAA;CAAE,CAAC;AAY/C,eAAO,MAAM,aAAa,EAAE,IAAI,EAiC/B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,IAAI,EA6B1B,CAAC;AAIF,QAAA,MAAM,KAAK;;gBACmB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;CASnC,CAAC;AACF,KAAK,CAAC,GAAG,SAAS,CAAC,OAAO,MAAM,EAAE,OAAO,KAAK,CAAC,CAAC;AAqBhD,qGAAqG;AACrG,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,CAY9D;;;;;;;;;;;;;;;;;;;;;YA5C6B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;AAgDpC,wBA0GG"}