videobook-engine 5.0.1 → 5.3.2

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 (207) hide show
  1. package/README.md +73 -13
  2. package/dist/artifacts.d.ts +2 -2
  3. package/dist/artifacts.d.ts.map +1 -1
  4. package/dist/artifacts.js +42 -11
  5. package/dist/artifacts.js.map +1 -1
  6. package/dist/cas.d.ts +2 -1
  7. package/dist/cas.d.ts.map +1 -1
  8. package/dist/cas.js +33 -4
  9. package/dist/cas.js.map +1 -1
  10. package/dist/catalog-gc-state.d.ts +4 -0
  11. package/dist/catalog-gc-state.d.ts.map +1 -0
  12. package/dist/catalog-gc-state.js +49 -0
  13. package/dist/catalog-gc-state.js.map +1 -0
  14. package/dist/catalog-metadata.d.ts +1 -1
  15. package/dist/catalog-metadata.js +1 -1
  16. package/dist/context.d.ts +2 -0
  17. package/dist/context.d.ts.map +1 -1
  18. package/dist/context.js +7 -1
  19. package/dist/context.js.map +1 -1
  20. package/dist/domain.d.ts.map +1 -1
  21. package/dist/domain.js +2 -2
  22. package/dist/domain.js.map +1 -1
  23. package/dist/edits.js +2 -2
  24. package/dist/edits.js.map +1 -1
  25. package/dist/engine-types.d.ts +97 -12
  26. package/dist/engine-types.d.ts.map +1 -1
  27. package/dist/engine-types.js +2 -0
  28. package/dist/engine-types.js.map +1 -1
  29. package/dist/engine.d.ts +11 -3
  30. package/dist/engine.d.ts.map +1 -1
  31. package/dist/engine.js +43 -1
  32. package/dist/engine.js.map +1 -1
  33. package/dist/files.d.ts +10 -0
  34. package/dist/files.d.ts.map +1 -1
  35. package/dist/files.js +48 -1
  36. package/dist/files.js.map +1 -1
  37. package/dist/fork.d.ts +11 -28
  38. package/dist/fork.d.ts.map +1 -1
  39. package/dist/fork.js +5 -7
  40. package/dist/fork.js.map +1 -1
  41. package/dist/history.js +10 -9
  42. package/dist/history.js.map +1 -1
  43. package/dist/index.d.ts +1 -1
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/inline-temporal-models.d.ts +43 -0
  48. package/dist/inline-temporal-models.d.ts.map +1 -0
  49. package/dist/inline-temporal-models.js +236 -0
  50. package/dist/inline-temporal-models.js.map +1 -0
  51. package/dist/isolated-models.d.ts +8 -0
  52. package/dist/isolated-models.d.ts.map +1 -0
  53. package/dist/isolated-models.js +25 -0
  54. package/dist/isolated-models.js.map +1 -0
  55. package/dist/job-queue.d.ts +1 -1
  56. package/dist/job-queue.d.ts.map +1 -1
  57. package/dist/job-queue.js +20 -6
  58. package/dist/job-queue.js.map +1 -1
  59. package/dist/media-image.d.ts +8 -0
  60. package/dist/media-image.d.ts.map +1 -0
  61. package/dist/media-image.js +41 -0
  62. package/dist/media-image.js.map +1 -0
  63. package/dist/media-process.d.ts +13 -0
  64. package/dist/media-process.d.ts.map +1 -0
  65. package/dist/media-process.js +89 -0
  66. package/dist/media-process.js.map +1 -0
  67. package/dist/merge-policy.d.ts +6 -10
  68. package/dist/merge-policy.d.ts.map +1 -1
  69. package/dist/merge-policy.js +5 -10
  70. package/dist/merge-policy.js.map +1 -1
  71. package/dist/metadata.d.ts +1 -0
  72. package/dist/metadata.d.ts.map +1 -1
  73. package/dist/metadata.js +11 -0
  74. package/dist/metadata.js.map +1 -1
  75. package/dist/migrate-grid-text.d.ts +17 -0
  76. package/dist/migrate-grid-text.d.ts.map +1 -0
  77. package/dist/migrate-grid-text.js +117 -0
  78. package/dist/migrate-grid-text.js.map +1 -0
  79. package/dist/migrate-grid-v22.d.ts +12 -0
  80. package/dist/migrate-grid-v22.d.ts.map +1 -0
  81. package/dist/migrate-grid-v22.js +166 -0
  82. package/dist/migrate-grid-v22.js.map +1 -0
  83. package/dist/migrate-grid-v23.d.ts +10 -0
  84. package/dist/migrate-grid-v23.d.ts.map +1 -0
  85. package/dist/migrate-grid-v23.js +31 -0
  86. package/dist/migrate-grid-v23.js.map +1 -0
  87. package/dist/migration-notebooks.d.ts +25 -0
  88. package/dist/migration-notebooks.d.ts.map +1 -0
  89. package/dist/migration-notebooks.js +131 -0
  90. package/dist/migration-notebooks.js.map +1 -0
  91. package/dist/migration-source.d.ts +6 -0
  92. package/dist/migration-source.d.ts.map +1 -0
  93. package/dist/migration-source.js +37 -0
  94. package/dist/migration-source.js.map +1 -0
  95. package/dist/migration-timeline.d.ts +36 -0
  96. package/dist/migration-timeline.d.ts.map +1 -0
  97. package/dist/migration-timeline.js +187 -0
  98. package/dist/migration-timeline.js.map +1 -0
  99. package/dist/migration-validation.d.ts +12 -0
  100. package/dist/migration-validation.d.ts.map +1 -0
  101. package/dist/migration-validation.js +68 -0
  102. package/dist/migration-validation.js.map +1 -0
  103. package/dist/migration.d.ts.map +1 -1
  104. package/dist/migration.js +188 -117
  105. package/dist/migration.js.map +1 -1
  106. package/dist/model-cache-paths.d.ts +2 -0
  107. package/dist/model-cache-paths.d.ts.map +1 -0
  108. package/dist/model-cache-paths.js +5 -0
  109. package/dist/model-cache-paths.js.map +1 -0
  110. package/dist/model-checksums.json +338 -0
  111. package/dist/model-file-resolver.d.ts +30 -0
  112. package/dist/model-file-resolver.d.ts.map +1 -0
  113. package/dist/model-file-resolver.js +304 -0
  114. package/dist/model-file-resolver.js.map +1 -0
  115. package/dist/model-identity.d.ts +13 -0
  116. package/dist/model-identity.d.ts.map +1 -0
  117. package/dist/model-identity.js +44 -0
  118. package/dist/model-identity.js.map +1 -0
  119. package/dist/model-worker-errors.d.ts +3 -0
  120. package/dist/model-worker-errors.d.ts.map +1 -0
  121. package/dist/model-worker-errors.js +12 -0
  122. package/dist/model-worker-errors.js.map +1 -0
  123. package/dist/model-worker-pool.d.ts +32 -0
  124. package/dist/model-worker-pool.d.ts.map +1 -0
  125. package/dist/model-worker-pool.js +269 -0
  126. package/dist/model-worker-pool.js.map +1 -0
  127. package/dist/model-worker-protocol.d.ts +42 -0
  128. package/dist/model-worker-protocol.d.ts.map +1 -0
  129. package/dist/model-worker-protocol.js +2 -0
  130. package/dist/model-worker-protocol.js.map +1 -0
  131. package/dist/model-worker.d.ts +2 -0
  132. package/dist/model-worker.d.ts.map +1 -0
  133. package/dist/model-worker.js +91 -0
  134. package/dist/model-worker.js.map +1 -0
  135. package/dist/mvp-contracts.d.ts +31 -7
  136. package/dist/mvp-contracts.d.ts.map +1 -1
  137. package/dist/mvp-contracts.js +1 -1
  138. package/dist/mvp-contracts.js.map +1 -1
  139. package/dist/notebook-grid.d.ts +13 -4
  140. package/dist/notebook-grid.d.ts.map +1 -1
  141. package/dist/notebook-grid.js +35 -8
  142. package/dist/notebook-grid.js.map +1 -1
  143. package/dist/notebook-mentions.d.ts +1 -1
  144. package/dist/notebook-mentions.d.ts.map +1 -1
  145. package/dist/notebook-mentions.js +2 -1
  146. package/dist/notebook-mentions.js.map +1 -1
  147. package/dist/schema.d.ts +2 -1
  148. package/dist/schema.d.ts.map +1 -1
  149. package/dist/schema.js +7 -4
  150. package/dist/schema.js.map +1 -1
  151. package/dist/search-provider-access.d.ts +11 -0
  152. package/dist/search-provider-access.d.ts.map +1 -0
  153. package/dist/search-provider-access.js +42 -0
  154. package/dist/search-provider-access.js.map +1 -0
  155. package/dist/similarity.d.ts +60 -1
  156. package/dist/similarity.d.ts.map +1 -1
  157. package/dist/similarity.js +165 -145
  158. package/dist/similarity.js.map +1 -1
  159. package/dist/store.d.ts +15 -1
  160. package/dist/store.d.ts.map +1 -1
  161. package/dist/store.js +168 -14
  162. package/dist/store.js.map +1 -1
  163. package/dist/temporal-index-cache.d.ts +13 -0
  164. package/dist/temporal-index-cache.d.ts.map +1 -0
  165. package/dist/temporal-index-cache.js +59 -0
  166. package/dist/temporal-index-cache.js.map +1 -0
  167. package/dist/temporal-model-manifests.d.ts +17 -0
  168. package/dist/temporal-model-manifests.d.ts.map +1 -0
  169. package/dist/temporal-model-manifests.js +33 -0
  170. package/dist/temporal-model-manifests.js.map +1 -0
  171. package/dist/temporal-models.d.ts +20 -35
  172. package/dist/temporal-models.d.ts.map +1 -1
  173. package/dist/temporal-models.js +23 -257
  174. package/dist/temporal-models.js.map +1 -1
  175. package/dist/temporal-search.d.ts +6 -3
  176. package/dist/temporal-search.d.ts.map +1 -1
  177. package/dist/temporal-search.js +404 -132
  178. package/dist/temporal-search.js.map +1 -1
  179. package/dist/temporal-vector-index.d.ts +46 -0
  180. package/dist/temporal-vector-index.d.ts.map +1 -0
  181. package/dist/temporal-vector-index.js +220 -0
  182. package/dist/temporal-vector-index.js.map +1 -0
  183. package/dist/third-party/@huggingface-jinja.LICENSE +21 -0
  184. package/dist/third-party/@huggingface-tokenizers.LICENSE +201 -0
  185. package/dist/third-party/@huggingface-transformers.LICENSE +202 -0
  186. package/dist/third-party/onnxruntime-common.LICENSE +21 -0
  187. package/dist/third-party/versions.json +23 -0
  188. package/dist/transformers-runtime.d.ts +2 -0
  189. package/dist/transformers-runtime.d.ts.map +1 -0
  190. package/dist/transformers-runtime.js +33014 -0
  191. package/dist/transformers-runtime.js.LEGAL.txt +12 -0
  192. package/dist/transformers-runtime.js.map +7 -0
  193. package/docs/doltlite-staging.md +69 -0
  194. package/docs/edit-performance.md +83 -0
  195. package/docs/engine-layout.md +42 -31
  196. package/docs/media-limits.md +57 -0
  197. package/docs/model-download-policy.md +15 -0
  198. package/docs/model-integrity.md +72 -0
  199. package/docs/model-isolation.md +72 -0
  200. package/docs/model-revisions.md +54 -0
  201. package/docs/release-evidence.md +300 -0
  202. package/docs/search-provider-consent.md +67 -0
  203. package/docs/semantic-durability.md +55 -0
  204. package/docs/temporal-search-performance.md +260 -0
  205. package/docs/v4-migration.md +83 -0
  206. package/fixtures/v5/contract-fixtures.json +3 -3
  207. package/package.json +19 -13
