@senpi/trading-recipe 1.0.69 → 1.0.71

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 (120) hide show
  1. package/README.md +1 -1
  2. package/dist/actions/close-position/close-position.action.js +4 -4
  3. package/dist/actions/close-position/close-position.action.js.map +1 -1
  4. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  5. package/dist/actions/open-position/open-position.action.js +4 -5
  6. package/dist/actions/open-position/open-position.action.js.map +1 -1
  7. package/dist/actions/types.d.ts +1 -1
  8. package/dist/actions/types.d.ts.map +1 -1
  9. package/dist/cli/guide-commands.d.ts +1 -0
  10. package/dist/cli/guide-commands.d.ts.map +1 -1
  11. package/dist/cli/guide-commands.js +102 -12
  12. package/dist/cli/guide-commands.js.map +1 -1
  13. package/dist/cli/senpi-commands.d.ts.map +1 -1
  14. package/dist/cli/senpi-commands.js +162 -10
  15. package/dist/cli/senpi-commands.js.map +1 -1
  16. package/dist/dsl/plugin/index.d.ts +22 -0
  17. package/dist/dsl/plugin/index.d.ts.map +1 -1
  18. package/dist/dsl/plugin/index.js +189 -59
  19. package/dist/dsl/plugin/index.js.map +1 -1
  20. package/dist/health/index.d.ts +22 -2
  21. package/dist/health/index.d.ts.map +1 -1
  22. package/dist/health/index.js +186 -4
  23. package/dist/health/index.js.map +1 -1
  24. package/dist/health/types.d.ts +114 -0
  25. package/dist/health/types.d.ts.map +1 -0
  26. package/dist/health/types.js +2 -0
  27. package/dist/health/types.js.map +1 -0
  28. package/dist/index.d.ts +3 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +219 -18
  31. package/dist/index.js.map +1 -1
  32. package/dist/runtime/build-action-scan-payload.d.ts +4 -4
  33. package/dist/runtime/build-action-scan-payload.d.ts.map +1 -1
  34. package/dist/runtime/build-action-scan-payload.js +15 -19
  35. package/dist/runtime/build-action-scan-payload.js.map +1 -1
  36. package/dist/runtime/create-action-context.d.ts +3 -3
  37. package/dist/runtime/create-action-context.d.ts.map +1 -1
  38. package/dist/runtime/create-action-context.js +5 -5
  39. package/dist/runtime/create-action-context.js.map +1 -1
  40. package/dist/runtime/create-actions.d.ts +1 -1
  41. package/dist/runtime/create-actions.d.ts.map +1 -1
  42. package/dist/runtime/create-actions.js +2 -3
  43. package/dist/runtime/create-actions.js.map +1 -1
  44. package/dist/runtime/create-runtime-context.d.ts +12 -12
  45. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  46. package/dist/runtime/create-runtime-context.js +15 -13
  47. package/dist/runtime/create-runtime-context.js.map +1 -1
  48. package/dist/runtime/create-scanner-module.d.ts +1 -1
  49. package/dist/runtime/create-scanner-module.js +4 -4
  50. package/dist/runtime/create-scanner-module.js.map +1 -1
  51. package/dist/runtime/index.d.ts +4 -4
  52. package/dist/runtime/index.d.ts.map +1 -1
  53. package/dist/runtime/index.js +3 -3
  54. package/dist/runtime/index.js.map +1 -1
  55. package/dist/runtime/load-trading-recipe.d.ts +2 -2
  56. package/dist/runtime/load-trading-recipe.d.ts.map +1 -1
  57. package/dist/runtime/load-trading-recipe.js +22 -10
  58. package/dist/runtime/load-trading-recipe.js.map +1 -1
  59. package/dist/runtime/map-strategies-registration.d.ts +6 -4
  60. package/dist/runtime/map-strategies-registration.d.ts.map +1 -1
  61. package/dist/runtime/map-strategies-registration.js +14 -22
  62. package/dist/runtime/map-strategies-registration.js.map +1 -1
  63. package/dist/runtime/map-strategies.d.ts +6 -4
  64. package/dist/runtime/map-strategies.d.ts.map +1 -1
  65. package/dist/runtime/map-strategies.js +42 -44
  66. package/dist/runtime/map-strategies.js.map +1 -1
  67. package/dist/runtime/recipe-version.d.ts +15 -0
  68. package/dist/runtime/recipe-version.d.ts.map +1 -0
  69. package/dist/runtime/recipe-version.js +25 -0
  70. package/dist/runtime/recipe-version.js.map +1 -0
  71. package/dist/runtime/reconcile-state.d.ts +1 -1
  72. package/dist/runtime/reconcile-state.js +1 -1
  73. package/dist/runtime/run.d.ts +5 -0
  74. package/dist/runtime/run.d.ts.map +1 -1
  75. package/dist/runtime/run.js +7 -0
  76. package/dist/runtime/run.js.map +1 -1
  77. package/dist/runtime/runtime.d.ts +8 -4
  78. package/dist/runtime/runtime.d.ts.map +1 -1
  79. package/dist/runtime/runtime.js +75 -40
  80. package/dist/runtime/runtime.js.map +1 -1
  81. package/dist/runtime/state-layout.d.ts +48 -0
  82. package/dist/runtime/state-layout.d.ts.map +1 -0
  83. package/dist/runtime/state-layout.js +87 -0
  84. package/dist/runtime/state-layout.js.map +1 -0
  85. package/dist/runtime/strategy-registry.d.ts +17 -0
  86. package/dist/runtime/strategy-registry.d.ts.map +1 -1
  87. package/dist/runtime/strategy-registry.js +32 -0
  88. package/dist/runtime/strategy-registry.js.map +1 -1
  89. package/dist/runtime/trading-recipe-schema.d.ts +16 -634
  90. package/dist/runtime/trading-recipe-schema.d.ts.map +1 -1
  91. package/dist/runtime/trading-recipe-schema.js +3 -9
  92. package/dist/runtime/trading-recipe-schema.js.map +1 -1
  93. package/dist/scanners/engine/engine.d.ts +7 -0
  94. package/dist/scanners/engine/engine.d.ts.map +1 -1
  95. package/dist/scanners/engine/engine.js +20 -12
  96. package/dist/scanners/engine/engine.js.map +1 -1
  97. package/dist/scanners/engine/strategy-registry.d.ts +3 -0
  98. package/dist/scanners/engine/strategy-registry.d.ts.map +1 -1
  99. package/dist/scanners/engine/strategy-registry.js +10 -0
  100. package/dist/scanners/engine/strategy-registry.js.map +1 -1
  101. package/dist/scanners/runtime-module.d.ts +10 -6
  102. package/dist/scanners/runtime-module.d.ts.map +1 -1
  103. package/dist/scanners/runtime-module.js +254 -12
  104. package/dist/scanners/runtime-module.js.map +1 -1
  105. package/dist/scripts/run-dsl-standalone-live.js +5 -7
  106. package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
  107. package/dist/scripts/run-dsl-standalone-mock.js +3 -4
  108. package/dist/scripts/run-dsl-standalone-mock.js.map +1 -1
  109. package/dist/types/runtime.d.ts +1 -1
  110. package/dist/types/runtime.d.ts.map +1 -1
  111. package/examples/strategies/dsl-showcase.yaml +8 -3
  112. package/examples/strategies/dsl.yaml +4 -5
  113. package/examples/strategies/fox-minimal-loosened.yaml +8 -9
  114. package/examples/strategies/fox-minimal.yaml +8 -9
  115. package/examples/strategies/minimal.yaml +7 -8
  116. package/examples/strategies/viper.yaml +7 -8
  117. package/examples/strategies/wolf.yaml +7 -8
  118. package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +9 -10
  119. package/openclaw.plugin.json +1 -1
  120. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-layout.js","sourceRoot":"","sources":["../../src/runtime/state-layout.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,10 @@ export interface InstalledRecipeEntry {
8
8
  id: string;
9
9
  tradingRecipeYamlPath?: string;
10
10
  tradingRecipeYamlContent?: string;
11
+ /** Major version extracted from YAML version field at install time. */
12
+ schemaVersion?: number;
13
+ /** Wallet address from strategy.wallet, stored at install time. */
14
+ wallet?: string;
11
15
  }
