@accordproject/template-engine 5.1.0 → 5.2.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 (44) hide show
  1. package/README.md +39 -0
  2. package/lib/JavaScriptEvaluator.js +18 -17
  3. package/lib/JavaScriptEvaluator.js.map +1 -1
  4. package/lib/TemplateArchiveProcessor.d.ts +26 -1
  5. package/lib/TemplateArchiveProcessor.js +72 -8
  6. package/lib/TemplateArchiveProcessor.js.map +1 -1
  7. package/lib/TemplateMarkInterpreter.d.ts +12 -1
  8. package/lib/TemplateMarkInterpreter.js +133 -29
  9. package/lib/TemplateMarkInterpreter.js.map +1 -1
  10. package/lib/TemplateMarkToJavaScriptCompiler.d.ts +32 -1
  11. package/lib/TemplateMarkToJavaScriptCompiler.js +54 -6
  12. package/lib/TemplateMarkToJavaScriptCompiler.js.map +1 -1
  13. package/lib/TypeScriptCompilationContext.d.ts +2 -1
  14. package/lib/TypeScriptCompilationContext.js +12 -1
  15. package/lib/TypeScriptCompilationContext.js.map +1 -1
  16. package/lib/TypeScriptToJavaScriptCompiler.d.ts +7 -2
  17. package/lib/TypeScriptToJavaScriptCompiler.js +99 -35
  18. package/lib/TypeScriptToJavaScriptCompiler.js.map +1 -1
  19. package/lib/UserLogic.d.ts +59 -0
  20. package/lib/UserLogic.js +129 -0
  21. package/lib/UserLogic.js.map +1 -0
  22. package/lib/drafting/Double/format.js +5 -1
  23. package/lib/drafting/Double/format.js.map +1 -1
  24. package/lib/drafting/Integer/format.js +5 -1
  25. package/lib/drafting/Integer/format.js.map +1 -1
  26. package/lib/index.d.ts +2 -0
  27. package/lib/index.js +3 -1
  28. package/lib/index.js.map +1 -1
  29. package/lib/llm/LLMExecutor.d.ts +3 -1
  30. package/lib/llm/LLMExecutor.js +3 -2
  31. package/lib/llm/LLMExecutor.js.map +1 -1
  32. package/lib/llm/Reasoners.d.ts +77 -10
  33. package/lib/llm/Reasoners.js +101 -69
  34. package/lib/llm/Reasoners.js.map +1 -1
  35. package/lib/llm/index.d.ts +1 -1
  36. package/lib/runtime/typescriptLibs.d.ts +2 -0
  37. package/lib/runtime/typescriptLibs.js +21 -0
  38. package/lib/runtime/typescriptLibs.js.map +1 -0
  39. package/lib/utils.d.ts +29 -1
  40. package/lib/utils.js +62 -2
  41. package/lib/utils.js.map +1 -1
  42. package/package.json +29 -3
  43. package/umd/template-engine.js +5 -5
  44. package/umd/template-engine.js.LICENSE.txt +1 -1
package/README.md CHANGED
@@ -221,6 +221,45 @@ Notes on browser limitations:
221
221
  The browser bundle is exercised by the Playwright tests in the `e2e/` workspace, which load
222
222
  `umd/template-engine.js` into a headless Chromium and run a real `generate()`.
223
223
 
