From e31fd7d19759a041703cad28893a6a79a6b7f99f Mon Sep 17 00:00:00 2001 From: babayaga Date: Fri, 4 Apr 2025 18:14:24 +0200 Subject: [PATCH] the lazy fat cat :) --- packages/kbot/.vscode/launch.json | 27 +- packages/kbot/Preferences | 3 + packages/kbot/dist-in/commands/run.js | 21 +- packages/kbot/logs/params.json | 15 +- packages/kbot/package.json | 1 + packages/kbot/src/commands/run.ts | 24 +- .../kbot/tests/test-data/files/bubblesort.js | 20 + .../kbot/tests/test-data/files/factorial.js | 12 + .../kbot/tests/test-data/files/glob/data.json | 19 + .../tests/test-data/files/glob/data2.json | 21 + .../kbot/tests/test-data/files/lazyfox.jpg | Bin 0 -> 177563 bytes packages/kbot/tests/unit/basic.test.ts | 2 +- packages/kbot/tests/unit/commons.ts | 13 +- packages/kbot/tests/unit/files.test.ts | 132 ++ packages/kbot/tests/unit/logs/completion.json | 694 ------ packages/kbot/tests/unit/logs/content.json | 56 - .../kbot/tests/unit/logs/openai-message.json | 401 ---- packages/kbot/tests/unit/logs/params.json | 21 - packages/kbot/tests/unit/logs/preferences.md | 1 - .../tests/unit/logs/tool-call-result.json | 71 - packages/kbot/tests/unit/logs/tool-call.json | 120 - packages/kbot/tests/unit/reports/all.json | 2034 +++++++++++++++- packages/kbot/tests/unit/reports/files.json | 2039 +++++++++++++++++ packages/kbot/tests/unit/reports/files.md | 59 + packages/kbot/tests/unit/test-data/test.md | 0 .../kbot/tests/unit/test-data/tools.test.md | 14 - 26 files changed, 4409 insertions(+), 1411 deletions(-) create mode 100644 packages/kbot/Preferences create mode 100644 packages/kbot/tests/test-data/files/bubblesort.js create mode 100644 packages/kbot/tests/test-data/files/factorial.js create mode 100644 packages/kbot/tests/test-data/files/glob/data.json create mode 100644 packages/kbot/tests/test-data/files/glob/data2.json create mode 100644 packages/kbot/tests/test-data/files/lazyfox.jpg create mode 100644 packages/kbot/tests/unit/files.test.ts delete mode 100644 packages/kbot/tests/unit/logs/completion.json delete mode 100644 packages/kbot/tests/unit/logs/content.json delete mode 100644 packages/kbot/tests/unit/logs/openai-message.json delete mode 100644 packages/kbot/tests/unit/logs/params.json delete mode 100644 packages/kbot/tests/unit/logs/preferences.md delete mode 100644 packages/kbot/tests/unit/logs/tool-call-result.json delete mode 100644 packages/kbot/tests/unit/logs/tool-call.json create mode 100644 packages/kbot/tests/unit/reports/files.json create mode 100644 packages/kbot/tests/unit/reports/files.md delete mode 100644 packages/kbot/tests/unit/test-data/test.md delete mode 100644 packages/kbot/tests/unit/test-data/tools.test.md diff --git a/packages/kbot/.vscode/launch.json b/packages/kbot/.vscode/launch.json index 86d989e1..ffa00c01 100644 --- a/packages/kbot/.vscode/launch.json +++ b/packages/kbot/.vscode/launch.json @@ -705,23 +705,24 @@ "!**/node_modules/**" ], "outputCapture": "std" - }, + }, { "type": "node", "request": "launch", - "name": "Debug Current Test File", - "autoAttachChildProcesses": true, - "skipFiles": [ - "/**", - "**/node_modules/**" + "name": "Debug Files Tests (Vitest)", + "skipFiles": ["/**"], + "cwd": "${workspaceFolder}", + "runtimeExecutable": "npm", + "runtimeArgs": ["run", "test:files", "--", "--inspect-brk"], + "outFiles": ["${workspaceFolder}/**/*.js", "${workspaceFolder}/**/*.ts"], + "console": "integratedTerminal", + "internalConsoleOptions": "neverOpen", + "sourceMaps": true, + "resolveSourceMapLocations": [ + "${workspaceFolder}/**", + "!**/node_modules/**" ], - "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs", - "args": [ - "run", - "${relativeFile}" - ], - "smartStep": true, - "console": "integratedTerminal" + "outputCapture": "std" } ] } \ No newline at end of file diff --git a/packages/kbot/Preferences b/packages/kbot/Preferences new file mode 100644 index 00000000..d258bdab --- /dev/null +++ b/packages/kbot/Preferences @@ -0,0 +1,3 @@ +# Preferences + +You are a helpful AI assistant. When asked to perform calculations, you should return only the numerical result without any explanation or comments. \ No newline at end of file diff --git a/packages/kbot/dist-in/commands/run.js b/packages/kbot/dist-in/commands/run.js index 44a13f99..a91cd88e 100644 --- a/packages/kbot/dist-in/commands/run.js +++ b/packages/kbot/dist-in/commands/run.js @@ -107,11 +107,15 @@ export const processRun = async (opts) => { * */ function extractPaths(input) { + // If it's a direct path that exists, return it if (exists(path.resolve(resolve(input)))) { return [input]; } + // If it's a glob pattern, return it as is + if (hasMagic(input)) { + return [input]; + } // Matches either a Windows drive pattern like "C:\" or a forward slash "/". - // Parentheses group with `|` to match either part correctly. const pathStartRegex = /([A-Za-z]:\\)|\//g; const matchIndices = []; let match; @@ -142,17 +146,20 @@ function flattenArrays(arrays) { } export const run = async (opts) => { const ret = []; - const logger = new Logger({ - minLevel: opts.logLevel - }); + const logger = new Logger({ minLevel: opts.logLevel || 2 }); if (opts.include) { if (isString(opts.include)) { opts.include = [opts.include]; } if (isArray(opts.include)) { - opts.include = flattenArrays(opts.include.map(extractPaths)); + // First check for glob patterns + const globPatterns = opts.include.filter((path) => hasMagic(path)); + // Then process non-glob patterns + const nonGlobPaths = opts.include.filter((path) => !hasMagic(path)); + const processedPaths = flattenArrays(nonGlobPaths.map(extractPaths)); + // Combine glob patterns and processed paths + opts.include = [...globPatterns, ...processedPaths]; } - opts.include = Array.from(new Set(opts.include)); } else { opts.include = []; @@ -201,4 +208,4 @@ export const run = async (opts) => { } return ret; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFLN0QsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLE9BQU8sQ0FBQTtBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbkQsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFB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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9CLE9BQU8sRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDOUMsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsSUFBSSxJQUFJLEtBQUssRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBQ2xELE9BQU8sRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFLN0QsT0FBTyxFQUFFLE1BQU0sRUFBVyxNQUFNLE9BQU8sQ0FBQTtBQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDM0MsT0FBTyxFQUFFLElBQUksSUFBSSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDbkQsT0FBTyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFB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 \ No newline at end of file diff --git a/packages/kbot/logs/params.json b/packages/kbot/logs/params.json index 2d04628d..e95bf8b2 100644 --- a/packages/kbot/logs/params.json +++ b/packages/kbot/logs/params.json @@ -1,13 +1,24 @@ { - "model": "openrouter/quasar-alpha", + "model": "google/gemini-2.0-flash-exp:free", "messages": [ { "role": "user", - "content": "Generate a JavaScript function that implements bubble sort.\n The function should be named 'bubbleSort' and take one parameter 'arr' (an array of numbers).\n The function should return the sorted array.\n Return only the function code, no explanation." + "content": "What animals are shown in these images? Return as JSON array." }, { "role": "user", "content": "USER Preferences : # Preferences\r\n\r\nYou are a helpful AI assistant. When asked to perform calculations, you should return only the numerical result without any explanation or comments. " + }, + { + "role": "user", + "content": [ + { + "type": "image_url", + "image_url": { + "url": "data:image/jpeg;base64,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" + } + } + ] } ], "tools": [] diff --git a/packages/kbot/package.json b/packages/kbot/package.json index 4a80883f..6aa52603 100644 --- a/packages/kbot/package.json +++ b/packages/kbot/package.json @@ -24,6 +24,7 @@ "test:language": "vitest run tests/unit/language.test.ts", "test:tools": "vitest run tests/unit/tools.test.ts", "test:coding": "vitest run tests/unit/coding.test.ts", + "test:files": "vitest run tests/unit/files.test.ts", "test2:watch": "vitest", "test2:coverage": "vitest run --coverage", "webpack": "webpack --config webpack.config.js --stats-error-details", diff --git a/packages/kbot/src/commands/run.ts b/packages/kbot/src/commands/run.ts index 7f04677c..9862a966 100644 --- a/packages/kbot/src/commands/run.ts +++ b/packages/kbot/src/commands/run.ts @@ -124,13 +124,17 @@ export const processRun = async (opts: IKBotTask) => { * */ function extractPaths(input: string): string[] { - + // If it's a direct path that exists, return it if(exists(path.resolve(resolve(input)))){ return [input] } + // If it's a glob pattern, return it as is + if(hasMagic(input)){ + return [input] + } + // Matches either a Windows drive pattern like "C:\" or a forward slash "/". - // Parentheses group with `|` to match either part correctly. const pathStartRegex = /([A-Za-z]:\\)|\//g; const matchIndices: number[] = []; @@ -168,18 +172,22 @@ function flattenArrays(arrays: T[][]): T[] { export const run = async (opts: IKBotTask) => { const ret = [] - const logger = new Logger({ - minLevel: opts.logLevel - }) + const logger = new Logger({ minLevel: opts.logLevel || 2 }) + if (opts.include) { if (isString(opts.include)) { opts.include = [opts.include] } if (isArray(opts.include)) { - opts.include = flattenArrays(opts.include.map(extractPaths)) + // First check for glob patterns + const globPatterns = opts.include.filter((path: string) => hasMagic(path)) + // Then process non-glob patterns + const nonGlobPaths = opts.include.filter((path: string) => !hasMagic(path)) + const processedPaths = flattenArrays(nonGlobPaths.map(extractPaths)) + // Combine glob patterns and processed paths + opts.include = [...globPatterns, ...processedPaths] } - opts.include = Array.from(new Set(opts.include)) - }else{ + } else { opts.include = [] } if (opts.each) { diff --git a/packages/kbot/tests/test-data/files/bubblesort.js b/packages/kbot/tests/test-data/files/bubblesort.js new file mode 100644 index 00000000..e72b4d35 --- /dev/null +++ b/packages/kbot/tests/test-data/files/bubblesort.js @@ -0,0 +1,20 @@ +/* Prompt: +Generate a JavaScript function that implements bubble sort. + The function should be named 'bubbleSort' and take one parameter 'arr' (an array of numbers). + The function should return the sorted array. + Return only the function code, no explanation. +*/ + +function bubbleSort(arr) { + let n = arr.length; + for (let i = 0; i < n - 1; i++) { + for (let j = 0; j < n - 1 - i; j++) { + if (arr[j] > arr[j + 1]) { + let temp = arr[j]; + arr[j] = arr[j + 1]; + arr[j + 1] = temp; + } + } + } + return arr; +} \ No newline at end of file diff --git a/packages/kbot/tests/test-data/files/factorial.js b/packages/kbot/tests/test-data/files/factorial.js new file mode 100644 index 00000000..5c58d586 --- /dev/null +++ b/packages/kbot/tests/test-data/files/factorial.js @@ -0,0 +1,12 @@ +/* Prompt: +Generate a JavaScript function that calculates the factorial of a number. + The function should be named 'factorial' and take one parameter 'n'. + Return only the function code, no explanation. +*/ + +function factorial(n) { + if (n === 0 || n === 1) { + return 1; + } + return n * factorial(n - 1); +} \ No newline at end of file diff --git a/packages/kbot/tests/test-data/files/glob/data.json b/packages/kbot/tests/test-data/files/glob/data.json new file mode 100644 index 00000000..9ecf2842 --- /dev/null +++ b/packages/kbot/tests/test-data/files/glob/data.json @@ -0,0 +1,19 @@ +{ + "title": "Injection Barrel", + "price": "90.00", + "storeName": "Vaughn", + "storeLink": "https://bazar.preciousplastic.com/vaughn/", + "mediaHTML": "\n\n \n \n\n \n \n \n \n
\n \n\n\n \n\n \n\n
\n\n \n \n\n\n\n\n\n\n\n ", + "description": "\n \n

Injection Barrel made to precious plastic design with a 3/4\" BSP thread on the end.

- Barrel diameter 34mm

\n

- Made from Steel

\n

-  Works perfectly with this heating system: https://bazar.preciousplastic....

\n

- Free shipping in Europe 

\n\n \n ", + "features": "\n \n \n
\n
Condition:
\n\n \n
New
\n
\n \n
\n
Country of Origin:
\n\n \n
Netherlands
\n
\n \n
\n
Made according to the Precious Plastic drawings? :
\n\n \n
Yes
\n
\n \n
\n
Weight (KG):
\n\n \n
1.5KG
\n
\n \n \n \n ", + "options": "\n\n\n\n\n\n \n

Injection Barrel

\n \n \n \n
\n \n\n\n
\n \n\n \n\n \n\n\n \n \n \n\n\n
\n
\n \n \n \n\n \n \n
\n \n \n \n \n €90.00\n \n\n \n\n
\n \n \n \n \n \n \n \n
\n
\n \n \n\n\n\n
\n
\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n
\n \n
\n \n
\n
\n
\n \n \n Vaughn\n \n\n
\n\n \n \n\n
\n \n
\n\n
\n
\n \n \n \n
\n \n
\n\n
\n \n
\n \n
\n \n \n In stock\n \n
\n
\n\n\n\n\n \n
\n \n \n \n
\n
\n +\n \n −\n
\n
\n
\n \n\n\n\n \n \n\n\n
\n \n \n\n \n \n\n
\n \n
\n\n\n\n\n\n\n\n \n \n \n\n\n \n\n\n\n\n\n\n \n \n \n Contact Seller\n\n\n\n\n\n
\n\n\n \n\n \n
\n \n ", + "authorImage": "https://bazar.preciousplastic.com/images/thumbnails/180/80/logos/2/PP_Veldhoven.png", + "images": [ + "https://bazar.preciousplastic.com/images/thumbnails/700/490/detailed/17/Extruder_and_barrel.jpg", + "https://bazar.preciousplastic.com/images/thumbnails/700/604/detailed/17/Fixture.PNG", + "https://bazar.preciousplastic.com/images/thumbnails/700/482/detailed/17/3D_model.PNG" + ], + "content": null, + "url": "https://bazar.preciousplastic.com/machines/injection/injection-parts/injection-barrel/", + "prefix": "machines/injection/parts" +} \ No newline at end of file diff --git a/packages/kbot/tests/test-data/files/glob/data2.json b/packages/kbot/tests/test-data/files/glob/data2.json new file mode 100644 index 00000000..5f8041dc --- /dev/null +++ b/packages/kbot/tests/test-data/files/glob/data2.json @@ -0,0 +1,21 @@ +{ + "title": "HIGH-QUALITY INJECTION BY CPTEK LAB", + "price": "3,578.00", + "storeName": "CPTek", + "storeLink": "https://bazar.preciousplastic.com/conceptos-plasticos/", + "mediaHTML": "\n\n \n \n\n \n \n \n \n
\n \n\n\n \n\n \n\n \n\n \n\n
\n\n \n \n\n\n\n\n\n\n\n ", + "description": "\n \n

Our semi-automatic injection molding machine is ideal for manufacturing lightweight parts with precision and efficiency, perfect for entrepreneurs, small workshops and educational projects. Its compact vertical design offers innovative recycling solutions in small spaces.

\n\n \n ", + "features": "\n \n \n
\n
Condition:
\n\n \n
New
\n
\n \n
\n
Country of Origin:
\n\n \n
COLOMBIA
\n
\n \n
\n
Dimensions of the listing:
\n\n \n
200 X 45 X 62 CM
\n
\n \n
\n
Frequency (Hz):
\n\n \n
60 Hz
\n
\n \n
\n
Made according to the Precious Plastic drawings? :
\n\n \n
No
\n
\n \n
\n
Plug type:
\n\n \n
  • Type A: USA, Canada, Mexico and Japan
\n
\n \n
\n
Voltage:
\n\n \n
110V
\n
\n \n
\n
Weight (KG):
\n\n \n
70KG
\n
\n \n \n \n ", + "options": "\n\n\n\n\n\n \n

HIGH-QUALITY INJECTION BY CPTEK LAB

\n \n \n \n
\n \n\n\n
\n \n\n \n\n \n\n\n \n \n \n\n\n
\n
\n \n \n \n\n \n \n
\n \n \n \n \n €3,578.00\n \n\n \n\n
\n \n \n \n \n \n \n \n
\n
\n \n \n\n\n\n
\n
\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n\n
\n \n
\n \n
\n
\n
\n \n \n CPTek\n \n\n
\n\n \n \n\n
\n \n
\n\n
\n
\n \n \n \n
\n \n
\n\n
\n \n
\n \n
\n \n \n In stock\n \n
\n
\n\n\n\n\n \n
\n \n \n \n
\n
\n +\n \n −\n
\n
\n
\n \n\n\n\n \n \n\n\n
\n \n \n\n \n \n\n
\n \n
\n\n\n\n\n\n\n\n \n \n \n\n\n \n\n\n\n\n\n\n \n \n \n Contact Seller\n\n\n\n\n\n
\n\n\n \n\n \n
\n \n ", + "authorImage": "https://bazar.preciousplastic.com/images/thumbnails/180/80/logos/22/cart_msc1-3l_cbx4-ai.png", + "images": [ + "https://bazar.preciousplastic.com/images/thumbnails/700/982/detailed/23/_1_.jpg", + "https://bazar.preciousplastic.com/images/thumbnails/700/1050/detailed/23/_5_.png", + "https://bazar.preciousplastic.com/images/thumbnails/700/930/detailed/23/_4_.png", + "https://bazar.preciousplastic.com/images/thumbnails/700/2013/detailed/23/_2_.jpg", + "https://bazar.preciousplastic.com/images/thumbnails/700/829/detailed/23/_3_.jpg" + ], + "content": null, + "url": "https://bazar.preciousplastic.com/machines/injection/injection-kits/high-quality-injection-by-cptek-lab/", + "prefix": "machines/injection/kits" +} \ No newline at end of file diff --git a/packages/kbot/tests/test-data/files/lazyfox.jpg b/packages/kbot/tests/test-data/files/lazyfox.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c5c9971df8d51c24bb2f2926e9fc0c5aef71f21 GIT binary patch literal 177563 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%0AE#jGiA~3)w`QAc{UzD! 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 = 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