12
16
  export interface InstalledRecipesRegistry {
13
17
  version: number;
@@ -21,8 +25,17 @@ export type InstalledStrategiesRegistry = InstalledRecipesRegistry;
21
25
  * Sanitize a string for use as registry id: replace non-alphanumeric with underscore, truncate.
22
26
  */
23
27
  export declare function sanitizeId(candidate: string): string;
28
+ /**
29
+ * Derive a human-readable, globally-unique recipe id from the YAML name and wallet.
30
+ * Format: `<slugified-name>-<4-char hash>` (e.g. "fox-strategy-a7k2").
31
+ * The hash is derived from name + wallet + timestamp + monotonic counter,
32
+ * so re-creating a recipe with the same name always produces a distinct id
33
+ * (no archive collisions).
34
+ */
35
+ export declare function deriveRecipeId(name: string, wallet: string): string;
24
36
  /**
25
37
  * Derive default id from file path (basename without extension).
38
+ * @deprecated Prefer deriveRecipeId(name, wallet) which uses the YAML name field.
26
39
  */
27
40
  export declare function deriveIdFromPath(filePath: string, existingIds: string[]): string;
28
41
  /**
@@ -52,4 +65,8 @@ export declare function validateEntry(entry: InstalledRecipeEntry): {
52
65
  * Check if an id is already present in the registry.
53
66
  */
54
67
  export declare function hasId(registry: InstalledRecipesRegistry, id: string): boolean;
68
+ /**
69
+ * Find a registry entry by wallet address.
70
+ */
71
+ export declare function findByWallet(registry: InstalledRecipesRegistry, wallet: string): InstalledRecipeEntry | undefined;
55
72
  //# sourceMappingURL=strategy-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/strategy-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAG1D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,2CAA2C;AAC3C,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE1D,+CAA+C;AAC/C,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AAoCnE;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAYhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAShE;AAyBD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAgDtF;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBtG;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7E"}
1
+ {"version":3,"file":"strategy-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/strategy-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,eAAO,MAAM,iBAAiB,2BAA2B,CAAC;AAG1D,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,2CAA2C;AAC3C,MAAM,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAE1D,+CAA+C;AAC/C,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AAoCnE;;GAEG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAKpD;AAID;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAYnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAYhF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAShE;AA2BD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAiDtF;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,wBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,oBAAoB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAiBtG;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAEjH"}
@@ -3,6 +3,7 @@
3
3
  * Source of truth for what the plugin should run; read on boot, updated by CLI/RPC install/uninstall.
4
4
  * Migrates from installed_strategies.json on first read if present.
5
5
  */
6
+ import { createHash } from "node:crypto";
6
7
  import { readFile, writeFile, rename, mkdir } from "node:fs/promises";
7
8
  import { join } from "node:path";
8
9
  import { createLogger } from "../utils/logger.js";
@@ -58,8 +59,30 @@ export function sanitizeId(candidate) {
58
59
  out = out.slice(0, ID_MAX_LENGTH);
59
60
  return out || "recipe";
60
61
  }
62
+ let _idSeq = 0;
63
+ /**
64
+ * Derive a human-readable, globally-unique recipe id from the YAML name and wallet.
65
+ * Format: `<slugified-name>-<4-char hash>` (e.g. "fox-strategy-a7k2").
66
+ * The hash is derived from name + wallet + timestamp + monotonic counter,
67
+ * so re-creating a recipe with the same name always produces a distinct id
68
+ * (no archive collisions).
69
+ */
70
+ export function deriveRecipeId(name, wallet) {
71
+ const slug = name
72
+ .toLowerCase()
73
+ .replace(/[^a-z0-9]+/g, "-")
74
+ .replace(/(^-|-$)/g, "");
75
+ const hash = createHash("sha256")
76
+ .update(`${name}:${wallet}:${Date.now()}:${++_idSeq}`)
77
+ .digest("hex")
78
+ .slice(0, 4);
79
+ const base = slug || "recipe";
80
+ const id = `${base}-${hash}`;
81
+ return id.length > ID_MAX_LENGTH ? id.slice(0, ID_MAX_LENGTH) : id;
82
+ }
61
83
  /**
62
84
  * Derive default id from file path (basename without extension).
85
+ * @deprecated Prefer deriveRecipeId(name, wallet) which uses the YAML name field.
63
86
  */
64
87
  export function deriveIdFromPath(filePath, existingIds) {
65
88
  const base = filePath.split(/[/\\]/).pop() ?? "";
@@ -101,6 +124,8 @@ function parseRecipesFromRaw(obj) {
101
124
  id: rawEntry.id,
102
125
  tradingRecipeYamlPath: typeof rawEntry.tradingRecipeYamlPath === "string" ? rawEntry.tradingRecipeYamlPath : undefined,
103
126
  tradingRecipeYamlContent: typeof rawEntry.tradingRecipeYamlContent === "string" ? rawEntry.tradingRecipeYamlContent : undefined,
127
+ schemaVersion: typeof rawEntry.schemaVersion === "number" ? rawEntry.schemaVersion : undefined,
128
+ wallet: typeof rawEntry.wallet === "string" ? rawEntry.wallet : undefined,
104
129
  };
105
130
  if (!isIdSafe(entry.id)) {
106
131
  logger.warn("recipe registry skip unsafe id", { id: entry.id });
@@ -150,6 +175,7 @@ export async function readRegistry(stateDir) {
150
175
  id: item.id,
151
176
  tradingRecipeYamlPath: typeof item.tradingStrategyYamlPath === "string" ? item.tradingStrategyYamlPath : undefined,
152
177
  tradingRecipeYamlContent: typeof item.tradingStrategyYamlContent === "string" ? item.tradingStrategyYamlContent : undefined,
178
+ schemaVersion: 1,
153
179
  });
154
180
  }
155
181
  await writeRegistry(stateDir, { version: CURRENT_VERSION, recipes: valid });
@@ -207,4 +233,10 @@ export function validateEntry(entry) {
207
233
  export function hasId(registry, id) {
208
234
  return registry.recipes.some((e) => e.id === id);
209
235
  }
236
+ /**
237
+ * Find a registry entry by wallet address.
238
+ */
239
+ export function findByWallet(registry, wallet) {
240
+ return registry.recipes.find((e) => e.wallet === wallet);
241
+ }
210
242
  //# sourceMappingURL=strategy-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-registry.js","sourceRoot":"","sources":["../../src/runtime/strategy-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy-registry.js","sourceRoot":"","sources":["../../src/runtime/strategy-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAC1D,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAuB7D,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,iEAAiE;AACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,qBAAqB,KAAK,QAAQ,IAAI,CAAC,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAClG,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,wBAAwB,KAAK,QAAQ,CAAC;IAClE,IAAI,OAAO,IAAI,UAAU;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+CAA+C;AAC/C,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,uBAAuB,KAAK,QAAQ,IAAK,CAAC,CAAC,uBAAkC,CAAC,MAAM,GAAG,CAAC,CAAC;IAClH,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,0BAA0B,KAAK,QAAQ,CAAC;IACpE,IAAI,OAAO,IAAI,UAAU;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,EAAU;IAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,aAAa;QAAE,OAAO,KAAK,CAAC;IAC/D,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,IAAI,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,CAAC,MAAM,GAAG,aAAa;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAClE,OAAO,GAAG,IAAI,QAAQ,CAAC;AACzB,CAAC;AAED,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc;IACzD,MAAM,IAAI,GAAG,IAAI;SACd,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACrD,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,MAAM,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,WAAqB;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,IAAI,EAAE,GAAG,UAAU,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE;QAAE,EAAE,GAAG,QAAQ,CAAC;IACvB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,KAAK,IAAI,CAAC,CAAC;QACX,SAAS,GAAG,GAAG,EAAE,IAAI,KAAK,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAqB;IACtD,MAAM,GAAG,GAAG,WAAW;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,mBAAmB,CAAC,GAA6C;IACxE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAA4B,CAAC;QACvD,MAAM,KAAK,GAAyB;YAClC,EAAE,EAAE,QAAQ,CAAC,EAAY;YACzB,qBAAqB,EAAE,OAAO,QAAQ,CAAC,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS;YACtH,wBAAwB,EAAE,OAAO,QAAQ,CAAC,wBAAwB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS;YAC/H,aAAa,EAAE,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAuB,CAAC,CAAC,CAAC,SAAS;YACxG,MAAM,EAAE,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC1E,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAChE,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,IAAI,GAAW,CAAC;QAChB,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,GAAI,CAA2B,EAAE,IAAI,CAAC;YAChD,IAAI,IAAI,KAAK,QAAQ;gBAAE,MAAM,CAAC,CAAC;YAC/B,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1C,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACnD,CAAC;QACD,MAAM,GAAG,GAAG,MAAwE,CAAC;QACrF,IAAI,KAA6B,CAAC;QAClC,IAAI,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,KAAK,GAAG,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAA4B,CAAC;gBAC1D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAY,CAAC;oBAAE,SAAS;gBAC3C,KAAK,CAAC,IAAI,CAAC;oBACT,EAAE,EAAE,IAAI,CAAC,EAAY;oBACrB,qBAAqB,EAAE,OAAO,IAAI,CAAC,uBAAuB,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;oBAClH,wBAAwB,EAAE,OAAO,IAAI,CAAC,0BAA0B,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS;oBAC3H,aAAa,EAAE,CAAC;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,MAAM,aAAa,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,mFAAmF,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5H,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,mBAAmB,CAAC,GAA+C,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO;YACL,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;YACxE,OAAO,EAAE,KAAK;SACf,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,IAAI,GAAI,GAA6B,EAAE,IAAI,CAAC;QAClD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB,EAChB,IAA8B;IAE9B,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,GAAG,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC5C,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,MAAM,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAA2B;IACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,uGAAuG;SAC1G,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,qBAAqB,KAAK,QAAQ,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1G,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,wBAAwB,KAAK,QAAQ,CAAC;IACtE,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8DAA8D,EAAE,CAAC;IAC9F,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4DAA4D,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,QAAkC,EAAE,EAAU;IAClE,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAkC,EAAE,MAAc;IAC7E,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;AAC3D,CAAC"}