224
+ ## LLM providers
225
+
226
+ The optional [LLM executor](docs/llm-executor.md) talks to providers through their official
227
+ SDKs. These are **optional peer dependencies** — they are not installed with the template
228
+ engine, so install the SDK for each provider you use:
229
+
230
+ | Provider | Package |
231
+ | --- | --- |
232
+ | `anthropic` | `@anthropic-ai/sdk` |
233
+ | `openai`, `ollama`, `openai-compatible` | `openai` |
234
+ | `groq` | `groq-sdk` |
235
+ | `google` | `@google/genai` |
236
+ | `mistral` | `@mistralai/mistralai` |
237
+ | `openrouter` | `@openrouter/sdk` |
238
+
239
+ ```
240
+ npm install @anthropic-ai/sdk
241
+ ```
242
+
243
+ In Node.js the SDK is loaded by package name on first use. Bundlers (Vite, webpack, ...) cannot
244
+ resolve that runtime lookup, so browser apps should pass `sdkLoaders` — one literal `import()`
245
+ per provider they support — so their bundler includes the SDK:
246
+
247
+ ```ts
248
+ const processor = new TemplateArchiveProcessor(template, llmConfig, {
249
+ anthropic: () => import('@anthropic-ai/sdk'),
250
+ openai: () => import('openai'), // also used by `ollama` and `openai-compatible`
251
+ });
252
+ ```
253
+
254
+ The same loaders are accepted by `new LLMExecutor(template, config, sdkLoaders)` and
255
+ `createReasoner(providerConfig, sdkLoaders)`.
256
+
257
+ The `openai` SDK (also used by `ollama` and `openai-compatible`) and the `@anthropic-ai/sdk` SDK
258
+ refuse to run in a browser unless the provider config opts in with
259
+ `clientOptions: { dangerouslyAllowBrowser: true }`. Only do this if you accept that the API key
260
+ is visible to anyone using the page, for example when users supply their own key; otherwise call
261
+ the provider from a server.
262
+
224
263
  ## License <a name="license"></a>
225
264
  Accord Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE file. Accord Project documentation files are made available under the Creative Commons Attribution 4.0 International License (CC-BY-4.0), available at http://creativecommons.org/licenses/by/4.0/.
226
265
 
@@ -73,8 +73,8 @@ class JavaScriptEvaluator {
73
73
  }
