memory-journal-mcp 4.3.1 → 4.4.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 (103) hide show
  1. package/.dockerignore +131 -122
  2. package/.gitattributes +29 -0
  3. package/.github/workflows/docker-publish.yml +1 -1
  4. package/.github/workflows/lint-and-test.yml +1 -2
  5. package/.github/workflows/secrets-scanning.yml +0 -1
  6. package/.github/workflows/security-update.yml +6 -6
  7. package/.vscode/settings.json +17 -15
  8. package/CHANGELOG.md +1065 -11
  9. package/DOCKER_README.md +51 -33
  10. package/Dockerfile +12 -11
  11. package/README.md +68 -33
  12. package/SECURITY.md +225 -158
  13. package/dist/cli.js +7 -0
  14. package/dist/cli.js.map +1 -1
  15. package/dist/constants/ServerInstructions.d.ts +1 -1
  16. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  17. package/dist/constants/ServerInstructions.js +70 -26
  18. package/dist/constants/ServerInstructions.js.map +1 -1
  19. package/dist/constants/icons.d.ts +2 -0
  20. package/dist/constants/icons.d.ts.map +1 -1
  21. package/dist/constants/icons.js +6 -0
  22. package/dist/constants/icons.js.map +1 -1
  23. package/dist/database/SqliteAdapter.d.ts +51 -10
  24. package/dist/database/SqliteAdapter.d.ts.map +1 -1
  25. package/dist/database/SqliteAdapter.js +140 -31
  26. package/dist/database/SqliteAdapter.js.map +1 -1
  27. package/dist/filtering/ToolFilter.d.ts +1 -1
  28. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  29. package/dist/filtering/ToolFilter.js +7 -1
  30. package/dist/filtering/ToolFilter.js.map +1 -1
  31. package/dist/github/GitHubIntegration.d.ts +74 -2
  32. package/dist/github/GitHubIntegration.d.ts.map +1 -1
  33. package/dist/github/GitHubIntegration.js +508 -7
  34. package/dist/github/GitHubIntegration.js.map +1 -1
  35. package/dist/handlers/prompts/index.js +1 -0
  36. package/dist/handlers/prompts/index.js.map +1 -1
  37. package/dist/handlers/resources/index.d.ts.map +1 -1
  38. package/dist/handlers/resources/index.js +257 -13
  39. package/dist/handlers/resources/index.js.map +1 -1
  40. package/dist/handlers/tools/index.d.ts.map +1 -1
  41. package/dist/handlers/tools/index.js +590 -7
  42. package/dist/handlers/tools/index.js.map +1 -1
  43. package/dist/server/McpServer.d.ts +2 -0
  44. package/dist/server/McpServer.d.ts.map +1 -1
  45. package/dist/server/McpServer.js +69 -26
  46. package/dist/server/McpServer.js.map +1 -1
  47. package/dist/types/index.d.ts +97 -0
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/index.js.map +1 -1
  50. package/dist/utils/logger.d.ts +1 -0
  51. package/dist/utils/logger.d.ts.map +1 -1
  52. package/dist/utils/logger.js +8 -1
  53. package/dist/utils/logger.js.map +1 -1
  54. package/dist/utils/security-utils.d.ts +8 -0
  55. package/dist/utils/security-utils.d.ts.map +1 -1
  56. package/dist/utils/security-utils.js +32 -0
  57. package/dist/utils/security-utils.js.map +1 -1
  58. package/dist/vector/VectorSearchManager.d.ts +2 -1
  59. package/dist/vector/VectorSearchManager.d.ts.map +1 -1
  60. package/dist/vector/VectorSearchManager.js +100 -34
  61. package/dist/vector/VectorSearchManager.js.map +1 -1
  62. package/docker-compose.yml +46 -37
  63. package/mcp-config-example.json +0 -2
  64. package/package.json +12 -11
  65. package/releases/v4.3.1.md +69 -0
  66. package/releases/v4.4.0.md +120 -0
  67. package/server.json +3 -3
  68. package/src/cli.ts +11 -0
  69. package/src/constants/ServerInstructions.ts +70 -26
  70. package/src/constants/icons.ts +7 -0
  71. package/src/database/SqliteAdapter.ts +162 -32
  72. package/src/filtering/ToolFilter.ts +7 -1
  73. package/src/github/GitHubIntegration.ts +588 -8
  74. package/src/handlers/prompts/index.ts +1 -0
  75. package/src/handlers/resources/index.ts +318 -12
  76. package/src/handlers/tools/index.ts +681 -12
  77. package/src/server/McpServer.ts +79 -37
  78. package/src/types/index.ts +98 -0
  79. package/src/utils/logger.ts +10 -1
  80. package/src/utils/security-utils.ts +35 -0
  81. package/src/vector/VectorSearchManager.ts +110 -39
  82. package/tests/constants/icons.test.ts +102 -0
  83. package/tests/constants/server-instructions.test.ts +549 -0
  84. package/tests/database/sqlite-adapter.bench.ts +63 -0
  85. package/tests/database/sqlite-adapter.test.ts +555 -0
  86. package/tests/filtering/tool-filter.test.ts +266 -0
  87. package/tests/github/github-integration.test.ts +1024 -0
  88. package/tests/handlers/github-resource-handlers.test.ts +473 -0
  89. package/tests/handlers/github-tool-handlers.test.ts +556 -0
  90. package/tests/handlers/prompt-handlers.test.ts +91 -0
  91. package/tests/handlers/resource-handlers.test.ts +339 -0
  92. package/tests/handlers/tool-handlers.test.ts +497 -0
  93. package/tests/handlers/vector-tool-handlers.test.ts +238 -0
  94. package/tests/server/mcp-server.bench.ts +55 -0
  95. package/tests/server/mcp-server.test.ts +675 -0
  96. package/tests/utils/logger.test.ts +180 -0
  97. package/tests/utils/mcp-logger.test.ts +212 -0
  98. package/tests/utils/progress-utils.test.ts +156 -0
  99. package/tests/utils/security-utils.test.ts +82 -0
  100. package/tests/vector/vector-search-manager.test.ts +335 -0
  101. package/tests/vector/vector-search.bench.ts +53 -0
  102. package/.github/workflows/DOCKER_DEPLOYMENT_SETUP.md +0 -387
  103. package/.github/workflows/dependabot-auto-merge.yml +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAqCxD;;;GAGG;AACH,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;CAoB9B,CAAA;AAED;;GAEG;AACH,MAAM,mBAAmB,GAAG;;;;;;;;CAQ3B,CAAA;AAED;;GAEG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAA;AAED;;GAEG;AACH,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuJhC,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAChC,YAAyB,EACzB,UAAgC,EAChC,OAA2B,EAC3B,WAAiC,EACjC,QAA0B,UAAU;IAEpC,IAAI,YAAY,GAAG,sBAAsB,CAAA;IAEzC,mEAAmE;IACnE,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACjD,YAAY,IAAI,kBAAkB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,OAAO,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;IAClL,CAAC;IAED,mDAAmD;IACnD,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAC3C,YAAY,IAAI,mBAAmB,CAAA;IACvC,CAAC;IAED,8EAA8E;IAC9E,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACnB,YAAY,IAAI,0BAA0B,CAAA;QAC1C,YAAY,IAAI,wBAAwB,CAAA;QAExC,2BAA2B;QAC3B,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;QACtD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,YAAY,IAAI,sBAAsB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAA;YACpE,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC1C,YAAY,IAAI,KAAK,KAAK,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;YAChF,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,YAAY,IAAI,iBAAiB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;YAC5D,YAAY,IAAI,6CAA6C,CAAA;YAC7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC3B,YAAY,IAAI,OAAO,MAAM,CAAC,IAAI,QAAQ,MAAM,CAAC,WAAW,IAAI,EAAE,IAAI,CAAA;YAC1E,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,YAAyB;IAClD,MAAM,YAAY,GAA4C,EAAE,CAAA;IAEhE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAA4B,EAAE,CAAC;QACrF,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QACxE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAA;QACvD,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAA;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,mBAAmB,CAAA"}