@@ -0,0 +1,42 @@
1
+ import { EngineFault } from "./store.js";
2
+ export function guardSearchProvider(source, consent = {}, isActive = () => true) {
3
+ const downloads = source.networkAccess?.modelDownloads;
4
+ const inference = source.networkAccess?.inference;
5
+ const allowDownloads = consent.modelDownloads === true;
6
+ const allowInference = consent.inference === true;
7
+ const validate = () => {
8
+ if (typeof downloads !== "boolean" || typeof inference !== "boolean") {
9
+ throw new EngineFault({ code: "INVALID_INPUT", message: "Search provider must declare networkAccess.modelDownloads and networkAccess.inference as booleans" });
10
+ }
11
+ if (!isActive()) {
12
+ throw new EngineFault({ code: "OFFLINE", message: "Search provider registration has been revoked" });
13
+ }
14
+ if (source.networkAccess?.modelDownloads !== downloads || source.networkAccess?.inference !== inference) {
15
+ throw new EngineFault({ code: "INVALID_INPUT", message: "Search provider network declaration changed; register it again with application consent" });
16
+ }
17
+ if ((downloads && !allowDownloads) || (inference && !allowInference)) {
18
+ throw new EngineFault({ code: "OFFLINE", message: "Search provider network access requires application consent" });
19
+ }
20
+ };
21
+ const provider = Object.create(source);
22
+ for (const method of ["prepare", "embedText", "embedImage", "embedVideo", "embedAudio"]) {
23
+ const operation = Reflect.get(source, method);
24
+ if (typeof operation !== "function")
25
+ continue;
26
+ Object.defineProperty(provider, method, {
27
+ value: async (...args) => {
28
+ validate();
29
+ return Reflect.apply(operation, source, args);
30
+ },
31
+ });
32
+ }
33
+ return {
34
+ provider, validate,
35
+ matches: (candidate, grant) => candidate === source
36
+ && candidate.networkAccess?.modelDownloads === downloads
37
+ && candidate.networkAccess?.inference === inference
38
+ && (grant.modelDownloads === true) === allowDownloads
39
+ && (grant.inference === true) === allowInference,
40
+ };
41
+ }
42
+ //# sourceMappingURL=search-provider-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-provider-access.js","sourceRoot":"","sources":["../src/search-provider-access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMzC,MAAM,UAAU,mBAAmB,CACjC,MAAS,EACT,UAAiC,EAAE,EACnC,WAA0B,GAAG,EAAE,CAAC,IAAI;IAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC;IAClD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC;IAClD,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO,SAAS,KAAK,SAAS,IAAI,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,mGAAmG,EAAE,CAAC,CAAC;QACjK,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,EAAE,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACxG,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yFAAyF,EAAE,CAAC,CAAC;QACvJ,CAAC;QACD,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,6DAA6D,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAM,CAAC;IAC5C,KAAK,MAAM,MAAM,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAU,EAAE,CAAC;QACjG,MAAM,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,IAAI,OAAO,SAAS,KAAK,UAAU;YAAE,SAAS;QAC9C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE;YACtC,KAAK,EAAE,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBAClC,QAAQ,EAAE,CAAC;gBACX,OAAO,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAY,CAAC;YAC3D,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,MAAM;eAC9C,SAAS,CAAC,aAAa,EAAE,cAAc,KAAK,SAAS;eACrD,SAAS,CAAC,aAAa,EAAE,SAAS,KAAK,SAAS;eAChD,CAAC,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC,KAAK,cAAc;eAClD,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,cAAc;KACnD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,63 @@
1
- import { type SimilarityApi } from "./engine-types.js";
1
+ import type { MediaOperationOptions } from "./engine-types.js";
2
+ import { type SimilarityApi, type SimilarityAudioConfig, type SimilarityAudioEmbeddingProvider, type SimilarityConfig, type SimilarityEmbeddingProvider, type SimilarityTextChunk, type SimilarityTextConfig, type SimilarityTextEmbeddingProvider } from "./engine-types.js";
2
3
  import { EngineContext } from "./context.js";