x_nv+lvKgpG5lt0(7f<6--v=1y(3D!vpLcdOx zeSKl61yLq@9CJmod-LNdMv;Bf1e`yR_7|%YjI@jmz+q|F9k7Ci84k7|vj%j#)Zx-d z(q6m~`-PlnL0u1R#dV@OJT07q;Htw`<_>%~ZZcx>3Ddp)U`P9<4h%r*7d~lxO!%DA z+Q}(ckBx&gT1npzt2)&8qs$<%JEMnIpC96NQTR+TQk)xcxQ^|A8;;w8H~qEOd-FdT zjk++d-!)$>7^_;v~HmBIdwZ{`&vAHKk?dcs3>M!=~Zz?@ljR{}s z@C!TDb&$t85XUa-1?lGHoAA$Fg>;#xb1-z&6`?)f2N_|IBN_5(FCr#$x(1^t9x-p` zEwnDm)`plF(*xK7I6H6ZFj)M?TyOA!kIF}7dKt=Il7+&s%V_(aR$^-Azl&#@ORI;W z4j`ITCHi#TKgEGR5ZeBg&x$4N)C}-t=pKwe^r|?#9RH#-IHaF?*@vGdnz3#iG(HcG zyS=b@Zhd$LFemb&JktLwe{Oz)3IB~{!vgv#I6C)+!d<1a{~IyzEnu_1Fge7`c5_2! z9dedMNm{khbF;kyby}^&hwubGouI zYJMu|ZmfW-M8CXo`PJp?Osm~AWPlFpai>D>sY>!1U}|79QpEmV;te|+JY5nm(Q8|A zT~|%2zKEscMUpu!we3pdg-KF(f2(&WDwj+369Z;^!66BR@mK@f1_H>T!}ZD zDQn8%z+&3n0L)vX|K)dfX7yV$T(>KlfBo*x7&1bt{;Q2x9S835MmhEcPxU*BuZR;W zWw0IITXq(=ZX0z$SY6KZcs!)~9o^_z?EWCd?5=G$9u{0rO!K3uEFq`L`^IG|j}6LK zYy%)lw{s;1D+*aD1IZ%ahQAGMjdM@(CdY4jn0F5{eFLakYzsVFEq*&kPjAqd0g5N; z)_b0tW$eJh{5AKG77Y&~D54h?z;ULY^h_lUE0p3{2cbc7Rb%V^ z_pYb8UhjXNAQhIn{u%-;CMz$6tDz3~R9+eMu5uN!{pL4y(kC-h&yc>j(T*k119Ca8 zj#Ck6%s?9MTX}449?<=ZS{zW)`BQg;#?7{wN>Adxpr*&Tb~)D_$n_*R=H}3i0Gqcz z?VDn>2i)JxfI>lO$L_XL<49<_LqD^_Szxh;bTllkP@u*6?$OZr7h2g**80;| zY8q|2A?FwHe}KNvia({N#~n!HZ#1XPKbZiZeBK#gIp)bnXkMORx9tQ0Nnz2JQ@?Yp z&tFjg1Ly?$k!(2xQ{5ak{sSbN2|<;;<0a6vY9T6Hl(R**LP45;2E_dYz=BgL)vPWgGurrtY!d@Dm){-~FJ1oQz4ryuvYems9I zPKOJzw!@|te>2joAat8f(GL>Fe!a^UbBRV82UbHxyvnIb*X5=yFfZ#%{iX<)1gA~i zU{@T656N-NTtqK=1}f*xnLl($$c{EjVkt)-+AKS0(>W1$rj18+?W0{2>QaD%rX+$3 z>pH?{T#sBNlGFH=wcTHvh~n@xY#*7f9K{g3zwzmgG9$ZA^Pjy+*oxeJrE0HtuYL+Z$TNquRpKf9N%tv2ioN5Ki63Ksn zLTU-fVXBO9_dFKc>TqScdNS)ZmexyL$k@Q^oqiJRKX5*ga1|`q1hjJQ`-5#O-!DL0 z81bH^1BE~@Tsnn1Q_a~_r!MobQP>_o(dul{q@kN}i647PBn`e&LIX&>2c^6k zQEWsE!aPk{zKZz%EG)fbmK|_AAxVuljDI*1yeqX>^QrQy3^-S_KD_Qpt=TQMA=#7f zDF~0nMC8Bd>^24moHC*sZ?<0?_^x{6bViA#g1k^}1ACB~!f z1Vr+e3(l(Un@J`Tr&Czau>mOhHYu=-EO`|3C`LcxJjE$)9s^b5DHm*94nYX9 zzt1S8T;OVPDK3le^K^v&FjMVYtbe-A<0y=IA#j+CMw9DjiYOVo*Gsl^GGE0Q=<`TUJ3 z9l-~QI?-#)EE~qr^#}<6G^?fWx!#eIo+=gxI{iD}r#J2wga~2D+y0G}#85h{?SI4^ z`9`Q}0ph@wQZ1a%S%X%hE*Y?tGo>!Nl4wAZzfRF;Gng-#?zfA)b^-c595{?A*x(+^ zGo&#n3QpJW!Ui#OTfL_yg5T+~#0Nx2byTQdHgwBQ3K+HK0HQdTjoskTbP@v&2ZAnZ zlebmr@Z9B+7`7D>z!l_NkKDZ2p7cMFyV)7!nw}wwC~js!4HW6G0GM(qiQM@?%eG3M zmLav-Zn5DpBju@l@ype%i3{Hb&-sMH{T&TT`IH7Bce$cWV6sfWnZkTYp76A~L~M_1 zwi&>Mk|T&7o|>eY?Hi}n?vvx$L;xU;!nh`@!o3|=)Y2Eqm2X2i^$!DWUXzVqY+9Mr zpBBj@D5!jqUJIE8xvBj_bU1*N(20*r;WU9Jae@N_c?rXZjS`TEMvvs8_Hvt|zKu!K zk~TbOE9k}sFIIk|cHWvvv&mqX{jc_hl}RDXX8(;hWmYu@*WX65{`4 zKvl0!v^S0nCff(|nO@U4ZvL)&s9S{}c`9~D!dZN!)UnYv}N3g*30a}VcVyEZF+T2D&tx9zbM@tSPi(eE`mTlCgAda6S_;VM^MM83811sRMAI54*>tg`R3H6r zyWmE8^fq3osDcNQfj4*MSZ|Sg=_8l!PX;@bz-ORkqqVnrqwX&f*SvHx5#C_Ep0`#` zt9U{j2z!g?q4&Ive%qg6aJ^~!)z(mH-g)ezpb=V9wkjJFl0a)@nNk7G&mS!@AJVil zqF&=Fk#fBG_)n|B8-D`SH%VGEXI@4EqTGs}SOOjaf zKzP=b{!fUC#zQE#8*7(<`Hf||pv{f6*T^Xw5)okikk=-O%*@~1fhUR@3)cAcfykN%w4wm^l8{`2BQ1;&pt7lp8 z6#E$CpqmAa)KHwbSIFJE*yz~9I7jrF9&mN!$~CSA_FdjhT3;m;_rz$vBn!MS@4yT~ za&jeugqY>rIv>ApeG<1vbT(;=Et`vrosEi(7@O86z8NTsUQMZsa6h}=dR~mM1JAvp z_`uZepnm=`mkST6+=5n?--wT3Q~si|(b~JVzD(Q4f@j-Rec^)on%vWAoOul|THhgD zsrnw;ao89738&(DtcVkY)1y^`HCY8-3unZw7~be-Et9EgVfa2BJ#a%>b>}TzbZe7T zUM#ejk7hIpOFbA{QvAZ3T07THaAe+c_ERgdPq2Blfva{%4mr(1K9yajH zb|^4ayEU;<{eai`@Wz1#^{2bdi3rA`Ctl4t5GIS2-^DRsNtggf^**7+v0&s_oC-DD zv7%=v6z93tlOnksH8}}NZ03aq4u3OoEQfGX=gx4ugy*}&@zByecH_cu@$-JZG`A6B z6v7E)eQ6~2%YTIb>+k{_^!l$+iK9mbSc?Qxv#A;+ue*qZ7@t{T4j*W`8hzFS6v+Pp zmJ+d3f@=(vEQ9Ez6qMv^DPMU>&+UJRpN@Z~(|LH^;$#%A%kHqt<_j zCvEC~swGlgmc>WXnmM=|YO6^s`I3f)lw8~g9j;`x#}jpD2^^y9oL?F3HCU-Ud{}o+ zazQCmAUOB3(4MgbyD%*j>}--QTO|-;4ppOo;E$e}y3-6Ix0*QsD?(>thO_P2o^&FL znfenhh;~WWKI}%A{}dip15ffl#G$GM4*2PG8hgb}bAK9}1@A21R$}H-2Ma1ZP-rf=on0;{*``wGle9Zm~!h}5gg~xCU!kfx84eYsWU_4w+lGTEL?v5;(oM|+Ux}l zoBIc-SSF&vV-pQ*{_N5r<=7ob1F&<3%GTOnHZlLFSfdfg&mcCl8PPm7C3hJ)cPv(0 zWYwWy&-&$byO$H;4v1G!VnC_OW6Go~HN3%&I1;}A+ii;No$!VUkXGild&0+t90_&L z&t)yCW?H&b<4)G-SUl$~(}2Z?B3#=y-<5ChO3>61MqH^n^52V|(CzBL9Y;*IunnwX zRU7kmDxxYEd<@#CsdFep>0m!L+?w$MT$A;r_I-G?OMvI-bX6B)DG?rCRv@$Z6g?vF zgZL&!esIuZqwT-%HWUhcx_}_D!uge$u0M&3(5$7s+DsYeBXJ-MN#LOKRy0MGB+Oe) z>Zbl|-lJA3(JT?Bc7H^*LN6*2lGAW1aFMLD|Ipq&b4AeOGk^lK$ZzM$KL3<(ue`iW zc+X3-CfG?B2Ug#>GVTsoRrT)5ij|XDd>(S$zTc>Q*J*M}{3J12PHd9jzq+Fn4(H^8 z`Cpi4Np;u_F{n*@lDbh|J-t%!@d2gURfH_vy$u~l{hmmj)r90SRg>1orzby(eIpaL z;Pu?e#ns(Ohuu1^c(>{`H^G2{NxkGg{nd0V#mQIt7C~^zT~DLooMqdXlhJ(%n@gmz zXP2)7Bo^OITgW!EIMx>Si}T{#^i36$T^D4fopuM`=37enSjP@I$b6jD;+_fps-9#hl&ih3BDmC!Sh+n**e$ zE?-nm>;^E;09fs+=c#%IxOJxUJT!CUDr2MPMq{yorzaNQ9;qTdC)*C04o5iTbCIWQX7pjM<)IOhHW68k!{i2m3%o)vt=kSTyCM{UbfhyrpCAbhX8;5$M^Kg zYCDlsm53+`Q{D_dA{Kj5RoGgjo+P~;ekgnYlV$@1p%AlMou-An(LgfPcr3YCkua3M z2DP5S(oQp3^4LLvKoqk7z#CJJ7-*}(nrD6YxDvv+Or&ufP7$s*^-mmaLU`8o$jgLq zb+E6ZS3+!thU-`g_yDUT@KHXU6gk#!jvECK*M$NZ^B{6n(Q+B5s(pX;1~b{>qDCiHCbKN5%b3Vf%E&DsY zqBcgfOA3l!i{Rpe3G+^XnzP$A$xCAiOTTxnFRZSn<4$s!yF5_d9~8?9*2XedC#5Z` zNb1mbM5+1FPXX+wa!VSZ++>wpTjaxTJ?WjKMANFf9HTpEr9WB!G)fDEBf5XIsWRM?NYq=L4f;>Onm35&?8d_Smg20Ta;|INB}-?gn*6u z^$gALkM@UA9CSA)RJJa+baZmCxKsz6S4#l796h6BqN4K$7n(Slkr1Zg$U{|2+t?)d ze^p=M9SP_wLfiH#-rro=%lWE1hsB&?%SVVUJ)Dk`` z)ce4uD#ci#2r<=9R%P5P+1@6SN?V(2y)AQOSdnO}TxY`0@h|%YwTRSnq9+BF-Y4p? z9UoyMzM-7_910`V4{dOQRxaZ#Nss8EKP7m^2*2abgdtXE{q54(_|mv#4i%H_%2_+J ztdYb%_H!*t^ck64?kf|8A=m>iX`K@-8`bDE$JB%pRpYHW#kP z9s-y?f2qnwCqeFj9Zrm3uKoC1SSSitD+)mv`PZ0AU4+nUCSUy)z-N24-M^_yXgmULVBP--z zC+&>ub8k~tT4r6q`;iZ9;N0T-r&j{oY6@f;BN=C=S`9zw>bg#KsqQ$Jp0!u#F)~Ny zT-U7gJ#qWlx0XoizgM+HZnO>KhEYxoU)FywSSTYY>7V*ib#Nx+);1;a&@WjH!cZfk{ z&9~q@j(ikFdGF@59K3))0|j_lZiLbyoZGyz?3GGyHwC44R6g&ZHG7=vs}{KZwn_B? z!f5N12fcQ3Omd*PN@G3=+AewoCsU`aL{N6r6Eq8dHi=V=Ka9( zOHkat^|}7cSC*PU;?S$v(*e9F<{yWJv*f2-o$V$M?_y@IdYTl!Bcl2n4KWC9n*8Dh zOTw}twZ+{z^lragOV3f(%;`|19$m_H+9ckYfp4a;8p=6(BMwvHxj^%hS5RT`sE5!b zPF}A`>*GgrHbrh-l(KdH+nJ#V( zbXz_-qZ!yM{Nr$;J~1ar0m;$C#JnbzSn*OSZ@tBg!uvULNLF*o-{`15k#q)@?#BmC z`bF$IIi=#%Y_ijgT4z~p>v7_1rFcnq91mX^+Wk^C1vR`U?r?#k`ldwhrnYUzZR}_l zzyrh7?&z(Qovv^8Y0Q__72P!}oFo=HdtJz4i`}&4#x-*b8!Hur3cRT)0J7=hR%Ml+ zmf<%ugdTWj-9;x1JnQLVLDP>@7F8+*z-w5ll#w{O&r(iQjjXE%-&NVOI=@<=$Mc|y z=I>i9iE{;!c7Q`mo%2kh#St?vIe@MxN#^-5n=Fbl6dS2G$Gi4e8@aqD1`|fg4VND> zKc2$QDT1+yQPiAZ#~8pnbf=waDE)HeLkeB`rTe8$s-2RzU=i$58c=@$^pjn1R z_p;guwFdvl<@lsHz?taUJlQJK3`43;@-f;+H)!T6K_f{(OL~qULZds z^HwLhJx_nb|KID{bXGZb;sR1hVhC|k1-)B7ChhglxIQ%I5|3MXdJS@(>*qi z6uUs*Sh_~)0YIYx!4XWd0q1tpm*>_)h01&h<{G0E<}%j{avd2j$rQ9lPtMdH-n-Kf z$5#`!gI+8|G&VfJV@3{BGF9*J^J6B<*r%z=h$+cmJZ)@+?BW1H`B6;!8@<+OTH{?o zx%$zSLM+L`oE(;okNos-d7Eqcv@*Z#EU}2*C)Z22U3%_vsps2~R%Ite1XmVcgOgDX zhkEQS_D-E!SnlA_qBkjYt5t0oKDdX2?gbSUm^oLAzi51pA|7-y@S{79Jnh|7nWjZ; zp~e6wEY#QmZnVpaf7J9klB2c9f8;i^As)T?KC1rbdcn7mGEDhff(i>Z{P2qg-UIA4 zB|h0Xs9UEzVVZ&NaX4Ja9D0^=Z!~`LMciz-{R+3GE&#ZWmR5O!y{1G!HZD1^x$x)f zY3Yku0ev@hv)w2!D~?AoAp7+@Q$))9tHN-Gdv1q>RHGYmi*VU2ue_yR0MIlfUVO+U{@Js^e~XOkiVGx9~0-8+%}_t6bSAm>5SUdH#!nBOKTO zXQYs<)WhrO>U&b6TAN+b(m0oB1h;gIWAB`_K5WIJ%E^L6WoxcaI%f$=(R?>2x3%Np z@=X&HVe>9L9+R`*SJcNtGcyh+^5C3Va%0#x1h358_;dDQNW293O-wJ}2$| z0~o-P`e*9C*9o6zYl8}{MIm=>aiv!1l**+@8vt?XRyp9EshoG62yM&|$+K{UtnWGZy9ik2Te*OSTaC zhKKmRjvRY7xX^9we${xrv)RY!n(9%NqDW1QLfkIoVl5B%`@2;W zPhny*<@owcA+KDysL@|C#S5AYUOMZSjNgr#e@56KNNscm{ zpGI4rG3@jr4hn=aPpk;2zk%@CNB&fLvKZ|-GmYLMa_b9PFTV~55i!`%tusq(w=@Q% zxS_eTT##X}^h2$=tlku36Xy|ylWIhqEQVO+d@93ggj^>X^y0TPfmE{*)?(qn;+ql~ zn)#ne3-e5p8vnbat!W)TQ+ju|($rv`=djhgaF{|ABeq+o#Wng6i|+&8k>k0oM&tV6 zyzY})*@`+jGgkE_^_m{Q0eFsF7zOoV%D==;i72@z4zNq%M3P$!G12pBV!9agWeRrZ zYhh{cGof`m9Ij5mJhqD86h;nit6OY@?ASO5;_IB8HVEp$(Km{xJi^Y-v}VAI%|U>m z2|>K7mhd)v$3biv#)s4A+5devFaE6%ecVAX_ z9giG8&Vn@)wAeqOk>$I=1ipCq!nj6_e#=?pa`z=g&52(%1XnYz3*A!DeujKyD6{;O zyX_ikW4&*9Bk6%zDU-x2#^Z8s_;;VM^(otAXPsU$m9+E$jrwUE%lDihwStR;9i8|g zI~8AMdQ;U5MS{#|-R@4Lfj7N0koY5}r_e^##1%XhTBQ;PeQiMf?t5|!i8|*~P1Oni zp7!fY>Zq#Av=*63h|qwOC8&AOD)I2H)A3OkRjLpk^iD7R7&o6U_;FbLi<2R6gTYMm ziIKD8FgqJ8Bu#ZlU)Rm|C<{Sp7CFE4ms-l@JD9~XMO~M_9MlN+`m*3) zYCPi0n3ACarOgFGa1_tt6%li$209)1zxvN~%)1}Ts=(ZLRyWv+NLR`uRA|7ut-7<9 z7-O{e3$QZS{nr3(!bWA8!D+zN=#M^9$;lWcb8{iHjymg#$E!Qc0#BrZa5%z;<24(=S?Xg%`2*xyJR^MSptu|=d<9>eYA@$y=F6?j zxOp1dvTe9D^rB|zUT&69^&r3t98J$aap|H!>>K>4=s{jgwG}(r9Hs@DjvY+3yLwH$ zCWkxiBC-Qb2etFSk|o}s1oL!m#t>?aY81ce6bNu>h;!hBAu=c8v&@GqA*{> zaHWSrjD-C8N$b|vh`kf$`SSfRmGZGPkiO6{S9a);Lky(P1@DBqa4D-dY#yFO`Jk;4 z(;e~i=MYq2t4{r4wIm=MXgBH806kFvv%D(SM>|y@Pk;&QR zwRSbJ$B8{+yYNzGQ`Phz;7M$jA%||{T@8j*Et~ez&tdPI!;yYtnzi(S!i(Oh4yFp5 z1GnC>E9^@*apKencln~Gk?kdR)np+Sqd}I%wdrtxZKcFAUB5Dcujn?t3#n@tsastW zTyQz#L|Dd}>$HzL&aGY*DExNo`tv+IaQJaXT2c%d7BxYYxeNfqxc9)Lm6!oYDHNVd z@c+bdQzdSLSTG?9`Ni=6TLAj=HtXP&_%JapQ}IQONTl=0_gfof45*^ocD^&WZLc)4~Cl(`sMK8v2$QHRGRJ|;LbI2v7x9V z9@fdJCy$eW(a5&c@a?Y0u_L`dL;M3&J+z%#5yS)a@ID`~ukEEeyJtUdK%IlwI9Wnx zKTdNgT)}qGJoW80R-Zb|IK+ow4zv-4{)Pg)5bJ}j!M1)&KZLi)YW84Sd`tQOfY5~{ z(rxV!^U)*|Y4rwHz3-GQG5dSn{r(v(4#wdiY*2FP6CeMaHMVzLGeRk+afDQ2!ZvU9 zo&sR>9u66MO$pVUk_Iy2tM#OF4GCryk?8Otbv7BpftZDWu0Xz%T15uwv*EmMO9_G3 zwB+;-_KE5RZlOmpIYfgk!%nb8L+j+K`k{&Q@6~%L(GTU=iHOlv(r97GhsZ4}PRBm5`PrHPKrGA=4EhD!8b)eK`1w(HdKSc|OWH=DtztP_&6B0p^5@vxzH_n|vhn zP58t&0yw+I;!9`&K5A?x-H+d}{Rd-02Fvk8jb{q+0GZmcXWm_+*FyZik2}p&Q3Jkc z6BQdo)d)+wywfJ8wwynu0{=JrRIkHjw2Ut>4xB5+(E(f@i~d(r&tyO$~hE{1>k3Uj;(WN&CxfrTi~id=s77_y_s*cIWSo{93SnPAFysw9{h&rE((B%~FeKV?N#eKMN1>GzA;(QpTIz_q z+{e_M1~UGGhhy`wJ?W$T3tdpNvF!Aqrep|DH%#gFm zXbXiOXJR5XsA9n+&XdN7X`*SlRC1_an2PCcL_zlDM(vYWKo(O)?~_`aHGChHkS}wQ z`mG)@?p}0{>_<|BR(mBhmk2w?_UKEI@Y3JkFP&>!k{PAlIB!j(v8yQgq;r!eB{d4b z+r}_oa{%tB;fUu_>Oa8GUM2nxR*+(7I0SkuJIs-+yf zQ=)YmnNQmA@ydIhh_3JCp66cnYt4A4NlIs-{qx5Y@tv*(8Kt!PU%L?aHlkBaVqY*S zDHW^s@X~mYR@HlC~Pr{6)`iFR0sqlnG)JUOgqr^f+;CCKnf0zqa)A?a$nMfa<Xe*%6A?4~NZ(Ls_bpWoIQ8ik>Sj22kRR3)xzW`|%|M zeu}K+>;3DxhRt89S@OLv8|Nc+B}?;2(sAJ0(AeS>CIh z7NwYXeYHu4vaGdpj9Hyzk;3Q;-MVR|>@TyhP^zaTk48FK#7bwaG<`I>@gT`5XPU5rxPmQFarEem3C-llf0-2>sV07(;&G3BTx2ZwY z&oKR)=Z`?{v3lE2hqRHiGtGpTM7m{Z<0_)mU&D=ug(HSMXJyqs0qofSypNUMeM!AA z;dfaTWHX`hA#v9&qS-#jm(NapMznq{@p{FpFshGnqo#xoHHYJfIzO|p=a=eL=MpD? zr9-0c7Gkh9RAcmwE8~N{`N1ym3X=Tnz9NHt44O<^4Sd96WbyPxhAELw?A z+BhWt=2err{UU*8rIYfW=sTnj(cvwpwS=RemeNv;p*esvocZ%+ZR@_t-$({X#gv1= zsNnB#7s$p@15blAaM=FbiaO61ndmSYHSA`l!&)T#h6GU_MOQee^vR1hnU0eBSt6nm zFo1Lpq&3$;Vcz@(HI+W1m*!Q*Qqzl-l=6QXXJtm?y*yWrif&Q;Lw=9lFGoFft~P^$ zrcwq)_7A?!M<>ul7rdCS?zu@#hf)&$VOcCd-|NPA@CE1;1(!Wt3+RFK#?r&D%NflK z&}G8r{fRFbbDtcc%(%3DE?EXUeEN#-Jt7x@~$~_t`!d5 zRt1zUV}CnSvHbGCvi_%7_2+wIO)&0@-RQ2uUES+q34^KlwQ10BFXfQD@8^8&HaNur z7@o6pVcLz!X-e?19{mz)-~6YJ*QC+PLm9FQl+Sx=j&c0Ywim&yE}eFwc`m{8#W>>2 z)pd`o{L9~w( zeOhp~+%MR$2vVcgS2VeH>KQTw7rOJ(Rsz4q?4u|3y6hV_61Ml={a&0#i+p-avE&z9 z;BH-U4}a1=sqTqG=y7M7b$GfpzICv8rtRvz#?zJ1{MhBe{V6Af_)e|L(NmCPku+U& zgKQNO&lXr;yPGx!5W20@wK%Qyg!_^M$auvX zTe><3-FrpT+}0?d%nS~F`vI63nj>$VZbebDpg==RB-(wp7)h8P-B*`fa=@vqbv`k> zX#v3h5c#HTK zbv@_mCzW#Au2-xHSv(p|^ls7%7>=($J2ew{M{OHdTUcsdjd%h$H@9;SyjH-}WX{;! zkRSTDBVi}q0sL!Ea#cH)+fwdM%)F4+%NbJaT_?KjM;aL)DAeW`!?H2E#jsxzh9mVl zX?VQi7rTFtj3b)X+9($}pdDZAUd?7Di;umD{^q!j%`<*lxPUs2I7d%kmlsThWBtz; z8A64cs*^4&UFO1_v2@r!=;tHZdLAjJy?q~6Aw^NqW z4IV8jfuOY#qN_Ot#!Dx}Q{kwMP{`bwVq+m}xZOR`fLG^w0gUJx#awWz>B3ze{aqmp zse{a)r0x&S&jte++f^wlDHOorlZ~OSPrb!$S$B^gWiW3yK%hv#shG%_DoreI9M`kl z^-1;A-*kPaU{DPxX2Ns)8wDOeH7ud@e*jcLtG*j*9f}hZ6Zons+YA^IrUa4dsVUuE z!m~<&9;!#Hy~MO}Ax1Drh$f-fJCSwS3-eOf=>rr|go7%H9^{{T9vBoatcq+=im)g>XlSS$rS%yNDO5S3EU zK_Ntw-1paN3LmD9zyMcX56wi(V|1|K6R+BWHPgblAn;5<@vuGXU#BG6RAOR%Oc!%l zy*a}8Vx@I3#$(>LI(cXzNnl{cqI`zHLCsF=u2-~kfTrDc325CAmH0MMZrXUc(WO{g~4@{^9!2ws3 z$&c$r0W7MOa}nG7){&1?f?8X*6c9(J?%>rL)w6Apu6jp1@7k}`exd7N5>{hEN%^df zudKLocOOkuoE6$WDx^zITc@&v>cF2&9$;2C>i+F(rTN(8eL@7u*`Ar1OhUZ58Gmn6jEy7#YX`fc8Yt*Al)%lOQ1y?Cpg zFHd1vx?A^z?Noo7?whT+gDZEgHNO}FXX1=Y=y%3NB5SbOS_l z6smr;c~u#2qY?udQULkwOZEQ%t1HLe`vIP!9QzYD@KFY5Lr)Dx(&VNYi`Qvi|_$ofzs++%~~0_c94H;byh!XDjEg zZ9mdF2Nn`NYQPqgzH55VLaMl(5yTiL^ICtVbRyaa1z-v7{HW&7)9oPftpi*=ORcAD zAEp-isw9KG9{uZO6ANHW5&<(ox}h&yk^v?sflGd=`jx(yr!AP!f$dQ_wC_eQT}xVU zTpa*SXZ3wrDi&*nPhto6uNnHE{{SUswBp$!8`UkKKe?<9um1p$U3{6C%y19%{{R)y z&-ndTcgZ8_ohMMYZRFZk*1OT}9Dv*oM}uE1{Xg~lfrA%07?9in@!Gx5=%1*sT4aGS z!1?Fmr@sZ{=aNzHl5Y^39nW(Wo%D*lD#IV)BWK`zR?YaieU{nCgUDVfzLTS0yr3r? zPd|!@6??~z{ZFG%Ga!=2M6AH^73P0aMrC6nVzEHvXC&28iLQ`cJYHd)R2gfK}2@y|88`Y%WuUr@7?{62i@yz%M{yT;nc z6CSQUYiIP^{Y2Zj)2g%NKyE)Z)z>!|&hhkL(yj|=h!hs`2LAwmHL90-YYX*nTmhT- zXCiCLew%TwIR602z7_l8F&~jy2dd~gQRumAH9n#Y@8+|dv+C5z&wiQ9Z^4Rb9tnqTt9;W(`;Ga(*=$WJR$b>kz0@vFLcH7jN zn-#5_KwX|1cA#(aW~Dkj11m!*IuRq{k+58t4A`OEnU9LowbdumRP{W1hnmjA+6lFF z8S*6LH>d!39>Rd#D_(Ne%M!kmp|kB;hUKfaRZFP47ns~uWyUXgKAinPq@DZJSksEH z(sX7lcwZ)czchzXq)tWIm_z~xJ-zEiZh8nLlJh| z)3g(^7)HO%chdTRGasgBaMKaStF9Gmgk%{Y0%myr^(ax7?GQM9`hPW3(4;T)V={9r zOp~z+W0UP!cS`#4WyFIApP2To>yW=uP_(xo2p{^aPN^|7lCVGR)Cuif9y;doLU$)F z+8jp6@j^}8^^FPFdNs(0IP8!L_>S~HOJc`0lOjC(*FCnLznUssB?^t7GyJG-%GUiLeD~c+vcXyg zSi}YA_Mk1AeLPqdjRH@#T@V#qh%v_FnxIB1;4VuZt#D|HgX!q8XwaFZLQzR0AOkdL zp44BkkgP)^N|4>7bqfFjizOl?a%$$&3vA4)d&dxdX%oJh;23RS@!#j(xH96Bq^J`= z%Ze(gWd|S#Ad|>H;;3zvA=@D2=zCJp0SL@JILzV$9tXu%;4A@t!T{`j=;{p1XOayc z>SzoZ;31ae$8k()K!I$wOklKt2;btWLxoTn$AEaISS!luPc!ZFLwi5!0uQU15CQ$_ zwU{Evv`V=%I*#V5i<3gJQa_209%!Y0pxId`i8V|NU_nqf%<7z_LW_a5t;y|ClX@{$ zJb|szlnjiLHL30@s>(LPMub6{dX!p>vA9ef>#?R)io`Fhus?O)=B`jd%lVMc&O=qiro;v z$=*PL@l?Fbq7+*?0vv46EoSfaE-q?zR3H1rR98NYTyVFpV2VkR_UQY^Y6Zd&6?MUZ z+3Zgwo-o-L@LqWYT>A{{TAjx4%g0dS_NeKET&c9$8p*<9WB~?goON zwO-ADibw^r((U8W*5K=5f^p_o9%1ZYPUyzg25Fq8UR0DV2RUW4>Lq##9W zYR+41+mT*5eVkStrxK_@&(5Pm7i6KU3+M?HjDH^{ougz(mpmkPN2n!%c24{MML2jIjz_OPiu^^uQ1#(N1E2_=+3w5@X;q=bR&X@l7 zrEOWp@?A4 zdH(=3t95plhr>@`dwkVORx|BbQE-wYbJjBlO-zh@SM%OVhEF8v}z*52wxwNE;C}M9TVoD^}EQ zWEz{=rv;Y4yVN3$DE686uVv8mcE?WcRTv1LR6(V`Lj5NTEcZf_9k;6AxzpQTm>`e| z+eRXP70cxEZ>ZnL#(jBj)Ot5|Yl>jb*U) zbNv?#7DoqXbr57-;z-oF#I(o?tF{2_63c^+ICD z>RVmT*bYD9rtQS~#0P{`#bnHX#Zm6C4014kglJV^YD*7Jr2rflli&8DtF}@d3OB1F zCP(%(gW~b`dPD;nBCOp(VnP+buOVQ3Qo*Lh=UbC&B80)1(W|RNOOOd2&ckvDG=kh< z;Y)>qEv|0fK+* zRvuRVBYi!Sm9h5D%QI+?iuBzieHAjA-xF9C#!Li+wK)kqlm7rUwb9)Sps_gs0R#cR zHO)S^>*34x%UU-BVpKsK2&L{8g1CnZBm*!_9>83HdzFkwQZ4z|`suKeGT)gJm zyGorv;CGsLpj&ppdy8?_`W zkJT-dXS{`Se@p`;cBS3^30|kAQGh}TVmq3*Q)rlk9BWlSr(8?6h0snXe(_A-U~GC| zi1Qk(Zz6T=^I!gL`q=$7ewq@j%mklp*Ui6D{{Z9{x}beT&dTd&%+{Cx0JVF~{{Zh} zI`P_T=im8XM6du8*!cObzXyh9r^)5B(`CAXSYV-xOcSF&6dQtWvxoI#Iy@T69c->D zOb*^pwODn*k21$c(_K@RAEu4FjEyUC!R&F9HR(V2zw0m3b!fMYuXY`@c@^US0P|$A z0Ya~F&0619(U!E_#?3CgbE)lI_haopr2e{()CjnYyb~Jy*SWD_E?8Ggh+#4-^UwbP z8|!XA>b5aEkeHF%-oHWqn(TTs8UTn8eXEDb;r!O$?A0&ZIFJD#?g^Q%HU9v~I%{9} z>{EAQaT}TDy?fhZC14nX-Ydy|qPIS^)W3KUz?c#3>}n@Cf2YU)08{DyhgQP>0H<*P z@&5odsrp}Dwig>n3>eMHi9Sb~FaH25{WRFT_X4=c$!0o^{{S?%Oo?*Z+C)}5mnWL) z-%Q$9I?H#DuKP2Q3Wx{MZ$0Onx8_NBk@9qyJ4`ZM$>y!RyL4gfX3u z?kSr$Q>bxjNy|qOzbAj%r)iWuBMen@mDErD(W=^8w#}wwxf9Cy-D-6ZzGtACaCs(Xrqg#r)O}4Q%W8EfM9=!)sVt9hTTg;=J_m}~y>AmMzO*TxD!=1Cn-VR_*;c`;;({pnb#V%{O-0$mE5$20bulyC0^o zf^ji}4b62*Pq6<0H4K@m%%KYa zv5?eYu;5!&WEwk<&*r7j*<2)&48rb5dX*Gw5$O)OK#ytWt9sO8#9NW-0Y=E9y~jvg zC1ZWxA{MBkowyh0F>^sOiss#n3(*uwM$)k%#2r~eX1at3I$I=%T z0Cx??;;o25ZI)RLA!aongHWmrwxH~5&u@WJP|FD?7%+LFC?!=~5487)G#a7+GZW>6 zZm2DKNd&UU5%1r1V8<`JH4!j0PqkSQZZjA3#FN^Q1{FbZlBgp0RWBx$~E&= zxR@XqfN=!x`kIH+6EhpNOMZNUGlIT&adJ5j_5D zL#9|H04!=p4mVJz}R*p)e+{Exo_$*Dji_=KeSfw&<|mT zBr#Ai0LuyfR2AuPRRm&k{whCZ`5*K}7Rk?ekRbEzP4(8kgbQlXBlx-eQ9n;ml7k{( zda;rWaYXAZybKEoi4DoDZQ9aLPdj?u%RZ}lDvkS7T`%gLPfp0@ND?$)w9xL}TW12f zAS1rN=7w6;#xNC0FtFTyYV%=he15q906|t;EV3E{Uo}DcisKGY_%qMuu_g!^Vp~9y z1Lh4`O1qS_s!YKh{{R&~h<~H~O`8{OD7Jl+}3>6Sf$R1tX)DKnoLCT{{S?n z>T2yavod`|oyWY^pXz-|-L|;ma3IJW4ma;v_Yqiz((8F@2{nAw+3Dqauu+N*18moH z-5TA;xpGL3b>5%-LdIFJaKcW{_@#PM#l#Jc4DynW z+q@x3w8nV?KYCygRTQv|Wh*j$>5Dh5DuDZ0g2{X*TgYy^Y%x{tJu z)EnQbmPWwbRRisScjmGkeGtu$U|Vo~g$~unlMG#FTjX~&Q;1iwFLh2_OO#)_CTNzG znM)OBcHk2NJpTa2L9uNvLqKEa{8ODhhQW!4^g#AA?@r_??Tgd{gKUvIGpVXsxCq67 z2V3Tu{aFIu#S;O*2b!-;iV(8^TU?LpT1)8{=wLx+QN-`f0I?0hR^ay(TdK;i78DLg zaZACBR57Or-$Ze^WY3Iee)C&BHOr1cf>@XY8TtIyKS^z!z*#3lirML{wU`0cOy~%S zAJVhwM(*7Oa^nyLF68^wZrnJm`X_T7k7}rBUrojWBVRQx1+t*AE5y$RvMmYOgE>PQ zf=f=mDvARFAP-hbOA!Jnw$!D}#1cN)*`CHIO=pL7AxXw{uf;hF6lDvMm4U~7(vBta zeqscUXqU1>{+kvPh&cB&Cbq#tIRHm($F*8+qVXaFlgBwgtJ`2-5M+_5#10t90$ zK>e!h-jr#Kc4>(gB}(E9j!6Ui(FA`0B}l|G2s7?zD!EGLg?{{Xz#H+?$1e2NURs8}4da(j2; zp6PEM5GYnWmf4RKm(#dXB!mO*L;Rwf=(={dbb{regX-V|SjN_RYjpViEPxEcH$AyC zO$GWk{-!Fkze(bfu=efS{{T_(EHU%@)HU|FFn17;NcQboO6Tew`hk+}8JQuD^nWz7 zgvU216n@~I_15nNB~(cxk~kD*uo~V(s<0oqtB9Z;p-sDqXb`4jdiku!P!QcDfK2R6 ze2Ue&*7`;N08jyNgO3J3HRpd)x_-7r*@RCs&x&w{H@>y|i)%qgshiWY+woZc0I1zJ zZ!%lB%oKoqQIVnbcij#))RM+jjzI8gZQ9D-R~?Z+k#Ph9(fifNL4$GIU{{TKkR@YL-_C%o(u!Di);;-m>Z~i~kExxkaAX|wC z6(9mN!LNJK8#fhAz}whn62BGmpZ+=emrHM|4|FQr5CMV!74$BW^@p+@528IW%L7^T zO~i9=rz58!SH&5+k#@?$fW%BpRy$t$NIshraO_TnP<5y+gLIiZ1?)W5V;>~{0QRj1 z^+!2OFMUY&ub5mi{KT62xBmdNivsICdbzE^o29w37f2Z3IP`1k(+EPTII zX%ax#JDM3|JCR()i5n&kg+!U=e2VE}oaOt$^WKkc`2t7;#B;?jxE!6-gklc8s5hwp z0ODk~>lR4anG$?|TKxmj-(%C;3!?+HPvfC^-T(7H8@i-KhnI-g6i>}0O*(}cDPt62i3~kk z%=xai*_LD@78{;D{wOwy>a7F|a5AKbAo>2(GE@_+V}b;NJc?EBhb9?SO8)>C1N_i! zHMe7E+ypcLs&;+nx5XigTmg&S`h)K5Ka^8FI}>pO?&+%f51Lk18Jx4md|;exZQ^N2n7#2Ul2TY8f0J#!i zvEWk|&f6R6;O&@FW~-qNdFxBw-I8wc8tWGnrIvCC@R zr~ZnY8pRdrp;sCLZzD( zkYEVk+X7~P;*-Q>>Dqy^#y8{UwANTSwi!aBTsX%hN5xPW zx9d<}%9%R$qFg<~kd3m$_xGxsV5V40gZBffWPk#Tk^^u+ANN%@ODM<%P(cuX%}^g2ceNgcBjS0MW9z zs;C!7m6?zzA&U%2P$mH&kWBcfSM&|BEvb$_#Vj0{7aBc>e;Tg2a$*&&k;D#7EIn5J z#&#u~5dac9iVFd_Rx8NV8oZLO9NUiNbumDBE2Rhj0M2(FDZ;eFVz{%72K%N=MM^RC z05S#vmFMKq6s}4DIPa1EIQgL4FOgN`tVa|xLBiVwRRoYm_@A0y@?@%6fsv5iGU(rE zCgD7okJ!~iX5||Q+JTHjQw7beagHKRJXPI@X5h%)xuyXCeLGALm=H&L3pLASc2h?q z=7K^aWN{7{0TMfTs4$}z9;2ZepL0}u%p8;HBk}QE9gp3LS>M1~}rL8Iyd41h2oO>MD%ofckClqK3}6mJ^UXpX*YLSZP-y;LR9% zIZUEsDE|QKB4GT{lrXR^7LbDwAZ+|lfg5!qno4#zqbqMbt)gbWn$XD^XcWn6j> z(>iquz>ARt1=P~Q!W+?ba2yh6Ydy!BuS5EPwQT|VKnNK(fAdWJcE4}^LZFY_AN^Ea zIBTToK{qhTG1wV)nh#J^GqEH92^kqbG-GiEg4WDi*cQa=-jcn3&9F0o{{X__yC3_y zj8v@NtEU8is0ak@RB}&`YRb9N+y~ac2{FD6dRuE~8AejfCwz(u^o!IIRn7xy!*G3t zYtLAV9(wDtg)t^TldugM)w_Z6R4Q4vN%Yo_ThQCI=xzN*F$}nZHSgwyX8VTvFbQBX zEMlwm=&{PG)>Vp@dDth2?^gc+$7}ciRG!M6sJ85@!Lp>T*oJNgf11;=)7(TSD@hX_ z$kwF)0BVcUq+x!sY+1DHY=itv#kto4usVA$^>hJ0?k8(rpY=;Z;Z#tLR03mX=CfC( za##I1Vh+jXwCB8qdD@#HtTUj4xRJ-bY;^9Htp~+JOnSKk&-~U}Szzk`D<8II2=_GF zUd31HTtKAmJ9|ZC*S4JcYX?uH8G%wn>9(e!6%`rF0@I>I(hbyDHUMy;M#;(|Dot%}@WSh5KbBsT}o#RlRQv_;bZPB3})j`TF^6|Nsw3SbS#`K4c| zWOCct(2xhb)||?lLh3+UXwMv#2ssDdkd|Jov1oJYV>A6J@sxsO$?O5uE|%QfEUS*P z)osmX)YD4KcF|DTk^a*FA2CCRODy?g1{)*&DbAD=Z~a9KM5zOrqxA}_Wk5pef82RB zJM3qsL|l8S=!6X&a4PL~I(A!#*&Pr!2Z*M6$5oyHAH&A|>2)a9kKD(Q4(H~mi9;Ku zZVV5O5M0sOw17*?LbRSdjw_>q5;Q$nrZq*Rs%K$dBiB=`ct+PimkW3)GkYu zEHOXUv`cj$n#aH#y$H)+XcUikVhVB z%800?0P|ZVpY2Jrg=PYAof+fau3Ameiepei4xV5tCVM>AEmaD7GytPsEp{{VQTRi|hdWs*ynGQ9f=V$>Uf*}RhmK@mz> z4mmm>a3(SLnqk$F%qx0NVzZR&ek(i?Yl$)?fhWKDs$H}IV(w%#4MF^S)y2}jqCk(~ zZO~oK+pQwr*f45J?uy~Gyo9E1U}zclT_#_te9>QA5XR2GWg5t7c= zdaBZ}ngSbL$6+d- zFQx~d?@VE6+zW5-BPl#c>}ag3^ubjc+@31$Y!(c%8apne_ob(RjA2Tt#ZIG%_p9R! zawF;q?_Qe|~XbYf30-z82eAMZKiT(xT34zRe_@ml(mil5_xgtXR zRZ$4cwumu3kNKilAp>Fq34^^)nDbN8qerH)Knh4CNzvBpPTiHZ5FEI|SN`!?-95$i z1n?tp8_xNyUYVlWtCx;8vIzD*YnRCC@vV0G3?!8RLBw{Nq3XgaeG7!Hzz2J&W(A3t zWfDON#Z>?RA4UF)=a-r;_Nn0;keYNP>RiYbMSmy+yENlEBuf z?w0MOa#dBxlQSFq){&P{v1QW7PClfd0!b~gNOeD`3Al)IAWY9NDHrPBs4VOk5M*!1 z6>^r;eL#pW7(zhgc$(5iHDC35i-oRSK9MrRQ64)|H$z=@hF2-M2NCTio4#$WqKPE8 zzNssib`d2PoC4SiD`JVAp)RnZX4m@r5Kl`cw0LYSVFd{Z2XdeQT zy>t~U2rLhM$nPHYaENtRN~lmIEQOEnNmx0y%K%J!Q&;Y->6Shujep)KEEd`p0kK^e z&_5NVO)>SZTPt)Fl^X$PQ(mL=5B^0VP~afKw9h?<_OBYM?hHv_IgUTg0luZCi$sT6 zB*zq9bhY*0{NJu1yJJ3~2k<7TcdTn5s3$0aAMsy5=>Gsyy>8#G>#_)h?ek72{{SJn zje^XR82}=&zB;*Dzpgc_ojW75DEoph+CkYitIzHa}mk*t?$-9P$qGCX4xR@ zpYdLMs_KgpqB0vSq5<7&;^(eY-c~15U|S48AWVCY%_Cbrz&9dwxk>|Z@ew+GucJ(M#Aj>e|{{V^wrM996+<%B}v}|=DfBM11 z0VJ7_J5+Vm{vSNOPv~}+qzX%gkO)W+$NN{Hwb$DOmH-fRL6Cpuyfv<(8ExNUxQ!M5 zg0w94iV!m&q+(R8fy4>(T-{3AW7TyXLYs!;-67%t{OnJfSE=gymJGq*gR&Ym{%ZrN z>(?Ab#X?Mw2=to9{X_L)$}Ov90E510oatK8{bTi8tcKE+`gs$-xxY1oZu49vn30Lm zCzJ0>o}{pn0~kJ|&052sQIN^csA@%RImn&Xm5aa2I<-M)TR@pK4e&tgPgWbt*PA0p_n^+3tpKNc&6TlY$BLU>QMG<9 zJfk+uclM|5xVWp67IW%`98~Gy0ObP&xE|XOGbVNBrLJI^S^xkw9($T&3uhL90MTMJ zed{}^cL1qy1+gHmxv8t=4SAVPMREshWRpqt7Lx7O0^IjvvjBNCRw~S{%ufUoA|smR zX>6@3Dlj0c7zB>-{OW67S*2KF40^OdGcn)Vn6z+ZAd@7|uSUAJAc)Y8Ds5>aLdDPYBI;ZO7%Ik3I*&DEz+zhCpjKnQ;`Sfnk#%N8e6eCNB>Ptj zp_pkH69vE9_^j&VR@bc+21JhQ+KGHzVlpN;LI4C(2taREBhmmfB-7-BX`PrTfDS7l z`_%k0eOi)!;LuJWsM#L%kJT!Nhaf!6jr`XA+alxPb0H!N0R#Ri9;U*sK~`2YR0fZl z*N&O@!z-xA1`7p=oIr(-KQyakt{d$f%W)s(n!Rrb02ACdX#W5-qvlTiDjGfGwQnxD zy5|-jX_bKhL7675K9nvpSjl2f5$!+#wZ>A!Fa+#nI^wLVVv61e448e zaB$&_P9|sPR4j-Dt7LyI=^G<0O&TUz*pk4{dL9l`G9OZ&XT2>5d_lyLrDPu9R3fBC zJ0xs~;;(}5G6a%fmEtHC2vli0;4pZZ_N|+?zP*=Xgtp0Id5-mmer>yYc1)EEi1svd z@6zwDZB)Dh1t%teAen+Y)2ijvGnHWjWO3WK^sEk^;evZi1z4ViahoSSQ>XvHE{N7RV9;g)2WF znqRCLtgeQ~P_S+`XCV-H{{S?{SJX1A*%S1MgYJF>JJebTKhn4|VaObhABx55u3WWo zme-^Y<10#E)mO#(K8-JR2r+A6xGYT1n$d2W(Y_K927@q@1bh6^KS2F9?alS7M0!M@ zyWCfzZix$pSbT&T98`DKTwgKZe^I_Hf}jQgiDNJb;6SV%uk|0TeTswkXo0XRfByiQ zbdA%we1oe%l^Xc3HEHb&V>5>KK$G!ZUM^+lSa~|Th;FXo0Q$AtwN&+2NswAsQcjQJ zpJuSiFpPi#Pk)M(35CbT0Q8g1UeEZSWvq2@%FI1SnFCaKH!Y_ai8&4l_oTX%w9LdX z-;e7>=(>n0Y4JAl@z2c{pIZd$`Cf;h=~nH8WRS=C`_o-VN~rC0s)c|cXtiqol%YBn z$N-KZLF^47`kzSl>}EcrTOOH>fn1-jZS&J2<-j_V^w`HLIDuTQN`lRx#0H;M>YY$> zq18zvc{ZSV_^z>U>iTn4JjZXxn$|>G>)kS{dWdxr0*~q_Sf&AP0IC4ncbaYbMnrKK zn1&&>Gyoc97$Sg6FFw^sH~L~AAfU|%mJOg7dr-QY=x?(su8GiTpK4z7y`tW)MCv?H z?LEJ=I`Jil+Mg3f4Lk~zCnNNS1Wu=&a};|`^%;e=Z2RP5eXBmtQD|JoWWW-~?(fZA zy3n_nh+^Bw{{S&XeNEbtUS9+B!E^rhxgY?fmzOcVP9Rq8J{(`RUQ5UNPv4u2Gd z`<{|f$z!n^nyz^((~Z;u;w#A>#1lj57dxwzmG;z9ezIiGt7OymE#YWH2R-=z0H(CF zA|=*~i(f#3w*|o-pu=<&P%e6{h$dyEerZE>QP^DIlLWUFH!eX0?qtH5Bk@FqYf{b9 zGX%gVMC=kcrW)XJAhBQ|03(0mvTR(q6@&sus!wWa+nbj0+>MCj)?GzP(Z3k#Sz-tR zIQOcQ25#E6Az+#0$f{Xlv5F8_MnsVs-4fX)3VMvx15kVa0LZRuY``D^K?JPqf!p&$ z3K3azU1%I+6W?`fVJU0f11(0P!4dv6mW_ zaW-IE5(!}(nnBpyxTNIDqp$+BuG{;7LKb%3Bl?P4>4K`5G)w{vO=-<%RIpd3&Dg0{ z7>s`1iYL{%)msQ3{V*m#(KTL^rp++~WT(8x?M$AC*tC}$KD3Jv4`6r&%qUcqi85>2?X|&Aa~ytqzq5|RdX%@9E_w5 ze|izNS&4OG2!#S8@lXDte#5hbQcFjtk*|74v#rdEzb6t;Kc5wHrx0;lAL?z1k_$vq zoof{chycs(Du2Bfs%B{fWWWXmhUED6q%LhkT;7U_Xf;w5Q|lBMzCcV&{{UE{a1dl# zPKua5^__O>5DY^%gE9XAe9^jVtgq@}h!O8sc|_@Z_O7?2F~pdeF-hF8{{T}&kUxtq z-fKaxs*F~5uuh}J0^_R=6??()M>OnbT(s8f=p`=50hMS$|Z+jJW&?e1&C7s0A%q?xNoRgNt4HF zAT*_W4{dfnXx%tDsZJ+q7I#Y`D`IDp0Y>JWv2dySme>XcHQJ_}HX_~(xUf5sFuUTk zY^T%=!DGyFM~`~Xa%EtXj|yOtKNY3WT_^8WBacY$AJVh2aD*pfwf^{F( zwk#YkC_=5u!13+mSDstWE`e;JIYcM-_N_jLs3pcD5&@IM9|E$mLv^ZGsd5pnTP6UV z04gnYBHO57Lld@L$9g6I0Hb%MLg1;&GEzzAXtz0#`|bu6Sw#gF!&Ttb1EFhX}YXbOtom5N-DL_D;Y)t6Qy%?<{{ULBwwJvYu@?aDc!Su~t^s1%xEL!hY4JLM?EqZ>7G|8#Ey9jH>Sd#L1@J5SNw>z}KdI{{Z5ayd!E0 zF@euM)x2|1E=kP5NirA$05eo($#4_u*<-pPfr_aF((eA6Jv1caH# zdRTyJ%A(;wp_A&WQJY`&vQU!kfA}*ji2Uf!I^;dMCbxPsqLz+5v)M~?^>j+32n0# zE9sNGhJpV870X~SCjv?2jz8jyu!VylS(qkFP_2Yl0f`1c(EaJ2EG%5~2F3yPd(o8& z<_;&jG(iKlHQDCCkR|~n_X3En#Tgg^8=u>?Pw23p@%n=Lj|wJdy<9Kd3<5xvqWvNC zm96mHpAkX00|Hlxl1bS#^s&ilpk&I5-g|$|1d|~_T-SbgM!5Lf5U$WXb3!_{`2b@? zo=^U$hlndIi|Y2yp6G4;GOXyn+nMcIqAuPb3v0Ll*8c$M_N|uM1D^(T55KimV3B7+ z%w;_xdCCXiQa7(%g(e6G(p68VJVJWiB0zY7f7VX%^{Ou0#4q`(yT}x-j}VYiPxqIgZ2jq20QT zY$!*6Q4Hkoo;=X(bZ>4A$VCQ8%1*ph?BD6EG6rT2XGeYKW|17|?c&4}ld;k%jrRGi zE|}c7&25#&;{gO8lUTO@09vDQvR zma{mb9mANPdV_1H>a9QiAE~&_cr)MTu`Izt&vDp;lL`ZxWeZJ7zEo1V^F9rI1C}CLt0Q|G`OCP9oZ+1X(Bs&Qo1I2CO@_v0*UCn%c z#n&m5AGGhZ{84UQANbRdAm|C#=BfIxNZl3pwn-oo0o44`y)wP~i)jSO8Wr1;`(d_v z5e?gy8x{3W@Qwv~@BTIa0LOZUANev6d-^(GwojO z8>Z-{$4<^sJuJL)^H_O2zsSBh{?-#*OLowp$VMeI@9$WDt@U>;+iQ0bgcA^W{{V{g zm(80unBpE}85^F_Sbb+*)0^lT-_~+=ue=Apj%%Bl?_CzW*VpQ9-nQRQ(!yZ|iuamp zr?+dVE{dkpA@0C&{VQ_c>U|H^`bOBaiK#o2{wQ~DexCh7RBu@#NCRJryV_)8bz`jQ z#=}F9awb8j$blIlK)Yffen958n(GDn7neI^dT;239wM`P{+7bKC8=fLf_8oWJX7br z7nUv5F2>$bu`Eo0JJ6U5G8nYRqf&c()8xXGSzSb(%~0A~r6EqqAO4yC)ugQKXJHy} z3E=BT#a8Je;wuK2fE%~HJ95)oV~IhB1|mNl=y!$CGI%M(o<&xt0Q$z`Kpv7Yle0?P zQm2qeo<}sruvX~x3}AvsF+^kmBoYLAK|PN@HCuxSC~vN0N0M|5)5?X4sZ<)16tb1f z`gA}ZLHDK>>bqt`F^Cd5BefRj#jW(|vjtC<6VHmR%R<<kj0o04fkCwyAXl zts7Srf{SIg*%CHm#Tgh$RYN4?Jc>|;8gt$$%i-h*m zNFKtf>vjgTJc%il6EeT*U5G7_k=BgMTU;!deADS^soSsS#P}n~o;*DvDwoxM? z1cSK;#V)t7Yy&Y>5%X8KaZ+S@NP#WD9zH0Lw9{NxPo{(w5CrR*y{rV=xez%jcHY#L zmtU#=v?y`+f4Z1kh3^J*0Iq@VPrt%9x z2Av4kitE=V*>lM{1GmK`L176}%n;5ZW(6G|7A=#@5+p#K{{T8gZads|QdD#6JK_lf ztdh3&z!L<9(I9u4j-yUn7D|N~6D~ImpC(Am;hrO4(76Y03DFKswP;+WA9tb z_5~Q_9I5Tj>z~PSzX?_Pc0p2Gc>%K}FJFdW6YTHfa@#RF%eUf`RhxoOq>kb% zPGM758Bp3_PY_8Hh>j>Na^1olFbaQ(xiRh9y5**nw`)*wU{61f72QJOSTR1GFpkm1 zIGqjdPJslC89R>EmDS$L;q8{j_WI|EN+qk0G|7;d5G$UfZe@{ zu=ye)p0=TFfIu6HeNvE})+g?gq<{hTpq0fy z=dg|k=8JnK0ia{P1i_jcCP9<}PJ}7`bl@&$CSG!bJ?aXNresTZ5kzGc%rqE0njS$M z7WFKA)k4rzvVePz-OYAHPL8%{nkdWZ6Wh&8q`pBy>q<=iDTN%8qa!>KJJ*W3Vn`qc za({lntcP1#XrD!C83ZYmKNaktVcb>!MC|uTpxI->MB##ZX^Y{3dC=~*JI|d)Y?S0jg;GgB~w8A z`_dA&?q&9qs&cxT?u23w286_z&8l`J=w0mo5%KNcb zBfpprj)E}^RR274d(#z-31@qtsxU{T(u70siI$kq7o+kLoR|VK*IKW-a*|OSK8Q8qGtZTR}BLho7Uqo4bq> zHveO3e9=awJre);FgJP^gXUZERx1gBu5|RqagQ(CaT*Npk-ts;6KK&&#jdE&u^TzV z`DcN$qBJ2iHK<3I7;mHz#7?A%%jIVczXb5c5+;|24V^G0l6Fn14T%eupCDQDd9S%$ z)%NV*x6f_h5(gflAJCyxidksl$}YA&Gh+irgWyoY6&Xmk-SEW{S9B$97Aa-_p( zn(VKqIje-UStt;o^yb{4HLYientbcg2y-ht&q|5|CSMcP>k}PK-hvA~%k3Gr z(8N@Q-ij>o?E7gQMoO&|K^ld~6c6iK@+RM~k_lKoVRE)mQF=Jok!-L}yS)b4C|H2k zvb-7g3ZJA&YAi7UP)sFaskx&Mw$oJ}f=I01m{T?O&S1-$!*q|Zz-|vxjEtU{$gWoY zb$J!3_)B&F7`n6)BWf5)=Sl?EgayB3sS<<>@~)dK{Stl25-1d5Jq5oi-uw8ZS*6@X zfK7jz?|iY=ngasWP$+(pFS6fmFT$(iwS1VasIO}-AOSwREH`2}#CGuR3eK#e6LRO%xd`Y#S|h(33Np2a|!M zCwU%7RQi{9WU3t5884y$SQxa>?xxKT2KX_T!?qzrYTDIe}G9cf$i2GqII>B*gSzUF@CK1a%u^YA(O@FIkFWO4U0MZR6Xt4v}b%o$T9h%hZz8}|Dq2Kvk(bZ(>chz3a`pVz^sc_fg zpZZd$jZyytRMVOAah3LdPx9fGygjnEXs!7RKB9ZZ_rVfKq=HQJz_ z=Ws-fn9ZMWU94Ys=6(+x&1(qns&`CP4{SWlpQ`S_4U&k!&;M~$|5imZiJcsv?m2oQ zoj7^q&2f0jh7l<@n8Gz$*O~aI&w~AWY|6VYIveENdSF)__m)#_1x$)U-J|~ zg2Ay>xj6{U6T0n6q2tHI_RX4gX~D>1EHlGKH#n(z-oCUwJm0i#tiiGAU0zXt>2(YN zVy3|dr%GRwPvcLRfrLI<24lgS5_=z0lcq%c>!DK8-3$+ZvtV*svO?7r1h5%tcYRyO z=a|iIfl-P@L1T#ztTxHrb>~2LP{>zqnkS@zewX~(ZV%S2;c2xb@X=y2y)L{;Jwp8b zzNeI6ryegt|I5*y^{~^nD{tk|um-EwU686NkBow~Y?6qY#l0Y&S_tf%y>zTeM!3$h zB_VIqDlpw=t^S@A=kvv>2KP@#LOh_27Y6#S%3Y_pre=G6bybAAUg#PRA4V>OAueKj zY&=B6Pp3akCg1L{ZPv!WWxNcqZnlYTl1|L`i>DUT&)RbVzB{W_3v21QSq45XQm(~z z^T6OjJL^+MJnVHO{IWq5)bVJHbzt)@ud>c+6MO4SUb4dDI~++Xtm%>{vx}>M^6Up4 zxw!~h0kb;yi(tMY5>E<7&AVd-OcVrgf#EQvNYgjKVI%uUXbXycVOy|zSW)HY7`d;y zo?4NJO}%gFp3vv2k)nSUm-s-L??v2?mbaDl*2>-f@|jG7CR&dV2CZ|y-QT)pU!+>} z@Al`OZ@10ul$P~F>)^jG>$pt;c}$0e4oKK-{`{e(;BPX_0tdY4EmL-+MIOPX^`VB^wC5ig*k$d4Kd%FO1_G8Gt(V4WldZM-)~z9X51(^XIXbbGb#Bc87rgxL={_ z!Y$*7_qTr@99}HX1`L^Eyq?4_y*GnX zlE#FZ!CQO9wVJKW48&%;au!$Qi8H{LrRO9X|4Z&NML$$~&H+p6CpDOyADgwvXl4%s z<3j@Qb)Uu;E|5lgt1?hJ4u%3;z|!12QKDNJ(3_hYOGnosjY9V3G7kLLB1FKv+-idQ zT%%kl97atiT?AS76lw94PguZZN{sgR)x#5-j*?c^U3B7r0jWn4^~Nz7CR~oQOD#JB z{uoCD3Cm!Qrv8zGyzP#Q_fXHpuE)85tH&JO%ZRbvKKru$v!X*Y+NP4m&0cmip2ZWs zvSR)0ZdlppTbIs^J<9$@Bu5)MuCZOI4u#W4Uus{uU-g;GEdZj*@!~hDRh-Plj5r7? zQ_^LoMCLbCnU`i2gb4>gOUAyXORIJ7$#LdO8l(*v4BKHO(5_k_|n@mNdi+@o7;5p?k)5Yjl<}`ocmjlFsizuOPXauGFZaA_{ zf5QDP1OF!-?&fwUx$ms`z&_BV~6TTD^!CRC9&D-3Lr?#G13t2$Vjl8<)1)P#(2^S>p z2lrPmI~b<5+<$k}4MNoZzXpw>U>FubYExd|5keb&u?2y_y+m=#y{#e)0e3X%kkxOg zUFHZVeYRFX!A!%(q{D9Ew$4F=A68*_2_5Ud6dnU307lsDsig{<=tz*FmFeus64j@ ze(*>HOM<_nQ{c)_k&QAn;kwNUBn}z@5bEDpoHZr=4>9BtDPNwMmHL(KPsr?Pn?l>b zui}(^jT@)y&xqjIskJ9!is zL>iz?Uk!)@;GU@NY-e4QQIkpIm7-;r8yCQYs>CSL{{gf$nKI}@^%XTKjrl=%^zKI3 zuq^!F3VAFJy2EBj6`mm;P1Qsb#)f*rl7FN!JJaoqbK|=Ra ze5_%&QxQ8JA2uAcBoOvNL5oJud9UN1a+o04dV!=fj^UXr*vJ#o#*>T@z|PEO|I97d zc$nK^6S?0j>^^#_WyyE5Lgi@C1GLe_%zRR=FVFc{L`3^X+C-bi+UBJtwMzsBV@ z(Yc$x=iAL5)-T`nJ^qROt~8zKc%S1jRSC@{C6t$`rJGRK@wYaUPwCJf1%ASi={s~U zY2daR-+>JwutQ1QjwyL-DDA>a>;;Ql?@(Ph)rl{@0nS2hWjV)UUDRDtSlW zuG#}<^ZoF=YeaW6;rsDSCimhGCtGh|5ay%~;iK1>8{4uE7D>;ou z(ZN(Bu;)sNcd!>A?uhX|HJCj1-i@YZ18Drb_WIa<{qWp8DG5`oVd3r3`C3fIk1aQM z`LthI!z#u6rzbAl^Bhxf8_i&|3)W$#>TvWh!r(5+X^$_r#(LWzW~(`w_eaDi(=GT_^V0TvHr7a(0nZ4-(>yP|ep)j| z1_XgEQp4}sxZv5h7t-PRr8t{i(Wva2c)*Vu8At%=-^)D=E`CY)TkpZ!Xjy+gDI0lT zv-KCiL-)2qQ1sP$mI)WF9UJUjK3%I?rrC;AE|bjBsRM{QGO#jAuyEFj`pJL}_q%SD z;)=12C8`CVAinEU(8a$CwI+AvOi~ec)+v{_Pgc}>Y?=(Z`I^-oJ;+sy5^L(+;$5MD22tXJyYaDeCR&znJcjnWl2T*rK!lTjlHPz0m)#(kD%>MmH zlHgfVO}GC0FpV$8fOFHBE*(H~f>24rf|hcv@&`c+Y`JfWL)AH-)MwFCMPkLrqoh!8 zrG(0KzGeeUmcHpX+tQ1?mK|pC!|-boCJILt0A7X=dVZs+yP8|d%l4VhV}XVS)+kza z;e*%caZ?49oY2XcY&rSBNLncEZXw=P^9ATZn-_yHA5Jr&j+0?xG$|ZSz)yI*`Qf*Z z_;*^VjhXZSFG^eXcb80z9JuX;^3hL1;!(3twGI9xo*yMJ;^Io3@AXEF{RJ{lbgG`+ z3sx73mAOP`PgO9+dp*Y+`k1rT(a$?kzey*Ux{FhybwMu59M~k#dj79=ozGlRWnD$A zG1%CzLsGOOc|c`S9vX=@?eg$FjpG7y3b}!mc4nNi9d^{`MQ&F`mBlvI@2G7kM)$*x zbH*5?4aJc!Fom1E1?>?Q*1V}#tz9*&u?vY7qn3m-$A{pF6=E!dTcf`U@u|8(4U5T1 zZNtZZHsh_-3cN_%EbF@TW!tJ#H2+Xt^r+SzrIezR@&TMKwC*Q@BIV(O9>FmVbLqRA z{Pp;WifIGy9KsdEUmS{aUCd3byW{{THtv@d9pS}6z|YOQ@9wI+oZTyXuS~$Qd(oC^ z<1@h@x+Sptn`VME$kTxzGr3KU;e{ z_bOIV44R&rK(DPuFjt&Bnn8!j=NHN?5KjOhH7`i3=v?*l67TvoV5_j`(M} zE+|r|C_l!SGB@jmaaZcO@)3U<0YN|8C^=}(^=*;%Qh<%H4na2gFM!MkJT4%xkggJX_nGs*rGPI~>97BT7Q zwyx5trs3jrfwH?r$~|Zn?XOB`RC{nT^VRxcs|4sx3Ow4+m$|*PiL1U;0R_ zzarfX18^Rt%idozXT--GeTvw^tJ%0ZOp9h{XA-un%iXmh`!J-pxJ)&g3Lq19jlLQf z0j3v3o8CLA!7eZx6F>|k!?Y{-aR9P0>0w%a;!odV{bZB|3c03{Jh%kpL!?}j6#O$M zta-IUyE4!{d9zEEES4!TTp=NT9M&oDyn_WE4x+*B0Qp;e7admT%QO_K+hS-DzPFR8 za#a)4wrMFZZ5at$esxHeO9#?*IltWg*rHJ^ULbsYpT9lg7@uYXrz3CSmZ|;jAd(ab z_GNf{=2orr1A`*>*z@QYC9_5%*>wI1TqtymQ_5DA60i7$b3VOH+5C9;3-8ki46Wu^ zSWI%7%Q0hRKF?{oFk_JF)D2VqeiaRB#11jJRbAx$ex2!b0>noyYt}VD$mZ?>6xrf}aUIQpcCtVyd3{Tf0N)Zd4i34pk;hdZ z-1z-3fF_)&C~?Mp)NpQO2&2>;{7a8^Netk5QpLX37Od*<8h)QB+~S0LVeU`s*Z#NM zZB-ACobE9qUraZ6=VXFMiQ#;$?$(UEd5E9>4R+76NlGTJjSVRaN&bX|3TM(*-x3_xy9jl&67*B2>Nhp zu~9%A@j}9(A!YOWNb1IFsU|7lrKYtr2;*a8+@8#l#kVEQkL5ibyzId$qV78Z$Vk}0CJ$gQfgOts~uA z)LCr4DLcJ#_Sr0FZZqTc|F;pYCO`kASF$Y*yG^BFo!=AV`<5>IRDJ1?_Kf7?pkpse zEbeT_H?BewrpZltbLS7Hc#CosyZ_6tIwa%9+!f6u1fsp$JN+i`x`;Sc*=wg3B~eVj zgwwBXZ%QB22&MsRc=$~{K2XxbLjd*h2+{g^V62A z`b@En76ef}_MYj&;EcD{?zo#&>cQBLtK=P;q3XK$SDkkK!ZB*2TM|SfqB+7_lZKNH z!Uwl{VC`Z^FNB$PZy==GE&S!oD*|lzDgq6dDAX0JH}wb?71PYHX3l@c;(k&a(cI6V zu(c5Hn%twO*v7qDTuj=)gi>P5@9(TdCdD>wC3nCJ9%nt9HS?^;(&Cq&7O5@l54V#Q zA?9paTK{S`J=DxbEGNT$*5okF;b#mmR%~|F@bn@vdW`ah3JlUM+^-%aHi?bWlharg zKJ_wbm$CeX38WbGaerYW&7zCMetJ6kss3HY!4FT)SLSxDfF;(paJ{LZpIt8$&25;> zv>r|T4{*Bl6l=4Wy|#qlCxFl=oS$0+N{;!UD)O})_aA2$R(xv%M(@onJQ8Rp^uIo! zL4%K+uGCgsmQN)P(-FhqbAx?TTJ!1ZpuAItFD?YmN0cVG@o0K>a+Ps*yCvOY0^!4E zNa}1MoU(*p4$C{Eb_q54`bse}np9o@V4}GyX62Ah-XaxLFHvEuto8HxlQ1Wnzscdf zWghU*#x{X9G0f9k)AO2uGGooz%3#^MmwXK1fut3glW zgScr9#Oz}YlnIfFl$cuoYFEbyg|X@Xsy!MA$%x;3QqfZZ{j~HOt^>^kxv@Gh$G*!! z3jFr?A{*QY!64n~zE=}_C0V%~vnkV$3;(tEXeOEwII(D9WESq}lvbfWdphuDdQR?? zMohQ!-KLbHtg;0TXAs*t?swhOZWP#1_m?oE|4J_@V-47#h?~Tc{{eI+D6^ceF60oW zT35Gy8hp?W%ugQ#BMLB&emD^3AlQf`Gyx_yN*lcN!8VN7IH-Z<(943clz?J^E?Ucf z^3>6dcO}?kTTHfV_L~h#hl@QGeITBMox70v13xqIcrdhIB(6>&E*Z0p@luuQi6{wB zHBShd4I(f5og~v#UJbLui)Zb_?d9|tuWL>>e3ZTV_)7d6z`uz^c4zaw-=!vC(ij0y z^;)RHxfkyw5S7^N_IL;}>Ki7Ua-mTK4D7Eg1ug=L4SB?|?UELHah%4&aWHHDzApK+ zSKKNOI}7=7;E|rI@&o(nS(~r(V;k8Szl@#>OwWT zOHAbFZh2Y*_D#1tz5=JCSe{)nP|<}!a2%I@6N@0|rue5TzPU~$-TtLPQns?Dmc0Ik zv7P^myavt64_Eegv%G9XrFJ2=HEYS595b8$SceSVdayDNQV>&=TZPM=7-0sc%^=ms z*|Z5n5+65INF8Dsxo!p%#NKkhscxAMoQsk$SpOBAqBm~*gJ*cbH}QfF%0%(i2#>S{ z=i%M6kD95P^6U{WzZk7>D+Q+M zk&{$^t>*_2QOeGW?sYvEbL^Wm0vf)k=(2O=mfiKyY<`lT!}yy@Xnh{(r*5)mmuxC= z8Xlw%e*jLATNce>Lkxh7OG03zxzZ!^ofCiA&0Z^Bm(Muvh(lnJo6LKbwd64&X`cv@ zBE1jmFE%oVsCQE#T&G;WdLqBKo1X``alFPg=%rY)296Q}QD$qC8e{ zE3$>E+x0*Oa5s;c_Al?MU7@CRzcY>`1Nc?M@SI4tQhiq}+* z8v8&o)y<*Ci=)X-P({k)XYi^$C8q8PvrY&8q`m7QcA^1+yiELqfQN5`_|Ioqxnt0-OLO1=SI|7P>y zTT|t^|Eo4Q+y>+NU7ZPu0m32s{)5pcK!R{qKg}E8BTV8x_SZ{E;XBtVwu@6+f1@|O0n zss2R_po<^RjIK{c(uQi`w)v>n9IxH2GM#@u?ahvU_ z>V0V*p5{eko3PJ8hJI98W#Qjty~rhgN2|Y9>+wh9%t5EJ&S=AqOv&B;>+Wqsr`zr~ z=4@&7cVE%6)I|JKc-i;z!}q~NH^cp%d2lCMD3h;3yMMhspjcAsI#gdjw zrM?rNH3q`=>OairGRAbHu2=<>A@ZWeTjw*_*`pp9zNny3`UL-F1P<)FP%3UeQB#_w zALCa_Z0_{HG}MD{q91z3A-v)e30q2Im)7aVIer!_#QhtFb1xUySbi)-zNeO+nbqNK z7C#A)qd=qc9-SIMQfik}p$!9*Wfsu^Dkn4)Q%YfM_=2Vs%413p$R`L&iDtF#J3+ zpSU2|db=(O>v(BwZDbgoLZF+%>jJ_Wem0Eg4RY=EBM3b|qO4)TU$}xv1V3&iC9M2p z@jfKk>HtZYK9o2mwtAL=n@}_*HQVyB+Yvj6?&;8p%i7Hf%`3)Q&B*k(s7aDNaldRd z^Q|z@8BcgjoNM;M3dIKkc{0B-UddL@cNeMYf|wX;9KSVHREmQFZlV89|5Zs+x4(f6 z2`wnUw2!{kN2EjrvC#By+M!0?==%&HJwp65kl-0-u>lfLLGQn zj0ytMSrg5K5J#zIC?B32|g=b z9POGoggVNyHkC^nRycwpF#to#uIpc~d6J*27B|SIpKIx86*#QPPn|L(*>J0XgM8vI zhF1;N5;ZP&SDOL^D%k)+^4;NPEW5@r*o7p0I>IRgKNV|s+UXuBBOrump96~+I0!S_ z7{DqX`kq<0-M0suWmkZ81Qvj5Ze$T8F>{1s5W;^u72jL2M52d(yyd401v}tGwfv8m zLSb$G#&(zh%m@3c?3L|dtlZ)5UmClRQDN>*d<#$-1>+!|>>?!rB^DmxJnf&LQh&;c z;Pvoob4j^WisHKCrsJf-Ax@bT=gqcd8qHMo*oXGVT7&ywfU;-2c%kZE>r|z|xNnx^ z=n4Me#WFjRl5336D0l=F9+U{}^vp}p8_I>j(@*t%RJ4XjVd3gKYsCX*dXpf#ey@;W zPwpZrcYqZ;X>Z=esdb4*?1OXLu=at93KWt}x5cJLaO zP2CA;Ze(kX1zy@9!4Ti=Q}t)fbsENiNfNJxLC#JdJ)~-R5u;u8niqYjaG4^Qy51IRF_$Q!|lqWd8nwpS+02hDW$5$*Vb5ULi zUS@d@D!nt*ZI}*3d~FdFztkPiJVBB2f}&ONH3DR#rT_%fpf00}^=rLb-gDr8amn*X z@w~}f-9_p$wL;g}w7wp@_6(OybCn^I+6lZzNcD7_@WHlwZfoV=_`J;%PK2#YZeyJu zy>d@4*q5_7}#U$YO5#2307x++i5s&@0yFN=Sy6) zwN#`>&uJ5r{W~Gjm9cVLCYCdOi0O{$QfZO@zH0Q|l2mH)3>lLAnlx}Eh1R*Y&0&`r zeiG5x$B{rfi%taa5B7H$Q{L`d{g-}=_81ribXa9|RK8C6>uTfIF&i(0FO^#+WNT|A zTqrWKYc!wq(b4QlO~O6J=t-ny*w+znJbmo+D?}40Rf9ix&~lqt*z&iT6%2{vWaJQ$ zt!C`fXNMPt>*j;OFZcc6d4!w4Aj-dY)x9>RBRP`*U>$i_e_{l#BVQtVFOmtw$T=(A z$uI7LBx&6brLlJ=WGAcx>O!w58#65fa*q zFQ>#|1KdJDT4}^wV$#}H+$XKnGHv#u_}$1F++Xa$cV#TxDWf2HA-$yw8x7ziO8`q@ z6@lG2o}fIss_0bNUru+yHvTbU_?6%;bpptnTuGVW4UAt+yqV%uf}pPh-9X%tjIs5> z?NAOL840B@VhM^TYZln6_Lm=OUZjUrJQJVw&X-AG7EWrS@Xtlwss`_NA1tO!$6C_Yfa$U(Ipf_WL zVvc0Zc$TU5`CUM>{4c`WrEInRT5u$H`LjV4{Vjnoz#>4`j-%ok+2Dg;G@Y+qF76bG zn_e&0T-HTQ_rmd+MSkW6IK?A`uY8ghW7h*hXHJ~q9f~X`F6yjB-uZEDd#gRM@uYZi zqYJNl{D!0-1gh9uDpsCOR=J5Wr1kIJIff`X4>Rb%a(&#grF40@`Mgz_D-zY>xj5-P zJ-Kg_p%M&Zz_!KHb#_Y7?!&89bf>J(+dt@jOx=iKmn%~vj=7!W3%1aOP{CBn=?%Y( zu@zxW58f=HLmxGUz1rngN}`15n;oDLofj>wPBChq$<6dX(K_+~7_yXo5&gfv9~w8h z(~4h}{>;f&#OffJ$ERYz`gYvP7M+bF6$))G%*{~Tm0I=Q5IBHH$QVe`gK@<-AUz!n zwC1{lA{`i1j;N8VYS61H?w5w&qJzhgPllgKj>Z zxE(wB5j0~=SkanTLck2REuOJ|VXEoXC23bjmkqWbx~+i;k{%~PVpqt%Xfu%=T6(^K z(;v(l6PisWh>m)^2e_PP2v2q5PN1tnASqRZbrNZqW5%s8!Z&--51eS8heOzDyph+f0g`qMy z+d)6c^4bTNK4jtTomG!|kR7X&ZMc+PV{GsHIr&mN=%LcdQjYqpNT!MEHQ3Juy+OOH zm$;g!c~jZy^|P))&1u#~<(TSPs;2(kfDI`4J?&n*~3uA?qlx#BoAadQe*_D%H!*H96>7xACm4~O2tNPxQwlqZdy@s8A`$(ZCEPEAs{kpDD4ff3YVKw%%*lAht6$bWC1ToLIDVDl7n)^Hn&sf%Bx`Tg zZfat!Bm*LOqfF1tVYu7cW>@DiaRz0`KJ*#g+XFAlRWtpY^sYj#m$CYuIy`C_Yy!U` zf=!aS7m^jZN@MV#ZxU`8-JURQ6v1TiDM*dShf779W%Ed^raT&*FK#zp1g7SSu{_KU z{WuTvGueZF))L-o>_&94vM632`4keg?*APok7XC0J&(q~vUk3A0+pIwt*kCxG1u8q z34JYD3FDP1ZxmSm42<1ZHbwNCx0{Df1`wtfR&ye-8p)z4fE3w|^53ppi(lb~KW)u* z47Q4D;4@sv^=Yr4{g+x@DmH~vKIRR?$%}%?*QC`81(~cmg*rw?eFlV~OzADn+gYGq z$!GL@pd4#O4AzUy%&szdq#F4LHqOCP%eMi;eJ>>e>i?>H>iDo(0ILjDn>ig{)mNIc zQ@j%wn>{iKCn2eTGnX$hH<}dA*c(phF#JKAb)hBt5Tp(RuC@0JT?rRNL5HGbYPnJB zy;AHWWX99Yc1gDk8G8~{Js#?jYmCLd8*{jX>9l`|51&7*N0!+8g_1XLUMHk5X8k8` z-@kPv_IRxL#Jz;8h0t~&e7-cx0mj&1_$#J^bPlQ)Uf+AQte~E%^6Khb-t}0HslfS3 z*|dDoKs;(Z`E0ZlhKsFq0m)q6$c|eTs#ns-F`85(G|!!$o?=Spc3ZPnd10Ojd-+^_ zR&-5JfeAMgC=HPNQp;X(BGCRLR&aWUgU+#KJGN}E9kT+&nx&Tl_*BM)Ek;Q7FmZ$ghL)W5 z=VXd&zNT5|JXIHFrT=tV-F$wQb^W9~5&l){P!sRjzi@lk!R)i=DF?+f?go{N;wR_a<{9z*eOyNYz*QrpxYs0MnrQ;2eT9>=ClPs7^<; z4_2wwembAL!^!^$mZnTZjnY*ooTFJIQ-NC&sB)dp`}=U|!n{(3F^ z#WSic8?KZxjDI>2Ke_a8T>j<{*BevLxr``FF?9oC*yX8~Wfvc+qxlF_RD^D?73$k( zto(5Kh(-m>0@9B=GvRqOx^5<%;)z=h)s`%SfoFSo?M9O5Ts=P5-aqiYixg)Hwrs^-k(K`< z#`nU)XS!>;$0myf7GZskY5hV-@wI2&fu?1}a z_HZn{%{ZR&m`K^vXDlNLE@(=>P<65OfZ0wa#@Jphc|EAh3ga!~I%BbHs1cn;wq3XftRcbtS8cod^Cyi4 z!cH~tw?&b3$1k<0Yl#_T5TtcZZmy#~r!Lso^j}|T+n3VfC*{$@!7hGz5Vh>Zr5S_g zm`@DV(4?2r(&>f!VVE+$SpZw$t58(e**8`n(PC{roni$5Zdg3)#!Y?E9D13({pUEI zy&xoiba=zguc(V0^=N3)(3537c$iu=k{A{eB^wU`iSCwz$>==g7{_?;@JIN zWLVRZXqLyy#C(G&M z>JK(7nsWcuLlMId!;lCo%gv`U6ME4k2nR6EYFI+9<2?C5P2TF;_O~LOzN+OMQ1?8* ztYns@OTS6+& z@EMIQ60eHknNepHi(m8{$L8gHDpSf^d^P7(UeX~VJr66@NJnOYm52}*aOansTK%?y zsuZrg4qLdEe6iyKq@bHgO-WYZZyF}VFrd&m9Dj{loXG_+ zmXK~j;3HvBp3cHXWHG(Ln=TlL(?@%z^$25iLCG!m$?$Od+NrrRMDD!O))TVRg`w5^ zROvBNWQ0!dqPM%7{N8+muWW}MWRj0Si$#^Y64PBc)=>C_S)hYiPwtPX|ID~9QbCW) zRK_@9NOB{?*Yn^~JfjF|eoBeGI=<~Wns}*%y_iX&M!kehA;6--_$Z=FX1kEGjrW(L z12zi|3Qh7N)UUZ9KZp*2b67-lL_gqne>f}fmAcKMoHw&=e)6W8()|H<%nx(gF)WvQ)Wz$tvb7O=UP2rPz_3^G&s--5ljuo)R9&Bk-$J zVrgv5&LjTq^Ibiu#^3uG*!OMc3u7hHCfkIRg4z2lt$_?!Ad~A&g)`auOSE0ZZJTq! zaab)6OwA%9FG96KBOJ;uB8T;V(D`tB@K;nUB> z00dZY^GdEjY#svkvBUn$2K|?)A4d7t!?^z{Z-tTLzuh_;;sn|KsW;cxiz5R)Nhi#i zSUvzEG7$!eZof;(FoirKBHit1Pa!N^q||xDg$091QiYcbb)D9r z2~3oK$*(6ltpp4u)hUz9-pE~~xJ;$1PPKYF|4Mbjd1Lr>qtF@;=c2Xq2qk~Wg33}%>He??)<3$E(IG=Yxe&D-t;CNyUtItK9+uVM)#ULT*%Nl z?fd9b*%v84c84P5Ait`u+R9O&UK*|q{0X0Bh4<+=UW6lUMx(s__l0FgR@a{+)!7*^ zgGvaZ8JGa_2@N4IFiDMA>*E0xKw&64eVgRE-XVS|t8szGRy|YB<%68CVd#dFooyF$ zGTzOlSxM{&E-h8w&V{adcLKH={yVlnjZ5YUbUD=_sjqwnDgGEN8h%7Ww9Wg5U0_nR z&-i7Sn4LWoN(u{6238-n+Wim?EOqRhTo^5X^43SHzS+cr@Qxa?0{d<$Ds3#@ys%Kh z*vvhA1u3Xh{WCQEkHU;4IBLW3n6VaeM zBOiilHy67+6q|^$uW;IxD{KiV)UH)!4s!l>fe!e_fWFTzJQ%hOoIxj|An!gg*Wad& zYUxMx2C5KzICrbi`Y?YEq(381=bP1qGMVL6MhgP#U5Yk$_-y14;+PEC`!Y$nh4G!N zUmIF^rPf0U*mij2)1#%q(l5L=!3wzm0g4e_KRC#RbY8f(PBtn*2$+}|Kqy-&hvC-P zQuwhz2w9(>ZNTa|^ybOsM)Hl{Y|@LIYS_!{) zrW{%d{3AQ5xq_=wQz>!*&4%$~g~!cq{8`dv!fdvFVC1xw%Pnw%YB$Z zkq!Z~J0)j)R|V%xXy+w%l+P_!)vKLb*HcfSHlr|H2xC&}X9K{<&dnX&`7gfI3>({X zJoOzmht-$HGMf?K+yAS}>CzrZr;jJ2J=KxI?g&q(cA-bGJ5MPmB}!#?>DH1xzT&t! zB|s5X0T3_j?1H3DHGlPtRqEl1=Vr+X!;Zpp`Iu6uJu{v;=}l4hiTrjL^tq>7w7YgA zi-+F5JXPBqbtbX=K0i<9&y9PK@;mt)lprqI;b=_!(`$=m7)@sJyz$wv+^jxW0W<3z~a$em+ zuV<9Hctd%_%lwE+zDXKUje!|3r#}_9&g$#R0jpfH!-a@^ncC@U{Ilk27G+L{SY!o- z_hR3Jp?oI8_@oMfM5u|v`-R=5e$jqCsf-bU?G~>M8kGCHRL&LM;H7SH(xV@E%<{LF z=AEZp5HZLE4KzjjHQ~d*sjo=~V52xz3-aB_wDJ9T`xX zSSH)C58&)vT7Oz*hueBcQi8Cg$V)?K&bDdH)XmvbSM(F92}a3;`tC~YV^Lx1xD>eg zeU54<;t{CUr_WwdchsYk0aE#X_gPHeP#`i;Ud>M>z5OUSEBQ#fQAOfPgyy{_@xG!p zs*^9%2ezluzwl02y2Zx9!fYk}IqZnH3;e^*)MEdc(^zqdmNz$)A%TWrw05lvLi*lL zR6xH;dTw%egUC-_PaXPKu3dN8VJ#a<4Brl`(We#dN%o{s*;nxwm{MIbAT41rizC{T zsC)Q-ixXJ&>0eE^ohf&Sz@t8JFIh-uGn*Ol3ImF9d8z*M$XY8+izt3RB)?*CXg#8; zE9E3Zu_s3!Ji`#kFzw@3#aTkvG}MN7B347=k$c14pAx#j)el?We71`h!@CLeaLDfl zJ6CqVzEP?P+PH6Ws|v=`qinGISG~?GR`c7Si85?wNd_J zf1AqrVaW>VWMB68T1jQTJC5rpsJj$JB!0|+#Bds06*nBzMy->@sI47`At-kHtDW11 z1Wo}}!Cq_c9R?cY8KyBKWASV@zlb({U25a4*)TJ}=kCwXM+FR*N=7_)c&ZR!%b&Qj zUh@@r=5fH95oBbRKOsv<0ESM=X9@39^P=h%e;R9IdZOyPy5HlCjgq%NG}M#Bd;3Q)ti#O?=2=!cLOJGG~-Qs99q}h(J6RN3e$htY6btn zw$?16wmm_&Q*SSDEeo`9ApRW&~#?U%q z3i4rw@LEgFXczPv#JHf> zNr;K4T8~z7@P70kEpSnCzqIgT6{cfWu4^D?4KD%9r06#^$RbxoW87Q<)e)&^@5@P4 zPz^H-qeUItu9mz~G3&J^p>DWu8C{~03!d~%kuVxq%I)Qv9FNavWJwBGrJf|UO#)*- zh8i?&`zXjLWx5W1cwVp!Sm0T=!j&T0Y*;!io>TwMJ|L~Pu;YXB-*Ecodtp$Hecd){ z_`Q?fSJ9RV7G*j3K}$b>Mb-Xl0)zY3C7)q#>8uGKNV!n}l-JY5R6xOi?JTTo6%$f1 zc^~7UBejpXTI%~L; zKJH6DQ)W_)jLiyoQ>+0n4&CLT-(zy00*ak5MBBVetUZ!y1Foql$bI#z2vtFbQ#$`` zq6h*ynY4T3198N>@YFf-l``--x4}F6-PHIeWNk@!*daN*kcldZ&{0ODA54!V^rOy4=qSaG5@MFUROClmGMo?&Qx#edJ6}S zj4>&QiZ;aM@@f!Bu%LZ> zl}GZK)&Xt6b&SmsoES3}cJMgU%C-qQt%9Aer&zp$c*2o;+FQ`3b(J?bx_e)B7N zJT5kL10Z&zC%C6fvhH*YR<9K+2I)KahH+R=aq_)>y*?s3a+3UR6AdYv?;%mV&$?~c z+%=U|B04hP%zI+N&4vqCaQMk@;5i<}u6W&EAew2v!xKJepc5xs;8vMmqH8wNS%C+!X0)rV7qpE-O<7hcS{4#gPwNb6-e>Je7M*#l- ze|j~8Z38B4ql-xbeXCt$?ykvqy4MaOHW%1=^FeDW5VXF)ATjKFQLgni?cDXmW3Nod z=Cf}8pfSZ3+U%39&-kY$O)q_w9H@XGjSt>UXJ2x>lCmN}nx3NjI}*+a2CHV*)o~1} z51Hb&lOsFrTNb@SRF7|Ja?pYS1i_i)51J};WGqNx58dXWQ|RWP1F<;`{{ZTy^(v&W zTZig0q_&Rri4o$2Z4%E5f}O!JKNP~R)KobT@vn33T`h7;$@+kSkoV@NRhk8xWtl=Q zTJ;F;PJITmbOy&Z5ejBKkK%=FrItp=Q|Z?=Jxl#dZsk`ZWJvGcjnSB0l-z&xE|mciH+ zpKV!~EWsVP{MLoG7VUsQ`h?DecBe`>C#em{MeH$}o~eMe5m*-F5#D^#w+iG7O69$c z4{BoET?r#WNyP*}9nbtyQ#dr15~Kse4}R3=N*O^RkyFG974!k&2P2Mk?@?yx2v?9d z1a2z7h&+09yKYwC(9mz<_7tH|3m}h7dvn^fKA;wm*_LA@5I8>cg~OScodYw#^Aw@z z7aT3f3k?ut(2F2-J%QVHskv-iE>r*p)E@Mpa3NSm=B`BRXQa9X!SwkfV6S6LsdPZ< zaUK-%Keb}n>Iwmin1LV|{&lO;-d2XX7$_Q(S@q5@n$r4B)LB9t;V>WxC&eMx^k9He zL$Nsn+uT-~6;qS~IW#-KTuj4DZ)(GeiELGx^O-e=#K^~RPNtaX`h`{|;NxZo6n?L# zRRxi>IMm6cN-zr~Y|QwrES*G4jbyrAfnx0a$DjMHQU1wiBhugjuimq|Vx|c$2|EMD zJgP1;1oVd4ksNSlvFn^|&C^kl#N~%F49~S_bg)^OK`0o8RxyllX&X+&Vr7gES2BOa z9ax?KcAb)9KNW{jzb7uN7Rm^i+0^zF2eE3}MX<&OIVjrDuinW5AQB=~i~&%WNKyc0 z%R^_?{%SI+CfEQUqn1Db3G?2p{=9zd%t@Xnjw{L+)3ML0Mftr zy>J%Q)tRL83^W8+Pc_ZgDqgXMphIyQGyZA?ptu%EA-NlmVNFWNBN-rl!hdR`AcF;% z#DK;>aoVm{77%*@P0a%^CQSTQFv`;mKvBeq=AXrz2Xqp`aw8$HY6{sWM3HRlng0N> zx^j^Q4Vxj;h{zt%Q}pedU})xY(BKLs;M|xi!6frja&Q=Zf(A>W@lQb@1+wMxjwI|F zkVyb!3Fb%gq6=SAPD24Q^s)u#}$5ceivHtNbI={GSN-ud{VwU+yv z1|x!Z9@RffD`VnNENN{~rLD;hoKjMnfk_MY&fVyMgoxIU-K z2anpEpaE{#N%b@CSdZmITSnm^tVjSB(KT}<5Pp~)ff1^`ypL0DGqw(<7Ekl4P8+dh zf+3Vbz`$WKO7)5s%mz?4JAzMoaao(TM2}9QO!=yHhULY%EEuy%mX!zQqfLc$s=Ts{ zCqj9qdOLEkL^NtQ`82iBi-txlq-^)g#XI_Al~alh$q+kyR)oEqUq}r5`2fJDx=X+R z01=xqLcvyvC*an9P|nw}SrSG@CVnWk$VqF=OMeK%(kd)etxx=tU4aS{l0k#dKgzoG z*XkSnWGbX^Hz&5MJoOWBCAG9N9frkf{+gDsL2~J9o994(n$FBqBlTNrrC4H9k-@J! zcH67}0I8+|03W@3KCakn>=49{;jB)(qygDLoOiP)-mi|+*E-4irvb79aytq&tBrY; zK|mv(^*{K&l_cU9ey(8AZKB#j*CdcYkaQ2dX>3e~`g`fqBsZv)A+pf@sC`ZH%Y*=1 zK%GGG{{S?Qdo6j3w2nmg_Mt7ryMNLc1HH70pUS^YdtEpR?8u;v;>u+YnWYPRDwm>c5Pej#xk&J)???0J{PX_#1*nUfwL{)Nt(* zMPADg;3}YkCI^2tuKH$Rr_%*pKp_7B2#>`Rr&)0KEfxgBNST_Kw9liFVq|tR-f6yy z$}0Uw5J)Wtg&cRRt;NWvP%H>CVL67fN>aMltR#PemEv{*d z7TvJfhFF0ehmr3@I?uLByr@&TX$N2T%?|SYCg*`np?hp`mM}(-^rf5s0JTU2>S0cR zs)+cx%jqs=GY|Nd-fG^6dRI?2yH}=J5epcQdy2fXvV>zI_CLIiH<1N zfk_Re8>*!ib;%1h+G04$sd26tEC!G8osXJ$K(vb6U1}iD%?s%uV~JtyGx({MSW?#n$zhmDVE7}2%g8pQul2eW!XZ7EH*cesitt3jkOUznI=cErPb4u7V2aX!2%^z z&b-wY;LJ-Xn3>S|uD;4`6;T%i1IZ*(*KXp_PD&<6k9u6eYgXHvcQQ9s(T?>Xe9(H6 zaJ-fdhie7_{plMWKo*E%TbYAHd-6=lQ`qQJock>ahF+%i4aENdN|m;)wFG-l6hvc+ zL}ipgI+`c`F&r$8OG$%O@gms`A!WIOThGlc)O|y90P;ZG0nIcf*QEhd9XBOB}y7c#@nTGL$;L$B#2mw>SAVD6~VQH}5g=P~bPF<>(6uq#+7CgY@3bHV8 z1kah{+NS6UIC`2j9P>&Yb(ad@h*ic3JCRzpg5Vgro==QxBHhVwTucZuWAj=)JNRmDNd{J!MKT!Y$fgrG+ zed{X~9LlF-BLoTZVx`wL1&zieV~89R;+R!XUxOSdQ@?>mA}!z)5)_=wZ;cf@TtU^9PC| zxON4AE8LF8g?RlxsLN;q#uT2wjwZXO%sd;arx@9h9sr{SKhqTqAekCcHv|0B2IyOo zLzb8fy93`{>bC5s(hSbQfYbn{fz;f=QBx2AClkm%WhMk{`_|9t z-8!wontF!uZRJYz)|e8?voLgaJ>s-2-Fsm}?pgw}f_`Z4tsKEVsW*uR4nQAq=kZY8 zIDE~_n{gye`=1nhcG=iEuc#CG_KLe+k?O#t6$*3=9!yqE3B9?r%q5vg86AE+P*%vc z=_W0xlFZtzd+U|ZF)ECtln?~Rn$7E&CI(3Xc|5m*M-=C>rMj!}z*TQyGfJ`gjj-N- zKGl0jU5hJ7@l0E?3(v0{qmd%7;y#v8S_BZS$E!nrdr-QNTIK=?X6;%x?4`A441FWg zQ;Dp@EIy^cS8^N8I1F^EO~uWCC_MApDAyDVO_4eHnqI(rk1Ru#?U0CyHO6F5SY2*G z(W0Cx!z9@xuAq*86l);bQp#fF2yY+asNeJx5NhCU)x2{7{QKFlB=WNBhuCwlYwF!0*-1y;O*_-Lz8PkfiKKA2g>~WyR7!IIxfpZ)$J! z zt95m<88KjF@11exouWhiH&UvKK~^7VP<8}we>CS#(0|hk%7e3VD?6v@+5z;DCKYx? zJ8s({&3Cx~_8um(v2u-nq-&PiSj%vukNwtHQPMEDGz5*z3iOAl0oNtQRv51*Tul&u znwJ4!E#bnoPT}Lu^t~#o`kQkAuaBB?!<%6P1&#u-?ekXZdO#h5u^~p_Nc?-$bZW13 z3!n*@*B<`>H9cL5=hIBtw!WlN2$BgiKNKalpasGv3o{s#=jNEQg&+M#Uc`f=_^Y>1 z{-I=M9Drj}SXkaro2MRwj?9o^Mz{upc}=!9t`?AWCPgwHeFY?`BmjAV-i6edYfeCb z4#LPk^HS0%s4^;DvIau~ugBt|;)`PiB?gYxcjl>O(1v1Qsh&Bmyx-}P0S%%g)U<`~ z!ksq2#N{wO>JdVQ(UG7*nv3@UJ5e+0EMyROLtCLvVCh5|*!)$==okt?8Wo?8`BR450r25bxTioN3wxKv2yM{5CIJbZ$~2_Z?T$Om4Ms1Z??=kO(;}vrZ~jBt=w}TVyfJf{>8vk09eh zYlWE@I0gtZAQ4q}Vdxml&)@A#wHO?L9*^M}7$p2s_aiW#rjet;_=+v~SaPNa+?n6E zie5mwkOVhA{{X#IO%SV0A>RYR^A##2!jtL(Sdq;HBuh9VB%SJ^wXA_8$bkd#R+gCC z++x!`hY{pby9^rxImj z`ct+pt2QJ?L$;uKr22*pcVpAU#DDIa=|BJ$4u_Gd(vbZ!TyhGM#J0%bernfa>#T!} z$K5L=5$@lpv==(x6^fym$UsMBAjU^7P3ub6744qnhdh|?N_AIq4j`Q1oe603 zUW@+#9^0!Z7%B+y1b>>!z0u9v%%BJxCt`dE_NwQivFEym#zOruBbnxx>CvuU9rY$O zD_^haf7DXqEsZEV((P;M+a9epqImYMiPXk-k*r;WVCcS`Ol$K?b-h5m$0AHf^zbNG z9E36H00If~NvoE)8I1d5H2LTHSFhpjoFa@ee53FU6>kL?DGNNRVU5J$e2+C|yh&wp7k?ysQavLCQwIoX26jEEgEvM{ zT6^W+-m$# zP>Z*e+qNyp0R5!*{{Wh>yP9Q+#A6_TBUb7yCMEKg*3a;t8l|uOMf8!VDPs^v z??Mh$o93;ZLm41fR**;nc>~%g7ciJYG2}--nkuW_1%rUV zPQ)0bZ(cI0Po^~^f6A1HPxS79Ku9bleLS@L(w$YymYxWZr#*4cG_bzP#lsns0CuW9 z!uLHzpzk9!bClkOPOPvhNLC<^#RoNTN%aH4I*)&P=C-T@EIjHCfUdM0!jfiuO;@BW zirB#;9?dk$+suX{So&ab`L3~TF_8d)u+m38g*ukv(ILHe48#Hf`5)4v)kp=qIE5DB zmOOW+?b|r1WnwbfCzIX<3gy;TR3j1z4LjfXpf^(huQSVW`*^APVc%vf!$1N%>VVss zL8Byr{HUblNwz~NJDql+98TUeci@iIq)inEp@-7|NC3=pO5I;k0L1POnWo?(k4RwO z{$2YTO7n#z29prL8UA$PRU{}}=0@aq@lkC|u7K8>CVv%I5`mI^<|eOfk540eo@$b1 z8VQ5EdyRf5&KW>Jq)6Bt{M9U+hx&k$t#G3S(*xy>#Z5I*=#UsTTn&FZ(&?iG zZ%7$L9!+GU?Lu?ys(QuU1yBt3Q8hh7jSF_mC{i&qAp28RaSBO+vK4px(w#f{qYqSc`c`*Pz}|c!K)@a<{Y$mZpaRK|=K&>0nhO~v zbvf#V#IMvvV%X#M$^H}OY6A>im1K}kKt}sTP@l9hVo8WRM{!+!onZ?I002pkiklj8 z4a@lyKp+SLTVDM0PxSAGEo>_jus|KFF@`QP^|peOxc3!hcUF(6G9!_x{{R&4BU?*x zMX76!PY22TR9Wf8#8q>QdZAWH*Ktbpu0Xa)%}D^5f<3Eyq*eNSdWhA`rg!_rDd`%rP^L3a4Re{GL||m#8#YJR0>4v?mC|U zRbI29|*WYXf!1i+V)7K_I|U`R218;X|2OJP=QR@l__3 zxYtgjD}XZtk>pH!{%M4?8KsC&P9|0A$MaEIG$+?s6XoO3xxAckRuWA=s&kyv%;y&iae?HW{ zo)PNqm$G&woi6}u`O=D>lno@24I__wCsApkjl6>J7mu1^&8NW`p+?M}54B$8PHhc( zd!pH97{-h&O#9J(n|&~a03dVarkgn%W(G};Q#$yHPU@pvO&g0F)CsAVS7rioxov`o zAW4Bxw%Jr1%Mbu!S_k5Jr!8Agq@)MR41|V1_A0AnFt!=|9Ej$tQHTa@Ftm0@cG=$% zO58;yvj7z%(mc^x3VD%hzKPa#g-zkp%10AKs(?02t^gB4lsB z#b5C)E}cv+B#Vuu3;CVXT{WghUqN!(;$!jW-m`jZ*KIT$ahzlheAbP=x7MVbF)&sp zMQ38=H(_(><-YYICT2HUJuCVSHkF7m#D$*pr$>3NrMBFN0CFeAXsxj11;n`qKruW1 zwVkRjcGO&LGv_H)b)#3*wR$^diQx}K|$Yn&q$bGZm(q&}}Xkq|@BlZPKCK8G{%OvUm}yWkFi1VBI*OH{Wq*ZU!0UX){%0|;4+~r5fjh9wN7F}qj5361XGR~W?5xP1QRkn z>1Ps1AH@KX@6M}!9Q}Y;DcA)-1_7DvMN6ehoJb%}2ZQox4v<(DC4nI8_Nib|3k~wD z2J2|TkCDK#m>_zXaqnC%XMScU)sWQx0MSVmfQ+fg&^t9PcmDvvLbs1U;+_$*;e!HL zv`ny#f0~lT*>ct@Oc6?0Ep_oZ5LRWqAbXl|A1iMp$NvEKrd3s6{Yi)4m+By|oMOp_YiQ{<~LXKsGb zb%^&BqC@GGoZw8y?6XtW+hsmZ2QJ@=)3fwi%L|AYx{v_-LwOaI`hW)^0f7S`W=Qs^ z{;801R}ugwV0RxL)b+os=qjTuaUT?mm~cQ*A80&}YClfdf~dqvh>zu0XQal67O+<@ zZzk+d`J$;IkRSBNd^v9f9~70MWQ-U6}F{VlZlZL zRu)s%*1_RHBU8T=jkp1sSR97W_xYpT>eZ&vVibY|4_EJ5*tt-_4b$}@y=DU#-);QX zcU#f}ZJq6eX5dd0^|cJefjT~r!goZ!YE~VUi3GF`J}RZbn)4k+rZ({_1PRdOd87|c z!T1GC@L->M^_Ti&CB`f8g2?as^vD+YVj-!#O}6<`-A>I4NN#Xn-;{{Y4+!^j=xn{U&V zpA`oc5@VLBevn(XQH-qd!TeO-J*bB zUdDj;a&~t6r+ALk;OSlMO~XEr7r8OwmAzn~VI+v1RdZr)zgO!yu-4pqW(FrMM4#tQS^HMog`I5s_Z4Mw>PvtD2iA2H$OFA6)V$seY>*lRf5j5$ z%y(63Tr(noM&@fi=nCO(7lYiMe-zVPYh{y5k3IhY6ds_4wE=cdGsqRED50~(!+{W^ z)X^u3tjnu32O8ppgun+|f+C7?>{$N*36TI*rPmmi05N4cAnGU>6LKY1d(2ZH8;G!g z_A|{^?XsOXE(94KSP?{{3EWdGs(mvuYAq6^oiQ4!-afJk0i(C~t0la|ov&ySHEABx zVGIuc0GRwygZfmvkbnI;_@JzZB77K_t3M3Pz>(*F^wcR54AufL15Ii z)+Mt40C19Vf@s|#EL5lf&bQ)=@S65V(+XKgQR-z=+KX&7wZ&~^D<&j&CX=(92PjmQ z5KR960E%woi;4~fNmy9Wfmqg&dzYAlq7-o_f#$4PO|q-0*w%-?npk9$anXiD(#QBs za$NOdp046V56w;EshvJ(X?rAO>5PORAFq z0mrzlzMkMlQ3%F05+j~#&2*QPIz+3ZvaE?uZqZ6y>P)6gM{={M@BpfnAm6kQ`co8{K9a_H z{i!~usxNSnikXE3p5wJv_3O7D;a3XL5Ou0X;y|6Nk|!e}YNQ$s`^O;#i5uCIU1O(f z*Fj=ie4idF_AG`ZFgo=H93M5M(%VQRK}H-C5gZ!5#AdV2qh*y{zS-D1Ve?P)w^eLU zsYzloEjm7Y(0ZpK8GvDEoJVoxEXYVi?J*it)KA{N8U@pp^`?#k{HLjhQ zF$n_~8Z+!EOIWTTX@iN#Z`&$-i$!I05qLo#Xl97<{b{Re&uU$yqQLA78nLjK6tlQv zB$)?)<5gRr+F>iH;4we<%Do7N|{{R*%9i@C4?wF{$lWtV)k30VW6y5tVZttih zn8==er@c*6F4s=t{M^_Ac>WsFTMDSE2c-Ie?7W?O(9+pkl9Lgkl+)J5l(hy5sgOW} z9r>ctkRPDN!rW2V~-7cnx*|>8-a@r_q?V}WHs*IA;X_(?kG9&Rq>3Y7J{{W&(g1)F6 z{8o*-XhabzCAa-1viQAabqn;>l&Z1&m%P$Wn{Qs8X38GjI~KTyg!{{Z~B{{Y zI!@RqHMQVJ^BdxsMjBAZewNnP`&KqKm21iu>Ef`sZF|*FwZ>=z?E_vt{wtXu>51D% z$b-SF2R7KG43r$mSR~Sksckm?K;<=aaO?` zoiK*P!R_SLbA7Y!dMJ8!EEWF%g=Q6`De+zOF$fe4$&5*jj}+7T9AXP807nO&^bW5b z7hHpS$YZe@t)+9=NS6%I7!Xg|y}XL95+SD$AWoW@45@`X*lQ;qQy)58KDj38a36b&hRVc8ZREKIAnSk{b6EjO)9-}yddG`MRns)-DB4Q5{vqHER z{{SFBk698|L*L%C<|Cl3tE@2y4m$(*g%NEqZ~&iB2e}8{ih5k_O5$W_liVK_)~#Jf z0R5oPJo&1%5uj8jO_MSZcEUdrD>tqzVEwQl_MgQt?Na)E zd(^{aULWd7#%2kk^uQJ}O2bU?G(MpKgCH3vdmsC%*to|K#e%lH$gO{gX;_P$MoLT_ z5;X#Uookg)va$&0CXeS?Rxf=R$0Ee&#A=wg)ypP%O8T*F6s4ChIaHzH$a?sPh z)oXEa%HR}bqY?og{lyI~WpZ(2{@{iLp3rHgv=-b9WVhQeKLVjf5v|%npiRc^&BwhV zd|kMXRb-#x3$OE5xC*O6+-Dn|4N}c<11I{I6?kAZkIC;!LkXRT7LleKy8i%rW2aE2 zOtSNc5@LzdrLl|Q>H;>=26;10boL3q>TnAZWxt>!idLM0SzxvlI;cD>?tSWdr!X)> zD1AVU4~iA^#gt;f7D9>LF>Dld$6|NAvF;5*;dy*@iEttx_+z=LHxEk89EYTpwNYEPRjxI`pakT1xQO_ux6`&3j`xFX z$I=>5Mu)`_Bw2FAkn8C=N95G)Q!lAGf2dVL@CXt8YO8WBs3K%Q)E}REE!$X@5um{2 zNA>Yb^(%Agv#5;%C1fe@R}vptU^UB8 zVq*UQ`F@OxDdkT!uM=7I>7~+i>_ET#Adsj$k2J#C10ZdmsARcik?j>dFHl9Re@;wj zN8S0WSerL}MqT6yU7dHSyQd3V=|G+}GduqPqPTR5Fk_Svh$kP<97vzX#RI76;S^%$$Rl7@w@BeFwk#!& zEDq^zqUY2PAxuOT8Xm%?b?pBDEK~Y0aFGC3IrT@@N{nc|7jSYFkWI3r78J8AsWcI*Ygu9I(i2YT{+3S2rP zobbv7AGi@TUZbi}0lwJ4vk$a;0Z#2H=-r!a_Hh7W3`~I^=7rXEBmFye)Brc_?^(Al z1fATCeZBqYP1F~=A`d4P5(c~)CnEG}^DwkwLdlTRqe&NJ$2AP6lBZx%jq+@i0OF*^ z^gr*4PUb*{T#4kKBCnX6R=B`oLbD{~2?P1mU6L|kiZ^^`@m2I)5Lo#gjYZpvEjp|~ zKWlcYiL|}IGmtUdO!ub(f}Xsw4a)4TBWz^qScM0O6w0!*gN}}fm=ovXs-{()N}P)h z!-@s_tQC;5>&ocSTJB#^1@!?e0nnh`Ac6_>>ICydhiO49+gT@(G*OtujJ)x&RVZX? z3}}HM)s?4AL60IeR)Os)1nF4vD6Fchipe0s8h~hMRPxNAM)?M;7!d+_@gD-9^ao%V z1F;fF8YYX=uvmfWQRaf?RN{7jKbpO}f=8YrV~TV}r%A+eJ9i(oI29NnBrs{&?;dMA zr68(+z^qP>@~t~pE?X#BLZL7qNAj#YY0Yz|`br647@j|9B8T*_MhWU95d;`h?M{ne z?ii+0TbkmE(8f?55wWjtdXHy>g|jJ>?YRe9rxOhBV%!MHv`>nwAmvfu9nQy*L3U!y zNMMALH9GdCRnMU=-Utc+5Vncl&y(*m)g z421+@SXPHZmv8?7`Jf<<+n(mKY^G3dFQlChCOEBro!Zs1Evp4726zXL%u}(Rwo>t9 zt7#y>SR@GU4~eUep{>qD7nqGSp7od0^$T_t)v{Ie$=M!%6xU3u*2_KtoSxAH3XBIY zbrWjhh8r0u9jh=Kw`H-oNDvCdiZ)+K$@I>{4&RFIte;CLVnGwYpC9|CNH$W+eL~P+ z5Qlkx&w9q|lw?6;se-`nnd`n%Xywi;kp6?Wq3%ywd9b01uh{bHCGItQ5rXarv5E?_}wK9+4w( zC&{I{mTQh%?ks&%<~!B;WNX(L1Ktk!_cXBd_v!8~uqdbMDVf*oD`)jKy=K!RIK&uY zKrlybRzFCV>}PT1Cu#%%s=eFh^Ojk1<{ExAQGKdVaEmszU<;0>pbw7TPD)UF~)~T*&tAPvH8{1N|)q3RXigpUhHSRsR5~bQf`t zcsmrpDyeXQqgq}+pL)m79;R6YOb`$K)kiZ`eJAx02`m`>G02WLRJ9FY0|61_<-g@d z{X^yv+S@E6v7g2ScP#|HCCL&^n_l$%DGO!$iB+$C2 z{{T_jAa|{H@l>|t+yioa=ns0*PfYjQK$G-XtPr{wnw9GEMHx1?h~g?77P1GULVY7< zJJ1cXnCg99#QrK&(Xj;P6fjf9z@nf+RkKja1i(7^q`GUcz_c{}Ddt;cL=gl=^nX5T zY&eVEKt|N&0OLRpKbm*+-n3!`)Z?fIhGVr}#`C&x!^6_S>k8OCX){Py7nT zwdJ32?U4}6b7Ps;&0ISvZ7bv?m2IcRQ>#a~117_40k6#{q&wt6EkA7Qq}Bjr)H(J(VRxnS6JN*B&Wm zc`(GQnFctcskv=&EM)9Q25TzP7%T9-+CJrU)3802YxX_V$|KxQFy9i4b@BnzH}_-~+fHy)7#}1nQ)BD#zx{1p`ca- zaCcV=bX&*mXBimeN1tlrY^}2U_3$S|9`wPY0mNmO@)b*AvtU8q`w>krP{CB3M=A(i z)LR)_^upp~>Q6Nd3k6v$fli2-{q^34G_tC3W%19qwKVvYlA;JDea$ZJEGcDam5I>; zc@Fr8gLKKEsGFDi?9wM9Rty{d&A*6=U-?;u%KCuE9RR~dx^Vsky8xyEf z001r^K~>yGb4v8?exLx%1M&OQU1RCd0tEM1Gz$PC5_Zfc0gL$Q)Q>29LJF2Pm=PMcz{ zZ>YMg#c@zfK{Kz4D6-7IP=GyJTy`lMoiYKAQwPrLe%2z$S7a+DRff;SW81zaF)sjt zpgv>bj(V$?grqX4nI}V9sp@IVi(j&BhI|l~kVCZYf0bIrqh{T^jc*eq%t;{oR9I3O z+_RGtmO2#DGNqSbxR{7``$rW&44a>*1u z+?PH%gHhA{K?<0x>k>5{O)OTYuDI5p)ha+J)5q^u>CugqcDTiTgb4C|se87N-9)*O zE2&cxAKHzTqAh`mP2>sUI~c2z(sZxt7cy~deKp=%?eiV$ETWsnGad4opPFx~w#$9h zU2r?sbK~BXMHX@{0VD!Fx8uEEK9hZmWPLJB3zN>K}6fq3=sxy5u_BQTGA>X&_bITMR(B#Eoyy%`Ih% z2)3ojJM-;C!&y3|b+gBX{=#s2{9~K&ilnK8s)MWh$IpVXnraz+PwEl+g4@epz13`boj8)bTVLU zK&R`H%UQ&X%A2tS5$TTJJDLUSj#R>g1GYOgp?B$GTH*}<0ED-W$5feRS8N~_B!Wd$ zsjwR$=FH4s4Vo?MV%hqZ?kSU{ZPZ>@3|y%a--9$08K7{i$G@4X4oj?sim?;Ofum7y zjyt&xGwnoRw($s5++b(4Qun~gNF=Zx2k%Z5r~@0j&^w$#{8U_r1=b0e3=co|#Z|6c zwqS_gBu!AZYy^@>i7QSOR@U)?03eQZ1re(geRXGSmPcU{XRxG{ke2f}LHl?3 z-C5WHqDk&S;GWf84@6VJPHa1VIY$}(N6ToB}TRsHzE%{ zX0z+k`Bvaj13}_6coer%*)ytRA%XUaX8H6KLxi1^1pX^N@(hkdmLRE9t~=Iz`)*B{ z$qA37NF-1$C>IM6!Q;n+OfUtaTOI)#9~Dc5S%L8*fx6x^paSZdTwyW3LTM`1D`_^52L zUr>Y2M?`n{tn2dE7&3-~uz#20j!K34h4Z6sa3eq+4>Rve{ZPs-xXLsa-`<#awgDt& z>#s(Hc%^RK5&o0`5y$eaV=)cPp--iRoVl76{{Ty1coCpv3bl~9qP&He$R6}-#Z>_o zme?nZL7HF{>KSd6fv!h^dpAiW z7Ta$qh?>hUEO-qbne08O+b4Fz$t&2O=Tl}wmq(1)@e}Akc#dkeBkF}yELi=$=-}gI z=ByKvBfo9Z{XB;+lsE=S)k&S}uVrjPI~G|Q#C%pMY_IzM(-RvoDeu%;TG%2%5_dT3 z&1U9S=p=?QiSmCwYPf>aJxiabX;{DnkvlQiRV_LCWtB>)nJK{C9pLoqocJNTf5j+| zfIE@eHbpr-6$`0cZW3hw0D6lcD=M~7R2J_vYlT@uFj-kqx(%zLZZ0IQEByV9T=!T$h?lOLx90@)^O z>I`|00-3n#EdwJKCqT&_)tt=J zs1531Rrd^aBec?1E*q9|xCv$ur&1z@*8-~oLlF|gaqUxv(YJq1kXBv6h-2?G&P7;A ze^;aiVaK&&CBlvZu_OWr9fx{xZk0qrs^TR`912((eKpV(Q391K13ls=i1Xr#w~&?? z1!2i!$H&i#L_1$gR>b59&=aqC??klH?5(y2KAM>@IEtGU2X(gh!n8&*81H70>j1V@ z?Yk2j%eMPd1#xFV%D$VsS zmIq|;2S4JkY0e{H?^^xp?;>=4u9ZLuB@e4dzi;bMSObtQK$!=BkxSZglaK~vdy(A>r@B*DsKQfLU_3&V_8U>@Emj=&f)$46{@`_@%)Y}_e9 zk~lk)vou5mI0FC09tNi1{ZRMU{ch`L#n&oL3YIT^3m z6moYF?L$JZY;2r>Qe*jwV%#$-65)=(1MTX7V^b5ru4RO_Jw^lwjt@Gb zUr3k6AO!>-;)KhS1y&*@Pk8SYuQko&i(w(%V6s2}_V7K;2@FYOfPGm2bZW-nJeVh8 zVg!F`<9G$ORss)DRvaHSqn@CsC7Doj8ZM}pN4atkyNdryxwex*}I6qp3b=3|rMq}J$IeKY=+$EcGa zic_v2mM})V?0e68J*!EkXN^hhKjwva2;pED4yTF(68J6ZIkOW3U8rcyfl>fdp%m{@ ztaCrYc?0^2P6Uux=z|{Btf;WvwP1xBVnKih{S@tj?tYR81VKE~Jqv=$6(r97D@ATw zwQmwVBp4h_`_%On3|q47kb#MVEO`_q>A^b1l<1W_n!S#xSQRQ1XaZ#Xe|m7?^#a=~ z^x`%4gYIi9>2X9sk_;8Dor&CgQF_bGD{k8%0Pztt&9_x67Kk8^w1YnpN?*5?!*zfP zefCekil3$huu*|lMY+HQc=P+wI((2jEF%#Cn~3l5D(h+<@8u z4=4Fj%{^(|xGdNSXB8v@C3FwXAP}|UTrgG=I}&`w0XmKp0!aHr=nmBHMxy1S7->ux zZ&%~|(##U-*8ZKLajz^Yu27;u)K+=wEnL1pViXKR7MTNy6vfqhn60^!pr^p0^xY@a z{{U6i7#?*Lon=5%{lkV=jL{<NF)kN7hMh*W+OpJ>>PYqU*^|YQV^=Zpn>SAyc zFU3;+kV{}ApjVxt6o};9ZkwQ=yd~d9nlU?vu5}$*KNYyuc@*Ph1MZ1Y^M0_?^~6ZK zShV$Y=D|pV&Hz$v0ork>rE?;pr+9RzEo1e|LIGCFCw|dW^Ft|RXi7u0A2YnS+G%&; zQ;{IJ>u)MJI`Ci!18-UX2#Ni<;3;#--V)fc$!9hTqi7Fby9_?tV?3~ObjI2h{Uv0UB^Oj`<}$F4zbb@D-Y|L zm)%BP(D1dzq=v^GTcHzYjZ~lO1M_m@LL;?_8N%V|kkS)#t$G1_iD`X(-@TO@$~YmQ?$~ z_|GLV+Kp6TsYaaU%z>==5A=~EOiJH|ro`9)6MVr3mLih14akm&4Ox}i4E+~QR3PL0 zw?1Uwu&dR!6qB-mNxy648x-aEXQsiBP4KFG|m8^v0}7U5#?IUfXM&ojx=WHw3G_54-BGE#Q%KU(CmZh zG%0gO&mS2rY7aNrDnsY9mNe?>y?8>J?6&$`N6B&-xu*&YRdYK*Fu+Aw;m1xG1gk*c zm0O?9Ut-*XjQ0IhTWH#EUuE1Tug}pdXK+`YUTF2>yG5<<{4T@3(H(-TqvzBv&xgxfLS#t(mNB=gzH{+PCMYo*LCg_UKx1xJ9pbYr> zf2A-k!Hwp2DQ2TJa_3hz(To>3 zSo&)Wm5E3N-BDBfiXHaD&=dG>7YS75ioEy+q2KXe&HYytN$+t7c!h?0?&X=RA{jz> zpPzAnb_+BTPwV-0A-BLZXBk7>$FmKgVqJXnP$Pg$rKlv`X$B2vBn|B6Dt><@>oiqkqX1{>*G7x>muegc zQY@8j**$8QK?UMpAZeV1)(Odk1f{$me6w?zntTR3URF_6QpaC3;N%^r#ZV9Ab?@-n z8~Rt@0R5ndwN;$4QOtJ}G{Yq0LZSLkONS9B)#*dq-y>?Qd%#w^QD zw12dN6*HCez@uk%R|ZSwqO5e+SJOHzmkS73f4VpGNH=bSM*!M>@Ba@J8oqx4+;0(a zg;s20pF93IE8^0BiWygU4C9oeBFmBk#OQ@XM7{SJ{N)fq~!NDN-=|7 zSqCD%8^*xjkz2I5n&8W9OITd%367o*(({bvnxzY%ph^?8pS&^!ok~c$%^l}KXr}M5 z=131G@KOPn4$+Gz*YDe9s_|)3ce~Z-T|p(njmS=Vi9tUjm}15wY32 zTV{3TIdC8^`bek4pPUBZ6P95(`P(bRISu{)i11Ta61j zWnYD38-|WqW?DD&x)nx#t|Rg_oE7}5db!?)!ijnT>I&3<_m_emym(fB?l$##VBHWN z0Z!_KBJpvG>n2(MqD|jhw@pGk(UZva$5q;_KnR9;W#mAwoo(^2lZO^*gfPXlkA^$} zV@iCtr0z2^G8a4=d8JLLz~h&W&MS+X*i((0RJ}wUNnxzbK+-VkdM3oHy=zD^wAp5E z!E~?lBI#kKtaIpr&c*O2!I%@~N>WP%w3Ke*WBYXTycFsTeE8-WGdSt$|-OcYZxb9U6}Xe~?LF?S@l z$#?pj4Sb#=_^D91k-slBlzirKdb;=a#@!2MPL4w#haouv&(3Z6i7C%8rdvPjcyUOcar~#J$SdQ`@lM zvPF}@kyT7_TAk`6{&eTfJ5&+cH)6H5QHk9JWFf|3PqKS`=4g@t1q!;XX1(=AD77++ zR|pcGikv4l=WC1@GH1FVNSuGaf&kbAwJ;xv4|^yac<*DATngvqv_$(X$llRIi|6xs z;cQsdt@c2&w?^1Ki*3u#&ic-@>tW}mIJSuk*Jj1JnIT5aZFtLz&d=zj+aR?b4`E#D z<_cEDAc*Zh$fcY^4XKiQw9A8a$TmEJ8^Jy=a z@Z-cdxI%5nr|)>5L`E6RD_9&8T_EnSt@hP`*YTJ?yjZ4W0zd}7`u0#Wr9Y89QBAJI zdB#aquR4BskG7l)M$vy~agdaJgtFvN&{jBdynGuz>*DbKJIo41g}B#0CSUn` za0;uI5MHW$TH%;IJ9)AXj+NT#H$E;7<&^1(3(StbdlI(R$)q`Y?+rN_ior4Ca?-yN zaxGoXslO689JgGxn)lFHw1zntJk$Ruj=RmOZ268DRL#f8?r!2rOg{Ov@m28SG?8Ke zd+=qT&ZgFhe4^{;2{XX1s@G5FNVgNpl0pibIY(EaBuYD>=eI4Qi?fj4?TTrsR(%mJ zdx6}()LEZM;UPAq^>Z*3sQWbdBL_84?^_ub(Yme-x8dHS0huKxu;%shnUtk znIv$Ys|r!fWPWDS#gZmyy9@Wt*8I1w6HsTQu|zQ+`-?fW6ea5P=zjFD`Swo{H(*xNEfI8H~a=D%0`2QmjSpiGM=06?mr$GQd88K|Y% z5dqvZZBd>cW2>^9DXQsm2!*W2(O=HKs=HOcmLcuol0W|b*AaFi!6NM=E@{_F_9I&6 z!`P$qdVH}Xz=Ruy2l3)io0?r z;|8QRKin&!ByQMi3O`y$-vvDTEjVh~KlMkT6E+iWw{@IjlV((YHSxtqd%US;scWuK z+u!uSP9MAUx-uk;=3a{~K4Uy-Z-nz7m&h=nlbR55V#y!Mz16(N%TvSD>;(ZsxRY99 zPvGE@)Y(~$ZZrdM$!H7F0T_T>0MbpDO#B;ol5h;Jeia7@VA}Ikd`+(_;ZyXxDM}y5 zO5>Q31}brCwCcTpdw8~8idtcZY^m?fKcuC+7ZQLejjDw+d&%uH`p9-gXHnI;VO@1% z+~E<%_K5>lBWqBli<$GDgRhM`1-me?z&I6 zw5z-Q+tro$xBGV_0Ch~!EedLfHsNhw#!+BGz5SUrqCJ7>BG)f`{HU&@BiB)#jQY_= zV{TZhUrI$!@M&(G;gbLHXRLNs)8nMj`qsq=6MaY50v*8+GWAMXqh0}>kf5(GySwyF z4Ei=i@Wi)loFlbNpVg(7uxf!??vzJMez!vFJhWSOtM3H+o%kQ#Mr;`u8;Y~n# zCM-XP=C?0UPF1=*6%K{mao&)>it7c@kst=@fE_s{jxidvE36;b3z;4MXtgxUK92jm;_SP$b zJme`ONVshrDS>8w&$V357B*~UVy1zLWR4q)FQ=IrP_-X(ytVvhi9iVWUSRy@a@=4q4 z`Jv_1(>&2q7Qm`7+pcAfrFll@w*hjFyl1@!NSepBwIeiXB6nm=2Gwb3QgTVc+esR3 zlMf|K1bLv!yNUaKVN%P1yCS1J?HF+J7+(_9-|{uh~p3DbxzqMeTu%De!oNrnYkyztH~c7;#>k;<4HUT|bOPx$G0v9yR1cWZPHrH`#nDqnD`||H5t^Q1_5@kB)KI5`Zs1x}D z=$Ip{`uVhI`m=23sxkAOQj>AJ8V8uUP6P;n4QCX5aFSn6ogkXsn-sao0IIyrmC2WO zbw=ElFfUO0gy`F?^F^o1;&++KA@r zLi)DR5a^&oZ=9sCbl$qvYT9%k?<39svM7_8st3i%a+Mozhxj4hu zj{|hjMEZmjsoJCdgp>7HuFud@7Ufob@=ftOYmZK4`zLtGt#rX7+h~2HShE=24@MGV zXKtI-K-j%QYFi4_+?YVy3omQ39U?hw(qenOa#A!LJrKMqB$kWDh>i4SFGT&UGSVLO z3l~H)vYw?(LWeHO8wm&S$>#ij>XAQ5W|@b*@UaIX;_+9r5=$^t94Zno#WiVcZz#ZQ z!9v2%mK_)@TN%dZJyz}?(}C`ORe2YOrOI>rg2_`Gu{%6~Bg(Y*dG8 zPI3DTlq;O?jiUDL?iLD2pG+&g?HN;YVM#hxZA>Bh$n3jIs9}I17&PhgT7x+6}|VP5+B;fd~9 zK9gT#6`*q&knsY|>v*oT0$lU0L=aK&@y)J$ki;PeZ!g0a0L$CQ^KXa1!ORO@BD;={ zczB+_k%>01Y+?GHSD+WM;Vn6TFs;-g`BLYE911vKubjQN2yg|WB4gu9eva89=UJk~ z*uXALgGw_Dry7qu#f6o*ejZxui|WLEX%)^GnFKqSa*arSazS?8%_TK}t9=Q=5*k=$ z^!m}g`L}^S4{!5YNhN~3z4MCdPAE0)(9|kOU8#FdUj->T!aJrxP~Yw>aqY(xv(}<=jtp*GyR2aeic7 zufqaqznuanO*e}2zcy*;3ZH@n`NprN{>&)yICe@L2H0R9b6EO5?}(5(yΜ?Glq3 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

~qaYmU2rJI~OMceYF4_M)$e+^`Jsizt^xs4@H% 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 { it.each(models)('should add two numbers with model %s', async (modelName) => { const result = await runTest( 'add 5 and 3. Return only the number, no explanation.', - '8', + '8', 'addition', modelName, TEST_LOG_PATH diff --git a/packages/kbot/tests/unit/commons.ts b/packages/kbot/tests/unit/commons.ts index 51dab179..39c2a0cc 100644 --- a/packages/kbot/tests/unit/commons.ts +++ b/packages/kbot/tests/unit/commons.ts @@ -11,7 +11,8 @@ export enum ModelCategory { LANGUAGE = 'language', TOOL = 'tool', ALL = 'all', - CODING = 'coding' + CODING = 'coding', + FILES = 'file' } export const getFastModels = (): string[] => { @@ -29,6 +30,14 @@ export const getCodingModels = (): string[] => { ] } +export const getFileModels = (): string[] => { + return [ + E_OPENROUTER_MODEL.MODEL_OPENAI_GPT_4O_MINI, + E_OPENROUTER_MODEL.MODEL_OPENROUTER_QUASAR_ALPHA, + E_OPENROUTER_MODEL.MODEL_GOOGLE_GEMINI_2_0_FLASH_EXP_FREE + ] +} + export const getLanguageModels = (): string[] => { return [ E_OPENROUTER_MODEL.MODEL_ANTHROPIC_CLAUDE_3_5_SONNET, @@ -54,6 +63,8 @@ export const getDefaultModels = (category: ModelCategory = ModelCategory.FAST): return getToolModels() case ModelCategory.CODING: return getCodingModels() + case ModelCategory.FILES: + return getFileModels() case ModelCategory.ALL: default: return [ diff --git a/packages/kbot/tests/unit/files.test.ts b/packages/kbot/tests/unit/files.test.ts new file mode 100644 index 00000000..53cbb428 --- /dev/null +++ b/packages/kbot/tests/unit/files.test.ts @@ -0,0 +1,132 @@ +import { describe, it, expect } from 'vitest' +import * as path from 'node:path' +import { sync as exists } from "@polymech/fs/exists" +import { sync as read } from "@polymech/fs/read" + +import { + getDefaultModels, + TEST_BASE_PATH, + TEST_LOGS_PATH, + TEST_PREFERENCES_PATH, + TEST_TIMEOUT, + TestResult, + runTest, + generateTestReport, + getReportPaths, + ModelCategory +} from './commons' +import { IKBotOptions } from '@polymech/commons' + +// Optionally override models for this specific test file +const models = getDefaultModels(ModelCategory.FILES) + +describe('File Operations', () => { + let testResults: TestResult[] = [] + const TEST_LOG_PATH = getReportPaths('files', 'json') + const TEST_REPORT_PATH = getReportPaths('files', 'md') + + it.each(models)('should process single file with model %s', async (modelName) => { + const result = await runTest( + 'What is the name of the algorithm implemented in these files? Return only the name.', + 'bubble sort', + 'file-inclusion', + modelName, + TEST_LOG_PATH, + 'completion', + { include: ['tests/test-data/files/bubblesort.js'] } + ) + testResults.push(result) + expect(result.result[0]?.trim()?.toLowerCase()).toContain('bubble') + }, { timeout: TEST_TIMEOUT }) + + + it.each(models)('should process multiple files with model %s', async (modelName) => { + console.log('Starting test for model:', modelName) + console.log('About to run test with debugger') + + const result = await runTest( + 'List all algorithms implemented in these files, as JSON array.', + '["bubble sort","factorial"]', + 'file-inclusion', + modelName, + TEST_LOG_PATH, + 'completion', + { + include: ['./tests/test-data/files/*.js'], + logLevel: 2, + format: { + type: "object", + properties: { + algorithms: { + type: "array", + items: { + type: "string" + }, + minItems: 2, + maxItems: 2 + } + }, + required: ["algorithms"] + } + } as IKBotOptions + ) + testResults.push(result) + const parsedResult = JSON.parse(result.result[0]?.trim()) + expect(parsedResult.includes('bubble')) + expect(parsedResult.includes('factorial')) + expect(parsedResult).toHaveLength(2) + }, { timeout: TEST_TIMEOUT }) + + it.each(models)('should process files in glob subdirectory with model %s', async (modelName) => { + const result = await runTest( + 'What is the title of the product in data.json? Return only the title.', + 'Injection Barrel', + 'file-inclusion', + modelName, + TEST_LOG_PATH, + 'completion', + { include: ['tests/test-data/files/glob/data.json'] } + ) + testResults.push(result) + expect(result.result[0]?.trim()).toBe('Injection Barrel') + }, { timeout: TEST_TIMEOUT }) + + it.each(models)('should identify animals in image files with model %s', async (modelName) => { + const result = await runTest( + 'What animals are shown in these images? Return as JSON array.', + '["cat","fox"]', + 'file-inclusion', + modelName, + TEST_LOG_PATH, + 'completion', + { + include: ['tests/test-data/files/lazyfox.jpg'], + logLevel: 2, + format: { + type: "object", + properties: { + animals: { + type: "array", + items: { + type: "string" + }, + minItems: 2, + maxItems: 2 + } + }, + required: ["animals"] + } + } as IKBotOptions + ) + testResults.push(result) + const parsedResult = JSON.parse(result.result[0]?.trim()) + expect(parsedResult.includes('cat')) + expect(parsedResult.includes('fox')) + expect(parsedResult.length==2) + }, { timeout: TEST_TIMEOUT }) + + it('should generate markdown report', () => { + generateTestReport(testResults, 'File Operations Test Results', TEST_REPORT_PATH) + expect(exists(TEST_REPORT_PATH) === 'file').toBe(true) + }) +}) \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/completion.json b/packages/kbot/tests/unit/logs/completion.json deleted file mode 100644 index 3ecd90c6..00000000 --- a/packages/kbot/tests/unit/logs/completion.json +++ /dev/null @@ -1,694 +0,0 @@ -[ - { - "level": "debug", - "message": { - "id": "gen-1743630981-Ui1Cks6yDC82puC81x2r", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743630981, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "Let's solve each of these equations step by step:\n\n1. **Equation 1: \\(2x + 5 = 13\\)**\n\n \\[\n 2x + 5 = 13\n \\]\n\n First, subtract 5 from both sides to isolate the term with \\(x\\):\n\n \\[\n 2x = 13 - 5\n \\]\n\n \\[\n 2x = 8\n \\]\n\n Next, divide both sides by 2 to solve for \\(x\\):\n\n \\[\n x = \\frac{8}{2}\n \\]\n\n \\[\n x = 4\n \\]\n\n2. **Equation 2: \\(3y - 7 = 20\\)**\n\n \\[\n 3y - 7 = 20\n \\]\n\n First, add 7 to both sides to isolate the term with \\(y\\):\n\n \\[\n 3y = 20 + 7\n \\]\n\n \\[\n 3y = 27\n \\]\n\n Next, divide both sides by 3 to solve for \\(y\\):\n\n \\[\n y = \\frac{27}{3}\n \\]\n\n \\[\n y = 9\n \\]\n\n3. **Equation 3: \\(4z + 8 = 32\\)**\n\n \\[\n 4z + 8 = 32\n \\]\n\n First, subtract 8 from both sides to isolate the term with \\(z\\):\n\n \\[\n 4z = 32 - 8\n \\]\n\n \\[\n 4z = 24\n \\]\n\n Next, divide both sides by 4 to solve for \\(z\\):\n\n \\[\n z = \\frac{24}{4}\n \\]\n\n \\[\n z = 6\n \\]\n\nThe solutions to the equations are indeed \\(x = 4\\), \\(y = 9\\), and \\(z = 6\\), which match the results you provided.", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_6dd05565ef", - "usage": { - "prompt_tokens": 139, - "completion_tokens": 434, - "total_tokens": 573, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:56:24.861Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743630985-jop6l4mg8eqlwxxrtsU3", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743630985, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "To write the JSON data to the specified file and then read it back, you can perform the following steps in Python. The Python script uses local file I/O to write and read the JSON data:\n\n1. **Write the JSON data** to the file.\n2. **Read the JSON data** back from the file.\n\nHere is the Python code to achieve this:\n\n```python\nimport json\nimport os\n\n# JSON data\ndata = {\"test\": \"data\", \"timestamp\": \"2025-04-02t21:56:24.883z\"}\n\n# File path\nfile_path = r\"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json\"\n\n# Ensure the directory exists\nos.makedirs(os.path.dirname(file_path), exist_ok=True)\n\n# Write JSON data to the file\nwith open(file_path, 'w') as file:\n json.dump(data, file, indent=4)\n\n# Read the JSON data back from the file\nwith open(file_path, 'r') as file:\n read_data = json.load(file)\n print(read_data)\n```\n\n### Explanation:\n\n- `json.dump()` is used to write the JSON data to a file.\n- `json.load()` is used to read the JSON data back from the file.\n- `os.makedirs()` ensures that the directory path exists before writing the file. The `exist_ok=True` parameter prevents raising an exception if the directory already exists.\n- The `indent=4` parameter in `json.dump()` makes the JSON output more readable by pretty-printing it with indentation.\n\nPlease ensure that the specified file path is correct and that your Python environment has the necessary permissions to write to this path.", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_de57b65c90", - "usage": { - "prompt_tokens": 78, - "completion_tokens": 362, - "total_tokens": 440, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:56:29.189Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743630989-BpECy5n3TbfFuNSbqegq", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743630989, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "I'm unable to access or browse files on your computer or any external systems. However, I can guide you on how to list all the files in a specific directory using the command line or a script.\n\n### Using Command Prompt on Windows:\n\n1. Open Command Prompt by typing `cmd` in the Start menu and pressing Enter.\n2. Navigate to the directory by typing:\n ```\n cd C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\n ```\n3. To list all files, type:\n ```\n dir\n ```\n\n### Using Windows PowerShell:\n\n1. Open PowerShell by searching for it in the Start menu.\n2. Navigate to the directory by typing:\n ```powershell\n Set-Location -Path 'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data'\n ```\n3. To list all files, use:\n ```powershell\n Get-ChildItem\n ```\n\n### Using a Python Script:\n\nYou can also write a simple Python script to list the files:\n\n```python\nimport os\n\ndirectory = r'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data'\n\nfor filename in os.listdir(directory):\n print(filename)\n```\n\nChoose the method that best suits your needs. If you have any questions or need further assistance, feel free to ask!", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_726d488742", - "usage": { - "prompt_tokens": 49, - "completion_tokens": 319, - "total_tokens": 368, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:56:32.923Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631031-TEPvmBQ8xnWyvb04vIQ1", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631031, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "It looks like there's an issue specific to your request that involves accessing files on your local machine, which I can't do. However, you can manually provide me with the equations, and I will solve them for you. Here are solutions to the sample equations you provided:\n\n1. \\(2x + 5 = 13\\)\n\n To solve for \\(x\\), subtract 5 from both sides:\n \\[\n 2x = 13 - 5\n \\]\n \\[\n 2x = 8\n \\]\n Now, divide by 2:\n \\[\n x = \\frac{8}{2} = 4\n \\]\n\n2. \\(3y - 7 = 20\\)\n\n To solve for \\(y\\), add 7 to both sides:\n \\[\n 3y = 20 + 7\n \\]\n \\[\n 3y = 27\n \\]\n Now, divide by 3:\n \\[\n y = \\frac{27}{3} = 9\n \\]\n\n3. \\(4z + 8 = 32\\)\n\n To solve for \\(z\\), subtract 8 from both sides:\n \\[\n 4z = 32 - 8\n \\]\n \\[\n 4z = 24\n \\]\n Now, divide by 4:\n \\[\n z = \\frac{24}{4} = 6\n \\]\n\nIf you have other equations, please provide them here, and I'd be happy to solve those as well.", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_6dd05565ef", - "usage": { - "prompt_tokens": 139, - "completion_tokens": 336, - "total_tokens": 475, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:57:14.989Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631035-irYWrkVOuFctO9yuFPSp", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631035, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "To write JSON data to a file and read it back in a Windows environment using Python, you can follow these steps. Below is a Python script that performs this task:\n\n```python\nimport json\nimport os\n\n# Define the file path\nfile_path = r'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json'\n\n# JSON data to write\ndata_to_write = {\n \"test\": \"data\",\n \"timestamp\": \"2025-04-02t21:57:15.012z\"\n}\n\n# Write JSON data to the file\nwith open(file_path, 'w') as file:\n json.dump(data_to_write, file, indent=4)\n\n# Read JSON data back from the file\nwith open(file_path, 'r') as file:\n data_read = json.load(file)\n\n# Print the data read from the file\nprint(data_read)\n```\n\n### Explanation:\n\n1. **Import Necessary Modules**: We import the `json` module for handling JSON data and `os` module if needed for path operations.\n\n2. **Define the File Path**: The `file_path` variable holds the path where we want to save and read the JSON file. Make sure that all the directories in the path exist.\n\n3. **JSON Data Definition**: The `data_to_write` dictionary contains the JSON data you want to store.\n\n4. **Write JSON Data**: Using `json.dump()`, we write the JSON data to a file. The `indent=4` argument ensures the file is formatted nicely.\n\n5. **Read JSON Data**: We open the file in read mode and use `json.load()` to read the data back into a Python dictionary.\n\n6. **Print the Data**: Finally, we print the data to confirm that it was read correctly.\n\nMake sure you have the necessary file write permissions and the directory structure exists. If any directories are missing, you'll need to create them before running the script.", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_6dd05565ef", - "usage": { - "prompt_tokens": 78, - "completion_tokens": 421, - "total_tokens": 499, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:57:20.822Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631041-sxD3N0lo3vBaYvwpc4DN", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631041, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "I'm unable to browse or list files on your local machine or any external systems. However, you can view the files in the specified directory by following these steps:\n\n1. Open File Explorer on your Windows machine.\n2. Navigate to `C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data`.\n3. You will see the list of files present in that directory.\n\nIf you need assistance with any specific file or task related to these files, feel free to ask!", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_726d488742", - "usage": { - "prompt_tokens": 49, - "completion_tokens": 112, - "total_tokens": 161, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:57:22.998Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631057-dXPQgGzrR5LGaSS5OBTT", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631057, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_Nz1V2egRr4OCdgNP9hSuMqkI", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_6dd05565ef", - "usage": { - "prompt_tokens": 773, - "completion_tokens": 49, - "total_tokens": 822, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:57:39.218Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631106-ozgqEgJqsntkf58bE1ON", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631106, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_ZcofgyYvRZycqe5i9v00OW1a", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 773, - "completion_tokens": 49, - "total_tokens": 822, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:27.885Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631108-Q7OlFgo1GXwsrz9ZjSeI", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631108, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_bR4C5jbZCSLJ2HXCF68kcH7k", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 868, - "completion_tokens": 49, - "total_tokens": 917, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:29.963Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631110-Uzpdnyxx46oCLkIAYh6a", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631110, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_bRWTWRqxjiVUFLZtAUo0ywn6", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 963, - "completion_tokens": 49, - "total_tokens": 1012, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:32.838Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631113-7ewJ4tlprslgS4ZsTOi8", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631113, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "It seems there's an issue reading the file. Let's solve the sample equations provided:\n\n1. Solve \\(2x + 5 = 13\\):\n \\[\n 2x + 5 = 13 \\\\\n 2x = 13 - 5 \\\\\n 2x = 8 \\\\\n x = \\frac{8}{2} \\\\\n x = 4\n \\]\n\n2. Solve \\(3y - 7 = 20\\):\n \\[\n 3y - 7 = 20 \\\\\n 3y = 20 + 7 \\\\\n 3y = 27 \\\\\n y = \\frac{27}{3} \\\\\n y = 9\n \\]\n\n3. Solve \\(4z + 8 = 32\\):\n \\[\n 4z + 8 = 32 \\\\\n 4z = 32 - 8 \\\\\n 4z = 24 \\\\\n z = \\frac{24}{4} \\\\\n z = 6\n \\]\n\nThe solutions for the equations are \\(x = 4\\), \\(y = 9\\), and \\(z = 6\\), which match the test preferences provided.", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 1058, - "completion_tokens": 266, - "total_tokens": 1324, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:37.074Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631117-mzDobMKRdGgUwQk516dc", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631117, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_UBPjOY0FqjXD0jLHriQuPuMw", - "type": "function", - "function": { - "name": "write_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\test-data.json\",\"content\":\"eyJ0ZXN0IjoiZGF0YSIsInRpbWVzdGFtcCI6IjIwMjUtMDQtMDJUMjE6NTg6MzcuMDk1WiJ9\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 712, - "completion_tokens": 97, - "total_tokens": 809, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:39.839Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631120-LAcQkBwjTPY4Ho8kcFAF", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631120, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_pIwhdVPXqnTlfyQz7hZoALrw", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\test-data.json\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_6dd05565ef", - "usage": { - "prompt_tokens": 903, - "completion_tokens": 49, - "total_tokens": 952, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:41.861Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631122-FWA3dqCLKmt8j8VZDLk1", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631122, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "The content of the file `test-data.json` has been successfully written and read back:\n\n```json\n{\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"}\n```", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_6dd05565ef", - "usage": { - "prompt_tokens": 998, - "completion_tokens": 47, - "total_tokens": 1045, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:43.202Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631123-uocGbvEEvH6vpHRoHByM", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631123, - "choices": [ - { - "logprobs": null, - "finish_reason": "tool_calls", - "native_finish_reason": "tool_calls", - "index": 0, - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_mmLKD2FDdNm1znzU1nVTK1ga", - "type": "function", - "function": { - "name": "list_files", - "arguments": "{\"directory\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\"}", - "parsed_arguments": null - } - } - ], - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 683, - "completion_tokens": 43, - "total_tokens": 726, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:45.106Z", - "service": "collector:onChatCompletion" - }, - { - "level": "debug", - "message": { - "id": "gen-1743631125-OGtG0QQwt7Azex9vNPBl", - "provider": "OpenAI", - "model": "openai/gpt-4o", - "object": "chat.completion", - "created": 1743631125, - "choices": [ - { - "logprobs": null, - "finish_reason": "stop", - "native_finish_reason": "stop", - "index": 0, - "message": { - "role": "assistant", - "content": "There are no files in the directory: `C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data`.", - "refusal": null, - "parsed": null - } - } - ], - "system_fingerprint": "fp_898ac29719", - "usage": { - "prompt_tokens": 766, - "completion_tokens": 41, - "total_tokens": 807, - "prompt_tokens_details": { - "cached_tokens": 0 - }, - "completion_tokens_details": { - "reasoning_tokens": 0 - } - } - }, - "timestamp": "2025-04-02T21:58:46.313Z", - "service": "collector:onChatCompletion" - } -] \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/content.json b/packages/kbot/tests/unit/logs/content.json deleted file mode 100644 index 808e41ce..00000000 --- a/packages/kbot/tests/unit/logs/content.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - { - "level": "debug", - "message": "Let's solve each of these equations step by step:\n\n1. **Equation 1: \\(2x + 5 = 13\\)**\n\n \\[\n 2x + 5 = 13\n \\]\n\n First, subtract 5 from both sides to isolate the term with \\(x\\):\n\n \\[\n 2x = 13 - 5\n \\]\n\n \\[\n 2x = 8\n \\]\n\n Next, divide both sides by 2 to solve for \\(x\\):\n\n \\[\n x = \\frac{8}{2}\n \\]\n\n \\[\n x = 4\n \\]\n\n2. **Equation 2: \\(3y - 7 = 20\\)**\n\n \\[\n 3y - 7 = 20\n \\]\n\n First, add 7 to both sides to isolate the term with \\(y\\):\n\n \\[\n 3y = 20 + 7\n \\]\n\n \\[\n 3y = 27\n \\]\n\n Next, divide both sides by 3 to solve for \\(y\\):\n\n \\[\n y = \\frac{27}{3}\n \\]\n\n \\[\n y = 9\n \\]\n\n3. **Equation 3: \\(4z + 8 = 32\\)**\n\n \\[\n 4z + 8 = 32\n \\]\n\n First, subtract 8 from both sides to isolate the term with \\(z\\):\n\n \\[\n 4z = 32 - 8\n \\]\n\n \\[\n 4z = 24\n \\]\n\n Next, divide both sides by 4 to solve for \\(z\\):\n\n \\[\n z = \\frac{24}{4}\n \\]\n\n \\[\n z = 6\n \\]\n\nThe solutions to the equations are indeed \\(x = 4\\), \\(y = 9\\), and \\(z = 6\\), which match the results you provided.", - "timestamp": "2025-04-02T21:56:24.863Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "To write the JSON data to the specified file and then read it back, you can perform the following steps in Python. The Python script uses local file I/O to write and read the JSON data:\n\n1. **Write the JSON data** to the file.\n2. **Read the JSON data** back from the file.\n\nHere is the Python code to achieve this:\n\n```python\nimport json\nimport os\n\n# JSON data\ndata = {\"test\": \"data\", \"timestamp\": \"2025-04-02t21:56:24.883z\"}\n\n# File path\nfile_path = r\"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json\"\n\n# Ensure the directory exists\nos.makedirs(os.path.dirname(file_path), exist_ok=True)\n\n# Write JSON data to the file\nwith open(file_path, 'w') as file:\n json.dump(data, file, indent=4)\n\n# Read the JSON data back from the file\nwith open(file_path, 'r') as file:\n read_data = json.load(file)\n print(read_data)\n```\n\n### Explanation:\n\n- `json.dump()` is used to write the JSON data to a file.\n- `json.load()` is used to read the JSON data back from the file.\n- `os.makedirs()` ensures that the directory path exists before writing the file. The `exist_ok=True` parameter prevents raising an exception if the directory already exists.\n- The `indent=4` parameter in `json.dump()` makes the JSON output more readable by pretty-printing it with indentation.\n\nPlease ensure that the specified file path is correct and that your Python environment has the necessary permissions to write to this path.", - "timestamp": "2025-04-02T21:56:29.191Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "I'm unable to access or browse files on your computer or any external systems. However, I can guide you on how to list all the files in a specific directory using the command line or a script.\n\n### Using Command Prompt on Windows:\n\n1. Open Command Prompt by typing `cmd` in the Start menu and pressing Enter.\n2. Navigate to the directory by typing:\n ```\n cd C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\n ```\n3. To list all files, type:\n ```\n dir\n ```\n\n### Using Windows PowerShell:\n\n1. Open PowerShell by searching for it in the Start menu.\n2. Navigate to the directory by typing:\n ```powershell\n Set-Location -Path 'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data'\n ```\n3. To list all files, use:\n ```powershell\n Get-ChildItem\n ```\n\n### Using a Python Script:\n\nYou can also write a simple Python script to list the files:\n\n```python\nimport os\n\ndirectory = r'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data'\n\nfor filename in os.listdir(directory):\n print(filename)\n```\n\nChoose the method that best suits your needs. If you have any questions or need further assistance, feel free to ask!", - "timestamp": "2025-04-02T21:56:32.925Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "It looks like there's an issue specific to your request that involves accessing files on your local machine, which I can't do. However, you can manually provide me with the equations, and I will solve them for you. Here are solutions to the sample equations you provided:\n\n1. \\(2x + 5 = 13\\)\n\n To solve for \\(x\\), subtract 5 from both sides:\n \\[\n 2x = 13 - 5\n \\]\n \\[\n 2x = 8\n \\]\n Now, divide by 2:\n \\[\n x = \\frac{8}{2} = 4\n \\]\n\n2. \\(3y - 7 = 20\\)\n\n To solve for \\(y\\), add 7 to both sides:\n \\[\n 3y = 20 + 7\n \\]\n \\[\n 3y = 27\n \\]\n Now, divide by 3:\n \\[\n y = \\frac{27}{3} = 9\n \\]\n\n3. \\(4z + 8 = 32\\)\n\n To solve for \\(z\\), subtract 8 from both sides:\n \\[\n 4z = 32 - 8\n \\]\n \\[\n 4z = 24\n \\]\n Now, divide by 4:\n \\[\n z = \\frac{24}{4} = 6\n \\]\n\nIf you have other equations, please provide them here, and I'd be happy to solve those as well.", - "timestamp": "2025-04-02T21:57:14.991Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "To write JSON data to a file and read it back in a Windows environment using Python, you can follow these steps. Below is a Python script that performs this task:\n\n```python\nimport json\nimport os\n\n# Define the file path\nfile_path = r'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json'\n\n# JSON data to write\ndata_to_write = {\n \"test\": \"data\",\n \"timestamp\": \"2025-04-02t21:57:15.012z\"\n}\n\n# Write JSON data to the file\nwith open(file_path, 'w') as file:\n json.dump(data_to_write, file, indent=4)\n\n# Read JSON data back from the file\nwith open(file_path, 'r') as file:\n data_read = json.load(file)\n\n# Print the data read from the file\nprint(data_read)\n```\n\n### Explanation:\n\n1. **Import Necessary Modules**: We import the `json` module for handling JSON data and `os` module if needed for path operations.\n\n2. **Define the File Path**: The `file_path` variable holds the path where we want to save and read the JSON file. Make sure that all the directories in the path exist.\n\n3. **JSON Data Definition**: The `data_to_write` dictionary contains the JSON data you want to store.\n\n4. **Write JSON Data**: Using `json.dump()`, we write the JSON data to a file. The `indent=4` argument ensures the file is formatted nicely.\n\n5. **Read JSON Data**: We open the file in read mode and use `json.load()` to read the data back into a Python dictionary.\n\n6. **Print the Data**: Finally, we print the data to confirm that it was read correctly.\n\nMake sure you have the necessary file write permissions and the directory structure exists. If any directories are missing, you'll need to create them before running the script.", - "timestamp": "2025-04-02T21:57:20.824Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "I'm unable to browse or list files on your local machine or any external systems. However, you can view the files in the specified directory by following these steps:\n\n1. Open File Explorer on your Windows machine.\n2. Navigate to `C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data`.\n3. You will see the list of files present in that directory.\n\nIf you need assistance with any specific file or task related to these files, feel free to ask!", - "timestamp": "2025-04-02T21:57:23.000Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "It seems there's an issue reading the file. Let's solve the sample equations provided:\n\n1. Solve \\(2x + 5 = 13\\):\n \\[\n 2x + 5 = 13 \\\\\n 2x = 13 - 5 \\\\\n 2x = 8 \\\\\n x = \\frac{8}{2} \\\\\n x = 4\n \\]\n\n2. Solve \\(3y - 7 = 20\\):\n \\[\n 3y - 7 = 20 \\\\\n 3y = 20 + 7 \\\\\n 3y = 27 \\\\\n y = \\frac{27}{3} \\\\\n y = 9\n \\]\n\n3. Solve \\(4z + 8 = 32\\):\n \\[\n 4z + 8 = 32 \\\\\n 4z = 32 - 8 \\\\\n 4z = 24 \\\\\n z = \\frac{24}{4} \\\\\n z = 6\n \\]\n\nThe solutions for the equations are \\(x = 4\\), \\(y = 9\\), and \\(z = 6\\), which match the test preferences provided.", - "timestamp": "2025-04-02T21:58:37.076Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "The content of the file `test-data.json` has been successfully written and read back:\n\n```json\n{\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"}\n```", - "timestamp": "2025-04-02T21:58:43.204Z", - "service": "collector:onContent" - }, - { - "level": "debug", - "message": "There are no files in the directory: `C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data`.", - "timestamp": "2025-04-02T21:58:46.315Z", - "service": "collector:onContent" - } -] \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/openai-message.json b/packages/kbot/tests/unit/logs/openai-message.json deleted file mode 100644 index 93dd31e8..00000000 --- a/packages/kbot/tests/unit/logs/openai-message.json +++ /dev/null @@ -1,401 +0,0 @@ -[ - { - "level": "info", - "message": { - "role": "assistant", - "content": "Let's solve each of these equations step by step:\n\n1. **Equation 1: \\(2x + 5 = 13\\)**\n\n \\[\n 2x + 5 = 13\n \\]\n\n First, subtract 5 from both sides to isolate the term with \\(x\\):\n\n \\[\n 2x = 13 - 5\n \\]\n\n \\[\n 2x = 8\n \\]\n\n Next, divide both sides by 2 to solve for \\(x\\):\n\n \\[\n x = \\frac{8}{2}\n \\]\n\n \\[\n x = 4\n \\]\n\n2. **Equation 2: \\(3y - 7 = 20\\)**\n\n \\[\n 3y - 7 = 20\n \\]\n\n First, add 7 to both sides to isolate the term with \\(y\\):\n\n \\[\n 3y = 20 + 7\n \\]\n\n \\[\n 3y = 27\n \\]\n\n Next, divide both sides by 3 to solve for \\(y\\):\n\n \\[\n y = \\frac{27}{3}\n \\]\n\n \\[\n y = 9\n \\]\n\n3. **Equation 3: \\(4z + 8 = 32\\)**\n\n \\[\n 4z + 8 = 32\n \\]\n\n First, subtract 8 from both sides to isolate the term with \\(z\\):\n\n \\[\n 4z = 32 - 8\n \\]\n\n \\[\n 4z = 24\n \\]\n\n Next, divide both sides by 4 to solve for \\(z\\):\n\n \\[\n z = \\frac{24}{4}\n \\]\n\n \\[\n z = 6\n \\]\n\nThe solutions to the equations are indeed \\(x = 4\\), \\(y = 9\\), and \\(z = 6\\), which match the results you provided.", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:56:24.862Z", - "sessionId": "1743630981203", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:56:24.862Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "To write the JSON data to the specified file and then read it back, you can perform the following steps in Python. The Python script uses local file I/O to write and read the JSON data:\n\n1. **Write the JSON data** to the file.\n2. **Read the JSON data** back from the file.\n\nHere is the Python code to achieve this:\n\n```python\nimport json\nimport os\n\n# JSON data\ndata = {\"test\": \"data\", \"timestamp\": \"2025-04-02t21:56:24.883z\"}\n\n# File path\nfile_path = r\"C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json\"\n\n# Ensure the directory exists\nos.makedirs(os.path.dirname(file_path), exist_ok=True)\n\n# Write JSON data to the file\nwith open(file_path, 'w') as file:\n json.dump(data, file, indent=4)\n\n# Read the JSON data back from the file\nwith open(file_path, 'r') as file:\n read_data = json.load(file)\n print(read_data)\n```\n\n### Explanation:\n\n- `json.dump()` is used to write the JSON data to a file.\n- `json.load()` is used to read the JSON data back from the file.\n- `os.makedirs()` ensures that the directory path exists before writing the file. The `exist_ok=True` parameter prevents raising an exception if the directory already exists.\n- The `indent=4` parameter in `json.dump()` makes the JSON output more readable by pretty-printing it with indentation.\n\nPlease ensure that the specified file path is correct and that your Python environment has the necessary permissions to write to this path.", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:56:29.189Z", - "sessionId": "1743630984996", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:56:24.883z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:56:29.190Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "I'm unable to access or browse files on your computer or any external systems. However, I can guide you on how to list all the files in a specific directory using the command line or a script.\n\n### Using Command Prompt on Windows:\n\n1. Open Command Prompt by typing `cmd` in the Start menu and pressing Enter.\n2. Navigate to the directory by typing:\n ```\n cd C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\n ```\n3. To list all files, type:\n ```\n dir\n ```\n\n### Using Windows PowerShell:\n\n1. Open PowerShell by searching for it in the Start menu.\n2. Navigate to the directory by typing:\n ```powershell\n Set-Location -Path 'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data'\n ```\n3. To list all files, use:\n ```powershell\n Get-ChildItem\n ```\n\n### Using a Python Script:\n\nYou can also write a simple Python script to list the files:\n\n```python\nimport os\n\ndirectory = r'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data'\n\nfor filename in os.listdir(directory):\n print(filename)\n```\n\nChoose the method that best suits your needs. If you have any questions or need further assistance, feel free to ask!", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:56:32.923Z", - "sessionId": "1743630989316", - "prompt": "List all files in C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:56:32.924Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "It looks like there's an issue specific to your request that involves accessing files on your local machine, which I can't do. However, you can manually provide me with the equations, and I will solve them for you. Here are solutions to the sample equations you provided:\n\n1. \\(2x + 5 = 13\\)\n\n To solve for \\(x\\), subtract 5 from both sides:\n \\[\n 2x = 13 - 5\n \\]\n \\[\n 2x = 8\n \\]\n Now, divide by 2:\n \\[\n x = \\frac{8}{2} = 4\n \\]\n\n2. \\(3y - 7 = 20\\)\n\n To solve for \\(y\\), add 7 to both sides:\n \\[\n 3y = 20 + 7\n \\]\n \\[\n 3y = 27\n \\]\n Now, divide by 3:\n \\[\n y = \\frac{27}{3} = 9\n \\]\n\n3. \\(4z + 8 = 32\\)\n\n To solve for \\(z\\), subtract 8 from both sides:\n \\[\n 4z = 32 - 8\n \\]\n \\[\n 4z = 24\n \\]\n Now, divide by 4:\n \\[\n z = \\frac{24}{4} = 6\n \\]\n\nIf you have other equations, please provide them here, and I'd be happy to solve those as well.", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:57:14.990Z", - "sessionId": "1743631031131", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:57:14.990Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "To write JSON data to a file and read it back in a Windows environment using Python, you can follow these steps. Below is a Python script that performs this task:\n\n```python\nimport json\nimport os\n\n# Define the file path\nfile_path = r'C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json'\n\n# JSON data to write\ndata_to_write = {\n \"test\": \"data\",\n \"timestamp\": \"2025-04-02t21:57:15.012z\"\n}\n\n# Write JSON data to the file\nwith open(file_path, 'w') as file:\n json.dump(data_to_write, file, indent=4)\n\n# Read JSON data back from the file\nwith open(file_path, 'r') as file:\n data_read = json.load(file)\n\n# Print the data read from the file\nprint(data_read)\n```\n\n### Explanation:\n\n1. **Import Necessary Modules**: We import the `json` module for handling JSON data and `os` module if needed for path operations.\n\n2. **Define the File Path**: The `file_path` variable holds the path where we want to save and read the JSON file. Make sure that all the directories in the path exist.\n\n3. **JSON Data Definition**: The `data_to_write` dictionary contains the JSON data you want to store.\n\n4. **Write JSON Data**: Using `json.dump()`, we write the JSON data to a file. The `indent=4` argument ensures the file is formatted nicely.\n\n5. **Read JSON Data**: We open the file in read mode and use `json.load()` to read the data back into a Python dictionary.\n\n6. **Print the Data**: Finally, we print the data to confirm that it was read correctly.\n\nMake sure you have the necessary file write permissions and the directory structure exists. If any directories are missing, you'll need to create them before running the script.", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:57:20.822Z", - "sessionId": "1743631035132", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:57:15.012z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:57:20.823Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "I'm unable to browse or list files on your local machine or any external systems. However, you can view the files in the specified directory by following these steps:\n\n1. Open File Explorer on your Windows machine.\n2. Navigate to `C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data`.\n3. You will see the list of files present in that directory.\n\nIf you need assistance with any specific file or task related to these files, feel free to ask!", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:57:22.999Z", - "sessionId": "1743631040948", - "prompt": "List all files in C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:57:22.999Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_Nz1V2egRr4OCdgNP9hSuMqkI", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:57:39.219Z", - "sessionId": "1743631056851", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:57:39.220Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_Nz1V2egRr4OCdgNP9hSuMqkI", - "content": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "timestamp": "2025-04-02T21:57:39.226Z", - "sessionId": "1743631056851", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:57:39.227Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_ZcofgyYvRZycqe5i9v00OW1a", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:58:27.886Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:27.887Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_ZcofgyYvRZycqe5i9v00OW1a", - "content": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "timestamp": "2025-04-02T21:58:27.891Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:27.891Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_bR4C5jbZCSLJ2HXCF68kcH7k", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:58:29.964Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:29.965Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_bR4C5jbZCSLJ2HXCF68kcH7k", - "content": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "timestamp": "2025-04-02T21:58:29.967Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:29.967Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_bRWTWRqxjiVUFLZtAUo0ywn6", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:58:32.839Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:32.839Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_bRWTWRqxjiVUFLZtAUo0ywn6", - "content": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\tools.test.md\"}}", - "timestamp": "2025-04-02T21:58:32.841Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:32.841Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "It seems there's an issue reading the file. Let's solve the sample equations provided:\n\n1. Solve \\(2x + 5 = 13\\):\n \\[\n 2x + 5 = 13 \\\\\n 2x = 13 - 5 \\\\\n 2x = 8 \\\\\n x = \\frac{8}{2} \\\\\n x = 4\n \\]\n\n2. Solve \\(3y - 7 = 20\\):\n \\[\n 3y - 7 = 20 \\\\\n 3y = 20 + 7 \\\\\n 3y = 27 \\\\\n y = \\frac{27}{3} \\\\\n y = 9\n \\]\n\n3. Solve \\(4z + 8 = 32\\):\n \\[\n 4z + 8 = 32 \\\\\n 4z = 32 - 8 \\\\\n 4z = 24 \\\\\n z = \\frac{24}{4} \\\\\n z = 6\n \\]\n\nThe solutions for the equations are \\(x = 4\\), \\(y = 9\\), and \\(z = 6\\), which match the test preferences provided.", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:58:37.075Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:37.075Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_UBPjOY0FqjXD0jLHriQuPuMw", - "type": "function", - "function": { - "name": "write_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\test-data.json\",\"content\":\"eyJ0ZXN0IjoiZGF0YSIsInRpbWVzdGFtcCI6IjIwMjUtMDQtMDJUMjE6NTg6MzcuMDk1WiJ9\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:58:39.840Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:39.841Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_UBPjOY0FqjXD0jLHriQuPuMw", - "content": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\test-data.json\",\"content\":\"eyJ0ZXN0IjoiZGF0YSIsInRpbWVzdGFtcCI6IjIwMjUtMDQtMDJUMjE6NTg6MzcuMDk1WiJ9\"}}", - "timestamp": "2025-04-02T21:58:39.847Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:39.847Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_pIwhdVPXqnTlfyQz7hZoALrw", - "type": "function", - "function": { - "name": "read_file", - "arguments": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\test-data.json\"}}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:58:41.862Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:41.862Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_pIwhdVPXqnTlfyQz7hZoALrw", - "content": "{\"file\":{\"path\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\\\\test-data.json\"}}", - "timestamp": "2025-04-02T21:58:41.864Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:41.865Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "The content of the file `test-data.json` has been successfully written and read back:\n\n```json\n{\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"}\n```", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:58:43.203Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:43.203Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "", - "refusal": null, - "tool_calls": [ - { - "index": 0, - "id": "call_mmLKD2FDdNm1znzU1nVTK1ga", - "type": "function", - "function": { - "name": "list_files", - "arguments": "{\"directory\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\"}", - "parsed_arguments": null - } - } - ], - "parsed": null, - "timestamp": "2025-04-02T21:58:45.106Z", - "sessionId": "1743631123330", - "prompt": "List all files in C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:58:45.107Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "tool", - "tool_call_id": "call_mmLKD2FDdNm1znzU1nVTK1ga", - "content": "{\"directory\":\"C:\\\\Users\\\\zx\\\\Desktop\\\\polymech\\\\polymech-mono\\\\packages\\\\kbot\\\\tests\\\\unit\\\\test-data\"}", - "timestamp": "2025-04-02T21:58:45.109Z", - "sessionId": "1743631123330", - "prompt": "List all files in C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:58:45.109Z", - "service": "collector:onMessage" - }, - { - "level": "info", - "message": { - "role": "assistant", - "content": "There are no files in the directory: `C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data`.", - "refusal": null, - "parsed": null, - "timestamp": "2025-04-02T21:58:46.313Z", - "sessionId": "1743631123330", - "prompt": "List all files in C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:58:46.314Z", - "service": "collector:onMessage" - } -] \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/params.json b/packages/kbot/tests/unit/logs/params.json deleted file mode 100644 index 118791ea..00000000 --- a/packages/kbot/tests/unit/logs/params.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "model": "divide 15 by 3. Return only the number, no explanation.", - "messages": [ - { - "role": "user", - "content": "5" - }, - { - "role": "user", - "content": "USER Preferences : Test preferences" - }, - { - "role": "user", - "path": "reports/basic.json", - "content": "{\n \"results\": [\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T10:56:09.502Z\",\n \"passed\": true,\n \"duration\": 1237\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T10:56:13.802Z\",\n \"passed\": true,\n \"duration\": 4298\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T10:56:15.214Z\",\n \"passed\": true,\n \"duration\": 1411\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T10:56:18.337Z\",\n \"passed\": true,\n \"duration\": 3122\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T10:56:18.922Z\",\n \"passed\": true,\n \"duration\": 583\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T10:56:22.539Z\",\n \"passed\": true,\n \"duration\": 3615\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:01:08.904Z\",\n \"passed\": true,\n \"duration\": 1888\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:01:15.210Z\",\n \"passed\": true,\n \"duration\": 6304\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:01:16.502Z\",\n \"passed\": true,\n \"duration\": 1291\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:01:18.728Z\",\n \"passed\": true,\n \"duration\": 2225\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:01:19.938Z\",\n \"passed\": true,\n \"duration\": 1209\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:01:27.791Z\",\n \"passed\": true,\n \"duration\": 7852\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:21.370Z\",\n \"passed\": true,\n \"duration\": 1213,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:24.898Z\",\n \"passed\": true,\n \"duration\": 3524,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:25.624Z\",\n \"passed\": true,\n \"duration\": 724,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:26.630Z\",\n \"passed\": true,\n \"duration\": 1005,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:27.812Z\",\n \"passed\": true,\n \"duration\": 1178,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:31.317Z\",\n \"passed\": true,\n \"duration\": 3503,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:32.288Z\",\n \"passed\": true,\n \"duration\": 969,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:33.147Z\",\n \"passed\": true,\n \"duration\": 858,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:33.724Z\",\n \"passed\": true,\n \"duration\": 576,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:34.841Z\",\n \"passed\": true,\n \"duration\": 1115,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:35.673Z\",\n \"passed\": true,\n \"duration\": 831,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:16:36.762Z\",\n \"passed\": true,\n \"duration\": 1087,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:25.749Z\",\n \"passed\": true,\n \"duration\": 1644,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:31.261Z\",\n \"passed\": true,\n \"duration\": 5507,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:32.131Z\",\n \"passed\": true,\n \"duration\": 869,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:33.306Z\",\n \"passed\": true,\n \"duration\": 1173,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:34.323Z\",\n \"passed\": true,\n \"duration\": 1016,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:38.976Z\",\n \"passed\": true,\n \"duration\": 4651,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:39.914Z\",\n \"passed\": true,\n \"duration\": 937,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:41.053Z\",\n \"passed\": true,\n \"duration\": 1137,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:42.918Z\",\n \"passed\": true,\n \"duration\": 1863,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:47.234Z\",\n \"passed\": true,\n \"duration\": 4314,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:47.966Z\",\n \"passed\": true,\n \"duration\": 730,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:20:48.941Z\",\n \"passed\": true,\n \"duration\": 973,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:15.745Z\",\n \"passed\": true,\n \"duration\": 1951,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:19.476Z\",\n \"passed\": true,\n \"duration\": 3726,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:20.854Z\",\n \"passed\": true,\n \"duration\": 1376,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:28.044Z\",\n \"passed\": true,\n \"duration\": 7188,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"deepseek/deepseek-r1\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:43.203Z\",\n \"passed\": true,\n \"duration\": 15157,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:50.736Z\",\n \"passed\": true,\n \"duration\": 7531,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:51.834Z\",\n \"passed\": true,\n \"duration\": 1096,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:55.428Z\",\n \"passed\": true,\n \"duration\": 3592,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:56.874Z\",\n \"passed\": true,\n \"duration\": 1444,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:25:57.746Z\",\n \"passed\": true,\n \"duration\": 870,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"deepseek/deepseek-r1\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:08.731Z\",\n \"passed\": true,\n \"duration\": 10983,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:14.379Z\",\n \"passed\": true,\n \"duration\": 5646,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:15.658Z\",\n \"passed\": true,\n \"duration\": 1276,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:21.428Z\",\n \"passed\": true,\n \"duration\": 5768,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:22.358Z\",\n \"passed\": true,\n \"duration\": 929,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:23.155Z\",\n \"passed\": true,\n \"duration\": 794,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"deepseek/deepseek-r1\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:38.566Z\",\n \"passed\": true,\n \"duration\": 15409,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"router\": \"openrouter\",\n \"timestamp\": \"2025-04-02T11:26:40.358Z\",\n \"passed\": true,\n \"duration\": 1790,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"anthropic/claude-3.5-sonnet\",\n \"timestamp\": \"2025-04-02T13:44:06.429Z\",\n \"passed\": true,\n \"duration\": 1689,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"qwen/qwq-32b\",\n \"timestamp\": \"2025-04-02T13:44:10.240Z\",\n \"passed\": true,\n \"duration\": 3807,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openai/gpt-4o-mini\",\n \"timestamp\": \"2025-04-02T13:44:11.128Z\",\n \"passed\": true,\n \"duration\": 885,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openai/gpt-3.5-turbo\",\n \"timestamp\": \"2025-04-02T13:44:21.587Z\",\n \"passed\": true,\n \"duration\": 10455,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"8\"\n ],\n \"expected\": \"8\",\n \"model\": \"deepseek/deepseek-r1\",\n \"router\": \"deepseek/deepseek-r1\",\n \"timestamp\": \"2025-04-02T13:44:33.654Z\",\n \"passed\": true,\n \"duration\": 12064,\n \"category\": \"basic\"\n },\n {\n \"test\": \"addition\",\n \"prompt\": \"add 5 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"The sum of 5 and 3 is 8. Therefore, the result is \\\\boxed{8}.\"\n ],\n \"expected\": \"8\",\n \"model\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"router\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"timestamp\": \"2025-04-02T13:44:40.062Z\",\n \"passed\": false,\n \"duration\": 6405,\n \"reason\": \"Expected 8, but got the sum of 5 and 3 is 8. therefore, the result is \\\\boxed{8}.\",\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"anthropic/claude-3.5-sonnet\",\n \"timestamp\": \"2025-04-02T13:44:41.261Z\",\n \"passed\": true,\n \"duration\": 1190,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"qwen/qwq-32b\",\n \"timestamp\": \"2025-04-02T13:44:46.272Z\",\n \"passed\": true,\n \"duration\": 5008,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openai/gpt-4o-mini\",\n \"timestamp\": \"2025-04-02T13:44:47.386Z\",\n \"passed\": true,\n \"duration\": 1111,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openai/gpt-3.5-turbo\",\n \"timestamp\": \"2025-04-02T13:44:48.372Z\",\n \"passed\": true,\n \"duration\": 984,\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\\n\\n24\\n\\nThe result is 24.\\n\\n24\\n\\nHere's the answer: 24\\n\\nThe answer will be 24.\\n\\n24\\n\\n24\\n\\nThe product of 8 and 3 is 24.\\n\\n24\\n\\nThe answer is 24.\\n\\n24\\n\\n24\\n\\n24\\n\\nThe result is 24.\\n\\n24\\n\\nHere's the numerical result: 24\\n\\nThe answer is 24.\\n\\n24\\n\\n24\\n\\nThe answer is 24.\"\n ],\n \"expected\": \"24\",\n \"model\": \"deepseek/deepseek-r1\",\n \"router\": \"deepseek/deepseek-r1\",\n \"timestamp\": \"2025-04-02T13:44:53.633Z\",\n \"passed\": false,\n \"duration\": 5258,\n \"reason\": \"Expected 24, but got 24\\n\\n24\\n\\nthe result is 24.\\n\\n24\\n\\nhere's the answer: 24\\n\\nthe answer will be 24.\\n\\n24\\n\\n24\\n\\nthe product of 8 and 3 is 24.\\n\\n24\\n\\nthe answer is 24.\\n\\n24\\n\\n24\\n\\n24\\n\\nthe result is 24.\\n\\n24\\n\\nhere's the numerical result: 24\\n\\nthe answer is 24.\\n\\n24\\n\\n24\\n\\nthe answer is 24.\",\n \"category\": \"basic\"\n },\n {\n \"test\": \"multiplication\",\n \"prompt\": \"multiply 8 and 3. Return only the number, no explanation.\",\n \"result\": [\n \"24\"\n ],\n \"expected\": \"24\",\n \"model\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"router\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"timestamp\": \"2025-04-02T13:44:55.196Z\",\n \"passed\": true,\n \"duration\": 1558,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"router\": \"anthropic/claude-3.5-sonnet\",\n \"timestamp\": \"2025-04-02T13:44:56.604Z\",\n \"passed\": true,\n \"duration\": 1405,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"qwen/qwq-32b\",\n \"router\": \"qwen/qwq-32b\",\n \"timestamp\": \"2025-04-02T13:44:57.523Z\",\n \"passed\": true,\n \"duration\": 917,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-4o-mini\",\n \"router\": \"openai/gpt-4o-mini\",\n \"timestamp\": \"2025-04-02T13:44:58.630Z\",\n \"passed\": true,\n \"duration\": 1104,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"openai/gpt-3.5-turbo\",\n \"router\": \"openai/gpt-3.5-turbo\",\n \"timestamp\": \"2025-04-02T13:44:59.523Z\",\n \"passed\": true,\n \"duration\": 889,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"deepseek/deepseek-r1\",\n \"router\": \"deepseek/deepseek-r1\",\n \"timestamp\": \"2025-04-02T13:45:06.658Z\",\n \"passed\": true,\n \"duration\": 7130,\n \"category\": \"basic\"\n },\n {\n \"test\": \"division\",\n \"prompt\": \"divide 15 by 3. Return only the number, no explanation.\",\n \"result\": [\n \"5\"\n ],\n \"expected\": \"5\",\n \"model\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"router\": \"deepseek/deepseek-r1-distill-qwen-14b:free\",\n \"timestamp\": \"2025-04-02T13:45:10.307Z\",\n \"passed\": true,\n \"duration\": 3646,\n \"category\": \"basic\"\n }\n ],\n \"highscores\": [\n {\n \"test\": \"addition\",\n \"rankings\": [\n {\n \"model\": \"openai/gpt-4o-mini\",\n \"duration\": 885,\n \"duration_secs\": 0.885\n },\n {\n \"model\": \"anthropic/claude-3.5-sonnet\",\n \"duration\": 1689,\n \"duration_secs\": 1.689\n }\n ]\n },\n {\n \"test\": \"multiplication\",\n \"rankings\": [\n {\n \"model\": \"openai/gpt-3.5-turbo\",\n \"duration\": 984,\n \"duration_secs\": 0.984\n },\n {\n \"model\": \"openai/gpt-4o-mini\",\n \"duration\": 1111,\n \"duration_secs\": 1.111\n }\n ]\n },\n {\n \"test\": \"division\",\n \"rankings\": [\n {\n \"model\": \"openai/gpt-3.5-turbo\",\n \"duration\": 889,\n \"duration_secs\": 0.889\n },\n {\n \"model\": \"qwen/qwq-32b\",\n \"duration\": 917,\n \"duration_secs\": 0.917\n }\n ]\n }\n ],\n \"lastUpdated\": \"2025-04-02T13:45:10.308Z\"\n}" - } - ], - "tools": [], - "tool_choice": "auto", - "parallel_tool_calls": false -} \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/preferences.md b/packages/kbot/tests/unit/logs/preferences.md deleted file mode 100644 index 97c697bf..00000000 --- a/packages/kbot/tests/unit/logs/preferences.md +++ /dev/null @@ -1 +0,0 @@ -Test preferences \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/tool-call-result.json b/packages/kbot/tests/unit/logs/tool-call-result.json deleted file mode 100644 index ea6d83b5..00000000 --- a/packages/kbot/tests/unit/logs/tool-call-result.json +++ /dev/null @@ -1,71 +0,0 @@ -[ - { - "level": "debug", - "message": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "timestamp": "2025-04-02T21:57:39.228Z", - "service": "collector:onFunctionCallResult" - }, - { - "level": "debug", - "message": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "timestamp": "2025-04-02T21:58:27.892Z", - "service": "collector:onFunctionCallResult" - }, - { - "level": "debug", - "message": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "timestamp": "2025-04-02T21:58:29.968Z", - "service": "collector:onFunctionCallResult" - }, - { - "level": "debug", - "message": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "timestamp": "2025-04-02T21:58:32.842Z", - "service": "collector:onFunctionCallResult" - }, - { - "level": "debug", - "message": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json", - "content": "eyJ0ZXN0IjoiZGF0YSIsInRpbWVzdGFtcCI6IjIwMjUtMDQtMDJUMjE6NTg6MzcuMDk1WiJ9" - } - }, - "timestamp": "2025-04-02T21:58:39.848Z", - "service": "collector:onFunctionCallResult" - }, - { - "level": "debug", - "message": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json" - } - }, - "timestamp": "2025-04-02T21:58:41.865Z", - "service": "collector:onFunctionCallResult" - }, - { - "level": "debug", - "message": { - "directory": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:58:45.110Z", - "service": "collector:onFunctionCallResult" - } -] \ No newline at end of file diff --git a/packages/kbot/tests/unit/logs/tool-call.json b/packages/kbot/tests/unit/logs/tool-call.json deleted file mode 100644 index 3215e2ca..00000000 --- a/packages/kbot/tests/unit/logs/tool-call.json +++ /dev/null @@ -1,120 +0,0 @@ -[ - { - "level": "debug", - "message": { - "name": "read_file", - "arguments": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:57:39.221Z", - "sessionId": "1743631056851", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:57:39.222Z", - "service": "collector:onToolCall" - }, - { - "level": "debug", - "message": { - "name": "read_file", - "arguments": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:58:27.887Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:27.888Z", - "service": "collector:onToolCall" - }, - { - "level": "debug", - "message": { - "name": "read_file", - "arguments": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:58:29.965Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:29.965Z", - "service": "collector:onToolCall" - }, - { - "level": "debug", - "message": { - "name": "read_file", - "arguments": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md" - } - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:58:32.839Z", - "sessionId": "1743631106089", - "prompt": "Read equations from C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\tools.test.md and solve them" - }, - "timestamp": "2025-04-02T21:58:32.840Z", - "service": "collector:onToolCall" - }, - { - "level": "debug", - "message": { - "name": "write_file", - "arguments": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json", - "content": "eyJ0ZXN0IjoiZGF0YSIsInRpbWVzdGFtcCI6IjIwMjUtMDQtMDJUMjE6NTg6MzcuMDk1WiJ9" - } - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:58:39.841Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:39.842Z", - "service": "collector:onToolCall" - }, - { - "level": "debug", - "message": { - "name": "read_file", - "arguments": { - "file": { - "path": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json" - } - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:58:41.862Z", - "sessionId": "1743631117208", - "prompt": "Write {\"test\":\"data\",\"timestamp\":\"2025-04-02t21:58:37.095z\"} to C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data\\test-data.json and read it back" - }, - "timestamp": "2025-04-02T21:58:41.863Z", - "service": "collector:onToolCall" - }, - { - "level": "debug", - "message": { - "name": "list_files", - "arguments": { - "directory": "C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "parsed_arguments": null, - "timestamp": "2025-04-02T21:58:45.107Z", - "sessionId": "1743631123330", - "prompt": "List all files in C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\test-data" - }, - "timestamp": "2025-04-02T21:58:45.108Z", - "service": "collector:onToolCall" - } -] \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/all.json b/packages/kbot/tests/unit/reports/all.json index e36b0732..66531e6f 100644 --- a/packages/kbot/tests/unit/reports/all.json +++ b/packages/kbot/tests/unit/reports/all.json @@ -8422,6 +8422,2023 @@ "duration": 1657, "reason": "Expected function bubbleSort(arr) { const n = arr.length; for(let i = 0; i < n; i++) { for(let j = 0; j < n-i-1; j++) { if(arr[j] > arr[j+1]) { [arr[j], arr[j+1]] = [arr[j+1], arr[j]]; } } } return arr; }, but got function bubblesort(arr) {\n let n = arr.length;\n for (let i = 0; i < n - 1; i++) {\n for (let j = 0; j < n - 1 - i; j++) {\n if (arr[j] > arr[j + 1]) {\n let temp = arr[j];\n arr[j] = arr[j + 1];\n arr[j + 1] = temp;\n }\n }\n }\n return arr;\n}", "category": "coding" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Dijkstra's Algorithm" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:18:51.155Z", + "passed": false, + "duration": 1359, + "reason": "Expected bubble sort, but got dijkstra's algorithm", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in the provided files is AES encryption in CTR mode with a key derived using PBKDF2-HMAC-SHA256. The primary cipher used is AES (Advanced Encryption Standard), specifically in CTR (Counter) mode. Therefore, the name is AES-CTR.\n\n**Answer:** AES" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:19:05.797Z", + "passed": false, + "duration": 14630, + "reason": "Expected bubble sort, but got the algorithm implemented in the provided files is aes encryption in ctr mode with a key derived using pbkdf2-hmac-sha256. the primary cipher used is aes (advanced encryption standard), specifically in ctr (counter) mode. therefore, the name is aes-ctr.\n\n**answer:** aes", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The name of the algorithm is not provided in your request." + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:19:07.137Z", + "passed": false, + "duration": 1330, + "reason": "Expected bubble sort, but got the name of the algorithm is not provided in your request.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Please upload or provide the files you'd like me to analyze." + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:19:07.935Z", + "passed": false, + "duration": 790, + "reason": "Expected bubble sort, but got please upload or provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in these files is \"Collaborative Filtering.\"" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:19:09.003Z", + "passed": false, + "duration": 1058, + "reason": "Expected bubble sort, but got the algorithm implemented in these files is \"collaborative filtering.\"", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:19:39.019Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:194:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "I'm sorry, but I cannot determine the name of the algorithm without more context or specific information about the files in question." + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:19:41.008Z", + "passed": false, + "duration": 1979, + "reason": "Expected bubble sort, but got i'm sorry, but i cannot determine the name of the algorithm without more context or specific information about the files in question.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Please upload or provide the files you'd like me to analyze." + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:19:41.854Z", + "passed": false, + "duration": 838, + "reason": "Expected bubble sort, but got please upload or provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:20:05.993Z", + "passed": true, + "duration": 1179, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in the provided code is the **Bubble Sort Algorithm**." + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:20:11.767Z", + "passed": false, + "duration": 5763, + "reason": "Expected bubble sort, but got the algorithm implemented in the provided code is the **bubble sort algorithm**.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:20:13.107Z", + "passed": true, + "duration": 1334, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:20:14.287Z", + "passed": true, + "duration": 1173, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "K-means clustering" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:20:15.141Z", + "passed": false, + "duration": 847, + "reason": "Expected bubble sort, but got k-means clustering", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in the files is **Gradient Descent**." + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:20:23.840Z", + "passed": false, + "duration": 8688, + "reason": "Expected bubble sort, but got the algorithm implemented in the files is **gradient descent**.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "I cannot determine the name of the algorithm based on the provided information." + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:20:25.805Z", + "passed": false, + "duration": 1956, + "reason": "Expected bubble sort, but got i cannot determine the name of the algorithm based on the provided information.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Please provide the files you'd like me to analyze." + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:20:26.593Z", + "passed": false, + "duration": 780, + "reason": "Expected bubble sort, but got please provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:21:25.673Z", + "passed": true, + "duration": 1367, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort Algorithm" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:21:30.787Z", + "passed": false, + "duration": 5106, + "reason": "Expected bubble sort, but got bubble sort algorithm", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:21:31.712Z", + "passed": true, + "duration": 918, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:21:32.767Z", + "passed": true, + "duration": 1048, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:21:33.649Z", + "passed": true, + "duration": 875, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:21:40.963Z", + "passed": true, + "duration": 7307, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:21:42.451Z", + "passed": true, + "duration": 1480, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:21:43.287Z", + "passed": true, + "duration": 829, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubbleSort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:24.033Z", + "passed": false, + "duration": 1519, + "reason": "Expected bubble sort, but got bubblesort", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubble sort" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:30:29.018Z", + "passed": true, + "duration": 4977, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:30:30.154Z", + "passed": true, + "duration": 1128, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:30:30.838Z", + "passed": true, + "duration": 677, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "1. Bubblesort\n2. Quicksort\n3. Selection sort\n4. Insertion sort\n5. Merge sort\n6. Linear search\n7. Binary search" + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:32.076Z", + "passed": false, + "duration": 1231, + "reason": "Expected bubble sort\nfactorial, but got 1. bubblesort\n2. quicksort\n3. selection sort\n4. insertion sort\n5. merge sort\n6. linear search\n7. binary search", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Algorithm1\nAlgorithm2\nAlgorithm3\nAlgorithm4\nAlgorithm5\nAlgorithm6\nAlgorithm7\nAlgorithm8\nAlgorithm9\nAlgorithm10" + ], + "expected": "bubble sort\nfactorial", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:30:37.874Z", + "passed": false, + "duration": 5787, + "reason": "Expected bubble sort\nfactorial, but got algorithm1\nalgorithm2\nalgorithm3\nalgorithm4\nalgorithm5\nalgorithm6\nalgorithm7\nalgorithm8\nalgorithm9\nalgorithm10", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "I'm sorry, but I cannot access or analyze files directly. However, if you provide me with the names of the algorithms or a list of the file contents, I can help you identify the algorithms from that information." + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:30:39.653Z", + "passed": false, + "duration": 1771, + "reason": "Expected bubble sort\nfactorial, but got i'm sorry, but i cannot access or analyze files directly. however, if you provide me with the names of the algorithms or a list of the file contents, i can help you identify the algorithms from that information.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Certainly! Please upload or provide the files you'd like me to analyze." + ], + "expected": "bubble sort\nfactorial", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:30:40.428Z", + "passed": false, + "duration": 765, + "reason": "Expected bubble sort\nfactorial, but got certainly! please upload or provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:41.577Z", + "passed": false, + "duration": 1140, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:30:50.090Z", + "passed": false, + "duration": 8505, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:30:51.366Z", + "passed": false, + "duration": 1269, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:30:52.495Z", + "passed": false, + "duration": 1122, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "2" + ], + "expected": "2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:53.296Z", + "passed": true, + "duration": 794, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "0" + ], + "expected": "2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:31:12.749Z", + "passed": false, + "duration": 19446, + "reason": "Expected 2, but got 0", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "0" + ], + "expected": "2", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:31:13.650Z", + "passed": false, + "duration": 892, + "reason": "Expected 2, but got 0", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "0" + ], + "expected": "2", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:31:14.354Z", + "passed": false, + "duration": 696, + "reason": "Expected 2, but got 0", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:33:31.043Z", + "passed": true, + "duration": 1340, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Sure! Please provide the files you want me to analyze for the algorithms." + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:33:31.940Z", + "passed": false, + "duration": 888, + "reason": "Expected bubble sort\nfactorial, but got sure! please provide the files you want me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:33:33.493Z", + "passed": false, + "duration": 1542, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:34:22.969Z", + "passed": true, + "duration": 1883, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Sure! Please provide the files or the content you would like me to analyze for the algorithms." + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:34:24.039Z", + "passed": false, + "duration": 1061, + "reason": "Expected bubble sort\nfactorial, but got sure! please provide the files or the content you would like me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:34:25.186Z", + "passed": false, + "duration": 1133, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:02.427Z", + "passed": true, + "duration": 1733, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Please provide the specific file names or content you're referring to in order to identify the algorithms implemented in them." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:03.619Z", + "passed": false, + "duration": 1184, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got please provide the specific file names or content you're referring to in order to identify the algorithms implemented in them.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:04.692Z", + "passed": false, + "duration": 1065, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:34.623Z", + "passed": true, + "duration": 1278, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the list of files you would like me to analyze for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:36.650Z", + "passed": false, + "duration": 2019, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the list of files you would like me to analyze for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:37.745Z", + "passed": false, + "duration": 1086, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:39:33.859Z", + "passed": true, + "duration": 1628, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Please provide the files or the content of the files you are referring to, and I can help you list the algorithms implemented in them as a JSON array." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:39:35.542Z", + "passed": false, + "duration": 1674, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got please provide the files or the content of the files you are referring to, and i can help you list the algorithms implemented in them as a json array.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:39:37.182Z", + "passed": false, + "duration": 1631, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:42:34.182Z", + "passed": true, + "duration": 1315, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "{\"algorithms\": []}" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:42:35.193Z", + "passed": false, + "duration": 1003, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got {\"algorithms\": []}", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:42:37.295Z", + "passed": false, + "duration": 2091, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:43:40.121Z", + "passed": true, + "duration": 1641, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure, please provide the names of the files you would like me to analyze for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:43:41.289Z", + "passed": false, + "duration": 1159, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure, please provide the names of the files you would like me to analyze for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:43:42.379Z", + "passed": false, + "duration": 1080, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:44:41.061Z", + "passed": true, + "duration": 1819, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to analyze for the algorithms implemented in them." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:44:42.391Z", + "passed": false, + "duration": 1321, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to analyze for the algorithms implemented in them.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:44:43.653Z", + "passed": false, + "duration": 1252, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:00.091Z", + "passed": true, + "duration": 1818, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure, please provide the filenames or contents of the files that contain the algorithms you want me to analyze." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:01.558Z", + "passed": false, + "duration": 1458, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure, please provide the filenames or contents of the files that contain the algorithms you want me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:02.916Z", + "passed": false, + "duration": 1349, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:57.758Z", + "passed": true, + "duration": 1504, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you'd like me to analyze for the algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:58.900Z", + "passed": false, + "duration": 1132, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you'd like me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:00.008Z", + "passed": false, + "duration": 1098, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:31.841Z", + "passed": true, + "duration": 1319, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "I would need to see the specific files you are referring to in order to list the algorithms implemented within them. Please provide the files or their content." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:34.248Z", + "passed": false, + "duration": 2396, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got i would need to see the specific files you are referring to in order to list the algorithms implemented within them. please provide the files or their content.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:35.295Z", + "passed": false, + "duration": 1038, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:20.776Z", + "passed": true, + "duration": 1509, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files or the content of the files you want me to analyze for the algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:22.070Z", + "passed": false, + "duration": 1285, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files or the content of the files you want me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:23.445Z", + "passed": false, + "duration": 1365, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:48.866Z", + "passed": true, + "duration": 1918, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to analyze for the algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:50.013Z", + "passed": false, + "duration": 1138, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:51.201Z", + "passed": false, + "duration": 1178, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:51:37.261Z", + "passed": true, + "duration": 22396, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to analyze for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:10.696Z", + "passed": false, + "duration": 33423, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to analyze for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:20.423Z", + "passed": false, + "duration": 9714, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:35.377Z", + "passed": true, + "duration": 1392, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to inspect for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:36.546Z", + "passed": false, + "duration": 1159, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to inspect for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:37.611Z", + "passed": false, + "duration": 1055, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:50.539Z", + "passed": true, + "duration": 7831, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Please provide the files or their contents for me to help you list the algorithms implemented in them." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:54:10.941Z", + "passed": false, + "duration": 80392, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got please provide the files or their contents for me to help you list the algorithms implemented in them.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:54:12.194Z", + "passed": false, + "duration": 1242, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:06.412Z", + "passed": false, + "duration": 140731, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:204:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:14.901Z", + "passed": false, + "duration": 8474, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:30.681Z", + "passed": false, + "duration": 1601, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:34.787Z", + "passed": false, + "duration": 1611, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\n \"factorial\",\n \"bubbleSort\"\n]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:00:10.350Z", + "passed": false, + "duration": 1817, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\n \"factorial\",\n \"bubblesort\"\n]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:00:38.929Z", + "passed": false, + "duration": 1513, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:01:05.089Z", + "passed": false, + "duration": 1403, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:01:06.608Z", + "passed": false, + "duration": 1508, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:01:42.090Z", + "passed": false, + "duration": 4288, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:02:14.412Z", + "passed": false, + "duration": 1862, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:02:20.785Z", + "passed": false, + "duration": 1419, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:02:35.408Z", + "passed": false, + "duration": 2098, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:10.823Z", + "passed": false, + "duration": 7679, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:12.186Z", + "passed": false, + "duration": 1350, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\n \"factorial\",\n \"bubbleSort\"\n]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:45.485Z", + "passed": false, + "duration": 1379, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\n \"factorial\",\n \"bubblesort\"\n]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:46.562Z", + "passed": false, + "duration": 1067, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:09.410Z", + "passed": true, + "duration": 2135, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:10.529Z", + "passed": false, + "duration": 1109, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:11.750Z", + "passed": false, + "duration": 1212, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:14.639Z", + "passed": false, + "duration": 2881, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:11.907Z", + "passed": true, + "duration": 1372, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:12.999Z", + "passed": false, + "duration": 1082, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:14.666Z", + "passed": false, + "duration": 1659, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:17.346Z", + "passed": false, + "duration": 2672, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubble sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:35.717Z", + "passed": true, + "duration": 1411, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:36.740Z", + "passed": false, + "duration": 1012, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:37.999Z", + "passed": false, + "duration": 1250, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:40.832Z", + "passed": false, + "duration": 2824, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:23.284Z", + "passed": true, + "duration": 1409, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:24.272Z", + "passed": false, + "duration": 977, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:25.514Z", + "passed": false, + "duration": 1232, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:28.304Z", + "passed": false, + "duration": 2782, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:08.365Z", + "passed": true, + "duration": 1648, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:09.414Z", + "passed": false, + "duration": 1039, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:11.169Z", + "passed": false, + "duration": 1746, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:13.188Z", + "passed": false, + "duration": 2010, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:18.071Z", + "passed": true, + "duration": 1198, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:18.811Z", + "passed": true, + "duration": 730, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubbleSort\n" + ], + "expected": "bubble sort", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:20.745Z", + "passed": false, + "duration": 1926, + "reason": "Expected bubble sort, but got bubblesort", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:21.710Z", + "passed": false, + "duration": 956, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubble sort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:22.906Z", + "passed": false, + "duration": 1187, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubble sort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:24.649Z", + "passed": false, + "duration": 1734, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:26.014Z", + "passed": false, + "duration": 1357, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:27.012Z", + "passed": false, + "duration": 989, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:28.231Z", + "passed": false, + "duration": 1212, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"wildcat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:31.563Z", + "passed": false, + "duration": 3323, + "reason": "Expected [\"cat\",\"fox\"], but got [\"wildcat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\n \"cat\",\n \"fox\"\n]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:33.448Z", + "passed": false, + "duration": 1876, + "reason": "Expected [\"cat\",\"fox\"], but got [\n \"cat\",\n \"fox\"\n]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:35.906Z", + "passed": false, + "duration": 2449, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" } ], "highscores": [ @@ -8664,7 +10681,22 @@ "duration_secs": 2.181 } ] + }, + { + "test": "file-inclusion", + "rankings": [ + { + "model": "openai/gpt-3.5-turbo", + "duration": 794, + "duration_secs": 0.794 + }, + { + "model": "openrouter/quasar-alpha", + "duration": 1876, + "duration_secs": 1.876 + } + ] } ], - "lastUpdated": "2025-04-04T13:12:05.778Z" + "lastUpdated": "2025-04-04T16:13:35.912Z" } \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/files.json b/packages/kbot/tests/unit/reports/files.json new file mode 100644 index 00000000..eea6386f --- /dev/null +++ b/packages/kbot/tests/unit/reports/files.json @@ -0,0 +1,2039 @@ +{ + "results": [ + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Dijkstra's Algorithm" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:18:51.155Z", + "passed": false, + "duration": 1359, + "reason": "Expected bubble sort, but got dijkstra's algorithm", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in the provided files is AES encryption in CTR mode with a key derived using PBKDF2-HMAC-SHA256. The primary cipher used is AES (Advanced Encryption Standard), specifically in CTR (Counter) mode. Therefore, the name is AES-CTR.\n\n**Answer:** AES" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:19:05.797Z", + "passed": false, + "duration": 14630, + "reason": "Expected bubble sort, but got the algorithm implemented in the provided files is aes encryption in ctr mode with a key derived using pbkdf2-hmac-sha256. the primary cipher used is aes (advanced encryption standard), specifically in ctr (counter) mode. therefore, the name is aes-ctr.\n\n**answer:** aes", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The name of the algorithm is not provided in your request." + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:19:07.137Z", + "passed": false, + "duration": 1330, + "reason": "Expected bubble sort, but got the name of the algorithm is not provided in your request.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Please upload or provide the files you'd like me to analyze." + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:19:07.935Z", + "passed": false, + "duration": 790, + "reason": "Expected bubble sort, but got please upload or provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in these files is \"Collaborative Filtering.\"" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:19:09.003Z", + "passed": false, + "duration": 1058, + "reason": "Expected bubble sort, but got the algorithm implemented in these files is \"collaborative filtering.\"", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:19:39.019Z", + "passed": false, + "duration": 30009, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:194:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "I'm sorry, but I cannot determine the name of the algorithm without more context or specific information about the files in question." + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:19:41.008Z", + "passed": false, + "duration": 1979, + "reason": "Expected bubble sort, but got i'm sorry, but i cannot determine the name of the algorithm without more context or specific information about the files in question.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Please upload or provide the files you'd like me to analyze." + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:19:41.854Z", + "passed": false, + "duration": 838, + "reason": "Expected bubble sort, but got please upload or provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:20:05.993Z", + "passed": true, + "duration": 1179, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in the provided code is the **Bubble Sort Algorithm**." + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:20:11.767Z", + "passed": false, + "duration": 5763, + "reason": "Expected bubble sort, but got the algorithm implemented in the provided code is the **bubble sort algorithm**.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:20:13.107Z", + "passed": true, + "duration": 1334, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:20:14.287Z", + "passed": true, + "duration": 1173, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "K-means clustering" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:20:15.141Z", + "passed": false, + "duration": 847, + "reason": "Expected bubble sort, but got k-means clustering", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "The algorithm implemented in the files is **Gradient Descent**." + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:20:23.840Z", + "passed": false, + "duration": 8688, + "reason": "Expected bubble sort, but got the algorithm implemented in the files is **gradient descent**.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "I cannot determine the name of the algorithm based on the provided information." + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:20:25.805Z", + "passed": false, + "duration": 1956, + "reason": "Expected bubble sort, but got i cannot determine the name of the algorithm based on the provided information.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Please provide the files you'd like me to analyze." + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:20:26.593Z", + "passed": false, + "duration": 780, + "reason": "Expected bubble sort, but got please provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:21:25.673Z", + "passed": true, + "duration": 1367, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort Algorithm" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:21:30.787Z", + "passed": false, + "duration": 5106, + "reason": "Expected bubble sort, but got bubble sort algorithm", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:21:31.712Z", + "passed": true, + "duration": 918, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:21:32.767Z", + "passed": true, + "duration": 1048, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:21:33.649Z", + "passed": true, + "duration": 875, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:21:40.963Z", + "passed": true, + "duration": 7307, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:21:42.451Z", + "passed": true, + "duration": 1480, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:21:43.287Z", + "passed": true, + "duration": 829, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubbleSort" + ], + "expected": "bubble sort", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:24.033Z", + "passed": false, + "duration": 1519, + "reason": "Expected bubble sort, but got bubblesort", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubble sort" + ], + "expected": "bubble sort", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:30:29.018Z", + "passed": true, + "duration": 4977, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:30:30.154Z", + "passed": true, + "duration": 1128, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:30:30.838Z", + "passed": true, + "duration": 677, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "1. Bubblesort\n2. Quicksort\n3. Selection sort\n4. Insertion sort\n5. Merge sort\n6. Linear search\n7. Binary search" + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:32.076Z", + "passed": false, + "duration": 1231, + "reason": "Expected bubble sort\nfactorial, but got 1. bubblesort\n2. quicksort\n3. selection sort\n4. insertion sort\n5. merge sort\n6. linear search\n7. binary search", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Algorithm1\nAlgorithm2\nAlgorithm3\nAlgorithm4\nAlgorithm5\nAlgorithm6\nAlgorithm7\nAlgorithm8\nAlgorithm9\nAlgorithm10" + ], + "expected": "bubble sort\nfactorial", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:30:37.874Z", + "passed": false, + "duration": 5787, + "reason": "Expected bubble sort\nfactorial, but got algorithm1\nalgorithm2\nalgorithm3\nalgorithm4\nalgorithm5\nalgorithm6\nalgorithm7\nalgorithm8\nalgorithm9\nalgorithm10", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "I'm sorry, but I cannot access or analyze files directly. However, if you provide me with the names of the algorithms or a list of the file contents, I can help you identify the algorithms from that information." + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:30:39.653Z", + "passed": false, + "duration": 1771, + "reason": "Expected bubble sort\nfactorial, but got i'm sorry, but i cannot access or analyze files directly. however, if you provide me with the names of the algorithms or a list of the file contents, i can help you identify the algorithms from that information.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Certainly! Please upload or provide the files you'd like me to analyze." + ], + "expected": "bubble sort\nfactorial", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:30:40.428Z", + "passed": false, + "duration": 765, + "reason": "Expected bubble sort\nfactorial, but got certainly! please upload or provide the files you'd like me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:41.577Z", + "passed": false, + "duration": 1140, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:30:50.090Z", + "passed": false, + "duration": 8505, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:30:51.366Z", + "passed": false, + "duration": 1269, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:30:52.495Z", + "passed": false, + "duration": 1122, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "2" + ], + "expected": "2", + "model": "openai/gpt-3.5-turbo", + "router": "openai/gpt-3.5-turbo", + "timestamp": "2025-04-04T15:30:53.296Z", + "passed": true, + "duration": 794, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "0" + ], + "expected": "2", + "model": "deepseek/deepseek-r1-distill-qwen-14b:free", + "router": "deepseek/deepseek-r1-distill-qwen-14b:free", + "timestamp": "2025-04-04T15:31:12.749Z", + "passed": false, + "duration": 19446, + "reason": "Expected 2, but got 0", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "0" + ], + "expected": "2", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:31:13.650Z", + "passed": false, + "duration": 892, + "reason": "Expected 2, but got 0", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "How many json files are included? Return only the number.", + "result": [ + "0" + ], + "expected": "2", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T15:31:14.354Z", + "passed": false, + "duration": 696, + "reason": "Expected 2, but got 0", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:33:31.043Z", + "passed": true, + "duration": 1340, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Sure! Please provide the files you want me to analyze for the algorithms." + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:33:31.940Z", + "passed": false, + "duration": 888, + "reason": "Expected bubble sort\nfactorial, but got sure! please provide the files you want me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:33:33.493Z", + "passed": false, + "duration": 1542, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:34:22.969Z", + "passed": true, + "duration": 1883, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files. Return only the names, one per line.", + "result": [ + "Sure! Please provide the files or the content you would like me to analyze for the algorithms." + ], + "expected": "bubble sort\nfactorial", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:34:24.039Z", + "passed": false, + "duration": 1061, + "reason": "Expected bubble sort\nfactorial, but got sure! please provide the files or the content you would like me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:34:25.186Z", + "passed": false, + "duration": 1133, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:02.427Z", + "passed": true, + "duration": 1733, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Please provide the specific file names or content you're referring to in order to identify the algorithms implemented in them." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:03.619Z", + "passed": false, + "duration": 1184, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got please provide the specific file names or content you're referring to in order to identify the algorithms implemented in them.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:04.692Z", + "passed": false, + "duration": 1065, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:34.623Z", + "passed": true, + "duration": 1278, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the list of files you would like me to analyze for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:36.650Z", + "passed": false, + "duration": 2019, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the list of files you would like me to analyze for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:38:37.745Z", + "passed": false, + "duration": 1086, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:39:33.859Z", + "passed": true, + "duration": 1628, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Please provide the files or the content of the files you are referring to, and I can help you list the algorithms implemented in them as a JSON array." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:39:35.542Z", + "passed": false, + "duration": 1674, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got please provide the files or the content of the files you are referring to, and i can help you list the algorithms implemented in them as a json array.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:39:37.182Z", + "passed": false, + "duration": 1631, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:42:34.182Z", + "passed": true, + "duration": 1315, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "{\"algorithms\": []}" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:42:35.193Z", + "passed": false, + "duration": 1003, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got {\"algorithms\": []}", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:42:37.295Z", + "passed": false, + "duration": 2091, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:43:40.121Z", + "passed": true, + "duration": 1641, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure, please provide the names of the files you would like me to analyze for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:43:41.289Z", + "passed": false, + "duration": 1159, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure, please provide the names of the files you would like me to analyze for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:43:42.379Z", + "passed": false, + "duration": 1080, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:44:41.061Z", + "passed": true, + "duration": 1819, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to analyze for the algorithms implemented in them." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:44:42.391Z", + "passed": false, + "duration": 1321, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to analyze for the algorithms implemented in them.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:44:43.653Z", + "passed": false, + "duration": 1252, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:00.091Z", + "passed": true, + "duration": 1818, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure, please provide the filenames or contents of the files that contain the algorithms you want me to analyze." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:01.558Z", + "passed": false, + "duration": 1458, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure, please provide the filenames or contents of the files that contain the algorithms you want me to analyze.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:02.916Z", + "passed": false, + "duration": 1349, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:57.758Z", + "passed": true, + "duration": 1504, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you'd like me to analyze for the algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:45:58.900Z", + "passed": false, + "duration": 1132, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you'd like me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:00.008Z", + "passed": false, + "duration": 1098, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:31.841Z", + "passed": true, + "duration": 1319, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "I would need to see the specific files you are referring to in order to list the algorithms implemented within them. Please provide the files or their content." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:34.248Z", + "passed": false, + "duration": 2396, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got i would need to see the specific files you are referring to in order to list the algorithms implemented within them. please provide the files or their content.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:46:35.295Z", + "passed": false, + "duration": 1038, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:20.776Z", + "passed": true, + "duration": 1509, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files or the content of the files you want me to analyze for the algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:22.070Z", + "passed": false, + "duration": 1285, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files or the content of the files you want me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:23.445Z", + "passed": false, + "duration": 1365, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:48.866Z", + "passed": true, + "duration": 1918, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to analyze for the algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:50.013Z", + "passed": false, + "duration": 1138, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to analyze for the algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:49:51.201Z", + "passed": false, + "duration": 1178, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:51:37.261Z", + "passed": true, + "duration": 22396, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to analyze for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:10.696Z", + "passed": false, + "duration": 33423, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to analyze for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:20.423Z", + "passed": false, + "duration": 9714, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:35.377Z", + "passed": true, + "duration": 1392, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Sure! Please provide the files you would like me to inspect for algorithms." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:36.546Z", + "passed": false, + "duration": 1159, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got sure! please provide the files you would like me to inspect for algorithms.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:37.611Z", + "passed": false, + "duration": 1055, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:52:50.539Z", + "passed": true, + "duration": 7831, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "Please provide the files or their contents for me to help you list the algorithms implemented in them." + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:54:10.941Z", + "passed": false, + "duration": 80392, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got please provide the files or their contents for me to help you list the algorithms implemented in them.", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:54:12.194Z", + "passed": false, + "duration": 1242, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:06.412Z", + "passed": false, + "duration": 140731, + "error": { + "message": "API call timed out", + "code": "UNKNOWN", + "type": "Error", + "details": { + "stack": "Error: API call timed out\n at Timeout._onTimeout (C:\\Users\\zx\\Desktop\\polymech\\polymech-mono\\packages\\kbot\\tests\\unit\\commons.ts:204:33)\n at listOnTimeout (node:internal/timers:594:17)\n at processTimers (node:internal/timers:529:7)", + "message": "API call timed out" + } + }, + "reason": "API call timed out", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:14.901Z", + "passed": false, + "duration": 8474, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:30.681Z", + "passed": false, + "duration": 1601, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T15:59:34.787Z", + "passed": false, + "duration": 1611, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\n \"factorial\",\n \"bubbleSort\"\n]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:00:10.350Z", + "passed": false, + "duration": 1817, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\n \"factorial\",\n \"bubblesort\"\n]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:00:38.929Z", + "passed": false, + "duration": 1513, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:01:05.089Z", + "passed": false, + "duration": 1403, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:01:06.608Z", + "passed": false, + "duration": 1508, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:01:42.090Z", + "passed": false, + "duration": 4288, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:02:14.412Z", + "passed": false, + "duration": 1862, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:02:20.785Z", + "passed": false, + "duration": 1419, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:02:35.408Z", + "passed": false, + "duration": 2098, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:10.823Z", + "passed": false, + "duration": 7679, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:12.186Z", + "passed": false, + "duration": 1350, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\n \"factorial\",\n \"bubbleSort\"\n]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:45.485Z", + "passed": false, + "duration": 1379, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\n \"factorial\",\n \"bubblesort\"\n]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:03:46.562Z", + "passed": false, + "duration": 1067, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:09.410Z", + "passed": true, + "duration": 2135, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:10.529Z", + "passed": false, + "duration": 1109, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:11.750Z", + "passed": false, + "duration": 1212, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:09:14.639Z", + "passed": false, + "duration": 2881, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:11.907Z", + "passed": true, + "duration": 1372, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:12.999Z", + "passed": false, + "duration": 1082, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:14.666Z", + "passed": false, + "duration": 1659, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:17.346Z", + "passed": false, + "duration": 2672, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubble sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:35.717Z", + "passed": true, + "duration": 1411, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:36.740Z", + "passed": false, + "duration": 1012, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:37.999Z", + "passed": false, + "duration": 1250, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:10:40.832Z", + "passed": false, + "duration": 2824, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:23.284Z", + "passed": true, + "duration": 1409, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:24.272Z", + "passed": false, + "duration": 977, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:25.514Z", + "passed": false, + "duration": 1232, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:11:28.304Z", + "passed": false, + "duration": 2782, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:08.365Z", + "passed": true, + "duration": 1648, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:09.414Z", + "passed": false, + "duration": 1039, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:11.169Z", + "passed": false, + "duration": 1746, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:12:13.188Z", + "passed": false, + "duration": 2010, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:18.071Z", + "passed": true, + "duration": 1198, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "Bubble Sort" + ], + "expected": "bubble sort", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:18.811Z", + "passed": true, + "duration": 730, + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the name of the algorithm implemented in these files? Return only the name.", + "result": [ + "bubbleSort\n" + ], + "expected": "bubble sort", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:20.745Z", + "passed": false, + "duration": 1926, + "reason": "Expected bubble sort, but got bubblesort", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:21.710Z", + "passed": false, + "duration": 956, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubble sort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:22.906Z", + "passed": false, + "duration": 1187, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubble sort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "List all algorithms implemented in these files, as JSON array.", + "result": [ + "[\"factorial\", \"bubbleSort\"]" + ], + "expected": "[\"bubble sort\",\"factorial\"]", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:24.649Z", + "passed": false, + "duration": 1734, + "reason": "Expected [\"bubble sort\",\"factorial\"], but got [\"factorial\", \"bubblesort\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:26.014Z", + "passed": false, + "duration": 1357, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:27.012Z", + "passed": false, + "duration": 989, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What is the title of the product in data.json? Return only the title.", + "result": [ + "Injection Barrel" + ], + "expected": "Injection Barrel", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:28.231Z", + "passed": false, + "duration": 1212, + "reason": "Expected Injection Barrel, but got injection barrel", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"wildcat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openai/gpt-4o-mini", + "router": "openai/gpt-4o-mini", + "timestamp": "2025-04-04T16:13:31.563Z", + "passed": false, + "duration": 3323, + "reason": "Expected [\"cat\",\"fox\"], but got [\"wildcat\", \"fox\"]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\n \"cat\",\n \"fox\"\n]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "openrouter/quasar-alpha", + "router": "openrouter/quasar-alpha", + "timestamp": "2025-04-04T16:13:33.448Z", + "passed": false, + "duration": 1876, + "reason": "Expected [\"cat\",\"fox\"], but got [\n \"cat\",\n \"fox\"\n]", + "category": "files" + }, + { + "test": "file-inclusion", + "prompt": "What animals are shown in these images? Return as JSON array.", + "result": [ + "[\"cat\", \"fox\"]" + ], + "expected": "[\"cat\",\"fox\"]", + "model": "google/gemini-2.0-flash-exp:free", + "router": "google/gemini-2.0-flash-exp:free", + "timestamp": "2025-04-04T16:13:35.906Z", + "passed": false, + "duration": 2449, + "reason": "Expected [\"cat\",\"fox\"], but got [\"cat\", \"fox\"]", + "category": "files" + } + ], + "highscores": [ + { + "test": "file-inclusion", + "rankings": [ + { + "model": "openai/gpt-3.5-turbo", + "duration": 794, + "duration_secs": 0.794 + }, + { + "model": "openrouter/quasar-alpha", + "duration": 1876, + "duration_secs": 1.876 + } + ] + } + ], + "lastUpdated": "2025-04-04T16:13:35.907Z" +} \ No newline at end of file diff --git a/packages/kbot/tests/unit/reports/files.md b/packages/kbot/tests/unit/reports/files.md new file mode 100644 index 00000000..0976918a --- /dev/null +++ b/packages/kbot/tests/unit/reports/files.md @@ -0,0 +1,59 @@ +# File Operations Test Results + +## Highscores + +### Performance Rankings (Duration) + +| Test | Model | Duration (ms) | Duration (s) | +|------|-------|--------------|--------------| +| file-inclusion | openrouter/quasar-alpha | 1876 | 1.88 | +| file-inclusion | google/gemini-2.0-flash-exp:free | 2449 | 2.45 | +| file-inclusion | openai/gpt-4o-mini | 3323 | 3.32 | + +## Summary + +- Total Tests: 12 +- Passed: 2 +- Failed: 10 +- Success Rate: 16.67% +- Average Duration: 1578ms (1.58s) + +## Failed Tests + +### file-inclusion - openai/gpt-4o-mini + +- Prompt: `What animals are shown in these images? Return as JSON array.` +- Expected: `["cat","fox"]` +- Actual: `["wildcat", "fox"]` +- Duration: 3323ms (3.32s) +- Reason: Expected ["cat","fox"], but got ["wildcat", "fox"] +- Timestamp: 4/4/2025, 6:13:31 PM + +### file-inclusion - openrouter/quasar-alpha + +- Prompt: `What animals are shown in these images? Return as JSON array.` +- Expected: `["cat","fox"]` +- Actual: `[ + "cat", + "fox" +]` +- Duration: 1876ms (1.88s) +- Reason: Expected ["cat","fox"], but got [ + "cat", + "fox" +] +- Timestamp: 4/4/2025, 6:13:33 PM + +### file-inclusion - google/gemini-2.0-flash-exp:free + +- Prompt: `What animals are shown in these images? Return as JSON array.` +- Expected: `["cat","fox"]` +- Actual: `["cat", "fox"]` +- Duration: 2449ms (2.45s) +- Reason: Expected ["cat","fox"], but got ["cat", "fox"] +- Timestamp: 4/4/2025, 6:13:35 PM + +## Passed Tests + +*No passed tests* + diff --git a/packages/kbot/tests/unit/test-data/test.md b/packages/kbot/tests/unit/test-data/test.md deleted file mode 100644 index e69de29b..00000000 diff --git a/packages/kbot/tests/unit/test-data/tools.test.md b/packages/kbot/tests/unit/test-data/tools.test.md deleted file mode 100644 index b52aa1a8..00000000 --- a/packages/kbot/tests/unit/test-data/tools.test.md +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "equation": "2x + 5 = 13", - "result": "4" - }, - { - "equation": "3y - 7 = 20", - "result": "9" - }, - { - "equation": "4z + 8 = 32", - "result": "6" - } -] \ No newline at end of file