@@ -43,6 +43,8 @@ export declare const ICON_TEAM: McpIcon;
43
43
  export declare const ICON_ISSUE: McpIcon;
44
44
  /** Git merge for PR resources */
45
45
  export declare const ICON_PR: McpIcon;
46
+ /** Flag for milestone tracking */
47
+ export declare const ICON_MILESTONE: McpIcon;
46
48
  /** Message bubble for prompts */
47
49
  export declare const ICON_PROMPT: McpIcon;
48
50
  /** Map tool group name to icon */
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/constants/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAMhD,gDAAgD;AAChD,eAAO,MAAM,SAAS,EAAE,OAIvB,CAAA;AAED,6CAA6C;AAC7C,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,8BAA8B;AAC9B,eAAO,MAAM,cAAc,EAAE,OAI5B,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,EAAE,OAIhC,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAMD,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAAE,OAI3B,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,kCAAkC;AAClC,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,SAAS,EAAE,OAIvB,CAAA;AAED,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,EAAE,OAItB,CAAA;AAED,+BAA+B;AAC/B,eAAO,MAAM,SAAS,EAAE,OAIvB,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,OAAO,EAAE,OAIrB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAMD,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CASpD,CAAA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAGhE"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/constants/icons.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAMhD,gDAAgD;AAChD,eAAO,MAAM,SAAS,EAAE,OAIvB,CAAA;AAED,6CAA6C;AAC7C,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,8BAA8B;AAC9B,eAAO,MAAM,cAAc,EAAE,OAI5B,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,EAAE,OAIhC,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,6BAA6B;AAC7B,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAMD,yCAAyC;AACzC,eAAO,MAAM,aAAa,EAAE,OAI3B,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,kCAAkC;AAClC,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,SAAS,EAAE,OAIvB,CAAA;AAED,4BAA4B;AAC5B,eAAO,MAAM,QAAQ,EAAE,OAItB,CAAA;AAED,+BAA+B;AAC/B,eAAO,MAAM,SAAS,EAAE,OAIvB,CAAA;AAED,mCAAmC;AACnC,eAAO,MAAM,UAAU,EAAE,OAIxB,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,OAAO,EAAE,OAIrB,CAAA;AAED,kCAAkC;AAClC,eAAO,MAAM,cAAc,EAAE,OAI5B,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,WAAW,EAAE,OAIzB,CAAA;AAMD,kCAAkC;AAClC,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CASpD,CAAA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,SAAS,CAGhE"}
@@ -120,6 +120,12 @@ export const ICON_PR = {
120
120
  mimeType: 'image/svg+xml',
121
121
  sizes: ['24x24'],
122
122
  };
123
+ /** Flag for milestone tracking */
124
+ export const ICON_MILESTONE = {
125
+ src: 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"%3E%3Cpath d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"/%3E%3Cline x1="4" y1="22" x2="4" y2="15"/%3E%3C/svg%3E',
126
+ mimeType: 'image/svg+xml',
127
+ sizes: ['24x24'],
128
+ };
123
129
  /** Message bubble for prompts */
