@toon-ui/core 0.3.2 → 0.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +2 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +52 -1
- package/dist/prompts.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +10 -1
- package/dist/runtime.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ export * from './types';
|
|
|
2
2
|
export { parseToonUI, ToonSyntaxError } from './parser';
|
|
3
3
|
export { validateToonUI } from './validator';
|
|
4
4
|
export { extractToonBlocks } from './formatter';
|
|
5
|
-
export { createPrompt, createComponentPrompt, createSafetyPrompt, createExamplesPrompt } from './prompts';
|
|
5
|
+
export { createPrompt, createComponentPrompt, createSyntaxPrompt, createFallbackPrompt, createSafetyPrompt, createExamplesPrompt } from './prompts';
|
|
6
6
|
export { createRules, createToonProtocol, createToonCoreRuntime, formatSubmitMessage, formatReplyMessage, createChatMessage, createChatUIMessage } from './runtime';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpJ,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,6 @@ export * from './types';
|
|
|
2
2
|
export { parseToonUI, ToonSyntaxError } from './parser';
|
|
3
3
|
export { validateToonUI } from './validator';
|
|
4
4
|
export { extractToonBlocks } from './formatter';
|
|
5
|
-
export { createPrompt, createComponentPrompt, createSafetyPrompt, createExamplesPrompt } from './prompts';
|
|
5
|
+
export { createPrompt, createComponentPrompt, createSyntaxPrompt, createFallbackPrompt, createSafetyPrompt, createExamplesPrompt } from './prompts';
|
|
6
6
|
export { createRules, createToonProtocol, createToonCoreRuntime, formatSubmitMessage, formatReplyMessage, createChatMessage, createChatUIMessage } from './runtime';
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACpJ,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/prompts.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ToonRules } from './types';
|
|
2
2
|
export declare function createComponentPrompt(rules: ToonRules): string;
|
|
3
|
+
export declare function createSyntaxPrompt(): string;
|
|
4
|
+
export declare function createFallbackPrompt(): string;
|
|
3
5
|
export declare function createSafetyPrompt(): string;
|
|
4
6
|
export declare function createExamplesPrompt(): string;
|
|
5
7
|
export declare function createPrompt(rules: ToonRules): string;
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAQ9D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAS3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAQ9D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAiB3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAS3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CA8B7C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAoBrD"}
|
package/dist/prompts.js
CHANGED
|
@@ -7,6 +7,33 @@ export function createComponentPrompt(rules) {
|
|
|
7
7
|
`Field types: ${rules.fieldTypes.join(', ')}`,
|
|
8
8
|
].join('\n');
|
|
9
9
|
}
|
|
10
|
+
export function createSyntaxPrompt() {
|
|
11
|
+
return [
|
|
12
|
+
'Canonical syntax rules:',
|
|
13
|
+
'- text MUST be: text "Visible text"',
|
|
14
|
+
'- card MUST be: card "Title": followed by indented child nodes',
|
|
15
|
+
'- form MUST be: form "Title": followed by one or more field nodes and one submit button',
|
|
16
|
+
'- field MUST be: field <name> <fieldType> "Label" [required]',
|
|
17
|
+
'- button MUST be: button <variant> "Label" reply="Value" OR button <variant> "Label" submit',
|
|
18
|
+
'- confirm MUST be: confirm "Title": followed by indented child nodes',
|
|
19
|
+
'- list MUST be: list "Title": followed only by item nodes',
|
|
20
|
+
'- item MUST be: item "Title": followed by indented child nodes',
|
|
21
|
+
'- badge MUST be: badge "Label" <variant>',
|
|
22
|
+
'- alert MUST be: alert <variant> "Title": followed by indented child nodes',
|
|
23
|
+
'- table MUST be: table "Title": followed by columns: ... and one or more row: ... lines',
|
|
24
|
+
'- card, form, confirm, list, item, alert, and table ALWAYS require a quoted title',
|
|
25
|
+
'- badge NEVER has children and NEVER has a title prop',
|
|
26
|
+
].join('\n');
|
|
27
|
+
}
|
|
28
|
+
export function createFallbackPrompt() {
|
|
29
|
+
return [
|
|
30
|
+
'Fallback rules:',
|
|
31
|
+
'- If you are unsure, use only: card, text, badge, button, form, field, confirm, list, item, alert, table.',
|
|
32
|
+
'- If you need a section heading inside a card, use text "..." instead of inventing header, subtitle, section, or footer.',
|
|
33
|
+
'- If you need secondary information, use more text nodes instead of inventing props or components.',
|
|
34
|
+
'- NEVER invent components such as header, section, footer, subtitle, description, input, modal, stack, grid, or divider.',
|
|
35
|
+
].join('\n');
|
|
36
|
+
}
|
|
10
37
|
export function createSafetyPrompt() {
|
|
11
38
|
return [
|
|
12
39
|
'Safety rules:',
|
|
@@ -19,13 +46,33 @@ export function createSafetyPrompt() {
|
|
|
19
46
|
}
|
|
20
47
|
export function createExamplesPrompt() {
|
|
21
48
|
return [
|
|
22
|
-
'
|
|
49
|
+
'Valid examples:',
|
|
23
50
|
'```toon-ui',
|
|
24
51
|
'form "Crear producto":',
|
|
25
52
|
' field name text "Nombre" required',
|
|
26
53
|
' field price number "Precio" required',
|
|
27
54
|
' button primary "Crear producto" submit',
|
|
28
55
|
'```',
|
|
56
|
+
'',
|
|
57
|
+
'```toon-ui',
|
|
58
|
+
'card "Cliente encontrado":',
|
|
59
|
+
' text "Jefferson Lopez Mendoza"',
|
|
60
|
+
' badge "Activo" success',
|
|
61
|
+
' button secondary "Ver historial" reply="Ver historial del cliente"',
|
|
62
|
+
'```',
|
|
63
|
+
'',
|
|
64
|
+
'```toon-ui',
|
|
65
|
+
'confirm "¿Eliminar cliente?":',
|
|
66
|
+
' text "Esta acción no se puede deshacer."',
|
|
67
|
+
' button secondary "Cancelar" reply="Cancelar"',
|
|
68
|
+
' button danger "Sí, eliminar" reply="Sí, eliminar cliente"',
|
|
69
|
+
'```',
|
|
70
|
+
'',
|
|
71
|
+
'Invalid examples to avoid:',
|
|
72
|
+
'- header "Cliente" -> INVALID because header is not an allowed component',
|
|
73
|
+
'- card: -> INVALID because card requires a quoted title',
|
|
74
|
+
'- badge success "Cliente" -> INVALID because badge syntax is badge "Label" variant',
|
|
75
|
+
'- form "Cliente": with no submit button -> INVALID',
|
|
29
76
|
].join('\n');
|
|
30
77
|
}
|
|
31
78
|
export function createPrompt(rules) {
|
|
@@ -33,6 +80,8 @@ export function createPrompt(rules) {
|
|
|
33
80
|
'You are generating ToonUI for an AI-native app.',
|
|
34
81
|
createComponentPrompt(rules),
|
|
35
82
|
'',
|
|
83
|
+
createSyntaxPrompt(),
|
|
84
|
+
'',
|
|
36
85
|
'Interaction rules:',
|
|
37
86
|
'- Every button must include variant, label, and reply="..." or submit.',
|
|
38
87
|
'- Every form must include a title, fields, and a submit button.',
|
|
@@ -40,6 +89,8 @@ export function createPrompt(rules) {
|
|
|
40
89
|
'- Reply protocol: emit user intent through compact ui_reply messages only.',
|
|
41
90
|
'- Submit protocol: emit compact ui_submit payloads with intent and field values only.',
|
|
42
91
|
'',
|
|
92
|
+
createFallbackPrompt(),
|
|
93
|
+
'',
|
|
43
94
|
createSafetyPrompt(),
|
|
44
95
|
'',
|
|
45
96
|
createExamplesPrompt(),
|
package/dist/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,KAAgB;IACpD,OAAO;QACL,uBAAuB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpD,oBAAoB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACrD,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnD,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnD,gBAAgB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,eAAe;QACf,gEAAgE;QAChE,iEAAiE;QACjE,yEAAyE;QACzE,+DAA+D;QAC/D,qGAAqG;KACtG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CAAC,KAAgB;IACpD,OAAO;QACL,uBAAuB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpD,oBAAoB,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACrD,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnD,mBAAmB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnD,gBAAgB,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,yBAAyB;QACzB,qCAAqC;QACrC,gEAAgE;QAChE,yFAAyF;QACzF,8DAA8D;QAC9D,6FAA6F;QAC7F,sEAAsE;QACtE,2DAA2D;QAC3D,gEAAgE;QAChE,0CAA0C;QAC1C,4EAA4E;QAC5E,yFAAyF;QACzF,mFAAmF;QACnF,uDAAuD;KACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,iBAAiB;QACjB,2GAA2G;QAC3G,0HAA0H;QAC1H,oGAAoG;QACpG,0HAA0H;KAC3H,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,eAAe;QACf,gEAAgE;QAChE,iEAAiE;QACjE,yEAAyE;QACzE,+DAA+D;QAC/D,qGAAqG;KACtG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,iBAAiB;QACjB,YAAY;QACZ,wBAAwB;QACxB,qCAAqC;QACrC,wCAAwC;QACxC,0CAA0C;QAC1C,KAAK;QACL,EAAE;QACF,YAAY;QACZ,4BAA4B;QAC5B,kCAAkC;QAClC,0BAA0B;QAC1B,sEAAsE;QACtE,KAAK;QACL,EAAE;QACF,YAAY;QACZ,+BAA+B;QAC/B,4CAA4C;QAC5C,gDAAgD;QAChD,6DAA6D;QAC7D,KAAK;QACL,EAAE;QACF,4BAA4B;QAC5B,2EAA2E;QAC3E,qEAAqE;QACrE,oFAAoF;QACpF,oDAAoD;KACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,OAAO;QACL,iDAAiD;QACjD,qBAAqB,CAAC,KAAK,CAAC;QAC5B,EAAE;QACF,kBAAkB,EAAE;QACpB,EAAE;QACF,oBAAoB;QACpB,wEAAwE;QACxE,iEAAiE;QACjE,+CAA+C;QAC/C,4EAA4E;QAC5E,uFAAuF;QACvF,EAAE;QACF,oBAAoB,EAAE;QACtB,EAAE;QACF,kBAAkB,EAAE;QACpB,EAAE;QACF,oBAAoB,EAAE;KACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
package/dist/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyF,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyF,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,sBAAsB,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAgB7U,wBAAgB,WAAW,IAAI,SAAS,CAQvC;AAED,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAiBvI;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,EAAE,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAM,GAAG,MAAM,CAiB1I;AAmBD,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,sBAAsB,EAAE,OAAO,EAAE,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAkBvH;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,sBAAsB,EAAE,OAAO,EAAE,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAY3H;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAWjD;AAED,wBAAgB,qBAAqB,CAAC,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,EAAE,OAAO,GAAE,mBAAmB,CAAC,WAAW,CAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CASjL"}
|
package/dist/runtime.js
CHANGED
|
@@ -50,7 +50,16 @@ export function formatReplyMessage(valueOrPayload, metadata = {}) {
|
|
|
50
50
|
return lines.join('\n');
|
|
51
51
|
}
|
|
52
52
|
function createSubmitDisplayContent(payload) {
|
|
53
|
-
const
|
|
53
|
+
const fieldLabels = new Map();
|
|
54
|
+
payload.node?.children?.forEach((child) => {
|
|
55
|
+
if (child?.type === 'field' && child.name && child.label) {
|
|
56
|
+
fieldLabels.set(child.name, child.label);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const entries = Object.entries(payload.values).map(([key, value]) => {
|
|
60
|
+
const label = fieldLabels.get(key) ?? key;
|
|
61
|
+
return `${label}: ${String(value)}`;
|
|
62
|
+
});
|
|
54
63
|
return [payload.formTitle, ...entries].join('\n');
|
|
55
64
|
}
|
|
56
65
|
export function createChatMessage(payload) {
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,uBAAuB,EAA+N,MAAM,SAAS,CAAC;AAE7U,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|