4
+ import type { ModelWorkerConfiguration } from "./model-worker-protocol.js";
3
5
  export declare function createSimilarityApi(context: EngineContext): SimilarityApi;
6
+ export declare function createInlineSimilarityProvider(configuration: ModelWorkerConfiguration): LocalClipProvider | LocalClapAudioProvider | LocalTextProvider;
7
+ declare class LocalClipProvider implements SimilarityEmbeddingProvider {
8
+ private readonly dataDir;
9
+ private readonly config;
10
+ get networkAccess(): {
11
+ modelDownloads: boolean;
12
+ inference: boolean;
13
+ };
14
+ get embeddingSpace(): string;
15
+ readonly dimensions = 512;
16
+ private embedder;
17
+ constructor(dataDir: string, config: SimilarityConfig);
18
+ prepare(options?: MediaOperationOptions): Promise<void>;
19
+ embedImage(sourcePath: string, options?: MediaOperationOptions): Promise<Float32Array>;
20
+ embedVideo(sourcePath: string, options?: MediaOperationOptions): Promise<{
21
+ vector: Float32Array;
22
+ frameCount: number;
23
+ }>;
24
+ private loadEmbedder;
25
+ private embedImages;
26
+ }
27
+ declare class LocalClapAudioProvider implements SimilarityAudioEmbeddingProvider {
28
+ private readonly dataDir;
29
+ private readonly sharedConfig;
30
+ private readonly config;
31
+ get networkAccess(): {
32
+ modelDownloads: boolean;
33
+ inference: boolean;
34
+ };
35
+ get embeddingSpace(): string;
36
+ readonly dimensions = 512;
37
+ private processor;
38
+ private model;
39
+ private sampleRate;
40
+ private maxSamples;
41
+ constructor(dataDir: string, sharedConfig: SimilarityConfig, config: SimilarityAudioConfig);
42
+ prepare(options?: MediaOperationOptions): Promise<void>;
43
+ embedAudio(sourcePath: string, options?: MediaOperationOptions): Promise<Float32Array>;
44
+ private loadModel;
45
+ }
46
+ declare class LocalTextProvider implements SimilarityTextEmbeddingProvider {
47
+ private readonly dataDir;
48
+ private readonly sharedConfig;
49
+ private readonly config;
50
+ get networkAccess(): {
51
+ modelDownloads: boolean;
52
+ inference: boolean;
53
+ };
54
+ get embeddingSpace(): string;
55
+ readonly dimensions = 384;
56
+ private embedder;
57
+ constructor(dataDir: string, sharedConfig: SimilarityConfig, config: SimilarityTextConfig);
58
+ prepare(options?: MediaOperationOptions): Promise<void>;
59
+ embedText(text: string, options?: MediaOperationOptions): Promise<SimilarityTextChunk[]>;
60
+ private loadEmbedder;
61
+ }
62
+ export {};
4
63
  //# sourceMappingURL=similarity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../src/similarity.ts"],"names":[],"mappings":"AAoBA,OAAO,EAKL,KAAK,aAAa,EAiBnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EAKd,MAAM,cAAc,CAAC;AAyJtB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAGzE"}