74
74
  else {
75
75
  // this is a template logic esm module, so we need to dynamic import it
76
- const dataUri = 'data:text/javascript;base64,'
77
- + btoa(request.code);
76
+ const dataUri = 'data:text/javascript;charset=utf-8,'
77
+ + encodeURIComponent(request.code);
78
78
  (0, exports.dynamicImport)(dataUri)
79
79
  .then(templateLogicConstructor => {
80
80
  const instance = new templateLogicConstructor();
@@ -217,21 +217,22 @@ class JavaScriptEvaluator {
217
217
  result = msg;
218
218
  resultReceived = true;
219
219
  });
220
- worker.on('exit', (code) => {
221
- setImmediate(() => {
222
- this.workers = this.workers.filter((w) => w.pid !== worker.pid);
223
- const end = new Date().getTime();
224
- if (code === null) {
225
- reject({ timeout: true, elapsed: end - start });
226
- }
227
- else if (code === 0 && resultReceived) {
228
- resolve({ ...result, elapsed: end - start });
229
- }
230
- else {
231
- // result is absent when user code exits the process before replying.
232
- reject({ code, result, elapsed: end - start });
233
- }
234
- });
220
+ // settle on 'close' rather than 'exit': 'exit' can fire before the
221
+ // worker's final IPC message is delivered, whereas 'close' waits for
222
+ // the IPC channel to close, so any result has been received by then.
223
+ worker.on('close', (code) => {
224
+ this.workers = this.workers.filter((w) => w.pid !== worker.pid);
225
+ const end = new Date().getTime();
226
+ if (code === null) {
227
+ reject({ timeout: true, elapsed: end - start });
228
+ }
229
+ else if (code === 0 && resultReceived) {
230
+ resolve({ ...result, elapsed: end - start });
231
+ }
232
+ else {
233
+ // result is absent when user code exits the process before replying.
234
+ reject({ code, result, elapsed: end - start });
235
+ }
235
236
  });
236
237
  // send the request to the child process
237
238
  worker.send(work.request);
@@ -1 +1 @@
1
- {"version":3,"file":"JavaScriptEvaluator.js","sourceRoot":"","sources":["../src/JavaScriptEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JavaScriptEvaluator.js","sourceRoot":"","sources":["../src/JavaScriptEvaluator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Template } from '@accordproject/cicero-core';
2
2
  import { TwoSlashReturn } from '@typescript/twoslash';
3
3
  import { LLMExecutorConfig } from './llm/LLMConfig';
4
+ import { SdkLoaders } from './llm/Reasoners';
4
5
  /** The contract state. */
5
6
  export type State = object;
6
7
  /** A response/result returned by the contract logic. */
@@ -17,6 +18,17 @@ export type TriggerResponse = {
17
18
  export type InitResponse = {
18
19
  state: State;
19
20
  };
21
+ /**
22
+ * Resolves the template logic entry point from the identifiers of the template's
23
+ * TypeScript scripts. Candidates are `.ts` files directly inside `logic/` (so
24
+ * generated code under `logic/generated/` and non-TypeScript files such as
25
+ * `logic/README.md` are ignored). `logic/logic.ts` is preferred when present;
26
+ * otherwise there must be exactly one candidate.
27
+ * @param {string[]} identifiers - the script identifiers, e.g. `logic/logic.ts`
28
+ * @returns {string} the identifier of the logic entry point
29
+ * @throws {Error} if there is no candidate, or several candidates and no `logic/logic.ts`
30
+ */
31
+ export declare function resolveLogicEntryPoint(identifiers: string[]): string;
20
32
  /**
21
33
  * A template archive processor: can draft content using the
22
34
  * templatemark for the archive and trigger the logic of the archive
@@ -28,14 +40,17 @@ export declare class TemplateArchiveProcessor {
28
40
  private compiledLogicCache?;
29
41
  /** Optional LLM fallback configuration. */
30
42
  llmConfig?: LLMExecutorConfig;
43
+ /** Optional LLM SDK loaders, for bundled environments. */
44
+ private sdkLoaders?;
31
45
  /** Lazily-created LLM executor reused across debug/init/trigger calls. */
32
46
  private llmExecutor?;
33
47
  /**
34
48
  * Creates a template archive processor
35
49
  * @param {Template} template - the template to be used by the processor
36
50
  * @param {LLMExecutorConfig} [llmConfig] - optional LLM fallback configuration
51
+ * @param {SdkLoaders} [sdkLoaders] - optional LLM SDK loaders, for bundled environments
37
52
  */
38
- constructor(template: Template, llmConfig?: LLMExecutorConfig);
53
+ constructor(template: Template, llmConfig?: LLMExecutorConfig, sdkLoaders?: SdkLoaders);
39
54
  /**
40
55
  * Drafts a template by merging it with data
41
56
  * @param {any} data the data to merge with the template
@@ -45,6 +60,16 @@ export declare class TemplateArchiveProcessor {
45
60
  * @returns {Promise} the drafted content
46
61
  */
47
62
  draft(data: any, format: string, options: any, currentTime?: string): Promise<any>;
63
+ /**
64
+ * Compiles the template's `logic/logic.ts` so that its top-level helpers can be
65
+ * used by inline formulas when drafting. Unlike {@link compileLogic} this never
66
+ * throws for templates without logic: drafting does not require it, so this
67
+ * returns `undefined` when the template has no TypeScript logic or does not ship
68
+ * a `logic/logic.ts` file (other scripts, such as generated model files, are
69
+ * never used in its place). Reuses the compiled logic cache when it is populated.
70
+ * @returns {Promise<CompiledUserLogic | undefined>} the compiled user logic, if any
71
+ */
72
+ private compileUserLogicForDraft;
48
73
  /**
49
74
  * Compile the logic of a template
50
75
  * @param {boolean} [enableCompiledLogicCache] - whether to cache the compiled logic for future use
@@ -47,14 +47,43 @@ var __importStar = (this && this.__importStar) || (function () {
47
47
  })();
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
49
  exports.TemplateArchiveProcessor = void 0;
50
+ exports.resolveLogicEntryPoint = resolveLogicEntryPoint;
50
51
  const concerto_core_1 = require("@accordproject/concerto-core");
51
52
  const TemplateMarkInterpreter_1 = require("./TemplateMarkInterpreter");
52
53
  const markdown_template_1 = require("@accordproject/markdown-template");
53
54
  const markdown_transform_1 = require("@accordproject/markdown-transform");
54
55
  const TypeScriptToJavaScriptCompiler_1 = require("./TypeScriptToJavaScriptCompiler");
55
56
  const JavaScriptEvaluator_1 = require("./JavaScriptEvaluator");
57
+ const UserLogic_1 = require("./UserLogic");
58
+ const TemplateMarkToJavaScriptCompiler_1 = require("./TemplateMarkToJavaScriptCompiler");
56
59
  const LLMExecutor_1 = require("./llm/LLMExecutor");
57
60
  const utils_1 = require("./utils");
61
+ /** The conventional template logic entry point. */
62
+ const DEFAULT_LOGIC_ENTRY_POINT = 'logic/logic.ts';
63
+ /**
64
+ * Resolves the template logic entry point from the identifiers of the template's
65
+ * TypeScript scripts. Candidates are `.ts` files directly inside `logic/` (so
66
+ * generated code under `logic/generated/` and non-TypeScript files such as
67
+ * `logic/README.md` are ignored). `logic/logic.ts` is preferred when present;
68
+ * otherwise there must be exactly one candidate.
69
+ * @param {string[]} identifiers - the script identifiers, e.g. `logic/logic.ts`
70
+ * @returns {string} the identifier of the logic entry point
71
+ * @throws {Error} if there is no candidate, or several candidates and no `logic/logic.ts`
72
+ */
73
+ function resolveLogicEntryPoint(identifiers) {
74
+ const candidates = identifiers.filter(id => /^logic\/[^/]+\.ts$/.test(id));
75
+ if (candidates.includes(DEFAULT_LOGIC_ENTRY_POINT)) {
76
+ return DEFAULT_LOGIC_ENTRY_POINT;
77
+ }
78
+ if (candidates.length === 1) {
79
+ return candidates[0];
80
+ }
81
+ if (candidates.length === 0) {
82
+ throw new Error('Template logic requires a TypeScript entry point in the logic/ folder (e.g. logic/logic.ts).');
83
+ }
84
+ throw new Error(`Template logic has multiple candidate entry points (${candidates.join(', ')}). ` +
85
+ `Name the entry point ${DEFAULT_LOGIC_ENTRY_POINT}, or keep a single .ts file directly in logic/.`);
86
+ }
58
87
  /**
59
88
  * A template archive processor: can draft content using the
60
89
  * templatemark for the archive and trigger the logic of the archive
@@ -64,10 +93,12 @@ class TemplateArchiveProcessor {
64
93
  * Creates a template archive processor
65
94
  * @param {Template} template - the template to be used by the processor
66
95
  * @param {LLMExecutorConfig} [llmConfig] - optional LLM fallback configuration
96
+ * @param {SdkLoaders} [sdkLoaders] - optional LLM SDK loaders, for bundled environments
67
97
  */
68
- constructor(template, llmConfig) {
98
+ constructor(template, llmConfig, sdkLoaders) {
69
99
  this.template = template;
70
100
  this.llmConfig = llmConfig;
101
+ this.sdkLoaders = sdkLoaders;
71
102
  }
72
103
  /**
73
104
  * Drafts a template by merging it with data
@@ -83,14 +114,46 @@ class TemplateArchiveProcessor {
83
114
  const templateKind = metadata.getTemplateType() !== 0 ? 'clause' : 'contract';
84
115
  // Get the data
85
116
  const modelManager = this.template.getModelManager();
86
- const engine = new TemplateMarkInterpreter_1.TemplateMarkInterpreter(modelManager, {});
87
117
  const templateMarkTransformer = new markdown_template_1.TemplateMarkTransformer();
88
118
  const templateMarkDom = templateMarkTransformer.fromMarkdownTemplate({ content: this.template.getTemplate() }, modelManager, templateKind);
119
+ // Compile the template's logic/logic.ts (when present) so that inline
120
+ // formulas {{% expr %}} can call helpers declared in user code (issue #147).
121
+ // Skipped when the template has no formulas or conditions to evaluate.
122
+ const userLogic = (0, TemplateMarkToJavaScriptCompiler_1.hasUserCode)(templateMarkDom) ? await this.compileUserLogicForDraft() : undefined;
123
+ const engine = new TemplateMarkInterpreter_1.TemplateMarkInterpreter(modelManager, {}, undefined, userLogic);
89
124
  const now = currentTime ? currentTime : new Date().toISOString();
90
125
  const ciceroMark = await engine.generate(templateMarkDom, data, { now });
91
126
  const result = (0, markdown_transform_1.transform)(ciceroMark.toJSON(), 'ciceromark', ['ciceromark_unquoted', format], null, options);
92
127
  return result;
93
128
  }
129
+ /**
130
+ * Compiles the template's `logic/logic.ts` so that its top-level helpers can be
131
+ * used by inline formulas when drafting. Unlike {@link compileLogic} this never
132
+ * throws for templates without logic: drafting does not require it, so this
133
+ * returns `undefined` when the template has no TypeScript logic or does not ship
134
+ * a `logic/logic.ts` file (other scripts, such as generated model files, are
135
+ * never used in its place). Reuses the compiled logic cache when it is populated.
136
+ * @returns {Promise<CompiledUserLogic | undefined>} the compiled user logic, if any
137
+ */
138
+ async compileUserLogicForDraft() {
139
+ if (!this.template.hasLogic()) {
140
+ return undefined;
141
+ }
142
+ const logicManager = this.template.getLogicManager();
143
+ if (logicManager.getLanguage() !== 'typescript') {
144
+ return undefined;
145
+ }
146
+ const tsFiles = logicManager.getScriptManager().getScriptsForTarget('typescript');
147
+ const logicScript = tsFiles.find((tsFile) => tsFile.getIdentifier() === 'logic/logic.ts');
148
+ if (!logicScript) {
149
+ return undefined;
150
+ }
151
+ const cached = this.compiledLogicCache?.['logic/logic.ts'];
152
+ if (cached) {
153
+ return (0, UserLogic_1.toCompiledUserLogic)(logicScript.getContents(), cached.code);
154
+ }
155
+ return (0, UserLogic_1.compileUserLogic)(this.template.getModelManager(), this.template.getTemplateModel().getFullyQualifiedName(), logicScript.getContents());
156
+ }
94
157
  /**
95
158
  * Compile the logic of a template
96
159
  * @param {boolean} [enableCompiledLogicCache] - whether to cache the compiled logic for future use
@@ -104,7 +167,8 @@ class TemplateArchiveProcessor {
104
167
  if (logicManager.getLanguage() === 'typescript') {
105
168
  const compiledCode = {};
106
169
  const tsFiles = logicManager.getScriptManager().getScriptsForTarget('typescript');
107
- const logicScript = tsFiles.find((tsFile) => tsFile.getIdentifier() === 'logic/logic.ts');
170
+ const entryPoint = resolveLogicEntryPoint(tsFiles.map((tsFile) => tsFile.getIdentifier()));
171
+ const logicScript = tsFiles.find((tsFile) => tsFile.getIdentifier() === entryPoint);
108
172
  await this.assertTemplateLogicSubclass(logicScript);
109
173
  for (let n = 0; n < tsFiles.length; n++) {
110
174
  const tsFile = tsFiles[n];
@@ -124,7 +188,7 @@ class TemplateArchiveProcessor {
124
188
  // (assertRuntimeHierarchy). Scoped to the logic entry point and to TS2344 so
125
189
  // that unrelated diagnostics (and non-logic scripts such as README.md) do
126
190
  // not turn into hard failures.
127
- const isLogicEntry = tsFile.getIdentifier().endsWith('logic.ts');
191
+ const isLogicEntry = tsFile.getIdentifier() === entryPoint;
128
192
  if (isLogicEntry) {
129
193
  const hierarchyErrors = (result.errors || [])
130
194
  .filter(e => e.category === 1 && e.code === 2344);
@@ -256,7 +320,7 @@ class TemplateArchiveProcessor {
256
320
  throw new Error('LLM fallback requested but llmConfig is missing');
257
321
  }
258
322
  if (!this.llmExecutor) {
259
- this.llmExecutor = new LLMExecutor_1.LLMExecutor(this.template, this.llmConfig);
323
+ this.llmExecutor = new LLMExecutor_1.LLMExecutor(this.template, this.llmConfig, this.sdkLoaders);
260
324
  }
261
325
  return this.llmExecutor;
262
326
  }
@@ -279,7 +343,7 @@ class TemplateArchiveProcessor {
279
343
  templateLogic: true,
280
344
  verbose: false,
281
345
  functionName: 'trigger',
282
- code: compiledCode['logic/logic.ts'].code, // TODO DCS - how to find the code to run?
346
+ code: compiledCode[resolveLogicEntryPoint(Object.keys(compiledCode))].code,
283
347
  argumentNames: ['data', 'request', 'state'],
284
348
  arguments: [data, request, priorState, resolvedTime, resolvedOffset]
285
349
  });
@@ -300,7 +364,7 @@ class TemplateArchiveProcessor {
300
364
  */
301
365
  async executeTypeScriptInit(data, currentTime, utcOffset) {
302
366
  const compiledCode = await this.compileLogic();
303
- const logicCode = compiledCode['logic/logic.ts']?.code;
367
+ const logicCode = compiledCode[resolveLogicEntryPoint(Object.keys(compiledCode))].code;
304
368
  // Check if the compiled code even contains an `init` method before calling it
305
369
  if (!logicCode || (!logicCode.includes('init(') && !logicCode.includes('init ('))) {
306
370
  // Stateless template — no init method defined, return empty state
@@ -313,7 +377,7 @@ class TemplateArchiveProcessor {
313
377
  templateLogic: true,
314
378
  verbose: false,
315
379
  functionName: 'init',
316
- code: logicCode, // TODO DCS - how to find the code to run?
380
+ code: logicCode,
317
381
  argumentNames: ['data'],
318
382
  arguments: [data, resolvedTime, resolvedOffset]
319
383
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateArchiveProcessor.js","sourceRoot":"","sources":["../src/TemplateArchiveProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateArchiveProcessor.js","sourceRoot":"","sources":["../src/TemplateArchiveProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { ClassDeclaration, ModelManager } from '@accordproject/concerto-core';
2
2
  import { TemplateData } from './TemplateMarkNodes';
3
+ import { TemplateMarkToJavaScriptCompiler } from './TemplateMarkToJavaScriptCompiler';
3
4
  import { GenerationOptions } from './TypeScriptRuntime';
5
+ import { CompiledUserLogic } from './UserLogic';
4
6
  /**
5
7
  * A template engine: merges the markup and logic of a template with
6
8
  * JSON data to produce JSON data.
@@ -9,7 +11,9 @@ export declare class TemplateMarkInterpreter {
9
11
  modelManager: ModelManager;
10
12
  templateClass: ClassDeclaration;
11
13
  clauseLibrary: object;
12
- constructor(modelManager: ModelManager, clauseLibrary: object, templateConceptFqn?: string);
14
+ userLogic?: CompiledUserLogic;
15
+ compilers: Map<string, Promise<TemplateMarkToJavaScriptCompiler>>;
16
+ constructor(modelManager: ModelManager, clauseLibrary: object, templateConceptFqn?: string, userLogic?: CompiledUserLogic);
13
17
  /**
14
18
  * Checks that a TemplateMark JSON document is valid with respect to the
15
19
  * TemplateMark model, as well as the template model.
@@ -29,6 +33,13 @@ export declare class TemplateMarkInterpreter {
29
33
  * @throws {Error} if the templateMark document is invalid
30
34
  */
31
35
  compileTypeScriptToJavaScript(templateMark: object): Promise<object>;
36
+ /**
37
+ * Returns an initialized compiler for a template concept, creating it
38
+ * on first use and reusing it for later calls.
39
+ * @param {string} templateConcept the fully qualified name of the template concept
40
+ * @returns {Promise<TemplateMarkToJavaScriptCompiler>} the compiler
41
+ */
42
+ getCompiler(templateConcept: string): Promise<TemplateMarkToJavaScriptCompiler>;
32
43
  validateCiceroMark(ciceroMark: object): object;
33
44
  generate(templateMark: object, data: TemplateData, options?: GenerationOptions): Promise<any>;
34
45
  }