124
130
  export const ICON_PROMPT = {
125
131
  src: 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"%3E%3Cpath d="M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2z"/%3E%3C/svg%3E',
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/constants/icons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/constants/icons.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Note: sql.js is pure JavaScript, no native compilation required.
6
6
  */
7
7
  import { type Database } from 'sql.js';
8
- import type { JournalEntry, Tag, Relationship, EntryType, SignificanceType, RelationshipType } from '../types/index.js';
8
+ import type { JournalEntry, Tag, Relationship, EntryType, SignificanceType, RelationshipType, ImportanceResult } from '../types/index.js';
9
9
  /**
10
10
  * Input for creating a new entry
11
11
  */
@@ -34,17 +34,30 @@ export declare class SqliteAdapter {
34
34
  private db;
35
35
  private readonly dbPath;
36
36
  private initialized;
37
+ /** Timer handle for debounced save */
38
+ private saveTimer;
39
+ /** Debounce interval for batching disk writes (ms) */
40
+ private static readonly SAVE_DEBOUNCE_MS;
37
41
  constructor(dbPath: string);
38
42
  /**
39
43
  * Initialize the database (must be called before using)
40
44
  */
41
45
  initialize(): Promise<void>;
42
46
  /**
43
- * Save database to disk
47
+ * Schedule a debounced save to disk.
48
+ * Batches rapid mutations into a single write after SAVE_DEBOUNCE_MS.
49
+ * Used by all mutation methods (createEntry, updateEntry, etc.).
44
50
  */
45
- private save;
51
+ private scheduleSave;
46
52
  /**
47
- * Close database connection
53
+ * Immediately flush the database to disk (synchronous).
54
+ * Cancels any pending debounced save.
55
+ * Used by close() and initialize() for guaranteed persistence.
56
+ */
57
+ flushSave(): void;
58
+ /**
59
+ * Close database connection.
60
+ * Flushes any pending writes immediately before closing.
48
61
  */
49
62
  close(): void;
50
63
  /**
@@ -59,20 +72,46 @@ export declare class SqliteAdapter {
59
72
  * Get entry by ID
60
73
  */
61
74
  getEntryById(id: number): JournalEntry | null;
75
+ /**
76
+ * Get entry by ID, including soft-deleted entries.
77
+ * Used for permanent deletion of previously soft-deleted entries.
78
+ */
79
+ getEntryByIdIncludeDeleted(id: number): JournalEntry | null;
80
+ /**
81
+ * Importance score result with scoring breakdown
82
+ */
83
+ static readonly IMPORTANCE_WEIGHTS: {
84
+ readonly significance: 0.3;
85
+ readonly relationships: 0.35;
86
+ readonly causal: 0.2;
87
+ readonly recency: 0.15;
88
+ };
62
89
  /**
63
90
  * Calculate importance score for an entry (0.0-1.0)
64
91
  *
65
92
  * Formula:
66
- * - significanceWeight (0.30): 1.0 if significanceType set, else 0.0
67
- * - relationshipWeight (0.35): min(relCount / 5, 1.0)
68
- * - causalWeight (0.20): min(causalCount / 3, 1.0)
69
- * - recencyWeight (0.15): max(0, 1 - daysSince / 90)
93
+ * - significance (0.30): 1.0 if significanceType set, else 0.0
94
+ * - relationships (0.35): min(relCount / 5, 1.0)
95
+ * - causal (0.20): min(causalCount / 3, 1.0)
96
+ * - recency (0.15): max(0, 1 - daysSince / 90)
97
+ *
98
+ * Returns ImportanceResult with score and component breakdown.
70
99
  */
71
- calculateImportance(entryId: number): number;
100
+ calculateImportance(entryId: number): ImportanceResult;
72
101
  /**
73
102
  * Get recent entries
74
103
  */
75
104
  getRecentEntries(limit?: number, isPersonal?: boolean): JournalEntry[];
105
+ /**
106
+ * Get a page of active entries for batch processing (e.g., vector index rebuild).
107
+ * Returns entries ordered by ID ascending for deterministic pagination.
108
+ */
109
+ getEntriesPage(offset: number, limit: number): JournalEntry[];
110
+ /**
111
+ * Get total count of active (non-deleted) entries.
112
+ * Used for progress reporting and pagination bounds.
113
+ */
114
+ getActiveEntryCount(): number;
76
115
  /**
77
116
  * Update an entry
78
117
  */
@@ -84,6 +123,7 @@ export declare class SqliteAdapter {
84
123
  }): JournalEntry | null;
85
124
  /**
86
125
  * Soft delete an entry
126
+ * Returns false if entry does not exist (P154: Proactive Object Existence Verification)
87
127
  */
88
128
  deleteEntry(id: number, permanent?: boolean): boolean;
89
129
  /**
@@ -114,7 +154,7 @@ export declare class SqliteAdapter {
114
154
  */
115
155
  getTagsForEntry(entryId: number): string[];
116
156
  /**
117
- * List all tags
157
+ * List all tags with at least one usage
118
158
  */
119
159
  listTags(): Tag[];
120
160
  /**
@@ -129,6 +169,7 @@ export declare class SqliteAdapter {
129
169
  };
130
170
  /**
131
171
  * Link two entries
172
+ * Throws if either entry does not exist (P154: Proactive Object Existence Verification)
132
173
  */
133
174
  linkEntries(fromEntryId: number, toEntryId: number, relationshipType: RelationshipType, description?: string): Relationship;
134
175
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteAdapter.d.ts","sourceRoot":"","sources":["../../src/database/SqliteAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqliteAdapter.d.ts","sourceRoot":"","sources":["../../src/database/SqliteAdapter.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,10 @@ export class SqliteAdapter {
91
91
  db = null;
92
92
  dbPath;
93
93
  initialized = false;
94
+ /** Timer handle for debounced save */
95
+ saveTimer = null;
96
+ /** Debounce interval for batching disk writes (ms) */
97
+ static SAVE_DEBOUNCE_MS = 500;
94
98
  constructor(dbPath) {
95
99
  this.dbPath = dbPath;
96
100
  }
@@ -126,13 +130,32 @@ export class SqliteAdapter {
126
130
  this.db.run(SCHEMA_SQL);
127
131
  this.initialized = true;
128
132
  logger.info('Database opened', { module: 'SqliteAdapter', dbPath: this.dbPath });
129
- // Save after initialization
130
- this.save();
133
+ // Immediate flush after initialization to persist schema
134
+ this.flushSave();
131
135
  }
132
136
  /**
133
- * Save database to disk
137
+ * Schedule a debounced save to disk.
138
+ * Batches rapid mutations into a single write after SAVE_DEBOUNCE_MS.
139
+ * Used by all mutation methods (createEntry, updateEntry, etc.).
134
140
  */
135
- save() {
141
+ scheduleSave() {
142
+ if (this.saveTimer !== null) {
143
+ clearTimeout(this.saveTimer);
144
+ }
145
+ this.saveTimer = setTimeout(() => {
146
+ this.flushSave();
147
+ }, SqliteAdapter.SAVE_DEBOUNCE_MS);
148
+ }
149
+ /**
150
+ * Immediately flush the database to disk (synchronous).
151
+ * Cancels any pending debounced save.
152
+ * Used by close() and initialize() for guaranteed persistence.
153
+ */
154
+ flushSave() {
155
+ if (this.saveTimer !== null) {
156
+ clearTimeout(this.saveTimer);
157
+ this.saveTimer = null;
158
+ }
136
159
  if (!this.db)
137
160
  return;
138
161
  const data = this.db.export();
@@ -140,11 +163,12 @@ export class SqliteAdapter {
140
163
  fs.writeFileSync(this.dbPath, buffer);
141
164
  }
142
165
  /**
143
- * Close database connection
166
+ * Close database connection.
167
+ * Flushes any pending writes immediately before closing.
144
168
  */
145
169
  close() {
146
170
  if (this.db) {
147
- this.save();
171
+ this.flushSave();
148
172
  this.db.close();
149
173
  this.db = null;
150
174
  }
@@ -198,7 +222,7 @@ export class SqliteAdapter {
198
222
  if (tags.length > 0) {
199
223
  this.linkTagsToEntry(entryId, tags);
200
224
  }
201
- this.save();
225
+ this.scheduleSave();
202
226
  logger.info('Entry created', {
203
227
  module: 'SqliteAdapter',
204
228
  operation: 'createEntry',
@@ -225,47 +249,84 @@ export class SqliteAdapter {
225
249
  const row = this.rowToObject(columns, values);
226
250
  return this.rowToEntry(row);
227
251
  }
252
+ /**
253
+ * Get entry by ID, including soft-deleted entries.
254
+ * Used for permanent deletion of previously soft-deleted entries.
255
+ */
256
+ getEntryByIdIncludeDeleted(id) {
257
+ const db = this.ensureDb();
258
+ const result = db.exec(`SELECT * FROM memory_journal WHERE id = ?`, [id]);
259
+ if (result.length === 0 || result[0]?.values.length === 0)
260
+ return null;
261
+ const columns = result[0]?.columns ?? [];
262
+ const values = result[0]?.values[0] ?? [];
263
+ const row = this.rowToObject(columns, values);
264
+ return this.rowToEntry(row);
265
+ }
266
+ /**
267
+ * Importance score result with scoring breakdown
268
+ */
269
+ static IMPORTANCE_WEIGHTS = {
270
+ significance: 0.3,
271
+ relationships: 0.35,
272
+ causal: 0.2,
273
+ recency: 0.15,
274
+ };
228
275
  /**
229
276
  * Calculate importance score for an entry (0.0-1.0)
230
277
  *
231
278
  * Formula:
232
- * - significanceWeight (0.30): 1.0 if significanceType set, else 0.0
233
- * - relationshipWeight (0.35): min(relCount / 5, 1.0)
234
- * - causalWeight (0.20): min(causalCount / 3, 1.0)
235
- * - recencyWeight (0.15): max(0, 1 - daysSince / 90)
279
+ * - significance (0.30): 1.0 if significanceType set, else 0.0
280
+ * - relationships (0.35): min(relCount / 5, 1.0)
281
+ * - causal (0.20): min(causalCount / 3, 1.0)
282
+ * - recency (0.15): max(0, 1 - daysSince / 90)
283
+ *
284
+ * Returns ImportanceResult with score and component breakdown.
236
285
  */
237
286
  calculateImportance(entryId) {
238
287
  const db = this.ensureDb();
288
+ const round2 = (n) => Math.round(n * 100) / 100;
239
289
  // Get entry data
240
290
  const entryResult = db.exec(`SELECT significance_type, timestamp FROM memory_journal WHERE id = ? AND deleted_at IS NULL`, [entryId]);
241
- if (entryResult.length === 0 || entryResult[0]?.values.length === 0)
242
- return 0;
291
+ if (entryResult.length === 0 || entryResult[0]?.values.length === 0) {
292
+ return {
293
+ score: 0,
294
+ breakdown: { significance: 0, relationships: 0, causal: 0, recency: 0 },
295
+ };
296
+ }
243
297
  const significanceType = entryResult[0]?.values[0]?.[0];
244
298
  const timestamp = entryResult[0]?.values[0]?.[1];
245
299
  // Significance weight: 1.0 if set, else 0.0
246
- const significanceWeight = significanceType ? 1.0 : 0.0;
300
+ const significanceRaw = significanceType ? 1.0 : 0.0;
247
301
  // Relationship count (total relationships involving this entry)
248
302
  const relResult = db.exec(`SELECT COUNT(*) FROM relationships WHERE from_entry_id = ? OR to_entry_id = ?`, [entryId, entryId]);
249
303
  const relCount = relResult[0]?.values[0]?.[0] ?? 0;
250
- const relationshipWeight = Math.min(relCount / 5, 1.0);
304
+ const relationshipsRaw = Math.min(relCount / 5, 1.0);
251
305
  // Causal relationships count
252
306
  const causalResult = db.exec(`SELECT COUNT(*) FROM relationships
253
307
  WHERE (from_entry_id = ? OR to_entry_id = ?)
254
308
  AND relationship_type IN ('blocked_by', 'resolved', 'caused')`, [entryId, entryId]);
255
309
  const causalCount = causalResult[0]?.values[0]?.[0] ?? 0;
256
- const causalWeight = Math.min(causalCount / 3, 1.0);
310
+ const causalRaw = Math.min(causalCount / 3, 1.0);
257
311
  // Recency weight: decays over 90 days
258
312
  const entryDate = new Date(timestamp);
259
313
  const now = new Date();
260
314
  const daysSince = Math.floor((now.getTime() - entryDate.getTime()) / (1000 * 60 * 60 * 24));
261
- const recencyWeight = Math.max(0, 1 - daysSince / 90);
262
- // Weighted sum
263
- const importance = significanceWeight * 0.3 +
264
- relationshipWeight * 0.35 +
265
- causalWeight * 0.2 +
266
- recencyWeight * 0.15;
267
- // Round to 2 decimal places
268
- return Math.round(importance * 100) / 100;
315
+ const recencyRaw = Math.max(0, 1 - daysSince / 90);
316
+ const w = SqliteAdapter.IMPORTANCE_WEIGHTS;
317
+ // Weighted contributions
318
+ const breakdown = {
319
+ significance: round2(significanceRaw * w.significance),
320
+ relationships: round2(relationshipsRaw * w.relationships),
321
+ causal: round2(causalRaw * w.causal),
322
+ recency: round2(recencyRaw * w.recency),
323
+ };
324
+ // Total score
325
+ const score = round2(significanceRaw * w.significance +
326
+ relationshipsRaw * w.relationships +
327
+ causalRaw * w.causal +
328
+ recencyRaw * w.recency);
329
+ return { score, breakdown };
269
330
  }
270
331
  /**
271
332
  * Get recent entries
@@ -286,6 +347,27 @@ export class SqliteAdapter {
286
347
  const columns = result[0]?.columns ?? [];
287
348
  return (result[0]?.values ?? []).map((values) => this.rowToEntry(this.rowToObject(columns, values)));
288
349
  }
350
+ /**
351
+ * Get a page of active entries for batch processing (e.g., vector index rebuild).
352
+ * Returns entries ordered by ID ascending for deterministic pagination.
353
+ */
354
+ getEntriesPage(offset, limit) {
355
+ const db = this.ensureDb();
356
+ const result = db.exec(`SELECT * FROM memory_journal WHERE deleted_at IS NULL ORDER BY id ASC LIMIT ? OFFSET ?`, [limit, offset]);
357
+ if (result.length === 0)
358
+ return [];
359
+ const columns = result[0]?.columns ?? [];
360
+ return (result[0]?.values ?? []).map((values) => this.rowToEntry(this.rowToObject(columns, values)));
361
+ }
362
+ /**
363
+ * Get total count of active (non-deleted) entries.
364
+ * Used for progress reporting and pagination bounds.
365
+ */
366
+ getActiveEntryCount() {
367
+ const db = this.ensureDb();
368
+ const result = db.exec(`SELECT COUNT(*) FROM memory_journal WHERE deleted_at IS NULL`);
369
+ return result[0]?.values[0]?.[0] ?? 0;
370
+ }
289
371
  /**
290
372
  * Update an entry
291
373
  */
@@ -317,7 +399,7 @@ export class SqliteAdapter {
317
399
  db.run('DELETE FROM entry_tags WHERE entry_id = ?', [id]);
318
400
  this.linkTagsToEntry(id, updates.tags);
319
401
  }
320
- this.save();
402
+ this.scheduleSave();
321
403
  logger.info('Entry updated', {
322
404
  module: 'SqliteAdapter',
323
405
  operation: 'updateEntry',
@@ -327,16 +409,22 @@ export class SqliteAdapter {
327
409
  }
328
410
  /**
329
411
  * Soft delete an entry
412
+ * Returns false if entry does not exist (P154: Proactive Object Existence Verification)
330
413
  */
331
414
  deleteEntry(id, permanent = false) {
332
415
  const db = this.ensureDb();
416
+ // P154: Pre-check entry existence before mutation
417
+ // For permanent deletion, also look through soft-deleted entries
418
+ const entry = permanent ? this.getEntryByIdIncludeDeleted(id) : this.getEntryById(id);
419
+ if (!entry)
420
+ return false;
333
421
  if (permanent) {
334
422
  db.run('DELETE FROM memory_journal WHERE id = ?', [id]);
335
423
  }
336
424
  else {
337
425
  db.run(`UPDATE memory_journal SET deleted_at = datetime('now') WHERE id = ?`, [id]);
338
426
  }
339
- this.save();
427
+ this.scheduleSave();
340
428
  return true;
341
429
  }
342
430
  // =========================================================================
@@ -455,11 +543,11 @@ export class SqliteAdapter {
455
543
  return (result[0]?.values ?? []).map((v) => v[0]);
456
544
  }
457
545
  /**
458
- * List all tags
546
+ * List all tags with at least one usage
459
547
  */
460
548
  listTags() {
461
549
  const db = this.ensureDb();
462
- const result = db.exec('SELECT * FROM tags ORDER BY usage_count DESC');
550
+ const result = db.exec('SELECT * FROM tags WHERE usage_count > 0 ORDER BY usage_count DESC');
463
551
  if (result.length === 0)
464
552
  return [];
465
553
  return (result[0]?.values ?? []).map((v) => ({
@@ -520,7 +608,7 @@ export class SqliteAdapter {
520
608
  // Remove source tag links and delete source tag
521
609
  db.run('DELETE FROM entry_tags WHERE tag_id = ?', [sourceTagId]);
522
610
  db.run('DELETE FROM tags WHERE id = ?', [sourceTagId]);
523
- this.save();
611
+ this.scheduleSave();
524
612
  logger.info('Tags merged', {
525
613
  module: 'SqliteAdapter',
526
614
  operation: 'mergeTags',
@@ -533,16 +621,26 @@ export class SqliteAdapter {
533
621
  // =========================================================================
534
622
  /**
535
623
  * Link two entries
624
+ * Throws if either entry does not exist (P154: Proactive Object Existence Verification)
536
625
  */
537
626
  linkEntries(fromEntryId, toEntryId, relationshipType, description) {
538
627
  const db = this.ensureDb();
628
+ // P154: Pre-check both entries exist before creating relationship
629
+ const fromEntry = this.getEntryById(fromEntryId);
630
+ if (!fromEntry) {
631
+ throw new Error(`Source entry ${String(fromEntryId)} not found`);
632
+ }
633
+ const toEntry = this.getEntryById(toEntryId);
634
+ if (!toEntry) {
635
+ throw new Error(`Target entry ${String(toEntryId)} not found`);
636
+ }
539
637
  db.run(`
540
638
  INSERT INTO relationships (from_entry_id, to_entry_id, relationship_type, description)
541
639
  VALUES (?, ?, ?, ?)
542
640
  `, [fromEntryId, toEntryId, relationshipType, description ?? null]);
543
641
  const result = db.exec('SELECT last_insert_rowid() as id');
544
642
  const id = result[0]?.values[0]?.[0];
545
- this.save();
643
+ this.scheduleSave();
546
644
  return {
547
645
  id,
548
646
  fromEntryId,
@@ -813,7 +911,7 @@ export class SqliteAdapter {
813
911
  const newCountResult = this.db.exec('SELECT COUNT(*) FROM memory_journal WHERE deleted_at IS NULL');
814
912
  const newEntryCount = newCountResult[0]?.values[0]?.[0] ?? 0;
815
913
  // Save to main database path
816
- this.save();
914
+ this.flushSave();
817
915
  logger.info('Database restored from backup', {
818
916
  module: 'SqliteAdapter',
819
917
  operation: 'restoreFromFile',
@@ -904,6 +1002,17 @@ export class SqliteAdapter {
904
1002
  autoContext: row['auto_context'],
905
1003
  deletedAt: row['deleted_at'],
906
1004
  tags: this.getTagsForEntry(id),
1005
+ // GitHub integration fields
1006
+ projectNumber: row['project_number'] ?? null,
1007
+ projectOwner: row['project_owner'] ?? null,
1008
+ issueNumber: row['issue_number'] ?? null,
1009
+ issueUrl: row['issue_url'] ?? null,
1010
+ prNumber: row['pr_number'] ?? null,
1011
+ prUrl: row['pr_url'] ?? null,
1012
+ prStatus: row['pr_status'] ?? null,
1013
+ workflowRunId: row['workflow_run_id'] ?? null,
1014
+ workflowName: row['workflow_name'] ?? null,
1015
+ workflowStatus: row['workflow_status'] ?? null,
907
1016
  };
908
1017
  }
909
1018
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SqliteAdapter.js","sourceRoot":"","sources":["../../src/database/SqliteAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,SAA4B,MAAM,QAAQ,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAA;AAUtE,gCAAgC;AAChC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyElB,CAAA;AAwBD;;GAEG;AACH,MAAM,OAAO,aAAa;IACd,EAAE,GAAoB,IAAI,CAAA;IACjB,MAAM,CAAQ;IACvB,WAAW,GAAG,KAAK,CAAA;IAE3B,YAAY,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,IAAI,CAAC,WAAW;YAAE,OAAM;QAE5B,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAA;QAE7B,gCAAgC;QAChC,IAAI,QAAQ,GAAkB,IAAI,CAAA;QAClC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACL,kDAAkD;YACtD,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC5B,0BAA0B;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACrC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC1C,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAEhF,4BAA4B;QAC5B,IAAI,CAAC,IAAI,EAAE,CAAA;IACf,CAAC;IAED;;OAEG;IACK,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAM;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAA;QAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,EAAE,CAAA;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;YACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED;;OAEG;IACK,QAAQ;QACZ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAA;IAClB,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;OAEG;IACH,WAAW,CAAC,KAAuB;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,EACF,OAAO,EACP,SAAS,GAAG,qBAAqB,EACjC,IAAI,GAAG,EAAE,EACT,UAAU,GAAG,IAAI,EACjB,gBAAgB,GAAG,IAAI,EACvB,WAAW,GAAG,IAAI,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,GACjB,GAAG,KAAK,CAAA;QAET,EAAE,CAAC,GAAG,CACF;;;;;;SAMH,EACG;YACI,SAAS;YACT,OAAO;YACP,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,gBAAgB;YAChB,WAAW;YACX,aAAa,IAAI,IAAI;YACrB,YAAY,IAAI,IAAI;YACpB,WAAW,IAAI,IAAI;YACnB,QAAQ,IAAI,IAAI;YAChB,QAAQ,IAAI,IAAI;YAChB,KAAK,IAAI,IAAI;YACb,QAAQ,IAAI,IAAI;YAChB,aAAa,IAAI,IAAI;YACrB,YAAY,IAAI,IAAI;YACpB,cAAc,IAAI,IAAI;SACzB,CACJ,CAAA;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAW,CAAA;QAEnD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAA;QAEX,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,OAAO;SACpB,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAA;QAC1E,CAAC;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,kEAAkE,EAAE;YACvF,EAAE;SACL,CAAC,CAAA;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAEtE,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAE7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;;;;OAQG;IACH,mBAAmB,CAAC,OAAe;QAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,iBAAiB;QACjB,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CACvB,6FAA6F,EAC7F,CAAC,OAAO,CAAC,CACZ,CAAA;QACD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QAE7E,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAkB,CAAA;QACxE,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAW,CAAA;QAE1D,4CAA4C;QAC5C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAEvD,gEAAgE;QAChE,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CACrB,+EAA+E,EAC/E,CAAC,OAAO,EAAE,OAAO,CAAC,CACrB,CAAA;QACD,MAAM,QAAQ,GAAI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAC9D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QAEtD,6BAA6B;QAC7B,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CACxB;;2EAE+D,EAC/D,CAAC,OAAO,EAAE,OAAO,CAAC,CACrB,CAAA;QACD,MAAM,WAAW,GAAI,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QACpE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QAEnD,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAA;QACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QAC3F,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,CAAA;QAErD,eAAe;QACf,MAAM,UAAU,GACZ,kBAAkB,GAAG,GAAG;YACxB,kBAAkB,GAAG,IAAI;YACzB,YAAY,GAAG,GAAG;YAClB,aAAa,GAAG,IAAI,CAAA;QAExB,4BAA4B;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAA;IAC7C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAK,GAAG,EAAE,EAAE,UAAoB;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,IAAI,GAAG,GAAG,uDAAuD,CAAA;QACjE,MAAM,MAAM,GAAc,EAAE,CAAA;QAE5B,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,IAAI,sBAAsB,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;QAED,GAAG,IAAI,2CAA2C,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAA;QACxC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CACrD,CAAA;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CACP,EAAU,EACV,OAKC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QAEvB,MAAM,SAAS,GAAa,EAAE,CAAA;QAC9B,MAAM,MAAM,GAAc,EAAE,CAAA;QAE5B,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QAClC,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;YACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACf,EAAE,CAAC,GAAG,CAAC,6BAA6B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QACpF,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,GAAG,CAAC,2CAA2C,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YACzD,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAA;QAEX,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,EAAE;SACf,CAAC,CAAA;QAEF,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;IAChC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAU,EAAE,SAAS,GAAG,KAAK;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,IAAI,SAAS,EAAE,CAAC;YACZ,EAAE,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;aAAM,CAAC;YACJ,EAAE,CAAC,GAAG,CAAC,qEAAqE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QACvF,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,OAAO,IAAI,CAAA;IACf,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACH,aAAa,CACT,KAAa,EACb,UAMI,EAAE;QAEN,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;QAEhF,IAAI,GAAG,GAAG;;;SAGT,CAAA;QACD,MAAM,MAAM,GAAc,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;QAExC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,IAAI,sBAAsB,CAAA;YAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,IAAI,yBAAyB,CAAA;YAChC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,GAAG,IAAI,uBAAuB,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,IAAI,oBAAoB,CAAA;YAC3B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACzB,CAAC;QAED,GAAG,IAAI,kCAAkC,CAAA;QACzC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAElB,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAA;QACxC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CACrD,CAAA;IACL,CAAC;IAED;;OAEG;IACH,iBAAiB,CACb,SAAiB,EACjB,OAAe,EACf,UAKI,EAAE;QAEN,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAE9D,IAAI,GAAG,GAAG;;;;;;SAMT,CAAA;QACD,MAAM,MAAM,GAAc,CAAC,SAAS,EAAE,OAAO,GAAG,WAAW,CAAC,CAAA;QAE5D,IAAI,SAAS,EAAE,CAAC;YACZ,GAAG,IAAI,uBAAuB,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,IAAI,wBAAwB,CAAA;YAC/B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,IAAI,2BAA2B,CAAA;YAClC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAC9B,CAAC;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClD,GAAG,IAAI,mBAAmB,YAAY,GAAG,CAAA;YACzC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACxB,CAAC;QAED,GAAG,IAAI,4BAA4B,CAAA;QAEnC,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAA;QACxC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC5C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CACrD,CAAA;IACL,CAAC;IAED,4EAA4E;IAC5E,iBAAiB;IACjB,4EAA4E;IAE5E;;OAEG;IACK,eAAe,CAAC,OAAe,EAAE,QAAkB;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,uBAAuB;YACvB,EAAE,CAAC,GAAG,CAAC,8DAA8D,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YAEjF,aAAa;YACb,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;YACvE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAA;YAE7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,oBAAoB;gBACpB,EAAE,CAAC,GAAG,CAAC,mEAAmE,EAAE;oBACxE,OAAO;oBACP,KAAK;iBACR,CAAC,CAAA;gBACF,kBAAkB;gBAClB,EAAE,CAAC,GAAG,CAAC,4DAA4D,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;YACjF,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAClB;;;;SAIH,EACG,CAAC,OAAO,CAAC,CACZ,CAAA;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAClC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC,CAAA;IAC1E,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAEtE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAElC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAW;YAClB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAW;YACpB,UAAU,EAAE,CAAC,CAAC,CAAC,CAAW;SAC7B,CAAC,CAAC,CAAA;IACP,CAAC;IAED;;;;;OAKG;IACH,SAAS,CACL,SAAiB,EACjB,SAAiB;QAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,oBAAoB;QACpB,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAC/E,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAA;QAEzE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,2BAA2B;QAC3B,EAAE,CAAC,GAAG,CAAC,8DAA8D,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QACnF,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAC/E,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAA;QAEzE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,mCAAmC;QACnC,MAAM,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,kDAAkD,EAAE;YAC9E,WAAW;SACd,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAW,CAAC,IAAI,EAAE,CAAA;QAE1E,IAAI,cAAc,GAAG,CAAC,CAAA;QAEtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,wCAAwC;YACxC,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC,4DAA4D,EAAE;gBACnF,OAAO;gBACP,WAAW;aACd,CAAC,CAAA;YAEF,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,sBAAsB;gBACtB,EAAE,CAAC,GAAG,CAAC,yDAAyD,EAAE;oBAC9D,OAAO;oBACP,WAAW;iBACd,CAAC,CAAA;gBACF,cAAc,EAAE,CAAA;YACpB,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACrB,EAAE,CAAC,GAAG,CAAC,4DAA4D,EAAE;gBACjE,cAAc;gBACd,WAAW;aACd,CAAC,CAAA;QACN,CAAC;QAED,gDAAgD;QAChD,EAAE,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;QAChE,EAAE,CAAC,GAAG,CAAC,+BAA+B,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;QAEtD,IAAI,CAAC,IAAI,EAAE,CAAA;QAEX,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,WAAW;YACtB,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE;SACpD,CAAC,CAAA;QAEF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAClD,CAAC;IAED,4EAA4E;IAC5E,0BAA0B;IAC1B,4EAA4E;IAE5E;;OAEG;IACH,WAAW,CACP,WAAmB,EACnB,SAAiB,EACjB,gBAAkC,EAClC,WAAoB;QAEpB,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,EAAE,CAAC,GAAG,CACF;;;SAGH,EACG,CAAC,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,IAAI,IAAI,CAAC,CAClE,CAAA;QAED,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAW,CAAA;QAE9C,IAAI,CAAC,IAAI,EAAE,CAAA;QAEX,OAAO;YACH,EAAE;YACF,WAAW;YACX,SAAS;YACT,gBAAgB;YAChB,WAAW,EAAE,WAAW,IAAI,IAAI;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAe;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAG,EAAE,CAAC,IAAI,CAClB;;;SAGH,EACG,CAAC,OAAO,EAAE,OAAO,CAAC,CACrB,CAAA;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAA;QAElC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAA;QACxC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAiB,EAAE,EAAE;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC7C,OAAO;gBACH,EAAE,EAAE,GAAG,CAAC,IAAI,CAAW;gBACvB,WAAW,EAAE,GAAG,CAAC,eAAe,CAAW;gBAC3C,SAAS,EAAE,GAAG,CAAC,aAAa,CAAW;gBACvC,gBAAgB,EAAE,GAAG,CAAC,mBAAmB,CAAqB;gBAC9D,WAAW,EAAE,GAAG,CAAC,aAAa,CAAkB;gBAChD,SAAS,EAAE,GAAG,CAAC,YAAY,CAAW;aACzC,CAAA;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAED,4EAA4E;IAC5E,aAAa;IACb,4EAA4E;IAE5E;;OAEG;IACH,aAAa,CAAC,UAAoC,MAAM;QAqBpD,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,gBAAgB;QAChB,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC;;SAE3B,CAAC,CAAA;QACF,MAAM,YAAY,GAAI,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAEpE,UAAU;QACV,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC;;;;;SAK5B,CAAC,CAAA;QACF,MAAM,aAAa,GAA2B,EAAE,CAAA;QAChD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;YAC9C,aAAa,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAA;QACtD,CAAC;QAED,mEAAmE;QACnE,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAA;QAErD,MAAM,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC;+BACR,UAAU;;;;;;SAMhC,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC;YAC7E,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW;YACtB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAW;SACxB,CAAC,CAAC,CAAA;QAEH,4EAA4E;QAC5E,sCAAsC;QACtC,4EAA4E;QAE5E,mDAAmD;QACnD,MAAM,qBAAqB,GAAG,EAAE,CAAC,IAAI,CAAC;+BACf,UAAU;;;;;;SAMhC,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,CAAC;YACpF,MAAM,EAAE,CAAC,CAAC,CAAC,CAAW;YACtB,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAW;SACnC,CAAC,CAAC,CAAA;QAEH,iEAAiE;QACjE,MAAM,cAAc,GAAG,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QACpE,MAAM,kBAAkB,GAAI,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAC7E,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;QAE5E,wCAAwC;QACxC,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;QACtD,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,CAAA;QACvD,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;QACnD,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;QACpD,MAAM,aAAa,GACf,aAAa,GAAG,CAAC;YACb,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;YACpE,CAAC,CAAC,IAAI,CAAA;QAEd,uDAAuD;QACvD,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC;;;;;SAK5B,CAAC,CAAA;QACF,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;QAC/D,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAyC,CAAA;YAC9D,aAAa,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAA;QAC7C,CAAC;QAED,OAAO;YACH,YAAY;YACZ,aAAa;YACb,eAAe;YACf,eAAe;YACf,sBAAsB,EAAE;gBACpB,kBAAkB;gBAClB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,mBAAmB;aACxE;YACD,aAAa,EAAE;gBACX,aAAa;gBACb,cAAc;gBACd,aAAa;aAChB;YACD,aAAa;SAChB,CAAA;IACL,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACH,aAAa;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,UAAmB;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAEvC,kCAAkC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAChE,MAAM,aAAa,GAAG,UAAU;YAC5B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACvD,CAAC,CAAC,UAAU,SAAS,EAAE,CAAA;QAC3B,MAAM,QAAQ,GAAG,GAAG,aAAa,KAAK,CAAA;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAElD,kBAAkB;QAClB,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QAEpC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAErC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,cAAc;YACzB,OAAO,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE;SACjD,CAAC,CAAA;QAEF,OAAO;YACH,QAAQ;YACR,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,KAAK,CAAC,IAAI;SACxB,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,WAAW;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAEvC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACb,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;QACxC,MAAM,OAAO,GACT,EAAE,CAAA;QAEN,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YAChD,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;gBACnC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjB,OAAO,CAAC,IAAI,CAAC;wBACT,QAAQ;wBACR,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;qBAC3C,CAAC,CAAA;gBACN,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,gCAAgC;YACpC,CAAC;QACL,CAAC;QAED,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAEzF,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA,CAAC,8BAA8B;QAEjE,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACnD,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzC,MAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACD,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAC1B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACjC,CAAC;YAAC,MAAM,CAAC;gBACL,mCAAmC;YACvC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAClC,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,kBAAkB;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;SAC5D,CAAC,CAAA;QAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;IAC3C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB;QAKlC,6CAA6C;QAC7C,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC3E,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAElD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,yCAAyC;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC1B,MAAM,kBAAkB,GAAG,EAAE,CAAC,IAAI,CAC9B,8DAA8D,CACjE,CAAA;QACD,MAAM,kBAAkB,GAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAEjF,oCAAoC;QACpC,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;QAElF,yBAAyB;QACzB,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAA;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAA;QACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QAExB,mBAAmB;QACnB,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAEhD,sCAAsC;QACtC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QAEvB,sBAAsB;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAC/B,8DAA8D,CACjE,CAAA;QACD,MAAM,aAAa,GAAI,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAExE,6BAA6B;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAA;QAEX,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE;YACzC,MAAM,EAAE,eAAe;YACvB,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE;SAC7D,CAAC,CAAA;QAEF,OAAO;YACH,YAAY,EAAE,QAAQ;YACtB,kBAAkB;YAClB,aAAa;SAChB,CAAA;IACL,CAAC;IAED,4EAA4E;IAC5E,gBAAgB;IAChB,4EAA4E;IAE5E;;OAEG;IACH,eAAe;QAeX,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAE1B,gBAAgB;QAChB,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACtC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,iCAAiC;QACrC,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAA;QAC3F,MAAM,aAAa,GAAG,EAAE,CAAC,IAAI,CACzB,kEAAkE,CACrE,CAAA;QACD,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAC/D,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;QAEtD,MAAM,UAAU,GAAI,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAClE,MAAM,iBAAiB,GAAI,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAC3E,MAAM,iBAAiB,GAAI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QACvE,MAAM,QAAQ,GAAI,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,IAAI,CAAC,CAAA;QAE9D,cAAc;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAClC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QAErC,OAAO;YACH,QAAQ,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,SAAS;gBACT,UAAU;gBACV,iBAAiB;gBACjB,iBAAiB;gBACjB,QAAQ;aACX;YACD,OAAO,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC/B,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,UAAU,EAAE,UAAU;oBAClB,CAAC,CAAC;wBACI,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,SAAS,EAAE,UAAU,CAAC,SAAS;wBAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;qBAClC;oBACH,CAAC,CAAC,IAAI;aACb;SACJ,CAAA;IACL,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAE5E;;OAEG;IACK,WAAW,CAAC,OAAiB,EAAE,MAAiB;QACpD,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACvB,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QACF,OAAO,GAAG,CAAA;IACd,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,GAA4B;QAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAW,CAAA;QAC9B,OAAO;YACH,EAAE;YACF,SAAS,EAAE,GAAG,CAAC,YAAY,CAAc;YACzC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAW;YACjC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAW;YACrC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;YACpC,gBAAgB,EAAE,GAAG,CAAC,mBAAmB,CAAqB;YAC9D,WAAW,EAAE,GAAG,CAAC,cAAc,CAAkB;YACjD,SAAS,EAAE,GAAG,CAAC,YAAY,CAAkB;YAC7C,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;SACjC,CAAA;IACL,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC1B,CAAC;CACJ"}
1
+ {"version":3,"file":"SqliteAdapter.js","sourceRoot":"","sources":["../../src/database/SqliteAdapter.ts"],"names":[],"mappings":"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"}