1
+ {"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../src/similarity.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAShC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EAErC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EAKd,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAgK3E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa,CAGzE;AA6vCD,wBAAgB,8BAA8B,CAAC,aAAa,EAAE,wBAAwB,kEAOrF;AAED,cAAM,iBAAkB,YAAW,2BAA2B;IAO1D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAPzB,IAAI,aAAa;;;MAA4F;IAC7G,IAAI,cAAc,WAAuE;IACzF,QAAQ,CAAC,UAAU,OAAsB;IACzC,OAAO,CAAC,QAAQ,CAAgC;gBAG7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,gBAAgB;IAGrC,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;IAO1F,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC;QACjF,MAAM,EAAE,YAAY,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;YA4CY,YAAY;YA2BZ,WAAW;CAkB1B;AAED,cAAM,sBAAuB,YAAW,gCAAgC;IAUpE,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAXzB,IAAI,aAAa;;;MAAsI;IACvJ,IAAI,cAAc,WAAuE;IACzF,QAAQ,CAAC,UAAU,OAA4B;IAC/C,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAA6B;gBAG5B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,qBAAqB;IAG1C,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,YAAY,CAAC;YA2BlF,SAAS;CAoDxB;AAED,cAAM,iBAAkB,YAAW,+BAA+B;IAO9D,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,IAAI,aAAa;;;MAAsI;IACvJ,IAAI,cAAc,WAAuE;IACzF,QAAQ,CAAC,UAAU,OAA2B;IAC9C,OAAO,CAAC,QAAQ,CAAoC;gBAGjC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,oBAAoB;IAGzC,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;YA6BpF,YAAY;CA2B3B"}